VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /opt/mattermost/client/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //opt/mattermost/client/226.0e4a288ca7c7b45acf03.js
"use strict";(self.webpackChunkmattermost_webapp=self.webpackChunkmattermost_webapp||[]).push([[226,6676,729,5660],{61486:(e,t,s)=>{s.d(t,{N5:()=>d,Qp:()=>c,Qq:()=>o,p$:()=>l,rN:()=>m}),s(43813);var a=s(1418),n=s(87988),i=s(40693),r=s(78451);function o(e){return{type:r.Q3.NEEDS_LOGGED_IN_LIMIT_REACHED_CHECK,data:e}}function l(e){return e?{type:r.Q3.SET_ADMIN_CONSOLE_USER_MANAGEMENT_TABLE_PROPERTIES,data:e}:{type:r.Q3.CLEAR_ADMIN_CONSOLE_USER_MANAGEMENT_TABLE_PROPERTIES,data:null}}function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return async(t,s)=>{let r;try{r=await i.mT.getUsersForReporting(e)}catch(e){return(0,n.UP)(e,t,s),t((0,a.vV)(e)),{error:e}}return{data:r}}}function c(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return async(t,s)=>{let r;try{r=await i.mT.getUserCountForReporting(e)}catch(e){return(0,n.UP)(e,t,s),t((0,a.vV)(e)),{error:e}}return{data:r}}}function m(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return async(t,s)=>{try{await i.mT.startUsersBatchExport(e)}catch(e){return(0,n.UP)(e,t,s),t((0,a.vV)(e)),{error:e}}return{data:!0}}}},40142:(e,t,s)=>{s.d(t,{A:()=>C}),s(3188),s(30973),s(97309),s(10844);var a=s(23453),n=s(52602),i=s(87373),r=s(23739),o=s(65952),l=s(75616),d=s(89247),c=s(62688),m=s.n(c),u=(s(43813),s(17046),s(29206),s(4290),s(97023)),p=s.n(u),g=s(34529),h=s(14778),f=s(65657),E=s(50375),b=s(83873),v=s(78451);function M(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function y(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class S extends p().PureComponent{constructor(e){super(e),y(this,"handleHide",(()=>{this.props.actions.setModalSearchTerm(""),this.setState({show:!1})})),y(this,"handleResponse",(e=>{let t=null;e&&e.message&&(t=e.message),this.setState({saving:!1,addError:t})})),y(this,"handleSubmit",(async()=>{const e=this.state.values.map((e=>e.id));if(0!==e.length){if(this.props.skipCommit)return this.props.onAddCallback&&this.props.onAddCallback(e),void this.handleHide();this.setState({saving:!0}),await Promise.all(e.map((async e=>{const{error:t}=await this.props.actions.linkGroupSyncable(e,this.props.currentChannelId,f.CL.Channel,{auto_add:!0});this.handleResponse(t),t||this.handleHide()})))}})),y(this,"addValue",(e=>{const t=Object.assign([],this.state.values),s=t.map((e=>e.id));e&&e.id&&-1===s.indexOf(e.id)&&t.push(e),this.setState({values:t})})),y(this,"setGroupsLoadingState",(e=>{this.setState({loadingGroups:e})})),y(this,"handlePageChange",((e,t)=>{e>t&&(this.setGroupsLoadingState(!0),this.props.actions.getGroupsNotAssociatedToChannel(this.props.currentChannelId,this.props.searchTerm,e,51,!0).then((()=>{this.setGroupsLoadingState(!1)})))})),y(this,"handleDelete",(e=>{this.setState({values:e})})),y(this,"search",(e=>{this.props.actions.setModalSearchTerm(e)})),y(this,"renderOption",((e,t,s,a)=>{const n=t?"more-modal__row--selected":"";return p().createElement("div",{key:e.id,ref:t?this.selectedItemRef:e.id,className:"more-modal__row clickable "+n,onClick:()=>s(e),onMouseMove:()=>a?a(e):void 0},p().createElement("img",{className:"more-modal__image",src:b,alt:"group picture",width:"32",height:"32"}),p().createElement("div",{className:"more-modal__details"},p().createElement("div",{className:"more-modal__name"},e.display_name," - ",p().createElement("span",{className:"more-modal__name_sub"},p().createElement(h.FormattedMessage,{id:"numMembers",defaultMessage:"{num, number} {num, plural, one {member} other {members}}",values:{num:e.member_count}})))),p().createElement("div",{className:"more-modal__actions"},p().createElement("div",{className:"more-modal__actions--round"},p().createElement("i",{className:"icon icon-plus"}))))})),this.searchTimeoutId=0,this.state={values:[],show:!0,search:!1,saving:!1,addError:null,loadingGroups:!0},this.selectedItemRef=p().createRef()}componentDidMount(){Promise.all([this.props.actions.getTeam(this.props.teamID),this.props.actions.getAllGroupsAssociatedToTeam(this.props.teamID,!1,!0),this.props.actions.getGroupsNotAssociatedToChannel(this.props.currentChannelId,"",0,51,!0),this.props.actions.getAllGroupsAssociatedToChannel(this.props.currentChannelId,!1,!0)]).then((()=>{this.setGroupsLoadingState(!1)}))}componentDidUpdate(e){if(this.props.searchTerm!==e.searchTerm){clearTimeout(this.searchTimeoutId);const e=this.props.searchTerm;if(""===e)return;this.searchTimeoutId=window.setTimeout((async()=>{this.setGroupsLoadingState(!0),await this.props.actions.getGroupsNotAssociatedToChannel(this.props.currentChannelId,e,void 0,void 0,!0),this.setGroupsLoadingState(!1)}),v.Ay.SEARCH_TIMEOUT_MILLISECONDS)}}renderValue(e){return e.data.display_name}render(){const e=p().createElement("div",{id:"numGroupsRemaining"},p().createElement(h.FormattedMessage,{id:"multiselect.numGroupsRemaining",defaultMessage:"Use ↑↓ to browse, ↵ to select. You can add {num, number} more {num, plural, one {group} other {groups}}. ",values:{num:10-this.state.values.length}})),t=(0,h.defineMessage)({id:"multiselect.add",defaultMessage:"Add"}),s=(0,h.defineMessage)({id:"multiselect.adding",defaultMessage:"Adding..."});let a=null;this.state.addError&&(a=p().createElement("div",{className:"has-error col-sm-12"},p().createElement("label",{className:"control-label font-weight--normal"},this.state.addError)));let n=this.props.groups;if(this.props.excludeGroups){const e=e=>!this.props.excludeGroups.find((t=>t.id===e.id));n=n.filter(e)}if(this.props.includeGroups){const e=e=>this.props.includeGroups.find((t=>t.id===e.id));n=[...n,...this.props.includeGroups.filter(e)]}const i=n.map((e=>function(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?M(Object(s),!0).forEach((function(t){y(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):M(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}({label:e.display_name,value:e.id},e)));return p().createElement(g.Modal,{id:"addGroupsToChannelModal",dialogClassName:"a11y__modal more-modal more-direct-channels",show:this.state.show,onHide:this.handleHide,onExited:this.props.onExited},p().createElement(g.Modal.Header,{closeButton:!0},p().createElement(g.Modal.Title,{componentClass:"h1"},p().createElement(h.FormattedMessage,{id:"add_groups_to_channel.title",defaultMessage:"Add New Groups to {channelName} Channel",values:{channelName:p().createElement("strong",null,this.props.currentChannelName)}}))),p().createElement(g.Modal.Body,null,a,p().createElement(E.A,{key:"addGroupsToChannelKey",options:i,optionRenderer:this.renderOption,intl:this.props.intl,selectedItemRef:this.selectedItemRef,values:this.state.values,valueRenderer:this.renderValue,perPage:50,handlePageChange:this.handlePageChange,handleInput:this.search,handleDelete:this.handleDelete,handleAdd:this.addValue,handleSubmit:this.handleSubmit,maxValues:10,numRemainingText:e,buttonSubmitText:t,buttonSubmitLoadingText:s,saving:this.state.saving,loading:this.state.loadingGroups,placeholderText:(0,h.defineMessage)({id:"multiselect.addGroupsPlaceholder",defaultMessage:"Search and add groups"})})))}}y(S,"propTypes",{currentChannelName:m().string.isRequired,currentChannelId:m().string.isRequired,teamID:m().string.isRequired,searchTerm:m().string.isRequired,groups:m().array.isRequired,excludeGroups:m().array,includeGroups:m().array,onExited:m().func.isRequired,skipCommit:m().bool,onAddCallback:m().func,actions:m().shape({getGroupsNotAssociatedToChannel:m().func.isRequired,setModalSearchTerm:m().func.isRequired,linkGroupSyncable:m().func.isRequired,getAllGroupsAssociatedToChannel:m().func.isRequired,getTeam:m().func.isRequired,getAllGroupsAssociatedToTeam:m().func.isRequired}).isRequired});const A=(0,h.injectIntl)(S),C=(0,a.connect)((function(e,t){const s=e.views.search.modalSearch,a=t.channel||(0,o.Lw)(e)||{};let n=(0,l.m5)(e,a.id,a.team_id);if(s){const e=RegExp(s,"i");n=n.filter((t=>e.test(t.display_name)||e.test(t.name)))}return{currentChannelName:a.display_name,currentChannelId:a.id,skipCommit:t.skipCommit,onAddCallback:t.onAddCallback,excludeGroups:t.excludeGroups,searchTerm:s,groups:n,teamID:a.team_id}}),(function(e){return{actions:(0,n.bindActionCreators)({getGroupsNotAssociatedToChannel:i.m5,setModalSearchTerm:d.qv,linkGroupSyncable:i.PY,getAllGroupsAssociatedToChannel:i.oj,getTeam:r.Uo,getAllGroupsAssociatedToTeam:i.UT},e)}}))(A)},95461:(e,t,s)=>{s.r(t),s.d(t,{default:()=>FS});var a=s(23453),n=s(52602),i=s(97282),r=s(28676),o=s(23739),l=s(57898),d=s(72377),c=s(26614),m=s(77440),u=s(80635),p=s(14776),g=s(7430),h=s(88563),f=s(61486),E=s(62844),b=(s(17046),s(12401),s(1419)),v=s.n(b),M=s(16983);const y={ABOUT:{EDITION_AND_LICENSE:"about.edition_and_license"},REPORTING:{SITE_STATISTICS:"reporting.site_statistics",TEAM_STATISTICS:"reporting.team_statistics",SERVER_LOGS:"reporting.server_logs"},USER_MANAGEMENT:{USERS:"user_management.users",GROUPS:"user_management.groups",TEAMS:"user_management.teams",CHANNELS:"user_management.channels",PERMISSIONS:"user_management.permissions",SYSTEM_ROLES:"user_management.system_roles"},AUTHENTICATION:{SIGNUP:"authentication.signup",EMAIL:"authentication.email",PASSWORD:"authentication.password",MFA:"authentication.mfa",LDAP:"authentication.ldap",SAML:"authentication.saml",OPENID:"authentication.openid",GUEST_ACCESS:"authentication.guest_access"},INTEGRATIONS:{INTEGRATION_MANAGEMENT:"integrations.integration_management",BOT_ACCOUNTS:"integrations.bot_accounts",GIF:"integrations.gif",CORS:"integrations.cors"},COMPLIANCE:{DATA_RETENTION_POLICY:"compliance.data_retention_policy",COMPLIANCE_EXPORT:"compliance.compliance_export",COMPLIANCE_MONITORING:"compliance.compliance_monitoring",CUSTOM_TERMS_OF_SERVICE:"compliance.custom_terms_of_service"},PRODUCTS:{BOARDS:"boards"},SITE:{CUSTOMIZATION:"site.customization",LOCALIZATION:"site.localization",USERS_AND_TEAMS:"site.users_and_teams",NOTIFICATIONS:"site.notifications",ANNOUNCEMENT_BANNER:"site.announcement_banner",EMOJI:"site.emoji",POSTS:"site.posts",FILE_SHARING_AND_DOWNLOADS:"site.file_sharing_and_downloads",PUBLIC_LINKS:"site.public_links",NOTICES:"site.notices",IP_FILTERING:"site.ip_filters"},EXPERIMENTAL:{FEATURES:"experimental.features",FEATURE_FLAGS:"experimental.feature_flags",BLEVE:"experimental.bleve"},ENVIRONMENT:{WEB_SERVER:"environment.web_server",DATABASE:"environment.database",ELASTICSEARCH:"environment.elasticsearch",FILE_STORAGE:"environment.file_storage",IMAGE_PROXY:"environment.image_proxy",SMTP:"environment.smtp",PUSH_NOTIFICATION_SERVER:"environment.push_notification_server",HIGH_AVAILABILITY:"environment.high_availability",RATE_LIMITING:"environment.rate_limiting",LOGGING:"environment.logging",SESSION_LENGTHS:"environment.session_lengths",PERFORMANCE_MONITORING:"environment.performance_monitoring",DEVELOPER:"environment.developer"}},S={[y.ABOUT.EDITION_AND_LICENSE]:[M.A.SYSCONSOLE_READ_ABOUT_EDITION_AND_LICENSE,M.A.SYSCONSOLE_WRITE_ABOUT_EDITION_AND_LICENSE],billing:[M.A.SYSCONSOLE_READ_BILLING,M.A.SYSCONSOLE_WRITE_BILLING],[y.REPORTING.SITE_STATISTICS]:[M.A.SYSCONSOLE_READ_REPORTING_SITE_STATISTICS,M.A.SYSCONSOLE_WRITE_REPORTING_SITE_STATISTICS],[y.REPORTING.TEAM_STATISTICS]:[M.A.SYSCONSOLE_READ_REPORTING_TEAM_STATISTICS,M.A.SYSCONSOLE_WRITE_REPORTING_TEAM_STATISTICS],[y.REPORTING.SERVER_LOGS]:[M.A.SYSCONSOLE_READ_REPORTING_SERVER_LOGS,M.A.SYSCONSOLE_WRITE_REPORTING_SERVER_LOGS],[y.USER_MANAGEMENT.USERS]:[M.A.SYSCONSOLE_READ_USERMANAGEMENT_USERS,M.A.SYSCONSOLE_WRITE_USERMANAGEMENT_USERS],[y.USER_MANAGEMENT.GROUPS]:[M.A.SYSCONSOLE_READ_USERMANAGEMENT_GROUPS,M.A.SYSCONSOLE_WRITE_USERMANAGEMENT_GROUPS],[y.USER_MANAGEMENT.TEAMS]:[M.A.SYSCONSOLE_READ_USERMANAGEMENT_TEAMS,M.A.SYSCONSOLE_WRITE_USERMANAGEMENT_TEAMS],[y.USER_MANAGEMENT.CHANNELS]:[M.A.SYSCONSOLE_READ_USERMANAGEMENT_CHANNELS,M.A.SYSCONSOLE_WRITE_USERMANAGEMENT_CHANNELS],[y.USER_MANAGEMENT.PERMISSIONS]:[M.A.SYSCONSOLE_READ_USERMANAGEMENT_PERMISSIONS,M.A.SYSCONSOLE_WRITE_USERMANAGEMENT_PERMISSIONS],[y.USER_MANAGEMENT.SYSTEM_ROLES]:[M.A.SYSCONSOLE_READ_USERMANAGEMENT_SYSTEM_ROLES,M.A.SYSCONSOLE_WRITE_USERMANAGEMENT_SYSTEM_ROLES],[y.SITE.CUSTOMIZATION]:[M.A.SYSCONSOLE_READ_SITE_CUSTOMIZATION,M.A.SYSCONSOLE_WRITE_SITE_CUSTOMIZATION],[y.SITE.LOCALIZATION]:[M.A.SYSCONSOLE_READ_SITE_LOCALIZATION,M.A.SYSCONSOLE_WRITE_SITE_LOCALIZATION],[y.SITE.USERS_AND_TEAMS]:[M.A.SYSCONSOLE_READ_SITE_USERS_AND_TEAMS,M.A.SYSCONSOLE_WRITE_SITE_USERS_AND_TEAMS],[y.SITE.NOTIFICATIONS]:[M.A.SYSCONSOLE_READ_SITE_NOTIFICATIONS,M.A.SYSCONSOLE_WRITE_SITE_NOTIFICATIONS],[y.SITE.ANNOUNCEMENT_BANNER]:[M.A.SYSCONSOLE_READ_SITE_ANNOUNCEMENT_BANNER,M.A.SYSCONSOLE_WRITE_SITE_ANNOUNCEMENT_BANNER],[y.SITE.EMOJI]:[M.A.SYSCONSOLE_READ_SITE_EMOJI,M.A.SYSCONSOLE_WRITE_SITE_EMOJI],[y.SITE.POSTS]:[M.A.SYSCONSOLE_READ_SITE_POSTS,M.A.SYSCONSOLE_WRITE_SITE_POSTS],[y.SITE.FILE_SHARING_AND_DOWNLOADS]:[M.A.SYSCONSOLE_READ_SITE_FILE_SHARING_AND_DOWNLOADS,M.A.SYSCONSOLE_WRITE_SITE_FILE_SHARING_AND_DOWNLOADS],[y.SITE.PUBLIC_LINKS]:[M.A.SYSCONSOLE_READ_SITE_PUBLIC_LINKS,M.A.SYSCONSOLE_WRITE_SITE_PUBLIC_LINKS],[y.SITE.NOTICES]:[M.A.SYSCONSOLE_READ_SITE_NOTICES,M.A.SYSCONSOLE_WRITE_SITE_NOTICES],[y.SITE.IP_FILTERING]:[M.A.SYSCONSOLE_READ_SITE_IP_FILTERS,M.A.SYSCONSOLE_WRITE_SITE_IP_FILTERS],[y.ENVIRONMENT.WEB_SERVER]:[M.A.SYSCONSOLE_READ_ENVIRONMENT_WEB_SERVER,M.A.SYSCONSOLE_WRITE_ENVIRONMENT_WEB_SERVER],[y.ENVIRONMENT.DATABASE]:[M.A.SYSCONSOLE_READ_ENVIRONMENT_DATABASE,M.A.SYSCONSOLE_WRITE_ENVIRONMENT_DATABASE],[y.ENVIRONMENT.ELASTICSEARCH]:[M.A.SYSCONSOLE_READ_ENVIRONMENT_ELASTICSEARCH,M.A.SYSCONSOLE_WRITE_ENVIRONMENT_ELASTICSEARCH],[y.ENVIRONMENT.FILE_STORAGE]:[M.A.SYSCONSOLE_READ_ENVIRONMENT_FILE_STORAGE,M.A.SYSCONSOLE_WRITE_ENVIRONMENT_FILE_STORAGE],[y.ENVIRONMENT.IMAGE_PROXY]:[M.A.SYSCONSOLE_READ_ENVIRONMENT_IMAGE_PROXY,M.A.SYSCONSOLE_WRITE_ENVIRONMENT_IMAGE_PROXY],[y.ENVIRONMENT.SMTP]:[M.A.SYSCONSOLE_READ_ENVIRONMENT_SMTP,M.A.SYSCONSOLE_WRITE_ENVIRONMENT_SMTP],[y.ENVIRONMENT.PUSH_NOTIFICATION_SERVER]:[M.A.SYSCONSOLE_READ_ENVIRONMENT_PUSH_NOTIFICATION_SERVER,M.A.SYSCONSOLE_WRITE_ENVIRONMENT_PUSH_NOTIFICATION_SERVER],[y.ENVIRONMENT.HIGH_AVAILABILITY]:[M.A.SYSCONSOLE_READ_ENVIRONMENT_HIGH_AVAILABILITY,M.A.SYSCONSOLE_WRITE_ENVIRONMENT_HIGH_AVAILABILITY],[y.ENVIRONMENT.RATE_LIMITING]:[M.A.SYSCONSOLE_READ_ENVIRONMENT_RATE_LIMITING,M.A.SYSCONSOLE_WRITE_ENVIRONMENT_RATE_LIMITING],[y.ENVIRONMENT.LOGGING]:[M.A.SYSCONSOLE_READ_ENVIRONMENT_LOGGING,M.A.SYSCONSOLE_WRITE_ENVIRONMENT_LOGGING],[y.ENVIRONMENT.SESSION_LENGTHS]:[M.A.SYSCONSOLE_READ_ENVIRONMENT_SESSION_LENGTHS,M.A.SYSCONSOLE_WRITE_ENVIRONMENT_SESSION_LENGTHS],[y.ENVIRONMENT.PERFORMANCE_MONITORING]:[M.A.SYSCONSOLE_READ_ENVIRONMENT_PERFORMANCE_MONITORING,M.A.SYSCONSOLE_WRITE_ENVIRONMENT_PERFORMANCE_MONITORING],[y.ENVIRONMENT.DEVELOPER]:[M.A.SYSCONSOLE_READ_ENVIRONMENT_DEVELOPER,M.A.SYSCONSOLE_WRITE_ENVIRONMENT_DEVELOPER],[y.AUTHENTICATION.SIGNUP]:[M.A.SYSCONSOLE_READ_AUTHENTICATION_SIGNUP,M.A.SYSCONSOLE_WRITE_AUTHENTICATION_SIGNUP],[y.AUTHENTICATION.EMAIL]:[M.A.SYSCONSOLE_READ_AUTHENTICATION_EMAIL,M.A.SYSCONSOLE_WRITE_AUTHENTICATION_EMAIL],[y.AUTHENTICATION.PASSWORD]:[M.A.SYSCONSOLE_READ_AUTHENTICATION_PASSWORD,M.A.SYSCONSOLE_WRITE_AUTHENTICATION_PASSWORD],[y.AUTHENTICATION.MFA]:[M.A.SYSCONSOLE_READ_AUTHENTICATION_MFA,M.A.SYSCONSOLE_WRITE_AUTHENTICATION_MFA],[y.AUTHENTICATION.LDAP]:[M.A.SYSCONSOLE_READ_AUTHENTICATION_LDAP,M.A.SYSCONSOLE_WRITE_AUTHENTICATION_LDAP],[y.AUTHENTICATION.SAML]:[M.A.SYSCONSOLE_READ_AUTHENTICATION_SAML,M.A.SYSCONSOLE_WRITE_AUTHENTICATION_SAML],[y.AUTHENTICATION.OPENID]:[M.A.SYSCONSOLE_READ_AUTHENTICATION_OPENID,M.A.SYSCONSOLE_WRITE_AUTHENTICATION_OPENID],[y.AUTHENTICATION.GUEST_ACCESS]:[M.A.SYSCONSOLE_READ_AUTHENTICATION_GUEST_ACCESS,M.A.SYSCONSOLE_WRITE_AUTHENTICATION_GUEST_ACCESS],plugins:[M.A.SYSCONSOLE_READ_PLUGINS,M.A.SYSCONSOLE_WRITE_PLUGINS],[y.INTEGRATIONS.INTEGRATION_MANAGEMENT]:[M.A.SYSCONSOLE_READ_INTEGRATIONS_INTEGRATION_MANAGEMENT,M.A.SYSCONSOLE_WRITE_INTEGRATIONS_INTEGRATION_MANAGEMENT],[y.PRODUCTS.BOARDS]:[M.A.SYSCONSOLE_READ_PRODUCTS_BOARDS,M.A.SYSCONSOLE_WRITE_PRODUCTS_BOARDS],[y.INTEGRATIONS.BOT_ACCOUNTS]:[M.A.SYSCONSOLE_READ_INTEGRATIONS_BOT_ACCOUNTS,M.A.SYSCONSOLE_WRITE_INTEGRATIONS_BOT_ACCOUNTS],[y.INTEGRATIONS.GIF]:[M.A.SYSCONSOLE_READ_INTEGRATIONS_GIF,M.A.SYSCONSOLE_WRITE_INTEGRATIONS_GIF],[y.INTEGRATIONS.CORS]:[M.A.SYSCONSOLE_READ_INTEGRATIONS_CORS,M.A.SYSCONSOLE_WRITE_INTEGRATIONS_CORS],[y.COMPLIANCE.DATA_RETENTION_POLICY]:[M.A.SYSCONSOLE_READ_COMPLIANCE_DATA_RETENTION_POLICY,M.A.SYSCONSOLE_WRITE_COMPLIANCE_DATA_RETENTION_POLICY],[y.COMPLIANCE.COMPLIANCE_EXPORT]:[M.A.SYSCONSOLE_READ_COMPLIANCE_COMPLIANCE_EXPORT,M.A.SYSCONSOLE_WRITE_COMPLIANCE_COMPLIANCE_EXPORT],[y.COMPLIANCE.COMPLIANCE_MONITORING]:[M.A.SYSCONSOLE_READ_COMPLIANCE_COMPLIANCE_MONITORING,M.A.SYSCONSOLE_WRITE_COMPLIANCE_COMPLIANCE_MONITORING],[y.COMPLIANCE.CUSTOM_TERMS_OF_SERVICE]:[M.A.SYSCONSOLE_READ_COMPLIANCE_CUSTOM_TERMS_OF_SERVICE,M.A.SYSCONSOLE_WRITE_COMPLIANCE_CUSTOM_TERMS_OF_SERVICE],[y.EXPERIMENTAL.FEATURES]:[M.A.SYSCONSOLE_READ_EXPERIMENTAL_FEATURES,M.A.SYSCONSOLE_WRITE_EXPERIMENTAL_FEATURES],[y.EXPERIMENTAL.FEATURE_FLAGS]:[M.A.SYSCONSOLE_READ_EXPERIMENTAL_FEATURE_FLAGS,M.A.SYSCONSOLE_WRITE_EXPERIMENTAL_FEATURE_FLAGS],[y.EXPERIMENTAL.BLEVE]:[M.A.SYSCONSOLE_READ_EXPERIMENTAL_BLEVE,M.A.SYSCONSOLE_WRITE_EXPERIMENTAL_BLEVE]};var A=s(8361),C=s(35073),_=(s(3188),s(6552),s(57406),s(55448),s(59297),s(4290),s(97023)),T=s.n(_),N=s(14778),R=s(81911),w=s(85406),I=s(59671),O=s(43595),P=s(45955),k=s(27840),x=s(78451),D=s(62688),L=s.n(D),F=(s(43813),s(76409),s(10844),s(29206),s(74883),s(1112),s(92387)),B=s.n(F),H=s(85873);function U(){return T().createElement("div",{className:"alert alert-warning"},T().createElement(N.FormattedMessage,{id:"admin.set_by_env",defaultMessage:"This setting has been set through an environment variable. It cannot be changed through the System Console."}))}function G(e){let{children:t,helpText:s,inputId:a,label:n,setByEnv:i}=e;return T().createElement("fieldset",{"data-testid":a,id:a,className:"form-group"},T().createElement("legend",{className:"control-label form-legend col-sm-4"},n),T().createElement("div",{className:"col-sm-8"},t,s?T().createElement("div",{"data-testid":a+"help-text",className:"help-text"},s):null,i?T().createElement(U,null):null))}const j=B().label.withConfig({displayName:"Label"})(["display:inline-flex;opacity:",';margin-top:8px;margin-right:24px;width:fit-content;flex-direction:row;align-items:center;margin-bottom:0;cursor:pointer;font-size:14px;font-weight:400;gap:8px;line-height:20px;span{cursor:pointer;font-size:14px;font-weight:400;line-height:20px;}input{display:grid;width:1.6rem;height:1.6rem;border:1px solid rgba(var(--center-channel-color-rgb),0.24);border-radius:50%;margin:0;-webkit-appearance:none;appearance:none;background-color:white;color:rgba(var(--center-channel-color-rgb),0.24);cursor:pointer;font:inherit;place-content:center;&:checked{border-color:var(--denim-button-bg);}&:checked::before{transform:scale(1);}&::before{width:8px;height:8px;border-radius:50%;background:var(--denim-button-bg);content:"";transform:scale(0);transform-origin:center center;transition:200ms transform ease-in-out;}}'],(e=>{let{isDisabled:t}=e;return t?.5:1})),q=e=>{let{id:t,label:s,value:a,onChange:n,trueText:i=T().createElement(N.FormattedMessage,{id:"admin.true",defaultMessage:"True"}),falseText:r=T().createElement(N.FormattedMessage,{id:"admin.false",defaultMessage:"False"}),disabled:o=!1,setByEnv:l,disabledText:d,helpText:c}=e;const m=(0,_.useMemo)((()=>o&&d?T().createElement("div",null,T().createElement("span",{className:"admin-console__disabled-text"},d),c):c),[c,o,d]),u=(0,_.useCallback)((e=>{n(t,"true"===e.target.value)}),[t,n]);return T().createElement(G,{helpText:m,inputId:t,label:s,setByEnv:l},T().createElement(j,{isDisabled:o||l},T().createElement("input",{"data-testid":t+"true",type:"radio",value:"true",id:H.rH(t)+"true",name:t,checked:a,onChange:u,disabled:o||l}),i),T().createElement(j,{isDisabled:o||l},T().createElement("input",{"data-testid":t+"false",type:"radio",value:"false",id:H.rH(t)+"false",name:t,checked:!a,onChange:u,disabled:o||l}),r))};q.propTypes={id:L().string.isRequired,label:L().node.isRequired,value:L().bool.isRequired,onChange:L().func.isRequired,trueText:L().node,falseText:L().node,disabled:L().bool,setByEnv:L().bool.isRequired,disabledText:L().node,helpText:L().node.isRequired};const W=T().memo(q);var V=s(61295);const z=e=>{let{children:t,setByEnv:s,helpText:a,inputId:n,label:i}=e;return T().createElement("div",{"data-testid":n,className:"form-group"},T().createElement("label",{className:"control-label col-sm-4",htmlFor:n},i),T().createElement("div",{className:"col-sm-8"},t,T().createElement("div",{"data-testid":n+"help-text",className:"help-text"},a),s?T().createElement(U,null):null))};z.propTypes={inputId:L().string,label:L().node.isRequired,children:L().node,helpText:L().node,setByEnv:L().bool};const Y=T().memo(z),Z=e=>{const t=(0,_.useCallback)((t=>{e.onChange&&e.onChange(e.id,t)}),[e.id,e.onChange]);return T().createElement(Y,{label:e.label,helpText:e.helpText,inputId:e.id},T().createElement(V.A,{id:e.id,value:e.value,onChange:t,isDisabled:e.disabled}))};Z.propTypes={id:L().string.isRequired,label:L().node.isRequired,helpText:L().node,value:L().string.isRequired,onChange:L().func,disabled:L().bool};const J=T().memo(Z),Q=e=>{let{id:t,values:s,label:a,value:n,onChange:i,disabled:r=!1,setByEnv:o,helpText:l}=e;const d=(0,_.useCallback)((e=>{i(t,e.target.value)}),[i,t]),c=(0,_.useMemo)((()=>s.map((e=>{let{value:t,text:s}=e;return T().createElement("option",{value:t,key:t},s)}))),[s]);return T().createElement(Y,{label:a,inputId:t,helpText:l,setByEnv:o},T().createElement("select",{"data-testid":t+"dropdown",className:"form-control",id:t,value:n,onChange:d,disabled:r||o},c))},K=(0,_.memo)(Q);function X(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class $ extends T().PureComponent{constructor(e){super(e),X(this,"fileInputRef",T().createRef()),X(this,"handleChooseClick",(()=>{var e;null===(e=this.fileInputRef.current)||void 0===e||e.click()})),X(this,"handleChange",(()=>{var e;const t=null===(e=this.fileInputRef.current)||void 0===e?void 0:e.files;t&&t.length>0&&this.setState({fileSelected:!0,fileName:t[0].name})})),X(this,"handleSubmit",(e=>{var t,s;e.preventDefault(),this.setState({uploading:!0});const a=null===(t=this.fileInputRef.current)||void 0===t||null===(s=t.files)||void 0===s?void 0:s[0];a&&this.props.onSubmit(this.props.id,a,(e=>{this.setState({uploading:!1}),e&&this.fileInputRef.current&&H.K2(this.fileInputRef.current)}))})),this.state={fileName:null,serverError:e.error,uploading:!1,fileSelected:!1}}render(){let e,t;return this.state.serverError&&(e=T().createElement("div",{className:"form-group has-error"},T().createElement("label",{className:"control-label"},this.state.serverError))),t=this.state.fileName?this.state.fileName:T().createElement(N.FormattedMessage,{id:"admin.file_upload.noFile",defaultMessage:"No file uploaded"}),T().createElement(Y,{label:this.props.label,helpText:this.props.helpText,inputId:this.props.id},T().createElement("div",null,T().createElement("div",{className:"file__upload"},T().createElement("button",{type:"button",className:"btn btn-tertiary",disabled:this.props.disabled,onClick:this.handleChooseClick},T().createElement(N.FormattedMessage,{id:"admin.file_upload.chooseFile",defaultMessage:"Choose File"})),T().createElement("input",{ref:this.fileInputRef,type:"file",disabled:this.props.disabled,accept:this.props.fileType,onChange:this.handleChange})),T().createElement("button",{type:"button",className:"btn btn-primary",disabled:!this.state.fileSelected,onClick:this.handleSubmit},this.state.uploading&&T().createElement(T().Fragment,null,T().createElement("span",{className:"glyphicon glyphicon-refresh glyphicon-refresh-animate"}),this.props.uploadingText),!this.state.uploading&&T().createElement(N.FormattedMessage,{id:"admin.file_upload.uploadFile",defaultMessage:"Upload"})),T().createElement("div",{className:"help-text m-0"},t),e))}}X($,"propTypes",{id:L().string.isRequired,label:L().node.isRequired,helpText:L().node,uploadingText:L().node,onSubmit:L().func.isRequired,disabled:L().bool.isRequired,fileType:L().string.isRequired,error:L().string}),s(89744);var ee=s(9241);function te(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class se extends T().PureComponent{constructor(){super(...arguments),te(this,"regenerate",(e=>{e.preventDefault();const t=ee.randomBytes(256).toString("base64").substring(0,32);this.props.onChange(this.props.id,t.replaceAll("+","-").replaceAll("/","_"))}))}static get defaultProps(){return{disabled:!1,regenerateText:T().createElement(N.FormattedMessage,{id:"admin.regenerate",defaultMessage:"Regenerate"})}}render(){let e=null;this.props.disabled&&this.props.disabledText&&(e=T().createElement("div",{className:"admin-console__disabled-text"},this.props.disabledText));let t=null;this.props.regenerateHelpText&&(t=T().createElement("div",{className:"help-text"},this.props.regenerateHelpText));let s=this.props.value;return s||(s=T().createElement("span",{className:"placeholder-text"},this.props.placeholder)),T().createElement("div",{className:"form-group"},T().createElement("label",{className:"control-label col-sm-4",htmlFor:this.props.id},this.props.label),T().createElement("div",{className:"col-sm-8"},T().createElement("div",{className:"form-control disabled",id:this.props.id},s),e,T().createElement("div",{className:"help-text"},this.props.helpText),T().createElement("div",{className:"help-text"},T().createElement("button",{type:"button",className:"btn btn-tertiary",onClick:this.regenerate,disabled:this.props.disabled||this.props.setByEnv},this.props.regenerateText)),t,this.props.setByEnv?T().createElement(U,null):null))}}te(se,"propTypes",{id:L().string.isRequired,label:L().node.isRequired,placeholder:L().string,value:L().string.isRequired,onChange:L().func.isRequired,disabled:L().bool.isRequired,setByEnv:L().bool.isRequired,disabledText:L().node,helpText:L().node.isRequired,regenerateText:L().node.isRequired,regenerateHelpText:L().node});var ae=s(81149);function ne(e){return e.entities.jobs.jobsByTypeList}var ie=s(71633),re=s.n(ie);const oe=e=>{const{job:t,disabled:s,onClick:a}=e,n=(0,N.useIntl)();let i=null;const r=(0,_.useCallback)((e=>{e.preventDefault(),a(t.id)}),[a,t.id]);return s||t.status!==x.Im.PENDING&&t.status!==x.Im.IN_PROGRESS||(i=T().createElement("span",{onClick:r,className:"JobCancelButton",title:n.formatMessage({id:"admin.jobTable.cancelButton",defaultMessage:"Cancel"})},"×")),i};oe.propTypes={disabled:L().bool.isRequired,onClick:L().func.isRequired};const le=T().memo(oe);s(83931);var de=s(40693),ce=s(17518);const me=T().memo((e=>{var t,s,a;let{job:n}=e;return"true"===(null===(t=n.data)||void 0===t?void 0:t.is_downloadable)&&parseInt(null===(s=n.data)||void 0===s?void 0:s.messages_exported,10)>0&&(null===(a=n.data)||void 0===a?void 0:a.export_type)!==x.Fu.EXPORT_FORMAT_GLOBALRELAY?T().createElement(ce.A,{key:n.id,location:"job_download_link",href:"".concat(de.mT.getJobsRoute(),"/").concat(n.id,"/download"),className:"JobDownloadLink"},T().createElement(N.FormattedMessage,{id:"admin.jobTable.downloadLink",defaultMessage:"Download"})):T().createElement(T().Fragment,null,"--")})),ue=T().memo((e=>{let{status:t,millis:s}=e;if(0===s||t===x.Im.PENDING||t===x.Im.IN_PROGRESS||t===x.Im.CANCEL_REQUESTED)return T().createElement("span",{className:"JobFinishAt whitespace--nowrap"},"--");const a=new Date(s);return T().createElement("span",{className:"JobFinishAt whitespace--nowrap"},T().createElement(N.FormattedDate,{value:a,day:"2-digit",month:"short",year:"numeric"})," - ",T().createElement(N.FormattedTime,{value:a,hour:"2-digit",minute:"2-digit"}))}));ue.propTypes={millis:L().number.isRequired};const pe=ue,ge=T().memo((e=>{let{job:t}=e;const s=(0,N.useIntl)();let a=t.last_activity_at-t.start_at;if(t.status===x.Im.IN_PROGRESS){const e=Date.now()-t.start_at;e>a&&(a=e)}let n=s.formatMessage({id:"admin.jobTable.lastActivityAt",defaultMessage:"Last Activity: "})+"--";t.last_activity_at>0&&(n=s.formatMessage({id:"admin.jobTable.lastActivityAt",defaultMessage:"Last Activity: "})+s.formatDate(new Date(t.last_activity_at),{year:"numeric",month:"short",day:"2-digit"})+" - "+s.formatTime(new Date(t.last_activity_at),{hour:"2-digit",minute:"2-digit",second:"2-digit"}));const i=Math.round(a/1e3),r=Math.round(a/6e4);return a<=0||t.status===x.Im.CANCELED?T().createElement("span",{className:"JobRunLength whitespace--nowrap"},"--"):i<=120?T().createElement("span",{className:"JobRunLength whitespace--nowrap",title:n},i+s.formatMessage({id:"admin.jobTable.runLengthSeconds",defaultMessage:" seconds"})):T().createElement("span",{className:"JobRunLength whitespace--nowrap",title:n},r+s.formatMessage({id:"admin.jobTable.runLengthMinutes",defaultMessage:" minutes"}))})),he=T().memo((e=>{let{job:t}=e;const s=(0,N.useIntl)();return t.status===x.Im.PENDING?T().createElement("span",{className:"JobStatus status-icon-warning",title:s.formatMessage({id:"admin.jobTable.jobId",defaultMessage:"Job ID: "})+t.id},T().createElement(N.FormattedMessage,{id:"admin.jobTable.statusPending",defaultMessage:"Pending"})):t.status===x.Im.IN_PROGRESS?T().createElement("span",{className:"JobStatus status-icon-warning",title:s.formatMessage({id:"admin.jobTable.jobId",defaultMessage:"Job ID: "})+t.id},T().createElement(N.FormattedMessage,{id:"admin.jobTable.statusInProgress",defaultMessage:"In Progress"})):t.status===x.Im.SUCCESS?T().createElement("span",{className:"JobStatus status-icon-success",title:s.formatMessage({id:"admin.jobTable.jobId",defaultMessage:"Job ID: "})+t.id},T().createElement(N.FormattedMessage,{id:"admin.jobTable.statusSuccess",defaultMessage:"Success"})):t.status===x.Im.WARNING?T().createElement("span",{className:"JobStatus status-icon-warning",title:s.formatMessage({id:"admin.jobTable.jobId",defaultMessage:"Job ID: "})+t.id},T().createElement(N.FormattedMessage,{id:"admin.jobTable.statusWarning",defaultMessage:"Warning"})):t.status===x.Im.ERROR?T().createElement("span",{className:"JobStatus status-icon-error",title:s.formatMessage({id:"admin.jobTable.jobId",defaultMessage:"Job ID: "})+t.id},T().createElement(N.FormattedMessage,{id:"admin.jobTable.statusError",defaultMessage:"Error"})):t.status===x.Im.CANCEL_REQUESTED?T().createElement("span",{className:"JobStatus status-icon-warning",title:s.formatMessage({id:"admin.jobTable.jobId",defaultMessage:"Job ID: "})+t.id},T().createElement(N.FormattedMessage,{id:"admin.jobTable.statusCanceling",defaultMessage:"Canceling..."})):t.status===x.Im.CANCELED?T().createElement("span",{className:"JobStatus status-icon-error",title:s.formatMessage({id:"admin.jobTable.jobId",defaultMessage:"Job ID: "})+t.id},T().createElement(N.FormattedMessage,{id:"admin.jobTable.statusCanceled",defaultMessage:"Canceled"})):T().createElement("span",{className:"JobStatus",title:s.formatMessage({id:"admin.jobTable.jobId",defaultMessage:"Job ID: "})+t.id},t.status)}));function fe(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class Ee extends T().PureComponent{constructor(){super(...arguments),fe(this,"interval",null),fe(this,"getExtraInfoText",(e=>e.data&&e.data.error&&e.data.error.length>0?T().createElement("span",{title:e.data.error},e.data.error):this.props.getExtraInfoText?this.props.getExtraInfoText(e):T().createElement("span",null))),fe(this,"reload",(()=>{this.props.actions.getJobsByType(this.props.jobType)})),fe(this,"handleCancelJob",(async e=>{await this.props.actions.cancelJob(e),this.reload()})),fe(this,"handleCreateJob",(async e=>{e.preventDefault();const t={type:this.props.jobType,data:this.props.jobData};await this.props.actions.createJob(t),this.reload()}))}componentDidMount(){this.props.actions.getJobsByType(this.props.jobType),this.interval=setInterval(this.reload,15e3)}componentWillUnmount(){this.interval&&clearInterval(this.interval)}render(){const e=this.props.jobType===x.jj.MESSAGE_EXPORT&&this.props.downloadExportResults,t=this.props.jobs.map((t=>T().createElement("tr",{key:t.id},T().createElement("td",{className:"cancel-button-field whitespace--nowrap text-center"},T().createElement(le,{job:t,onClick:this.handleCancelJob,disabled:this.props.disabled})),T().createElement("td",{className:"whitespace--nowrap"},T().createElement(he,{job:t})),e&&T().createElement("td",{className:"whitespace--nowrap"},T().createElement(me,{job:t})),T().createElement("td",{className:"whitespace--nowrap"},T().createElement(pe,{status:t.status,millis:t.last_activity_at})),T().createElement("td",{className:"whitespace--nowrap"},T().createElement(ge,{job:t})),T().createElement("td",null,this.getExtraInfoText(t)))));return T().createElement("div",{className:re()("JobTable","job-table__panel",this.props.className)},T().createElement("div",{className:"job-table__create-button"},!this.props.hideJobCreateButton&&T().createElement("div",null,T().createElement("button",{type:"button",className:"btn btn-tertiary",onClick:this.handleCreateJob,disabled:this.props.disabled},this.props.createJobButtonText)),T().createElement("div",{className:"help-text"},this.props.createJobHelpText)),!this.props.hideTable&&T().createElement("div",{className:"job-table__table"},T().createElement("table",{className:"table","data-testid":"jobTable"},T().createElement("thead",null,T().createElement("tr",null,T().createElement("th",{className:"cancel-button-field"}),T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.jobTable.headerStatus",defaultMessage:"Status"})),e&&T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.jobTable.headerFiles",defaultMessage:"Files"})),T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.jobTable.headerFinishAt",defaultMessage:"Finish Time"})),T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.jobTable.headerRunTime",defaultMessage:"Run Time"})),T().createElement("th",{colSpan:3},T().createElement(N.FormattedMessage,{id:"admin.jobTable.headerExtraInfo",defaultMessage:"Details"})))),T().createElement("tbody",null,t))))}}fe(Ee,"propTypes",{jobs:L().array.isRequired,getExtraInfoText:L().func,disabled:L().bool.isRequired,createJobHelpText:L().element.isRequired,downloadExportResults:L().bool,className:L().string,hideJobCreateButton:L().bool,createJobButtonText:L().node.isRequired,hideTable:L().bool,jobData:L().any,actions:L().shape({getJobsByType:L().func.isRequired,cancelJob:L().func.isRequired,createJob:L().func.isRequired}).isRequired});const be=Ee,ve=(0,a.connect)((function(e,t){var s,a;return{jobs:(a=t.jobType,(0,A.Mz)("makeGetJobsByType",ne,(e=>e[a]||[])))(e),downloadExportResults:null===(s=(0,d.zj)(e).MessageExportSettings)||void 0===s?void 0:s.DownloadExportResults}}),(function(e){return{actions:(0,n.bindActionCreators)({getJobsByType:ae.mF,createJob:ae._S,cancelJob:ae.mh},e)}}))(be);var Me=s(6251),ye=s(85990);const Se=e=>{let{text:t}=e;return t},Ae=e=>{let{id:t,values:s,label:a,selected:n,onChange:i,disabled:r=!1,setByEnv:o,helpText:l,noResultText:d}=e;const[c,m]=(0,_.useState)(!1),u=(0,_.useCallback)((e=>{const s=e?e.map((e=>e.value)):[];i(t,s),m(!1)}),[t,i]),p=(0,_.useMemo)((()=>s.reduce(((e,t)=>(e[t.value]=t,e)),{})),[s]),g=(0,_.useMemo)((()=>n.reduce(((e,t)=>{const s=p[t];return s&&e.push(s),e}),[])),[n,p]);return T().createElement(Y,{label:a,inputId:t,helpText:l,setByEnv:o},T().createElement(Me.Ay,{id:t,isMulti:!0,getOptionLabel:Se,options:s,delimiter:",",clearable:!1,isDisabled:r||o,noResultsText:d,onChange:u,value:g}),T().createElement(ye.A,{error:c}))};Ae.propTypes={id:L().string.isRequired,values:L().arrayOf(L().shape({value:L().string.isRequired,text:L().string.isRequired})).isRequired,label:L().node.isRequired,selected:L().arrayOf(L().string).isRequired,onChange:L().func.isRequired,disabled:L().bool,setByEnv:L().bool.isRequired,helpText:L().node,noResultText:L().node};const Ce=T().memo(Ae),_e=e=>{let{id:t,label:s,values:a,value:n,setByEnv:i,disabled:r=!1,helpText:o,onChange:l}=e;const d=e=>{l(t,e.target.value)},c=a.map((e=>{let{value:s,text:a}=e;return T().createElement("div",{className:"radio",key:s},T().createElement("label",null,T().createElement("input",{type:"radio",value:s,name:t,checked:s===n,onChange:d,disabled:r||i}),a))}));return T().createElement(Y,{label:s,inputId:t,helpText:o,setByEnv:i},c)};_e.propTypes={id:L().string.isRequired,label:L().node.isRequired,values:L().arrayOf(L().shape({text:L().string.isRequired,value:L().string.isRequired})).isRequired,value:L().string.isRequired,setByEnv:L().bool.isRequired,disabled:L().bool,helpText:L().node};const Te=T().memo(_e),Ne=e=>{let{id:t,label:s,helpText:a,removeButtonText:n,removingText:i,fileName:r,onSubmit:o,disabled:l}=e;const[d,c]=(0,_.useState)(!1),m=(0,_.useCallback)((e=>{e.preventDefault(),c(!0),o(t,(()=>{c(!1)}))}),[t,o]);return T().createElement(Y,{label:s,helpText:a,inputId:t},T().createElement("div",null,T().createElement("div",{className:"help-text remove-filename"},r),T().createElement("button",{type:"button",className:"btn btn-danger",onClick:m,disabled:l},d&&T().createElement(T().Fragment,null,T().createElement("span",{className:"glyphicon glyphicon-refresh glyphicon-refresh-animate"}),i),!d&&n)))},Re=(0,_.memo)(Ne);var we=s(65211),Ie=s(87064),Oe=s(55476);function Pe(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class ke extends T().PureComponent{constructor(e){super(e),Pe(this,"handleRequest",(e=>{e.preventDefault(),this.setState({busy:!0,fail:"",success:!1});const t=()=>this.props.requestAction((()=>{this.setState({busy:!1,success:!0})}),(e=>{let t=e.message;this.props.includeDetailedError&&e.detailed_error&&(t+=" - "+e.detailed_error),this.setState({busy:!1,fail:t})}));this.props.saveNeeded&&this.props.saveConfigAction?this.props.saveConfigAction(t):t()})),this.state={busy:!1,fail:"",success:!1}}render(){let e=null;if(this.state.fail){const t="string"==typeof this.props.errorMessage?this.props.errorMessage:T().createElement(N.FormattedMessage,Object.assign({},this.props.errorMessage,{values:{error:this.state.fail}}));e=T().createElement("div",null,T().createElement("div",{className:"alert alert-warning"},T().createElement(Ie.A,null),t))}else if(this.state.success&&this.props.showSuccessMessage){const t="string"==typeof this.props.successMessage?this.props.successMessage:T().createElement(N.FormattedMessage,this.props.successMessage);e=T().createElement("div",null,T().createElement("div",{className:"alert alert-success"},T().createElement(we.A,null),t))}let t="col-sm-8",s=null;return this.props.label?s=T().createElement("label",{className:"control-label col-sm-4"},this.props.label):t="col-sm-offset-4 "+t,T().createElement("div",{className:"form-group",id:this.props.id},s,T().createElement("div",{className:t},T().createElement("div",null,T().createElement("button",{type:"button",className:"btn btn-tertiary",onClick:this.handleRequest,disabled:this.props.disabled},T().createElement(Oe.A,{loading:this.state.busy,text:this.props.loadingText||T().createElement(N.FormattedMessage,{id:"admin.requestButton.loading",defaultMessage:"Loading..."})},this.props.buttonText)),this.props.alternativeActionElement,e),T().createElement("div",{className:"help-text"},this.props.helpText)))}}Pe(ke,"propTypes",{id:L().string,requestAction:L().func.isRequired,helpText:L().node,loadingText:L().node,buttonText:L().node.isRequired,label:L().node,disabled:L().bool,saveNeeded:L().bool,saveConfigAction:L().func,showSuccessMessage:L().bool,includeDetailedError:L().bool,alternativeActionElement:L().node}),Pe(ke,"defaultProps",{disabled:!1,saveNeeded:!1,showSuccessMessage:!0,includeDetailedError:!1,successMessage:(0,N.defineMessage)({id:"admin.requestButton.requestSuccess",defaultMessage:"Test Successful"}),errorMessage:(0,N.defineMessage)({id:"admin.requestButton.requestFailure",defaultMessage:"Test Failure: {error}"})});var xe=s(83185),De=s.n(xe),Le=s(71127);const Fe=e=>{let{isMarkdown:t,text:s,textValues:a}=e;if("string"==typeof s){if(t){const e=De()(s,{breaks:!0,sanitize:!0,renderer:new Le.B});return T().createElement("span",{dangerouslySetInnerHTML:{__html:e}})}return T().createElement("span",null,s)}return"id"in s?t?T().createElement(Le.A,Object.assign({},s,{values:a})):T().createElement(N.FormattedMessage,Object.assign({},s,{values:a})):s};Fe.propTypes={isMarkdown:L().bool,textValues:L().objectOf(L().oneOfType([L().string,L().func]))};const Be=Fe,He=e=>{let{show:t=!0,container:s=!0,header:a,title:n,subtitle:i,children:r}=e,o="",l="";if(!t)return null;s&&(o="admin-console__wrapper",l="admin-console__content");let d=null;!a&&n&&(d=T().createElement("div",{className:"section-title"},n));let c=null;!a&&i&&(c=T().createElement("div",{className:"section-subtitle"},i));let m=null;return(d||c)&&(m=T().createElement("div",{className:"section-header"},d,c)),T().createElement("div",{className:o},T().createElement("div",{className:l},a?T().createElement("h4",null,a):null,m,r))};He.propTypes={id:L().string,show:L().bool,header:L().node,title:L().node,subtitle:L().node,children:L().node,container:L().bool};const Ue=(0,_.memo)(He);var Ge=s(49195);const je=["setByEnv","disabled","footer","placeholder"],qe=e=>{const{setByEnv:t,disabled:s,footer:a,placeholder:n}=e,i=function(e,t){if(null==e)return{};var s,a,n=function(e,t){if(null==e)return{};var s={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;s[a]=e[a]}return s}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)s=i[a],t.includes(s)||{}.propertyIsEnumerable.call(e,s)&&(n[s]=e[s])}return n}(e,je),r=s||t,o=(0,N.useIntl)();let l;return n&&(l="string"==typeof n?n:o.formatMessage(n)),T().createElement(Ge.A,Object.assign({},i,{labelClassName:"col-sm-4",inputClassName:"col-sm-8",disabled:r,footer:t?T().createElement(U,null):a,placeholder:l}))};qe.propTypes={setByEnv:L().bool.isRequired,disabled:L().bool};const We=qe;var Ve=s(65357),ze=s(86791),Ye=s(32269),Ze=s(4565);const Je=e=>{let{id:t,label:s,placeholder:a,helpText:n,value:i,onChange:r,disabled:o,actions:l}=e;const d=(0,_.useRef)([new ze.A(l.autocompleteUsers)]),c=(0,_.useCallback)((e=>{r(t,e.target.value)}),[r,t]),m=(0,_.useCallback)((e=>{r(t,e.username)}),[t,r]);return T().createElement(Y,{label:s,helpText:n,inputId:t},T().createElement("div",{className:"admin-setting-user__dropdown"},T().createElement(Ye.A,{id:"admin_user_setting_"+t,className:"form-control",placeholder:a,value:i,onChange:c,onItemSelected:m,listComponent:Ze.A,listPosition:"bottom",providers:d.current,disabled:o,requiredCharacters:0,openOnFocus:!0})))};Je.propTypes={id:L().string.isRequired,label:L().string.isRequired,placeholder:L().string.isRequired,helpText:L().node.isRequired,value:L().string.isRequired,onChange:L().func.isRequired,disabled:L().bool.isRequired,actions:L().shape({autocompleteUsers:L().func.isRequired}).isRequired};const Qe=Je,Ke=(0,a.connect)(null,(function(e){return{actions:(0,n.bindActionCreators)({autocompleteUsers:Ve.X4},e)}}))(Qe);var Xe=s(18515),$e=s(14309);const et=e=>T().createElement("div",{className:re()("admin-console__header",{"with-back":e.withBackButton})},e.children);var tt=s(87131),st=s(90478);const at="true",nt="false",it={enableTeamCreation:{[at]:[{roleName:"system_user",permission:l.xB.CREATE_TEAM,shouldHave:!0}],[nt]:[{roleName:"system_user",permission:l.xB.CREATE_TEAM,shouldHave:!1}]},editOthersPosts:{[at]:[{roleName:"system_admin",permission:l.xB.EDIT_OTHERS_POSTS,shouldHave:!0},{roleName:"team_admin",permission:l.xB.EDIT_OTHERS_POSTS,shouldHave:!0}],[nt]:[{roleName:"team_admin",permission:l.xB.EDIT_OTHERS_POSTS,shouldHave:!1},{roleName:"system_admin",permission:l.xB.EDIT_OTHERS_POSTS,shouldHave:!0}]},enableOnlyAdminIntegrations:{[at]:[{roleName:"team_user",permission:l.xB.MANAGE_INCOMING_WEBHOOKS,shouldHave:!1},{roleName:"team_user",permission:l.xB.MANAGE_OUTGOING_WEBHOOKS,shouldHave:!1},{roleName:"team_user",permission:l.xB.MANAGE_SLASH_COMMANDS,shouldHave:!1},{roleName:"system_user",permission:l.xB.MANAGE_OAUTH,shouldHave:!1}],[nt]:[{roleName:"team_user",permission:l.xB.MANAGE_INCOMING_WEBHOOKS,shouldHave:!0},{roleName:"team_user",permission:l.xB.MANAGE_OUTGOING_WEBHOOKS,shouldHave:!0},{roleName:"team_user",permission:l.xB.MANAGE_SLASH_COMMANDS,shouldHave:!0},{roleName:"system_user",permission:l.xB.MANAGE_OAUTH,shouldHave:!0}]}};function rt(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function ot(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?rt(Object(s),!0).forEach((function(t){lt(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):rt(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function lt(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const dt=[];function ct(e){return e.replace(/\./g,"+")}function mt(e){return e.replace(/\+/g,".")}function ut(e,t,s){if(e)return"string"==typeof e?e:t.formatMessage(e,s)}class pt extends T().PureComponent{constructor(e){var t;super(e),t=this,lt(this,"handleSubmit",(async e=>{if(e.preventDefault(),this.state.confirmNeededId)this.setState({showConfirmId:this.state.confirmNeededId});else{if(this.setState({saving:!0,serverError:null}),"both"===this.state.saveNeeded||"permissions"===this.state.saveNeeded){const e=function(e,t){const s=JSON.parse(JSON.stringify(t));return function(e){const t=function(){let e=[];return Object.values(it).forEach((t=>{Object.values(t).forEach((t=>{const s=t.map((e=>e.roleName));e=e.concat(s)}))})),[...new Set(e.map((e=>e)))]}();Object.keys(e).forEach((s=>{t.includes(s)||delete e[s]}))}(s),Object.keys(it).forEach((t=>{const a=e[t];a&&function(e,t,s){const a=it[e][t];if(void 0===a)throw new Error("Value '".concat(t,"' not present in MAPPING for key '").concat(e,"'."));a.forEach((e=>{const t=s[e.roleName];e.shouldHave?function(e,t){t.permissions.includes(e)||t.permissions.push(e)}(e.permission,t):function(e,t){const s=t.permissions.indexOf(e);-1!==s&&t.permissions.splice(s,1)}(e.permission,t)}))}(t,a,s)})),Object.entries(s).forEach((e=>{let[a,n]=e;const i=new Set(t[a].permissions),r=new Set(n.permissions),o=[...r].filter((e=>!i.has(e)));i.size===r.size&&0===o.length&&delete s[a]})),s}((this.props.schema&&"settings"in this.props.schema&&this.props.schema.settings||[]).reduce(((e,t)=>(t.type===x.Ay.SettingsTypes.TYPE_PERMISSION&&(e[t.permissions_mapping_name]=this.state[t.key].toString()),e)),{}),this.props.roles);let t=!0;if(await Promise.all(Object.values(e).map((async e=>{try{await this.props.editRole(e)}catch(e){t=!1,this.setState({saving:!1,serverError:e.message})}}))),!t)return}"both"===this.state.saveNeeded||"config"===this.state.saveNeeded?this.doSubmit(pt.getStateFromConfig):(this.setState({saving:!1,saveNeeded:!1,serverError:null}),this.props.setNavigationBlocked(!1))}})),lt(this,"renderTitle",(()=>{if(!this.props.schema)return"";let e=this.props.schema.id;return"name"in this.props.schema&&(e=this.props.schema.name),"string"==typeof e?T().createElement(et,null,e):T().createElement(et,null,T().createElement(N.FormattedMessage,e))})),lt(this,"renderBanner",(e=>this.props.schema&&"label"in e?"string"==typeof e.label?e.label_markdown?T().createElement(Xe.A,{message:e.label}):T().createElement("span",null,e.label):T().createElement(N.FormattedMessage,Object.assign({},e.label,{values:e.label_values})):T().createElement("span",null,""))),lt(this,"renderSettingHelpText",(e=>{if(!this.props.schema||"banner"===e.type||!e.help_text)return T().createElement("span",null,"");let t,s,a;return"disabled_help_text"in e&&e.disabled_help_text&&this.isDisabled(e)?(t=e.disabled_help_text,s=e.disabled_help_text_markdown,a=e.disabled_help_text_values):(t=e.help_text,s=e.help_text_markdown,a=e.help_text_values),T().createElement(Be,{isMarkdown:s,text:t,textValues:a})})),lt(this,"renderDropdownOptionHelpText",(e=>e.help_text?T().createElement(Be,{isMarkdown:e.help_text_markdown,text:e.help_text,textValues:e.help_text_values}):T().createElement("span",null,""))),lt(this,"renderLabel",(e=>this.props.schema&&e.label?"string"==typeof e.label?e.label:this.props.intl.formatMessage(e.label):"")),lt(this,"isDisabled",(e=>"function"==typeof e.isDisabled?e.isDisabled(this.props.config,this.state,this.props.license,this.props.enterpriseReady,this.props.consoleAccess,this.props.cloud,this.props.isCurrentUserSystemAdmin):Boolean(e.isDisabled))),lt(this,"isHidden",(e=>"function"==typeof e.isHidden?e.isHidden(this.props.config,this.state,this.props.license):Boolean(e.isHidden))),lt(this,"buildButtonSetting",(e=>this.props.schema&&"button"===e.type?T().createElement(ke,{id:e.key,key:this.props.schema.id+"_text_"+e.key,requestAction:(t,s)=>{if(!e.skipSaveNeeded&&!1!==this.state.saveNeeded)return void s({message:this.props.intl.formatMessage({id:"admin_settings.save_unsaved_changes",defaultMessage:"Please save unsaved changes first"})});let a="ServiceSettings.SiteURL";e.sourceUrlKey&&(a=e.sourceUrlKey),e.action((e=>{const s=new Map(Object.entries(e));(this.props.schema&&"settings"in this.props.schema&&this.props.schema.settings||[]).forEach((e=>{if(e.key&&"setFromMetadataField"in e&&e.setFromMetadataField){const n=s.get(e.setFromMetadataField);if(e.type===x.Ay.SettingsTypes.TYPE_TEXT)this.setState({[e.key]:n,["".concat(e.key,"Error")]:null});else if(e.type===x.Ay.SettingsTypes.TYPE_FILE_UPLOAD){var t,a;this.buildSettingFunctions[e.type]&&null!==(t=this.buildSettingFunctions[e.type](e))&&void 0!==t&&t.props.onSetData&&(null===(a=this.buildSettingFunctions[e.type](e))||void 0===a||a.props.onSetData(e.key,n))}}})),t&&"function"==typeof t&&t()}),s,this.state[a])},helpText:this.renderSettingHelpText(e),loadingText:ut(e.loading,this.props.intl),buttonText:T().createElement("span",null,this.renderLabel(e)),showSuccessMessage:Boolean(e.success_message),includeDetailedError:!0,disabled:this.isDisabled(e),errorMessage:e.error_message,successMessage:e.success_message}):T().createElement(T().Fragment,null))),lt(this,"buildTextSetting",(e=>{if(!this.props.schema||!e.key||"text"!==e.type&&"longtext"!==e.type&&"number"!==e.type)return T().createElement(T().Fragment,null);let t="text";e.type===x.Ay.SettingsTypes.TYPE_NUMBER?t="number":e.type===x.Ay.SettingsTypes.TYPE_LONG_TEXT&&(t="textarea");let s="";if(e.dynamic_value)s=e.dynamic_value(s,this.props.config,this.state);else if(e.multiple)s=this.state[e.key]?this.state[e.key].join(","):"";else{var a;s=null!==(a=this.state[e.key])&&void 0!==a?a:e.default||""}let n=null;if(e.validate){const t=e.validate(s).error(this.props.intl);n=t?T().createElement(ye.A,{type:"backstrage",error:t}):n}return T().createElement(We,{key:this.props.schema.id+"_text_"+e.key,id:e.key,multiple:e.multiple,type:t,label:this.renderLabel(e),helpText:this.renderSettingHelpText(e),placeholder:ut(e.placeholder,this.props.intl,e.placeholder_values),value:s,disabled:this.isDisabled(e),setByEnv:this.isSetByEnv(e.key),onChange:this.handleChange,maxLength:e.max_length,footer:n})})),lt(this,"buildColorSetting",(e=>this.props.schema&&e.key&&"color"===e.type?T().createElement(J,{key:this.props.schema.id+"_text_"+e.key,id:e.key,label:this.renderLabel(e),helpText:this.renderSettingHelpText(e),value:this.state[e.key]||"",disabled:this.isDisabled(e),onChange:this.handleChange}):T().createElement(T().Fragment,null))),lt(this,"buildBoolSetting",(e=>{var t;return this.props.schema&&e.key&&"bool"===e.type?T().createElement(W,{key:this.props.schema.id+"_bool_"+e.key,id:e.key,label:this.renderLabel(e),helpText:this.renderSettingHelpText(e),value:null!==(t=this.state[e.key])&&void 0!==t?t:e.default||!1,disabled:this.isDisabled(e),setByEnv:this.isSetByEnv(e.key),onChange:this.handleChange}):T().createElement(T().Fragment,null)})),lt(this,"buildPermissionSetting",(e=>this.props.schema&&e.key&&"permission"===e.type?T().createElement(W,{key:this.props.schema.id+"_bool_"+e.key,id:e.key,label:this.renderLabel(e),helpText:this.renderSettingHelpText(e),value:this.state[e.key]||!1,disabled:this.isDisabled(e),setByEnv:this.isSetByEnv(e.key),onChange:this.handlePermissionChange}):T().createElement(T().Fragment,null))),lt(this,"buildDropdownSetting",(e=>{var t;if(!this.props.schema||!e.key||"dropdown"!==e.type)return T().createElement(T().Fragment,null);const s=[];e.options.forEach((e=>{e.isHidden&&("function"!=typeof e.isHidden||e.isHidden(this.props.config,this.state,this.props.license,this.props.enterpriseReady))||s.push(e)}));const a=s.map((e=>({value:e.value,text:ut(e.display_name,this.props.intl)}))),n=null!==(t=this.state[e.key])&&void 0!==t?t:a[0].value;let i=null;for(const e of s)if(e.help_text&&e.value===n){i=e;break}let r=!1;e.isHelpHidden&&(r="function"==typeof e.isHelpHidden?e.isHelpHidden(this.props.config,this.state,this.props.license,this.props.enterpriseReady):e.isHelpHidden);let o="";return r||(o=i?this.renderDropdownOptionHelpText(i):this.renderSettingHelpText(e)),T().createElement(K,{key:this.props.schema.id+"_dropdown_"+e.key,id:e.key,values:a,label:this.renderLabel(e),helpText:o,value:n,disabled:this.isDisabled(e),setByEnv:this.isSetByEnv(e.key),onChange:this.handleChange})})),lt(this,"buildRolesSetting",(e=>{var t;if(!this.props.schema||!e.key||"roles"!==e.type)return T().createElement(T().Fragment,null);const{roles:s}=this.props,a=Object.keys(s).map((e=>({value:s[e].name,text:s[e].name})));if(e.multiple){const t="object"==typeof e.no_result?T().createElement(N.FormattedMessage,e.no_result):e.no_result;return T().createElement(Ce,{key:this.props.schema.id+"_language_"+e.key,id:e.key,label:this.renderLabel(e),values:a,helpText:this.renderSettingHelpText(e),selected:this.state[e.key]||dt,disabled:this.isDisabled(e),setByEnv:this.isSetByEnv(e.key),onChange:this.handleChange,noResultText:t})}return T().createElement(K,{key:this.props.schema.id+"_language_"+e.key,id:e.key,label:this.renderLabel(e),values:a,helpText:this.renderSettingHelpText(e),value:null!==(t=this.state[e.key])&&void 0!==t?t:a[0].value,disabled:this.isDisabled(e),setByEnv:this.isSetByEnv(e.key),onChange:this.handleChange})})),lt(this,"buildLanguageSetting",(e=>{var t;if(!this.props.schema||!e.key||"language"!==e.type)return T().createElement(T().Fragment,null);const s=st.No(),a=[];for(const e of Object.values(s))a.push({value:e.value,text:e.name,order:e.order});return a.sort(((e,t)=>e.order-t.order)),e.multiple?T().createElement(Ce,{key:this.props.schema.id+"_language_"+e.key,id:e.key,label:this.renderLabel(e),values:a,helpText:this.renderSettingHelpText(e),selected:this.state[e.key]&&this.state[e.key].split(",")||[],disabled:this.isDisabled(e),setByEnv:this.isSetByEnv(e.key),onChange:(e,t)=>this.handleChange(e,t.join(",")),noResultText:ut(e.no_result,this.props.intl)}):T().createElement(K,{key:this.props.schema.id+"_language_"+e.key,id:e.key,label:this.renderLabel(e),values:a,helpText:this.renderSettingHelpText(e),value:null!==(t=this.state[e.key])&&void 0!==t?t:a[0].value,disabled:this.isDisabled(e),setByEnv:this.isSetByEnv(e.key),onChange:this.handleChange})})),lt(this,"buildRadioSetting",(e=>{var t,s;if(!this.props.schema||!e.key||"radio"!==e.type)return T().createElement(T().Fragment,null);const a=(e.options||[]).map((e=>({value:e.value,text:ut(e.display_name,this.props.intl)}))),n=(null===(t=a.find((t=>t.value===e.default)))||void 0===t?void 0:t.value)||a[0].value;return T().createElement(Te,{key:this.props.schema.id+"_radio_"+e.key,id:e.key,values:a,label:this.renderLabel(e),helpText:this.renderSettingHelpText(e),value:null!==(s=this.state[e.key])&&void 0!==s?s:n,disabled:this.isDisabled(e),setByEnv:this.isSetByEnv(e.key),onChange:this.handleChange})})),lt(this,"buildBannerSetting",(e=>!this.props.schema||"banner"!==e.type||this.isDisabled(e)?T().createElement(T().Fragment,null):T().createElement("div",{className:"banner "+e.banner_type,key:this.props.schema.id+"_bool_"+e.key},T().createElement("div",{className:"banner__content"},T().createElement("span",null,"warning"===e.banner_type?T().createElement(Ie.A,{additionalClassName:"banner__icon"}):null,this.renderBanner(e)))))),lt(this,"buildGeneratedSetting",(e=>{var t;return this.props.schema&&e.key&&"generated"===e.type?T().createElement(se,{key:this.props.schema.id+"_generated_"+e.key,id:e.key,label:this.renderLabel(e),helpText:this.renderSettingHelpText(e),regenerateHelpText:e.regenerate_help_text,placeholder:ut(e.placeholder,this.props.intl),value:null!==(t=this.state[e.key])&&void 0!==t?t:e.default||"",disabled:this.isDisabled(e),setByEnv:this.isSetByEnv(e.key),onChange:this.handleGeneratedChange}):T().createElement(T().Fragment,null)})),lt(this,"handleGeneratedChange",((e,t)=>{this.handleChange(e,t.replace(/\+/g,"-").replace(/\//g,"_"))})),lt(this,"handleChange",(function(e,s){let a=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r="permissions"===t.state.saveNeeded?"both":"config";const o="true"===t.props.license.Cloud&&"starter"===t.props.license.SkuShortName;"openidType"===e&&"openid"===s&&o&&(r=!1);const l=!1===i?t.state.clientWarning:i;let d=a?e:t.state.confirmNeededId;e!==t.state.confirmNeededId||a||(d=""),t.setState({saveNeeded:r,confirmNeededId:d,clientWarning:l,[e]:s}),n&&t.doSubmit(pt.getStateFromConfig),t.props.setNavigationBlocked(!0)})),lt(this,"handlePermissionChange",((e,t)=>{let s="permissions";"config"===this.state.saveNeeded&&(s="both"),this.setState({saveNeeded:s,[e]:t}),this.props.setNavigationBlocked(!0)})),lt(this,"buildUsernameSetting",(e=>{var t;return this.props.schema&&e.key&&e.type===x.Ay.SettingsTypes.TYPE_USERNAME?T().createElement(Ke,{key:this.props.schema.id+"_userautocomplete_"+e.key,id:e.key,label:this.renderLabel(e),helpText:this.renderSettingHelpText(e),placeholder:e.placeholder,value:null!==(t=this.state[e.key])&&void 0!==t?t:e.default||"",disabled:this.isDisabled(e),onChange:this.handleChange}):T().createElement(T().Fragment,null)})),lt(this,"buildJobsTableSetting",(e=>this.props.schema&&"jobstable"===e.type?T().createElement(ve,{key:this.props.schema.id+"_jobstable_"+e.key,jobType:e.job_type,getExtraInfoText:e.render_job,disabled:this.isDisabled(e),createJobButtonText:ut(e.label,this.props.intl),createJobHelpText:this.renderSettingHelpText(e)}):T().createElement(T().Fragment,null))),lt(this,"buildFileUploadSetting",(e=>{if(!this.props.schema||"fileupload"!==e.type||!e.key)return T().createElement(T().Fragment,null);if(this.state[e.key]){const t=(t,s)=>{e.remove_action((()=>{this.handleChange(e.key,""),this.setState({[e.key]:null,["".concat(e.key,"Error")]:null})}),(t=>{s(),this.setState({[e.key]:null,["".concat(e.key,"Error")]:t.message})}))};return T().createElement(Re,{id:this.props.schema.id,key:this.props.schema.id+"_fileupload_"+e.key,label:this.renderLabel(e),helpText:ut(e.remove_help_text,this.props.intl),removeButtonText:ut(e.remove_button_text,this.props.intl),removingText:ut(e.removing_text,this.props.intl),fileName:this.state[e.key],onSubmit:t,disabled:this.isDisabled(e),setByEnv:this.isSetByEnv(e.key)})}return T().createElement($,{id:e.key,key:this.props.schema.id+"_fileupload_"+e.key,label:this.renderLabel(e),helpText:this.renderSettingHelpText(e),uploadingText:ut(e.uploading_text,this.props.intl),disabled:this.isDisabled(e),fileType:e.fileType,onSubmit:(t,s,a)=>{e.upload_action(s,(s=>{this.handleChange(t,s),this.setState({[e.key]:s,["".concat(e.key,"Error")]:null}),a&&"function"==typeof a&&a()}),(e=>{a&&"function"==typeof a&&a(e.message)}))},error:this.state.idpCertificateFileError})})),lt(this,"buildCustomSetting",(e=>{if(!this.props.schema||"custom"!==e.type)return T().createElement(T().Fragment,null);const t=e.component,s=T().createElement(t,{key:this.props.schema.id+"_custom_"+e.key,id:e.key,label:this.renderLabel(e),helpText:this.renderSettingHelpText(e),value:this.state[e.key],disabled:this.isDisabled(e),config:this.props.config,license:this.props.license,setByEnv:this.isSetByEnv(e.key),onChange:this.handleChange,registerSaveAction:this.registerSaveAction,setSaveNeeded:this.setSaveNeeded,unRegisterSaveAction:this.unRegisterSaveAction,cancelSubmit:this.cancelSubmit,showConfirm:this.state.showConfirmId===e.key});return e.showTitle?T().createElement(Y,{label:e.label,inputId:e.key,helpText:e.help_text},s):s})),lt(this,"unRegisterSaveAction",(e=>{const t=this.saveActions.indexOf(e);this.saveActions.splice(t,1)})),lt(this,"registerSaveAction",(e=>{this.saveActions.push(e)})),lt(this,"setSaveNeeded",(()=>{this.setState({saveNeeded:"config"}),this.props.setNavigationBlocked(!0)})),lt(this,"renderSettings",(()=>{const e=this.props.schema;if(!e)return null;if("settings"in e&&e.settings){const t=[];let s,a;return e.settings&&e.settings.forEach((e=>{this.buildSettingFunctions[e.type]&&!this.isHidden(e)&&t.push(this.buildSettingFunctions[e.type](e))})),e.header&&(s=T().createElement("div",{className:"banner"},T().createElement(Be,{text:e.header,isMarkdown:!0}))),e.footer&&(a=T().createElement("div",{className:"banner"},T().createElement(Be,{text:e.footer,isMarkdown:!0}))),T().createElement(Ue,{container:!1},s,t,a)}if("sections"in e&&e.sections){const t=[];return e.sections.forEach((e=>{const s=[];if(e.settings&&e.settings.forEach((e=>{this.buildSettingFunctions[e.type]&&!this.isHidden(e)&&s.push(this.buildSettingFunctions[e.type](e))})),e.component){const a=e.component;return void t.push(T().createElement(a,{settingsList:s,key:e.key}))}let a,n;e.header&&(a=T().createElement("div",{className:"banner"},T().createElement(Be,{text:e.header,isMarkdown:!0}))),e.footer&&(n=T().createElement("div",{className:"banner"},T().createElement(Be,{text:e.footer,isMarkdown:!0}))),e.key.startsWith("PluginSettings.PluginStates")&&e.key.endsWith("Enable.Section")?t.push(T().createElement(Ue,{container:!1,key:e.key},a,s,n)):t.push(T().createElement("div",{className:"config-section",key:e.key},T().createElement(Ue,{show:!0,title:e.title,subtitle:e.subtitle},T().createElement("div",{className:"section-body"},a,s,n))))})),T().createElement("div",null,t)}return null})),lt(this,"doSubmit",(async e=>{if(!this.props.schema)return;let t=JSON.parse(JSON.stringify(this.props.config));t=this.getConfigFromState(t);const{error:s}=await this.props.patchConfig(t);s?this.setState({serverError:s.message,serverErrorId:s.id}):this.setState(e(t,this.props.schema));const a=[];for(const e of this.saveActions)a.push(e());const n=await Promise.all(a).then((e=>e.some((e=>e.error&&e.error.message))));this.state.serverError||n?this.setState({saving:!1}):(this.setState({saving:!1,saveNeeded:!1,confirmNeededId:"",showConfirmId:"",clientWarning:""}),this.props.setNavigationBlocked(!1))})),lt(this,"cancelSubmit",(()=>{this.setState({showConfirmId:""})})),lt(this,"isSetByEnv",(e=>Boolean(pt.getConfigValue(this.props.environmentConfig,e)))),lt(this,"hybridSchemaAndComponent",(()=>{const e=this.props.schema;if(e&&"component"in e&&e.component){const t=e.component;return T().createElement(t,Object.assign({},this.props,{disabled:this.props.isDisabled}))}return null})),lt(this,"canSave",(()=>{if(!this.props.schema||!("settings"in this.props.schema)||!this.props.schema.settings)return!0;for(const t of this.props.schema.settings)if("key"in t&&t.key&&!this.isSetByEnv(t.key)&&"validate"in t&&t.validate){if("isHidden"in t){let s=!1;var e;if(s="function"==typeof t.isHidden?null===(e=t.isHidden)||void 0===e?void 0:e.call(t,this.props.config,this.state,this.props.license,this.props.enterpriseReady,this.props.consoleAccess,this.props.cloud,this.props.isCurrentUserSystemAdmin):Boolean(t.isHidden),s)continue}if(!t.validate(this.state[t.key]).isValid())return!1}return!0})),lt(this,"render",(()=>{var e,t;const s=this.props.schema;if(s&&"component"in s&&s.component&&!("settings"in s)){const e=s.component;return T().createElement(e,Object.assign({},this.props,{disabled:this.props.isDisabled}))}return s?T().createElement("div",{className:"wrapper--fixed "+this.state.customComponentWrapperClass},this.renderTitle(),T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},T().createElement("form",{className:"form-horizontal",role:"form",onSubmit:this.handleSubmit},this.renderSettings()),this.hybridSchemaAndComponent())),T().createElement("div",{className:"admin-console-save"},T().createElement($e.A,{saving:this.state.saving,disabled:!this.state.saveNeeded||this.canSave&&!this.canSave(),onClick:this.handleSubmit,savingMessage:this.props.intl.formatMessage({id:"admin.saving",defaultMessage:"Saving Config..."})}),T().createElement(tt.A,{title:null!==(e=null===(t=this.state)||void 0===t?void 0:t.serverError)&&void 0!==e?e:""},T().createElement("div",{className:"error-message","data-testid":"errorMessage"},T().createElement(ye.A,{iconClassName:"fa-exclamation-triangle",textClassName:"has-warning",error:this.state.clientWarning}),T().createElement(ye.A,{error:this.state.serverError}))))):T().createElement("div",{className:"wrapper--fixed"},T().createElement(et,null,T().createElement(N.FormattedMessage,{id:"error.plugin_not_found.title",defaultMessage:"Plugin Not Found"})),T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},T().createElement("p",null,T().createElement(N.FormattedMessage,{id:"error.plugin_not_found.desc",defaultMessage:"The plugin you are looking for does not exist."})),T().createElement(R.Link,{to:"plugin_management"},T().createElement(N.FormattedMessage,{id:"admin.plugin.backToPlugins",defaultMessage:"Go back to the Plugins"})))))})),this.isPlugin=!1,this.saveActions=[],this.buildSettingFunctions={[x.Ay.SettingsTypes.TYPE_TEXT]:this.buildTextSetting,[x.Ay.SettingsTypes.TYPE_LONG_TEXT]:this.buildTextSetting,[x.Ay.SettingsTypes.TYPE_NUMBER]:this.buildTextSetting,[x.Ay.SettingsTypes.TYPE_COLOR]:this.buildColorSetting,[x.Ay.SettingsTypes.TYPE_BOOL]:this.buildBoolSetting,[x.Ay.SettingsTypes.TYPE_PERMISSION]:this.buildPermissionSetting,[x.Ay.SettingsTypes.TYPE_DROPDOWN]:this.buildDropdownSetting,[x.Ay.SettingsTypes.TYPE_RADIO]:this.buildRadioSetting,[x.Ay.SettingsTypes.TYPE_BANNER]:this.buildBannerSetting,[x.Ay.SettingsTypes.TYPE_GENERATED]:this.buildGeneratedSetting,[x.Ay.SettingsTypes.TYPE_USERNAME]:this.buildUsernameSetting,[x.Ay.SettingsTypes.TYPE_BUTTON]:this.buildButtonSetting,[x.Ay.SettingsTypes.TYPE_LANGUAGE]:this.buildLanguageSetting,[x.Ay.SettingsTypes.TYPE_JOBSTABLE]:this.buildJobsTableSetting,[x.Ay.SettingsTypes.TYPE_FILE_UPLOAD]:this.buildFileUploadSetting,[x.Ay.SettingsTypes.TYPE_ROLES]:this.buildRolesSetting,[x.Ay.SettingsTypes.TYPE_CUSTOM]:this.buildCustomSetting},this.state={saveNeeded:!1,saving:!1,serverError:null,customComponentWrapperClass:"",confirmNeededId:"",showConfirmId:"",clientWarning:""}}static getDerivedStateFromProps(e,t){return e.schema&&e.schema.id!==t.prevSchemaId?ot({prevSchemaId:e.schema.id,saveNeeded:!1,saving:!1,serverError:null},pt.getStateFromConfig(e.config,e.schema,e.roles)):null}getConfigFromState(e){const t=this.props.schema;if(t){let s=[];if("settings"in t&&t.settings?s=t.settings:"sections"in t&&t.sections&&t.sections.map((e=>e.settings)).forEach((e=>s.push(...e))),s.forEach((t=>{if(!t.key)return;if(t.type===x.Ay.SettingsTypes.TYPE_PERMISSION)return void this.setConfigValue(e,t.key,null);let s=this.getSettingValue(t);const a=pt.getConfigValue(e,t.key);"onConfigSave"in t&&t.onConfigSave&&(s=t.onConfigSave(s,a)),this.setConfigValue(e,t.key,s)})),"onConfigSave"in t&&t.onConfigSave)return t.onConfigSave(e)}return e}static getStateFromConfig(e,t,s){let a={};if(t){let n=[];"settings"in t&&t.settings?n=t.settings:"sections"in t&&t.sections&&t.sections.map((e=>e.settings)).forEach((e=>n.push(...e))),n.forEach((t=>{if(!t.key)return;if(t.type===x.Ay.SettingsTypes.TYPE_PERMISSION){try{a[t.key]="true"===function(e,t){for(const s of function*(e,t){for(const s in e)if(Object.hasOwn(e,s)){const a=e[s].some((e=>{const s=t[e.roleName];return e.shouldHave&&!s.permissions.includes(e.permission)||!e.shouldHave&&s.permissions.includes(e.permission)}));yield{value:s,allConditionsAreMet:!a}}}(it[e],t))if(s.allConditionsAreMet)return s.value;throw new Error("No matching mapping value found for key '".concat(e,"' with the given roles."))}(t.permissions_mapping_name,s)}catch(e){a[t.key]=!1}return}let n=pt.getConfigValue(e,t.key);"onConfigLoad"in t&&t.onConfigLoad&&(n=t.onConfigLoad(n,e)),a[t.key]=null==n?void 0:n})),"onConfigLoad"in t&&t.onConfigLoad&&(a=ot(ot({},a),t.onConfigLoad(e)))}return a}getSetting(e){if(!this.props.schema)return null;if("settings"in this.props.schema&&this.props.schema.settings)for(const t of this.props.schema.settings)if(t.key===e)return t;return null}getSettingValue(e){return(e.type!==x.Ay.SettingsTypes.TYPE_BOOL||!this.isDisabled(e))&&(e.key?e.type===x.Ay.SettingsTypes.TYPE_TEXT&&e.dynamic_value?e.dynamic_value(this.state[e.key],this.props.config,this.state):this.state[e.key]:void 0)}static getConfigValue(e,t){return t.split(".").reduce(((e,t)=>e?e[mt(t)]:null),e)}setConfigValue(e,t,s){!function e(t,a){const n=mt(a[0]);1===a.length?t[n]=s:(null==t[n]&&(t[n]={}),e(t[n],a.slice(1)))}(e,t.split("."))}}lt(pt,"propTypes",{setNavigationBlocked:L().func.isRequired,editRole:L().func.isRequired,patchConfig:L().func.isRequired,isDisabled:L().bool.isRequired,isCurrentUserSystemAdmin:L().bool.isRequired,enterpriseReady:L().bool.isRequired});const gt=(0,N.injectIntl)(pt),ht=gt;function ft(e){return{type:"bool",key:"PluginSettings.PluginStates."+ct(e.id)+".Enable",label:(0,N.defineMessage)({id:"admin.plugin.enable_plugin",defaultMessage:"Enable Plugin: "}),help_text:(0,N.defineMessage)({id:"admin.plugin.enable_plugin.help",defaultMessage:"When true, this plugin is enabled."})}}function Et(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function bt(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?Et(Object(s),!0).forEach((function(t){vt(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):Et(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function vt(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const Mt=(0,a.connect)((function(){const e=(0,A.Mz)("makeGetPluginSchema",((e,t)=>{var s;return null===(s=e.entities.admin.plugins)||void 0===s?void 0:s[t]}),((e,t)=>Ry(e,t)),((e,t)=>wy(e,t)),(e=>(0,O.It)(e)),P.I0,((e,t,s,a,n)=>{if(!e)return null;const i=ct(e.id),r="PluginSettings.PluginStates."+i+".Enable",o=s=>s.map((s=>{const a=s.key.toLowerCase();let o=null,l="",d=s.type,c=s.display_name,m=vy.any(vy.stateIsFalse(r),vy.not(vy.userHasWritePermissionOnResource("plugins")));return t[a]?(o=t[a].component,d=x.YM.SettingsTypes.TYPE_CUSTOM):s.type===x.YM.SettingsTypes.TYPE_CUSTOM&&(d=x.YM.SettingsTypes.TYPE_BANNER,c=(0,N.defineMessage)({id:"admin.plugin.customSetting.pluginDisabledWarning",defaultMessage:"In order to view this setting, enable the plugin and click Save."}),l="warning",m=vy.any(vy.stateIsTrue(r),vy.not(vy.userHasWritePermissionOnResource("plugins")))),bt(bt({},s),{},{type:d,key:"PluginSettings.Plugins."+i+"."+a,help_text_markdown:!0,label:c,translate:Boolean(e.translate),isDisabled:m,isHidden:()=>n&&"on-prem"===s.hosting||!n&&"cloud"===s.hosting,banner_type:l,component:o,showTitle:!!t[a]&&t[a].options.showTitle})}));let l=[],d=[];if(e.settings_schema&&e.settings_schema.sections?l=(e=>e.map((e=>{const t=e.key.toLowerCase();let a,n=[];var i;return e.custom?s[t]?(a=null===(i=s[t])||void 0===i?void 0:i.component,n=o(e.settings)):n=e.fallback?o(e.settings):[{key:t+"disabledWarning",type:x.YM.SettingsTypes.TYPE_BANNER,label:(0,N.defineMessage)({id:"admin.plugin.customSection.pluginDisabledWarning",defaultMessage:"In order to view this section, enable the plugin and click Save."}),banner_type:"warning"}]:n=o(e.settings),{key:t,title:e.title,subtitle:e.subtitle,settings:n,header:e.header,footer:e.footer,component:a}})))(e.settings_schema.sections):e.settings_schema&&e.settings_schema.settings&&(d=o(e.settings_schema.settings)),e.id!==k.lR||a){var c,m,u,p;const t=ft(e),a=null===(c=e.settings_schema)||void 0===c||null===(m=c.sections)||void 0===m?void 0:m.every((e=>e.custom&&!s[e.key.toLowerCase()])),n=null===(u=e.settings_schema)||void 0===u||null===(p=u.sections)||void 0===p?void 0:p.every((e=>e.custom&&e.fallback));if(e.settings_schema&&a&&!n){var g,h;const s={key:"admin.plugin.customSections.pluginDisabledWarning",type:x.YM.SettingsTypes.TYPE_BANNER,label:(0,N.defineMessage)({id:"admin.plugin.customSections.pluginDisabledWarning",defaultMessage:"In order to view and configure plugin settings, enable the plugin and click Save."}),banner_type:"warning"};l=[{key:r+".Section",header:null===(g=e.settings_schema)||void 0===g?void 0:g.header,footer:null===(h=e.settings_schema)||void 0===h?void 0:h.footer,settings:[t,s]}]}else if(l.length>0){var f,E;l.unshift({key:r+".Section",header:null===(f=e.settings_schema)||void 0===f?void 0:f.header,footer:null===(E=e.settings_schema)||void 0===E?void 0:E.footer,settings:[t]})}else d.unshift(t)}const b=e=>{e.isDisabled?e.isDisabled=vy.any(e.isDisabled,vy.not(vy.userHasWritePermissionOnResource("plugins"))):e.isDisabled=vy.not(vy.userHasWritePermissionOnResource("plugins"))};return l.length>0?l.forEach((e=>e.settings.forEach(b))):d.forEach(b),bt(bt({},e.settings_schema),{},{id:e.id,name:e.name,settings:l.length>0?void 0:d,sections:l.length>0?l:void 0,translate:Boolean(e.translate)})}));return(t,s)=>{const a=s.match.params.plugin_id;return{schema:e(t,a),roles:(0,u.O0)(t)}}}))(ht);var yt=s(64335),St=s(17461),At=s(1396);function Ct(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function _t(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?Ct(Object(s),!0).forEach((function(t){Tt(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):Ct(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function Tt(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class Nt extends T().Component{constructor(e){super(e),Tt(this,"handleChange",((e,t)=>{this.setState((s=>_t(_t({},s),{},{saveNeeded:!0,[e]:t}))),this.props.setNavigationBlocked&&this.props.setNavigationBlocked(!0)})),Tt(this,"handleSubmit",(e=>{e.preventDefault(),this.doSubmit()})),Tt(this,"doSubmit",(async e=>{this.setState({saving:!0,serverError:null});let t=JSON.parse(JSON.stringify(this.props.config));if(t=this.getConfigFromState(t),this.props.patchConfig){const{data:s,error:a}=await this.props.patchConfig(t);s?(this.setState(this.getStateFromConfig(s)),this.setState({saveNeeded:!1,saving:!1}),this.props.setNavigationBlocked&&this.props.setNavigationBlocked(!1),e&&e(),this.handleSaved&&this.handleSaved(t)):a&&(this.setState({saving:!1,serverError:a.message,serverErrorId:a.server_error_id}),e&&e(),this.handleSaved&&this.handleSaved(t))}})),Tt(this,"parseInt",((e,t)=>{const s=parseInt(e,10);return isNaN(s)?t||0:s})),Tt(this,"parseIntNonNegative",((e,t)=>{const s="string"==typeof e?parseInt(e,10):e;return isNaN(s)||s<0?t||0:s})),Tt(this,"parseIntZeroOrMin",(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;const s="string"==typeof e?parseInt(e,10):e;return isNaN(s)||s<0?0:s>0&&s<t?t:s})),Tt(this,"parseIntNonZero",(function(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;const a="string"==typeof e?parseInt(e,10):e;return isNaN(a)||a<s?t||1:a})),Tt(this,"isSetByEnv",(e=>Boolean(this.props.environmentConfig&&this.getConfigValue(this.props.environmentConfig,e))));const t={saveNeeded:!1,saving:!1,serverError:null};e.config?this.state=Object.assign(this.getStateFromConfig(e.config),t):this.state=t}getConfigValue(e,t){return t.split(".").reduce(((e,t)=>e?e[t]:null),e)}setConfigValue(e,t,s){!function e(t,a){const n=a[0];1===a.length?Object.assign(t,{[n]:s}):(null==t[n]&&Object.assign(t,{[n]:{}}),e(t[n],a.slice(1)))}(e,t.split("."))}render(){var e,t;return T().createElement("form",{className:"form-horizontal",role:"form",onSubmit:this.handleSubmit},T().createElement("div",{className:"wrapper--fixed"},T().createElement(et,null,this.renderTitle()),this.renderSettings(),T().createElement("div",{className:"admin-console-save"},T().createElement($e.A,{saving:this.state.saving,disabled:this.props.isDisabled||!this.state.saveNeeded||this.canSave&&!this.canSave(),onClick:this.handleSubmit,savingMessage:T().createElement(N.FormattedMessage,{id:"admin.saving",defaultMessage:"Saving Config..."})}),T().createElement(tt.A,{title:null!==(e=null===(t=this.state)||void 0===t?void 0:t.serverError)&&void 0!==e?e:""},T().createElement("div",{className:"error-message"},T().createElement(ye.A,{error:this.state.serverError}))))))}}function Rt(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const wt=e=>{let{state:t}=e;switch(t){case yt.A.PLUGIN_STATE_NOT_RUNNING:return T().createElement(N.FormattedMessage,{id:"admin.plugin.state.not_running",defaultMessage:"Not running"});case yt.A.PLUGIN_STATE_STARTING:return T().createElement(N.FormattedMessage,{id:"admin.plugin.state.starting",defaultMessage:"Starting"});case yt.A.PLUGIN_STATE_RUNNING:return T().createElement(N.FormattedMessage,{id:"admin.plugin.state.running",defaultMessage:"Running"});case yt.A.PLUGIN_STATE_FAILED_TO_START:return T().createElement(N.FormattedMessage,{id:"admin.plugin.state.failed_to_start",defaultMessage:"Failed to start"});case yt.A.PLUGIN_STATE_FAILED_TO_STAY_RUNNING:return T().createElement(N.FormattedMessage,{id:"admin.plugin.state.failed_to_stay_running",defaultMessage:"Crashing"});case yt.A.PLUGIN_STATE_STOPPING:return T().createElement(N.FormattedMessage,{id:"admin.plugin.state.stopping",defaultMessage:"Stopping"});default:return T().createElement(N.FormattedMessage,{id:"admin.plugin.state.unknown",defaultMessage:"Unknown"})}},It=e=>{let{state:t,error:s}=e;switch(t){case yt.A.PLUGIN_STATE_NOT_RUNNING:return T().createElement("div",{className:"alert alert-info"},T().createElement("i",{className:"fa fa-ban"}),T().createElement(N.FormattedMessage,{id:"admin.plugin.state.not_running.description",defaultMessage:"This plugin is not enabled."}));case yt.A.PLUGIN_STATE_STARTING:return T().createElement("div",{className:"alert alert-success"},T().createElement("i",{className:"fa fa-info"}),T().createElement(N.FormattedMessage,{id:"admin.plugin.state.starting.description",defaultMessage:"This plugin is starting."}));case yt.A.PLUGIN_STATE_RUNNING:return T().createElement("div",{className:"alert alert-success"},T().createElement("i",{className:"fa fa-check"}),T().createElement(N.FormattedMessage,{id:"admin.plugin.state.running.description",defaultMessage:"This plugin is running."}));case yt.A.PLUGIN_STATE_FAILED_TO_START:{const e=s||T().createElement(N.FormattedMessage,{id:"admin.plugin.state.failed_to_start.check_logs",defaultMessage:"Check your system logs for errors."});return T().createElement("div",{className:"alert alert-warning"},T().createElement("i",{className:"fa fa-warning"}),T().createElement(N.FormattedMessage,{id:"admin.plugin.state.failed_to_start.description",defaultMessage:"This plugin failed to start. {error}",values:{error:e}}))}case yt.A.PLUGIN_STATE_FAILED_TO_STAY_RUNNING:return T().createElement("div",{className:"alert alert-warning"},T().createElement("i",{className:"fa fa-warning"}),T().createElement(N.FormattedMessage,{id:"admin.plugin.state.failed_to_stay_running.description",defaultMessage:"This plugin crashed multiple times and is no longer running. Check your system logs for errors."}));case yt.A.PLUGIN_STATE_STOPPING:return T().createElement("div",{className:"alert alert-info"},T().createElement("i",{className:"fa fa-info"}),T().createElement(N.FormattedMessage,{id:"admin.plugin.state.stopping.description",defaultMessage:"This plugin is stopping."}));default:return null}},Ot=(0,N.defineMessages)({title:{id:"admin.plugin.management.title",defaultMessage:"Management"},enable:{id:"admin.plugins.settings.enable",defaultMessage:"Enable Plugins: "},enableDesc:{id:"admin.plugins.settings.enableDesc",defaultMessage:"When true, enables plugins on your Mattermost server. Use plugins to integrate with third-party systems, extend functionality, or customize the user interface of your Mattermost server. See <link>documentation</link> to learn more."},uploadTitle:{id:"admin.plugin.uploadTitle",defaultMessage:"Upload Plugin: "},installedTitle:{id:"admin.plugin.installedTitle",defaultMessage:"Installed Plugins: "},installedDesc:{id:"admin.plugin.installedDesc",defaultMessage:"Installed plugins on your Mattermost server."},uploadDesc:{id:"admin.plugin.uploadDesc",defaultMessage:"Upload a plugin for your Mattermost server. See <link>documentation</link> to learn more."},uploadDisabledDesc:{id:"admin.plugin.uploadDisabledDesc",defaultMessage:"Enable plugin uploads in config.json. See <link>documentation</link> to learn more."},enableMarketplace:{id:"admin.plugins.settings.enableMarketplace",defaultMessage:"Enable Marketplace:"},enableMarketplaceDesc:{id:"admin.plugins.settings.enableMarketplaceDesc",defaultMessage:"When true, enables System Administrators to install plugins from the <link>marketplace</link>."},enableRemoteMarketplace:{id:"admin.plugins.settings.enableRemoteMarketplace",defaultMessage:"Enable Remote Marketplace:"},enableRemoteMarketplaceDesc:{id:"admin.plugins.settings.enableRemoteMarketplaceDesc",defaultMessage:"When true, marketplace fetches latest plugins from the configured Marketplace URL."},automaticPrepackagedPlugins:{id:"admin.plugins.settings.automaticPrepackagedPlugins",defaultMessage:"Enable Automatic Prepackaged Plugins:"},automaticPrepackagedPluginsDesc:{id:"admin.plugins.settings.automaticPrepackagedPluginsDesc",defaultMessage:"When true, automatically installs any prepackaged plugin found to be enabled in the server configuration."},marketplaceUrl:{id:"admin.plugins.settings.marketplaceUrl",defaultMessage:"Marketplace URL:"},marketplaceUrlDesc:{id:"admin.plugins.settings.marketplaceUrlDesc",defaultMessage:"URL of the marketplace server."}}),Pt=[Ot.title,Ot.enable,Ot.enableDesc,Ot.uploadTitle,Ot.installedTitle,Ot.installedDesc,Ot.uploadDesc,Ot.uploadDisabledDesc,Ot.enableMarketplace,Ot.enableMarketplaceDesc,Ot.enableRemoteMarketplace,Ot.enableRemoteMarketplaceDesc,Ot.automaticPrepackagedPlugins,Ot.automaticPrepackagedPluginsDesc,Ot.marketplaceUrl,Ot.marketplaceUrlDesc],kt=e=>{let t,{pluginStatus:s,removing:a,handleEnable:n,handleDisable:i,handleRemove:r,showInstances:o,hasSettings:l,appsFeatureFlagEnabled:d,isDisabled:c}=e;const m=s.state===yt.A.PLUGIN_STATE_STARTING,u=s.state===yt.A.PLUGIN_STATE_STOPPING;t=s.active?T().createElement("a",{"data-plugin-id":s.id,className:u||c?"disabled":"",onClick:i},u?T().createElement(N.FormattedMessage,{id:"admin.plugin.disabling",defaultMessage:"Disabling..."}):T().createElement(N.FormattedMessage,{id:"admin.plugin.disable",defaultMessage:"Disable"})):T().createElement("a",{"data-plugin-id":s.id,className:m||c?"disabled":"",onClick:n},m?T().createElement(N.FormattedMessage,{id:"admin.plugin.enabling",defaultMessage:"Enabling..."}):T().createElement(N.FormattedMessage,{id:"admin.plugin.enable",defaultMessage:"Enable"}));let p,g=null;l&&(g=T().createElement("span",null," - ",T().createElement(R.Link,{to:"/admin_console/plugins/plugin_"+s.id},T().createElement(N.FormattedMessage,{id:"admin.plugin.settingsButton",defaultMessage:"Settings"})))),p=a?T().createElement(N.FormattedMessage,{id:"admin.plugin.removing",defaultMessage:"Removing..."}):T().createElement(N.FormattedMessage,{id:"admin.plugin.remove",defaultMessage:"Remove"});let h,f=T().createElement("span",null," - ",T().createElement("a",{"data-plugin-id":s.id,className:a||c?"disabled":"",onClick:r},p));s.description&&(h=T().createElement("div",{className:"pt-2"},s.description));const E=[];s.instances.some((e=>e.version!==s.version))&&E.push(T().createElement("div",{key:"multiple-versions",className:"alert alert-warning"},T().createElement("i",{className:"fa fa-warning"}),T().createElement(N.FormattedMessage,{id:"admin.plugin.multiple_versions_warning",defaultMessage:"There are multiple versions of this plugin installed across your cluster. Re-install this plugin to ensure it works consistently."}))),E.push(T().createElement(It,{key:"state-description",state:s.state,error:s.error}));const b=s.instances.slice();let v;return b.sort(((e,t)=>e.cluster_id<t.cluster_id?-1:e.cluster_id>t.cluster_id?1:0)),o&&(v=T().createElement("div",{className:"pt-3 pb-3"},T().createElement("div",{className:"row"},T().createElement("div",{className:"col-md-6"},T().createElement("strong",null,T().createElement(N.FormattedMessage,{id:"admin.plugin.cluster_instance",defaultMessage:"Cluster Instance"}))),T().createElement("div",{className:"col-md-3"},T().createElement("strong",null,T().createElement(N.FormattedMessage,{id:"admin.plugin.version_title",defaultMessage:"Version"}))),T().createElement("div",{className:"col-md-3"},T().createElement("strong",null,T().createElement(N.FormattedMessage,{id:"admin.plugin.state",defaultMessage:"State"})))),b.map((e=>T().createElement("div",{key:e.cluster_id,className:"row"},T().createElement("div",{className:"col-md-6"},e.cluster_id),T().createElement("div",{className:"col-md-3"},e.version),T().createElement("div",{className:"col-md-3"},T().createElement(wt,{state:e.state}))))))),s.id!==k.lR||d||(t=T().createElement(T().Fragment,null,"Plugin disabled by feature flag"),f=null),T().createElement("div",{"data-testid":s.id},T().createElement("div",null,T().createElement("strong",null,s.name)," (",s.id," - ",s.version,")"),h,T().createElement("div",{className:"pt-2"},t,f,g),T().createElement("div",null,E),T().createElement("div",null,v),T().createElement("hr",null))};kt.propTypes={pluginStatus:L().shape({state:L().number.isRequired,error:L().string,active:L().bool.isRequired,id:L().string.isRequired,description:L().string.isRequired,version:L().string.isRequired,name:L().string.isRequired,instances:L().arrayOf(L().any).isRequired,settings_schema:L().shape({header:L().string.isRequired,footer:L().string.isRequired,settings:L().arrayOf(L().any)})}).isRequired,removing:L().bool.isRequired,handleEnable:L().func.isRequired,handleDisable:L().func.isRequired,handleRemove:L().func.isRequired,showInstances:L().bool.isRequired,hasSettings:L().bool.isRequired,appsFeatureFlagEnabled:L().bool.isRequired,isDisabled:L().bool};const xt=(0,N.injectIntl)(class extends Nt{constructor(e){super(e),Rt(this,"getConfigFromState",(e=>(e&&e.PluginSettings&&(e.PluginSettings.Enable=this.state.enable,e.PluginSettings.EnableUploads=this.state.enableUploads,e.PluginSettings.AllowInsecureDownloadURL=this.state.allowInsecureDownloadUrl,e.PluginSettings.EnableMarketplace=this.state.enableMarketplace,e.PluginSettings.EnableRemoteMarketplace=this.state.enableRemoteMarketplace,e.PluginSettings.AutomaticPrepackagedPlugins=this.state.automaticPrepackagedPlugins,e.PluginSettings.MarketplaceURL=this.state.marketplaceUrl,e.PluginSettings.RequirePluginSignature=this.state.requirePluginSignature),e))),Rt(this,"handleChooseFileClick",(()=>{var e;null===(e=this.fileInput.current)||void 0===e||e.click()})),Rt(this,"handleUpload",(()=>{this.setState({lastMessage:null,serverError:null});const e=this.fileInput.current;e.files&&e.files.length>0&&this.setState({fileSelected:!0,file:e.files[0]})})),Rt(this,"helpSubmitUpload",(async(e,t)=>{this.setState({uploading:!0});const{error:s}=await this.props.actions.uploadPlugin(e,t);if(s)return"app.plugin.install_id.app_error"!==s.server_error_id||t?(this.setState({file:null,fileSelected:!1,uploading:!1}),"app.plugin.activate.app_error"===s.server_error_id?this.setState({serverError:this.props.intl.formatMessage({id:"admin.plugin.error.activate",defaultMessage:"Unable to upload the plugin. It may conflict with another plugin on your server."})}):"app.plugin.extract.app_error"===s.server_error_id?this.setState({serverError:this.props.intl.formatMessage({id:"admin.plugin.error.extract",defaultMessage:"Encountered an error when extracting the plugin. Review your plugin file content and try again."})}):this.setState({serverError:s.message}),void this.setState({file:null,fileSelected:!1})):void this.setState({confirmOverwriteUploadModal:!0,overwritingUpload:!0});this.setState({loading:!0}),await this.props.actions.getPlugins();let a="Successfully uploaded plugin from ".concat(null==e?void 0:e.name);this.state.overwritingUpload&&(a="Successfully updated plugin from ".concat(null==e?void 0:e.name)),this.setState({file:null,fileSelected:!1,serverError:null,lastMessage:a,overwritingUpload:!1,uploading:!1,loading:!1})})),Rt(this,"handleSubmitUpload",(e=>{var t;e.preventDefault();const s=this.fileInput.current;if(0===(null===(t=s.files)||void 0===t?void 0:t.length))return;const a=s.files&&s.files[0];a&&this.helpSubmitUpload(a,!1),H.K2(s)})),Rt(this,"handleOverwriteUploadPluginCancel",(()=>{this.setState({file:null,fileSelected:!1,serverError:null,confirmOverwriteUploadModal:!1,lastMessage:null,uploading:!1})})),Rt(this,"handleOverwriteUploadPlugin",(()=>{this.setState({confirmOverwriteUploadModal:!1}),this.state.file&&this.helpSubmitUpload(this.state.file,!0)})),Rt(this,"onPluginDownloadUrlChange",(e=>{this.setState({pluginDownloadUrl:e.target.value})})),Rt(this,"installFromUrl",(async e=>{const{pluginDownloadUrl:t}=this.state;this.setState({installing:!0,serverError:null,lastMessage:null});const{error:s}=await this.props.actions.installPluginFromUrl(t,e);if(s)return"app.plugin.install_id.app_error"!==s.server_error_id||e?(this.setState({installing:!1}),void("app.plugin.extract.app_error"===s.server_error_id?this.setState({serverError:this.props.intl.formatMessage({id:"admin.plugin.error.extract",defaultMessage:"Encountered an error when extracting the plugin. Review your plugin file content and try again."})}):this.setState({serverError:s.message}))):void this.setState({confirmOverwriteInstallModal:!0,overwritingInstall:!0});this.setState({loading:!0}),await this.props.actions.getPlugins();let a="Successfully installed plugin from ".concat(t);this.state.overwritingInstall&&(a="Successfully updated plugin from ".concat(t)),this.setState({serverError:null,lastMessage:a,overwritingInstall:!1,installing:!1,loading:!1})})),Rt(this,"getMarketplaceURLHelpText",((e,t)=>T().createElement("div",null,""===e&&t&&T().createElement("div",{className:"alert-warning"},T().createElement("i",{className:"fa fa-warning"}),T().createElement(N.FormattedMessage,{id:"admin.plugins.settings.marketplaceUrlDesc.empty",defaultMessage:" Marketplace URL is a required field."})),""!==e&&t&&T().createElement(N.FormattedMessage,Ot.marketplaceUrlDesc),!t&&T().createElement(N.FormattedMessage,Object.assign({},Ot.uploadDisabledDesc,{values:{link:e=>T().createElement(ce.A,{href:x.i3.PLUGINS,location:"plugin_management"},e)}}))))),Rt(this,"canSave",(()=>""!==this.state.marketplaceUrl)),Rt(this,"handleSubmitInstall",(e=>(e.preventDefault(),this.installFromUrl(!1)))),Rt(this,"handleOverwriteInstallPluginCancel",(()=>{this.setState({confirmOverwriteInstallModal:!1,installing:!1,serverError:null,lastMessage:null})})),Rt(this,"handleOverwriteInstallPlugin",(()=>(this.setState({confirmOverwriteInstallModal:!1}),this.installFromUrl(!0)))),Rt(this,"showRemovePluginModal",(e=>{if(this.props.isDisabled)return;e.preventDefault();const t=e.currentTarget.getAttribute("data-plugin-id");this.setState({showRemoveModal:!0,removing:t})})),Rt(this,"handleRemovePluginCancel",(()=>{this.setState({showRemoveModal:!1,removing:null})})),Rt(this,"handleRemovePlugin",(()=>{this.setState({showRemoveModal:!1}),this.handleRemove()})),Rt(this,"handleRemove",(async()=>{if(this.setState({lastMessage:null,serverError:null}),null!==this.state.removing){const{error:e}=await this.props.actions.removePlugin(this.state.removing);this.setState({removing:null}),e&&this.setState({serverError:e.message})}})),Rt(this,"handleEnable",(async e=>{if(e.preventDefault(),this.props.isDisabled)return;this.setState({lastMessage:null,serverError:null});const t=e.currentTarget.getAttribute("data-plugin-id");if(t){const{error:e}=await this.props.actions.enablePlugin(t);e&&this.setState({serverError:e.message})}})),Rt(this,"handleDisable",(async e=>{if(this.setState({lastMessage:null,serverError:null}),e.preventDefault(),this.props.isDisabled)return;this.setState({lastMessage:null,serverError:null});const t=e.currentTarget.getAttribute("data-plugin-id");if(t){const{error:e}=await this.props.actions.disablePlugin(t);e&&this.setState({serverError:e.message})}})),Rt(this,"renderOverwritePluginModal",(e=>{let{show:t,onConfirm:s,onCancel:a}=e;const n=T().createElement(N.FormattedMessage,{id:"admin.plugin.upload.overwrite_modal.title",defaultMessage:"Overwrite existing plugin?"}),i=T().createElement(N.FormattedMessage,{id:"admin.plugin.upload.overwrite_modal.desc",defaultMessage:"A plugin with this ID already exists. Would you like to overwrite it?"}),r=T().createElement(N.FormattedMessage,{id:"admin.plugin.upload.overwrite_modal.overwrite",defaultMessage:"Overwrite"});return T().createElement(St.A,{show:t,title:n,message:i,confirmButtonClass:"btn btn-danger",confirmButtonText:r,onConfirm:s,onCancel:a})})),Rt(this,"renderRemovePluginModal",((e,t,s)=>{const a=T().createElement(N.FormattedMessage,{id:"admin.plugin.remove_modal.title",defaultMessage:"Remove plugin?"}),n=T().createElement(N.FormattedMessage,{id:"admin.plugin.remove_modal.desc",defaultMessage:"Are you sure you would like to remove the plugin?"}),i=T().createElement(N.FormattedMessage,{id:"admin.plugin.remove_modal.overwrite",defaultMessage:"Remove"});return T().createElement(St.A,{show:e,title:a,message:n,confirmButtonClass:"btn btn-danger",confirmButtonText:i,onConfirm:t,onCancel:s})})),Rt(this,"renderEnablePluginsSetting",(()=>this.props.config.ExperimentalSettings&&this.props.config.ExperimentalSettings.RestrictSystemAdmin?null:T().createElement(W,{id:"enable",label:T().createElement(N.FormattedMessage,Ot.enable),helpText:T().createElement(N.FormattedMessage,Object.assign({},Ot.enableDesc,{values:{link:e=>T().createElement(ce.A,{href:x.i3.PLUGINS,location:"plugin_management"},e)}})),value:this.state.enable,onChange:this.handleChange,setByEnv:this.isSetByEnv("PluginSettings.Enable"),disabled:this.props.isDisabled}))),Rt(this,"renderSettings",(()=>{var e,t,s;const{enableUploads:a}=this.state,n=null===(e=this.props.config)||void 0===e||null===(t=e.PluginSettings)||void 0===t?void 0:t.Enable;let i=T().createElement(T().Fragment,null),r=T().createElement(T().Fragment,null);const o=a&&n&&!(this.props.config.PluginSettings&&this.props.config.PluginSettings.RequirePluginSignature);this.state.serverError&&(i=T().createElement("div",{className:"col-sm-12"},T().createElement("div",{className:"form-group has-error half"},T().createElement("label",{className:"control-label"},this.state.serverError)))),this.state.lastMessage&&(r=T().createElement("div",{className:"col-sm-12"},T().createElement("div",{className:"form-group half"},this.state.lastMessage)));let l,d,c,m,u,p="btn btn-primary";this.state.fileSelected&&(p="btn btn-primary"),this.state.file&&(l=this.state.file.name),d=this.state.uploading?T().createElement(N.FormattedMessage,{id:"admin.plugin.uploading",defaultMessage:"Uploading..."}):T().createElement(N.FormattedMessage,{id:"admin.plugin.upload",defaultMessage:"Upload"});const g=Object.values(this.props.pluginStatuses);if(this.state.loading)c=T().createElement(At.A,null);else if(0===g.length)u=T().createElement(N.FormattedMessage,{id:"admin.plugin.no_plugins",defaultMessage:"No installed plugins."});else{const e=g.some((e=>e.instances.length>1));g.sort(((e,t)=>{const s=e.name.localeCompare(t.name);return 0!==s?s:e.id.localeCompare(t.id)})),c=g.map((t=>{const s=this.props.plugins[t.id],a=Boolean(s&&s.settings_schema&&(s.settings_schema.header||s.settings_schema.footer||s.settings_schema.settings&&s.settings_schema.settings.length>0));return T().createElement(kt,{key:t.id,pluginStatus:t,removing:this.state.removing===t.id,handleEnable:this.handleEnable,handleDisable:this.handleDisable,handleRemove:this.showRemovePluginModal,showInstances:e,hasSettings:a,appsFeatureFlagEnabled:this.props.appsFeatureFlagEnabled,isDisabled:this.props.isDisabled})})),u=T().createElement("div",{className:"alert alert-transparent"},c)}let h;n&&(m=T().createElement(G,{label:T().createElement(N.FormattedMessage,Ot.installedTitle)},T().createElement("p",{className:"help-text"},T().createElement(N.FormattedMessage,Ot.installedDesc)),T().createElement("br",null),u)),h=a&&n?T().createElement(N.FormattedMessage,Object.assign({},Ot.uploadDesc,{values:{link:e=>T().createElement(ce.A,{href:x.i3.PLUGINS,location:"plugin_management"},e)}})):n&&!a?T().createElement(N.FormattedMessage,Object.assign({},Ot.uploadDisabledDesc,{values:{link:e=>T().createElement(ce.A,{href:x.i3.PLUGINS,location:"plugin_management"},e)}})):T().createElement(N.FormattedMessage,{id:"admin.plugin.uploadAndPluginDisabledDesc",defaultMessage:"To enable plugins, set **Enable Plugins** to true. See <link>documentation</link> to learn more.",values:{link:e=>T().createElement(ce.A,{href:x.i3.PLUGINS,location:"plugin_management"},e)}});const f=this.state.confirmOverwriteUploadModal&&this.renderOverwritePluginModal({show:this.state.confirmOverwriteUploadModal,onConfirm:this.handleOverwriteUploadPlugin,onCancel:this.handleOverwriteUploadPluginCancel}),E=this.state.showRemoveModal&&this.renderRemovePluginModal(this.state.showRemoveModal,this.handleRemovePlugin,this.handleRemovePluginCancel);return T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},T().createElement(Ue,{id:"PluginSettings",container:!1},this.renderEnablePluginsSetting(),!(null!==(s=this.props.config.ExperimentalSettings)&&void 0!==s&&s.RestrictSystemAdmin)&&T().createElement(T().Fragment,null,T().createElement(W,{id:"requirePluginSignature",label:T().createElement(N.FormattedMessage,{id:"admin.plugins.settings.requirePluginSignature",defaultMessage:"Require Plugin Signature:"}),helpText:T().createElement(N.FormattedMessage,{id:"admin.plugins.settings.requirePluginSignatureDesc",defaultMessage:"When true, uploading plugins is disabled and may only be installed through the Marketplace. Plugins are always verified during Mattermost server startup and initialization. See <link>documentation</link> to learn more.",values:{link:e=>T().createElement(ce.A,{href:x.i3.PLUGIN_SIGNING,location:"plugin_management"},e)}}),value:this.state.requirePluginSignature,disabled:this.props.isDisabled||!this.state.enable,onChange:this.handleChange,setByEnv:this.isSetByEnv("PluginSettings.RequirePluginSignature")}),T().createElement(W,{id:"automaticPrepackagedPlugins",label:T().createElement(N.FormattedMessage,Ot.automaticPrepackagedPlugins),helpText:T().createElement(N.FormattedMessage,Ot.automaticPrepackagedPluginsDesc),value:this.state.automaticPrepackagedPlugins,disabled:this.props.isDisabled||!this.state.enable,onChange:this.handleChange,setByEnv:this.isSetByEnv("PluginSettings.AutomaticPrepackagedPlugins")}),T().createElement(G,{helpText:h,label:T().createElement(N.FormattedMessage,Ot.uploadTitle)},T().createElement("div",{className:"file__upload"},T().createElement("button",{type:"button",className:re()(["btn",{"btn-tertiary":a}]),onClick:this.handleChooseFileClick,disabled:!o||this.props.isDisabled},T().createElement(N.FormattedMessage,{id:"admin.plugin.choose",defaultMessage:"Choose File"})),T().createElement("input",{ref:this.fileInput,type:"file",accept:".gz",onChange:this.handleUpload,disabled:!o||this.props.isDisabled})),T().createElement("button",{className:p,id:"uploadPlugin",disabled:!this.state.fileSelected,onClick:this.handleSubmitUpload},d),T().createElement("div",{className:"help-text m-0"},l),i,r),T().createElement(W,{id:"enableMarketplace",label:T().createElement(N.FormattedMessage,Ot.enableMarketplace),helpText:T().createElement(N.FormattedMessage,Object.assign({},Ot.enableMarketplaceDesc,{values:{link:e=>T().createElement(ce.A,{href:"https://mattermost.com/pl/default-mattermost-marketplace.html",location:"plugin_management"},e)}})),value:this.state.enableMarketplace,disabled:this.props.isDisabled||!this.state.enable,onChange:this.handleChange,setByEnv:this.isSetByEnv("PluginSettings.EnableMarketplace")}),T().createElement(W,{id:"enableRemoteMarketplace",label:T().createElement(N.FormattedMessage,Ot.enableRemoteMarketplace),helpText:T().createElement(N.FormattedMessage,Ot.enableRemoteMarketplaceDesc),value:this.state.enableRemoteMarketplace,disabled:this.props.isDisabled||!this.state.enable||!this.state.enableUploads||!this.state.enableMarketplace,onChange:this.handleChange,setByEnv:this.isSetByEnv("PluginSettings.EnableRemoteMarketplace")}),T().createElement(We,{id:"marketplaceUrl",label:T().createElement(N.FormattedMessage,Ot.marketplaceUrl),helpText:this.getMarketplaceURLHelpText(this.state.marketplaceUrl,this.state.enableUploads),value:this.state.marketplaceUrl,disabled:this.props.isDisabled||!this.state.enable||!this.state.enableUploads||!this.state.enableMarketplace||!this.state.enableRemoteMarketplace,onChange:this.handleChange,setByEnv:this.isSetByEnv("PluginSettings.MarketplaceURL")})),m),f,E))})),this.state=Object.assign(this.state,{loading:!0,fileSelected:!1,file:null,pluginDownloadUrl:"",serverError:null,lastMessage:null,uploading:!1,installing:!1,overwritingUpload:!1,confirmOverwriteUploadModal:!1,overwritingInstall:!1,confirmOverwriteInstallModal:!1,showRemoveModal:!1,resolveRemoveModal:null}),this.fileInput=T().createRef()}getStateFromConfig(e){var t,s,a,n,i,r,o,l;return{enable:null==e||null===(t=e.PluginSettings)||void 0===t?void 0:t.Enable,enableUploads:null==e||null===(s=e.PluginSettings)||void 0===s?void 0:s.EnableUploads,allowInsecureDownloadUrl:null==e||null===(a=e.PluginSettings)||void 0===a?void 0:a.AllowInsecureDownloadURL,enableMarketplace:null==e||null===(n=e.PluginSettings)||void 0===n?void 0:n.EnableMarketplace,enableRemoteMarketplace:null==e||null===(i=e.PluginSettings)||void 0===i?void 0:i.EnableRemoteMarketplace,automaticPrepackagedPlugins:null==e||null===(r=e.PluginSettings)||void 0===r?void 0:r.AutomaticPrepackagedPlugins,marketplaceUrl:null==e||null===(o=e.PluginSettings)||void 0===o?void 0:o.MarketplaceURL,requirePluginSignature:null==e||null===(l=e.PluginSettings)||void 0===l?void 0:l.RequirePluginSignature}}componentDidMount(){this.state.enable&&this.props.actions.getPluginStatuses().then((()=>this.setState({loading:!1})))}renderTitle(){return T().createElement(N.FormattedMessage,Ot.title)}}),Dt=(0,a.connect)((function(e){return{plugins:e.entities.admin.plugins,pluginStatuses:e.entities.admin.pluginStatuses,appsFeatureFlagEnabled:(0,O.It)(e)}}),(function(e){return{actions:(0,n.bindActionCreators)({uploadPlugin:i.Hs,installPluginFromUrl:i.iG,removePlugin:i.c_,getPlugins:i.xy,getPluginStatuses:i.aN,enablePlugin:i.HF,disablePlugin:i.Af},e)}}))(xt);var Lt=s(72526);const Ft=e=>{let{title:t,icon:s,count:a,id:n,children:i,status:r}=e;const o=T().createElement(N.FormattedMessage,{id:"analytics.chart.loading",defaultMessage:"Loading..."});return T().createElement("div",{className:"grid-statistics__card"},T().createElement("div",{className:re()({"total-count":!0,"total-count--has-message":Boolean(r)})},T().createElement("div",{"data-testid":"".concat(n,"Title"),className:re()({title:!0,"team_statistics--warning":"warning"===r,"team_statistics--error":"error"===r})},t,T().createElement("i",{className:"fa "+s})),T().createElement("div",{"data-testid":n,className:re()({content:!0,"team_statistics--warning":"warning"===r,"team_statistics--error":"error"===r})},void 0===a||isNaN(a)?o:a)),i)},Bt=T().memo(Ft);var Ht=s(66351);const Ut=(0,N.defineMessages)({totalUsers:{id:"analytics.team.totalUsers",defaultMessage:"Total Activated Users"}}),Gt=()=>{const e=(0,N.useIntl)();return T().createElement(tt.A,{title:(0,N.defineMessage)({id:"analytics.team.totalUsers.title.tooltip.title",defaultMessage:"Activated users on this server"}),hint:(0,N.defineMessage)({id:"analytics.team.totalUsers.title.tooltip.hint",defaultMessage:"Also called Registered Users"})},T().createElement("span",null,T().createElement(ce.A,{location:"activated_users_card.title",href:"https://mattermost.com/pl/site-statistics-definitions"},e.formatMessage(Ut.totalUsers),T().createElement(w.InformationOutlineIcon,{size:"16"}))))},jt=e=>{let{activatedUsers:t,seatsPurchased:s,isCloud:a}=e;const{isBetween5PercerntAnd10PercentPurchasedSeats:n,isOver10PercerntPurchasedSeats:i}=(0,Ht.A)({seatsPurchased:s,activeUsers:t||0}),r=!a&&(n||i);let o;return!a&&n&&(o="warning"),!a&&i&&(o="error"),T().createElement(Bt,{title:T().createElement(Gt,null),icon:"fa-users",status:o,count:t,id:"totalActiveUsers"},r&&T().createElement("div",{className:re()({team_statistics__message:!0,"team_statistics--warning":n,"team_statistics--error":i})},T().createElement(w.AlertOutlineIcon,{size:14}),T().createElement(N.FormattedMessage,{id:"analytics.team.overageUsersSeats",defaultMessage:"This exceeds total paid seats"},(e=>T().createElement("span",null,e)))))};jt.propTypes={seatsPurchased:L().number.isRequired,isCloud:L().bool.isRequired};const qt=jt;var Wt=s(81266),Vt=s(62757),zt=s.n(Vt);const Yt=e=>{let{title:t,width:s,height:a,data:n}=e;const i=(0,_.useRef)(null),r=(0,_.useRef)(null);let o;return(0,_.useEffect)((()=>{if(!i.current||!n)return;const e=i.current.getContext("2d");e&&(r.current?zt()(r.current.data,n)||(r.current.data=JSON.parse(JSON.stringify(n)),r.current.update()):r.current=new Wt.A(e,{type:"doughnut",data:JSON.parse(JSON.stringify(n)),options:{}}))}),[n]),(0,_.useEffect)((()=>()=>{var e;null===(e=r.current)||void 0===e||e.destroy(),r.current=null}),[]),o=void 0===n?T().createElement(N.FormattedMessage,{id:"analytics.chart.loading",defaultMessage:"Loading..."}):T().createElement("canvas",{ref:i,width:s,height:a}),T().createElement("div",{className:"col-sm-6"},T().createElement("div",{className:"total-count"},T().createElement("div",{className:"title"},t),T().createElement("div",{className:"content"},o)))};Yt.propTypes={title:L().node.isRequired,width:L().number.isRequired,height:L().number.isRequired};const Zt=Yt;function Jt(e,t){return Xt({labels:[],datasets:[{fillColor:"rgba(151,187,205,0.2)",borderColor:"rgba(151,187,205,1)",pointBackgroundColor:"rgba(151,187,205,1)",pointBorderColor:"#fff",pointHoverBackgroundColor:"#fff",pointHoverBorderColor:"rgba(151,187,205,1)",data:[]}]},e,t)}function Qt(){const e=new Set;for(var t=arguments.length,s=new Array(t),a=0;a<t;a++)s[a]=arguments[a];return s.forEach((t=>{null!=t&&t.length&&t.forEach((t=>e.add(t.name)))})),Array.from(e).sort()}function Kt(e,t){return Xt({labels:[],datasets:[{label:"",fillColor:"rgba(151,187,205,0.2)",borderColor:"rgba(151,187,205,1)",pointBackgroundColor:"rgba(151,187,205,1)",pointBorderColor:"#fff",pointHoverBackgroundColor:"#fff",pointHoverBorderColor:"rgba(151,187,205,1)",data:[]}]},e,t)}function Xt(e,t,s){return null!=s&&s.length&&(e.labels=t,e.labels.forEach((t=>{const a=s.find((e=>e.name===t)),n=a?a.value:0;e.datasets[0].data.push(n)}))),e}function $t(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function es(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?$t(Object(s),!0).forEach((function(t){ts(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):$t(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function ts(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class ss extends T().PureComponent{constructor(){super(...arguments),ts(this,"canvasRef",T().createRef()),ts(this,"chart",null),ts(this,"chartOptions",{plugins:{legend:{display:!1}}}),ts(this,"resizeChart",(()=>{this.chart&&this.canvasRef.current&&this.chart.options.responsive&&(this.canvasRef.current.style.width="100%")})),ts(this,"initChart",(e=>{if(!this.canvasRef.current)return;const t=this.canvasRef.current.getContext("2d"),s=JSON.parse(JSON.stringify(this.props.data));let a=this.chartOptions||{};var n;this.props.options&&(a=es(es({},a),this.props.options)),e?null===(n=this.chart)||void 0===n||n.update():this.chart=new Wt.A(t,{type:"line",data:s,options:a||{}})}))}componentDidMount(){this.initChart(),window.addEventListener("resize",this.resizeChart)}componentDidUpdate(e){if(!(this.props.data&&this.props.data.labels.length>0)&&this.chart&&(this.chart.destroy(),this.chart=null),zt()(e.data,this.props.data))return;const t=this.props.data&&this.props.data.labels.length>0,s=Boolean(this.chart);t&&this.initChart(s)}componentWillUnmount(){this.chart&&this.chart.destroy(),window.removeEventListener("resize",this.resizeChart)}render(){let e;return e=null==this.props.data?T().createElement(N.FormattedMessage,{id:"analytics.chart.loading",defaultMessage:"Loading..."}):0===this.props.data.labels.length?T().createElement("h5",null,T().createElement(N.FormattedMessage,{id:"analytics.chart.meaningful",defaultMessage:"Not enough data for a meaningful representation."})):T().createElement("canvas",{"data-testid":this.props.id,ref:this.canvasRef,width:this.props.width,height:this.props.height,"data-labels":this.props.data.labels}),T().createElement("div",{className:"col-sm-12"},T().createElement("div",{className:"total-count by-day"},T().createElement("div",{className:"title"},this.props.title),T().createElement("div",{className:"content"},e)))}}function as(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}ts(ss,"propTypes",{id:L().string.isRequired,title:L().node.isRequired,width:L().number,height:L().number,data:L().object,options:L().object});const ns=x.Ay.StatTypes,is=(0,N.defineMessages)({title:{id:"analytics.system.title",defaultMessage:"System Statistics"},totalPosts:{id:"analytics.system.totalPosts",defaultMessage:"Total Posts"},activeUsers:{id:"analytics.system.activeUsers",defaultMessage:"Active Users With Posts"},totalSessions:{id:"analytics.system.totalSessions",defaultMessage:"Total Sessions"},totalCommands:{id:"analytics.system.totalCommands",defaultMessage:"Total Commands"},totalIncomingWebhooks:{id:"analytics.system.totalIncomingWebhooks",defaultMessage:"Incoming Webhooks"},totalOutgoingWebhooks:{id:"analytics.system.totalOutgoingWebhooks",defaultMessage:"Outgoing Webhooks"},totalWebsockets:{id:"analytics.system.totalWebsockets",defaultMessage:"WebSocket Conns"},totalMasterDbConnections:{id:"analytics.system.totalMasterDbConnections",defaultMessage:"Master DB Conns"},totalReadDbConnections:{id:"analytics.system.totalReadDbConnections",defaultMessage:"Replica DB Conns"},postTypes:{id:"analytics.system.postTypes",defaultMessage:"Posts, Files and Hashtags"},channelTypes:{id:"analytics.system.channelTypes",defaultMessage:"Channel Types"},totalTeams:{id:"analytics.system.totalTeams",defaultMessage:"Total Teams"},totalChannels:{id:"analytics.system.totalChannels",defaultMessage:"Total Channels"},dailyActiveUsers:{id:"analytics.system.dailyActiveUsers",defaultMessage:"Daily Active Users"},monthlyActiveUsers:{id:"analytics.system.monthlyActiveUsers",defaultMessage:"Monthly Active Users"}}),rs=[is.title,is.totalPosts,is.activeUsers,is.totalSessions,is.totalCommands,is.totalIncomingWebhooks,is.totalOutgoingWebhooks,is.totalWebsockets,is.totalMasterDbConnections,is.totalReadDbConnections,is.postTypes,is.channelTypes,is.totalTeams,is.totalChannels,is.dailyActiveUsers,is.monthlyActiveUsers];class os extends T().PureComponent{constructor(){super(...arguments),as(this,"state",{pluginSiteStats:{}})}async componentDidMount(){h.ur(),h.fs(),h._C(),h.iN(),this.props.isLicensed&&h.fu(),this.fetchPluginStats()}async fetchPluginStats(){const e=Object.keys(this.props.pluginStatHandlers);if(!e.length)return;const t=Object.values(this.props.pluginStatHandlers).map((e=>e())),s=await Promise.all(t),a={};s.forEach(((t,s)=>{Object.entries(t).forEach((t=>{let[n,i]=t;const r="".concat(e[s],".").concat(n);a[r]=i}))})),this.setState({pluginSiteStats:a})}getStatValue(e){return"number"==typeof e?e:e&&0!==e.length?e[0].value:void 0}render(){const e=this.props.stats,t=this.props.isLicensed,s=-1===e[ns.TOTAL_POSTS],a=Qt(e[ns.POST_PER_DAY],e[ns.BOT_POST_PER_DAY],e[ns.USERS_WITH_POSTS_PER_DAY]),n=Jt(a,e[ns.POST_PER_DAY]),i=Jt(a,e[ns.BOT_POST_PER_DAY]),r=Kt(a,e[ns.USERS_WITH_POSTS_PER_DAY]);let o,l,d,c,m,u,p,g,h,f,E;if(s?o=T().createElement("div",{className:"banner"},T().createElement("div",{className:"banner__content"},T().createElement(N.FormattedMessage,{id:"analytics.system.skippedIntensiveQueries",defaultMessage:"To maximize performance, some statistics are disabled. You can <link>re-enable them in config.json</link>.",values:{link:e=>T().createElement(ce.A,{href:"https://docs.mattermost.com/administration/statistics.html",location:"system_analytics"},e)}}))):(l=T().createElement(Bt,{id:"totalPosts",title:T().createElement(N.FormattedMessage,is.totalPosts),icon:"fa-comment",count:this.getStatValue(e[ns.TOTAL_POSTS])}),c=T().createElement("div",{className:"row"},T().createElement(ss,{title:T().createElement(N.FormattedMessage,{id:"analytics.system.totalBotPosts",defaultMessage:"Total Posts from Bots"}),data:i,id:"totalPostsFromBotsLineChart",width:740,height:225})),d=T().createElement("div",{className:"row"},T().createElement(ss,{title:T().createElement(N.FormattedMessage,is.totalPosts),id:"totalPostsLineChart",data:n,width:740,height:225})),m=T().createElement("div",{className:"row"},T().createElement(ss,{title:T().createElement(N.FormattedMessage,is.activeUsers),id:"activeUsersWithPostsLineChart",data:r,width:740,height:225}))),this.props.isLicensed){g=T().createElement(Bt,{id:"totalSessions",title:T().createElement(N.FormattedMessage,is.totalSessions),icon:"fa-signal",count:this.getStatValue(e[ns.TOTAL_SESSIONS])}),h=T().createElement(Bt,{id:"totalCommands",title:T().createElement(N.FormattedMessage,is.totalCommands),icon:"fa-terminal",count:this.getStatValue(e[ns.TOTAL_COMMANDS])}),f=T().createElement(Bt,{id:"incomingWebhooks",title:T().createElement(N.FormattedMessage,is.totalIncomingWebhooks),icon:"fa-arrow-down",count:this.getStatValue(e[ns.TOTAL_IHOOKS])}),E=T().createElement(Bt,{id:"outgoingWebhooks",title:T().createElement(N.FormattedMessage,is.totalOutgoingWebhooks),icon:"fa-arrow-up",count:this.getStatValue(e[ns.TOTAL_OHOOKS])}),u=T().createElement(T().Fragment,null,T().createElement(Bt,{id:"websocketConns",title:T().createElement(N.FormattedMessage,is.totalWebsockets),icon:"fa-user",count:this.getStatValue(e[ns.TOTAL_WEBSOCKET_CONNECTIONS])}),T().createElement(Bt,{id:"masterDbConns",title:T().createElement(N.FormattedMessage,is.totalMasterDbConnections),icon:"fa-terminal",count:this.getStatValue(e[ns.TOTAL_MASTER_DB_CONNECTIONS])}),T().createElement(Bt,{id:"replicaDbConns",title:T().createElement(N.FormattedMessage,is.totalReadDbConnections),icon:"fa-terminal",count:this.getStatValue(e[ns.TOTAL_READ_DB_CONNECTIONS])}));const t=(y=e[ns.TOTAL_PUBLIC_CHANNELS],S=e[ns.TOTAL_PRIVATE_GROUPS],{labels:[H.Vw({id:"analytics.system.publicChannels",defaultMessage:"Public Channels"}),H.Vw({id:"analytics.system.privateGroups",defaultMessage:"Private Channels"})],datasets:[{data:[y,S],backgroundColor:["#46BFBD","#FDB45C"],hoverBackgroundColor:["#5AD3D1","#FFC870"]}]}),s=(b=e[ns.TOTAL_FILE_POSTS],v=e[ns.TOTAL_HASHTAG_POSTS],M=e[ns.TOTAL_POSTS],{labels:[H.Vw({id:"analytics.system.totalFilePosts",defaultMessage:"Posts with Files"}),H.Vw({id:"analytics.system.totalHashtagPosts",defaultMessage:"Posts with Hashtags"}),H.Vw({id:"analytics.system.textPosts",defaultMessage:"Posts with Text-only"})],datasets:[{data:[b,v,M-b-v],backgroundColor:["#46BFBD","#F7464A","#FDB45C"],hoverBackgroundColor:["#5AD3D1","#FF5A5E","#FFC870"]}]});let a;-1!==e[ns.TOTAL_POSTS]&&(a=T().createElement(Zt,{title:T().createElement(N.FormattedMessage,is.postTypes),data:s,width:300,height:225})),p=T().createElement("div",{className:"row"},T().createElement(Zt,{title:T().createElement(N.FormattedMessage,is.channelTypes),data:t,width:300,height:225}),a)}var b,v,M,y,S;const A="true"===this.props.license.Cloud,C=T().createElement(qt,{activatedUsers:this.getStatValue(e[ns.TOTAL_USERS]),seatsPurchased:parseInt(this.props.license.Users,10),isCloud:A}),_=T().createElement(Bt,{id:"seatPurchased",title:T().createElement(N.FormattedMessage,{id:"analytics.system.seatsPurchased",defaultMessage:"Licensed Seats"}),icon:"fa-users",count:parseInt(this.props.license.Users,10)}),R=T().createElement(Bt,{id:"totalTeams",title:T().createElement(N.FormattedMessage,is.totalTeams),icon:"fa-users",count:this.getStatValue(e[ns.TOTAL_TEAMS])}),w=this.getStatValue(e[ns.TOTAL_PUBLIC_CHANNELS]),I=this.getStatValue(e[ns.TOTAL_PRIVATE_GROUPS]),O=T().createElement(Bt,{id:"totalChannels",title:T().createElement(N.FormattedMessage,is.totalChannels),icon:"fa-globe",count:w&&I?w+I:!w&&I?I:w&&!I?w:void 0}),P=T().createElement(Bt,{id:"dailyActiveUsers",title:T().createElement(N.FormattedMessage,is.dailyActiveUsers),icon:"fa-users",count:this.getStatValue(e[ns.DAILY_ACTIVE_USERS])}),k=T().createElement(Bt,{id:"monthlyActiveUsers",title:T().createElement(N.FormattedMessage,is.monthlyActiveUsers),icon:"fa-users",count:this.getStatValue(e[ns.MONTHLY_ACTIVE_USERS])}),x=[],D=[],L=[];for(const[e,t]of Object.entries(this.state.pluginSiteStats))switch(t.visualizationType){case Lt.dQ.LineChart:D.push(T().createElement(ss,{id:e,key:"pluginstat."+e,title:t.name,data:t.value,width:740,height:225}));break;case Lt.dQ.DoughnutChart:L.push(T().createElement(Zt,{key:"pluginstat."+e,title:t.name,data:t.value,width:300,height:225}));break;case Lt.dQ.Count:default:x.push(T().createElement(Bt,{id:e,key:"pluginstat."+e,title:t.name,icon:t.icon,count:t.value}))}let F;return t?F=T().createElement(T().Fragment,null,C,A?null:_,R,O,s?null:l,g,h,f,E):t||(F=T().createElement(T().Fragment,null,C,A||!t?null:_,R,O,s?null:l)),T().createElement("div",{className:"wrapper--fixed team_statistics"},T().createElement(et,null,T().createElement(N.FormattedMessage,is.title)),T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},o,T().createElement("div",{className:"grid-statistics"},F,P,k,u,x),p,L,d,c,m,D)))}}as(os,"propTypes",{isLicensed:L().bool.isRequired});const ls=(0,a.connect)((function(e){return{isLicensed:"true"===(0,c.Ay)(e).IsLicensed,stats:e.entities.admin.analytics,pluginStatHandlers:e.plugins.siteStatsHandlers}}))(os);var ds=s(17085),cs=s(61185),ms=s(69657),us=s(77212);const ps=e=>{let t=T().createElement(N.FormattedMessage,{id:"admin.banner.heading",defaultMessage:"Note:"});return e.title&&(t=e.title),T().createElement("div",{className:"banner"},T().createElement("div",{className:"banner__content"},T().createElement("h4",{className:"banner__heading"},t),T().createElement("p",null,e.description)))};ps.propTypes={title:L().element,description:L().element.isRequired};const gs=ps,hs=e=>{let{title:t,data:s}=e;return T().createElement("div",{className:"col-sm-6"},T().createElement("div",{className:"total-count recent-active-users"},T().createElement("div",{className:"title"},t),T().createElement("div",{className:"content"},T().createElement("table",null,T().createElement("tbody",null,s.map((e=>T().createElement("tr",{key:"table-entry-"+e.name},T().createElement("td",null,T().createElement(tt.A,{title:e.tip},T().createElement("span",null,e.name))),T().createElement("td",null,e.value)))))))))};hs.propTypes={title:L().node.isRequired,data:L().arrayOf(L().shape({name:L().string.isRequired,tip:L().string.isRequired,value:L().node.isRequired})).isRequired};const fs=(0,_.memo)(hs);var Es=s(45036);function bs(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const vs=(0,N.defineMessages)({title:{id:"analytics.team.title",defaultMessage:"Team Statistics for {team}"},info:{id:"analytics.system.info",defaultMessage:"Use data for only the chosen team. Exclude posts in direct message channels that are not tied to a team."},totalPosts:{id:"analytics.team.totalPosts",defaultMessage:"Total Posts"},activeUsers:{id:"analytics.team.activeUsers",defaultMessage:"Active Users With Posts"},publicChannels:{id:"analytics.team.publicChannels",defaultMessage:"Public Channels"},privateGroups:{id:"analytics.team.privateGroups",defaultMessage:"Private Channels"},recentUsers:{id:"analytics.team.recentUsers",defaultMessage:"Recent Active Users"},newlyCreated:{id:"analytics.team.newlyCreated",defaultMessage:"Newly Created Users"}}),Ms=[[vs.title,{team:""}],vs.info,vs.totalPosts,vs.activeUsers,Ut.totalUsers,vs.publicChannels,vs.privateGroups,vs.recentUsers,vs.newlyCreated];class ys extends T().PureComponent{constructor(e){super(e),bs(this,"getData",(async e=>{h.ur(e),h.fs(e),h._C(e),h.iN(e);const{data:t}=await this.props.actions.getProfilesInTeam(e,0,l.Bz.PROFILE_CHUNK_SIZE,"last_activity_at"),{data:s}=await this.props.actions.getProfilesInTeam(e,0,l.Bz.PROFILE_CHUNK_SIZE,"create_at");this.setState({recentlyActiveUsers:t,newUsers:s})})),bs(this,"handleTeamChange",(e=>{const t=e.target.value;let s;this.props.teams.forEach((e=>{e.id===t&&(s=e)})),this.setState({team:s}),this.props.actions.setGlobalItem("last_analytics_team",t)})),this.state={team:e.initialTeam,recentlyActiveUsers:[],newUsers:[]}}componentDidMount(){this.state.team&&this.getData(this.state.team.id),this.props.actions.getTeams(0,1e3)}componentDidUpdate(e,t){this.state.team&&t.team!==this.state.team&&this.getData(this.state.team.id)}getStatValue(e){return"number"==typeof e?e:e&&0!==e.length?e[0].value:void 0}render(){if(0===this.props.teams.length||!this.state.team||!this.props.stats[this.state.team.id])return T().createElement(At.A,null);if(null==this.state.team)return T().createElement(gs,{description:T().createElement(N.FormattedMessage,{id:"analytics.team.noTeams",defaultMessage:"This server has no teams for which to view statistics."})});const e=this.props.stats[this.state.team.id],t=Qt(e[x.g5.POST_PER_DAY],e[x.g5.USERS_WITH_POSTS_PER_DAY]),s=Jt(t,e[x.g5.POST_PER_DAY]),a=Kt(t,e[x.g5.USERS_WITH_POSTS_PER_DAY]);let n,i,r,o=T().createElement("div",{className:"banner"},T().createElement("div",{className:"banner__content"},T().createElement(N.FormattedMessage,vs.info)));-1===e[x.g5.TOTAL_POSTS]?o=T().createElement("div",{className:"banner"},T().createElement("div",{className:"banner__content"},T().createElement(N.FormattedMessage,{id:"analytics.system.infoAndSkippedIntensiveQueries1",defaultMessage:"Use data for only the chosen team. Exclude posts in direct message channels that are not tied to a team."}),T().createElement("p",null),T().createElement(N.FormattedMessage,{id:"analytics.system.infoAndSkippedIntensiveQueries2",defaultMessage:"To maximize performance, some statistics are disabled. You can <link>re-enable them in config.json</link>.",values:{link:e=>T().createElement(ce.A,{href:"https://docs.mattermost.com/administration/statistics.html",location:"team_analytics"},e)}}))):(n=T().createElement(Bt,{title:T().createElement(N.FormattedMessage,vs.totalPosts),icon:"fa-comment",count:this.getStatValue(e[x.g5.TOTAL_POSTS])}),i=T().createElement("div",{className:"row"},T().createElement(ss,{key:this.state.team.id,title:T().createElement(N.FormattedMessage,vs.totalPosts),id:"totalPosts",data:s,width:740,height:225})),r=T().createElement("div",{className:"row"},T().createElement(ss,{key:this.state.team.id,title:T().createElement(N.FormattedMessage,vs.activeUsers),id:"activeUsersWithPosts",data:a,width:740,height:225})));const l=(m=this.state.recentlyActiveUsers,u=this.props.locale,null==m?[]:m.map((e=>({name:e.username,value:T().createElement(N.FormattedDate,{value:e.last_activity_at,day:"numeric",month:(0,Es.FS)(u),year:"numeric",hour:"2-digit",minute:"2-digit"}),tip:e.email})))),d=function(e,t){return null==e?[]:e.map((e=>({name:e.username,value:T().createElement(N.FormattedDate,{value:e.create_at,day:"numeric",month:(0,Es.FS)(t),year:"numeric",hour:"2-digit",minute:"2-digit"}),tip:e.email})))}(this.state.newUsers,this.props.locale),c=this.props.teams.sort(((e,t)=>{const s=e.display_name.toUpperCase(),a=t.display_name.toUpperCase();return s===a?0:s>a?1:-1})).map((e=>T().createElement("option",{key:e.id,value:e.id},e.display_name)));var m,u;return T().createElement("div",{className:"wrapper--fixed team_statistics"},T().createElement(et,null,T().createElement("div",{className:"team-statistics__header"},T().createElement(N.FormattedMessage,Object.assign({},vs.title,{values:{team:this.state.team.display_name}}))),T().createElement("div",{className:"team-statistics__team-filter"},T().createElement("select",{"data-testid":"teamFilter",className:"form-control team-statistics__team-filter__dropdown",onChange:this.handleTeamChange,value:this.state.team.id},c))),T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},o,T().createElement("div",{className:"grid-statistics"},T().createElement(qt,{activatedUsers:this.getStatValue(e[x.g5.TOTAL_USERS]),seatsPurchased:parseInt(this.props.license.Users,10),isCloud:"true"===this.props.license.Cloud}),T().createElement(Bt,{title:T().createElement(N.FormattedMessage,vs.publicChannels),icon:"fa-globe",count:this.getStatValue(e[x.g5.TOTAL_PUBLIC_CHANNELS])}),T().createElement(Bt,{title:T().createElement(N.FormattedMessage,vs.privateGroups),icon:"fa-lock",count:this.getStatValue(e[x.g5.TOTAL_PRIVATE_GROUPS])}),n),i,r,T().createElement("div",{className:"row"},T().createElement(fs,{title:T().createElement(N.FormattedMessage,vs.recentUsers),data:l}),T().createElement(fs,{title:T().createElement(N.FormattedMessage,vs.newlyCreated),data:d})))))}}bs(ys,"propTypes",{teams:L().array.isRequired,locale:L().string.isRequired,actions:L().shape({getTeams:L().func.isRequired,getProfilesInTeam:L().func.isRequired,setGlobalItem:L().func.isRequired}).isRequired});const Ss=(0,a.connect)((function(e){const t=(0,p.Lq)(e),s=(0,us.zR)("last_analytics_team","")(e);return{initialTeam:e.entities.teams.teams[s]||(t.length>0?t[0]:null),locale:(0,ms.k)(e),teams:t,stats:e.entities.admin.teamAnalytics}}),(function(e){return{actions:(0,n.bindActionCreators)({getTeams:o.ZN,getProfilesInTeam:ds.xJ,setGlobalItem:cs.X2},e)}}))(ys);var As=s(3289),Cs=s(52231),_s=s(82739),Ts=s(63155);const Ns=T().createElement("tr",null,T().createElement("td",null,T().createElement(N.FormattedMessage,{id:"admin.connectionSecurityNone",defaultMessage:"None"})),T().createElement("td",null,T().createElement(N.FormattedMessage,{id:"admin.connectionSecurityNoneDescription",defaultMessage:"Mattermost will connect over an insecure connection."}))),Rs=T().createElement("tr",null,T().createElement("td",null,T().createElement(N.FormattedMessage,{id:"admin.connectionSecurityTls",defaultMessage:"TLS"})),T().createElement("td",null,T().createElement(N.FormattedMessage,{id:"admin.connectionSecurityTlsDescription",defaultMessage:"Encrypts the communication between Mattermost and your server."}))),ws=T().createElement("tr",null,T().createElement("td",null,T().createElement(N.FormattedMessage,{id:"admin.connectionSecurityStart",defaultMessage:"STARTTLS"})),T().createElement("td",null,T().createElement(N.FormattedMessage,{id:"admin.connectionSecurityStartDescription",defaultMessage:"Takes an existing insecure connection and attempts to upgrade it to a secure connection using TLS."}))),Is=T().createElement("table",{className:"table table-bordered",cellPadding:"5"},T().createElement("tbody",null,Ns,Rs,ws)),Os=T().createElement("table",{className:"table table-bordered",cellPadding:"5"},T().createElement("tbody",null,Ns,Rs,ws)),Ps=T().createElement("table",{className:"table table-bordered",cellPadding:"5"},T().createElement("tbody",null,Ns,Rs)),ks=T().createElement("div",null,T().createElement("table",{className:"table table-bordered",cellPadding:"5"},T().createElement("tbody",null,T().createElement("tr",null,T().createElement("td",null,T().createElement(N.FormattedMessage,{id:"admin.webserverModeGzip",defaultMessage:"gzip"})),T().createElement("td",null,T().createElement(N.FormattedMessage,{id:"admin.webserverModeGzipDescription",defaultMessage:"The Mattermost server will serve static files compressed with gzip."}))),T().createElement("tr",null,T().createElement("td",null,T().createElement(N.FormattedMessage,{id:"admin.webserverModeUncompressed",defaultMessage:"Uncompressed"})),T().createElement("td",null,T().createElement(N.FormattedMessage,{id:"admin.webserverModeUncompressedDescription",defaultMessage:"The Mattermost server will serve static files uncompressed."}))),T().createElement("tr",null,T().createElement("td",null,T().createElement(N.FormattedMessage,{id:"admin.webserverModeDisabled",defaultMessage:"Disabled"})),T().createElement("td",null,T().createElement(N.FormattedMessage,{id:"admin.webserverModeDisabledDescription",defaultMessage:"The Mattermost server will not serve static files."}))))),T().createElement("p",{className:"help-text"},T().createElement(N.FormattedMessage,{id:"admin.webserverModeHelpText",defaultMessage:"gzip compression applies to static content files. It is recommended to enable gzip to improve performance unless your environment has specific restrictions, such as a web proxy that distributes gzip files poorly."}))),xs=[{value:"DEBUG",display_name:(0,N.defineMessage)({id:"admin.log.levelOptions.DEBUG",defaultMessage:"DEBUG"})},{value:"INFO",display_name:(0,N.defineMessage)({id:"admin.log.levelOptions.INFO",defaultMessage:"INFO"})},{value:"ERROR",display_name:(0,N.defineMessage)({id:"admin.log.levelOptions.ERROR",defaultMessage:"ERROR"})},{value:"WARN",display_name:(0,N.defineMessage)({id:"admin.log.levelOptions.WARN",defaultMessage:"WARN"})}];var Ds=s(30491);function Ls(){const{formatMessage:e}=(0,N.useIntl)();return T().createElement("i",{className:"fa fa-refresh",title:e({id:"generic_icons.reload",defaultMessage:"Reload Icon"})})}function Fs(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class Bs extends T().PureComponent{constructor(e){super(e),Fs(this,"reload",(()=>{this.setState({loadingReports:!0}),this.props.actions.getComplianceReports().then((()=>this.setState({loadingReports:!1})))})),Fs(this,"runReport",(e=>{var t,s,a;e.preventDefault(),this.setState({runningReport:!0});const n={};n.desc=null===(t=this.descInput.current)||void 0===t?void 0:t.value,n.emails=null===(s=this.emailsInput.current)||void 0===s?void 0:s.value,n.keywords=null===(a=this.keywordsInput.current)||void 0===a?void 0:a.value,n.start_at=this.fromInput.current?Date.parse(this.fromInput.current.value):void 0,n.end_at=this.toInput.current?Date.parse(this.toInput.current.value):void 0,this.props.actions.createComplianceReport(n).then((e=>{let{data:t}=e;t&&(this.emailsInput.current&&(this.emailsInput.current.value=""),this.keywordsInput.current&&(this.keywordsInput.current.value=""),this.descInput.current&&(this.descInput.current.value=""),this.fromInput.current&&(this.fromInput.current.value=""),this.toInput.current&&(this.toInput.current.value="")),this.setState({runningReport:!1}),this.props.actions.getComplianceReports()}))})),this.state={loadingReports:!0},this.descInput=T().createRef(),this.emailsInput=T().createRef(),this.fromInput=T().createRef(),this.keywordsInput=T().createRef(),this.toInput=T().createRef()}componentDidMount(){this.props.isLicensed&&this.props.enabled&&this.props.actions.getComplianceReports().then((()=>this.setState({loadingReports:!1})))}getDateTime(e){const t=new Date(e);return T().createElement("span",{style:Hs.date},T().createElement(N.FormattedDate,{value:t,day:"2-digit",month:"short",year:"numeric"})," - ",T().createElement(N.FormattedTime,{value:t,hour:"2-digit",minute:"2-digit"}))}render(){if(!this.props.isLicensed||!this.props.enabled)return T().createElement("div",null);let e=null;if(this.state.loadingReports)e=T().createElement(At.A,null);else{const t=[];for(let e=0;e<this.props.reports.length;e++){const s=this.props.reports[e];let a="";"adhoc"===s.type&&(a=T().createElement("span",null,T().createElement(N.FormattedMessage,{id:"admin.compliance_reports.from",defaultMessage:"From:"})," ",this.getDateTime(s.start_at),T().createElement("br",null),T().createElement(N.FormattedMessage,{id:"admin.compliance_reports.to",defaultMessage:"To:"})," ",this.getDateTime(s.end_at),T().createElement("br",null),T().createElement(N.FormattedMessage,{id:"admin.compliance_reports.emails",defaultMessage:"Emails:"})," ",s.emails,T().createElement("br",null),T().createElement(N.FormattedMessage,{id:"admin.compliance_reports.keywords",defaultMessage:"Keywords:"})," ",s.keywords));let n="",i="";"finished"===s.status?(n=T().createElement("a",{href:"".concat(de.mT.getBaseRoute(),"/compliance/reports/").concat(s.id,"/download")},T().createElement(N.FormattedMessage,{id:"admin.compliance_table.download",defaultMessage:"Download"})),i=T().createElement("span",{className:"status-icon-success"},T().createElement(N.FormattedMessage,{id:"admin.compliance_table.success",defaultMessage:"Success"}))):"running"===s.status?i=T().createElement("span",{className:"status-icon-warning"},T().createElement(N.FormattedMessage,{id:"admin.compliance_table.pending",defaultMessage:"Pending"})):"failed"===s.status&&(i=T().createElement("span",{className:"status-icon-error"},T().createElement(N.FormattedMessage,{id:"admin.compliance_table.failed",defaultMessage:"Failed"})));let r=s.user_id;const o=this.props.users[s.user_id];o&&(r=o.email),t[e]=T().createElement("tr",{key:s.id},T().createElement("td",null,i),T().createElement("td",{style:Hs.dataCell},n),T().createElement("td",null,this.getDateTime(s.create_at)),T().createElement("td",null,s.count),T().createElement("td",null,s.type),T().createElement("td",{style:Hs.dataCell},s.desc),T().createElement("td",null,r),T().createElement("td",{style:Hs.dataCell},a))}e=T().createElement("div",{style:Hs.content},T().createElement("table",{className:"table"},T().createElement("thead",null,T().createElement("tr",null,T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.compliance_table.status",defaultMessage:"Status"})),T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.compliance_table.files",defaultMessage:"Files"})),T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.compliance_table.timestamp",defaultMessage:"Timestamp"})),T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.compliance_table.records",defaultMessage:"Records"})),T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.compliance_table.type",defaultMessage:"Type"})),T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.compliance_table.desc",defaultMessage:"Description"})),T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.compliance_table.userId",defaultMessage:"Requested By"})),T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.compliance_table.params",defaultMessage:"Params"})))),T().createElement("tbody",null,t)))}let t="";return this.props.serverError&&(t=T().createElement("div",{className:"form-group has-error",style:Hs.serverError},T().createElement("label",{className:"control-label"},this.props.serverError))),T().createElement("div",{className:"panel compliance-panel"},T().createElement("h4",null,T().createElement(N.FormattedMessage,{id:"admin.compliance_reports.title",defaultMessage:"Compliance Reports"})),T().createElement("div",{className:"row"},T().createElement("div",{className:"col-sm-6 col-md-4 form-group"},T().createElement("label",{htmlFor:"desc"},T().createElement(N.FormattedMessage,{id:"admin.compliance_reports.desc",defaultMessage:"Job Name:"})),T().createElement(Ds.A,{type:"text",className:"form-control",id:"desc",ref:this.descInput,placeholder:(0,N.defineMessage)({id:"admin.compliance_reports.desc_placeholder",defaultMessage:'E.g. "Audit 445 for HR"'}),disabled:this.props.readOnly})),T().createElement("div",{className:"col-sm-3 col-md-2 form-group"},T().createElement("label",{htmlFor:"from"},T().createElement(N.FormattedMessage,{id:"admin.compliance_reports.from",defaultMessage:"From:"})),T().createElement(Ds.A,{type:"text",className:"form-control",id:"from",ref:this.fromInput,placeholder:(0,N.defineMessage)({id:"admin.compliance_reports.from_placeholder",defaultMessage:'E.g. "2016-03-11"'}),disabled:this.props.readOnly})),T().createElement("div",{className:"col-sm-3 col-md-2 form-group"},T().createElement("label",{htmlFor:"to"},T().createElement(N.FormattedMessage,{id:"admin.compliance_reports.to",defaultMessage:"To:"})),T().createElement(Ds.A,{type:"text",className:"form-control",id:"to",ref:this.toInput,placeholder:(0,N.defineMessage)({id:"admin.compliance_reports.to_placeholder",defaultMessage:'E.g. "2016-03-15"'}),disabled:this.props.readOnly}))),T().createElement("div",{className:"row"},T().createElement("div",{className:"col-sm-6 col-md-4 form-group"},T().createElement("label",{htmlFor:"emails"},T().createElement(N.FormattedMessage,{id:"admin.compliance_reports.emails",defaultMessage:"Emails:"})),T().createElement(Ds.A,{type:"text",className:"form-control",id:"emails",ref:this.emailsInput,placeholder:(0,N.defineMessage)({id:"admin.compliance_reports.emails_placeholder",defaultMessage:'E.g. "bill@example.com, bob@example.com"'}),disabled:this.props.readOnly})),T().createElement("div",{className:"col-sm-6 col-md-4 form-group"},T().createElement("label",{htmlFor:"keywords"},T().createElement(N.FormattedMessage,{id:"admin.compliance_reports.keywords",defaultMessage:"Keywords:"})),T().createElement(Ds.A,{type:"text",className:"form-control",id:"keywords",ref:this.keywordsInput,placeholder:(0,N.defineMessage)({id:"admin.compliance_reports.keywords_placeholder",defaultMessage:'E.g. "shorting stock"'}),disabled:this.props.readOnly}))),T().createElement("div",{className:"clearfix"},T().createElement("button",{id:"run-button",type:"submit",className:"btn btn-primary",onClick:this.runReport,disabled:this.props.readOnly},T().createElement(N.FormattedMessage,{id:"admin.compliance_reports.run",defaultMessage:"Run Compliance Report"}))),t,T().createElement("div",{className:"text-right"},T().createElement("button",{type:"submit",className:"btn btn-tertiary",disabled:this.state.runningReport,onClick:this.reload},T().createElement(Ls,null),T().createElement(N.FormattedMessage,{id:"admin.compliance_reports.reload",defaultMessage:"Reload Completed Compliance Reports"}))),T().createElement("div",{className:"compliance-panel__table"},e))}}Fs(Bs,"propTypes",{isLicensed:L().bool.isRequired,enabled:L().bool.isRequired,reports:L().array.isRequired,serverError:L().string,readOnly:L().bool,actions:L().shape({getComplianceReports:L().func.isRequired,createComplianceReport:L().func.isRequired}).isRequired});const Hs={content:{margin:10},greenStatus:{color:"green"},redStatus:{color:"red"},dataCell:{whiteSpace:"nowrap"},date:{whiteSpace:"nowrap"},serverError:{marginTop:"10px"}},Us=(0,A.Mz)("getUsersForReports",(e=>e.entities.users.profiles),(e=>e.entities.admin.complianceReports),((e,t)=>{const s={};return Object.values(t).forEach((t=>{const a=e[t.user_id];a&&(s[a.id]=a)})),s})),Gs=(0,a.connect)((function(e){const t="true"===(0,c.Ay)(e).IsLicensed;let s=!1;const a=(0,d.zj)(e);let n;a&&a.ComplianceSettings&&(s=a.ComplianceSettings.Enable);const i=e.requests.admin.createCompliance.error;return i&&(n=i.message),{isLicensed:t,enabled:s,reports:Object.values((0,d.$q)(e)).sort(((e,t)=>t.create_at-e.create_at)),serverError:n,users:Us(e)}}),(function(e){return{actions:(0,n.bindActionCreators)({getComplianceReports:i.$q,createComplianceReport:i.O},e)}}))(Bs);var js=s(43957);function qs(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const Ws=(0,N.defineMessages)({reload:{id:"admin.audits.reload",defaultMessage:"Reload User Activity Logs"}}),Vs=[Ws.reload];class zs extends T().PureComponent{constructor(e){super(e),qs(this,"reload",(()=>{this.setState({loadingAudits:!0}),this.props.actions.getAudits().then((()=>this.setState({loadingAudits:!1})))})),qs(this,"activityLogHeader",(()=>T().createElement("div",{style:{clear:"both"}},T().createElement("h4",{style:{display:"inline-block",marginBottom:"6px"}},T().createElement(N.FormattedMessage,{id:"admin.complianceMonitoring.userActivityLogsTitle",defaultMessage:"User Activity Logs"})),T().createElement("button",{type:"submit",className:"btn btn-tertiary pull-right",onClick:this.reload},T().createElement(Ls,null),T().createElement(N.FormattedMessage,Ws.reload))))),qs(this,"renderComplianceReports",(()=>this.props.isLicensed?T().createElement(Gs,{readOnly:this.props.isDisabled}):T().createElement("div",null))),this.state={loadingAudits:!0}}componentDidMount(){this.props.actions.getAudits().then((()=>this.setState({loadingAudits:!1})))}render(){let e=null;return e=this.state.loadingAudits?T().createElement(At.A,null):T().createElement("div",null,T().createElement(js.A,{audits:this.props.audits,showUserId:!0,showIp:!0,showSession:!0})),T().createElement("div",null,this.renderComplianceReports(),T().createElement("div",{className:"panel compliance-panel"},this.activityLogHeader(),T().createElement("div",{className:"compliance-panel__table"},e)))}}const Ys=(0,a.connect)((function(e){return{isLicensed:"true"===(0,c.Ay)(e).Compliance,audits:Object.values(d.F5(e))}}),(function(e){return{actions:(0,n.bindActionCreators)({getAudits:i.F5},e)}}))(zs);var Zs=s(86724),Js=s(6995);function Qs(){const e=(0,a.useDispatch)();return(0,a.useSelector)(P.I0)?T().createElement("div",{className:"CloudFetchError "},T().createElement("div",{className:"CloudFetchError__header "},T().createElement(N.FormattedMessage,{id:"cloud.fetch_error",defaultMessage:"Error fetching billing data. Please try again later."})),T().createElement("button",{className:"btn btn-primary",onClick:()=>{e((0,Js.Zp)())}},T().createElement(N.FormattedMessage,{id:"cloud.fetch_error.retry",defaultMessage:"Retry"}))):null}const Ks=e=>T().createElement("svg",{width:e.width?e.width.toString():"519",height:e.height?e.height.toString():"396",viewBox:"0 0 519 396",fill:"none",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},T().createElement("path",{d:"M332.061 394.758C434.897 394.758 518.263 311.592 518.263 209C518.263 106.408 434.897 23.2417 332.061 23.2417C229.225 23.2417 145.859 106.408 145.859 209C145.859 311.592 229.225 394.758 332.061 394.758Z",fill:"#DDDFE4",stroke:"#E8E9ED",strokeWidth:"0.5"}),T().createElement("path",{d:"M68.1753 318.92C78.2894 302.187 126.23 266.758 143.343 257.309C197.575 227.405 258.644 204.055 320.158 210.773C328.027 211.623 336.037 213.019 342.935 216.944C336.644 230.116 342.005 245.554 343.198 260.122C343.416 261.55 343.249 263.01 342.713 264.351C341.704 265.885 340.218 267.044 338.485 267.649C280.369 295.206 221.748 322.38 168.285 358.152C156.148 366.246 145.043 376.504 131.166 380.712C117.289 384.921 87.0078 380.712 76.2261 371.102C66.8807 362.705 52.4176 345.061 68.1753 318.92Z",fill:"#CB8E00"}),T().createElement("path",{d:"M294.934 114.22C278.852 120.29 270.093 139.916 274.018 156.71C277.942 173.503 292.729 186.513 309.397 190.823C314.661 192.464 320.295 192.499 325.579 190.924C329.794 189.175 333.547 186.475 336.543 183.033C340.696 178.73 344.36 173.98 347.466 168.87C350.989 163.502 353.256 157.409 354.101 151.044C355.173 139.795 349.327 128.545 340.508 121.483C331.688 114.422 320.28 111.205 308.972 110.659C307.738 110.517 294.934 114.22 294.934 114.22Z",fill:"#121317"}),T().createElement("mask",{id:"mask0","mask-type":"alpha",maskUnits:"userSpaceOnUse",x:"146",y:"23",width:"373",height:"372"},T().createElement("path",{d:"M332.061 394.508C434.759 394.508 518.013 311.453 518.013 209C518.013 106.547 434.759 23.4917 332.061 23.4917C229.362 23.4917 146.109 106.547 146.109 209C146.109 311.453 229.362 394.508 332.061 394.508Z",fill:"#D1D4DB"})),T().createElement("g",{mask:"url(#mask0)"},T().createElement("mask",{id:"mask1","mask-type":"alpha",maskUnits:"userSpaceOnUse",x:"61",y:"209",width:"283",height:"174"},T().createElement("path",{d:"M68.1753 318.92C78.2894 302.187 126.23 266.758 143.343 257.31C197.575 227.405 258.644 204.055 320.158 210.773C328.027 211.623 336.037 213.019 342.935 216.944C336.644 230.116 342.005 245.554 343.198 260.122C343.416 261.55 343.249 263.01 342.713 264.351C341.704 265.885 340.218 267.044 338.485 267.649C280.369 295.206 221.748 322.38 168.285 358.152C156.148 366.246 145.043 376.504 131.166 380.712C117.289 384.921 87.0078 380.712 76.2261 371.102C66.8807 362.705 52.4176 345.061 68.1753 318.92Z",fill:"#CB8E00"})),T().createElement("g",{mask:"url(#mask1)"},T().createElement("rect",{x:"61.163",y:"208.987",width:"201.616",height:"166.601",fill:"url(#pattern0)"})),T().createElement("path",{d:"M336.988 212.027C298.817 249.783 262.69 301.883 259.999 347.975C240.985 349.634 217.52 350.342 201.722 347.671C222.335 284.685 179.127 237.825 177.893 239.383C268.9 194.89 336.988 212.027 336.988 212.027Z",fill:"white"}),T().createElement("path",{d:"M433.092 368.755C455.667 346.498 452.734 243.996 451.621 243.086C435.702 230.096 415.474 223.641 395.427 219.129C343.198 207.394 233.602 240.152 231.579 243.045C228.1 247.78 215.578 370.009 243.594 396.292C278.549 429.03 399.028 402.403 433.092 368.755Z",fill:"white"}),T().createElement("path",{d:"M336.321 211.825C336.321 211.825 428.602 216.357 479.314 250.268C506.622 268.478 527.214 281.023 542.244 307.508C542.675 308.136 542.92 308.872 542.952 309.633C542.788 310.613 542.27 311.499 541.496 312.122C518.791 335.285 494.925 357.28 469.989 378.022C451.379 361.329 417.982 315.298 418.569 313.417C422.736 300.407 426.984 287.113 427.004 273.496C427.024 259.879 336.321 211.825 336.321 211.825Z",fill:"white"}),T().createElement("path",{d:"M177.933 240.536C193.022 257.686 202.546 279.016 205.242 301.701C205.403 303.037 207.446 302.531 207.264 301.196C204.493 278.148 194.786 256.486 179.43 239.079C178.54 238.068 177.003 239.525 177.913 240.536H177.933Z",fill:"#121317"}),T().createElement("mask",{id:"mask2","mask-type":"alpha",maskUnits:"userSpaceOnUse",x:"177",y:"208",width:"366",height:"204"},T().createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M336.475 211.907C330.066 210.456 264.35 197.141 177.969 239.346C177.935 239.349 177.91 239.361 177.893 239.383L177.969 239.346C180.318 239.134 222.047 285.563 201.722 347.671C209.096 348.918 218.141 349.429 227.623 349.45C229.949 370.147 234.753 387.997 243.594 396.292C278.549 429.029 399.028 402.402 433.092 368.755C437.427 364.481 440.821 357.249 443.468 348.345C452.581 359.796 462.487 371.292 469.989 378.021C494.925 357.28 518.791 335.285 541.495 312.122C542.27 311.499 542.788 310.613 542.952 309.633C542.92 308.872 542.675 308.136 542.244 307.508C528.176 282.718 509.236 270.142 484.476 253.701C482.783 252.577 481.062 251.434 479.314 250.268C459.519 237.032 433.39 228.271 408.889 222.509C404.426 221.25 399.922 220.141 395.427 219.129C391.276 218.197 386.763 217.545 381.97 217.137C355.896 212.787 336.321 211.825 336.321 211.825C336.321 211.825 336.373 211.853 336.475 211.907ZM336.888 212.127C334.445 214.544 332.011 217.021 329.594 219.55C335.429 218.76 341.251 218.098 346.974 217.602C341.875 214.796 338.229 212.843 336.888 212.127Z",fill:"white"})),T().createElement("g",{mask:"url(#mask2)"},T().createElement("rect",{x:"176.963",y:"207.952",width:"359.807",height:"203.853",fill:"url(#pattern1)"}),T().createElement("rect",{x:"176.963",y:"207.952",width:"164.395",height:"203.853",fill:"url(#pattern2)"})),T().createElement("path",{d:"M447.212 314.807C444.643 326.522 443.166 338.439 440.617 350.175C440.334 351.49 442.357 352.198 442.64 350.782C445.088 339.026 446.686 327.109 449.234 315.394C449.518 314.078 447.495 313.37 447.212 314.807Z",fill:"#121317"}),T().createElement("path",{d:"M325.074 221.072L324.042 187.484C324.125 184.574 323.701 181.671 322.788 178.905C321.621 176.464 320.131 174.191 318.358 172.148C303.612 152.921 296.792 128.772 299.303 104.669C299.764 98.9712 301.237 93.4008 303.652 88.2197C309.458 76.6058 321.594 69.6253 333.61 64.6884C342.268 61.1476 351.674 58.2543 360.857 59.9539C372.064 61.9772 381.248 70.8192 385.839 81.2394C390.431 91.6595 390.937 103.496 389.561 114.786C388.901 122.612 386.563 130.203 382.704 137.043C378.901 143.234 373.298 148.191 369.454 154.383C362.981 164.803 372.064 177.894 371.943 190.175C371.821 202.457 384.929 219.271 380.479 230.642C376.029 242.013 351.957 265.403 332.639 258.969C317.61 253.971 320.624 232.402 323.354 226.373L325.074 221.072Z",fill:"#CB8E00"}),T().createElement("path",{d:"M348.094 179.088C340.71 180.868 327.157 181.111 319.774 174.05C320.984 175.524 321.984 177.158 322.748 178.905C323.661 181.671 324.085 184.574 324.002 187.484C324.143 191.936 324.265 196.387 324.406 200.838C327.582 181.941 341.196 185.38 348.539 181.232L348.094 179.088Z",fill:"black",fillOpacity:"0.32"})),T().createElement("path",{d:"M323.97 164.759C329.742 164.819 335.377 163.002 340.027 159.582C341.104 158.775 339.977 156.987 338.88 157.791C334.547 161.023 329.266 162.73 323.861 162.647C322.516 162.646 322.628 164.738 323.978 164.699L323.97 164.759Z",fill:"#121317"}),T().createElement("path",{d:"M316.214 137.791C316.548 139.611 316.548 141.476 316.214 143.295C315.941 144.439 315.941 145.631 316.214 146.775C317.064 149.284 319.653 148.798 321.413 147.625C322.505 146.856 321.413 145.015 320.401 145.784C319.39 146.552 318.136 146.654 318.116 145.237C318.164 144.388 318.272 143.542 318.439 142.708C318.659 140.9 318.583 139.069 318.217 137.286C317.954 135.95 315.911 136.456 316.194 137.791H316.214Z",fill:"#121317"}),T().createElement("path",{d:"M468.128 105.681C445.432 83.4243 414.118 88.5838 397.693 97.5876C393.647 86.8437 388.732 61.1677 353.191 55.6237C343.421 54.086 326.328 58.5373 314.757 65.1941C303.187 71.8508 292.749 82.7566 294.125 97.2234C294.59 102.079 298.919 106.814 299.141 105.883L300.193 98.2351C305.756 100.784 312.917 96.313 313.908 92.9542C317.427 100.825 345.646 106.875 354.364 106.834C359.785 106.834 366.218 105.135 369.92 109.1C374.491 113.977 370.082 121.766 365.591 126.703C361.1 131.64 356.225 138.843 360.17 144.306C362.415 147.341 367.068 148.657 367.897 152.4C368.524 155.172 366.602 157.822 365.166 160.27C358.187 172.228 365.045 190.883 370.709 198.714C383.048 215.932 411.347 241.669 453.644 221.274C490.237 203.59 503.325 140.239 468.128 105.681Z",fill:"#121317"}),T().createElement("mask",{id:"mask3","mask-type":"alpha",maskUnits:"userSpaceOnUse",x:"294",y:"55",width:"195",height:"174"},T().createElement("path",{d:"M468.128 105.681C445.432 83.4243 414.118 88.5838 397.693 97.5876C393.647 86.8437 388.732 61.1677 353.191 55.6237C343.421 54.086 326.328 58.5373 314.757 65.1941C303.187 71.8508 292.749 82.7566 294.125 97.2234C294.59 102.079 298.919 106.814 299.141 105.883L300.193 98.2351C305.756 100.784 312.917 96.313 313.908 92.9542C317.427 100.825 345.646 106.875 354.364 106.834C359.785 106.834 366.218 105.135 369.92 109.1C374.491 113.977 370.082 121.766 365.591 126.703C361.1 131.64 356.225 138.843 360.17 144.306C362.415 147.341 367.068 148.657 367.897 152.4C368.524 155.172 366.602 157.822 365.166 160.27C358.187 172.228 365.045 190.883 370.709 198.714C383.048 215.932 411.347 241.669 453.644 221.274C490.237 203.59 503.325 140.239 468.128 105.681Z",fill:"#1A0C00"})),T().createElement("g",{mask:"url(#mask3)"},T().createElement("rect",{x:"-50.5012",y:"6.16785",width:"587.271",height:"261.802",fill:"url(#pattern3)"})),T().createElement("path",{d:"M140.794 317.605C163.595 316.173 186.29 321.713 205.868 333.488C207.021 334.196 207.891 332.254 206.718 331.464C186.812 319.534 163.751 313.939 140.592 315.42C139.237 315.42 139.439 317.605 140.794 317.443V317.605Z",fill:"#121317"}),T().createElement("path",{d:"M355.416 115.737C347.96 115.205 340.466 115.751 333.165 117.356C332.154 117.578 332.578 119.743 333.57 119.521C340.709 117.982 348.03 117.464 355.315 117.983C356.508 118.064 356.529 115.818 355.416 115.737Z",fill:"white"}),T().createElement("path",{d:"M332.336 118.61C333.327 121.524 335.026 126.582 333.428 129.597C330.09 135.849 323.678 127.573 322.707 124.903C321.736 122.232 320.684 117.983 322.707 115.252C326.004 110.578 330.98 114.685 332.073 118.064C332.538 119.44 334.966 118.873 334.5 117.477C333.165 113.43 329.18 109.849 324.204 111.407C317.994 113.43 318.662 120.937 320.32 125.449C321.979 129.961 326.53 135.566 332.457 133.542C338.768 131.357 336.26 122.333 334.824 118.104C334.359 116.728 331.931 117.295 332.396 118.691L332.336 118.61Z",fill:"white"}),T().createElement("path",{d:"M300.537 127.392C300.375 124.336 300.112 118.995 302.56 116.546C307.556 111.468 311.501 121.281 311.723 124.073C311.946 126.865 311.723 131.276 309.093 133.34C304.562 136.921 300.84 131.58 300.719 128.019C300.719 126.562 298.13 126.42 298.19 127.897C298.155 129.022 298.345 130.143 298.75 131.193C299.154 132.243 299.765 133.202 300.545 134.012C301.325 134.823 302.26 135.47 303.294 135.914C304.328 136.357 305.44 136.59 306.565 136.598C313.159 136.456 314.656 129.01 314.252 124.195C313.847 119.379 310.954 112.803 304.623 113.107C297.867 113.431 297.826 122.799 298.049 127.27C298.049 128.747 300.638 128.869 300.577 127.392H300.537Z",fill:"white"}),T().createElement("path",{d:"M314.151 124.377C314.686 123.979 315.302 123.703 315.955 123.567C316.608 123.43 317.283 123.438 317.933 123.588C318.236 123.675 318.528 123.798 318.803 123.952C319.026 124.073 319.147 124.194 319.086 124.134C320.158 125.085 321.777 123.507 320.684 122.556C319.595 121.711 318.263 121.24 316.885 121.215C315.507 121.189 314.158 121.61 313.038 122.414C311.804 123.183 312.917 125.145 314.151 124.437V124.377Z",fill:"white"}),T().createElement("path",{d:"M329.221 121.281L326.51 121.564C326.293 121.646 326.109 121.797 325.987 121.994C325.865 122.191 325.811 122.423 325.834 122.654C325.857 122.884 325.956 123.101 326.114 123.27C326.273 123.439 326.484 123.55 326.713 123.587L329.423 123.284C329.631 123.197 329.806 123.045 329.921 122.852C330.037 122.658 330.087 122.432 330.064 122.207C330.041 121.983 329.947 121.772 329.795 121.605C329.644 121.438 329.442 121.324 329.221 121.281Z",fill:"#121317"}),T().createElement("path",{d:"M307.273 123.77L304.562 124.073C304.345 124.155 304.161 124.306 304.039 124.503C303.917 124.7 303.863 124.932 303.886 125.163C303.909 125.393 304.008 125.61 304.167 125.779C304.326 125.948 304.536 126.059 304.765 126.097L307.475 125.813C307.702 125.738 307.897 125.588 308.027 125.388C308.158 125.187 308.216 124.948 308.192 124.71C308.169 124.472 308.065 124.25 307.898 124.079C307.731 123.908 307.51 123.799 307.273 123.77Z",fill:"#121317"}),T().createElement("path",{d:"M135.191 386.054C178.682 389.595 212.342 391.8 248.834 392.691C283.768 393.561 315.364 397.648 333.954 379.539C351.431 362.502 375.3 358.618 399.958 359.063C401.981 359.063 403.235 356.635 401.617 355.481C398.077 353.432 394.109 352.234 390.026 351.981C381.672 351.313 374.511 351.151 374.491 351.111C372.916 348.272 370.308 346.149 367.209 345.183C363.084 344.079 358.801 343.696 354.546 344.05C350.723 344.454 352.179 342.229 345.504 341.379C338.988 340.851 332.429 341.342 326.065 342.836C318.196 344.859 306.545 349.735 296.774 354.005C282.028 360.459 250.027 350.747 234.917 345.061C220.312 339.578 200.973 329.886 186.692 323.837C168.871 316.31 160.254 309.147 143.97 306.031C125.118 302.41 110.351 300.386 91.8219 306.618C73.2929 312.85 57.4341 329.987 60.3469 347.085C61.8049 353.798 65.0156 360.004 69.6519 365.072C84.4185 382.695 101.673 383.929 126.655 385.427L135.191 386.054Z",fill:"#CB8E00"}),T().createElement("path",{d:"M350.602 352.892C355.368 351.215 360.345 350.213 365.388 349.917C370.598 349.166 375.868 348.909 381.126 349.148C381.346 349.211 381.539 349.344 381.677 349.526C381.814 349.709 381.889 349.931 381.889 350.16C381.889 350.389 381.814 350.611 381.677 350.794C381.539 350.976 381.346 351.109 381.126 351.172C376.051 350.932 370.965 351.169 365.934 351.88C361.11 352.163 356.346 353.103 351.775 354.672C350.541 355.198 349.529 353.337 350.784 352.811L350.602 352.892Z",fill:"#121317"}),T().createElement("path",{d:"M345.99 344.009C347.6 343.211 349.328 342.678 351.107 342.431C352.348 342.36 353.584 342.219 354.809 342.006C355.058 341.99 355.304 342.064 355.504 342.213C355.704 342.362 355.844 342.577 355.9 342.82C355.956 343.063 355.924 343.318 355.809 343.54C355.695 343.761 355.505 343.935 355.274 344.029C352.422 344.717 349.691 344.454 346.981 345.83C345.767 346.437 344.776 344.576 345.99 343.969V344.009Z",fill:"#121317"}),T().createElement("g",{clipPath:"url(#clip0)"},T().createElement("path",{d:"M88.256 189.289L37.0597 185.649C36.4179 187.934 35.0885 189.965 33.2523 191.466C31.2714 192.966 28.8337 193.735 26.3514 193.643C23.7224 193.708 21.1744 192.729 19.2634 190.922C17.3072 189.064 16.1391 186.525 16 183.83V91.9894H88.256V189.289Z",fill:"#989DAE"}),T().createElement("path",{d:"M183 48.3312V183.472C183.034 184.832 182.777 186.184 182.247 187.437C181.716 188.689 180.924 189.814 179.923 190.735C177.896 192.658 175.265 193.818 172.479 194.017H26.5214C29.3079 193.818 31.9391 192.658 33.9663 190.735C34.9691 189.814 35.7639 188.69 36.2974 187.438C36.8309 186.186 37.0907 184.834 37.0597 183.472V16H151.062C151.917 16.0336 152.727 16.3885 153.332 16.9937C153.937 17.599 154.292 18.4102 154.325 19.2655V27.259L159.425 45.0658H161.243V29.453L179.397 45.0658H179.753C180.608 45.0994 181.419 45.4541 182.024 46.0594C182.629 46.6647 182.983 47.4759 183.017 48.3312H183Z",fill:"#F4F4F6"}),T().createElement("path",{d:"M71.5476 34.5381H55.9441V31.6298H71.5476V34.5381ZM164.133 81.7508H55.9441V85.0332H164.133V81.7508ZM164.133 181.653H55.9441V178.387H164.133V181.653Z",fill:"#BABEC9"}),T().createElement("path",{d:"M112.58 120.273H55.9441V113.725H112.58V120.273ZM112.936 129.712H55.9441V135.886H112.936V129.712ZM112.936 145.325H55.9441V151.873H112.936V145.325ZM112.936 161.312H55.9441V167.485H112.936V161.312ZM164.133 161.312H122.37V167.485H164.133V161.312Z",fill:"#BABEC9"}),T().createElement("path",{d:"M140.897 42.1575C141.752 42.1911 142.563 42.5459 143.168 43.1512C143.773 43.7565 144.127 44.5677 144.161 45.423V58.1445C143.99 58.9105 143.583 59.6034 142.998 60.1253C142.412 60.6472 141.677 60.9717 140.897 61.0528H58.8336C58.0815 61.0008 57.3738 60.6771 56.8423 60.1421C56.3108 59.6072 55.9917 58.8973 55.9441 58.1445V45.423C55.9016 45.0151 55.9442 44.6028 56.0694 44.2123C56.1946 43.8218 56.3996 43.4617 56.6713 43.1546C56.943 42.8476 57.2755 42.6004 57.6478 42.4287C58.02 42.2571 58.4238 42.1647 58.8336 42.1575H140.897ZM55.91 101.377C55.8501 101.772 55.8832 102.174 56.0069 102.554C56.1307 102.933 56.3414 103.277 56.6224 103.56C56.9033 103.843 57.2466 104.056 57.6247 104.182C58.0028 104.308 58.4052 104.343 58.7995 104.286H109.639C110.048 104.328 110.461 104.285 110.853 104.159C111.244 104.032 111.605 103.826 111.912 103.552C112.219 103.279 112.466 102.944 112.637 102.569C112.807 102.195 112.897 101.789 112.902 101.377V94.8296C112.897 94.4181 112.807 94.0122 112.637 93.6377C112.466 93.2632 112.219 92.9285 111.912 92.6548C111.605 92.3811 111.244 92.1745 110.853 92.0482C110.461 91.9219 110.048 91.8787 109.639 91.9213H58.7995C58.4059 91.8673 58.0051 91.9055 57.6287 92.0328C57.2523 92.1601 56.9106 92.3731 56.6304 92.655C56.3503 92.9369 56.1394 93.2801 56.0144 93.6574C55.8894 94.0348 55.8537 94.4361 55.91 94.8296V101.377ZM164.099 94.8296C164.089 94.4182 163.995 94.0132 163.821 93.6399C163.648 93.2666 163.4 92.933 163.092 92.6601C162.784 92.3871 162.423 92.1808 162.032 92.0536C161.641 91.9265 161.228 91.8814 160.818 91.9213H125.328C124.933 91.8679 124.532 91.9064 124.155 92.0337C123.778 92.161 123.436 92.3737 123.154 92.6552C122.873 92.9367 122.661 93.2793 122.533 93.6565C122.406 94.0337 122.368 94.4351 122.421 94.8296V148.607C122.379 149.016 122.422 149.43 122.548 149.822C122.674 150.213 122.881 150.574 123.154 150.882C123.428 151.189 123.762 151.436 124.136 151.606C124.511 151.777 124.916 151.868 125.328 151.873H160.903C161.761 151.843 162.576 151.49 163.184 150.885C163.793 150.279 164.15 149.465 164.184 148.607L164.099 94.8296Z",fill:"#1E325C"}),T().createElement("path",{d:"M182.643 46.8855H153.237V17.4456L181.912 45.797L182.643 46.8855Z",fill:"#989DAE"})),T().createElement("defs",null,T().createElement("pattern",{id:"pattern0",patternContentUnits:"objectBoundingBox",width:"1",height:"1"},T().createElement("use",{xlinkHref:"#image0",transform:"scale(0.00512821 0.00621118)"})),T().createElement("pattern",{id:"pattern1",patternContentUnits:"objectBoundingBox",width:"1",height:"1"},T().createElement("use",{xlinkHref:"#image1",transform:"scale(0.00287356 0.00507614)"})),T().createElement("pattern",{id:"pattern2",patternContentUnits:"objectBoundingBox",width:"1",height:"1"},T().createElement("use",{xlinkHref:"#image2",transform:"scale(0.00628931 0.00507614)"})),T().createElement("pattern",{id:"pattern3",patternContentUnits:"objectBoundingBox",width:"1",height:"1"},T().createElement("use",{xlinkHref:"#image3",transform:"scale(0.00176056 0.00395257)"})),T().createElement("clipPath",{id:"clip0"},T().createElement("rect",{width:"167",height:"178",fill:"white",transform:"translate(16 16)"})),T().createElement("image",{id:"image0",width:"195",height:"161",xlinkHref:"data:image/png;base64,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"}),T().createElement("image",{id:"image1",width:"348",height:"197",xlinkHref:"data:image/png;base64,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"}),T().createElement("image",{id:"image2",width:"159",height:"197",xlinkHref:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJ8AAADFCAYAAABKDiBxAAAgAElEQVR4Xu1dT3gUx5V/VT1Dst/GRnYOaxuBZjQie0OA97og7L3GCOcc/uVsQOw5CLibP74bkPcMRs4ZG3KOjcgxaDQjNCLZ70uMwPEmZrqr9nvd9TQ1TXV3dc9ILUxxsWG6u6pf/frV+/N7rxi4P04CJUmAlTSuG9ZJABz4HAhKk4ADX2midwM78DkMlCYBB77SRO8GduBzGChNAg58pYneDezA5zBQmgQc+EoTvRvYgc9hoDQJOPCVJno3sAOfw0BpEnDgK030bmAHPoeB0iTgwFea6N3ADnwOA6VJwIGvNNG7gR34HAZKk4ADX2midwM78DkMlCYBB77SRO8GduBzGChNAg58pYneDezA5zBQmgQc+EoTvRvYgc9hoDQJOPCVJno3sAOfw0BpEnDgK030bmAHPoeB0iTgwFea6N3ADnwOA6VJwIGvNNG7gR34HAZKk4ADX2midwM78DkMlCYBB77SRO8GduBzGChNAg58pYneDezA5zBQmgQc+EoTvRvYgc9hoDQJOPCVJno3sAOfw0BpEnDgK030bmAHPoeB0iTgwFea6N3ADnwOA6VJwIGvNNG7gR34HAZKk4ADX2midwM78DkMlCYBB77SRO8GduBzGChNAg58pYneDezA5zBQmgQc+EoTvRvYgc9hoDQJOPCVJno3sAOfw0BpEnDgK030bmAHPoeB0iTgwFea6N3ADnwOA6VJwIGvNNG7gR34HAZKk4ADX2midwM78DkMlCYBB77SRO8GduBzGChNAg58pYneDezA5zBQmgQc+EoTvRvYgc9hoDQJOPCVJno3sAOfw0BpEnDgK030bmAHPoeB0iTgwFea6N3ADnwOA6VJwIGvNNG7gR34HAZKk4ADX2midwM78DkMlCYBB77SRO8GduBzGChNAg58pYneDezA5zBQmgQc+EoTvRvYgc9hoDQJOPCVJno3sAOfw0BpEnDgK030bmAHPoeB0iTwSoOv1ersDYQ8/h33z++r19dKW4VXdOBXGnyLrc5XDGDqGXTfcODb/C/glQZfq/Xnmg9+bXd9593NF70b8ZUGn1v+ciXgwFeu/F/p0bcM+KSU4VwYY7LIigx6f5Ex3T2DSWDLgK/Z6rSkkPMTjZ1nirxSq9W5LADOBAD7flEfXSjyDHfP5kpgy4BvsdX5hgF81qiPXikigmarcwaAHWjUd3xY5H53z+ZLYMuAb/Nf3Y1YtgQ2BHxb0f5aXOwcFx4suC25bMj1xt8Q8C21OvfRa3gG3UNbJXjbbHW+lULem2jsPDIs8eNH9ujRo5GxsbEnw3rmq/ScDQFfs7V6C0DsfQb+/q0CvmEvKgKv2Vq5zhg/ysEbr9ffbg97jB/78zYEfD92odH7LbYeTUtgk7vrOy+8Ku88zPd04BumNN2zcklgy4Ov1WqNBEF138TE6Fe53myAi9vtv9RrtbdaAzzC3WohgVLAh/aSbSYjit/BpQBgf9xTHQZI4nNptR6fFiCuuGC1BXoGvGTTwbe4+GiaeXw2jye82Ooc98C7qxv16jmfc2DT9fqOeVs5IGDHxv6tTeDHzAiAt1Cvvz2Hz8CxGMA14cv3du92bBdbuRa5bvPB1+ocB4Cj30H3w0E8YdyOBWy7xoGfJVAiOdQXcvofFXF1T0L4o9nqCAA216jvOIECwxAM595MfSwCH/5BqpXzXovAKd89mw6+fNPLdzVpLQB4kKRZIy0KC3WV/0UQ1x2LOZ+gh3T1lgZfHtuwF/7AbZN98AyenxxEs+aVb5G55h3jx3b9lgUfbn0Cgvsg4EKjkU42WF5efuO5rNR213bcL2OBms3OGcnh6ER9dH/e8dEGfe77B7/3urc382PJO8+NuH5Lgy+A4BYD+UWjvvM8vbwpbxzVYsixRn3n+EYIKeuZD1srsxJg7Rf1nVezrg2dmvbKESnhyURt9F5zqXOZcfYRB6+Rx87Mq2kftlf3VSR/kmcMm3cZ5JqhgC+vIPQJh3UUIjiyuzF62eZFFG9v+hl095GmwEyDx6vbdafB5ll5rsF3bLf/fGoNfpgbREO12+16ICtNANnGjwXfHyAYIRvUZk6oLQPpf2OzK+DzcGfwhfc3AHajUd9x0maMzbhmYPAhW4R5cJ2Dd5zCFXkmjh6qAPimUR/lNvc9bK2c5wBHN1vLPWytTHFgd/JqKNM7odMjQG631ZQInh+63mHamtvt1X2BlH8AkGcbltq22Vo5LXzZ3r17l3VYymY9BrlmcPCFcTF5jvPKhaKaBxd2IyvIkiheIfCFnG40ett6XJi6Vi8rBEOBduax6fFdO74YZMG30r0Dgy/rZVrLj8+AYGhrrMfRsu5J+73IFt9sddARGWnUR+v6sxebj64zzo89g+6bpq20tfz4dOAHdQawlgbQQd7H5l4MBz0Pqof/fWJ0KDK0GXMzrtlQ8LVarZqA6hIA3G3UR9+zfSE0jqvgrcXzqw8frkzxCj9GAWLr54VbNd8Tp9in2VsaZeoYAMiitKmtSKy1ldtGX7eh4MPJ45ZaAX8hTyC32epIKeX8xPjO6T5N1ep8yUDWdHuviCZMEioa8jgweYTKsG+CkBcajWTaVFK4RAPwrqSPb5jz32iwDPv5Gw6+tAkjMIHxp/H43MPmo8vA+fJui2KiZmv1cxDyHsYCW63HWER02yac8Kfm6oltnndX166YehNCXtytbEAERqu9+jXz2IXazne+MJEh8Jql9uNbAPKwSTs+bK7MSm4OwzRbq7MAEs2BmWEv7MvwvFLBtxhqMtjbqI++WURYUX638g0Av8vh+UXc4nXwJLFelDnQimtXE4EB5xV59PIcBz5jIjFgqEcAG0vyXpO0GzoSDORH4/WdjSLv/7LfUyr4isS40gS+2Hp0nIF3GEESBN29zOOfy0CcmJjYdSN+HzobkvMHNtoVwcWBfcyg8j5qVQx9ZNVtkK231H58DkBimOPDoiyZsJtWIGoTE7tuFwXcVtzeSwUfCXJYgvnTYue458E1KeQnHmc3kOFS4ZUbNtuw7aKqeN+XaXZgq7U6K0FOPYXukRGo1gSwUxz4xaLzSOM02sybTAMOcCMP/czm2YNcsyHgwxAFCGD1+juZBeB4rRRierw+eqjPuQiB5EG9/naotWwAGrKewZvyoIr8vNSCHtxK9efbChHH8IU3Cxzu7q6/GLDVnIxfP4PuzwfJhtCccId4HgQHi4ZaUHMzYJcEwMmNjKfaypCu2xDwRdVrctoma4HXSpAjE7FQTLO1sgTAashgxrALkgw4eGdqtbc+ixv+RLX/zuve1xdbB2wcvDRHPcaH2yl6HHk8c5PAcT7472nPsfmYshbTFMbBsTnnLMssyHr2Zvy+IeDDiaOdkidfGX9Z/NrRbkM7J3IsqksM4IEEtvYMnp/QQUasZt2+U57kccwBvxZ4U8ie5uAd0TWinrGItqZOE52XPPlPpUExPGMdAI5COMG5Z/B8xqQZbYCpwkC3AFg7AHmBSgweNlfOc87OFY1LmkBnM58iYN0w8OmTQY2Cfx/0a4y2D++ozl4moGN+WEpkwIweQc2IdpKMGNPvvQ5VZE9fEiDf07eduFAXW51jHnj3srZs3VbFMAsDsSePx0q2qakuBRkvTLJLHLzzaYAOnRCAywzgIIC80FDlm6ETx+UH9bF3PikCiBccs8WVI8zjv96IHjibAj5Mb2GKSrfrwvCE8N6ocv5V2mITQFDDAIg13eOLGDH+8b9z/8prUJ3mAKdtOyUobfoVB++KaSunRQgZMyk2pMljD+2+5c400qZMNlakZVcDIeSF3VrwWv37NwAwybh3fHzs7c+GAaCizwjfo716h4Mcy/Nx2Y73AvhseF95NRnG86QQD3Y3dq0HUymvKgNx0hQKiTTa6qwAqGE6TdmAbT1ToADU4h47Xt+1Y155heeeQXc8y9CPnJPqLZDiEXYdMBUM9ehPbL5R3/FCmw3c+roQjGCQXNei5BHr4IoH1B+2Hh2uQHAvbheGdSggR2wdg41O39nYr7Zgi1/XBz6ynZTQ1gmc8ZuUsb4vnqjXt6Os0kjUGN0gmKp63dtJhrkOJrTgTYb0YnPlCkh5FzVimm2StEgRY1pcCkBejJdmqi8fA+EHGvVRT5eDpqXGOHj7A+Gfoa725BFLzufWbbEwv8x+OywPmCIArfbqNxLY/SQ71UaZFAXPoPf1gU8tBEbyU2NSUSPtYNoUoFUAvix8eaJoUNX0UroDoWs1zAMDQFsGcAGY3EvNJXUgKjLlOQA2YkNK+FOrs3cbqzzF1Fu0rf5zzfSBEImVSfHHQEpMw6VSnoZNHSMnSQg5r+8qJD+TBtYVxDDIsYM4KEO3+SKngN/S01xJX0iSNjJpMPXca/EtFb074GwNhBjjHBkvo2/2gqoc87xzYf4XZEhSaNRHU9+ZtB0AbNdrMuK2HxI6/UAcI203CLDw49i1a9daUu4Y5521k5hkrMpLL3GQn8QjD0pJ3Mr6YPJqN5Rfq736pRQwn1V7M3Tw5ZlsRIlntXjopNlavS6DYF53LvClbNqRIe2KcZhmnJ0i2nhob0WJ/zEbry283pfbifXbs/161DBVpvnxM+g2suzLNJn0tnbWim+daFP6onsGGPtPDBDrZsGg4Y/QNIDKXlvb0nZd81D2SwWfaoVbi2szdC6EgM+IXYIvrgihEI/V6UIJyZ9CTGP4gXM+A+KHOZuAsc1CZnm9tosTHyuMZ0JwTYK4qmdM8LqHzdVjYboQ4K4H3skY1evTZzkL723ek0JXAPxgvf6OVUFU/N1taXSlgs92wfA6xYA5RIFk1AqM/bCGscP1cEzEkpmyyazQ2BTw5cAv2Mb30syItO1xcXHlCPfYKR9gJq1DKmqPbtfb63leK35ITagplzqXOYdf5gl/KFPkWnxHMdvXyf1x8qxZ1rWlg8+2C1VUaNRL0GObCwC5JgN5lnneMdy6R+CnI3krwTQyAnbCD8MpWV6zCWAq4/C1DIKZiYmx9WwH2bXhB7TUmcXsA4aXpMfafwd/wbRlZxEJbFg18YXvbYfZrPJoS/YOmnLXWYDK83vp4KPFj8fZ0LvlwNtJUX6KhzFgtaTGPgSieHOguIDQfuPcExjURe3EPOxq/yLBM7TBpH+T7C8dpKZIwWK7c8iTcFgAnML3q1Qqbcw++CL4I1bCCV++b4oIpBEJVBety0XSZxsZs8sDOrp2KOCLawpb2yKyL8zxvrSjEWwCq6EtpWJvr0P1WwZwT8+wmJ4RbmlRq9t1Rkr4b83ONFQAZMBqjMOvEXwYigmk/4KmI8EqTYP1uWsR2bU/fGWqhLORo0oxfpAn/1wEGDb35Fln0/MGBp/64mcpSa7qeDGJf2hQG0pfSPx/yg3jgTH4dwxyR9t25dB3nv9VLP4X9vXjHjsiAlkXAEBxSRUOwOAseph953bg+0gOByi1pWJl2JgS44l9hVBZuWDUzgDddq1We5oVKlHFUaeox4yS62UqEYgvXpGFL3JPEgijj6uCwfmrRTv8Dww+Whzhy0O4heCXCcDPeeB9aAM+G4EoT3eM6PaoFVEoGIfrZWVgZrfq6ULPjBafTzHG5/Vajcj4Xg1sKvjDPjA+P12peN+CEL9PY+ro70JbfbO5egw8OIUEhzc5D+VtIlgoosCn30H3ffyISHMKIebiAWSKMQrObpgW3qTV6Z6iJzzFQUiF64x7J4rmoAcHn6LwmBgaWaq71+DxxW4H+kKiAc6594SK0kmjYBglSmVVzhBjOdIg7LIM4KzndVtIxVLHavXlZk3hANOHgHXHgR/U9AOhdRoVhneEL5jnVeYDGVxCTSU9eMAk3EFwS5C/x65Z33P/N/8qvC+lkG3b4xiS2rdFXRvYrGJTh2lQmjv+t91exU6uBxHwP2Pb6siH9KV/DUNQeiSg/2NZ3SclO1A0vJK11huy7UZ2mx13LwzeCraP+rKor/0SgPhkot6rT4hA6R3Oo9JJkMqBuY4pN9yWo/gcOi7J57GFpY9BMMVBTOraRG3PX0uAvZQJCG3A9uqXmAFp1Ha8ixxAKeALxtlBZKMg0D1emREgzlFmAR0PGcBeALGLA8MC9MTu9Tb8QKV1viYqFYVfPF65jw6aAudHHmP/hWk/nBNwOcfAW7cV9QzN3lrtKbJXVFbnXR0oNvZ1EeDhPQNrvjwDY0kk5/y0riVN2oZCDZx7J2q73gppRWgzJbFpFhc7h7gH5wJfXqhU2JoAuC4A5uK5ZxS4lHxP3INWBMxZVCBCiKv6NmeiTEWaF5nKowuondCmw9gbcLbHFCzG8ksJMJlGKqBFRmDHiQzh1v+cT+qesYkIG8/x4jMXl1YuSc7a8co69ZF+Sh63KYdNWlQATOYp+rfFxKaCj7zbXhtbbL4tp0x0JdKmmIJDzYOe6uLSoxuM8WOce8fXt+DlPx8TIsBakbUA4AjaQOFWKERND5dEdl5UXxsPQiuw/1aAOGmiOUVBX3YwXj1GgFlqP74GQiwntdRIO9E81FrLq1O4TVM4xve7k5jaQ41ZgUrbF89nkfZVxLRJA4LNjoWyCUBK26ZGpvGS7PpE8G2kuqUJkoZL6pWC11EtBwKGbB0JcJ+S/lFvPpgCgCsENqrPACEvirDQJ2rs3etAAGf1pDfSjibG3llILgpfxZYfY3osUj3ryyCAC5gCQ/CDgIvxZDrKcXn5f2tJtHkVV7wEAK9z8N6lD5OcIqS3VXhlzhf+sb9z/yo6IzZOmq322ejrQhKwB6fiuenUbdfEPs47UZ1pXDT5Hm0HuMW93e45F9iVILLhFCCRLrXe5Bv/fT14rRYPuYO8AstMslMS5BiBd70UEtgcB7YQBP5ytSrvCbFtO9Xo+oJ/LYEvTGhhGfL2uMc+hEAuBwCX8EvWt6dmc/WEBDHJOB9Dqv1T8N9F+wrBiN63po0PfM+DiXgTc+x2UOFsXrdXw0B30D2tO0DxdUFNLeVPRoqcJTJsYJNdLwDOxj3zRM0XaQ9YGySYSfSqNLayLjgboSE9igOs1VU3eQRkN6hOV73+oxL0MkoEntJOSEwY11Nw4ZYqvDsMAEE+gk0b0YFATWfrlUZaNbQn1zt/kmOCHmbcWcF/oy20pxn9zJ4wuumga2HdJtSu+SBOgM1SHpTnzuPoZT0z7fcNt/lsGQ7RFhuVXKbZNkrTHaMgNoKMsX95I+0rJ5sLAKZYIBeI9UyODNmiaGtVKsG9AKrTpuaNpBWorW2VVZefyH88QW1mqnyLvnpRI09eSsmX2qt/U12v9tdqby1HBUhyJBBigWqBk7SPAnRfTYUJbHFKWBwA4XMw/hiriaHdYtgcvyQADg18Weo6qxFj5Fn9ZSzO4iCjm8BFnUxJm5KnmnVikJ5YH6/teF95ldKGlhTO7dGfTwshJ/9ZEf/9U5/9FaR8AIxNYixvvPbOb9CrrHA+h1vkuuca9Vs+BQJjjioOCLAAIGcDIWd+UhGf4ZbOACQxVChzoLNs8HlIr9pWqdwzfWThx6WcFFpovIf4j6FdyWCSHKJeqOZFkkGSExJmrpisDbNP4VDAR3lUqqUwIZ0Khkx0J5N3qjklmBnrS2vp2pTsyqy2GJHWWDlMlWhIJghtv9roRXQ0cEGeS/TqIvCgZqDDoZvLq+dByDAUgzliAeIqxg59IY7FOxdQZ3oM8L4GHrK6r2H4Bjib9wA+ZcB+JQCmOHjGblr0kXDOz1D5o0ZmfdKoj/5cB1iSk6QajZ/6ngc//5nw7ggAOVEfXY/h5eEnaibEgWHWoAwFfGS0S4CFpOMAIkbFT0dMKbfwIGaAtunepM5RSao8SQMTlw77p5DzQ0D5Px68jwuEHeXRYaDFxvLF+q63/icK0YhJFUz+KImNEpkOUecpbCqE2ypq8/g7mwLJ+ryJfaLnhLGnMuOVJ5TKUl7yzbiJ0gv/rGK4aWxifOfZdru9fdAuBknaFetAANApyn/e8FDA1zPu0zMJSYCxpfqEmQJga3o/P6ReyUD8cWJi5+e6BtUXU7eLqKF3+DVH2yIyWBqvgTcVPluFZfCDwqMKMIanEzBxERBUuKVltdaIetawNT2orc+FtIgCEgZ81ztZqVDOp4HyEuOhr+iD59iAaP34L7Wdot0ssYEmetvA4UCF+2eD0KnyrsYD7FnmUprDsF4HUrDGeCjgG8TjMRnDuiNAv/da7EZHCGjbcnjEPAdvXyC6s4zzox6rTGA4Qk+VmTIVce86vsDRFsi/phYaPa0SBqunAdh1tPcSt76ElFV8LioqcFNP0ofpLyk/ZiDnPVb9Qkgf6fSTAcB7FLII64aD7jEsNwg/JnXyOQPZqtdGJ9AJQnvS4+I/usK7iWnMCvOWu1Jsx49MfQh9H1dk0lSQR5l5cnqkNKq1om1RthT4VBE4Nu++bSJzKjutrRe9kMNBWQ/Swgz4TeaxI0nd27XF+gBrSJBx4guvGWeR6FugWlzM395DR0IIOMs5YO+9xDJREzmAQhog5ANThRdpPXKG1rvRg2xRj0Cc/+JSB/uyfERsH/LqqQ1xfEdRttvXIOQyhpEi8HWaEtgTtAejv6M3zm5TiM0m/FVU+WxB8G27JkHW+soW251DE7X+w57JO5YQXEdbs0hr2ajutrILDXulBW4KCObihTyo2eh3BmISg8VI2cdDgwPpI2vmahpViTxPKo8kMCVRutDjlCBv4jhonxKtXU/9aU7AQYxdoilAwevUrbL1aFo3L6IwU+/wQ52IocC4RNt4UZBteKhl2BPrbbfhITH39Q5Uikp+nAOcwAZBOhkgzYZJ+81EOiBOHQdvxmQr0TaH4K/y4H1T/hefKyQ7LUEclkLeRY0TaiT+k6NM8t/R2b9FbK+ofBMp/ztOKhIv1jUbj3Uouj5pud0ic9bnMRTNR9VWWUfR03m42NjHJt1GLGXmwSQH/wqVQaqwzWHcLsNGeKoXHtXsmlJP6NkyDkeZgeSqbcG/1OtwlXa5E2eq4HiRw7KCOV2QnM0xKY/r9Hu6hsgMmDkJAK5Sgp7yzPjhVL1tnyAXEEM4aFLge+veadLWpy9+5GzAb3Vmtm7DZgEl6/c4eOmMkkHIqS+Aj+JmkrPbtvRoldzvIyqavjQKydgWv5A3hbYVsZSzthS09QKAd+Nzp+OrkuxAUyhBHyurOVL4YfliLH68VJInr9J6606AL+WnnHtXMLRDhwFiegzJrEIIjDFux2A12Yjo+UMgD+OHFmVYHt/SKff6toz3RR8ev1Gvv9g6TQW28eDssMNDlpY0eexZ95h+f7FLFTUX5HymPmZXNIwLywI5MkjDatPkkvK2dG3ur9WiY6hpHsr2+Za2zaRrsuo0TPfRB6bH68IG5Lz6ehRjRLp/+GcNAJ6CkHPj46MXKEyETBjGxBtIGgWQM3QWW+iQtDuzyKKWIM9WuLcHxA+fYSoSH6ZnSnrZn979+lzxWXF70hQ9yAtAo+YDLg/bVvvnHTDp+rxAwucstTr3pYA5E40Jf08DA27RNo2McF6dTueN5z78AbuAYmou3rYDFy8Q3i2b/iQ4r7D1m5BPo7NDwnrk08ioMQVrydmYqO38Aj3TpKZARGql91YeNRb4hF1LQ03Y7EwzjyFhRMYzTWm1wGRPDptPOBSbLw8ATSCLKrWCz4UvZ2wAQeOZevaRhyaFXEhipVBuE7fzqlfpKy7CRSPN0LMF2QHko+G/c2BI0W/p1CmlOZaEEDdM3aLitpdiNofZFHxmnqY9+rN0ueO8hQwuS5AfIOOlWuVP8WRKNDPqO9/5XWR7hn+eCBE8xXmSF97t8inmsY+S8tzKVj+MvEKb+J8+L1NTT/p908G31Op8hXEyPUFNZAGkzcdProzXfegvlkT9buKpQULOp9VKIFeOc/YUyysxyf+Lxs6rejiFEv2KRYNF5O9RCMQH9qt40x5Tp1GcK21pcXp+HDhS+tv1YC2+N4ZEcBxy6PxKpb1N+rckwEi8bS71YkZw6aRUHCde89H7eMMTkM5jLxgOchfFENOUSZ4dKpJnGEdcM6VONx18UTE4W7DlCRJZ1NZJIcHZCCmpH6ENvTy+QAhm4HKBYoSUvwX45zweneBVqvdNJYYmm2/dk+Z8DwZ/KS6Ibeew3Ua4tcZSWnru3GyjRUVeulyiQ3P4x3GwpplGoa0JrJ3V/oyekVZCsOngy7NF6y+QR93TgoKQM42G3dHzReaVukiofaPCm76OpvF74j1oeu/cO05B/0gCCKYg6O9NbfgQVEd6dkQ/9IVY0B6vXMkjT/2DxvAS4wxTnIkVeLayfCnAZ/sydJ1yAO4A967EtU3oBS4/3lvRWMf68200pq12Taq7zfs+8evDvK8fjCVFFxSgscPsOukAn0HM8q3QbDzU3oMK4mW6P/L4Vg4zDzun9pdI4nuQjQKhB23+sgmcVEDEgeGRUheSHIGiwKb5hIvEGLbqCP9o8buwTzR+aEldTU1rY+oRU9Ya/ujAl6S5onABO8hBXvWFNHpuZGsJzhZMpYJ68U5EREDGCxtDatRronKecXYUm4NHjc77a0oo9IHnn3UD+Ub89zgAeiCTYwGwD3UHBzVYaMSHlK9+IoAO0jhw1XnCB9ICyTgusqaz5jcMwP6owBfx4uDj+GLpEfksGyxNqGT4E4WfAq212o4H7fbj2QDkAaQtqZ7UfWdsUHs1ZEIDAFLy+37Xx6Wz6wIQhxnAnrhDQB9YaEKE9P0q8vTWKVDKw/5GYlhFtdPthY3S63+1ar4btk6h6cOxCbi/1OCLb3XUJzkAeD+eXrMlrKaBT8UQ/yaEvKof3kLMZwx4TzRGT6RR1HvEW0+aToBUGu9rLCrCzEScgULVdtKXZ5NionQNvoteLxt+LBmnE+lVf0WcksjZY5eegb8/K38/NPDlMdT7vvKwxVl1XxYpwfR1LbVXkc6UGEwextYQf4YJxFE9sTdrakth2sZIu1B88cUxsFY5GDGRNCPO47ZLAoL5je4cmpSci1YAAARiSURBVCQ/BDfVNb84985erG0xBdvj1w4FfCpD8RXmHfNWN5EHljd1o8oQ/woRly/MFGyVP/qHaNrGVPH76SIZA3pHU/+WzXj/nma2j9UmzWtI4Au/xmuc8/l4hsJGIFgvmnQSkUmj9ox3PpN0QEvauDaGt35/Hq0eZRPETSYr58fH3/4sys1W9pqo6fhcUwGOjedMGQ3bj1bP3cZLKW3WSL8mD9U+7dlDAV/eyee5Xj/eiu5br3lIocmnjREVGsmDWWdyUKYgkL71sQNJMTbTfCjtpcfdlF2JZw3jkVZ9XVP7zRX7A6CpjzMCdXdtx4Okdmi6VsX/H/SU0Kx13vLga7Y6L9TtZr3UsH5XXLpjMqzXlXNEV7J9vtKweBZvYjFOPJVHRUvx3jBZ2jAtga8q3Y6S95rmfBH40VNOKoO1ff+k68JQEfOWtzz48rTbGFQo8a02zj7J83yi4COJIk/PFxpDd1SwPiPqsCDHOPj74wfbKMAEqntXX3PHPHOma4fRFi1pXJorEiC2PPiKCC/vPQiUb4WQWaGBvM+NGobDA5PXSuD63uveNo2LTGUm4UsszwxrNCISQNj9IOmQP6payztPvD6PXVvk+fo9YRWiLxz4SEPFY3eDCpgWFA/BY8CuxGN662wWReeKj0exQx1stn2k885dBeGvbVZ3KprfS635qGg6q09L1mJEffDyEyWznqvCEnf0c9PoniQ6V7+GSO8nTZ618OFkPOCcR5MV/QDzjGGS1UsNPlOlfxYgfky/q8aLWOd8tq+QPmylAdfiaca0d8/LwImcMTlJ568UketLDb4iL7wR9wyqAQa9P/5O1A3UpHGH8f44X2pyTr1vijzXgS9FajagiGon/GtZJ0mmeX/hUfUR7T88U2OYf2zegcbLc21a1zHb+TvwJUgqMsI7TRDskzTK+KDdPG1qPExTJHs3rQBfORJ99bxJwMBt1Pf9MZucrC24sq5z4EsBX9IZFqZtrminJnxWmr0VpeDa2+OxPZVe+0iA/FXSaeHkSOiNf0yvO8x8bRbg9N+3FPjyqP08L/myXhsBb/VSVOPbvyWbKveG/Z4bvR5bBnwq7jUbAJywbdMxbGFvxedhtgE7jCZthzbHZRV5L1Nv6CLPSbtn64Av7LgE1mV8eQSx0V9wnrkM81qVqsLu9rlpZVm9Z6iXjAR5MWlbH/Rdtgz4Bn2RpPtVJRtmGW5joc9GjVPWc4swtBVokWaPTcL3lzX3VwJ82HE0y+guYwHyVp4VmaNJ6+O/oTPFube9aJ1GkbnE7/nRg4+8Sfxv3GMchgCLbum0ZZoOc47Pq+gYzeXVWRBYuJ7MCxyGDIo+45UAX1HhZN1HCXnsMFXkkGTT2WrxMVXTRywAx+6omU266X41t5vUxnfYjJ0s2dj87sBnI6WEa9ar1qJTMAfm0Zk0Hh3msllHUg0gjty3OvDlFln/DXg4C4dKoUNQbIam/nxlVarZzLHoNQ58RSXn7htYAv8PRiXPkbQtB6gAAAAASUVORK5CYII="}),T().createElement("image",{id:"image3",width:"568",height:"253",xlinkHref:"data:image/png;base64,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"})));Ks.propTypes={width:L().number.isRequired,height:L().number.isRequired};const Xs=Ks;var $s=s(53654),ea=s(79751),ta=s(34529),sa=s(98496),aa=s(25660);function na(e){var t;const s=(0,a.useDispatch)(),n=(0,a.useSelector)((e=>(0,sa.o)(e,x.IQ.CLOUD_INVOICE_PREVIEW))),i=()=>{s((0,ea.O)(x.IQ.CLOUD_INVOICE_PREVIEW)),"function"==typeof e.onHide&&e.onHide()};return T().createElement(ta.Modal,{show:n,onExited:i,onHide:i,id:"cloud-invoice-preview",className:"CloudInvoicePreview",dialogClassName:"a11y__modal"},T().createElement(ta.Modal.Header,{closeButton:!0},T().createElement(ta.Modal.Title,null,"Invoice"),T().createElement("div",{className:"subtitle"},T().createElement(N.FormattedMessage,{id:"cloud.invoice_pdf_preview.download",values:{downloadLink:t=>T().createElement(ce.A,{href:e.url||"",location:"cloud_invoice_preview"},t)}}))),T().createElement(ta.Modal.Body,null,T().createElement("div",{className:"cloud_invoice_preview_modal"},T().createElement(aa.default,{fileInfo:{extension:"pdf",size:0,name:""},fileUrl:null!==(t=e.url)&&void 0!==t?t:"",scale:1.4,handleBgClose:()=>{}}))))}na.propTypes={onHide:L().func,url:L().string};const ia=na;s(94031);var ra=s(9944);function oa(e){let{invoice:t}=e;const s=t.line_items.filter((e=>e.type===ra.nv.Full)).reduce(((e,t)=>e+t.quantity),0),a=t.line_items.filter((e=>e.type===ra.nv.Partial)).reduce(((e,t)=>e+t.quantity),0),n=t.line_items.filter((e=>e.type===ra.nv.Metered)).reduce(((e,t)=>e+t.quantity),0),i=t.line_items.filter((e=>e.type===ra.nv.OnPremise)).reduce(((e,t)=>e+t.quantity),0);return i?T().createElement(N.FormattedMessage,{id:"admin.billing.history.onPremSeats",defaultMessage:"{num} seats",values:{num:Math.floor(i)}}):n?s||a?T().createElement(N.FormattedMessage,{id:"admin.billing.history.fractionalAndRatedSeats",defaultMessage:"{fractionalSeats} metered seats, {fullSeats} seats at full rate, {partialSeats} seats with partial charges",values:{fractionalSeats:(0,H.Kv)(n,2),fullSeats:s.toFixed(0),partialSeats:a.toFixed(0)}}):T().createElement(N.FormattedMessage,{id:"admin.billing.history.fractionalSeats",defaultMessage:"{fractionalSeats} seats",values:{fractionalSeats:(0,H.Kv)(n,2)}}):T().createElement(N.FormattedMessage,{id:"admin.billing.history.seatsAndRates",defaultMessage:"{fullSeats} seats at full rate, {partialSeats} seats with partial charges",values:{fullSeats:s.toFixed(0),partialSeats:a.toFixed(0)}})}function la(e){let{invoices:t}=e;const s=(0,a.useDispatch)(),[n,i]=(0,_.useState)(void 0),[r,o]=(0,_.useState)(1),l=Object.values(t||[]).length;(0,_.useEffect)((()=>{if(t&&l){const e=Object.values(t).sort(((e,t)=>t.period_start-e.period_start));i(e.slice(r-1,r-1+4))}}),[t,r]);const d=T().createElement("div",{className:"BillingHistory__paging"},T().createElement(N.FormattedMessage,{id:"admin.billing.history.pageInfo",defaultMessage:"{startRecord} - {endRecord} of {totalRecords}",values:{startRecord:r,endRecord:Math.min(r+3,Object.values(t||[]).length),totalRecords:Object.values(t||[]).length}}),T().createElement("button",{onClick:()=>{r>4&&o(r-4)},disabled:r<=4},T().createElement("i",{className:"icon icon-chevron-left"})),T().createElement("button",{onClick:()=>{t&&r+4<l&&o(r+4)},disabled:!t||r+4>=l},T().createElement("i",{className:"icon icon-chevron-right"})));return T().createElement(T().Fragment,null,T().createElement("table",{className:"BillingHistory__table"},T().createElement("tbody",null,T().createElement("tr",{className:"BillingHistory__table-header"},T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.billing.history.date",defaultMessage:"Date"})),T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.billing.history.description",defaultMessage:"Description"})),T().createElement("th",{className:"BillingHistory__table-headerTotal"},T().createElement(N.FormattedMessage,{id:"admin.billing.history.total",defaultMessage:"Total"})),T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.billing.history.status",defaultMessage:"Status"})),T().createElement("th",null,"")),null==n?void 0:n.map((e=>{const t=de.mT.getInvoicePdfUrl(e.id);return T().createElement("tr",{className:"BillingHistory__table-row",key:e.id,onClick:()=>{s((0,ea.q)({modalId:x.IQ.CLOUD_INVOICE_PREVIEW,dialogType:ia,dialogProps:{url:t}}))}},T().createElement("td",{"data-testid":"billingHistoryTableRow"},T().createElement(N.FormattedDate,{value:new Date(e.period_start),month:"2-digit",day:"2-digit",year:"numeric",timeZone:"UTC"})),T().createElement("td",null,T().createElement("div",null,e.current_product_name),T().createElement("div",{className:"BillingHistory__table-bottomDesc"},T().createElement(oa,{invoice:e}))),T().createElement("td",{"data-testid":e.number,className:"BillingHistory__table-total"},T().createElement(N.FormattedNumber,{value:e.total/100,style:"currency",currency:"USD"})),T().createElement("td",{"data-testid":e.id},(e=>{switch(e){case"failed":return T().createElement("div",{className:"BillingHistory__paymentStatus failed"},T().createElement("i",{className:"icon icon-alert-outline"}),T().createElement(N.FormattedMessage,{id:"admin.billing.history.paymentFailed",defaultMessage:"Payment failed"}));case"paid":return T().createElement("div",{className:"BillingHistory__paymentStatus paid"},T().createElement("i",{className:"icon icon-check-circle-outline"}),T().createElement(N.FormattedMessage,{id:"admin.billing.history.paid",defaultMessage:"Paid"}));default:return T().createElement("div",{className:"BillingHistory__paymentStatus pending"},T().createElement("i",{className:"icon icon-check-circle-outline"}),T().createElement(N.FormattedMessage,{id:"admin.billing.history.pending",defaultMessage:"Pending"}))}})(e.status)),T().createElement("td",{className:"BillingHistory__table-invoice"},T().createElement("a",{"data-testid":"billingHistoryLink-".concat(e.id),target:"_self",rel:"noopener noreferrer",onClick:e=>e.stopPropagation(),href:t},T().createElement("i",{className:"icon icon-file-pdf-outline"}))))})))),l>4&&d)}const da=(0,N.defineMessages)({title:{id:"admin.billing.history.title",defaultMessage:"Billing History"}}),ca=[da.title],ma=e=>T().createElement("div",{className:"BillingHistory__noHistory"},T().createElement(Xs,{width:300,height:210}),T().createElement("div",{className:"BillingHistory__noHistory-message"},T().createElement(N.FormattedMessage,{id:"admin.billing.history.noBillingHistory",defaultMessage:"In the future, this is where your billing history will show."})),T().createElement(ce.A,{"data-testid":"billingHistoryLink",location:"billing_history",href:e.selfHosted?x.Zd.SELF_HOSTED_BILLING:x.Lu.BILLING_DOCS,className:"BillingHistory__noHistory-link",onClick:()=>(0,I.sx)("cloud_admin","click_billing_history",{screen:"billing"})},T().createElement(N.FormattedMessage,{id:"admin.billing.history.seeHowBillingWorks",defaultMessage:"See how billing works"})));ma.propTypes={selfHosted:L().bool.isRequired};var ua=s(95685),pa=s.n(ua),ga=s(42689),ha=s.n(ga),fa=s(35631),Ea=s(3569),ba=s(44553),va=s(49395);const Ma=e=>{const t=e.styleButton?" style-button":"",s=e.styleLink?" style-link":"",[a]=(0,va.A)(),n=T().createElement(N.FormattedMessage,{id:"upgradeLink.warn.upgrade_now",defaultMessage:"Upgrade now"});return T().createElement("button",{className:"upgradeLink".concat(t).concat(s),onClick:t=>(async t=>{t.preventDefault(),e.telemetryInfo&&(0,I.sx)("upgrade_mm_cloud",e.telemetryInfo),a()})(t)},e.buttonText?e.buttonText:n)};Ma.propTypes={telemetryInfo:L().string,buttonText:L().string,styleButton:L().bool,styleLink:L().bool};const ya=Ma;var Sa=s(90327);const Aa=e=>{let{trialEndDate:t}=e;const s=new Date(t),{formatMessage:n}=(0,N.useIntl)(),[i]=(0,va.A)(),r=(0,a.useDispatch)(),o=(0,a.useSelector)(Ea.HW),l=(0,a.useSelector)((e=>(0,m.Jt)(e,x.pm.CLOUD_TRIAL_BANNER,x.qE.UPGRADE_FROM_TRIAL)));let d=!0;if(!pa()(l)){const e=ha()(),t=ha()(Number(l||0)).diff(e,"days")<0;d=Boolean(l)&&t}const[c,u]=(0,_.useState)(d);return 0!==t&&c?T().createElement(ba.A,{mode:"info",onDismiss:()=>{u(!1);const e=ha()(new Date).add(10,"days").format("x");r((0,fa.SF)(o.id,[{category:x.pm.CLOUD_TRIAL_BANNER,name:x.qE.UPGRADE_FROM_TRIAL,user_id:o.id,value:e}]))},title:T().createElement(N.FormattedMessage,{id:"admin.subscription.cloudTrialCard.upgradeTitle",defaultMessage:"Upgrade to one of our paid plans to avoid Free plan data limits"}),message:T().createElement(N.FormattedMessage,{id:"admin.subscription.cloudTrialCard.description",defaultMessage:"Your trial ends on {date} {time}. Upgrade to one of our paid plans with no limits.",values:{date:ha()(s).format("MMM D, YYYY "),time:ha()(s).endOf("day").format("h:mm a ")+ha()().tz((0,Sa.C7)()).format("z")}}),hideIcon:!0,actionButtonLeft:T().createElement(ya,{buttonText:n({id:"admin.subscription.cloudTrialCard.upgrade",defaultMessage:"Upgrade"}),styleButton:!0,telemetryInfo:"billing_subscriptions_cloud_trial_banner"}),actionButtonRight:T().createElement("button",{onClick:i,className:"AlertBanner__buttonRight"},T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.privateCloudCard.contactSalesy",defaultMessage:"Contact sales"}))}):null};Aa.propTypes={trialEndDate:L().number.isRequired};const Ca=Aa;var _a=s(19408),Ta=s(54302);const Na=e=>T().createElement("svg",{width:e.width?e.width.toString():"372",height:e.height?e.height.toString():"250",viewBox:"0 0 372 250",fill:"none",xmlns:"http://www.w3.org/2000/svg"},T().createElement("g",{clipPath:"url(#clip0)"},T().createElement("g",{filter:"url(#filter0_d)"},T().createElement("rect",{x:"6",y:"20",width:"338",height:"197",rx:"8",fill:"white"}),T().createElement("rect",{x:"6",y:"20",width:"100.516",height:"197",fill:"#1E325C"}),T().createElement("circle",{cx:"22",cy:"39",r:"9",fill:"white",fillOpacity:"0.16"}),T().createElement("rect",{x:"38",y:"33",width:"45",height:"5",rx:"2.5",fill:"white",fillOpacity:"0.32"}),T().createElement("rect",{x:"38",y:"41",width:"30",height:"3",rx:"1.5",fill:"white",fillOpacity:"0.32"}),T().createElement("rect",{x:"15",y:"60",width:"30",height:"4",rx:"2",fill:"white",fillOpacity:"0.32"}),T().createElement("rect",{x:"16",y:"190",width:"29",height:"4",rx:"2",fill:"white",fillOpacity:"0.32"}),T().createElement("circle",{cx:"19",cy:"76",r:"4",fill:"white",fillOpacity:"0.16"}),T().createElement("rect",{x:"29",y:"74",width:"57",height:"4",rx:"2",fill:"white",fillOpacity:"0.32"}),T().createElement("circle",{cx:"19",cy:"126",r:"4",fill:"white",fillOpacity:"0.16"}),T().createElement("rect",{x:"30",y:"124",width:"57",height:"4",rx:"2",fill:"white",fillOpacity:"0.32"}),T().createElement("circle",{cx:"19",cy:"93",r:"4",fill:"white",fillOpacity:"0.16"}),T().createElement("rect",{x:"30",y:"91",width:"49",height:"4",rx:"2",fill:"white",fillOpacity:"0.32"}),T().createElement("circle",{cx:"19",cy:"142",r:"4",fill:"white",fillOpacity:"0.16"}),T().createElement("rect",{x:"30",y:"141",width:"49",height:"4",rx:"2",fill:"white",fillOpacity:"0.32"}),T().createElement("circle",{cx:"19",cy:"109",r:"4",fill:"white",fillOpacity:"0.16"}),T().createElement("rect",{x:"30",y:"107",width:"64",height:"4",rx:"2",fill:"white",fillOpacity:"0.32"}),T().createElement("circle",{cx:"19",cy:"159",r:"4",fill:"white",fillOpacity:"0.16"}),T().createElement("rect",{x:"30",y:"157",width:"64",height:"4",rx:"2",fill:"white",fillOpacity:"0.32"}),T().createElement("circle",{cx:"19",cy:"204",r:"4",fill:"white",fillOpacity:"0.16"}),T().createElement("rect",{x:"30",y:"203",width:"64",height:"4",rx:"2",fill:"white",fillOpacity:"0.32"}),T().createElement("circle",{cx:"19",cy:"176",r:"4",fill:"white",fillOpacity:"0.16"}),T().createElement("rect",{x:"30",y:"174",width:"43",height:"4",rx:"2",fill:"white",fillOpacity:"0.32"}),T().createElement("circle",{cx:"124",cy:"66",r:"8",fill:"#3F4350",fillOpacity:"0.08"}),T().createElement("rect",{x:"139",y:"59",width:"39",height:"4",rx:"2",fill:"#3F4350",fillOpacity:"0.16"}),T().createElement("rect",{x:"139",y:"68",width:"119",height:"3",rx:"1.5",fill:"#3F4350",fillOpacity:"0.08"}),T().createElement("rect",{x:"139",y:"76",width:"98",height:"3",rx:"1.5",fill:"#3F4350",fillOpacity:"0.08"}),T().createElement("rect",{x:"139",y:"84",width:"133",height:"3",rx:"1.5",fill:"#3F4350",fillOpacity:"0.08"}),T().createElement("rect",{x:"139",y:"92",width:"70",height:"3",rx:"1.5",fill:"#3F4350",fillOpacity:"0.08"}),T().createElement("circle",{cx:"124",cy:"118",r:"8",fill:"#3F4350",fillOpacity:"0.08"}),T().createElement("rect",{x:"139",y:"111",width:"39",height:"4",rx:"2",fill:"#3F4350",fillOpacity:"0.16"}),T().createElement("rect",{x:"139",y:"120",width:"119",height:"3",rx:"1.5",fill:"#3F4350",fillOpacity:"0.08"}),T().createElement("rect",{x:"139",y:"128",width:"98",height:"3",rx:"1.5",fill:"#3F4350",fillOpacity:"0.08"}),T().createElement("rect",{x:"139",y:"136",width:"133",height:"3",rx:"1.5",fill:"#3F4350",fillOpacity:"0.08"}),T().createElement("rect",{x:"139",y:"144",width:"70",height:"3",rx:"1.5",fill:"#3F4350",fillOpacity:"0.08"}),T().createElement("circle",{cx:"124",cy:"170",r:"8",fill:"#3F4350",fillOpacity:"0.08"}),T().createElement("rect",{x:"139",y:"163",width:"39",height:"4",rx:"2",fill:"#3F4350",fillOpacity:"0.16"}),T().createElement("rect",{x:"139",y:"172",width:"119",height:"3",rx:"1.5",fill:"#3F4350",fillOpacity:"0.08"}),T().createElement("rect",{x:"139",y:"180",width:"98",height:"3",rx:"1.5",fill:"#3F4350",fillOpacity:"0.08"}),T().createElement("rect",{x:"139",y:"188",width:"133",height:"3",rx:"1.5",fill:"#3F4350",fillOpacity:"0.08"}),T().createElement("rect",{x:"139",y:"196",width:"70",height:"3",rx:"1.5",fill:"#3F4350",fillOpacity:"0.08"}),T().createElement("circle",{cx:"166.5",cy:"32.5",r:"2.5",fill:"#3F4350",fillOpacity:"0.16"}),T().createElement("circle",{cx:"320",cy:"36",r:"4",fill:"#3F4350",fillOpacity:"0.16"}),T().createElement("circle",{cx:"248",cy:"36",r:"4",fill:"#3F4350",fillOpacity:"0.16"}),T().createElement("circle",{cx:"177.5",cy:"32.5",r:"2.5",fill:"#3F4350",fillOpacity:"0.16"}),T().createElement("circle",{cx:"332",cy:"36",r:"4",fill:"#3F4350",fillOpacity:"0.16"}),T().createElement("rect",{x:"116",y:"31",width:"43",height:"3",rx:"1.5",fill:"#3F4350",fillOpacity:"0.24"}),T().createElement("rect",{x:"256",y:"32",width:"55",height:"8",rx:"4",fill:"#3F4350",fillOpacity:"0.08"}),T().createElement("rect",{x:"133",y:"40",width:"66",height:"1",rx:"0.5",fill:"#3F4350",fillOpacity:"0.08"}),T().createElement("circle",{cx:"118.5",cy:"40.2079",r:"2.5",fill:"#3F4350",fillOpacity:"0.16"}),T().createElement("ellipse",{cx:"126.5",cy:"40.2128",rx:"2.5",ry:"2.5049",fill:"#3F4350",fillOpacity:"0.16"}),T().createElement("rect",{x:"5",y:"19",width:"340",height:"199",rx:"9",stroke:"#3F4350",strokeOpacity:"0.04",strokeWidth:"2"})),T().createElement("path",{d:"M217.487 89.5394C229.639 77.858 243.676 72.0115 259.598 72C275.521 71.9885 289.563 77.835 301.726 89.5394C311.984 99.6693 318.199 113.202 319.206 127.597C320.212 141.993 315.941 156.262 307.194 167.726L316.308 176.857L304.632 188.556L295.519 179.425C284.094 187.973 270.012 192.18 255.781 191.296C241.44 190.434 228.676 184.651 217.487 173.946C205.829 161.759 200 147.688 200 131.734C200 115.78 205.829 101.715 217.487 89.5394Z",fill:"#B3B3B3"}),T().createElement("path",{d:"M225.378 97.2236C234.548 87.9772 246.012 83.2277 259.768 82.975C272.623 82.9932 284.946 88.118 294.035 97.2258C303.125 106.334 308.24 118.681 308.258 131.562C308.017 145.448 303.277 156.935 294.038 166.02C284.918 175.106 272.627 180.278 259.768 180.441C245.909 179.959 234.445 175.152 225.378 166.02C216.31 156.889 211.513 145.402 210.985 131.562C211.148 118.677 216.31 106.361 225.378 97.2236Z",fill:"#F2F2F2"}),T().createElement("path",{d:"M227.029 160.783C231.525 165.299 236.866 168.882 242.747 171.327C248.628 173.772 254.932 175.031 261.298 175.031C267.665 175.031 273.969 173.772 279.85 171.327C285.73 168.882 291.072 165.299 295.568 160.783C300.774 155.646 304.763 149.405 307.244 142.519C305.237 151.646 300.681 160.012 294.107 166.64C284.955 175.768 272.569 180.892 259.656 180.892C246.744 180.892 234.358 175.768 225.206 166.64C218.626 160.016 214.069 151.648 212.069 142.519C210.114 133.638 210.747 124.38 213.892 115.849C212.195 123.646 212.449 131.743 214.631 139.418C216.894 147.475 221.16 154.826 227.029 160.783Z",fill:"#999999"}),T().createElement("path",{d:"M357.006 243.535C353.963 244.379 351.727 244.086 350.266 242.622L302.498 190.762C301.773 190.025 301.231 189.129 300.914 188.144C300.598 187.16 300.516 186.115 300.675 185.093C301.286 182.085 302.812 179.34 305.043 177.237C307.178 175.009 309.895 173.427 312.884 172.671C313.92 172.457 314.996 172.532 315.993 172.887C316.99 173.243 317.872 173.865 318.541 174.687L370.676 222.55C372.138 224.014 372.396 226.202 371.416 229.114C370.226 232.388 368.363 235.376 365.948 237.884C363.501 240.505 360.421 242.451 357.006 243.535Z",fill:"#FFBC1F"}),T().createElement("path",{d:"M360.119 212.66L340.791 232.388L317.097 206.819L334.601 189.28L360.119 212.66Z",fill:"#954D0E"})),T().createElement("defs",null,T().createElement("filter",{id:"filter0_d",x:"-8",y:"14",width:"366",height:"225",filterUnits:"userSpaceOnUse",colorInterpolationFilters:"sRGB"},T().createElement("feFlood",{floodOpacity:"0",result:"BackgroundImageFix"}),T().createElement("feColorMatrix",{in:"SourceAlpha",type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0",result:"hardAlpha"}),T().createElement("feOffset",{dy:"8"}),T().createElement("feGaussianBlur",{stdDeviation:"6"}),T().createElement("feColorMatrix",{type:"matrix",values:"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.12 0"}),T().createElement("feBlend",{mode:"normal",in2:"BackgroundImageFix",result:"effect1_dropShadow"}),T().createElement("feBlend",{mode:"normal",in:"SourceGraphic",in2:"effect1_dropShadow",result:"shape"})),T().createElement("clipPath",{id:"clip0"},T().createElement("rect",{width:"372",height:"250",fill:"white"}))));Na.propTypes={width:L().number.isRequired,height:L().number.isRequired};const Ra=Na,wa=e=>T().createElement("svg",{width:e.width?e.width.toString():"364",height:e.height?e.height.toString():"265",viewBox:"0 0 364 265",fill:"none",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},T().createElement("path",{d:"M350.196 127.516C359.39 136.493 364 147.856 364 161.66C364 175.464 359.39 186.854 350.196 195.803C341.003 204.78 329.612 209.472 316.052 209.96H62.4837C44.5576 209.472 29.6689 203.315 17.7905 191.437C5.9392 179.586 0 164.697 0 146.771C0 128.845 5.9392 113.956 17.7905 102.078C29.6418 90.2264 44.5576 84.0431 62.4837 83.555C62.9718 59.8253 71.0806 40.0822 86.8371 24.3528C102.567 8.62339 122.31 0.514616 146.039 0.0264618C165.891 -0.000657862 183.193 5.80295 197.973 17.4373C212.754 29.0716 222.544 44.0688 227.398 62.483C235.616 56.6794 245.08 53.7505 255.738 53.7505C269.786 54.2386 281.529 59.2015 290.967 68.6392C300.404 78.0768 305.367 89.8468 305.855 103.868C305.855 107.746 305.367 111.38 304.391 114.77C308.269 113.793 312.12 113.305 316.025 113.305C329.585 113.821 340.975 118.539 350.196 127.516Z",fill:"#FFBC1F"}),T().createElement("mask",{id:"mask0","mask-type":"alpha",maskUnits:"userSpaceOnUse",x:"0",y:"0",width:"364",height:"210"},T().createElement("path",{d:"M350.196 127.516C359.39 136.493 364 147.856 364 161.66C364 175.464 359.39 186.854 350.196 195.803C341.003 204.78 329.612 209.472 316.052 209.96H62.4837C44.5576 209.472 29.6689 203.315 17.7905 191.437C5.9392 179.586 0 164.697 0 146.771C0 128.845 5.9392 113.956 17.7905 102.078C29.6418 90.2264 44.5576 84.0431 62.4837 83.555C62.9718 59.8253 71.0806 40.0822 86.8371 24.3528C102.567 8.62339 122.31 0.514616 146.039 0.0264618C165.891 -0.000657862 183.193 5.80295 197.973 17.4373C212.754 29.0716 222.544 44.0688 227.398 62.483C235.616 56.6794 245.08 53.7505 255.738 53.7505C269.786 54.2386 281.529 59.2015 290.967 68.6392C300.404 78.0768 305.367 89.8468 305.855 103.868C305.855 107.746 305.367 111.38 304.391 114.77C308.269 113.793 312.12 113.305 316.025 113.305C329.585 113.821 340.975 118.539 350.196 127.516Z",fill:"#FFC847"})),T().createElement("g",{mask:"url(#mask0)"},T().createElement("rect",{x:"3.47766",y:"137.949",width:"358.204",height:"86.9427",fill:"url(#pattern0)"})),T().createElement("path",{d:"M364 161.66C364 147.856 359.39 136.493 350.196 127.517C341.003 118.567 329.612 113.848 316.052 113.36C312.174 113.36 308.296 113.848 304.418 114.825C305.394 111.435 305.883 107.801 305.883 103.923C305.394 89.8745 300.432 78.1317 290.994 68.6941C281.556 59.2564 269.786 54.2393 255.738 53.7512C245.08 53.7512 235.643 56.653 227.398 62.4837C222.544 44.0694 212.754 29.0723 197.973 17.4379C183.193 5.80361 165.891 0 146.039 0C122.31 0.488154 102.567 8.59693 86.8371 24.3263C71.0806 40.0828 62.9718 59.826 62.4837 83.5285C44.5576 84.0167 29.6689 90.2 17.7905 102.051C5.9392 113.957 0 128.845 0 146.772C0 146.772 0.759347 100.966 66.5787 89.9017C69.0466 27.1197 123.801 9.89867 146.582 9.89867C169.362 9.89867 206.652 20.9635 225.744 70.8094C265.935 45.5881 310.873 76.3147 298.56 122.499C354.535 110.187 364 161.66 364 161.66Z",fill:"#F5AB00"}),T().createElement("path",{d:"M88.0846 173.051V253.732C88.0846 259.834 93.0204 264.797 99.0952 264.797H231.114C237.188 264.797 242.124 259.834 242.124 253.732V173.051H88.0846Z",fill:"#BABEC9"}),T().createElement("path",{d:"M242.124 162.014C242.124 155.912 237.188 150.949 231.114 150.949H99.0952C93.0204 150.949 88.0846 155.912 88.0846 162.014V173.078H242.097V162.014H242.124Z",fill:"#808F95"}),T().createElement("path",{d:"M114.716 154.474C123.096 154.474 129.903 157.349 129.903 160.901C129.903 164.454 123.096 167.329 114.716 167.329C106.336 167.329 99.5291 164.454 99.5291 160.901C99.502 157.349 106.309 154.474 114.716 154.474Z",fill:"#090A0B"}),T().createElement("path",{d:"M215.493 154.474C223.9 154.474 230.68 157.349 230.68 160.901C230.68 164.454 223.873 167.329 215.493 167.329C207.113 167.329 200.306 164.454 200.306 160.901C200.306 157.349 207.113 154.474 215.493 154.474Z",fill:"#090A0B"}),T().createElement("path",{d:"M165.104 100.506C131.964 100.506 104.98 127.599 104.98 160.901C104.98 162.908 109.048 164.535 114.689 164.535V160.901C116.614 132.724 138.5 110.459 165.077 110.459C191.682 110.459 213.54 132.751 215.466 160.901V164.535C221.134 164.535 225.174 162.908 225.174 160.901C225.229 127.599 198.245 100.506 165.104 100.506Z",fill:"#E8E9ED"}),T().createElement("path",{d:"M215.493 160.901C213.567 132.724 191.709 110.459 165.104 110.459C138.5 110.459 116.642 132.751 114.716 160.901V164.535C120.384 164.535 125.455 162.908 125.455 160.901C125.455 142.677 140.615 121.035 165.132 121.035C189.648 121.035 204.808 142.65 204.808 160.901C204.808 162.908 209.879 164.535 215.547 164.535L215.493 160.901Z",fill:"#BABEC9"}),T().createElement("path",{d:"M176.929 245.298L172.02 213.812C174.922 211.669 176.82 208.225 176.82 204.32C176.82 197.811 171.586 192.55 165.104 192.55C158.65 192.55 153.389 197.811 153.389 204.32C153.389 208.225 155.287 211.669 158.189 213.812L153.28 245.298H176.929Z",fill:"#090A0B"}),T().createElement("defs",null,T().createElement("pattern",{id:"pattern0",patternContentUnits:"objectBoundingBox",width:"1",height:"1"},T().createElement("use",{xlinkHref:"#image0",transform:"scale(0.00411523 0.0169492)"})),T().createElement("image",{id:"image0",width:"243",height:"59",xlinkHref:"data:image/png;base64,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"})));wa.propTypes={width:L().number.isRequired,height:L().number.isRequired};const Ia=wa,Oa=e=>{const[t,s]=(0,va.A)(),{isFreeTrial:a,subscriptionPlan:n,onUpgradeMattermostCloud:i}=e;let r,o;const l=T().createElement(ce.A,{location:"contact_sales_card",href:x.Lu.PRICING,rel:"noopener noreferrer",onClick:()=>(0,I.sx)("cloud_admin","click_pricing_link")},x.Lu.PRICING),d=n===x.YE.LEGACY;if(a)r=T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.privateCloudCard.freeTrial.title",defaultMessage:"Questions about your trial?"}),o=T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.privateCloudCard.freeTrial.description",defaultMessage:"We love to work with our customers and their needs. Contact sales for subscription, billing or trial-specific questions."});else if(d)r=T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.privateCloudCard.cloudEnterprise.title",defaultMessage:"Looking to rollout Mattermost for your entire organization? "}),o=T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.privateCloudCard.cloudEnterprise.description",defaultMessage:"At Mattermost, we work with you and your organization to meet your needs throughout the product. If you’re considering a wider rollout, talk to us."});else switch(n){case x.YE.STARTER:r=T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.privateCloudCard.cloudFree.title",defaultMessage:"Upgrade to Cloud Professional"}),o=T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.privateCloudCard.cloudFree.description",defaultMessage:"Optimize your processes with Guest Accounts, Office365 suite integrations, GitLab SSO and advanced permissions."});break;case x.YE.PROFESSIONAL:r=T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.privateCloudCard.cloudProfessional.title",defaultMessage:"Upgrade to Cloud Enterprise"}),o=T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.privateCloudCard.cloudProfessional.description",defaultMessage:"Advanced security and compliance features with premium support. See {pricingLink} for more details.",values:{pricingLink:l}});break;case x.YE.ENTERPRISE:r=T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.privateCloudCard.cloudEnterprise.title",defaultMessage:"Looking to rollout Mattermost for your entire organization? "}),o=T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.privateCloudCard.cloudEnterprise.description",defaultMessage:"At Mattermost, we work with you and your organization to meet your needs throughout the product. If you’re considering a wider rollout, talk to us."});break;default:r=T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.privateCloudCard.cloudProfessional.title",defaultMessage:"Upgrade to Cloud Enterprise"}),o=T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.privateCloudCard.cloudProfessional.description",defaultMessage:"Advanced security and compliance features with premium support. See {pricingLink} for more details.",values:{pricingLink:l}})}return T().createElement("div",{className:"PrivateCloudCard"},T().createElement("div",{className:"PrivateCloudCard__text"},T().createElement("div",{className:"PrivateCloudCard__text-title"},r),T().createElement("div",{className:"PrivateCloudCard__text-description"},o),(a||n===x.YE.ENTERPRISE||d)&&T().createElement(ce.A,{location:"contact_sales_card",href:s,className:"PrivateCloudCard__actionButton",onClick:()=>(0,I.sx)("cloud_admin","click_contact_sales")},T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.privateCloudCard.contactSales",defaultMessage:"Contact Sales"})),!a&&n!==x.YE.ENTERPRISE&&n!==x.YE.LEGACY&&T().createElement("button",{type:"button",onClick:()=>{n===x.YE.STARTER?i({trackingLocation:"admin_console_subscription_card_upgrade_now_button"}):t()},className:"PrivateCloudCard__actionButton"},n===x.YE.STARTER?T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.privateCloudCard.upgradeNow",defaultMessage:"Upgrade Now"}):T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.privateCloudCard.contactSales",defaultMessage:"Contact Sales"}))),T().createElement("div",{className:"PrivateCloudCard__image"},a?T().createElement(Ra,{width:170,height:123}):T().createElement(Ia,{width:170,height:123})))};Oa.propTypes={isFreeTrial:L().bool.isRequired,onUpgradeMattermostCloud:L().func.isRequired};const Pa=Oa;var ka=s(87295);const xa=e=>T().createElement("svg",{width:e.width?e.width.toString():"476",height:e.height?e.height.toString():"313",viewBox:"0 0 476 313",fill:"none",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},T().createElement("path",{d:"M237 285.25C315.563 285.25 379.25 221.563 379.25 143C379.25 64.4375 315.563 0.75 237 0.75C158.437 0.75 94.75 64.4375 94.75 143C94.75 221.563 158.437 285.25 237 285.25Z",fill:"#E8E9ED",stroke:"#E8E9ED",strokeWidth:"0.5"}),T().createElement("path",{d:"M197.226 102.814C202.404 107.87 205 114.269 205 122.043C205 129.818 202.404 136.232 197.226 141.273C192.048 146.328 185.633 148.97 177.997 149.245H35.19C25.0942 148.97 16.7091 145.503 10.0194 138.814C3.34488 132.139 0 123.754 0 113.658C0 103.563 3.34488 95.1774 10.0194 88.4876C16.6939 81.8132 25.0942 78.3308 35.19 78.0559C35.4649 64.6916 40.0317 53.5726 48.9055 44.714C57.7641 35.8554 68.8832 31.2886 82.2474 31.0137C93.4276 30.9985 103.172 34.267 111.496 40.8193C119.82 47.3716 125.334 55.8178 128.068 66.1884C132.696 62.9199 138.026 61.2704 144.028 61.2704C151.94 61.5453 158.553 64.3404 163.869 69.6555C169.184 74.9707 171.979 81.5993 172.254 89.4957C172.254 91.6798 171.979 93.7264 171.429 95.6356C173.613 95.0858 175.782 94.8108 177.981 94.8108C185.618 95.101 192.033 97.7586 197.226 102.814Z",fill:"#FFBC1F"}),T().createElement("path",{d:"M205 122.045C205 114.271 202.404 107.871 197.226 102.816C192.048 97.7754 185.633 95.1179 177.997 94.8429C175.812 94.8429 173.628 95.1179 171.444 95.6677C171.994 93.7585 172.269 91.7119 172.269 89.5278C171.994 81.6162 169.199 75.0028 163.884 69.6876C158.569 64.3724 151.94 61.5469 144.028 61.2719C138.026 61.2719 132.711 62.9062 128.068 66.19C125.334 55.8193 119.82 47.3731 111.496 40.8208C103.172 34.2685 93.4276 31 82.2474 31C68.8832 31.2749 57.7641 35.8417 48.9055 44.7003C40.0317 53.5741 35.4649 64.6932 35.19 78.0422C25.0942 78.3171 16.7091 81.7994 10.0194 88.4739C3.34488 95.179 0 103.564 0 113.66C0 113.66 0.427654 87.863 37.4963 81.6314C38.8862 46.2734 69.7232 36.5748 82.5529 36.5748C95.3826 36.5748 116.384 42.8064 127.136 70.8789C149.771 56.6746 175.079 73.9794 168.145 99.9901C199.67 93.056 205 122.045 205 122.045Z",fill:"#F5AB00"}),T().createElement("path",{d:"M455.615 131.683C458.546 134.544 460.015 138.165 460.015 142.565C460.015 146.965 458.546 150.595 455.615 153.447C452.685 156.308 449.055 157.804 444.733 157.959H363.915C358.202 157.804 353.456 155.842 349.67 152.056C345.893 148.278 344 143.533 344 137.82C344 132.106 345.893 127.361 349.67 123.575C353.448 119.798 358.202 117.827 363.915 117.671C364.071 110.108 366.655 103.816 371.677 98.8022C376.69 93.7889 382.983 91.2044 390.546 91.0489C396.873 91.0402 402.388 92.89 407.099 96.5981C411.809 100.306 414.93 105.086 416.477 110.955C419.096 109.105 422.113 108.172 425.51 108.172C429.987 108.328 433.73 109.909 436.738 112.917C439.746 115.925 441.327 119.677 441.483 124.145C441.483 125.381 441.327 126.54 441.016 127.62C442.252 127.309 443.48 127.153 444.724 127.153C449.046 127.318 452.677 128.822 455.615 131.683Z",fill:"#FFBC1F"}),T().createElement("path",{d:"M460.015 142.565C460.015 138.166 458.546 134.544 455.615 131.683C452.685 128.831 449.055 127.327 444.733 127.171C443.497 127.171 442.261 127.327 441.025 127.638C441.336 126.557 441.492 125.399 441.492 124.163C441.336 119.686 439.754 115.943 436.746 112.935C433.738 109.927 429.987 108.328 425.51 108.172C422.113 108.172 419.105 109.097 416.477 110.955C414.93 105.086 411.809 100.307 407.099 96.5984C402.388 92.8903 396.873 91.0405 390.546 91.0405C382.983 91.1961 376.69 93.7806 371.677 98.7939C366.655 103.816 364.071 110.108 363.915 117.663C358.202 117.819 353.456 119.789 349.67 123.567C345.893 127.361 344 132.106 344 137.82C344 137.82 344.242 123.221 365.22 119.694C366.007 99.6842 383.458 94.1955 390.719 94.1955C397.98 94.1955 409.865 97.7221 415.95 113.609C428.76 105.57 443.082 115.364 439.158 130.084C456.998 126.16 460.015 142.565 460.015 142.565Z",fill:"#F5AB00"}),T().createElement("path",{d:"M401.495 130L384 152.389H391.417V190H411.071V152.417V152.389H419L401.495 130Z",fill:"#386FE5"}),T().createElement("path",{d:"M99.489 83L58 135.624H75.5887V223H122.198V135.69V135.624H141L99.489 83Z",fill:"#386FE5"}),T().createElement("mask",{id:"mask0","mask-type":"alpha",maskUnits:"userSpaceOnUse",x:"95",y:"1",width:"284",height:"284"},T().createElement("path",{d:"M237 285C315.424 285 379 221.424 379 143C379 64.5756 315.424 1 237 1C158.576 1 95 64.5756 95 143C95 221.424 158.576 285 237 285Z",fill:"#E8E9ED"})),T().createElement("g",{mask:"url(#mask0)"},T().createElement("path",{d:"M110.205 195.029C111.455 188.376 113.949 182.032 116.433 175.732C119.096 168.978 121.783 162.167 125.561 155.953C134.369 141.481 148.716 131.036 164.154 124.056C179.591 117.075 194.362 113.129 210.88 109.347C205.467 115.175 203.818 122.594 200.581 129.859C193.026 146.811 186.533 164.212 180.044 181.598C170.303 207.684 160.566 233.766 150.834 259.846C129.709 247.404 114.533 225.315 110.5 201.131L110.205 195.029Z",fill:"white"}),T().createElement("path",{d:"M272.214 109.96C281.626 113.076 296.335 118.566 296.335 118.566C296.335 118.566 330.104 215.907 337.586 262.808C337.808 264.187 338.006 265.702 337.369 266.927C336.438 268.732 334.185 269.282 332.347 270.145C328.135 272.113 325.473 276.32 321.826 279.2C318.68 281.675 314.859 283.117 311.101 284.507C277.651 296.77 241.32 307.026 206.78 298.28C204.594 297.725 202.337 297.049 200.672 295.525C199.225 294.179 198.342 292.307 197.546 290.479C187.025 266.358 166.363 216.525 166.566 181.27C166.802 140.535 188.877 115.705 189.239 115.18C190.103 113.93 222.41 105.488 242.304 105.049C242.324 105.058 264.303 107.335 272.214 109.96Z",fill:"white"}),T().createElement("mask",{id:"mask1","mask-type":"alpha",maskUnits:"userSpaceOnUse",x:"166",y:"105",width:"172",height:"197"},T().createElement("path",{d:"M272.214 109.96C281.626 113.076 296.335 118.566 296.335 118.566C296.335 118.566 330.104 215.907 337.586 262.808C337.808 264.187 338.006 265.702 337.369 266.927C336.438 268.732 334.185 269.282 332.347 270.145C328.135 272.113 325.473 276.32 321.826 279.2C318.68 281.675 314.859 283.117 311.101 284.507C277.651 296.77 241.32 307.026 206.78 298.28C204.594 297.725 202.337 297.049 200.672 295.525C199.225 294.179 198.342 292.307 197.546 290.479C187.025 266.358 166.363 216.525 166.566 181.27C166.802 140.535 188.877 115.705 189.239 115.18C190.103 113.93 222.41 105.488 242.304 105.049C242.324 105.058 264.303 107.335 272.214 109.96Z",fill:"white"})),T().createElement("g",{mask:"url(#mask1)"},T().createElement("rect",{x:"166.156",y:"105",width:"171.739",height:"170.292",fill:"url(#pattern0)"}),T().createElement("rect",{x:"166.156",y:"105",width:"150.513",height:"196.825",fill:"url(#pattern1)"})),T().createElement("path",{d:"M170.073 207.885C168.831 203.292 167.588 198.699 166.344 194.107C166.286 193.931 166.162 193.783 165.999 193.696C165.835 193.608 165.645 193.586 165.466 193.635C165.287 193.684 165.133 193.8 165.037 193.959C164.941 194.117 164.91 194.307 164.95 194.488C166.194 199.08 167.437 203.675 168.679 208.27C168.734 208.45 168.858 208.601 169.023 208.692C169.188 208.782 169.382 208.804 169.563 208.754C169.744 208.704 169.899 208.585 169.994 208.423C170.089 208.26 170.118 208.067 170.073 207.885Z",fill:"#1D1400"}),T().createElement("path",{d:"M164.371 190.257L164.023 188.656C163.965 188.479 163.842 188.332 163.678 188.245C163.515 188.157 163.324 188.135 163.145 188.184C162.966 188.233 162.813 188.349 162.717 188.507C162.621 188.666 162.59 188.856 162.629 189.037L162.976 190.643C163.029 190.826 163.152 190.982 163.318 191.077C163.483 191.171 163.679 191.197 163.864 191.15C164.043 191.09 164.192 190.964 164.281 190.799C164.371 190.633 164.394 190.439 164.347 190.257H164.371Z",fill:"#1D1400"})),T().createElement("path",{d:"M293.59 117.645C304.203 121.021 338.869 132.754 346.935 141.321C375.47 171.631 387.111 253.275 388.013 260.878C389.315 271.554 386.363 295.612 375.47 302.365C369.503 306.066 351.832 294.164 342.666 284.516C329.896 271.071 323.688 236.641 321.126 218.276C316.427 184.594 293.59 117.645 293.59 117.645Z",fill:"white"}),T().createElement("path",{d:"M246.198 105.58L305.1 102.024C305.1 102.024 307.03 93.8665 301.41 84.4016C298.163 78.931 292.355 75.9545 288.544 68.4096C284.887 61.1734 285.355 52.8035 283.889 45.3888C280.758 29.5463 269.262 16.8782 263.492 14.1767C249.661 7.69784 246.198 105.58 246.198 105.58Z",fill:"#1D1400"}),T().createElement("path",{d:"M227.277 102.106C219.771 108.406 224.195 141.249 241.084 141.249C259.585 141.249 258.321 95.4196 259.657 95.1446C265.793 93.9434 272.093 90.6533 276.006 76.0362C276.565 73.9522 276.575 72.6593 276.937 70.6863C277.125 69.678 278.563 55.9582 278.162 40.9358C277.984 34.1049 271.191 13.1247 246.651 18.4602C215.969 25.1271 221.252 54.8824 224.238 61.2647C225.989 65.0034 228.469 74.232 228.884 79.1767C229.39 85.1345 228.117 101.397 227.277 102.106Z",fill:"#CB8E00"}),T().createElement("path",{opacity:"0.3",d:"M259.604 95.1012C258.26 95.3539 256.895 95.4831 255.528 95.4871C252.075 95.4821 248.669 94.6988 245.561 93.1957H245.522C245.45 93.1626 245.376 93.1336 245.3 93.1088C243.959 92.694 243.265 94.696 244.533 95.2942C247.041 96.503 249.353 98.0802 251.393 99.9736C253.486 101.942 255.132 104.337 256.217 106.998C256.904 108.322 257.466 109.708 257.896 111.137C258.982 102.492 259.112 95.3183 259.633 95.1687L259.604 95.1012Z",fill:"black"}),T().createElement("path",{d:"M225.164 15.7105C236.82 5.29517 253.226 9.3185 260.381 12.4831C272.668 17.9248 276.397 30.564 276.397 30.564C273.551 34.0904 274.781 37.2599 271.616 41.5871C267.921 46.6476 263.381 42.4169 255.827 48.5387C252.736 51.0778 250.224 54.2492 248.46 57.8396C248.46 57.8396 245.918 52.7502 242.83 52.7936C239.294 52.8467 237.162 56.1705 238.141 59.5474C238.851 61.9836 241.639 67.6085 241.639 67.6085L230.577 95.9262C229.435 98.8492 227.282 101.265 224.509 102.735C221.736 104.204 218.528 104.63 215.468 103.934L149.831 82.8672C156.02 68.6939 166.339 66.9138 174.226 60.1408C181.945 53.4931 183.913 46.6959 190.363 41.6209C197.971 35.6293 209.848 32.1463 213.186 28.8176C222.675 19.3527 217.784 22.3051 225.164 15.7105Z",fill:"#1D1400"}),T().createElement("mask",{id:"mask2","mask-type":"alpha",maskUnits:"userSpaceOnUse",x:"149",y:"9",width:"128",height:"96"},T().createElement("path",{d:"M225.164 15.7105C236.82 5.29517 253.226 9.3185 260.381 12.4831C272.668 17.9248 276.397 30.564 276.397 30.564C273.551 34.0904 274.781 37.2599 271.616 41.5871C267.921 46.6476 263.381 42.4169 255.827 48.5387C252.736 51.0778 250.224 54.2492 248.46 57.8396C248.46 57.8396 245.918 52.7502 242.83 52.7936C239.294 52.8467 237.162 56.1705 238.141 59.5474C238.851 61.9836 241.639 67.6085 241.639 67.6085L230.577 95.9262C229.435 98.8492 227.282 101.265 224.509 102.735C221.736 104.204 218.528 104.63 215.468 103.934L149.831 82.8672C156.02 68.6939 166.339 66.9138 174.226 60.1408C181.945 53.4931 183.913 46.6959 190.363 41.6209C197.971 35.6293 209.848 32.1463 213.186 28.8176C222.675 19.3527 217.784 22.3051 225.164 15.7105Z",fill:"#1D1400"})),T().createElement("g",{mask:"url(#mask2)"},T().createElement("rect",{x:"149.754",y:"9",width:"107.578",height:"95.5179",fill:"url(#pattern2)"})),T().createElement("path",{d:"M266.396 139.411C263.767 132.146 262.055 124.741 264.322 117.345C267.313 107.499 270.917 107.046 280.087 102.39C289.258 97.7351 290.802 95.0963 296.398 85.1586C297.715 82.814 299.089 83.3109 299.364 85.0862C299.606 86.6492 299.364 89.9103 299.364 89.9103C299.364 89.9103 303.224 77.85 304.671 77.3676C307.454 76.4365 308.154 82.3268 308.53 83.639C310.19 89.4521 309.013 92.3224 305.153 102.936C302.64 109.839 297.145 118.141 290.898 122.097C288.486 123.621 285.591 125.43 285.423 129.333C285.36 130.829 286.441 132.126 287.304 133.347C292.336 140.434 332.791 188.154 338.691 193.813C357.91 212.25 374.486 226.057 382.34 251.509C385.789 262.696 382.822 291.549 379.927 297.821C373.174 312.438 348.571 292.997 338.44 279.972C315.926 251.017 275.35 164.183 266.396 139.411Z",fill:"#CB8E00"}),T().createElement("mask",{id:"mask3","mask-type":"alpha",maskUnits:"userSpaceOnUse",x:"263",y:"77",width:"121",height:"227"},T().createElement("path",{d:"M266.396 139.411C263.767 132.146 262.055 124.741 264.322 117.345C267.313 107.499 270.917 107.046 280.087 102.39C289.258 97.7351 290.802 95.0963 296.398 85.1586C297.715 82.814 299.089 83.3109 299.364 85.0862C299.606 86.6492 299.364 89.9103 299.364 89.9103C299.364 89.9103 303.224 77.85 304.671 77.3676C307.454 76.4365 308.154 82.3268 308.53 83.639C310.19 89.4521 309.013 92.3224 305.153 102.936C302.64 109.839 297.145 118.141 290.898 122.097C288.486 123.621 285.591 125.43 285.423 129.333C285.36 130.829 286.441 132.126 287.304 133.347C292.336 140.434 332.791 188.154 338.691 193.813C357.91 212.25 374.486 226.057 382.34 251.509C385.789 262.696 382.822 291.549 379.927 297.821C373.174 312.438 348.571 292.997 338.44 279.972C315.926 251.017 275.35 164.183 266.396 139.411Z",fill:"#674600"})),T().createElement("g",{mask:"url(#mask3)"},T().createElement("rect",{x:"263.121",y:"77.0203",width:"75.7389",height:"156.784",fill:"url(#pattern3)"})),T().createElement("path",{d:"M383.304 251.505C375.451 226.053 357.91 212.246 338.691 193.808C337.523 192.689 335.015 189.949 331.696 186.176C331.493 186.403 331.295 186.659 331.093 186.856C324.262 194.44 315.829 199.882 306.345 203.485C303.06 204.735 296.991 205.96 293.59 206.423C307.927 235.513 324.817 266.87 336.351 281.68C346.482 294.705 374.143 312.414 380.892 297.797C383.787 291.545 386.754 262.692 383.304 251.505Z",fill:"white"}),T().createElement("path",{d:"M191.671 277.421C196.503 279.87 201.195 282.589 205.723 285.564C212.356 290.016 231.595 288.859 231.595 288.859C231.595 288.859 241.412 309.569 242.425 302.54C242.951 298.878 241.383 296.712 240.915 293.06C242.912 295.69 244.123 297.098 245.112 300.248C246.101 303.398 245.744 306.235 245.3 309.414C244.963 311.802 246.159 312.878 247.409 312.989C249.821 313.196 250.303 310.447 251.509 310.056C261.804 306.679 259.681 302.858 260.593 293.437C260.516 304.908 259.874 303.944 255.209 310.538C254.273 311.86 256.015 313.433 260.516 310.857C264.052 308.768 266.445 306.515 268.075 301.208C269.843 295.705 269.428 289.733 266.917 284.526C261.336 273.108 256.893 269.306 244.273 267.763C231.653 266.219 217.084 265.085 208.092 268.245C204.599 269.475 191.671 277.421 191.671 277.421Z",fill:"#CB8E00"}),T().createElement("path",{d:"M367.621 221.802C356.731 209.153 345.552 196.771 334.084 184.656C333.949 184.533 333.772 184.466 333.589 184.468C333.406 184.47 333.231 184.541 333.098 184.667C332.966 184.792 332.886 184.964 332.874 185.146C332.863 185.329 332.921 185.509 333.037 185.65C344.502 197.778 355.681 210.16 366.574 222.796C367.182 223.505 368.229 222.507 367.621 221.802Z",fill:"#1D1400"}),T().createElement("path",{d:"M323.34 260.101L323.664 260.424C323.801 260.556 323.984 260.63 324.175 260.63C324.366 260.63 324.549 260.556 324.686 260.424C324.821 260.288 324.896 260.104 324.896 259.913C324.896 259.722 324.821 259.538 324.686 259.402L324.363 259.078C324.297 259.007 324.217 258.95 324.128 258.911C324.039 258.871 323.944 258.85 323.846 258.848C323.749 258.847 323.653 258.864 323.563 258.901C323.472 258.937 323.391 258.991 323.322 259.06C323.253 259.129 323.199 259.211 323.163 259.301C323.126 259.391 323.108 259.487 323.11 259.585C323.112 259.682 323.133 259.777 323.173 259.866C323.212 259.955 323.269 260.035 323.34 260.101Z",fill:"white"}),T().createElement("path",{d:"M323.48 261.162C313.067 243.709 303.312 225.885 294.217 207.692C293.802 206.862 292.553 207.59 292.968 208.425C302.056 226.602 311.811 244.426 322.231 261.896C322.328 262.061 322.487 262.182 322.673 262.23C322.859 262.278 323.056 262.251 323.222 262.154C323.388 262.056 323.508 261.897 323.557 261.711C323.605 261.526 323.578 261.328 323.48 261.162Z",fill:"#1D1400"}),T().createElement("path",{d:"M298.752 90.3784C297.865 92.7918 296.689 95.0888 295.249 97.219C294.728 97.9909 295.983 98.7194 296.499 97.9475C297.999 95.7075 299.225 93.2959 300.151 90.7644C300.469 89.8864 299.075 89.5101 298.752 90.3784Z",fill:"black"}),T().createElement("path",{d:"M294.425 100.475H294.666C294.858 100.475 295.042 100.399 295.177 100.263C295.313 100.128 295.389 99.9436 295.389 99.7517C295.389 99.5598 295.313 99.3757 295.177 99.24C295.042 99.1043 294.858 99.0281 294.666 99.0281H294.425C294.233 99.0281 294.049 99.1043 293.913 99.24C293.777 99.3757 293.701 99.5598 293.701 99.7517C293.701 99.9436 293.777 100.128 293.913 100.263C294.049 100.399 294.233 100.475 294.425 100.475Z",fill:"black"}),T().createElement("path",{d:"M305.626 86.9871C304.786 91.3079 303.171 95.4412 300.86 99.1873C300.378 99.9833 301.622 100.707 302.109 99.9157C304.488 96.0642 306.151 91.8153 307.02 87.373C307.204 86.4612 305.805 86.0705 305.626 86.9871Z",fill:"black"}),T().createElement("path",{d:"M300.455 101.923C300.646 101.923 300.831 101.847 300.966 101.711C301.102 101.575 301.178 101.391 301.178 101.199C301.178 101.007 301.102 100.823 300.966 100.688C300.831 100.552 300.646 100.476 300.455 100.476C300.263 100.476 300.079 100.552 299.943 100.688C299.807 100.823 299.731 101.007 299.731 101.199C299.731 101.391 299.807 101.575 299.943 101.711C300.079 101.847 300.263 101.923 300.455 101.923Z",fill:"black"}),T().createElement("path",{d:"M241.446 287.555L240.095 284.617C239.704 283.773 238.455 284.506 238.846 285.346C239.293 286.311 239.743 287.29 240.196 288.284C240.587 289.128 241.832 288.395 241.446 287.555Z",fill:"#1D1400"}),T().createElement("path",{d:"M257.052 280.57C258.745 284.405 259.397 288.515 259.503 292.683C259.574 294.337 259.547 295.993 259.421 297.642C259.184 300.084 257.713 301.627 256.044 303.263C255.373 303.914 256.401 304.937 257.067 304.285C258.398 302.997 259.802 301.618 260.443 299.837C261.157 297.908 260.989 295.573 260.969 293.566C260.921 288.838 260.226 284.212 258.306 279.861C257.93 279.012 256.685 279.745 257.057 280.589L257.052 280.57Z",fill:"#1D1400"}),T().createElement("path",{d:"M251.678 293.412C252.263 296.037 252.4 298.743 252.083 301.415C251.977 302.336 253.424 302.331 253.53 301.415C253.854 298.613 253.699 295.776 253.072 293.026C252.869 292.119 251.47 292.505 251.678 293.412Z",fill:"#1D1400"}),T().createElement("path",{d:"M251.292 286.721C250.904 284.968 250.725 283.175 250.756 281.38C250.756 280.449 249.309 280.449 249.309 281.38C249.278 283.306 249.476 285.228 249.898 287.107C250.1 288.014 251.494 287.628 251.292 286.721Z",fill:"#1D1400"}),T().createElement("path",{d:"M259.72 57.3333H259.585C259.067 57.3333 258.57 57.5391 258.203 57.9055C257.837 58.2719 257.631 58.7688 257.631 59.287C257.631 59.8052 257.837 60.3022 258.203 60.6686C258.57 61.035 259.067 61.2408 259.585 61.2408H259.72C260.238 61.2408 260.735 61.035 261.101 60.6686C261.468 60.3022 261.674 59.8052 261.674 59.287C261.674 58.7688 261.468 58.2719 261.101 57.9055C260.735 57.5391 260.238 57.3333 259.72 57.3333Z",fill:"black"}),T().createElement("path",{d:"M273.468 60.6763H273.329C272.811 60.6763 272.315 60.8819 271.949 61.2478C271.583 61.6138 271.377 62.1101 271.377 62.6276C271.377 63.1452 271.583 63.6415 271.949 64.0075C272.315 64.3734 272.811 64.579 273.329 64.579H273.468C273.986 64.579 274.482 64.3734 274.848 64.0075C275.214 63.6415 275.42 63.1452 275.42 62.6276C275.42 62.1101 275.214 61.6138 274.848 61.2478C274.482 60.8819 273.986 60.6763 273.468 60.6763Z",fill:"black"}),T().createElement("path",{d:"M254.963 77.0205C256.922 79.1751 259.186 81.0312 261.683 82.5297C260.424 84.2278 257.67 84.3242 256.039 82.9831C254.408 81.642 253.887 79.2493 254.418 77.1942",fill:"black"}),T().createElement("path",{d:"M265.856 75.8338C267.303 75.5105 270.579 75.4623 270.81 73.4603C270.97 72.0709 269.527 70.2233 269.083 68.9835C268.269 66.8298 267.806 64.5592 267.713 62.2586C267.713 61.1877 266.025 61.1829 266.044 62.2586C266.163 65.2543 266.847 68.2005 268.061 70.9421C268.249 71.3811 268.837 72.1771 268.861 72.6595C268.924 73.8945 268.746 73.2673 267.897 73.6532C267.168 73.9861 266.189 74.0343 265.403 74.208C264.351 74.4396 264.8 76.0557 265.846 75.8193L265.856 75.8338Z",fill:"black"}),T().createElement("path",{opacity:"0.3",d:"M287.304 133.342C280.743 128.788 279.585 121.764 287.304 117.645C295.023 113.525 303.894 105.96 303.894 105.96C303.894 105.96 299.654 117.538 290.898 122.083C282.142 126.627 287.304 133.342 287.304 133.342Z",fill:"black"}),T().createElement("defs",null,T().createElement("pattern",{id:"pattern0",patternContentUnits:"objectBoundingBox",width:"1",height:"1"},T().createElement("use",{xlinkHref:"#image0",transform:"scale(0.00280899)"})),T().createElement("pattern",{id:"pattern1",patternContentUnits:"objectBoundingBox",width:"1",height:"1"},T().createElement("use",{xlinkHref:"#image1",transform:"scale(0.00320513 0.00245098)"})),T().createElement("pattern",{id:"pattern2",patternContentUnits:"objectBoundingBox",width:"1",height:"1"},T().createElement("use",{xlinkHref:"#image2",transform:"scale(0.0044843 0.00505051)"})),T().createElement("pattern",{id:"pattern3",patternContentUnits:"objectBoundingBox",width:"1",height:"1"},T().createElement("use",{xlinkHref:"#image3",transform:"scale(0.00636943 0.00307692)"})),T().createElement("image",{id:"image0",width:"356",height:"353",xlinkHref:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWQAAAFhCAYAAABH1tCTAAAgAElEQVR4Xu2de68ty3XVO0CAACHBGOOExI5JBAriIcT3/wbwTyQCQQRiEgR2giHEEB42Rr/jHjfz1KnqmtVdvVattUdLW+fevarrMar36LlGzcfPbL6MgBEwAkZgCQR+ZolZeBJGwAgYASOwmZD9EBgBI2AEFkHAhLzIRngaRsAIGAETsp8BI2AEjMAiCJiQF9kIT8MIGAEjYEL2M2AEjIARWAQBE/IiG+FpGAEjYARMyH4GjIARMAKLIGBCXmQjPA0jYASMgAnZz4ARMAJGYBEETMiLbISnYQSMgBEwIfsZMAJGwAgsgoAJeZGN8DSMgBEwAiZkPwNGwAgYgUUQMCEvshGehhEwAkbAhOxnwAgYASOwCAIm5EU2wtMwAkbACJiQ/QwYASNgBBZBwIS8yEZ4GkbACBgBE7KfASNgBIzAIgiYkBfZCE/DCBgBI2BC9jNgBIyAEVgEARPyIhvhaRgBI2AETMh+BoyAETACiyBgQl5kIzwNI2AEjIAJ2c+AETACRmARBEzIi2yEp2EEjIARMCH7GTACRsAILIKACXmRjfA0jIARMAImZD8DRsAIGIFFEDAhL7IRnoYRMAJGwITsZ8AIGAEjsAgCJuRFNsLTMAJGwAiYkP0MGAEjYAQWQcCEvMhGeBpGwAgYAROynwEjYASMwCIImJAX2QhPwwgYASNgQvYzYASMgBFYBAET8iIb4WkYASNgBEzIfgaMgBEwAosgYEJeZCM8DSNgBIyACdnPgBEwAkZgEQRMyItshKdhBIyAETAh+xkwAkbACCyCgAl5kY3wNIyAETACJmQ/A0bACBiBRRAwIS+yEZ6GETACRsCE7GfACBgBI7AIAibkRTbC0zACRsAImJD9DBgBI2AEFkHAhLzIRngaRsAIGAETsp8BI2AEjMAiCJiQF9kIT8MIGAEjYEL2M2AEjIARWAQBE/IiG+FpGAEjYARMyH4GjIARMAKLIGBCXmQjPA0jYASMgAnZz4ARMAJGYBEETMiLbISnYQSMgBEwIfsZMAJGwAgsgoAJeZGN8DSMgBEwAiZkPwNGwAgYgUUQMCEvshGehhEwAkbAhOxnwAgYASOwCAIm5EU2wtMwAkbACJiQ/QwYASNgBBZBwIS8yEZ4GkbACBgBE7KfASNgBIzAIgiYkBfZCE/DCBgBI2BC9jNgBIyAEVgEARPyIhvhaRgBI2AETMh+BoyAETACiyBgQl5kIzwNI2AEjIAJ2c+AETACRmARBEzIi2yEp2EEjIARMCH7GTACRsAILIKACXmRjfA0jIARMAImZD8DRsAIGIFFEDAhL7IRnoYRMAJGwITsZ8AIGAEjsAgCJuRFNsLTMAJGwAiYkP0MGAEjYAQWQcCEvMhGeBpGwAgYAROynwEjYASMwCIImJAX2QhPwwgYASNgQvYzYASMgBFYBAET8iIb4WkYASNgBEzIfgaMgBEwAosgYEJeZCM8DSNgBIyACdnPgBFYC4G/sG3b39yn9Ifbtv2/tab32WyY689v2/a/tm3704Xn+TJTMyG/zFZ5oh8EgV/Ytu0X97X+YNu2P1l43b+0bdtf3F8av7/wPF9maibkl9kqT/SDIADB/e1t2/7ctm3/Zdu2Hy68bub5l7dt+9G2bf9x4Xm+zNRMyC+zVZ7oB0IAMuYHortyISlgbf/vmyxt+ucHycLXBARMyBNAdBdGYFEEZMEyPSzYqwS/6DLfZ1om5PfZS6/ECJQI/PVt2/6GJYXXeTBMyK+zV56pETiDANLHyp4aZ9b0tveYkN92a70wI2AEXg0BE/Kr7ZjnawSMwNsiYEJ+2631woyAEXg1BEzIr7Zjnq8RMAJvi4AJ+W231gszAkbg1RAwIb/ajnm+RsAIvC0CJuS33VovzAgYgVdDwIT8ajvm+RqBdRAgERJ+zn9sX+c5m2JCnoOjezECHw0BkgoRms31R9u2/Y+PBsAd6zUh34Gq+zQC748AlvHf2Zf5n5wnY86Gm5Dn4OhejMBHRABS5nJo9qTdNyFPAtLdGIEXROAv7XMmPaevBRAwIS+wCZ7CyyPwc9u2fX3btv+5J5W/uiAytJGpLVMx5GzyIBLhU/GDi3zG/HA45+uJCJiQnwi+h34bBESgLGhG3mG0WRK//59t29BnWxdtOFjj3wx5x37ioZx+/90FdoSXGy+jD/mCMCEv8AR6Ci+PANYmhUnRUr83YTWQ5V/btu2/76Tc6jKSKm3/6+DYf2UvwYR0AflTMurZl+r0MY8VXhAPxcOE/FC4PZgRmIpAJOTV6+9lF/6hk+qbkLOPidsZgTURwMr9ybZtf7rm9E7NCgmGbxsfznvDhHzqefFNRuCtEPj5nfwc3PHkbTUhP3kDPLwReDICf3X3EGEamYg7VbKGvN/JKn/yNvx0eBPyEtvgSRiBpyHA4SEHklwZHVoeIMgJeJS0ZAXc8TgsNGkPbK0JeQAsNzUCb4oApPzjJHn+6p5Q6Ec7IbcgEXH/tyf6N/NS+Nlt214m8MWE/KZ/YV6WEbgJASQLDhIJgoGUW5eI+4dPdKfTSwGf5hnuiDdB+mfdmpBvh9gDGIGHI0BwxTcSgSV3TgzfbNzyIORneEtgHfNS4OpZ83fiMNS3CXkILjc2Ai+BwOzIwZdYdGWSv7htGy+nP9lfDMuvw4S8/BZ5gkZgGAF5QhB9RwTfyhcHiopKHI00XHldp+ZmQj4Fm28yAsshAAkfabp3TZhx/9beOfIE1ujIlc3bMdLny7Y1Ib/s1nniRuArBEayw82GLfoxnzk8I1SaPl5GVpgNYOzPhHwnuu7bCLQR4NALfZMAi9Kyxeokeo5DMbwDeodiWW8C+sU3GDewWdY0h2fKOEf6ztUlkqWfSRPy0tvjyb0xAkckGq3O/5zwo8UNjZ9edjiNicvaH74xti+7NBPyy26dJ/7iCBwRMlYnuixJgwhn7lnIWSjkG3xGWsiO4XYXEDAhXwDPtxqBCwhIPiC0eBbh9qbzjDF7c/LnAQETsh8HI2AEXhEBdGu+SZB/A/e+t7hMyG+xjV6EEXgKAhAiejcW/iNTd2LpI/lwPTNXxnTQTcjTIXWHRuDtECBBD3p26ZkRIwKp/fdISxWNHWLmcHKWx8jTN86E/PQt8ATeAAHV1MN74RUqN+P7i8sdX/d7ZHbk8aEoO7YwU9xVFjVjOi1n5cE3Ib8BG3gJT0dAxMRX998fmA2kiJU3Gt2mIbgXwsQyzRJc/LpfZmJTyDV9SYJQjTvGxBrlpRPHx1+a9nhuxKuW+lIW9ShOA5C+dlMT8mvvn2c/hgCEoyCG7w+QWG8UcjFANvgBZy1kZWSj7x+cJGXWQvBIL1l8SZRUdgYLckfEQI5o8ariM8T69W3b/u9gVetaPmQR8lH2NeZFO14yWSx7+/Myn5uQX2arPNEJCCAtQEZcz8zTy/gQHaTFv6XlmV0qOioBIWfSS9ZyX8ys+NzyeeYFAtm2XP30kgEDvm08yiUwi/mt7UzIt8LrzhdEACsQYl7hMAgy5rpCOhAyBNfTgrNbwZwy80Eq4Wr5UUtOqYWGH81l5kshu+Zl2pmQl9kKT8QIHCLwCztRHunNkCQ5gJEhzurSmW3AysWS5TortxyNk30pZOZatuFFgVzEi2TWS+zMPKr3mJCnQemOjMBtCHBw9rW996PcFsgxWP9nJIyRyUdCzhRGHen77raSRO7G6NQ6TMinYPNNRuChCMTDtiNCxjrGkn6EPo5UgrRRelc8FJgTg5mQT4DmW4yAEfgzBPiaDSmTNpPItEd+3UfTxUKH5N/F66F3sPi0Z88W8tOg98BG4KEIoJvivoZVS1RdeXDH58giJfFGrwe5wl2duKqMMAcOVzOHiFfHfIn7TcgvsU2e5GIIYDX++d1ivINM7jjUQspA0uCqudm1iBcfayzkkShEdGwwwsOiFrAS50J60UfmwVjsUfp8OibkpbfHk1sQgXigdTaxTS2KTUuVDpzNWUxfVAFpRerJ3zhapbWQabmb4UKHBd27GJeXEgEj5aWgkNbBGYSNDzV9MNZy3g69xd/1uQn5LmTd77siEAM6zngYQIx4Q9BPzWVMwR7g15MI4lxqLweRO4SHVdxL/pO1zI/WEOd0tTIJ85d+/SEqUpuQ35U2vK47EYCQIJ4ewdXmEKMF8RcuiUb5JLCQ0XOPLuZARBxXrS8sVX6YJ8l/ZpVt6q0BmYMMcRwCXpF0vh0W33s53bnfD+vbhPwwqD2QEfgKAQgL6QOrtvy6roxo2cAF3M8gcci7JL9vbdv2zf3zf1l4SShnBOOfsT5FugSg3CU5YCGrIvWHKJ5qQjZLGIG1EIiZ47BqS5LNygqsSgdyWNsl6cYsbq1ES5A2OjHudq1rZD6zkZakMZLUafYcpvZnQp4KpzszApcRiN4OZRCIsqXNCFfW4aTc4KKVK79n2nBpPLwjIHmFZuvlMWM+Z4DrHR6e6fOp95iQnwq/BzcCXyAAGXKQhfdCqSFLU816YNA5HhiKqisDO1rJjWJSevrgcA4LW2WT5IlxVDn7EVv7dpKGCfkRj43HMAJzEMBC5kANcswcKMYSS8wgW2YJAsfbgwsLGm8SSJnfYTVD7FjJtIO8o2yh9r0Vq2oJ/bRc9o7cA3v9v+TnJuSX3DZP+s0RUCJ9lplxV1MUHrJD9CFWTmL64bPvVQ7gWvXyIFsurPEjTwkl2seq//FO3Jk8xhlrv5bk/q233oT81tvrxT0IAaxWiGk0929relEyyASfxORDkQzRe/msRcaxgkctnDoDn14eSCNcWO8Zrw3GZn6ytjWWNHQsZ6xovRR4mbz9ZUJ++y32Ak8i0LIca93JkhsppaR+aonc+aouySBTiJQXAgTHV//SPezIC0LzZi4icrndoWE/I5NbtJxZj9wDMxJNb6uXzoXM5E3IvS305x8RAVmO2cOzKA0cpccssYT8VN+uFbJcK7U0a09qRC5rO7v2WXNRPxzUMS9eLLNfCHoBZcPDZ6+t258JuQuRG3xABETI2T9c9FY01Ex6zAhnjHirEaASzisEuVYVevb2aO21yL/aC4WXyl2BIa21nTnsiyHdSyant4U8+1F2f++CwNl6cGfWr8xxtYg3fX0XgUSvCYJGRIT4B3PJrQ3y4QVB362cGUdz5UXRkgjABmkGzfgbeycj3wrOYFTeoxfVqBXPi5MfXjYzJJAZa/msD1vI0yF1h0ZgGgJ8fVcmNx1yQcrRwpOXA4NCjHg6oD9DqvEqPR+4j8PDSE69THPx8BAyVOBItmq25pXxHDkCURLRspbu2SfAhHwWOd9nBJ6DQBnMIS8HpbJUodNydhAoP7KiRWqSQ7Cm+R2h0lz/qpJaM2rleFJA6lia0auipXnzewWWZAm8hfDylu7ZR8OEfBY532cE2gjceRBXGzWSdMzXjLRAtJ8SEHGvsqZF9zIIFbKFlGkLcf9epXI1n+GqBgmXpaQUVs3aW6HUyoGcqRKiwJFsEMxbPI8m5LfYRi9iIQSkb96R3wHihfggxF6VjVg3rpV8Pr44lIdZQSCKzhO0Cj5h7NInuAy1bmm79MHVisyL2yj9/GpO5YUejf5UTMh9jNzCCGQRiF/LRw+cMmPEQ71sGLT6HcnKpuRC3IM1i1Ybx5YejU6NxAH5k+YTouVFgVXLPejf9MHveZH8/d36/p1OBjnmLAs+ExiTwU5t8C+H93yoN4Ka2xqBF0VACW96B1dyYWvVnastX5F3fBa9LLJQQUaSN45SasaDQtW8E0kr+EQ+1JAuZAsJ4ymCZc0VX07IJvRJfmYs8H/RKP2kdUD09JnNi5Fdf1zX6AstO8aldraQL8Hnm43AaQRkAUI6WJy9C1kAEoWssD5bFp48GfCeoL1CulVVWuMcFRdljF/fx0BzrvkZi3DlrUF/0Xc5+lgzJmStUOky61y59pZ7Xw+j3udRWnm0q15vbp8+NyGnYHIjIzAdAem6WI+yKluDQFAQONbpUSmjaJVC2Fix/E4JgpQwiHGO6gHGnMxHliQEi2Qh3+TSlxopQwd56M7ZyDsdTEa3NjDg5dUj895GYXnDe+WhZO++h3xuQn4IzB7ECFQRyOq639lDrCHZf97BUq5ptJUvMkQIWSo/hrLCtbK4RQsVIiXIhLbIEqM18iBrrtFovohN6Wt9JLcwVivP8/KPoQl5+S3yBI3ApwO1jIUMVPLRxQLE0oQQkRIgUizan+yW9hGxQmjcq4g8dHGulszBGJA9pIvlrb7pZ0Zo9VF1k/LxYC54uqgSyugL5KmPmwn5qfB7cCOQQkAEidU7amnWBhjJZIeVLdkB+aI2PjJASdoiRuaekWV6QGSt3uV14qOFmpB7j4E/NwLvhcAZwuqRIaSNBY81qiT4cZxskqYZSMtXmxDyl6tUbUKe8Qi4DyPwOQJYoFiIENWspPVZjHXAltGHcc1DX4Y8ad8LNsnOQTouUguHfljIBHj46iBgQvYjYgTmIsAB2Nf2TGgQHgdQsaxSZrQRSSH2J6v06NCOBEHIC2i96MxKKEQ/Z3ybM+tptVEaTazZGVLMlbmUOJKg/+HBIybkWVvofozATxGQh8LXd68EXNVGCDmWVYIgexekRnAGBKKUmy1yjTKC3NlEyEfVTpRXQt4aNesbHZnDt0yFE63pbBrNHiZXPo8YPfoFZT/kKzvne41ABQFF4GH1YR33ioSWXYiksqklY3vGwpOCqxb40Kqxh2dG68AwJiui31puiRgEMnKAN7rWRzxw8QXVOsS8bR62kG+D1h0bgVMIiNAhtkwgRcwNjESCJKHDtZr0oUi/rDtYrLTBgmqEG0tRjaTWZK1Y9WjXCmTBQuVbRUvCiC52jNW66BdyRZbBB3vkiomZRu673NaEfBlCd2AEnoqA/I4jgSMxQGyQbzbJEaRKAAZWfUmGkCA/HNBBljUyr3licA99ZgumKgH+kVdGNsGSrO8Ri/2pG8ngJuSnb4En8EER0FfjXtTcKDwQI1azLvqHZJWJrdWfyPBM5exWnzEEu6xYwj1lpGKvwCovGpWrgrSP9GraYumSBnWlA8PD/TQhjz7ubm8E5iCgCsj0NvPwKMoH6L2K0GOcmAdDHg4KQ77jBSFCrunhNY8QLGqVrCqt8DJ7XC//x5xdenAvJuQHA+7hjMCOgGQF9NPZAQySGLAiOcjja34pXeiFoEO6K9GArAV5BL0WIkW7huhLjThufozuy6bClAwxolO/1ANnQn6p7fJkH4zAo0sxHX31hzCJgssexsW+akmMdBiY1Zhrc0MfxpsEouTCElb+iqP0nrRVfmWIe8nMaw9+1j4NZ0J+Buoe8xUQuKtixejao0uZLENIT+koY4HRkb7RV5EHzkYSSnJQ8iD+jRnmmNdsy39kfS/Z1oT8ktvmST8AAX2lf2QehtaylL1MxUF1+EX7mfoz/ansEpavvCrivJRsSGk1+QzJQYSM1wf/nSFjJSDCsj5r/fceBXmPPCXyrje58nMT8ihibv9REMCCRH+FWB4eQruTWssNTaQoIjvak/Lw7qitrF6VekJOKKWH+DLQCyLjL10bV0n6+awlcTAnrl6ejVYCpDjfmqeH5lWrI/jwZ92E/HDIPaARSCGgA6wRCx3rFmIRecUUmJlioYrkox+4AaKNZZmYOC8DSE5uZ6nFNBpJemGeNRe2GMZ8VMVb62QYLO34AlU1bVnyrZdrTIL/NN9lE/KVx8n3GoH7EBgNK44hziLfsq7dkYWolSj0mv9XLuMzB4kzkIlrOio5FT02Sg8MyBpiZ138d4vY+YxzA9bMWE/JTmdCnvHYuA8jMB8Bpe/MJqWP1mS0au8qGDprxdKsCVypXZAy15EsonBqhYzX+lnpTKCJnQl51mPlfoxAHgEFYWRkhGyvMUKv/Mr9d/dO/uBmPZyv/cyjpvfKAsXylGdItOC/v0cTZtc72g7MeWkx9lOs38yETcgZlNzGCMxFQNZaNqNbdnSsYbwcIunEr/01bVSpNbnnyuFl1GBr5FrzDImHem8b7JHdPNqZkEfQclsjMAcBSJNsZHxNz7iHXRlVodSlNloGdbQOsrgvU1EkEn9JruoDApaswL/8Ht32jmjFK5g97V4T8tOg98BG4GkISG+GFNFmlVi+9lVeFVCYrEKcsXapioIl/MdhFS29twzT7i38yHdY0gf/lh4gvX6X/9yEvPwWeYIfHAEdWAHDrOCJKBXUEtkzltJmQrIQMJeCUP7ZHkCCN8LvJPZnNEz7KEtctMR5oeA58jaXCfltttILeREEankljqYu8iRqjkTraL1H6SQ5KMMNDGu3FUzBHGjzk0YeieixAeFBgrKmmetv7pIL0sS/T+CORIM3BfPPpMKMZaywypWxjjnL2wI8WCP/jxWP/t0LHklM9blNTMjPxd+jfywEsDqptQd5YO1mLgVPcB/k0zsIjNZlTLeZGUtteha0kuLjJZIhWPXLywIMMvkzGCOWv5JfNn3FdWUT1nPfKsmimnthQh55TN3WCFxDQJ4GPVKtjRJLNR0VP20RV9nnUYUQPoMQyWdR+gePkKryG6sKybd2+QPt93f3CWVJksAOlXuKB6F6eSiMvPWCEHFfyW53bfcTd5uQEyC5iRGYhABkhj8sX7Xxahi5FHEGQR65p6kmH2Mc+dvGCiHSYeUCR/81eQGi5oBOiYTKatpIHbKAmacO86T1/sNt2xiDtf9WqNDd0rGz+JB7Ay47wqWcS7bvh7YzIT8Ubg9mBJ6GgFzPmACSAYSMFRyt9W+H2ZVBK8oX8c1dx8a7IhYZjdKBykCJvDUGZExuCQgZyUZW/5UAmej/fJToHgtbBVRHXQ3BTgebHGTeFkpuQn7a34cHNgIPRQDCxDr/xu4uRtQekkQMzY6JeMrcETro4zCNr/1YtZGYIpmLkPUSaGnGzIdvDVfq3h35P88COJJ+L/H+pTFNyJfg881GYAkEMp4bkB8HgxAynhoQai25vTwqal//IXUIuXaYp8NEBX5cifobBRXrXTLK6L2Z9gquYZxsualMv1+0MSGfgs03fRAE+ENURYxVl1wrFtqaK1/bkSkgTZGqvo7zr/Ibn10r1u4ZIlawB+Myh7KPMq3o0fyUJ+QoXeeZ9bXyLZ/pq3mPCXkqnO7szRDQQdDsP+6ZMGUTsLfGjF/HFfKs4qSQEFb0bZrpPqmYZKiUBGK16Yx1+hJZ3VqbYUKe+afhvt4JgUgEz3aVkocFh2Nl8IPIkxJFo54b7Fe0Tjlog4TRklWiqfSAaFmzcofDOwOLFmuc+ZRuc9yveoDo1LoI+mBsDgvjCyCSdaZclQ7vwOkMHk99hk3IT4Xfgy+OgA6d+Hp/5qv4rOUdhRL3xoCgIDs8CyDL3hUP9mq+vTGKLyYkkv8z3ybAreUaF70xsu5uklnOlorqrXmZz03Iy2yFJ2IEmgjUQomzcIkoa3kfysAN+oTAGU/Z4Uors1VZQy8NZA8CODgchED1A0nzO1WmZj5IEJA+FjWf87uaW9lREEsGB+bGvJFDCFJZ9jIhL7s1ntgbIaCQ6dHqytxHVjWsW1zUYihxFh5FstV8fUXWBJBEn+KW1wLzgVRrQSPlPVHywcJVkAr/cj/EDAFHi5s11fIiX4lwjPOopRjVi2SJcwITcvaxdjsjcB6BePCWOZjSSFeIKM62FZ4sQi6JSpp16T8sX+MasTFX9F6IX7qxDth4mfAjTw7JP4zz90IlD4haxU5l1ULgvATo+0zIOTgocX/Ng0NrKl9K53f7wp0m5Avg+VYjsCOgcGWIqJZxDDKBFCCimu9vC0ilvoSoMtFlCsTgPmm4R+Mxb+ZWWt6titeKrIOQITARbwzOiMRG/3oZIGNAqFHHRtsm8g+ZBAtVmePK4qzKXJf5hkAYNVnsskmPZCEvkVvZhGxOMQLXEYiHbhlPgOsj1nvQ13+ITh4Z2YOz2OOv7S8QiJAkQCI3ESwHfxC+ZBAFTkh3LnNoxKrQ+oYAQROogiSDtltKFdyjStFZslQyfeartJ0ZrM/6T2f6HmpjQh6Cy42NQBUBBSMoZPhuv90ji5qXA5otbnD8jL4gtBZZtlilWK+yOiFdLGWuFlGWkocs6EiUGf9pvQDQrkvruoZB9OAgYdLVfRjJbDflT8OEPAVGd2IEvoqAe7ZrFiQGEUEm6LaQMpcS1zM/yQbRpxiLEm8HQqtrVyRTLFeIGemiRnotySP2KxmnV1ewZl23Hje9CFj3DB9krSNroV/+MzAhX4bQHRiBpyGANYv1iE5cvgjKKMNa4vro4YBkgP5Kn7ogIkgOi5sra3VqLDTzMkVnCywImjwZuKVFkpd1Hd3kHgW41lEmWrptfBPybdC6YyNwKwKtgzQGja5eIkW5v8WoQ5Vy4h4i5BSlx7+0g4j4b7TZrNXJ2Fi1ah/159ZBW8yzXPN26OWRGD3Iy24M47KehwUFmZCzW+N2RuAeBPijh1CQFkY0z0jINQsOPVU+w/r6nskKd7RKBWhAUq2UmjHrG/o1a4pRfLVoQenSWMhY41jV2RwaMWjmqJLKPbs3uVcT8mRA3Z0RGERA0sKoZwDDQF4ctpX5IgankGoerW5uaPnt1g7WMlWn0aWlX2Nd1wJEahPNlqyK97byZqSASDTKFJqtdmNCTqDrJkbgRgREVgyRJaGz04FUVfkik2pTcgUvC6xXubvxFb4WHMK8uEeVSKRr8/8QLm5yWMytKtHMjzEUQp3xJZYPOPPJHKjG7HZ3Reedzj1iQj77aPs+IzAHAbRdBU1kK1EfjUxfEFotQCV6LGQqX8RDPyzi74ScEL93Uls9cneDXFtkPQftn3qbQJi8OLJRk9yj0lNo7b3rdISlCbkHrT83AuMISBd+dCKbSKA162/UY0EHgSCAdQvR4BrXqjaSQUp+zrUw6Ch3ZMkyM2bZpndIWLaPL5HvJgdUIqWRc4FPlVp9GQEjMA8BRa1h7Z2JkrsyE2SBWIyzlqlNBJEhimyM6jAAAB7PSURBVFJ+kP8x7nCqUM3hW8xNcSQzQOZYm/zUDu1igI0ywV3BQ/eOEnA5ZtZn+vJcTciXIXQHRuAzBGIk28P8V8MMIE0OxcqDPlmfM5Ltx1wTOtxT/7LMlVeDeUDSZVa3ln6L3hwLrx49XuUYtbaa67OjKFN/JibkFExuZASGEIBUIAIsyYwlWnauwzNlPmsNzgEVlqpSWh5NUonnJRXIBxnyq+nNPSLEu4FvAXrplJ4UImgRofIsq98ZL6voYkfQSu2Kssujv7EMPTQ0NiEPQ+YbjMCtCEQvgF7Irly+MmkpFVaMxQoJxwO+M0QFofMjiaKsrlIe3gEaBMoVU3ReAbP2ksGnO2r3evHwrSGTMe/KfC7fa0K+DKE7MAJTEYgadM+KlIcGWnHm9D9OtKfXQthc2X4hYFnMkDTrwCqG/JFJYiBL1t2M9eFuV0uIz9wYD11aBMwLinGz/bc27lmHsraQp/4puTMjMAcBiIYr44d7ZcSWJ0CtEvXROBmrPoZH9140jBUJvPdNgfZRu8+2jxZ+XN/Tqo3bQr7yOPteI/B+CEBS8tVldTq0Owq7zlr1vGhoW8sNQW5kPv/+rrvz37J4swEzzBsib2Whq5FuWdpqlNinPgEm5KlwujMj8NIISJOGpJALICf+G1kAvRatGeu2dpWa8ggQeGD8k/2Gf7snrMdKRa6AoMuE9yN919rGMPCaNc2hLFo0UsmZQ9nT8zMhn4bONxqBl0Agm1AoSgQx0xuL/M3dbQ3L87caq0a24DqTVwOC/Me7dQshowFDyFy14qwzgEffjqSrStlo5pkQ7KtzqGaoMyFfhdX3G4F1ERipqAxxczAHMWMFyyqFGLGQsRoJt8ZKLq/oY3zGY4P+kBvgIx3QQZj0i4XKi+AM0Wd3pgwRjxW4s32MtFOpqS98o03IIzC6rRF4HQTi1/IrwSAi9SPXuhghOBryrAPBMttd1KUhrpqfcRmMcnZ34reDI72aOfFy4iJd6tlD1+gS+FmJLRPy2S30fUbgMQhAAPjQnvnjL32Dz8y4VZm67AsLGuKMX/eVXQ7CQwuuWbmRnKJ1Hf2kW14TMXXp1VzImfBqxvvlfZ1/sG3b2WRQ8gmH1D/Tx03IZx5R32MEHoOAvtoy2qjlWZvhlcoaIlf+xYqseUpAali8yA68QKLl2UrXqUxqzBeC04sHgucg8ShPNG3AqFWX78p6a/h9e6+UDW+yH1dfAl+MYUJ+zB+WRzECZxCI2c9Gq0eX40Vf4TM6b1l/r+b5ECPnIG3INAaMjJZCylitcZ2QO94hhIJjfepg8Mx6a/uFNMNLgG8seGCMrqf7DJiQuxC5gRF4GgIK+4VcelWURUZYi7XcFLI4WcwZgmIuEC4VSvCCQJ4oXcKi/HDWO0Lh1b08HnFTsNohf7ntMS+sbf6fKxOI8rRNjgObkJfYBk/CCFxGQHoqHbWqQysTHLo0Gu2ZEONewAb9wiu1xEpYr3wOWddq68UscjWJQ6WRoteFQsClXSOTSHOO6UIvA/yIDkzIj0DZYxiB+xEYOeBS21ZdvHK20Zc5Zk8bTWkZs7OhwSKjKD2nxkSn5ar1HS1geV1IJoGssfzL/u5HfuIIJuSJYLorI/BEBLLeEEwR8sKyxFLlgmSxKmuaaJnXAXImzFmBIC1rXIVESUSvS/XvGAdNmnmULm0x6ZGqVuv+mgsefeD5QH9YzjMOP5+2jSbkp0HvgY3AEgjUrM5IoFiskDCEHd28am5uui8eIBJMggZOGDTeF9KdI7lyAMjncotT3yJ1NGC9LCBg9OKoX0c/6Hj4GYu6jmjST9sYE/LToPfARmAJBI6kDvTYf7SHGGNN/5ukPzSk+Ss7EWOxQr6QY+lPDPGi/SrZfQxgiaTecpmLADJXSDpa+eoDnkOe4eWQzU0x6uExZTNNyFNgdCdG4DQCEBXubRBJNvcwg82q0CzvjJpkgQzwrX1+EPJvJ1cpkpenhf6f9UkmUVcxLSdWMhKHkvoo21sM5U5O4VMzeYbQj14GUUJp9RUPLnseKfg6M86UgrYm5JHtdVsjMB+BGJE2on/O9FE+WhXzw/rEIwPpoXfF9JWyeI/SbtIfljLj4DaHJQtxt7LK9cavfa4XQsbS5v7oc33kvhcDX1qRiEPzNSEPweXGRmA6AtE/eISQpZvyFTxToVl6LGSX/dp+drHMDbKCzNB7FSrMt4BWkiBq8kGckP7vhuCOzBx6FT5UWYSxs2vn5QA/ag21eURCnuLrbELObLfbGIF7EThbISSrc2YqesxeYZxbWV+vRorKKgeBI1ng+ZFJihTlBTTi0YKtrBu/bMkOWcIWXrxQ4dEz436BuQl59mPo/oxAGwHIQ5FoWLWjf/w9bCEVpayMBDFaDqk3Tu9zkSTt8HpQQIj+v5YoSfUBIWOl+4wZ5ljb1/awZXRg+UZHv+gzgS4jFUJm58YwIfeeJH9uBG5EIJJHtizRyHSi9lnKH2e+tmtsSQ6QfCvrHGMjNyBLxHVyKMbvsSS5N5P8XeOpQjbziH1KBqEv2qCnc52RDeKhYu3QURhI689U+B7Zs8/a2kI+DZ1vNALDCES/WAh5toU8qivHBRxZf0e+yvQRXwSKoFPYMhqsssCx3rOJ5mXlK4eG8lfw4oGQ8dAYcWuLa8fThPUfacySXUzIw4+9bzACHxcBiKqW+OcIkZJQyxeFCLlFRtF6rUXucT8EjfWc9UaAxEmtyZiSX7Q2yPko7eYdu69vGPoWcMcYn8RoX0bACHxsBKILXc3vVmSkPMdovPwuWpRHkXv/dA+1xheYbwZlYveadR5JPkviR7vY88RY4gkwIS+xDZ6EEXgqApArB2ZYsGXgRm1iZeBHjwj/wa4B4wcMISMzcGHlQuRY6OQYhngVXh0PIkfcAVtz+Y1t276x+1NjxY+4wD1sc0zID4PaAxmBl0dAVibExn9nAy2wdrkH6QEPCR3skScD6xhiVsJ7CJnDtZieUweJSjx0VEWkBTJVrZFNuBcLvVUW6tGb9Jnrogn50fB7PCPwmgjEoqMQsTwcot6MlIFlq9Dn3kohWHyksY5VQBTihiz5kSWtfpSQiP8fraAC6ZOqk/mSZP+MR8aZ5PlHGHzhQ21C7j0y/twIGAEQiO5hNesSclHJpKzlHJFV3gm8GSD7Wvh0LBEFIUPmyB2t1KGtncOrQkmIsN55kWC5HxWSjcnzz1ZDKecTZZlPfZqQ/cdmBIxAFgFICRKBcEtPjEjIkBskeeaiH35q/srl4eJIUv7aXOKcS5KVPBMrfmMhgwE6eMafOrN+XkDq80cm5AxkbmMEXgcB/rhjbmFmLu31bt2Usbl6xT+xSElyj0V6xR9bvsE1i7wVtRhJnZdKK6PcQ/yOy8fKhPw6f2ieqRHoIRBlhRhGHOvtfbfXyeTPcanjMC3W0Yu5LWL+CeQDZAheHNkAEgWIlNOOrnzRSyNrVUseod9eCs5pkJmQp0HpjozA0xGIOmc8tHqUhVwDQDXysJp1SMc8+fqv6tDSbtW2Fw2nHNLcjzxSi3hsRS2SVY4XV28M2vCCUP6Ms4mLhh4KE/IQXG5sBJZGIFqFrVp3Zxcg6xXXNSQCXfwe1zUO4WqHYsxJnhfxvto8NP+o59bIN5tQiHF5EUTC5mWg4qo9aSXmqj46yFNIPP1lEuA398CEfPbx9H1GYD0EdGrfs/5qM0fXjQdYsU3MiBb7jl4CZzwrMghGUpT/sSxs7p8RNNKah4gWN7mjPBnTigWYkDOPhNsYgfdGINaeQ7uV21lctXTfeDAYCRnLED7hd/x3z/o8QjTqwpGQIwEroILfqSZfVus9k+/jaL6sGXwUdHL6aTEhn4bONxqBt0FAxIrWjPSARZgNvJCbmjwWAOWKtSxrU8npy7SbRNlFaWTUP1gEz3xZ4+yMe5ceChPyJfh8sxF4GwQ4BEO2UHjxaAL9GMmnoqRoy7H4J4RPxBxWdq2ga+wjHgIyJ1z5WvmYVZ6KzYBgW8ViY+UU2mYt6uwmK2l+q71c8VhbtSiqCTkLtdsZgY+BQLYsVA0N7pUHgySOSKzRlaz0iZYnCP1iHUfZQ0QqDVnEF61btZFkQqKi8ppRA0/h4TEtKONk8mx0C9qakD/GH5lXaQQeiUA8BGRc+T7LFU1z0e9p/61dKuGzshRTJDIIHpmiTDAE2f7a7qaGhY71W7OUaQeRn9W45ZrHPOOBYsZvOcovVUnIhPzIx9RjGYE+Anylx9pCh73kQtUf6rYWUXrAEkZqgFQhUdJtojtHNzKsadJj0k6JiaK+GyutqEQUky9JDaL+ld1bhM/BsOWOd3bxsXpKrPbNutC/ewd7koSqodcm5LPb4vuMwD0IREvrzqg6AjMgTqzJs9biEQI1+YL2HMqVFipWJy8iiFcvoZa+S7+QO5U7IFysToWLQ/5ICnyulJ60Kw/vSEjEWGjcvASyUYHMn/sYD0KdfiBoQr7nj8q9GoGzCGBpQSiQJGRZXrIWr5Bp9Ey44hHB3DKVmPVVveUfzZohUoiSwzuubGBLlBDUP1aoAlbKvsqDPT6/88U39ByYkIfgcmMj8HQEIqFcIVO+XkOEkP7ZzGU6uMu4kPU8EGR9Qsp4IGTnFPN0xINCXlysj37iN4B4sMeY8dDx6ZtrQn76FngCRmAIgdK9rBeOPNT5YOOYMD5r0TIE1iuSgjReDYuVzFV1CTuYG+RLf1xo0Ed5jWkDKfMtgSolvbaDkFxrbkK+hp/vNgLPQiBjcY7MDTKE1Dhsy5IURNiyaJkf8gMabnnVMq7Fytej4dDRq+NOi/eKS2BqL0zIKZjcyAi8PQIiSaxGchS3LkgJ4u7JCuqvdGGjX6QE+uAwTYns+R0HmlzZKEHNMX5r6M3/7EbGckuzA0q+mpMJ+ez2+D4jsC4CMUgBQsx4EUh+OEpiDyl9ZydOLOl/3fA0iBbrSFJ8SBk9Oqsfxx1Q4vmymrSyu7Wi/Mo+VDevxC1a8LNKOH3xBJmQ1/2j8syMwFkERK54G5CX4j8UKTPP9ov2CiFzIIj++9sH8gZj014SiNJ3nk08JHc35JRYkbq3FvkN16QMZBqIHLLmOspeRzvlcOYbRE/WoT0WP/NOh6GbkHvb6c+NwOshABkiCZCMncAIyBMZYMYFsdI/xJqxvDWm3NNakkJNn4Uw+T3jxBSXI5KBXk4lIUfylWYdpY+a1NLCD88XvpWwNkUHRov6aL6frduEPOMRdR9GYE0EREa3fcUeWDYuctTRq4U0y/rkX5FXWYAUSx9S5hrRmFuBHJGQS8KU/p11KxTOyC14m3BBtFjIaO3gX7t44Xxjl2k+WdEm5IEnyk2NwAsi0Ko59+ilxAjE0kWulkIz/k7Z4QiYUb7mkfm3PFIYg8+iZn3GY4NvDcwNC7kWzNOa6xdWvwl5ZFvd1ggYgRIBhS5DlNJiayjFbG41CxdyIuoPqYCv+xAjFUy4sFSxQuU7jIarqiG9nB/ICVjmWK9ZLRdJhgNG+oZkexfyEP0frb/WBy9LiBz3wE/Z6UzIPaj9uREwAi0EyqxuPSkhk2ktaq9Rx9XhnBLXx8rVR+NmtdyzuxwjJ0e07ep4JuSz2+D7jIARiIdgZTrMEXSwdrEUsTLpB2uaK1bOLt3aevkx4viHGdZGJlppKwz4qKxmMty1CXkYMt9gBIxAgUCtunMPJA60OKjD+yGGYGNl0h/c1DoMU9+zoxUVgs2cRuWH3npTn5uQUzC5kRH4MAhASlzys70jXLj8mg85x1zCPR/fcjOYI33i0cC9PZ9hPscKL3XveMg2Gr599ICgjTPHbo4OE/KH+TvzQj8QAiWpZpcuotQBGPdhvdLfiF+uwqvLMkeaRxn1hjWq3MJncgyLSJV1Tgd5jFdz+YvEG/XnKINkDwAZ48iTJXqL/FHP8jYhZx9VtzMC9yMww0VNZJdJiVmzNPHBhVCRDpAUOEzjGgmBLgmX/sosbOi6X9uliexc6QdrmoRF0YqWBwfeCkQl0p9CoGtRdUfEyx5wf/bFEMPUa8E3MUdH1x/chHz/H5lHMAI9BOLhmLwIeve0Po9128587Ua/hZSU1lNubSNZ4BR0AaHTF+5rtQi96AqXSd95lAAJP2csX6ztTP6OEd1b1VV4qZTpTmOC/Faie14+yBZE8R0R/c+akM8+9r7PCMxDIH6tnZE+EgLgemauZNYkSxVSblnYIwmFCAVXIAceDfGKbnBXX2qx3xgxWHupyD+aUPIreH+SUUzI8/6o3JMRuIKAKnjwh50JRrgy1iPvhdD4aWVww1LF5Y3Pa1WiS3JEsigzutGGFwBWMmPVpIGzwRv0zd7wksMN7669+eRnbUJ+5KPpsYyAESgRiC5vpcTC13wluI//fYSidHiRMxoyJE60HhcRcSNJkR61Y588P0zIj4Lb4xiB90BALmOj1Zpbq4+ad4x0I+kO3hJYu4yJhZqVIso0msw1HvJFKxepA/JG50YukjcJY3M4idTC75U+lP+/jdBNyO/xR+JVGIFZCEB+fEWHhGoSQixsqsxmrbEzFaklN5RJfnRYJqlDh3BY0a2LuSsPBto0/48EBIlyP1eUTvj8N3ZvD0iatnyOVY1ezaVK1jpQzL4UTu2HCfkUbL7JCLwtAlFCqOWIkEXbc4Mb8b+tBZ/ggSE9GLAh2qOqH9G3WNKErN6jzfqVbdt+ebeMkUeUWQ5NV94maMfMBx1an8dczb2HgfXx0w14MSH3oPTnRuBjISDCxULGk6HmppXxl86WPBohbnZCQR/KnaHdkQUrq7aWV6I1bw4VlQhfFjRt+R04lFdc24i7Xu8l5mxvH+tvzas1AikEjghXlmiXXHbvCUjtyP82S9yaeHRvi2QYgz1qZNwL4EgBszcajehrueuBM7LOV5q0LeSRbXBbI/B+CGBxEjEHwWZq1cVAiNHAEw7mdFAWD8awUOEi5tCLkIPEIOVYsVq7cpR3I1rQkcizOne582jUWNO9+XKftO1ScvmiMokJ+f3+wLwiIzCCgCp5ZANSYrkiCLmri+6TgZTQZaWllmHGZYKgkTVk2qrOIKQI8XOhCfMyypZqyowz0uaLg0IT8gh8bmsE3g8BLD1kCKxjEVVvlSNhx9F6ledCLXCjDItWjuSWt0dvjpnPJX88i5B5SX0W6GJCzmyb2xgBIzADgVbUXgxPlltZ9PaQxIAVjbyBVR7lFX6ncHFc1moHcbX5f0GIjUVKJkGewOMiI1OcwsuEfAo232QEjMBkBCBULO8YiIHlHv1+Yx5lpcdEckF2wKLm8BDXtdI/GiuUvqOGKz27FbINyfPtgQuCF+F3U2ju94y4xX0FpQl58lPl7oyAEZiGAN4M6LxICpCt8lVgKUPIkCY/39xHxO+YaD+IV5GEse5fTA6kGn3cWsvSFg8vIW0IHcs8U6YpWvxDdfZMyNOeHXdkBD4cAnhMQD5HARtXQImeEZE0VbpJ7mdKj6lDRuaErIClTFvleI6uenKDa0XeKaEQ1nGUKegX6xfrmRcE0X2SSBgXix3yxnuDCiG9wq/C59OaTMhXHhffawQ+LgJlvghI6+xV83uG7L61kx5Waat/2kF+kCJyRQxsUZh1K8ijVZOPPumnlq8j+k2z3nggGPNyYK0jb7Sy3EWsZK3/wIR89hHyfUbgYyPQsjxHUdHhXWmp9kK4j8aRhZw5fGMdaNCQuXJ3RNe+Uo+OpMscOERUsiLGVRIjJSHquQVGeeOHJuTRx8ftjcD6CEAyWHIQ0szqyQpbVgIeeSn0xkAeUEBI9I6IVnap5V6NrFNhUYj2iJjRoBmLS4EuIl1ZvyJa/sXqlUWvvMySKkTQ8vrI+nYzPla5LeT1/7Y8QyMwjECriOdwR8UNseRSVhulC2nBJUHF0lXSd2NUG//NPRlLF0Kjph4kWSYaOjpYw3sCf+SjA7uePBNlDObKnDPZ6b7YD1vIVx9R328E1kNAxKnq0b2vzdkVqJo0+uhIuSLlEsaSrt0XNWTJBVnrkrnHKECCTiBZfqcrygq1tfYCXVj3UdFUWci8FLh4AfByyIZWfzUnE3L2UXQ7I/BaCPRIZtXVjIZys45owWJpU1wV2YCrVgevtXZJPXhHZINL1JeCVhibl8Kpy4R8CjbfZASMQAcByRRDfrh7n1iaWPUZqULTkFUc81RAjljk2X5ameTiUluJgqY8ECbkKTC6EyNgBAIC0XMgk6bzTvCOUomW40apB428RuSxYkqrzen1mJBPQ+cbjYAROECAgzU8HahRN0vDHgU8emoo1LrXBwEfzLclWUQreuRgszfup89NyCmY3MgIGIEKAsrIhk7bc327A8Ce9VsmKGIOuO6hEZ99SShNKAebmaCPoXWbkIfgcmMjYAQCAr18ED2wakl/evfoc7m2HRUdxdrlcE85kGXdjnhwZOczpZ0JeQqM7sQIfEgEvr4HfJypxNxK+nMEpHyNsXBVhFRVoXsbwHi/HgqntqpX41PMdWRFY2WjL9Mme8n1L+a++OJeE3IWTrczAkaghsBZ97oYep1JEB99jZFIIGf5GteytZVzhWiRMLCa/10Id47tyjwVNQ+R2CbrQRIPOQ/d8EzI/iMzAkbgWQgo9JrwZiWex4KsXWUSeyLyIEcFmxCIQT+tS77KR8EyMRKRfjiQLOsMxlwWWUKmL7kBsr5mZRYT8rMeRY9rBD4OAljD6MUQZu0wLRvqja8xnhuQpPpR3gjlmTg6XMwkHdIY7E6tWrYCQFjLSLQi/fUOIe1l8XH+JrxSI/AUBKI00dKakR8gZTTZkSi3WEGExZGic5QknwJKa1BbyEtthydjBN4OgXh4d+bw7wiQMmS6JXe8DKgm5JfZKk/UCLwsAsgAaLxIDdkw5uxikQH4afkEx8PAEc03O/7UdibkqXC6MyPwcghgweKfy79kRZtNmCOAKN8yfsJUCZlxRSsaOURJ6K/2DdEjs6BlT7PMTchXt8X3G4HXRiDqsNmKynetOOaJKCt1XBnzahi3Dh2j18UtIdQm5Cvb7HuNwOsjoCTxrCRTUfnOFWN1QnS4tDVdwyZOoOv1sI8ll7WogePPLAs5Y80r5PowbNuEPHF33ZURMAJPRQCXOFJuZvJUZEKvtRg0cAiYl8TZ/BXKq3EYWWhCfurz48GNgBE4gYASyeMLLIL8+b1YKRp4Ji2mrF6Gz0T6nZjmZ7eYkK8i6PuNgBFoIkDEGpFy+P2W0Wx3w1bLSRyDSzJVQvB9JjIPQn+EPAImvdSeDgy5+8lx/0bgTRH49r6uXnIfIvSQEUZLIh3BpjJPtOHwD6s4Fkyd7e/8sC20ZPEwqD2QEXgrBGSlHrmSRZezmT7AMZ8EWdtE9reWVxrYPYWKczg5dJmQh+ByYyNgBAYQiIQ8M6xZVZ6xjLO+06qYjUV/dzJ96dPDfs8m5IGny02NgBEYRgDdFAJ9lE7bmmBMmxmt6rJ91hXuCIhf3SWUTFrRz/oxIQ8/X77BCBiBF0QA1zVkFizkVn09Wba1tJsjSz4tnZiQR2B2WyNgBF4ZAWQLrlZ4uA4qn3YoaEJ+5cfLczcC74mAktXfrfWW6CkABO13pldIepdMyGmo3NAIGIEHIBC13mfn1njAcj8fwoT8cMg9oBEwAgcISOulCR4UBHlcvZAqCKseKUrKmCOh2OUcGZOfTBj3V/eakK9ute83AkZgNgJ4ZqDzns0bEecTa/F9f09clJlvtNQVfJK5jzanczCbkLMQu50RMAKviAAh0r+0T3zEFxodm9BqrtGgFl4oRBMOW/km5Fd8xDxnI2AERhBABkE+GPGFxsr92n64N1LnT/M6M6ZzWYzsqtsaASNgBO5EwBbynei6byNgBFZCAPmCPBhYvEOHbRMXgeVNwqVqonoT8kSk3ZURMALLIhCrX2fSc961EPRsXgzVOZiQ74Ld/RoBI7ASAjE958jhXm8No65xSlSPnv1FcVQTcg9uf24EjMC7IHDKN/hg8XKNy1YpoSskC+ZRjQQ0Ib/Lo+Z1GAEj8GgEYpWSUde46lxNyI/eQo9nBIxAiYACKbA0W5nYHo0aUgQ1+44uLF38lWlHqs3Llwn5MoTuwAh8KAR6GdPOgBGDN6ZYmmcmEe5RNZSHZ30zIV/cOd9uBD4QAiJOLNnvTcyIBsnz9f/Hu0vaCKRYqMyLA7JZrmyq2derFzgyz1RbE3IKJjcyAkZg9+GFOLmuJnGfAejPbdv2jb2jqtfCyUGQUAibps+HpuE0IZ/cMd9mBD4gAliyuG1xkYltlkV6Fsq7avadnc/l+0zIlyF0B0bACDwRgUM3sifO69TQJuRTsPkmI2AEjMB8BEzI8zF1j0bACBiBUwiYkE/B5puMgBEwAvMRMCHPx9Q9GgEjYAROIWBCPgWbbzICRsAIzEfAhDwfU/doBIyAETiFgAn5FGy+yQgYASMwHwET8nxM3aMRMAJG4BQCJuRTsPkmI2AEjMB8BEzI8zF1j0bACHwcBEhsRDj5lNShJuSP8+B4pUbACMxHQKk66fly6lAT8vwNco9GwAh8HASwkEnXSaIlUpJeuv4/w4vHoCVTgwAAAAAASUVORK5CYII="}),T().createElement("image",{id:"image1",width:"312",height:"408",xlinkHref:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAATgAAAGYCAYAAADWY/6EAAAgAElEQVR4Xu2debNtsVHdtyEBkjAFMpjJAWwDJqmi+P5fgH9IVRIIYIxxwJiYMYHMiQP1s89ytfU0tLT3mXTXqbp137tnD+olaakntT5z+GMEjIAR2BSBz2wql8UyAkbACBwmOA8CI2AEtkXABLdt11owI2AETHAeA0bACGyLgAlu2661YEbACJjgPAaMgBHYFgET3LZda8GMgBEwwXkMGAEjsC0CJrhtu9aCGQEjYILzGDACRmBbBExw23atBTMCRsAE5zFgBIzAtgiY4LbtWgtmBIyACc5jwAgYgW0RMMFt27UWzAgYAROcx4ARMALbImCC27ZrLZgRMAImOI8BI2AEtkXABLdt11owI2AETHAeA0bACGyLgAlu2661YEbACJjgPAaMgBHYFgET3LZda8GMgBEwwXkMGAEjsC0CJrhtu9aCGQEjYILzGDACRmBbBExw23atBTMCRsAE5zFgBIzAtgiY4LbtWgtmBIyACc5jwAgYgW0RMMFt27UWzAgYAROcx4ARMALbImCC27ZrLZgRMAImOI8BI2AEtkXABLdt11owI2AETHAeA0bACGyLgAlu2661YEbACJjgPAaMgBHYFgET3LZda8GMgBEwwXkMGAEjsC0CJrhtu9aCGQEjYILzGDACRmBbBExw23atBTMCRsAE5zFgBIzAtgiY4LbtWgtmBIyACc5jwAgYgW0RMMFt27UWzAgYAROcx4ARMALbImCC27ZrLZgRMAImOI8BI2AEtkXABLdt11owI2AETHAeA0bACGyLgAlu2661YEbACJjgPAaMgBHYFgET3LZda8GMgBEwwXkMGAEjsC0CJrhtu9aCGQEjYILzGDACRmBbBExw23atBTMCRsAE5zFgBIzAtgiY4LbtWgtmBIyACc5jwAgYgW0RMMFt27UWzAgYAROcx4ARMALbImCC27ZrLZgRMAImOI8BI2AEtkXABLdt11owI2AETHAeA0bACGyLgAlu2661YEbACJjgPAaMgBHYFgET3LZda8GMgBEwwXkMGAEjsC0CJrhtu9aCGQEjYILzGDACRmBbBExw23atBTMCRsAE5zFgBIzAtgiY4LbtWgtmBIyACc5jwAgYgW0RMMFt27UWzAgYAROcx4ARMALbImCC27ZrLZgRMAImOI8BI2AEtkXABLdt11owI2AETHAeA0bACGyLgAlu2661YEbACJjgPAaMgBHYFgET3LZda8GMgBEwwXkMGAEjsC0CJrhtu9aCGQEjYILzGDACRmBbBExw23atBTMCRsAE5zFgBIzAtgiY4LbtWgtmBIyACc5jwAgYgW0RMMFt27UWzAgYAROcx4ARMALbImCC27ZrLZgRMAImOI8BI2AEtkXABLdt11owI2AETHAeA0bACGyLgAlu2661YEbACJjgPAaMgBHYFgET3LZda8GMgBEwwXkMGAEjsC0CJrhtu9aCGQEjYILzGDACRmBbBExw23atBTMCRsAE5zFgBIzAtgiY4LbtWgtmBIyACc5jwAgYgW0RMMFt27UWzAgYAROcx4ARMALbImCC27ZrLZgRMAImOI8BI2AEtkXABLdt11owI2AETHAeA0bACGyLgAlu2661YEbACJjgPAaMgBHYFgET3LZda8GMgBEwwXkMGAEjsC0CJrhtu9aCGQEjYILzGDACRmBbBExw23atBTMCRsAE5zFgBIzAtgiY4LbtWgtmBIyACc5jwAgYgW0RMMFt27UWzAgYAROcx4ARMALbImCC27ZrLZgRMAImOI8BI2AEtkXABLdt11owI2AETHAeA0bACGyLgAlu2661YEbACJjgPAaMgBHYFgET3LZda8GMgBEwwXkMGAEjsC0CJrhtu9aCGQEjYILzGDACRmBbBExw23atBTMCRsAE5zFgBIzAtgiY4LbtWgtmBIyACc5jwAgYgW0RMMFt27UWzAgYAROcx4ARMALbImCC27ZrLZgRMAImOI8BI2AEtkXABLdt11owI2AETHAeA0bACGyLgAlu2661YEbACJjgPAaMgBHYFgET3LZda8GMgBEwwXkMGAEjsC0CJrhtu9aCGQEjYILzGDACRmBbBExw23atBTMCRsAE5zFgBIzAtgiY4LbtWgtmBIyACc5jwAgYgW0RMMFt27UWzAgYAROcx4ARMALbImCC27ZrLZgRMAImOI8BI2AEtkXABLdt11owI2AETHAeA0bACGyLgAlu2661YEbACJjgPAaMgBHYFgET3LZda8GMgBEwwXkMGAEjsC0CJrhtu9aCGQEjYILzGDACRmBbBExw23atBTMCRsAE5zFgBIzAtgiY4LbtWgtmBIyACc5jwAgYgW0RMMFt27UWzAgYAROcx4ARMALbImCC27ZrLZgRMAImOI8BI2AEtkXABLdt11owI2AETHAeA0bACGyLgAlu2661YEbACJjgPAaMgBHYFgET3LZda8GMgBEwwXkMGAEjsC0CJrhtu9aCGQEjYILzGDACRmBbBExw23atBTMCRsAE5zFgBIzAtgiY4LbtWgtmBIyACc5jwAgYgW0RMMFt27UWzAgYAROcx4ARMALbImCC27ZrLZgRMAImOI8BI2AEtkXABLdt11owI2AETHAeA0bACGyLgAlu2661YEbACJjgPAaMgBHYFgET3LZda8GMgBEwwXkMGAEjsC0CJrhtu9aCGQEjYILzGDACRmBbBExw23atBTMCRsAE5zFgBIzAtgiY4LbtWgtmBIyACc5jwAgYgW0RMMFt27UWzAgYAROcx4ARMALbImCC27ZrLZgRMAImOI8BI2AEtkXABLdt11owI2AETHAeA0bACGyLgAlu2661YEbACJjgPAaMgBHYFgET3LZda8GMgBEwwXkMGAEjsC0CJrhtu9aCGQEjYILzGDACRmBbBExw23atBTMCRsAE5zFgBIzAtgiY4LbtWgtmBIyACc5jwAgYgW0RMMFt27UWzAgYAROcx4ARMALbImCC27ZrLZgRMAImOI8BI2AEtkXABLdt11owI2AETHAeA0bACGyLgAlu2661YEbACJjgPAaMgBHYFgET3LZda8GMgBEwwXkMGAEjsC0CJrhtu9aCGQEjYILzGDACRmBbBExw23atBTMCRsAE5zFgBIzAtgiY4LbtWgtmBIyACc5jwAgYgW0RMMFt27UWzAgYAROcx4ARMALbImCC27ZrLZgRMAImOI8BI2AEtkXABLdt11owI2AETHAeA0bACGyLgAlu2661YEbACJjgPAaMgBHYFgET3LZda8GMgBEwwXkMGAEjsC0CJrhtu9aCGQEjYILzGDACRmBbBExw23atBTMCRsAE5zFgBIzAtgicIbh/eBzH3x3H8f+2RceCGQEj8NYIrBLcPzmO458dx/H/j+P45nEc/+etUXDjjYAR2BKBVYL7p8dx/OgNkf9yHMd/3RIdC2UEjMBbI7BKcP/gOI5/ftPg/tJm6luPATfeCGyLwCrBbQuIBTMCRmAfBExw+/SlJTECRqBAwATnIWEEjMC2CLwCwSlg8VfHcfzttkhbMCNgBB6OwCsQ3L+6Sf2/bikn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"}),T().createElement("image",{id:"image2",width:"223",height:"198",xlinkHref:"data:image/png;base64,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"}),T().createElement("image",{id:"image3",width:"157",height:"325",xlinkHref:"data:image/png;base64,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"})));xa.propTypes={width:L().number.isRequired,height:L().number.isRequired};const Da=xa,La=((0,N.defineMessages)({partialChargesTooltipTitle:{id:"admin.billing.subscriptions.billing_summary.lastInvoice.whatArePartialCharges",defaultMessage:"What are partial charges?"},partialChargesTooltipText:{id:"admin.billing.subscriptions.billing_summary.lastInvoice.whatArePartialCharges.message",defaultMessage:"Users who have not been enabled for the full duration of the month are charged at a prorated monthly rate."}}),T().createElement("div",{className:"BillingSummary__noBillingHistory"},T().createElement(Xs,{height:167,width:234}),T().createElement("div",{className:"BillingSummary__noBillingHistory-title"},T().createElement(N.FormattedMessage,{id:"admin.billing.subscriptions.billing_summary.noBillingHistory.title",defaultMessage:"No billing history yet"})),T().createElement("div",{className:"BillingSummary__noBillingHistory-message"},T().createElement(N.FormattedMessage,{id:"admin.billing.subscriptions.billing_summary.noBillingHistory.description",defaultMessage:"In the future, this is where your most recent bill summary will show."})),T().createElement(ce.A,{location:"billing_summary",href:x.Lu.BILLING_DOCS,className:"BillingSummary__noBillingHistory-link",onClick:()=>(0,I.sx)("cloud_admin","click_how_billing_works",{screen:"subscriptions"})},T().createElement(N.FormattedMessage,{id:"admin.billing.subscriptions.billing_summary.noBillingHistory.link",defaultMessage:"See how billing works"})))),Fa=e=>{let{daysLeftOnTrial:t}=e;const[s]=(0,va.A)();return T().createElement("div",{className:"UpgradeMattermostCloud"},T().createElement("div",{className:"UpgradeMattermostCloud__image"},T().createElement(Da,{height:167,width:234})),T().createElement("div",{className:"UpgradeMattermostCloud__title"},t>x.RC.TRIAL_1_DAY&&T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.freeTrial.title",defaultMessage:"You're currently on a free trial"}),(t===x.RC.TRIAL_1_DAY||t===x.RC.TRIAL_0_DAYS)&&T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.freeTrial.lastDay.title",defaultMessage:"Your free trial ends today"})),T().createElement("div",{className:"UpgradeMattermostCloud__description"},t>x.RC.TRIAL_WARNING_THRESHOLD&&T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.freeTrial.description",defaultMessage:"Your free trial will expire in {daysLeftOnTrial} days. Add your payment information to continue after the trial ends.",values:{daysLeftOnTrial:t}}),t>x.RC.TRIAL_1_DAY&&t<=x.RC.TRIAL_WARNING_THRESHOLD&&T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.freeTrial.lessThan3Days.description",defaultMessage:"Your free trial will end in {daysLeftOnTrial, number} {daysLeftOnTrial, plural, one {day} other {days}}. Add payment information to continue enjoying the benefits of Cloud Professional.",values:{daysLeftOnTrial:t}}),(t===x.RC.TRIAL_1_DAY||t===x.RC.TRIAL_0_DAYS)&&T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.freeTrial.lastDay.description",defaultMessage:"Your free trial has ended. Add payment information to continue enjoying the benefits of Cloud Professional."})),T().createElement("button",{type:"button",onClick:()=>s(),className:"UpgradeMattermostCloud__upgradeButton"},T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.privateCloudCard.contactSales",defaultMessage:"Contact Sales"})))};function Ba(e){let{isFreeTrial:t,daysLeftOnTrial:s}=e,a=La;return t&&(a=Fa({daysLeftOnTrial:s})),T().createElement("div",{className:"BillingSummary"},a)}Fa.propTypes={daysLeftOnTrial:L().number.isRequired},L().array.isRequired,L().array.isRequired,L().number,Ba.propTypes={isFreeTrial:L().bool.isRequired,daysLeftOnTrial:L().number.isRequired};var Ha=s(40032),Ua=s(11039),Ga=s(60088);const ja=e=>{var t,s,a,n,i;const r=(0,N.useIntl)(),[o]=(0,Ua.A)(),l=[r.formatMessage({id:"admin.billing.subscription.planDetails.features.limitedMessageHistory",defaultMessage:"Limited to a message history of {limit} messages"},{limit:r.formatNumber(null!==(t=null===(s=o.messages)||void 0===s?void 0:s.history)&&void 0!==t?t:Ga.Cz.messages.history)}),r.formatMessage({id:"admin.billing.subscription.planDetails.features.limitedFileStorage",defaultMessage:"Limited to {limit} File Storage"},{limit:(0,Ga.Lh)(null!==(a=null===(n=o.files)||void 0===n?void 0:n.total_storage)&&void 0!==a?a:Ga.Cz.files.totalStorage,r.formatNumber)}),r.formatMessage({id:"admin.billing.subscription.planDetails.features.groupAndOneToOneMessaging",defaultMessage:"Group and one-to-one messaging, file sharing, and search"}),r.formatMessage({id:"admin.billing.subscription.planDetails.features.incidentCollaboration",defaultMessage:"Incident collaboration"}),r.formatMessage({id:"admin.billing.subscription.planDetails.features.unlimitedUsers",defaultMessage:"Unlimited users"}),r.formatMessage({id:"admin.billing.subscription.planDetails.features.mfa",defaultMessage:"Multi-Factor Authentication (MFA)"})],d=[r.formatMessage({id:"admin.billing.subscription.planDetails.features.groupAndOneToOneMessaging",defaultMessage:"Group and one-to-one messaging, file sharing, and search"}),r.formatMessage({id:"admin.billing.subscription.planDetails.features.incidentCollaboration",defaultMessage:"Incident collaboration"}),r.formatMessage({id:"admin.billing.subscription.planDetails.features.unlimittedUsersAndMessagingHistory",defaultMessage:"Unlimited users & message history"}),r.formatMessage({id:"admin.billing.subscription.planDetails.features.mfa",defaultMessage:"Multi-Factor Authentication (MFA)"}),r.formatMessage({id:"admin.billing.subscription.planDetails.features.multilanguage",defaultMessage:"Multi-language translations"})],c=[r.formatMessage({id:"admin.billing.subscription.planDetails.features.fileStorage",defaultMessage:"Unlimited file storage"}),r.formatMessage({id:"admin.billing.subscription.planDetails.features.guestAccounts",defaultMessage:"Guest Accounts"}),r.formatMessage({id:"admin.billing.subscription.planDetails.features.ldapUserSync",defaultMessage:"AD/LDAP user sync"}),r.formatMessage({id:"admin.billing.subscription.planDetails.features.ssoSaml",defaultMessage:"SSO w/ SAML (includes Okta and OneLogIn)"}),r.formatMessage({id:"admin.billing.subscription.planDetails.features.multiplatformSso",defaultMessage:"SSO with Google, O365"}),r.formatMessage({id:"admin.billing.subscription.planDetails.features.openid",defaultMessage:"OpenID"}),r.formatMessage({id:"admin.billing.subscription.planDetails.features.mfaEnforcement",defaultMessage:"MFA enforcement"}),r.formatMessage({id:"admin.billing.subscription.planDetails.features.advanceTeamPermission",defaultMessage:"Advanced team permissions"}),r.formatMessage({id:"admin.billing.subscription.planDetails.features.readOnlyChannels",defaultMessage:"Read-only announcement channels"}),r.formatMessage({id:"admin.billing.subscription.planDetails.features.sharedChannels",defaultMessage:"Shared channels (coming soon)"})],m=[r.formatMessage({id:"admin.billing.subscription.planDetails.features.enterpriseAdminAndSso",defaultMessage:"Enterprise administration & SSO"}),r.formatMessage({id:"admin.billing.subscription.planDetails.features.autoComplianceExports",defaultMessage:"Automated compliance exports"}),r.formatMessage({id:"admin.billing.subscription.planDetails.features.customRetentionPolicies",defaultMessage:"Custom data retention policies"}),r.formatMessage({id:"admin.billing.subscription.planDetails.features.ldapSync",defaultMessage:"AD/LDAP group sync to teams & channels"}),r.formatMessage({id:"admin.billing.subscription.planDetails.features.premiumSupport",defaultMessage:"Premium Support (optional upgrade)"})];let u=[];switch(e.subscriptionPlan){case x.YE.PROFESSIONAL:u=c;break;case x.YE.STARTER:u=(0,Ga.$k)(o)?l:d;break;case x.YE.ENTERPRISE:u=m;break;default:u=[]}const p=null===(i=u)||void 0===i?void 0:i.map(((e,t)=>T().createElement("div",{key:"PlanDetailsFeature".concat(t.toString()),className:"PlanDetailsFeature"},T().createElement("i",{className:"icon-check"}),T().createElement("span",null,e))));return T().createElement(T().Fragment,null,p)};ja.propTypes={subscriptionPlan:L().string};const qa=ja;var Wa=s(67416);const Va=e=>{let t,{userCount:s,isFreeTrial:a,subscriptionPlan:n,daysLeftOnTrial:i,isYearly:r}=e;const o=(0,_a.A)(),{formatMessage:l}=(0,N.useIntl)(),d=T().createElement("div",{className:"PlanDetails__userCount"},T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.planDetails.userCount",defaultMessage:"{userCount} users",values:{userCount:s}}));switch(n){case x.YE.PROFESSIONAL:t=T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.planDetails.productName.cloudProfessional",defaultMessage:"Cloud Professional"});break;case x.YE.ENTERPRISE:t=T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.planDetails.productName.cloudEnterprise",defaultMessage:"Cloud Enterprise"});break;case x.YE.STARTER:t=T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.planDetails.productName.cloudFree",defaultMessage:"Cloud Free"});break;default:t=T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.planDetails.productName.unknown",defaultMessage:"Unknown product"})}const c=a?T().createElement(Wa.A,{className:"TrialBadge",text:l({id:"admin.billing.subscription.cloudTrialBadge.daysLeftOnTrial",defaultMessage:"{daysLeftOnTrial} trial days left"},{daysLeftOnTrial:i})}):null,m=T().createElement(Wa.A,{className:"RecurringIntervalBadge",text:l({id:"admin.billing.subscription.cloudMonthlyBadge",defaultMessage:"Monthly"})}),u=T().createElement(Wa.A,{className:"RecurringIntervalBadge",text:l({id:"admin.billing.subscription.cloudYearlyBadge",defaultMessage:"Annual"})}),p=T().createElement("button",{onClick:()=>o({trackingLocation:"billing_plan_details_view_plans"}),className:"btn btn-secondary PlanDetails__viewPlansButton"},l({id:"workspace_limits.menu_limit.view_plans",defaultMessage:"View plans"}));return T().createElement(T().Fragment,null,T().createElement("div",{className:"PlanDetails__top"},T().createElement("div",{className:"PlanDetails__productName"},t,n===x.YE.STARTER?null:a?c:r?u:m),p),d)};Va.propTypes={userCount:L().number.isRequired,isFreeTrial:L().bool.isRequired,daysLeftOnTrial:L().number.isRequired,isYearly:L().bool.isRequired};const za=e=>{let{product:t}=e;return t.sku===x.YE.STARTER?null:T().createElement("div",{className:"PlanPricing"},T().createElement("div",{className:"PlanDetails__paid-tier"},"$".concat((e=>e.recurring_interval===x.q7.YEAR?(e.price_per_seat/12).toFixed(2):e.price_per_seat.toFixed(2))(t)),t.billing_scheme===x.yy.FLAT_FEE?T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.planDetails.flatFeePerMonth",defaultMessage:"/month (Unlimited Users). "}):T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.planDetails.perUserPerMonth",defaultMessage:"/user/month. "}),T().createElement(ce.A,{location:"plan_pricing",href:x.Lu.BILLING_DOCS,onClick:()=>(0,I.sx)("cloud_admin","click_how_billing_works",{screen:"payment"})},T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.planDetails.howBillingWorks",defaultMessage:"See how billing works"}))))},Ya=e=>{let{isFreeTrial:t,subscriptionPlan:s}=e;const n=(0,a.useSelector)(P.dw),i=(0,a.useSelector)(P.Pd),r=Math.min((0,H.RF)(null==n?void 0:n.trial_end_at),x.RC.TRIAL_30_DAYS),o=(0,Ha.A)();return i&&o?T().createElement("div",{className:"PlanDetails"},T().createElement(Va,{userCount:o,isFreeTrial:t,subscriptionPlan:s,daysLeftOnTrial:r,isYearly:"year"===i.recurring_interval}),T().createElement(za,{product:i}),T().createElement("div",{className:"PlanDetails__teamAndChannelCount"},T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.planDetails.subheader",defaultMessage:"Plan details"})),T().createElement(qa,{subscriptionPlan:s}),(e=>e?null:T().createElement("div",{className:"PlanDetails__currentPlan"},T().createElement("i",{className:"icon-check-circle"}),T().createElement(N.FormattedMessage,{id:"admin.billing.subscription.planDetails.currentPlan",defaultMessage:"Current Plan"})))(t)):null};Ya.propTypes={isFreeTrial:L().bool.isRequired};const Za=Ya,Ja=(0,N.defineMessages)({title:{id:"admin.billing.subscription.title",defaultMessage:"Subscription"}}),Qa=[Ja.title],Ka=e=>T().createElement("svg",{width:e.width?e.width.toString():"527",height:e.height?e.height.toString():"296",viewBox:"0 0 527 296",fill:"none",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},T().createElement("g",{clipPath:"url(#clip0)"},T().createElement("path",{d:"M393.56 114.194C395.02 115.654 395.762 117.485 395.762 119.686V254.297C395.762 256.498 395.02 258.329 393.56 259.789C392.1 261.249 390.27 261.99 388.068 261.99H123.25C121.048 261.99 119.125 261.249 117.479 259.789C115.834 258.329 115 256.498 115 254.297V119.686C115 117.485 115.834 115.654 117.479 114.194C119.125 112.734 121.048 111.993 123.25 111.993H388.068C390.246 111.993 392.077 112.734 393.56 114.194Z",fill:"#CC8F00"}),T().createElement("mask",{id:"mask0","mask-type":"alpha",maskUnits:"userSpaceOnUse",x:"115",y:"111",width:"281",height:"151"},T().createElement("path",{d:"M393.56 114.194C395.02 115.654 395.762 117.485 395.762 119.686V254.297C395.762 256.498 395.02 258.329 393.56 259.789C392.1 261.249 390.27 261.99 388.068 261.99H123.25C121.048 261.99 119.125 261.249 117.479 259.789C115.834 258.329 115 256.498 115 254.297V119.686C115 117.485 115.834 115.654 117.479 114.194C119.125 112.734 121.048 111.993 123.25 111.993H388.068C390.246 111.993 392.077 112.734 393.56 114.194Z",fill:"#CC8F00"})),T().createElement("g",{mask:"url(#mask0)"},T().createElement("rect",{x:"76.4777",y:"175",width:"358.204",height:"86.9427",fill:"url(#pattern0)"})),T().createElement("path",{d:"M139.725 171.338H130.387C127.815 170.967 126.355 169.693 125.984 167.491V141.677C126.355 139.128 127.815 137.83 130.387 137.83H139.725C142.274 137.83 143.757 139.128 144.128 141.677V167.491C143.757 169.693 142.274 170.967 139.725 171.338ZM139.725 202.111H130.387C127.815 201.741 126.355 200.466 125.984 198.265V189.482C126.355 186.933 127.815 185.636 130.387 185.636H139.725C142.274 185.636 143.757 186.933 144.128 189.482V198.265C143.757 200.466 142.274 201.741 139.725 202.111ZM139.725 231.773H130.387C127.815 231.402 126.355 230.127 125.984 227.926V219.143C126.355 216.942 127.815 215.667 130.387 215.297H139.725C142.274 215.667 143.757 216.942 144.128 219.143V227.926C143.757 230.127 142.274 231.402 139.725 231.773ZM165.54 171.338H155.645C153.073 170.967 151.798 169.693 151.798 167.491V141.677C151.798 139.128 153.073 137.83 155.645 137.83H165.54C167.741 137.83 169.016 139.128 169.387 141.677V167.491C169.016 169.693 167.741 170.967 165.54 171.338ZM165.54 202.111H155.645C153.073 201.741 151.798 200.466 151.798 198.265V189.482C151.798 186.933 153.073 185.636 155.645 185.636H165.54C167.741 185.636 169.016 186.933 169.387 189.482V198.265C169.016 200.466 167.741 201.741 165.54 202.111ZM165.54 231.773H155.645C153.073 231.402 151.798 230.127 151.798 227.926V219.143C151.798 216.942 153.073 215.667 155.645 215.297H165.54C167.741 215.667 169.016 216.942 169.387 219.143V227.926C169.016 230.127 167.741 231.402 165.54 231.773ZM361.141 167.491V141.677C360.771 139.128 359.311 137.83 356.739 137.83H347.4C344.828 137.83 343.368 139.128 342.997 141.677V167.491C343.368 169.693 344.828 170.967 347.4 171.338H356.739C359.288 170.967 360.771 169.693 361.141 167.491ZM356.739 202.111H347.4C344.828 201.741 343.368 200.466 342.997 198.265V189.482C343.368 186.933 344.828 185.636 347.4 185.636H356.739C359.288 185.636 360.771 186.933 361.141 189.482V198.265C360.771 200.466 359.288 201.741 356.739 202.111ZM356.739 231.773H347.4C344.828 231.402 343.368 230.127 342.997 227.926V219.143C343.368 216.942 344.828 215.667 347.4 215.297H356.739C359.288 215.667 360.771 216.942 361.141 219.143V227.926C360.771 230.127 359.288 231.402 356.739 231.773ZM382.553 171.338H372.658C370.086 170.967 368.812 169.693 368.812 167.491V141.677C368.812 139.128 370.086 137.83 372.658 137.83H382.553C384.754 137.83 386.029 139.128 386.4 141.677V167.491C386.029 169.693 384.754 170.967 382.553 171.338ZM382.553 202.111H372.658C370.086 201.741 368.812 200.466 368.812 198.265V189.482C368.812 186.933 370.086 185.636 372.658 185.636H382.553C384.754 185.636 386.029 186.933 386.4 189.482V198.265C386.029 200.466 384.754 201.741 382.553 202.111ZM382.553 231.773H372.658C370.086 231.402 368.812 230.127 368.812 227.926V219.143C368.812 216.942 370.086 215.667 372.658 215.297H382.553C384.754 215.667 386.029 216.942 386.4 219.143V227.926C386.029 230.127 384.754 231.402 382.553 231.773Z",fill:"#66320A"}),T().createElement("path",{d:"M332.013 41.895V255.942C331.642 259.603 330.368 261.619 328.167 261.99H186.975C184.403 261.619 182.943 259.603 182.572 255.942V41.895C182.943 38.2337 184.403 36.2177 186.975 35.8469H328.167C330.368 36.2177 331.642 38.2337 332.013 41.895Z",fill:"#FFBC1F"}),T().createElement("path",{d:"M214.434 150.459C214.064 153.031 212.789 154.306 210.588 154.306H198.492C195.919 154.306 194.645 153.031 194.645 150.459V120.242C194.645 117.693 195.919 116.395 198.492 116.395H210.588C212.789 116.395 214.064 117.693 214.434 120.242V150.459ZM210.588 186.725C212.789 186.725 214.064 185.45 214.434 182.878V174.095C214.064 171.894 212.789 170.62 210.588 170.249H198.492C195.919 170.62 194.645 171.894 194.645 174.095V182.878C194.645 185.45 195.919 186.725 198.492 186.725H210.588ZM210.588 218.587C212.789 218.587 214.064 217.313 214.434 214.741V205.958C214.064 203.757 212.789 202.482 210.588 202.111H198.492C195.919 202.482 194.645 203.757 194.645 205.958V214.741C194.645 217.313 195.919 218.587 198.492 218.587H210.588ZM210.588 247.715C212.789 247.345 214.064 246.07 214.434 243.869V235.086C214.064 232.885 212.789 231.61 210.588 231.24H198.492C195.919 231.61 194.645 232.885 194.645 235.086V243.869C194.645 246.07 195.919 247.345 198.492 247.715H210.588ZM239.16 154.306C241.709 154.306 243.192 153.031 243.563 150.459V120.242C243.192 117.693 241.732 116.395 239.16 116.395H227.064C224.862 116.395 223.588 117.693 223.217 120.242V150.459C223.588 153.031 224.862 154.306 227.064 154.306H239.16ZM239.16 186.725C241.709 186.725 243.192 185.45 243.563 182.878V174.095C243.192 171.894 241.732 170.62 239.16 170.249H227.064C224.862 170.62 223.588 171.894 223.217 174.095V182.878C223.588 185.45 224.862 186.725 227.064 186.725H239.16ZM286.965 154.306C289.167 154.306 290.441 153.031 290.812 150.459V120.242C290.441 117.693 289.167 116.395 286.965 116.395H274.869C272.297 116.395 270.837 117.693 270.466 120.242V150.459C270.837 153.031 272.297 154.306 274.869 154.306H286.965ZM286.965 186.725C289.167 186.725 290.441 185.45 290.812 182.878V174.095C290.441 171.894 289.167 170.62 286.965 170.249H274.869C272.297 170.62 270.837 171.894 270.466 174.095V182.878C270.837 185.45 272.297 186.725 274.869 186.725H286.965ZM315.537 154.306C318.086 154.306 319.384 153.031 319.384 150.459V120.242C319.384 117.693 318.086 116.395 315.537 116.395H303.441C301.24 116.395 299.965 117.693 299.594 120.242V150.459C299.965 153.031 301.24 154.306 303.441 154.306H315.537ZM214.434 95.6556C214.064 98.2277 212.789 99.5022 210.588 99.5022H198.492C195.919 99.5022 194.645 98.2277 194.645 95.6556V65.4382C194.645 62.8892 195.919 61.5916 198.492 61.5916H210.588C212.789 61.5916 214.064 62.8892 214.434 65.4382V95.6556ZM239.16 99.5022C241.709 99.5022 243.192 98.2277 243.563 95.6556V65.4382C243.192 62.8892 241.732 61.5916 239.16 61.5916H227.064C224.862 61.5916 223.588 62.8892 223.217 65.4382V95.6556C223.588 98.2277 224.862 99.5022 227.064 99.5022H239.16ZM286.965 99.5022C289.167 99.5022 290.441 98.2277 290.812 95.6556V65.4382C290.441 62.8892 289.167 61.5916 286.965 61.5916H274.869C272.297 61.5916 270.837 62.8892 270.466 65.4382V95.6556C270.837 98.2277 272.297 99.5022 274.869 99.5022H286.965ZM315.537 99.5022C318.086 99.5022 319.384 98.2277 319.384 95.6556V65.4382C319.384 62.8892 318.086 61.5916 315.537 61.5916H303.441C301.24 61.5916 299.965 62.8892 299.594 65.4382V95.6556C299.965 98.2277 301.24 99.5022 303.441 99.5022H315.537ZM315.537 186.725C318.086 186.725 319.384 185.45 319.384 182.878V174.095C319.384 171.894 318.086 170.62 315.537 170.249H303.441C301.24 170.62 299.965 171.894 299.594 174.095V182.878C299.965 185.45 301.24 186.725 303.441 186.725H315.537ZM315.537 218.587C318.086 218.587 319.384 217.313 319.384 214.741V205.958C319.384 203.757 318.086 202.482 315.537 202.111H303.441C301.24 202.482 299.965 203.757 299.594 205.958V214.741C299.965 217.313 301.24 218.587 303.441 218.587H315.537ZM315.537 247.715C318.086 247.345 319.384 246.07 319.384 243.869V235.086C319.384 232.885 318.086 231.61 315.537 231.24H303.441C301.24 231.61 299.965 232.885 299.594 235.086V243.869C299.965 246.07 301.24 247.345 303.441 247.715H315.537Z",fill:"#CC8F00"}),T().createElement("path",{d:"M285.876 203.2H228.732V261.99H285.876V203.2Z",fill:"#E0E9EF"}),T().createElement("path",{d:"M332.013 46.8306H183.128C180.556 46.4598 179.096 45.1853 178.725 42.9839V35.8467C179.096 33.2977 180.556 32 183.128 32H332.013C334.215 32 335.489 33.2977 335.86 35.8467V42.9839C335.489 45.1853 334.215 46.483 332.013 46.8306ZM286.409 196.063H228.176C225.604 196.434 224.329 197.709 224.329 199.91V206.514C224.329 209.086 225.604 210.361 228.176 210.361H255.659V262.013H258.949V210.338H286.409C288.958 210.338 290.441 209.063 290.812 206.491V199.887C290.441 197.709 288.981 196.434 286.409 196.063Z",fill:"#1E325C"}),T().createElement("path",{d:"M474.538 94.5434C473.565 80.0836 467.725 67.3849 457.043 56.4474C444.877 44.7914 430.834 38.9519 414.914 38.9519C398.995 38.9519 384.975 44.7914 372.809 56.4474C361.154 68.6131 355.314 82.6326 355.314 98.5523C355.314 114.472 361.154 128.515 372.809 140.657C383.979 151.363 396.747 157.133 411.091 157.967C425.435 158.825 438.666 154.862 450.832 146.126L459.939 155.233L471.595 143.577L462.488 134.47C471.479 122.328 475.488 109.003 474.538 94.5434ZM449.372 132.825C440.126 141.932 428.702 146.752 415.1 147.215C401.242 146.729 389.772 141.932 380.642 132.825C371.535 123.718 366.738 112.224 366.252 98.3669C366.738 84.7645 371.535 73.3403 380.642 64.0944C389.749 54.8716 401.242 50.1212 415.1 49.8663C428.702 50.1212 440.126 54.8484 449.372 64.0944C458.595 73.3403 463.346 84.7645 463.6 98.3669C463.346 112.224 458.618 123.718 449.372 132.825Z",fill:"#B3B3B3"}),T().createElement("path",{opacity:"0.5",d:"M380.642 64.1175C389.749 54.8947 401.242 50.1443 415.1 49.8894C428.702 50.1443 440.126 54.8716 449.372 64.1175C458.595 73.3634 463.345 84.7876 463.6 98.3901C463.345 112.247 458.618 123.718 449.372 132.848C440.126 141.955 428.702 146.775 415.1 147.238C401.242 146.752 389.772 141.955 380.642 132.848C371.535 123.718 366.738 112.224 366.251 98.3669C366.738 84.7645 371.535 73.3403 380.642 64.1175Z",fill:"#F2F2F2"}),T().createElement("path",{d:"M382.287 127.542C392.252 137.019 403.676 141.77 416.56 141.77C429.444 141.77 440.868 137.019 450.832 127.542C456.185 122.189 460.055 116.117 462.488 109.305C460.542 118.296 456.162 126.313 449.373 133.358C439.408 142.836 427.915 147.586 414.915 147.586C401.915 147.586 390.421 142.836 380.457 133.358C373.644 126.313 369.264 118.296 367.341 109.305C365.394 100.313 365.997 91.4383 369.171 82.7021C367.48 90.4882 367.712 98.3206 369.89 106.223C372.091 114.124 376.216 121.215 382.287 127.542Z",fill:"#999999"}),T().createElement("path",{d:"M512.263 210.129C509.228 210.987 506.98 210.685 505.52 209.226L457.761 157.434C456.301 155.975 455.699 154.098 455.93 151.78C456.162 149.463 457.622 146.868 460.31 143.948C463.23 141.283 465.825 139.754 468.142 139.383C470.46 139.012 472.337 139.684 473.797 141.399L525.935 189.158C527.395 190.618 527.627 192.796 526.654 195.716C525.68 198.636 523.85 201.555 521.185 204.475C518.288 207.395 515.299 209.272 512.263 210.129Z",fill:"#FFBC1F"}),T().createElement("path",{d:"M515.369 179.31L496.042 199.006L472.337 173.47L489.832 155.975L515.369 179.31Z",fill:"#954D0E"})),T().createElement("defs",null,T().createElement("pattern",{id:"pattern0",patternContentUnits:"objectBoundingBox",width:"1",height:"1"},T().createElement("use",{xlinkHref:"#image0",transform:"scale(0.00411523 0.0169492)"})),T().createElement("clipPath",{id:"clip0"},T().createElement("rect",{width:"527",height:"296",fill:"white"})),T().createElement("image",{id:"image0",width:"243",height:"59",xlinkHref:"data:image/png;base64,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"})));Ka.propTypes={width:L().number.isRequired,height:L().number.isRequired};const Xa=Ka,$a=T().createElement("div",{className:"CompanyInfoDisplay__addInfo"},T().createElement(ka.A,{to:"/admin_console/billing/company_info_edit",className:"CompanyInfoDisplay__addInfoButton",onClick:()=>(0,I.sx)("cloud_admin","click_add_company_info")},T().createElement("i",{className:"icon icon-plus"}),T().createElement(N.FormattedMessage,{id:"admin.billing.company_info.add",defaultMessage:"Add Company Information"}))),en=T().createElement("div",{className:"CompanyInfoDisplay__noCompanyInfo"},T().createElement(Xa,{width:300,height:210}),T().createElement("div",{className:"CompanyInfoDisplay__noCompanyInfo-message"},T().createElement(N.FormattedMessage,{id:"admin.billing.company_info_display.noCompanyInfo",defaultMessage:"There is currently no company information on file."})),T().createElement(ka.A,{to:"/admin_console/billing/company_info_edit",className:"CompanyInfoDisplay__noCompanyInfo-link",onClick:()=>(0,I.sx)("cloud_admin","click_add_company_info")},T().createElement(N.FormattedMessage,{id:"admin.billing.company_info.add",defaultMessage:"Add Company Information"}))),tn=()=>{var e;const t=(0,a.useSelector)((e=>e.entities.cloud.customer));if(!t)return null;let s=en;const n=null!=t&&null!==(e=t.company_address)&&void 0!==e&&e.line1?t.company_address:null==t?void 0:t.billing_address,i=void 0!==(null==n?void 0:n.line1);return i&&(s=T().createElement("div",{className:"CompanyInfoDisplay__companyInfo"},T().createElement("div",{className:"CompanyInfoDisplay__companyInfo-text"},T().createElement("div",{className:"CompanyInfoDisplay__companyInfo-name"},null==t?void 0:t.name),Boolean(t.num_employees)&&T().createElement("div",{className:"CompanyInfoDisplay__companyInfo-numEmployees"},T().createElement(N.FormattedMessage,{id:"admin.billing.company_info.employees",defaultMessage:"{employees} employees",values:{employees:t.num_employees}})),T().createElement("div",{className:"CompanyInfoDisplay__companyInfo-addressTitle"},T().createElement(N.FormattedMessage,{id:"admin.billing.company_info.companyAddress",defaultMessage:"Company Address"})),T().createElement("div",{className:"CompanyInfoDisplay__companyInfo-address"},T().createElement("div",null,n.line1),n.line2&&T().createElement("div",null,n.line2),T().createElement("div",null,"".concat(n.city,", ").concat(n.state,", ").concat(n.postal_code)),T().createElement("div",null,n.country))),T().createElement("div",{className:"CompanyInfoDisplay__companyInfo-edit"},T().createElement(ka.A,{to:"/admin_console/billing/company_info_edit",className:"CompanyInfoDisplay__companyInfo-editButton",onClick:()=>(0,I.sx)("cloud_admin","click_edit_company_info")},T().createElement("i",{className:"icon icon-pencil-outline"}))))),T().createElement("div",{className:"CompanyInfoDisplay"},T().createElement("div",{className:"CompanyInfoDisplay__header"},T().createElement("div",{className:"CompanyInfoDisplay__headerText"},T().createElement("div",{className:"CompanyInfoDisplay__headerText-top"},T().createElement(N.FormattedMessage,{id:"admin.billing.company_info_display.companyDetails",defaultMessage:"Company Details"})),T().createElement("div",{className:"CompanyInfoDisplay__headerText-bottom"},i&&T().createElement(N.FormattedMessage,{id:"admin.billing.company_info_display.detailsProvided",defaultMessage:"Your company name and address"}),!i&&T().createElement(N.FormattedMessage,{id:"admin.billing.company_info_display.provideDetails",defaultMessage:"Provide your company name and address"}))),!(null!=n&&n.line1)&&$a),T().createElement("div",{className:"CompanyInfoDisplay__body"},s))},sn=(0,N.defineMessages)({title:{id:"admin.billing.company_info.title",defaultMessage:"Company Information"}}),an=[sn.title];var nn=s(39131),rn=s(39163),on=s(43233),ln=s(98566);const dn=[{code:"AL",name:"Alabama"},{code:"AK",name:"Alaska"},{code:"AZ",name:"Arizona"},{code:"AR",name:"Arkansas"},{code:"CA",name:"California"},{code:"CO",name:"Colorado"},{code:"CT",name:"Connecticut"},{code:"DE",name:"Delaware"},{code:"DC",name:"District of Columbia"},{code:"FL",name:"Florida"},{code:"GA",name:"Georgia"},{code:"HI",name:"Hawaii"},{code:"ID",name:"Idaho"},{code:"IL",name:"Illinois"},{code:"IN",name:"Indiana"},{code:"IA",name:"Iowa"},{code:"KS",name:"Kansas"},{code:"KY",name:"Kentucky"},{code:"LA",name:"Louisiana"},{code:"ME",name:"Maine"},{code:"MD",name:"Maryland"},{code:"MA",name:"Massachusetts"},{code:"MI",name:"Michigan"},{code:"MN",name:"Minnesota"},{code:"MS",name:"Mississippi"},{code:"MO",name:"Missouri"},{code:"MT",name:"Montana"},{code:"NE",name:"Nebraska"},{code:"NV",name:"Nevada"},{code:"NH",name:"New Hampshire"},{code:"NJ",name:"New Jersey"},{code:"NM",name:"New Mexico"},{code:"NY",name:"New York"},{code:"NC",name:"North Carolina"},{code:"ND",name:"North Dakota"},{code:"OH",name:"Ohio"},{code:"OK",name:"Oklahoma"},{code:"OR",name:"Oregon"},{code:"PA",name:"Pennsylvania"},{code:"PR",name:"Puerto Rico"},{code:"RI",name:"Rhode Island"},{code:"SC",name:"South Carolina"},{code:"SD",name:"South Dakota"},{code:"TN",name:"Tennessee"},{code:"TX",name:"Texas"},{code:"UT",name:"Utah"},{code:"VT",name:"Vermont"},{code:"VA",name:"Virginia"},{code:"WA",name:"Washington"},{code:"WV",name:"West Virginia"},{code:"WI",name:"Wisconsin"},{code:"WY",name:"Wyoming"}],cn=[{code:"AB",name:"Alberta"},{code:"BC",name:"British Columbia"},{code:"MB",name:"Manitoba"},{code:"NB",name:"New Brunswick"},{code:"NL",name:"Newfoundland and Labrador"},{code:"NT",name:"Northwest Territories"},{code:"NS",name:"Nova Scotia"},{code:"NU",name:"Nunavut"},{code:"ON",name:"Ontario"},{code:"PE",name:"Prince Edward Island"},{code:"QC",name:"Quebec"},{code:"SK",name:"Saskatchewan"},{code:"YT",name:"Yukon Territory"}];function mn(e){const{formatMessage:t}=(0,N.useIntl)(),s=t=>{e.onChange(t.value)};let a=[];if("US"===e.country?a=dn:"CA"===e.country&&(a=cn),a.length>0){const n={};return e.testId&&(n.testId=e.testId),T().createElement(on.A,Object.assign({},n,{onChange:s,value:e.state?{value:e.state,label:e.state}:void 0,options:a.map((e=>({value:e.code,label:e.name}))),legend:t({id:"admin.billing.subscription.stateprovince",defaultMessage:"State/Province"}),placeholder:t({id:"admin.billing.subscription.stateprovince",defaultMessage:"State/Province"}),name:"country_dropdown"}))}return T().createElement(ln.A,{name:"state",type:"text",value:e.state,onChange:t=>{e.onChange(t.target.value)},onBlur:e.onBlur,placeholder:t({id:"admin.billing.subscription.stateprovince",defaultMessage:"State/Province"}),required:!0})}mn.propTypes={country:L().string.isRequired,state:L().string.isRequired,testId:L().string,onChange:L().func.isRequired,onBlur:L().func};function un(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const pn=(0,N.defineMessages)({title:{id:"admin.bleve.title",defaultMessage:"Bleve"},enableIndexingTitle:{id:"admin.bleve.enableIndexingTitle",defaultMessage:"Enable Bleve Indexing:"},enableIndexingDescription:{id:"admin.bleve.enableIndexingDescription",defaultMessage:'When true, indexing of new posts occurs automatically. Search queries will use database search until "Enable Bleve for search queries" is enabled. <link>Learn more about Bleve in our documentation.</link>'},bulkIndexingTitle:{id:"admin.bleve.bulkIndexingTitle",defaultMessage:"Bulk Indexing:"},createJob_help:{id:"admin.bleve.createJob.help",defaultMessage:"All users, channels and posts in the database will be indexed from oldest to newest. Bleve is available during indexing but search results may be incomplete until the indexing job is complete."},purgeIndexesHelpText:{id:"admin.bleve.purgeIndexesHelpText",defaultMessage:"Purging will entirely remove the content of the Bleve index directory. Search results may be incomplete until a bulk index of the existing database is rebuilt."},purgeIndexesButton:{id:"admin.bleve.purgeIndexesButton",defaultMessage:"Purge Index"},purgeIndexesButton_label:{id:"admin.bleve.purgeIndexesButton.label",defaultMessage:"Purge Indexes:"},enableSearchingTitle:{id:"admin.bleve.enableSearchingTitle",defaultMessage:"Enable Bleve for search queries:"},enableSearchingDescription:{id:"admin.bleve.enableSearchingDescription",defaultMessage:"When true, Bleve will be used for all search queries using the latest index. Search results may be incomplete until a bulk index of the existing post database is finished. When false, database search is used."}}),gn=[pn.title,pn.enableIndexingTitle,pn.enableIndexingDescription,pn.bulkIndexingTitle,pn.createJob_help,pn.purgeIndexesHelpText,pn.purgeIndexesButton,pn.purgeIndexesButton_label,pn.enableSearchingTitle,pn.enableSearchingDescription];function hn(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}s(22184);class fn extends T().PureComponent{constructor(e){super(e),hn(this,"handleSelectClick",(()=>{var e;null===(e=this.fileInputRef.current)||void 0===e||e.click()})),hn(this,"handleImageChange",(()=>{if(!this.fileInputRef.current)return;const e=this.fileInputRef.current;e.files&&e.files.length>0&&(this.props.setSaveNeeded(),this.setState({brandImage:e.files[0],deleteBrandImage:!1}))})),hn(this,"handleDeleteButtonPressed",(()=>{this.setState({deleteBrandImage:!0,brandImage:void 0,brandImageExists:!1}),this.props.setSaveNeeded()})),hn(this,"handleSave",(async()=>{let e;return this.setState({error:""}),this.state.deleteBrandImage?await(0,h.MD)((()=>{this.setState({deleteBrandImage:!1,brandImageExists:!1,brandImage:void 0})}),(t=>{e=t,this.setState({error:t.message})})):this.state.brandImage&&await(0,h.MQ)(this.state.brandImage,(()=>{this.setState({brandImageExists:!0,brandImage:void 0,brandImageTimestamp:Date.now()})}),(t=>{e=t,this.setState({error:t.message})})),{error:e}})),this.state={deleteBrandImage:!1,brandImageExists:!1,brandImageTimestamp:Date.now(),error:""},this.imageRef=T().createRef(),this.fileInputRef=T().createRef()}componentDidMount(){fetch(de.mT.getBrandImageUrl(String(this.state.brandImageTimestamp))).then((e=>{200===e.status?this.setState({brandImageExists:!0}):this.setState({brandImageExists:!1})})).catch((e=>{console.error("unable to retrieve brand image: ".concat(e)),this.setState({brandImageExists:!1})})),this.props.registerSaveAction(this.handleSave)}componentWillUnmount(){this.props.unRegisterSaveAction(this.handleSave)}componentDidUpdate(){if(this.imageRef.current){const e=new FileReader,t=this.imageRef.current;e.onload=e=>{var s,a,n;const i=(null===(s=e.target)||void 0===s?void 0:s.result)instanceof ArrayBuffer?null===(a=e.target)||void 0===a?void 0:a.result.toString():null===(n=e.target)||void 0===n?void 0:n.result;i&&t.setAttribute("src",i)},this.state.brandImage&&e.readAsDataURL(this.state.brandImage)}}render(){let e=null;if(this.state.brandImage)e=T().createElement("div",{className:"remove-image__img mb-5"},T().createElement("img",{ref:this.imageRef,alt:"brand image",src:""}));else if(this.state.brandImageExists){let t;this.props.disabled||(t=T().createElement(tt.A,{title:T().createElement(N.FormattedMessage,{id:"admin.team.removeBrandImage",defaultMessage:"Remove brand image"}),isVertical:!1},T().createElement("button",{type:"button",className:"remove-image__btn",onClick:this.handleDeleteButtonPressed},T().createElement("span",{"aria-hidden":!0},"×")))),e=T().createElement("div",{className:"remove-image__img mb-5"},T().createElement("img",{alt:"brand image",src:de.mT.getBrandImageUrl(String(this.state.brandImageTimestamp))}),t)}else e=T().createElement("p",{className:"mt-2"},T().createElement(N.FormattedMessage,{id:"admin.team.noBrandImage",defaultMessage:"No brand image uploaded"}));return T().createElement(G,{inputId:this.props.id,helpText:T().createElement(N.FormattedMessage,{id:"admin.team.uploadDesc",defaultMessage:"Customize your user experience by adding a custom image to your login screen. Recommended maximum image size is less than 2 MB."}),label:T().createElement(N.FormattedMessage,{id:"admin.team.brandImageTitle",defaultMessage:"Custom Brand Image:"}),setByEnv:!1},T().createElement("div",null,T().createElement("div",{className:"remove-image"},e)),T().createElement("div",{className:"file__upload mt-5"},T().createElement("button",{type:"button",className:"btn btn-tertiary",disabled:this.props.disabled,onClick:this.handleSelectClick},T().createElement(N.FormattedMessage,{id:"admin.team.chooseImage",defaultMessage:"Select Image"})),T().createElement("input",{ref:this.fileInputRef,type:"file",accept:x.YM.ACCEPT_STATIC_IMAGE,disabled:this.props.disabled,onChange:this.handleImageChange})),T().createElement(ye.A,{error:this.state.error}))}}hn(fn,"propTypes",{id:L().string,disabled:L().bool.isRequired,setSaveNeeded:L().func.isRequired,registerSaveAction:L().func.isRequired,unRegisterSaveAction:L().func.isRequired});const En=s.p+"files/249d03d271a38c75d7ce.png",bn=s.p+"files/71850e51ea04421286aa.png";class vn extends _.PureComponent{render(){let e=T().createElement("img",{alt:"version mismatch",className:"cluster-status",src:En}),t=T().createElement("img",{alt:"config mismatch",className:"cluster-status",src:En}),s=T().createElement("div",null),a="",n="",i=!1;this.props.clusterInfos.length&&(a=this.props.clusterInfos[0].version,n=this.props.clusterInfos[0].config_hash,i=1===this.props.clusterInfos.length),this.props.clusterInfos.map((i=>(i.version!==a&&(e=T().createElement("img",{alt:"version mismatch",className:"cluster-status",src:bn}),s=T().createElement("div",{style:Mn.warning,className:"alert alert-warning"},T().createElement(Ie.A,null),T().createElement(N.FormattedMessage,{id:"admin.cluster.version_mismatch_warning",defaultMessage:"WARNING: Multiple versions of Mattermost has been detected in your HA cluster. Unless you are currently performing an upgrade please ensure all nodes in your cluster are running the same Mattermost version to avoid platform disruption."}))),i.config_hash!==n&&(t=T().createElement("img",{alt:"config mismatch",className:"cluster-status",src:bn})),null)));const r=this.props.clusterInfos.map((s=>{let a=null,n=s.hostname;""===n&&(n=T().createElement(N.FormattedMessage,{id:"admin.cluster.unknown",defaultMessage:"unknown"}));let r=s.version;""===r&&(r=T().createElement(N.FormattedMessage,{id:"admin.cluster.unknown",defaultMessage:"unknown"}));let o=s.config_hash;return""===o&&(o=T().createElement(N.FormattedMessage,{id:"admin.cluster.unknown",defaultMessage:"unknown"})),a=i?T().createElement("img",{alt:"Cluster status",className:"cluster-status",src:bn}):T().createElement("img",{alt:"Cluster status",className:"cluster-status",src:En}),T().createElement("tr",{key:s.ipaddress},T().createElement("td",{style:Mn.clusterCell},a),T().createElement("td",{style:Mn.clusterCell},n),T().createElement("td",{style:Mn.clusterCell},e," ",r),T().createElement("td",{style:Mn.clusterCell},T().createElement("div",{className:"config-hash"},t," ",o)),T().createElement("td",{style:Mn.clusterCell},s.ipaddress),T().createElement("td",{style:Mn.clusterCell},s.schema_version))}));return T().createElement("div",{className:"cluster-panel__table",style:Mn.clusterTable},T().createElement("div",{className:"text-right"},T().createElement("button",{type:"submit",className:"btn btn-tertiary",onClick:this.props.reload},T().createElement(Ls,null),T().createElement(N.FormattedMessage,{id:"admin.cluster.status_table.reload",defaultMessage:" Reload Cluster Status"}))),T().createElement("table",{className:"table"},T().createElement("thead",null,T().createElement("tr",null,T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.cluster.status_table.status",defaultMessage:"Status"})),T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.cluster.status_table.hostname",defaultMessage:"Hostname"})),T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.cluster.status_table.version",defaultMessage:"Version"})),T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.cluster.status_table.config_hash",defaultMessage:"Config File MD5"})),T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.cluster.status_table.url",defaultMessage:"Gossip Address"})),T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.cluster.status_table.schema_version",defaultMessage:"DB Schema Version"})))),T().createElement("tbody",null,r)),s)}}const Mn={clusterTable:{margin:10,marginBottom:30},clusterCell:{whiteSpace:"nowrap"},warning:{marginBottom:10}},yn=()=>{const e=(0,_.useRef)(),[t,s]=(0,_.useState)(null),a=(0,_.useCallback)((()=>{(0,h.Zq)(s,null)}),[]);(0,_.useEffect)((()=>(a(),e.current=setInterval(a,15e3),()=>{e.current&&clearInterval(e.current)})),[]);const n=(0,_.useCallback)((e=>{e&&e.preventDefault(),s(null),a()}),[a]);return null==t?T().createElement(At.A,null):T().createElement(vn,{clusterInfos:t,reload:n})},Sn=T().memo(yn);function An(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const Cn=(0,N.defineMessages)({cluster:{id:"admin.advance.cluster",defaultMessage:"High Availability"},noteDescription:{id:"admin.cluster.noteDescription",defaultMessage:"Changing properties in this section will require a server restart before taking effect."},enableTitle:{id:"admin.cluster.enableTitle",defaultMessage:"Enable High Availability Mode:"},enableDescription:{id:"admin.cluster.enableDescription",defaultMessage:"When true, Mattermost will run in High Availability mode. Please see <link>documentation</link> to learn more about configuring High Availability for Mattermost."},clusterName:{id:"admin.cluster.ClusterName",defaultMessage:"Cluster Name:"},clusterNameDesc:{id:"admin.cluster.ClusterNameDesc",defaultMessage:"The cluster to join by name. Only nodes with the same cluster name will join together. This is to support Blue-Green deployments or staging pointing to the same database."},overrideHostname:{id:"admin.cluster.OverrideHostname",defaultMessage:"Override Hostname:"},overrideHostnameDesc:{id:"admin.cluster.OverrideHostnameDesc",defaultMessage:"The default value of '<blank>' will attempt to get the Hostname from the OS or use the IP Address. You can override the hostname of this server with this property. It is not recommended to override the Hostname unless needed. This property can also be set to a specific IP Address if needed."},useIPAddress:{id:"admin.cluster.UseIPAddress",defaultMessage:"Use IP Address:"},useIPAddressDesc:{id:"admin.cluster.UseIPAddressDesc",defaultMessage:"When true, the cluster will attempt to communicate via IP Address vs using the hostname."},enableExperimentalGossipEncryption:{id:"admin.cluster.EnableExperimentalGossipEncryption",defaultMessage:"Enable Experimental Gossip encryption:"},enableExperimentalGossipEncryptionDesc:{id:"admin.cluster.EnableExperimentalGossipEncryptionDesc",defaultMessage:"When true, all communication through the gossip protocol will be encrypted."},enableGossipCompression:{id:"admin.cluster.EnableGossipCompression",defaultMessage:"Enable Gossip compression:"},enableGossipCompressionDesc:{id:"admin.cluster.EnableGossipCompressionDesc",defaultMessage:"When true, all communication through the gossip protocol will be compressed. It is recommended to keep this flag disabled."},gossipPort:{id:"admin.cluster.GossipPort",defaultMessage:"Gossip Port:"},gossipPortDesc:{id:"admin.cluster.GossipPortDesc",defaultMessage:"The port used for the gossip protocol. Both UDP and TCP should be allowed on this port."}}),_n=[Cn.cluster,Cn.noteDescription,Cn.enableTitle,Cn.enableDescription,Cn.clusterName,Cn.clusterNameDesc,Cn.overrideHostname,Cn.overrideHostnameDesc,Cn.useIPAddress,Cn.useIPAddressDesc,Cn.enableExperimentalGossipEncryption,Cn.enableExperimentalGossipEncryptionDesc,Cn.enableGossipCompression,Cn.enableGossipCompressionDesc,Cn.gossipPort,Cn.gossipPortDesc],Tn={configLoadedFromCluster:{marginBottom:10},warning:{marginBottom:10}},Nn=e=>{let{id:t,value:s,onChange:a,cancelSubmit:n,disabled:i,setByEnv:r,showConfirm:o}=e;const l=(0,_.useCallback)((function(e,t){let s=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const n=!1===t;let i="";n&&(i=T().createElement(N.FormattedMessage,{id:"admin.guest_access.disableConfirmWarning",defaultMessage:"All current guest account sessions will be revoked, and marked as inactive"})),a(e,t,n,s,i)}),[a]),d=(0,_.useCallback)((()=>{l(t,!1,!0)}),[l,t]),c=T().createElement(N.FormattedMessage,{id:"admin.guest_access.enableTitle",defaultMessage:"Enable Guest Access: "}),m=T().createElement(N.FormattedMessage,{id:"admin.guest_access.helpText",defaultMessage:"When true, external guest can be invited to channels within teams. Please see <a>Permissions Schemes</a> for which roles can invite guests.",values:{a:e=>T().createElement(R.Link,{to:"/admin_console/user_management/permissions/system_scheme"},e)}});return T().createElement(T().Fragment,null,T().createElement(W,{id:t,value:s,label:c,helpText:m,setByEnv:r,onChange:l,disabled:i}),T().createElement(St.A,{show:o&&!1===s,title:T().createElement(N.FormattedMessage,{id:"admin.guest_access.disableConfirmTitle",defaultMessage:"Save and Disable Guest Access?"}),message:T().createElement(N.FormattedMessage,{id:"admin.guest_access.disableConfirmMessage",defaultMessage:"Disabling guest access will revoke all current Guest Account sessions. Guests will no longer be able to login and new guests cannot be invited into Mattermost. Guest users will be marked as inactive in user lists. Enabling this feature will not reinstate previous guest accounts. Are you sure you wish to remove these users?"}),confirmButtonText:T().createElement(N.FormattedMessage,{id:"admin.guest_access.disableConfirmButton",defaultMessage:"Save and Disable Guest Access"}),onConfirm:d,onCancel:n}))};Nn.propTypes={id:L().string.isRequired,value:L().bool.isRequired,onChange:L().func.isRequired,cancelSubmit:L().func.isRequired,disabled:L().bool,setByEnv:L().bool.isRequired,showConfirm:L().bool.isRequired};const Rn=Nn;function wn(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function In(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const On=(0,N.defineMessages)({termsOfServiceTitle:{id:"admin.support.termsOfServiceTitle",defaultMessage:"Custom Terms of Service"},enableTermsOfServiceTitle:{id:"admin.support.enableTermsOfServiceTitle",defaultMessage:"Enable Custom Terms of Service"},termsOfServiceTextTitle:{id:"admin.support.termsOfServiceTextTitle",defaultMessage:"Custom Terms of Service Text"},termsOfServiceTextHelp:{id:"admin.support.termsOfServiceTextHelp",defaultMessage:"Text that will appear in your custom Terms of Service. Supports Markdown-formatted text."},termsOfServiceReAcceptanceTitle:{id:"admin.support.termsOfServiceReAcceptanceTitle",defaultMessage:"Re-Acceptance Period:"},termsOfServiceReAcceptanceHelp:{id:"admin.support.termsOfServiceReAcceptanceHelp",defaultMessage:"The number of days before Terms of Service acceptance expires, and the terms must be re-accepted."},enableTermsOfServiceHelp:{id:"admin.support.enableTermsOfServiceHelp",defaultMessage:"When true, new users must accept the terms of service before accessing any Mattermost teams on desktop, web or mobile. Existing users must accept them after login or a page refresh. To update terms of service link displayed in account creation and login pages, go to <a>Site Configuration > Customization</a>"}}),Pn=[On.termsOfServiceTitle,On.enableTermsOfServiceTitle,On.enableTermsOfServiceHelp,On.termsOfServiceTextTitle,On.termsOfServiceTextHelp,On.termsOfServiceReAcceptanceTitle,On.termsOfServiceReAcceptanceHelp],kn=(0,a.connect)(null,(function(e){return{actions:(0,n.bindActionCreators)({getTermsOfService:ds.AW,createTermsOfService:ds.mq},e)}}))(class extends Nt{constructor(e){var t,s;super(e),In(this,"getConfigFromState",(e=>(e&&e.SupportSettings&&(e.SupportSettings.CustomTermsOfServiceEnabled=Boolean(this.state.termsEnabled),e.SupportSettings.CustomTermsOfServiceReAcceptancePeriod=this.parseIntNonZero(String(this.state.reAcceptancePeriod),x.YM.DEFAULT_TERMS_OF_SERVICE_RE_ACCEPTANCE_PERIOD)),e))),In(this,"doSubmit",(async e=>{var t,s;if(this.setState({saving:!0,serverError:null}),this.state.termsEnabled&&(this.state.receivedTermsText!==this.state.termsText||null===(t=this.props.config)||void 0===t||null===(s=t.SupportSettings)||void 0===s||!s.CustomTermsOfServiceEnabled)){const t=await this.props.actions.createTermsOfService(this.state.termsText);if(t.error)return void this.handleAPIError(t.error,e)}let a=JSON.parse(JSON.stringify(this.props.config));a=this.getConfigFromState(a);const{data:n,error:i}=await this.props.patchConfig(a);n?(this.setState(this.getStateFromConfig(n)),this.setState({saveNeeded:!1,saving:!1}),this.props.setNavigationBlocked(!1),e&&e(),this.handleSaved&&this.handleSaved(a)):i&&this.handleAPIError(function(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?wn(Object(s),!0).forEach((function(t){In(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):wn(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}({id:i.server_error_id},i),e,a)})),In(this,"handleAPIError",((e,t,s)=>{this.setState({saving:!1,serverError:e.message,serverErrorId:e.id}),t&&t(),this.handleSaved&&s&&this.handleSaved(s)})),In(this,"getTermsOfService",(async()=>{this.setState({loadingTermsText:!0});const{data:e}=await this.props.actions.getTermsOfService();e&&this.setState({termsText:e.text,receivedTermsText:e.text}),this.setState({loadingTermsText:!1})})),In(this,"handleTermsTextChange",((e,t)=>{this.handleChange("termsText",t)})),In(this,"handleTermsEnabledChange",((e,t)=>{this.handleChange("termsEnabled",t)})),In(this,"handleReAcceptancePeriodChange",((e,t)=>{this.handleChange("reAcceptancePeriod",t)})),In(this,"renderSettings",(()=>this.state.loadingTermsText?T().createElement(At.A,null):T().createElement(Ue,null,T().createElement(W,{key:"customTermsOfServiceEnabled",id:"SupportSettings.CustomTermsOfServiceEnabled",label:T().createElement(N.FormattedMessage,On.enableTermsOfServiceTitle),helpText:T().createElement(N.FormattedMessage,Object.assign({},On.enableTermsOfServiceHelp,{values:{a:e=>T().createElement(R.Link,{to:"/admin_console/site_config/customization"},e)}})),value:Boolean(this.state.termsEnabled),onChange:this.handleTermsEnabledChange,setByEnv:this.isSetByEnv("SupportSettings.CustomTermsOfServiceEnabled"),disabled:this.props.isDisabled||!(this.props.license.IsLicensed&&"true"===this.props.license.CustomTermsOfService)}),T().createElement(We,{key:"customTermsOfServiceText",id:"SupportSettings.CustomTermsOfServiceText",type:"textarea",label:T().createElement(N.FormattedMessage,On.termsOfServiceTextTitle),helpText:T().createElement(N.FormattedMessage,On.termsOfServiceTextHelp),onChange:this.handleTermsTextChange,setByEnv:this.isSetByEnv("SupportSettings.CustomTermsOfServiceText"),value:this.state.termsText,maxLength:x.YM.MAX_TERMS_OF_SERVICE_TEXT_LENGTH,disabled:this.props.isDisabled||!this.state.termsEnabled}),T().createElement(We,{key:"customTermsOfServiceReAcceptancePeriod",id:"SupportSettings.CustomTermsOfServiceReAcceptancePeriod",type:"number",label:T().createElement(N.FormattedMessage,On.termsOfServiceReAcceptanceTitle),helpText:T().createElement(N.FormattedMessage,On.termsOfServiceReAcceptanceHelp),value:this.state.reAcceptancePeriod||"",onChange:this.handleReAcceptancePeriodChange,setByEnv:this.isSetByEnv("SupportSettings.CustomTermsOfServiceReAcceptancePeriod"),disabled:this.props.isDisabled||!this.state.termsEnabled})))),this.state={termsEnabled:null===(t=e.config.SupportSettings)||void 0===t?void 0:t.CustomTermsOfServiceEnabled,reAcceptancePeriod:null===(s=e.config.SupportSettings)||void 0===s?void 0:s.CustomTermsOfServiceReAcceptancePeriod,loadingTermsText:!0,receivedTermsText:"",termsText:"",saveNeeded:!1,saving:!1,serverError:null,errorTooltip:!1}}getStateFromConfig(e){var t,s;return{termsEnabled:null===(t=e.SupportSettings)||void 0===t?void 0:t.CustomTermsOfServiceEnabled,reAcceptancePeriod:this.parseIntNonZero(String(null===(s=e.SupportSettings)||void 0===s?void 0:s.CustomTermsOfServiceReAcceptancePeriod),x.YM.DEFAULT_TERMS_OF_SERVICE_RE_ACCEPTANCE_PERIOD)}}componentDidMount(){this.getTermsOfService()}renderTitle(){return T().createElement(N.FormattedMessage,On.termsOfServiceTitle)}});function xn(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}s(76685);class Dn extends _.PureComponent{constructor(e){super(e),xn(this,"stringToArray",(e=>e.split(",").map((e=>e.trim())).filter(Boolean))),xn(this,"arrayToString",(e=>e.join(","))),xn(this,"handleChange",(e=>{const t=this.stringToArray(e.target.value);this.props.onChange(this.props.id,t),this.setState({value:e.target.value})})),this.state={value:this.arrayToString(e.value)}}render(){return T().createElement(Y,{label:T().createElement(N.FormattedMessage,{id:"admin.customization.customUrlSchemes",defaultMessage:"Custom URL Schemes:"}),helpText:T().createElement(N.FormattedMessage,{id:"admin.customization.customUrlSchemesDesc",defaultMessage:'Allows message text to link if it begins with any of the comma-separated URL schemes listed. By default, the following schemes will create links: "http", "https", "ftp", "tel", and "mailto".'}),inputId:this.props.id,setByEnv:this.props.setByEnv},T().createElement(Ds.A,{id:this.props.id,className:"form-control",type:"text",placeholder:(0,N.defineMessage)({id:"admin.customization.customUrlSchemesPlaceholder",defaultMessage:'E.g.: "git,smtp"'}),value:this.state.value,onChange:this.handleChange,disabled:this.props.disabled||this.props.setByEnv}))}}s(30973);var Ln=s(5955),Fn=s(57891);const Bn=e=>{let{col:t}=e;const s={};return t.width&&(s.flexGrow=t.width),T().createElement("div",{key:t.field,className:"DataGrid_cell",style:s},t.name)},Hn=e=>{let{columns:t}=e;return T().createElement("div",{className:"DataGrid_header"},t.map((e=>T().createElement(Bn,{col:e,key:e.field}))))},Un=e=>{let{row:t,column:s}=e;const a={};return s.width&&(a.flexGrow=s.width),s.textAlign&&(a.textAlign=s.textAlign),s.overflow&&(a.overflow=s.overflow),T().createElement("div",{key:s.field,className:re()("DataGrid_cell",s.className),style:a},t.cells[s.field])},Gn=e=>{let{row:t,columns:s}=e;const a=s.map(((e,s)=>T().createElement(Un,{key:s,row:t,column:e})));return T().createElement("div",{className:"DataGrid_row",onClick:t.onClick},a)},jn=T().memo(Gn);function qn(e){let{name:t,checked:s,label:a,updateOption:n}=e;const i=(0,_.useCallback)((e=>{e.preventDefault(),e.stopPropagation(),n(!s,t)}),[t,s,n]);return T().createElement("div",{className:"FilterList_checkbox",onClick:i},T().createElement("label",null,s&&T().createElement("input",{type:"checkbox",id:t,name:t,defaultChecked:!0}),!s&&T().createElement("input",{type:"checkbox",id:t,name:t,defaultChecked:!1}),a))}qn.propTypes={name:L().string.isRequired,checked:L().bool.isRequired,label:L().oneOfType([L().string,L().element]).isRequired,updateOption:L().func.isRequired};const Wn=T().memo(qn);function Vn(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function zn(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?Vn(Object(s),!0).forEach((function(t){Yn(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):Vn(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function Yn(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const Zn=e=>{let{option:t,optionKey:s,updateValues:a}=e;const n=(0,_.useCallback)((async(e,n)=>{const i=zn(zn({},t.values),{},{[n]:zn(zn({},t.values[n]),{},{value:e})});await a(i,s)}),[t.values,s,a]),i=t.keys.map(((e,s)=>{const a=t.values[e],{value:i,name:r}=a,o=t.type||Wn;return T().createElement("div",{key:s,className:"FilterList_item"},T().createElement(o,{key:s,name:e,checked:i,label:r,updateOption:n}))}));return T().createElement("div",{className:"FilterList"},T().createElement("div",{className:"FilterList_name"},t.name),i)};Zn.propTypes={optionKey:L().string.isRequired,updateValues:L().func.isRequired};const Jn=(0,_.memo)(Zn);function Qn(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function Kn(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?Qn(Object(s),!0).forEach((function(t){Xn(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):Qn(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function Xn(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class $n extends T().PureComponent{constructor(e){super(e),Xn(this,"componentDidMount",(()=>{document.addEventListener("mousedown",this.handleClickOutside)})),Xn(this,"componentWillUnmount",(()=>{document.removeEventListener("mousedown",this.handleClickOutside)})),Xn(this,"handleClickOutside",(e=>{var t,s;null!==(t=this.filterRef)&&void 0!==t&&null!==(s=t.current)&&void 0!==s&&s.contains(e.target)||this.hidePopover()})),Xn(this,"hidePopover",(()=>{var e,t;this.setState({show:!1}),null===(e=this.buttonRef)||void 0===e||null===(t=e.current)||void 0===t||t.blur()})),Xn(this,"togglePopover",(()=>{this.state.show?this.hidePopover():this.setState({show:!0})})),Xn(this,"updateValues",(async(e,t)=>{const s=Kn(Kn({},this.state.options),{},{[t]:Kn(Kn({},this.state.options[t]),{},{values:Kn({},e)})});this.setState({options:s,optionsModified:!0})})),Xn(this,"onFilter",(()=>{this.props.onFilter(this.state.options),this.setState({optionsModified:!1,show:!1,filterCount:this.calculateFilterCount()})})),Xn(this,"calculateFilterCount",(()=>{const e=this.state.options;let t=0;return this.props.keys.forEach((s=>{const{values:a,keys:n}=e[s];n.forEach((e=>{a[e].value instanceof Array?t+=a[e].value.length:a[e].value&&(t+=1)}))})),t})),Xn(this,"resetFilters",(()=>{this.setState({options:Kn({},this.props.options)},this.onFilter)})),Xn(this,"renderFilterOptions",(()=>{const{keys:e,options:t}=this.state;return e.map((e=>{const s=t[e],a=s.type||Jn;return T().createElement(a,{option:s,optionKey:e,updateValues:this.updateValues,key:e})}))}));let t=Kn({},e.options),s=[...e.keys],a=!0;s.forEach((e=>{const s=t[e];s&&a?s.keys.forEach((e=>{s.values[e]||(a=!1)})):a=!1})),a||(t={},s=[]),this.state={show:!1,options:t,keys:s,optionsModified:!1,filterCount:0},this.filterRef=T().createRef(),this.buttonRef=T().createRef()}render(){const e=this.renderFilterOptions(),{filterCount:t}=this.state;return T().createElement("div",{className:"Filter",ref:this.filterRef},T().createElement("button",{type:"button",className:re()("Filter_button",{Filter__active:this.state.show}),onClick:this.togglePopover,ref:this.buttonRef},T().createElement("i",{className:"Icon icon-filter-variant"}),T().createElement(N.FormattedMessage,{id:"admin.filter.filters",defaultMessage:"Filters"}),t>0&&" (".concat(t,")")),T().createElement("div",{className:re()("Filter_content",{Filter__show:this.state.show})},T().createElement("div",{className:"Filter_header"},T().createElement("div",{className:"Filter_title"},T().createElement(N.FormattedMessage,{id:"admin.filter.title",defaultMessage:"Filter by"})),T().createElement("a",{className:"Filter_reset",onClick:this.resetFilters},T().createElement(N.FormattedMessage,{id:"admin.filter.reset",defaultMessage:"Reset filters"}))),T().createElement("hr",null),T().createElement("div",{className:"Filter_lists"},e),T().createElement("button",{type:"button",className:"btn btn-primary btn-sm Filter_apply",disabled:!this.state.optionsModified,onClick:this.onFilter},T().createElement(N.FormattedMessage,{id:"admin.filter.apply",defaultMessage:"Apply"}))))}}Xn($n,"propTypes",{onFilter:L().func.isRequired,options:L().objectOf(L().shape({name:L().oneOfType([L().string,L().element]).isRequired,keys:L().arrayOf(L().string).isRequired,values:L().objectOf(L().shape({name:L().oneOfType([L().string,L().element]).isRequired,value:L().oneOfType([L().bool,L().string,L().arrayOf(L().string)]).isRequired})).isRequired,type:L().node})).isRequired,keys:L().arrayOf(L().string).isRequired});const ei=$n;var ti=s(12082);function si(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class ai extends T().PureComponent{constructor(e){super(e),si(this,"handleSearch",(e=>{const t=e.target.value;this.setState({term:t}),this.props.onSearch(t)})),si(this,"resetSearch",(()=>{this.props.onSearch("")})),si(this,"onFilter",(e=>{var t;null===(t=this.props.filterProps)||void 0===t||t.onFilter(e)})),this.state={term:""}}render(){const{filterProps:e}=this.props;let t;return e&&(t=T().createElement(ei,e)),T().createElement("div",{className:"DataGrid_search"},T().createElement("div",{className:"DataGrid_searchBar"},T().createElement("span",{className:"DataGrid_searchIcon","aria-hidden":"true"},T().createElement(ti.A,null)),T().createElement(Ds.A,{type:"text",placeholder:(0,N.defineMessage)({id:"search_bar.search",defaultMessage:"Search"}),onChange:this.handleSearch,value:this.props.term,"data-testid":"searchInput"}),T().createElement("i",{className:"DataGrid_clearButton fa fa-times-circle "+(this.props.term.length?"":"hidden"),onClick:this.resetSearch,"data-testid":"clear-search"})),t,this.props.extraComponent)}}si(ai,"propTypes",{onSearch:L().func.isRequired,term:L().string,extraComponent:L().element,filterProps:L().shape({keys:L().arrayOf(L().string).isRequired,onFilter:L().func.isRequired})}),si(ai,"defaultProps",{term:""});const ni=ai;function ii(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class ri extends T().PureComponent{constructor(e){super(e),ii(this,"handleResize",(()=>{var e;if(null===(e=this.ref)||void 0===e||!e.current)return;const{minimumColumnWidth:t,fixedColumns:s}=this.state,a=s.length*t;let n=this.props.columns,i=this.ref.current.clientWidth-a-50;n=n.filter((e=>i>t?(i-=t,!0):Boolean(e.fixed))),this.setState({visibleColumns:n})})),ii(this,"nextPage",(()=>{this.props.loading||this.props.nextPage()})),ii(this,"previousPage",(()=>{this.props.loading||this.props.previousPage()})),ii(this,"search",(e=>{this.props.onSearch&&this.props.onSearch(e)})),ii(this,"renderFooter",(()=>{const{startCount:e,endCount:t,total:s}=this.props;let a=null;if(s){const n=e<=1,i=t>=s;let r=this.previousPage;n&&(r=()=>{});let o=this.nextPage;i&&(o=()=>{}),a=T().createElement("div",{className:"DataGrid_footer"},T().createElement("div",{className:"DataGrid_cell"},T().createElement(N.FormattedMessage,{id:"admin.data_grid.paginatorCount",defaultMessage:"{startCount, number} - {endCount, number} of {total, number}",values:{startCount:e,endCount:t,total:s}}),T().createElement("button",{type:"button",className:"btn btn-quaternary btn-icon btn-sm ml-2 prev "+(n?"disabled":""),onClick:r,disabled:n},T().createElement(Fn.A,null)),T().createElement("button",{type:"button",className:"btn btn-quaternary btn-icon btn-sm next "+(i?"disabled":""),onClick:o,disabled:i},T().createElement(Ln.A,null))))}return a}));const t=e.minimumColumnWidth?e.minimumColumnWidth:100;this.state={visibleColumns:this.props.columns,hiddenColumns:[],fixedColumns:this.props.columns.filter((e=>e.fixed)),minimumColumnWidth:t},this.ref=T().createRef()}componentDidMount(){this.handleResize(),window.addEventListener("resize",this.handleResize)}componentDidUpdate(e){this.props.columns!==e.columns&&this.setState({visibleColumns:this.props.columns})}componentWillUnmount(){window.removeEventListener("resize",this.handleResize)}renderRows(){const{rows:e,rowsContainerStyles:t}=this.props,{visibleColumns:s}=this.state;let a=null;if(this.props.loading)a=this.props.loadingIndicator?T().createElement("div",{className:"DataGrid_loading"},this.props.loadingIndicator):T().createElement("div",{className:"DataGrid_loading"},T().createElement($s.A,null),T().createElement(N.FormattedMessage,{id:"admin.data_grid.loading",defaultMessage:"Loading"}));else if(0===e.length){const e=this.props.placeholderEmpty||T().createElement(N.FormattedMessage,{id:"admin.data_grid.empty",defaultMessage:"No items found"});a=T().createElement("div",{className:"DataGrid_empty"},e)}else a=e.map(((e,t)=>T().createElement(jn,{key:t,row:e,columns:s})));return T().createElement("div",{className:"DataGrid_rows",style:t||{}},a)}renderHeader(){return T().createElement(Hn,{columns:this.state.visibleColumns})}renderSearch(){return this.props.onSearch?T().createElement(ni,{onSearch:this.search,term:this.props.term,filterProps:this.props.filterProps,extraComponent:this.props.extraComponent}):null}render(){return T().createElement("div",{className:re()("DataGrid",this.props.className),ref:this.ref},this.renderSearch(),this.renderHeader(),this.renderRows(),this.renderFooter())}}ii(ri,"defaultProps",{term:""});const oi=ri,li=e=>T().createElement("div",{className:re()("Card__header",{expanded:e.expanded}),onClick:e.onClick},e.children,e.expanded&&T().createElement("hr",{className:"Card__hr"}));li.propTypes={children:L().node.isRequired,expanded:L().bool,onClick:L().func};const di=li;function ci(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class mi extends T().PureComponent{render(){const{expanded:e,children:t}=this.props,s=_.Children.map(t,(t=>(0,_.isValidElement)(t)?(0,_.cloneElement)(t,{expanded:e}):t));return T().createElement("div",{className:re()("Card",this.props.className,{expanded:e})},s)}}ci(mi,"propTypes",{expanded:L().bool,className:L().string,children:L().node}),ci(mi,"Header",di),ci(mi,"Body",(function(e){const[t,s]=(0,_.useState)(0),[a,n]=(0,_.useState)(!1),[i,r]=(0,_.useState)(!1);return(0,_.useEffect)((()=>{n(!0),e.expanded&&r(!0)}),[e.expanded]),(0,_.useEffect)((()=>{e.expanded||r(!1)}),[a]),T().createElement("div",{ref:e=>{e&&e.children&&s(Array.from(e.children).map((e=>e.scrollHeight)).reduce(((e,t)=>e+t),0))},style:{height:a&&i?t:""},className:re()("Card__body",{expanded:i,expanding:a}),onTransitionEnd:()=>n(!1)},e.children)}));const ui=e=>T().createElement(T().Fragment,null,T().createElement("div",null,T().createElement("div",{className:"text-top"},e.title),e.subtitle&&T().createElement("div",{className:"text-bottom"},e.subtitle)),e.buttonText&&e.onClick&&T().createElement("button",{disabled:e.isDisabled,className:"btn btn-primary",onClick:e.onClick},e.buttonText));ui.propTypes={title:L().node.isRequired,subtitle:L().node,buttonText:L().node,isDisabled:L().bool,onClick:L().func};const pi=ui;var gi=s(17153),hi=s(99068),fi=s(83007);function Ei(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function bi(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?Ei(Object(s),!0).forEach((function(t){vi(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):Ei(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function vi(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const Mi=(0,N.defineMessages)({createJob_title:{id:"admin.data_retention.createJob.title",defaultMessage:"Run Deletion Job Now"},settings_title:{id:"admin.data_retention.settings.title",defaultMessage:"Data Retention Policies"},globalPolicy_title:{id:"admin.data_retention.globalPolicy.title",defaultMessage:"Global retention policy"},globalPolicy_subTitle:{id:"admin.data_retention.globalPolicy.subTitle",defaultMessage:"Keep messages and files for a set amount of time."},customPolicies_title:{id:"admin.data_retention.customPolicies.title",defaultMessage:"Custom retention policies"},customPolicies_subTitle:{id:"admin.data_retention.customPolicies.subTitle",defaultMessage:"Customize how long specific teams and channels will keep messages."},jobCreation_title:{id:"admin.data_retention.jobCreation.title",defaultMessage:"Policy log"},jobCreation_subTitle:{id:"admin.data_retention.jobCreation.subTitle",defaultMessage:"Daily log of messages and files removed based on the policies defined above."},createJob_instructions:{id:"admin.data_retention.createJob.instructions",defaultMessage:"Daily time to check policies and run delete job:"}}),yi=[Mi.createJob_title,Mi.settings_title,Mi.globalPolicy_title,Mi.globalPolicy_subTitle,Mi.customPolicies_title,Mi.customPolicies_subTitle,Mi.jobCreation_title,Mi.jobCreation_subTitle,Mi.createJob_instructions];class Si extends T().PureComponent{constructor(e){super(e),vi(this,"deleteCustomPolicy",(async e=>{await this.props.actions.deleteDataRetentionCustomPolicy(e),this.loadPage(0)})),vi(this,"getGlobalPolicyColumns",(()=>{const e=[{name:T().createElement(N.FormattedMessage,{id:"admin.data_retention.globalPoliciesTable.description",defaultMessage:"Description"}),field:"description"},{name:T().createElement(N.FormattedMessage,{id:"admin.data_retention.globalPoliciesTable.channelMessages",defaultMessage:"Channel messages"}),field:"channel_messages"},{name:T().createElement(N.FormattedMessage,{id:"admin.data_retention.globalPoliciesTable.files",defaultMessage:"Files"}),field:"files"}];return e.push({name:"",field:"actions",className:"actionIcon"}),e})),vi(this,"getCustomPolicyColumns",(()=>[{name:T().createElement(N.FormattedMessage,{id:"admin.data_retention.customPoliciesTable.description",defaultMessage:"Description"}),field:"description"},{name:T().createElement(N.FormattedMessage,{id:"admin.data_retention.customPoliciesTable.channelMessages",defaultMessage:"Channel messages"}),field:"channel_messages"},{name:T().createElement(N.FormattedMessage,{id:"admin.data_retention.customPoliciesTable.appliedTo",defaultMessage:"Applied to"}),field:"applied_to"},{name:"",field:"actions",className:"actionIcon"}])),vi(this,"getGlobalRetentionSetting",((e,t)=>{if(!e)return T().createElement(N.FormattedMessage,{id:"admin.data_retention.form.keepForever",defaultMessage:"Keep forever"});const s=parseInt(t||"",10);if(s&&s%8760==0){const e=s/8760;return T().createElement(N.FormattedMessage,{id:"admin.data_retention.retention_years",defaultMessage:"{count} {count, plural, one {year} other {years}}",values:{count:"".concat(e)}})}if(s&&s%24==0){const e=s/24;return T().createElement(N.FormattedMessage,{id:"admin.data_retention.retention_days",defaultMessage:"{count} {count, plural, one {day} other {days}}",values:{count:"".concat(e)}})}return T().createElement(N.FormattedMessage,{id:"admin.data_retention.retention_hours",defaultMessage:"{count} {count, plural, one {hour} other {hours}}",values:{count:"".concat(t)}})})),vi(this,"getMessageRetentionSetting",((e,t)=>{if(!e)return T().createElement(N.FormattedMessage,{id:"admin.data_retention.form.keepForever",defaultMessage:"Keep forever"});if(t&&t%365==0){const e=t/365;return T().createElement(N.FormattedMessage,{id:"admin.data_retention.retention_years",defaultMessage:"{count} {count, plural, one {year} other {years}}",values:{count:"".concat(e)}})}return T().createElement(N.FormattedMessage,{id:"admin.data_retention.retention_days",defaultMessage:"{count} {count, plural, one {day} other {days}}",values:{count:"".concat(t)}})})),vi(this,"getGlobalPolicyRows",(()=>{const{DataRetentionSettings:e}=this.props.config;return[{cells:{description:this.props.intl.formatMessage({id:"admin.data_retention.form.text",defaultMessage:"Applies to all teams and channels, but does not apply to custom retention policies."}),channel_messages:T().createElement("div",{"data-testid":"global_message_retention_cell"},this.getGlobalRetentionSetting(null==e?void 0:e.EnableMessageDeletion,this.props.globalMessageRetentionHours)),files:T().createElement("div",{"data-testid":"global_file_retention_cell"},this.getGlobalRetentionSetting(null==e?void 0:e.EnableFileDeletion,this.props.globalFileRetentionHours)),actions:T().createElement(hi.A,{isDisabled:!1,stopPropagationOnToggle:!0},T().createElement("div",{className:"text-right"},T().createElement("a",null,T().createElement("i",{className:"icon icon-dots-vertical"}))),T().createElement(gi.A,{openLeft:!1,openUp:!1,ariaLabel:this.props.intl.formatMessage({id:"admin.user_item.menuAriaLabel",defaultMessage:"User Actions Menu"})},T().createElement(gi.A.ItemAction,{show:!0,onClick:()=>{(0,fi.J)().push("/admin_console/compliance/data_retention_settings/global_policy")},text:this.props.intl.formatMessage({id:"admin.data_retention.globalPoliciesTable.edit",defaultMessage:"Edit"}),disabled:!1,buttonClass:"edit_global_policy"})))},onClick:()=>{(0,fi.J)().push("/admin_console/compliance/data_retention_settings/global_policy")}}]})),vi(this,"getChannelAndTeamCounts",(e=>0===e.channel_count&&0===e.team_count?T().createElement(N.FormattedMessage,{id:"admin.data_retention.channel_team_counts_empty",defaultMessage:"N/A"}):T().createElement(N.FormattedMessage,{id:"admin.data_retention.channel_team_counts",defaultMessage:"{team_count} {team_count, plural, one {team} other {teams}}, {channel_count} {channel_count, plural, one {channel} other {channels}}",values:{team_count:e.team_count,channel_count:e.channel_count}}))),vi(this,"getCustomPolicyRows",((e,t)=>{let s=Object.values(this.props.customPolicies);return s=s.slice(e-1,t),s.map((e=>{const t="customDescription-".concat(e.id),s="customDuration-".concat(e.id),a="customAppliedTo-".concat(e.id),n="customWrapper-".concat(e.id);return{cells:{description:T().createElement("div",{id:t},e.display_name),channel_messages:T().createElement("div",{id:s},this.getMessageRetentionSetting(-1!==e.post_duration,e.post_duration)),applied_to:T().createElement("div",{id:a},this.getChannelAndTeamCounts(e)),actions:T().createElement(hi.A,{isDisabled:!1,stopPropagationOnToggle:!0,id:n},T().createElement("div",{className:"text-right"},T().createElement("a",null,T().createElement("i",{className:"icon icon-dots-vertical"}))),T().createElement(gi.A,{openLeft:!1,openUp:!1,ariaLabel:this.props.intl.formatMessage({id:"admin.user_item.menuAriaLabel",defaultMessage:"User Actions Menu"})},T().createElement(gi.A.ItemAction,{show:!0,onClick:()=>{(0,fi.J)().push("/admin_console/compliance/data_retention_settings/custom_policy/".concat(e.id))},text:this.props.intl.formatMessage({id:"admin.data_retention.globalPoliciesTable.edit",defaultMessage:"Edit"}),disabled:!1}),T().createElement(gi.A.ItemAction,{show:!0,onClick:()=>{this.deleteCustomPolicy(e.id)},text:this.props.intl.formatMessage({id:"admin.data_retention.globalPoliciesTable.delete",defaultMessage:"Delete"}),disabled:!1})))},onClick:()=>{(0,fi.J)().push("/admin_console/compliance/data_retention_settings/custom_policy/".concat(e.id))}}}))})),vi(this,"loadPage",(async e=>{this.setState({customPoliciesLoading:!0}),await this.props.actions.getDataRetentionCustomPolicies(e),this.setState({page:e,customPoliciesLoading:!1})})),vi(this,"componentDidMount",(async()=>{await this.loadPage(this.state.page)})),vi(this,"nextPage",(()=>{this.loadPage(this.state.page+1)})),vi(this,"previousPage",(()=>{this.loadPage(this.state.page-1)})),vi(this,"getPaginationProps",(()=>{const{page:e}=this.state,t=10*e+1,s=this.props.customPoliciesCount;let a=10*(e+1);return a=a>s?s:a,{startCount:t,endCount:a,total:s}})),vi(this,"showEditJobTime",(e=>{this.setState({showEditJobTime:e})})),vi(this,"componentDidUpdate",((e,t)=>{var s;t.showEditJobTime!==this.state.showEditJobTime&&this.state.showEditJobTime&&(null===(s=this.inputRef.current)||void 0===s||s.focus())})),vi(this,"handleCreateJob",(async e=>{null==e||e.preventDefault();const t={type:x.jj.DATA_RETENTION};await this.props.actions.createJob(t),await this.props.actions.getJobsByType(x.jj.DATA_RETENTION)})),vi(this,"changeJobTimeConfig",(async e=>{var t;const s=JSON.parse(JSON.stringify(this.props.config));s.DataRetentionSettings.DeletionJobStartTime=e,await this.props.actions.patchConfig(s),null===(t=this.inputRef.current)||void 0===t||t.blur()})),vi(this,"getJobStartTime",(()=>{var e;const{DataRetentionSettings:t}=this.props.config,s=null==t||null===(e=t.DeletionJobStartTime)||void 0===e?void 0:e.split(":");if(!s)return null;let a=parseInt(s[0],10);return a<12?(0===a&&(a=12),T().createElement(N.FormattedMessage,{id:"admin.data_retention.jobTimeAM",defaultMessage:"{time} AM (UTC)",values:{time:"".concat(a,":").concat(s[1])}})):(12!==a&&(a-=12),T().createElement(N.FormattedMessage,{id:"admin.data_retention.jobTimePM",defaultMessage:"{time} PM (UTC)",values:{time:"".concat(a,":").concat(s[1])}}))})),vi(this,"getJobTimeOptions",(()=>{const e=[];return()=>{if(e.length>0)return e;const t=["00","15","30","45"];for(let s=0;s<24;s++){let a=s,n="".concat(s);const i=s>=12?"pm":"am";a<10&&(n="0".concat(n)),a>12&&(a-=12),0===a&&(a=12);for(let s=0;s<t.length;s++)e.push({label:"".concat(a,":").concat(t[s]).concat(i),value:"".concat(n,":").concat(t[s])})}return e}})),vi(this,"getJobTimes",this.getJobTimeOptions()),vi(this,"render",(()=>{const{DataRetentionSettings:e}=this.props.config,{startCount:t,endCount:s,total:a}=this.getPaginationProps();return T().createElement("div",{className:"wrapper--fixed DataRetentionSettings"},T().createElement(et,null,T().createElement(N.FormattedMessage,Mi.settings_title)),T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},T().createElement(mi,{expanded:!0,className:"console"},T().createElement(mi.Header,null,T().createElement(pi,{title:T().createElement(N.FormattedMessage,Mi.globalPolicy_title),subtitle:T().createElement(N.FormattedMessage,Mi.globalPolicy_subTitle)})),T().createElement(mi.Body,{expanded:!0},T().createElement("div",{id:"global_policy_table"},T().createElement(oi,{columns:this.getGlobalPolicyColumns(),rows:this.getGlobalPolicyRows(),loading:!1,page:0,nextPage:()=>{},previousPage:()=>{},startCount:1,endCount:4,total:0,className:"customTable"})))),T().createElement(mi,{expanded:!0,className:"console"},T().createElement(mi.Header,null,T().createElement(pi,{title:T().createElement(N.FormattedMessage,Mi.customPolicies_title),subtitle:T().createElement(N.FormattedMessage,Mi.customPolicies_subTitle),buttonText:T().createElement(N.FormattedMessage,{id:"admin.data_retention.customPolicies.addPolicy",defaultMessage:"Add policy"}),onClick:()=>{(0,fi.J)().push("/admin_console/compliance/data_retention_settings/custom_policy")}})),T().createElement(mi.Body,{expanded:!0},T().createElement("div",{id:"custom_policy_table"},T().createElement(oi,{columns:this.getCustomPolicyColumns(),rows:this.getCustomPolicyRows(t,s),loading:this.state.customPoliciesLoading,page:this.state.page,nextPage:this.nextPage,previousPage:this.previousPage,startCount:t,endCount:s,total:a,className:"customTable"})))),T().createElement(mi,{expanded:!0,className:"console"},T().createElement(mi.Header,null,T().createElement(pi,{title:T().createElement(N.FormattedMessage,Mi.jobCreation_title),subtitle:T().createElement(N.FormattedMessage,Mi.jobCreation_subTitle),buttonText:T().createElement(N.FormattedMessage,Mi.createJob_title),isDisabled:"true"!==String(null==e?void 0:e.EnableMessageDeletion)&&"true"!==String(null==e?void 0:e.EnableFileDeletion)&&0===this.props.customPoliciesCount,onClick:this.handleCreateJob})),T().createElement(mi.Body,{expanded:!0},T().createElement(ve,{jobType:x.jj.DATA_RETENTION,hideJobCreateButton:!0,className:"job-table__data-retention",disabled:"true"!==String(null==e?void 0:e.EnableMessageDeletion)&&"true"!==String(null==e?void 0:e.EnableFileDeletion),createJobButtonText:T().createElement(N.FormattedMessage,Mi.createJob_title),createJobHelpText:T().createElement("div",null,T().createElement(N.FormattedMessage,Mi.createJob_instructions),this.state.showEditJobTime?T().createElement(Me.Ay,{id:"JobSelectTime",className:"JobSelectTime",components:{DropdownIndicator:()=>null,IndicatorSeparator:()=>null},onChange:e=>{this.changeJobTimeConfig(e.value)},styles:{control:e=>bi(bi({},e),{},{height:32,minHeight:32}),menu:e=>bi(bi({},e),{},{width:210})},onBlur:()=>{this.showEditJobTime(!1)},value:{label:this.getJobStartTime(),value:null==e?void 0:e.DeletionJobStartTime},hideSelectedOptions:!0,isSearchable:!0,options:this.getJobTimes(),ref:this.inputRef,onFocus:()=>{this.showEditJobTime(!0)},menuIsOpen:this.state.showEditJobTime}):T().createElement("span",{className:"JobSelectedtime"},T().createElement("b",null,this.getJobStartTime())),T().createElement("a",{className:"EditJobTime",onClick:()=>this.showEditJobTime(!0)},this.props.intl.formatMessage({id:"admin.data_retention.globalPoliciesTable.edit",defaultMessage:"Edit"})))}))))))})),this.inputRef=(0,_.createRef)(),this.state={customPoliciesLoading:!0,page:0,loading:!1,showEditJobTime:!1}}}const Ai=(0,N.injectIntl)(Si),Ci=(0,a.connect)((function(e){return{customPolicies:(0,d.Qm)(e),customPoliciesCount:(0,d.JI)(e),globalMessageRetentionHours:(0,c.zj)(e).DataRetentionMessageRetentionHours,globalFileRetentionHours:(0,c.zj)(e).DataRetentionFileRetentionHours}}),(function(e){return{actions:(0,n.bindActionCreators)({getDataRetentionCustomPolicies:i.Qm,createJob:ae._S,getJobsByType:ae.mF,deleteDataRetentionCustomPolicy:i.XP,patchConfig:i.tn},e)}}))(Ai);var _i=s(65952),Ti=s(16230),Ni=s(89247),Ri=s(46177),wi=s.n(Ri),Ii=s(18264),Oi=s.n(Ii),Pi=s(67480);function ki(e){var t,s;const{formatMessage:a}=(0,N.useIntl)(),[n,i]=(0,_.useState)([]),[r,o]=(0,_.useState)(0);async function l(t){try{const s=await e.getTeams(t,50,!0);if(s&&s.data&&s.data.teams&&s.data.teams.length>0){const e=s.data.teams.map((e=>({value:e.id,label:e.display_name}))).sort(((e,t)=>e.label.localeCompare(t.label)));i(0===t?e:t=>[...t,...e]),o(t+1)}}catch(e){console.error(e)}}(0,_.useEffect)((()=>{l(0)}),[]);const d=null===(t=e.option.values)||void 0===t||null===(s=t.team_ids)||void 0===s?void 0:s.value,c=n.filter((e=>d.includes(e.value)));return T().createElement("div",{className:"FilterList FilterList__full"},T().createElement("div",{className:"FilterList_name"},e.option.name),T().createElement(Pi.Ay,{inputId:"adminConsoleTeamFilterDropdown",isMulti:!0,isClearable:!0,hideSelectedOptions:!0,classNamePrefix:"filterListSelect",cacheOptions:!1,placeholder:a({id:"admin.channels.filterBy.team.placeholder",defaultMessage:"Search and select teams"}),loadingMessage:()=>a({id:"admin.channels.filterBy.team.loading",defaultMessage:"Loading teams"}),noOptionsMessage:()=>a({id:"admin.channels.filterBy.team.noTeams",defaultMessage:"No teams found"}),loadOptions:async function(t,s){try{const a=await e.searchTeams(t,{page:0,per_page:50});if(a&&a.data&&a.data.teams&&a.data.teams.length>0){const e=a.data.teams.map((e=>({value:e.id,label:e.display_name})));s(e)}s([])}catch(e){console.error(e),s([])}},defaultOptions:n,value:c,onChange:function(t,s){if(!s.action)return;let a=[];Array.isArray(t)&&t.length>0&&(a=t.map((e=>e.value))),"clear"===s.action?e.updateValues({team_ids:{name:"Teams",value:[]}},"teams"):"select-option"!==s.action&&"remove-value"!==s.action||e.updateValues({team_ids:{name:"Teams",value:a}},"teams")},onMenuScrollToBottom:function(){l(r)},components:{LoadingIndicator:()=>T().createElement($s.A,null)}}))}ki.propTypes={updateValues:L().func.isRequired};const xi=ki,Di={searchTeams:o.Fo,getTeams:o.ZN},Li=(0,a.connect)(null,Di)(xi);var Fi=s(17862),Bi=s(59181),Hi=s(74381),Ui=s(78064);function Gi(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const ji=10;class qi extends T().PureComponent{constructor(e){var t;super(e),t=this,Gi(this,"pageLoaded",0),Gi(this,"componentDidMount",(()=>{this.loadPage(0,20)})),Gi(this,"setStateLoading",(e=>{this.setState({loading:e})})),Gi(this,"setStatePage",(e=>{this.setState({page:e})})),Gi(this,"loadPage",(async function(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:ji;t.props.policyId&&(t.setStateLoading(!0),await t.props.actions.getDataRetentionCustomPolicyChannels(t.props.policyId,e,s),t.setStateLoading(!1))})),Gi(this,"nextPage",(()=>{const e=this.state.page+1;this.loadPage(e+1),this.setStatePage(e)})),Gi(this,"previousPage",(()=>{const e=this.state.page-1;this.loadPage(e+1),this.setStatePage(e)})),Gi(this,"getVisibleTotalCount",(()=>{const{channelsToAdd:e,channelsToRemove:t,totalCount:s}=this.props;return s+(Object.keys(e).length-Object.keys(t).length)})),Gi(this,"getPaginationProps",(()=>{const{page:e}=this.state,t=e*ji+1,s=this.getVisibleTotalCount();let a=0;return a=(e+1)*ji,a=a>s?s:a,{startCount:t,endCount:a,total:s}})),Gi(this,"removeChannel",(e=>{const{channelsToRemove:t}=this.props;if(t[e.id]===e)return;let{page:s}=this.state;const{endCount:a}=this.getPaginationProps();this.props.onRemoveCallback(e),a>this.getVisibleTotalCount()&&a%ji==1&&s>0&&s--,this.setStatePage(s)})),Gi(this,"getColumns",(()=>[{name:T().createElement(N.FormattedMessage,{id:"admin.channel_settings.channel_list.nameHeader",defaultMessage:"Name"}),field:"name",fixed:!0},{name:T().createElement(N.FormattedMessage,{id:"admin.channel_settings.channel_list.teamHeader",defaultMessage:"Team"}),field:"team",fixed:!0},{name:"",field:"remove",textAlign:"right",fixed:!0}])),Gi(this,"getRows",(()=>{const{page:e}=this.state,{channels:t,channelsToRemove:s,channelsToAdd:a,totalCount:n}=this.props,{startCount:i,endCount:r}=this.getPaginationProps();let o=t;const l=Object.values(a);if(o=o.filter((e=>!s[e.id])),o=[...l,...o],o=o.slice(i-1,r),o.length<ji&&t.length<n){const t=Object.keys(s).length,a=e+Math.floor(t/ji)+1;a>this.pageLoaded&&(this.loadPage(a+1),this.pageLoaded=a)}return o.map((e=>{let t=T().createElement(Bi.A,{className:"channel-icon"});return e.type===x.YM.PRIVATE_CHANNEL&&(t=T().createElement(Hi.A,{className:"channel-icon"})),(0,Ui.Oj)(e)&&(t=T().createElement(Fi.A,{className:"channel-icon","data-testid":"".concat(e.name,"-archive-icon")})),{cells:{id:e.id,name:T().createElement("div",{className:"ChannelList__nameColumn",id:"channel-name-".concat(e.id)},t,T().createElement("div",{className:"ChannelList__nameText"},T().createElement("b",{id:"display-name-channel-".concat(e.id)},e.display_name))),team:e.team_display_name,remove:T().createElement("a",{id:"remove-channel-".concat(e.id),className:"group-actions TeamList_editText",onClick:t=>{t.preventDefault(),this.removeChannel(e)},href:"#"},T().createElement(N.FormattedMessage,{id:"admin.data_retention.custom_policy.teams.remove",defaultMessage:"Remove"}))}}}))})),Gi(this,"onSearch",(async e=>{this.props.actions.setChannelListSearch(e)})),Gi(this,"searchDebounced",wi()((async()=>{const{policyId:e,searchTerm:t,filters:s,actions:a}=this.props;e&&await a.searchChannels(e,t,s),this.setStateLoading(!1)}),x.YM.SEARCH_TIMEOUT_MILLISECONDS)),Gi(this,"onFilter",(async e=>{const t={},{public:s,private:a,deleted:n}=e.channels.values,{team_ids:i}=e.teams.values;(s.value||a.value||n.value||i.value.length)&&(t.public=s.value,t.private=a.value,t.deleted=n.value,t.team_ids=i.value),this.props.actions.setChannelListFilters(t)})),this.state={loading:!1,page:0}}async componentDidUpdate(e){const{policyId:t,searchTerm:s,filters:a}=this.props,n=!Oi()(e.filters,this.props.filters);if(e.searchTerm!==s||n){if(this.setStateLoading(!0),""===s)return n&&t?await e.actions.searchChannels(t,s,a):(await this.loadPage(1),this.setStatePage(0)),void this.setStateLoading(!1);this.searchDebounced()}}render(){const e=this.getRows(),t=this.getColumns(),{startCount:s,endCount:a,total:n}=this.getPaginationProps(),i={options:{teams:{name:"Teams",values:{team_ids:{name:T().createElement(N.FormattedMessage,{id:"admin.team_settings.title",defaultMessage:"Teams"}),value:[]}},keys:["team_ids"],type:Li},channels:{name:"Channels",values:{public:{name:T().createElement(N.FormattedMessage,{id:"admin.channel_list.public",defaultMessage:"Public"}),value:!1},private:{name:T().createElement(N.FormattedMessage,{id:"admin.channel_list.private",defaultMessage:"Private"}),value:!1},deleted:{name:T().createElement(N.FormattedMessage,{id:"admin.channel_list.archived",defaultMessage:"Archived"}),value:!1}},keys:["public","private","deleted"]}},keys:["teams","channels"],onFilter:this.onFilter};return T().createElement("div",{className:"PolicyChannelsList"},T().createElement(oi,{columns:t,rows:e,loading:this.state.loading,page:this.state.page,nextPage:this.nextPage,previousPage:this.previousPage,startCount:s,endCount:a,total:n,className:"customTable",onSearch:this.onSearch,term:this.props.searchTerm,filterProps:i}))}}Gi(qi,"propTypes",{channels:L().array.isRequired,totalCount:L().number.isRequired,searchTerm:L().string.isRequired,policyId:L().string,onRemoveCallback:L().func.isRequired,onAddCallback:L().func.isRequired,actions:L().shape({searchChannels:L().func.isRequired,getDataRetentionCustomPolicyChannels:L().func.isRequired,setChannelListSearch:L().func.isRequired,setChannelListFilters:L().func.isRequired}).isRequired});const Wi=(0,a.connect)((function(){const e=(0,_i.oI)();return(t,s)=>{var a;let{channelsToAdd:n}=s,i=[],r=0;const o=s.policyId,l=o?(0,d.eb)(t,o):{},c=t.views.search.channelListSearch.term||"",m=(null===(a=t.views.search.channelListSearch)||void 0===a?void 0:a.filters)||{};return c||m&&0!==Object.keys(m).length?(i=o?(0,_i.Mf)(t,o,c,m):[],n=function(e,t,s){let a=(0,Ti._d)(Object.keys(e).map((t=>e[t])),t);return a=(0,_i.GP)(a,s),(0,Ti.fv)(a)}(n,c,m),r=i.length):(i=o?e(t,{policyId:o}):[],null!=l&&l.channel_count&&(r=l.channel_count)),{channels:i,totalCount:r,searchTerm:c,channelsToAdd:n,filters:m}}}),(function(e){return{actions:(0,n.bindActionCreators)({getDataRetentionCustomPolicyChannels:i.U6,searchChannels:i.gd,setChannelListSearch:Ni.SH,setChannelListFilters:Ni.l4},e)}}))(qi),Vi="FOREVER",zi="YEARS",Yi="DAYS",Zi=()=>({value:Vi,label:T().createElement("div",null,T().createElement("i",{className:"icon icon-infinity option-icon"}),T().createElement("span",{className:"option_forever"},H.Vw({id:"admin.data_retention.form.keepForever",defaultMessage:"Keep forever"})))}),Ji=()=>({value:zi,label:T().createElement("span",{className:"option_years"},H.Vw({id:"admin.data_retention.form.years",defaultMessage:"Years"}))}),Qi=()=>({value:Yi,label:T().createElement("span",{className:"option_days"},H.Vw({id:"admin.data_retention.form.days",defaultMessage:"Days"}))}),Ki=()=>({value:"HOURS",label:T().createElement("span",{className:"option_hours"},H.Vw({id:"admin.data_retention.form.hours",defaultMessage:"Hours"}))});var Xi=s(93036),$i=s(85236);function er(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const tr=10;class sr extends T().PureComponent{constructor(e){var t;super(e),t=this,er(this,"pageLoaded",0),er(this,"componentDidMount",(()=>{this.loadPage(0,20)})),er(this,"setStateLoading",(e=>{this.setState({loading:e})})),er(this,"setStatePage",(e=>{this.setState({page:e})})),er(this,"loadPage",(async function(e){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:tr;t.props.policyId&&(t.setStateLoading(!0),await t.props.actions.getDataRetentionCustomPolicyTeams(t.props.policyId,e,s),t.setStateLoading(!1))})),er(this,"nextPage",(()=>{const e=this.state.page+1;this.loadPage(e+1),this.setStatePage(e)})),er(this,"previousPage",(()=>{const e=this.state.page-1;this.loadPage(e+1),this.setStatePage(e)})),er(this,"getVisibleTotalCount",(()=>{const{teamsToAdd:e,teamsToRemove:t,totalCount:s}=this.props;return s+(Object.keys(e).length-Object.keys(t).length)})),er(this,"getPaginationProps",(()=>{const{page:e}=this.state,t=e*tr+1,s=this.getVisibleTotalCount();let a=0;return a=(e+1)*tr,a=a>s?s:a,{startCount:t,endCount:a,total:s}})),er(this,"removeTeam",(e=>{const{teamsToRemove:t}=this.props;if(t[e.id]===e)return;let{page:s}=this.state;const{endCount:a}=this.getPaginationProps();this.props.onRemoveCallback(e),a>this.getVisibleTotalCount()&&a%tr==1&&s>0&&s--,this.setStatePage(s)})),er(this,"getColumns",(()=>[{name:T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_list.nameHeader",defaultMessage:"Name"}),field:"name",fixed:!0},{name:"",field:"remove",textAlign:"right",fixed:!0,className:"TeamList__actionColumn"}])),er(this,"getRows",(()=>{const{page:e}=this.state,{teams:t,teamsToRemove:s,teamsToAdd:a,totalCount:n}=this.props,{startCount:i,endCount:r}=this.getPaginationProps();let o=t;const l=Object.values(a);if(o=o.filter((e=>!s[e.id])),o=[...l,...o],o=o.slice(i-1,r),o.length<tr&&t.length<n){const t=Object.keys(s).length,a=e+Math.floor(t/tr)+1;a>this.pageLoaded&&(this.loadPage(a+1),this.pageLoaded=a)}return o.map((e=>({cells:{id:e.id,name:T().createElement("div",{className:"TeamList__nameColumn",id:"team-name-".concat(e.id)},T().createElement("div",{className:"TeamList__lowerOpacity"},T().createElement($i.A,{size:"sm",url:H.lt(e),content:e.display_name})),T().createElement("div",{className:"TeamList__nameText"},T().createElement("b",{"data-testid":"team-display-name"},e.display_name))),remove:T().createElement("a",{id:"remove-team-".concat(e.id),className:"group-actions TeamList_editText",onClick:t=>{t.preventDefault(),this.removeTeam(e)},href:"#"},T().createElement(N.FormattedMessage,{id:"admin.data_retention.custom_policy.teams.remove",defaultMessage:"Remove"}))}})))})),er(this,"onSearch",(async e=>{this.props.actions.setTeamListSearch(e)})),er(this,"searchDebounced",wi()((async()=>{const{policyId:e,searchTerm:t,actions:s}=this.props;e&&await s.searchTeams(e,t,{}),this.setStateLoading(!1)}),x.Ay.SEARCH_TIMEOUT_MILLISECONDS)),this.state={loading:!1,page:0}}async componentDidUpdate(e){const{searchTerm:t}=this.props;if(e.searchTerm!==this.props.searchTerm){if(this.setStateLoading(!0),""===t)return await this.loadPage(1),void this.setStateLoading(!1);this.searchDebounced()}}render(){const e=this.getRows(),t=this.getColumns(),{startCount:s,endCount:a,total:n}=this.getPaginationProps();return T().createElement("div",{className:"PolicyTeamsList"},T().createElement(oi,{columns:t,rows:e,loading:this.state.loading,page:this.state.page,nextPage:this.nextPage,previousPage:this.previousPage,startCount:s,endCount:a,total:n,className:"customTable",onSearch:this.onSearch,term:this.props.searchTerm}))}}er(sr,"propTypes",{teams:L().array.isRequired,totalCount:L().number.isRequired,searchTerm:L().string.isRequired,policyId:L().string,onRemoveCallback:L().func.isRequired,onAddCallback:L().func.isRequired,actions:L().shape({searchTeams:L().func.isRequired,getDataRetentionCustomPolicyTeams:L().func.isRequired,setTeamListSearch:L().func.isRequired}).isRequired});const ar=(0,a.connect)((function(){const e=(0,p.ax)();return(t,s)=>{let{teamsToAdd:a}=s,n=[];const i=s.policyId,r=i&&(0,d.eb)(t,i)||{};let o=0;const l=t.views.search.teamListSearch||"";return n=i?e(t,{policyId:i}):[],l?(n=(0,p.q6)(n,l)||[],a=function(e,t){const s=(0,Xi.Dr)(Object.keys(e).map((t=>e[t])),t);return(0,Xi.DT)(s)}(a,l),o=n.length):null!=r&&r.team_count&&(o=r.team_count),{teams:n,totalCount:o,searchTerm:l,teamsToAdd:a}}}),(function(e){return{actions:(0,n.bindActionCreators)({getDataRetentionCustomPolicyTeams:i.AF,searchTeams:i.Uk,setTeamListSearch:Ni.Sb},e)}}))(sr);var nr=s(30413),ir=s(50375);function rr(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function or(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?rr(Object(s),!0).forEach((function(t){lr(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):rr(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function lr(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class dr extends T().PureComponent{constructor(){super(...arguments),lr(this,"searchTimeoutId",0),lr(this,"selectedItemRef",T().createRef()),lr(this,"state",{values:[],show:!0,search:!1,loadingChannels:!0,channels:[]}),lr(this,"handleHide",(()=>{this.props.actions.setModalSearchTerm(""),this.setState({show:!1})})),lr(this,"handleExit",(()=>{this.props.onModalDismissed&&this.props.onModalDismissed()})),lr(this,"handleSubmit",(e=>{e&&e.preventDefault(),0!==this.state.values.length&&(this.props.onChannelsSelected&&this.props.onChannelsSelected(this.state.values),this.handleHide())})),lr(this,"addValue",(e=>{const t=[...this.state.values];null!=e&&e.id&&!t.some((t=>t.id===e.id))&&t.push(e),this.setState({values:t})})),lr(this,"setChannelsLoadingState",(e=>{this.setState({loadingChannels:e})})),lr(this,"handlePageChange",((e,t)=>{e>t&&(this.setChannelsLoadingState(!0),this.props.actions.loadChannels(e,51,this.props.groupID,!1,this.props.excludePolicyConstrained).then((e=>{const t=[...this.state.channels],s=this.state.channels.map((e=>e.id));e.data.forEach((e=>{s.includes(e.id)||t.push(e)})),this.setState({channels:t.sort(cr)}),this.setChannelsLoadingState(!1)})))})),lr(this,"handleDelete",(e=>{this.setState({values:e})})),lr(this,"search",((e,t)=>{0!==t.state.page&&t.setState({page:0}),this.props.actions.setModalSearchTerm(e)})),lr(this,"renderOption",((e,t,s,a)=>{let n="";return t&&(n="more-modal__row--selected"),T().createElement("div",{key:e.id,ref:t?this.selectedItemRef:e.id,className:"more-modal__row clickable "+n,onClick:()=>s(e),onMouseMove:()=>a(e)},T().createElement("div",{className:"more-modal__details"},T().createElement("div",{className:"channel-info-block"},e.type===x.Ay.PRIVATE_CHANNEL&&T().createElement("i",{className:"icon icon-lock-outline"}),e.type===x.Ay.OPEN_CHANNEL&&T().createElement("i",{className:"icon icon-globe"}),T().createElement("span",{className:"channel-name"},e.display_name),T().createElement("span",{className:"team-name"},"("+e.team_display_name+")"))),T().createElement("div",{className:"more-modal__actions"},T().createElement("div",{className:"more-modal__actions--round"},T().createElement("i",{className:"icon icon-plus"}))))}))}componentDidMount(){this.props.actions.loadChannels(0,51,this.props.groupID,!1,this.props.excludePolicyConstrained).then((e=>{this.setState({channels:e.data.sort(cr)}),this.setChannelsLoadingState(!1)}))}componentDidUpdate(e){if(e.searchTerm!==this.props.searchTerm){clearTimeout(this.searchTimeoutId);const e=this.props.searchTerm;""===e?this.props.actions.loadChannels(0,51,this.props.groupID,!1,this.props.excludePolicyConstrained).then((e=>{this.setState({channels:e.data.sort(cr)}),this.setChannelsLoadingState(!1)})):this.searchTimeoutId=window.setTimeout((async()=>{this.setChannelsLoadingState(!0);const t=await this.props.actions.searchAllChannels(e,{not_associated_to_group:this.props.groupID});this.setState({channels:t.data}),this.setChannelsLoadingState(!1)}),x.Ay.SEARCH_TIMEOUT_MILLISECONDS)}}renderValue(e){return e.data.display_name+" ("+e.data.team_display_name+")"}render(){const e=T().createElement(N.FormattedMessage,{id:"multiselect.selectChannels",defaultMessage:"Use ↑↓ to browse, ↵ to select."}),t=(0,N.defineMessage)({id:"multiselect.add",defaultMessage:"Add"});let s=this.state.channels.map((e=>or(or({},e),{},{label:e.display_name,value:e.id})));this.props.alreadySelected&&(s=s.filter((e=>{var t;return-1===(null===(t=this.props.alreadySelected)||void 0===t?void 0:t.indexOf(e.id))}))),this.props.excludePolicyConstrained&&(s=s.filter((e=>null===e.policy_id))),this.props.excludeTeamIds&&(s=s.filter((e=>{var t;return-1===(null===(t=this.props.excludeTeamIds)||void 0===t?void 0:t.indexOf(e.team_id))})));const a=this.state.values.map((e=>or(or({},e),{},{label:e.display_name,value:e.id})));return T().createElement(ta.Modal,{dialogClassName:"a11y__modal more-modal more-direct-channels channel-selector-modal",show:this.state.show,onHide:this.handleHide,onExited:this.handleExit,role:"none","aria-labelledby":"channelSelectorModalLabel"},T().createElement(ta.Modal.Header,{closeButton:!0},T().createElement(ta.Modal.Title,{componentClass:"h1",id:"channelSelectorModalLabel"},T().createElement(N.FormattedMessage,{id:"channelSelectorModal.title",defaultMessage:"Add Channels to <b>Channel Selection</b> List",values:{b:e=>T().createElement("b",null,e)}}))),T().createElement(ta.Modal.Body,null,T().createElement(ir.A,{key:"addChannelsToSchemeKey",options:s,optionRenderer:this.renderOption,intl:this.props.intl,selectedItemRef:this.selectedItemRef,values:a,valueRenderer:this.renderValue,perPage:50,handlePageChange:this.handlePageChange,handleInput:this.search,handleDelete:this.handleDelete,handleAdd:this.addValue,handleSubmit:this.handleSubmit,numRemainingText:e,buttonSubmitText:t,saving:!1,loading:this.state.loadingChannels,placeholderText:(0,N.defineMessage)({id:"multiselect.addChannelsPlaceholder",defaultMessage:"Search and add channels"})})))}}function cr(e,t){const s=e.display_name.toUpperCase(),a=t.display_name.toUpperCase(),n=s.localeCompare(a);if(0!==n)return n;const i=e.name.toUpperCase(),r=t.name.toUpperCase();return i.localeCompare(r)}lr(dr,"propTypes",{searchTerm:L().string.isRequired,onModalDismissed:L().func,onChannelsSelected:L().func,groupID:L().string.isRequired,actions:L().shape({loadChannels:L().func.isRequired,setModalSearchTerm:L().func.isRequired,searchAllChannels:L().func.isRequired}).isRequired,alreadySelected:L().arrayOf(L().string),excludePolicyConstrained:L().bool,excludeTeamIds:L().arrayOf(L().string)});const mr=(0,N.injectIntl)(dr),ur=(0,a.connect)((function(e){return{searchTerm:e.views.search.modalSearch}}),(function(e){return{actions:(0,n.bindActionCreators)({loadChannels:nr.ou,setModalSearchTerm:Ni.qv,searchAllChannels:nr.Q1},e)}}))(mr);function pr(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function gr(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class hr extends T().PureComponent{constructor(e){var t;super(e),t=this,gr(this,"handleHide",(()=>{this.props.actions.setModalSearchTerm(""),this.setState({show:!1})})),gr(this,"handleExit",(()=>{this.props.onModalDismissed&&this.props.onModalDismissed()})),gr(this,"handleSubmit",(e=>{var t,s;e&&e.preventDefault(),0!==this.state.values.length&&(null===(t=(s=this.props).onTeamsSelected)||void 0===t||t.call(s,this.state.values),this.handleHide())})),gr(this,"addValue",(function(e){let s=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(t.props.modalID===x.IQ.ADD_TEAMS_TO_SCHEME&&null!==e.scheme_id&&""!==e.scheme_id&&!s)return void t.setState({confirmAddModal:!0,confirmAddTeam:e});const a=Object.assign([],t.state.values),n=a.map((e=>e.id));e&&e.id&&-1===n.indexOf(e.id)&&a.push(e),t.setState({values:a,confirmAddModal:!1,confirmAddTeam:null})})),gr(this,"setTeamsLoadingState",(e=>{this.setState({loadingTeams:e})})),gr(this,"handlePageChange",((e,t)=>{e>t&&(this.setTeamsLoadingState(!0),this.props.actions.loadTeams(e,51,!1,this.props.excludePolicyConstrained).then((()=>{this.setTeamsLoadingState(!1)})))})),gr(this,"handleDelete",(e=>{this.setState({values:e})})),gr(this,"search",((e,t)=>{0!==t.state.page&&t.setState({page:0}),this.props.actions.setModalSearchTerm(e)})),gr(this,"renderOption",((e,t,s,a)=>{let n="";return t&&(n="more-modal__row--selected"),T().createElement("div",{key:e.id,ref:t?this.selectedItemRef:e.id,className:"more-modal__row clickable "+n,onClick:()=>s(e),onMouseMove:()=>a(e)},T().createElement("div",{className:"more-modal__details"},T().createElement("div",{className:"team-info-block"},T().createElement($i.A,{content:e.display_name,url:(0,H.lt)(e)}),T().createElement("div",{className:"team-data"},T().createElement("div",{className:"title"},e.display_name)))),T().createElement("div",{className:"more-modal__actions"},T().createElement("div",{className:"more-modal__actions--round"},T().createElement("i",{className:"fa fa-plus"}))))})),this.searchTimeoutId=0,this.state={values:[],show:!0,search:!1,loadingTeams:!0,confirmAddModal:!1,confirmAddTeam:null},this.selectedItemRef=T().createRef()}componentDidMount(){this.props.actions.loadTeams(0,51,!1,this.props.excludePolicyConstrained).then((()=>{this.setTeamsLoadingState(!1)}))}componentDidUpdate(e){if(this.props.searchTerm!==e.searchTerm){clearTimeout(this.searchTimeoutId);const e=this.props.searchTerm;if(""===e)return;this.searchTimeoutId=window.setTimeout((async()=>{this.setTeamsLoadingState(!0),await this.props.actions.searchTeams(e),this.setTeamsLoadingState(!1)}),x.Ay.SEARCH_TIMEOUT_MILLISECONDS)}}renderValue(e){return e.data.display_name}renderConfirmModal(e,t){const s=T().createElement(N.FormattedMessage,{id:"add_teams_to_scheme.confirmation.title",defaultMessage:"Team Override Scheme Change?"}),a=T().createElement(N.FormattedMessage,{id:"add_teams_to_scheme.confirmation.message",defaultMessage:"This team is already selected in another team scheme, are you sure you want to move it to this team scheme?"}),n=T().createElement(N.FormattedMessage,{id:"add_teams_to_scheme.confirmation.accept",defaultMessage:"Yes, Move Team"});return T().createElement(St.A,{show:e,title:s,message:a,confirmButtonText:n,onCancel:()=>this.setState({confirmAddModal:!1,confirmAddTeam:null}),onConfirm:()=>this.addValue(t,!0)})}render(){const e=this.renderConfirmModal(this.state.confirmAddModal,this.state.confirmAddTeam),t=T().createElement(N.FormattedMessage,{id:"multiselect.selectTeams",defaultMessage:"Use ↑↓ to browse, ↵ to select."}),s=(0,N.defineMessage)({id:"multiselect.add",defaultMessage:"Add"});let a=[];this.props.teams&&(a=this.props.teams.filter((e=>0===e.delete_at)),a=a.filter((e=>e.scheme_id!==this.currentSchemeId)),a=this.props.excludeGroupConstrained?a.filter((e=>!e.group_constrained)):a,this.props.alreadySelected&&(a=a.filter((e=>{var t;return-1===(null===(t=this.props.alreadySelected)||void 0===t?void 0:t.indexOf(e.id))}))),this.props.excludePolicyConstrained&&(a=a.filter((e=>null===e.policy_id))),a.sort(((e,t)=>{const s=e.display_name.toUpperCase(),a=t.display_name.toUpperCase();return s===a?0:s>a?1:-1})));const n=a.map((e=>function(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?pr(Object(s),!0).forEach((function(t){gr(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):pr(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}({label:e.name,value:e.id},e)));return T().createElement(ta.Modal,{dialogClassName:"a11y__modal more-modal more-direct-channels team-selector-modal",show:this.state.show,onHide:this.handleHide,onExited:this.handleExit,role:"none","aria-labelledby":"teamSelectorModalLabel"},T().createElement(ta.Modal.Header,{closeButton:!0},T().createElement(ta.Modal.Title,{componentClass:"h1",id:"teamSelectorModalLabel"},T().createElement(N.FormattedMessage,{id:"add_teams_to_scheme.modalTitle",defaultMessage:"Add Teams to Team Selection List"}))),T().createElement(ta.Modal.Body,null,e,T().createElement(ir.A,{key:"addTeamsToSchemeKey",options:n,optionRenderer:this.renderOption,intl:this.props.intl,selectedItemRef:this.selectedItemRef,values:this.state.values,valueRenderer:this.renderValue,perPage:50,handlePageChange:this.handlePageChange,handleInput:this.search,handleDelete:this.handleDelete,handleAdd:this.addValue,handleSubmit:this.handleSubmit,numRemainingText:t,buttonSubmitText:s,saving:!1,loading:this.state.loadingTeams,placeholderText:(0,N.defineMessage)({id:"multiselect.addTeamsPlaceholder",defaultMessage:"Search and add teams"})})))}}gr(hr,"propTypes",{currentSchemeId:L().string,alreadySelected:L().arrayOf(L().string),excludeGroupConstrained:L().bool,searchTerm:L().string.isRequired,teams:L().array.isRequired,onModalDismissed:L().func,onTeamsSelected:L().func,modalID:L().string,actions:L().shape({loadTeams:L().func.isRequired,setModalSearchTerm:L().func.isRequired,searchTeams:L().func.isRequired}).isRequired,data:L().any,excludePolicyConstrained:L().bool});const fr=(0,N.injectIntl)(hr),Er=(0,a.connect)((function(e){const t=e.views.search.modalSearch,s=Object.values((0,p.ZN)(e)||{}).filter((e=>e.display_name.toLowerCase().startsWith(t.toLowerCase())||e.description.toLowerCase().startsWith(t.toLowerCase())));return{searchTerm:t,teams:s}}),(function(e){return{actions:(0,n.bindActionCreators)({loadTeams:o.ZN,setModalSearchTerm:Ni.qv,searchTeams:o.Fo},e)}}))(fr);var br=s(23959);const vr=["value","placeholder","className","name","legend","onDropdownChange","onInputChange","error","exceptionToInput","width","inputValue","inputType","defaultValue","dropdownClassNamePrefix","inputId"];function Mr(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function yr(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?Mr(Object(s),!0).forEach((function(t){Sr(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):Mr(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function Sr(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const Ar={input:e=>yr(yr({},e),{},{color:"var(--center-channel-color)"}),control:e=>yr(yr({},e),{},{border:"none",boxShadow:"none",padding:"0 2px",cursor:"pointer",minHeight:"40px",borderRadius:"0"}),indicatorSeparator:e=>yr(yr({},e),{},{display:"none"}),menuPortal:e=>yr(yr({},e),{},{zIndex:99999999})},Cr=e=>T().createElement("div",{className:"DropdownInput__indicatorsContainer"},T().createElement(br.H.IndicatorsContainer,e,T().createElement("i",{className:"icon icon-chevron-down"}))),_r=e=>T().createElement("div",{className:"DropdownInput__controlContainer"},T().createElement(br.H.Control,e)),Tr=e=>T().createElement("div",{className:re()("DropdownInput__option",{selected:e.isSelected,focused:e.isFocused})},T().createElement(br.H.Option,e)),Nr=e=>{const{value:t,placeholder:s,className:a,name:n,legend:i,onDropdownChange:r,onInputChange:o,error:l,exceptionToInput:d,width:c,inputValue:m,inputType:u,defaultValue:p,dropdownClassNamePrefix:g,inputId:h}=e,f=function(e,t){if(null==e)return{};var s,a,n=function(e,t){if(null==e)return{};var s={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;s[a]=e[a]}return s}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)s=i[a],t.includes(s)||{}.propertyIsEnumerable.call(e,s)&&(n[s]=e[s])}return n}(e,vr),E=(0,N.useIntl)(),b=(0,_.useRef)(null),v=(0,_.useRef)(null),[M,y]=(0,_.useState)(!1),[S,A]=(0,_.useState)(!1),[C,R]=(0,_.useState)(Boolean(m));(0,_.useEffect)((()=>{var e;C&&!m&&(null===(e=v.current)||void 0===e||e.focus())}),[C]),(0,_.useEffect)((()=>{M||w(m,!1)}),[m]),(0,_.useEffect)((()=>{m||S||M||(r(p),w(""))}),[S,M]);const w=function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];var s;!e||d.includes(e)?R(!1):(R(!0),t&&(null===(s=v.current)||void 0===s||s.focus()))},I=Boolean(S||t);return T().createElement("div",{className:"DropdownInput hybrid_container",ref:b,style:{width:"100%"}},T().createElement("fieldset",{className:re()("Input_fieldset",a,{Input_fieldset___error:l,Input_fieldset___legend:I,Input_fieldset___split:C})},T().createElement("legend",{className:re()("Input_legend",{Input_legend___focus:I})},I?(0,Es.H6)(E.formatMessage,i||s):null),T().createElement("div",{className:re()("Input_wrapper input_hybrid_wrapper",{showInput:C}),onFocus:()=>y(!0),onBlur:()=>y(!1),style:{maxWidth:C?"10000px":"0"}},T().createElement("input",{name:"Input_".concat(n),type:u||"text",value:m,onChange:o,placeholder:(0,Es.H6)(E.formatMessage,s),required:!1,className:re()("Input form-control"),ref:v,id:h,disabled:e.disabled})),T().createElement("div",{className:re()("Input_wrapper dropdown_hybrid_wrapper",{showInput:!C}),onFocus:t=>{var s;A(!0),null===(s=e.onFocus)||void 0===s||s.call(e,t)},onBlur:t=>{var s;A(!1),null===(s=e.onBlur)||void 0===s||s.call(e,t)},style:{width:C?"".concat(c,"px"):"100%"}},T().createElement(Me.Ay,Object.assign({id:"DropdownInput_".concat(n),placeholder:S?"":s,components:{IndicatorsContainer:Cr,Option:Tr,Control:_r},className:re()("Input",a,{Input__focus:I}),classNamePrefix:g,onChange:e=>{w(e.value),r(e)},styles:yr(yr({},Ar),C?{menu:e=>yr(yr({},e),{},{width:b.current?"".concat(b.current.offsetWidth,"px"):"0px",left:v.current?"-".concat(v.current.offsetWidth,"px"):"0px"})}:{}),value:t,hideSelectedOptions:!0,isSearchable:!1,menuPortalTarget:document.body,isDisabled:e.disabled},f)))))};function Rr(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function wr(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?Rr(Object(s),!0).forEach((function(t){Ir(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):Rr(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function Ir(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class Or extends T().PureComponent{constructor(e){super(e),Ir(this,"openAddChannel",(()=>{this.setState({addChannelOpen:!0})})),Ir(this,"closeAddChannel",(()=>{this.setState({addChannelOpen:!1})})),Ir(this,"openAddTeam",(()=>{this.setState({addTeamOpen:!0})})),Ir(this,"closeAddTeam",(()=>{this.setState({addTeamOpen:!1})})),Ir(this,"getMessageRetentionDefaultInputValue",(()=>!this.props.policy||0===Object.keys(this.props.policy).length||this.props.policy&&-1===this.props.policy.post_duration?"":this.props.policy&&this.props.policy.post_duration%365==0?(this.props.policy.post_duration/365).toString():this.props.policy.post_duration.toString())),Ir(this,"getMessageRetentionDefaultDropdownValue",(()=>!this.props.policyId||this.props.policy&&-1===this.props.policy.post_duration?Zi():this.props.policy&&this.props.policy.post_duration%365==0?Ji():Qi())),Ir(this,"componentDidMount",(async()=>{this.loadPage()})),Ir(this,"loadPage",(async()=>{var e;this.props.policyId&&(await this.props.actions.fetchPolicy(this.props.policyId),this.setState({policyName:null===(e=this.props.policy)||void 0===e?void 0:e.display_name,messageRetentionInputValue:this.getMessageRetentionDefaultInputValue(),messageRetentionDropdownValue:this.getMessageRetentionDefaultDropdownValue()}))})),Ir(this,"addToNewTeams",(e=>{let{removedTeamsCount:t}=this.state;const{newTeams:s,removedTeams:a}=this.state;e.forEach((e=>{var n;(null===(n=a[e.id])||void 0===n?void 0:n.id)===e.id?(delete a[e.id],t-=1):s[e.id]=e})),this.setState({newTeams:wr({},s),removedTeams:wr({},a),removedTeamsCount:t,saveNeeded:!0}),this.props.actions.setNavigationBlocked(!0)})),Ir(this,"addToRemovedTeams",(e=>{var t,s;let{removedTeamsCount:a}=this.state;const{newTeams:n,removedTeams:i}=this.state;(null===(t=n[e.id])||void 0===t?void 0:t.id)===e.id?delete n[e.id]:(null===(s=i[e.id])||void 0===s?void 0:s.id)!==e.id&&(a+=1,i[e.id]=e),this.setState({removedTeams:wr({},i),newTeams:wr({},n),removedTeamsCount:a,saveNeeded:!0}),this.props.actions.setNavigationBlocked(!0)})),Ir(this,"addToNewChannels",(e=>{let{removedChannelsCount:t}=this.state;const{newChannels:s,removedChannels:a}=this.state;e.forEach((e=>{var n;(null===(n=a[e.id])||void 0===n?void 0:n.id)===e.id?(delete a[e.id],t-=1):s[e.id]=e})),this.setState({newChannels:wr({},s),removedChannels:wr({},a),removedChannelsCount:t,saveNeeded:!0}),this.props.actions.setNavigationBlocked(!0)})),Ir(this,"addToRemovedChannels",(e=>{var t,s;let{removedChannelsCount:a}=this.state;const{newChannels:n,removedChannels:i}=this.state;(null===(t=n[e.id])||void 0===t?void 0:t.id)===e.id?delete n[e.id]:(null===(s=i[e.id])||void 0===s?void 0:s.id)!==e.id&&(a+=1,i[e.id]=e),this.setState({removedChannels:wr({},i),newChannels:wr({},n),removedChannelsCount:a,saveNeeded:!0}),this.props.actions.setNavigationBlocked(!0)})),Ir(this,"getTeamsToExclude",(()=>{const{teams:e}=this.props,{newTeams:t,removedTeams:s}=this.state;let a=null==e?void 0:e.map((e=>e.id));const n=Object.keys(t);var i;return a&&(a=null===(i=a)||void 0===i?void 0:i.filter((e=>!s[e])),a=[...n,...a]),a})),Ir(this,"handleSubmit",(async()=>{const{policyName:e,messageRetentionInputValue:t,messageRetentionDropdownValue:s,newTeams:a,removedTeams:n,newChannels:i,removedChannels:r}=this.state,{policyId:o,policy:l}=this.props,{updateDataRetentionCustomPolicy:d,addDataRetentionCustomPolicyTeams:c,removeDataRetentionCustomPolicyTeams:m,addDataRetentionCustomPolicyChannels:u,removeDataRetentionCustomPolicyChannels:p}=this.props.actions;this.setState({saving:!0});const g=Object.keys(a),h=Object.keys(n),f=Object.keys(i),E=Object.keys(r);let b=!1,v=parseInt(t,10);if(v<=0)this.setState({formErrorText:T().createElement(N.FormattedMessage,{id:"admin.data_retention.custom_policy.form.durationInput.error",defaultMessage:"Error parsing message retention."}),saving:!1});else if(s.value===Vi?v=-1:this.state.messageRetentionDropdownValue.value===zi&&(v=365*parseInt(t,10)),null!=e&&e.trim()){if(o&&l){const t={display_name:e,post_duration:v};if((null==l?void 0:l.team_count)+g.length-h.length==0&&(null==l?void 0:l.channel_count)+f.length-E.length==0)return void this.setState({formErrorText:T().createElement(N.FormattedMessage,{id:"admin.data_retention.custom_policy.form.teamsError",defaultMessage:"You must add a team or a channel to the policy."}),saving:!1});const s=[d(o,t)];g.length>0&&s.push(c(o,g)),h.length>0&&s.push(m(o,h)),f.length>0&&s.push(u(o,f)),E.length>0&&s.push(p(o,E));const a=await Promise.all(s);for(const e of a)e.error&&(b=!0)}else{if(g.length<1&&f.length<1)return void this.setState({formErrorText:T().createElement(N.FormattedMessage,{id:"admin.data_retention.custom_policy.form.teamsError",defaultMessage:"You must add a team or a channel to the policy."}),saving:!1});const t={display_name:e,post_duration:v,team_ids:g,channel_ids:f};(await this.props.actions.createDataRetentionCustomPolicy(t)).error&&(b=!0)}b?this.setState({serverError:!0,saving:!1}):(this.props.actions.setNavigationBlocked(!1),(0,fi.J)().push("/admin_console/compliance/data_retention_settings"))}else this.setState({inputErrorText:T().createElement(N.FormattedMessage,{id:"admin.data_retention.custom_policy.form.input.error",defaultMessage:"Policy name can't be blank."}),saving:!1})})),Ir(this,"render",(()=>{const{serverError:e,formErrorText:t}=this.state;return T().createElement("div",{className:"wrapper--fixed DataRetentionSettings"},T().createElement(et,{withBackButton:!0},T().createElement("div",null,T().createElement(ka.A,{to:"/admin_console/compliance/data_retention_settings",className:"fa fa-angle-left back"}),T().createElement(N.FormattedMessage,{id:"admin.data_retention.customTitle",defaultMessage:"Custom Retention Policy"}))),T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},T().createElement(mi,{expanded:!0,className:"console"},T().createElement(mi.Header,null,T().createElement(pi,{title:T().createElement(N.FormattedMessage,{id:"admin.data_retention.custom_policy.form.title",defaultMessage:"Name and retention"}),subtitle:T().createElement(N.FormattedMessage,{id:"admin.data_retention.custom_policy.form.subTitle",defaultMessage:"Give your policy a name and configure retention settings."})})),T().createElement(mi.Body,{expanded:!0},T().createElement("div",{className:"CustomPolicy__fields"},T().createElement(ln.A,{name:"policyName","aria-label":"Policy name",type:"text",value:this.state.policyName,onChange:e=>{this.setState({policyName:e.target.value,saveNeeded:!0}),this.props.actions.setNavigationBlocked(!0)},placeholder:Pr.policyName,customMessage:{type:x.Kw.ERROR,value:this.state.inputErrorText}}),T().createElement(Nr,{onDropdownChange:e=>{this.state.messageRetentionDropdownValue.value!==e.value&&(this.setState({messageRetentionDropdownValue:e,saveNeeded:!0}),this.props.actions.setNavigationBlocked(!0))},onInputChange:e=>{this.setState({messageRetentionInputValue:e.target.value,saveNeeded:!0}),this.props.actions.setNavigationBlocked(!0)},value:this.state.messageRetentionDropdownValue,inputValue:this.state.messageRetentionInputValue,width:95,exceptionToInput:[Vi],defaultValue:Zi(),options:[Qi(),Ji(),Zi()],legend:Pr.channelAndDirectMessageRetention,placeholder:Pr.channelAndDirectMessageRetention,inputType:"number",name:"message_retention",dropdownClassNamePrefix:"message_retention",inputId:"message_retention_input"})))),this.state.addTeamOpen&&T().createElement(Er,{onModalDismissed:this.closeAddTeam,onTeamsSelected:e=>{this.addToNewTeams(e)},modalID:"CUSTOM_POLICY_TEAMS",alreadySelected:Object.keys(this.state.newTeams),excludePolicyConstrained:!0}),T().createElement(mi,{expanded:!0,className:"console"},T().createElement(mi.Header,null,T().createElement(pi,{title:T().createElement(N.FormattedMessage,{id:"admin.data_retention.custom_policy.team_selector.title",defaultMessage:"Assigned teams"}),subtitle:T().createElement(N.FormattedMessage,{id:"admin.data_retention.custom_policy.team_selector.subTitle",defaultMessage:"Add teams that will follow this retention policy."}),buttonText:T().createElement(N.FormattedMessage,{id:"admin.data_retention.custom_policy.team_selector.addTeams",defaultMessage:"Add teams"}),onClick:this.openAddTeam})),T().createElement(mi.Body,{expanded:!0},T().createElement(ar,{onRemoveCallback:this.addToRemovedTeams,onAddCallback:this.addToNewTeams,teamsToRemove:this.state.removedTeams,teamsToAdd:this.state.newTeams,policyId:this.props.policyId}))),this.state.addChannelOpen&&T().createElement(ur,{onModalDismissed:this.closeAddChannel,onChannelsSelected:e=>{this.addToNewChannels(e)},groupID:"",alreadySelected:Object.keys(this.state.newChannels),excludePolicyConstrained:!0,excludeTeamIds:this.getTeamsToExclude()}),T().createElement(mi,{expanded:!0,className:"console"},T().createElement(mi.Header,null,T().createElement(pi,{title:T().createElement(N.FormattedMessage,{id:"admin.data_retention.custom_policy.channel_selector.title",defaultMessage:"Assigned channels"}),subtitle:T().createElement(N.FormattedMessage,{id:"admin.data_retention.custom_policy.channel_selector.subTitle",defaultMessage:"Add channels that will follow this retention policy."}),buttonText:T().createElement(N.FormattedMessage,{id:"admin.data_retention.custom_policy.channel_selector.addChannels",defaultMessage:"Add channels"}),onClick:this.openAddChannel})),T().createElement(mi.Body,{expanded:!0},T().createElement(Wi,{onRemoveCallback:this.addToRemovedChannels,onAddCallback:this.addToNewChannels,channelsToRemove:this.state.removedChannels,channelsToAdd:this.state.newChannels,policyId:this.props.policyId}))))),T().createElement("div",{className:"admin-console-save"},T().createElement($e.A,{saving:this.state.saving,disabled:!this.state.saveNeeded,onClick:this.handleSubmit,defaultMessage:T().createElement(N.FormattedMessage,{id:"admin.data_retention.custom_policy.save",defaultMessage:"Save"})}),T().createElement(ka.A,{className:"cancel-button",to:"/admin_console/compliance/data_retention_settings"},T().createElement(N.FormattedMessage,{id:"admin.data_retention.custom_policy.cancel",defaultMessage:"Cancel"})),e&&T().createElement("span",{className:"CustomPolicy__error"},T().createElement("i",{className:"icon icon-alert-outline"}),T().createElement(N.FormattedMessage,{id:"admin.data_retention.custom_policy.serverError",defaultMessage:"There are errors in the form above"})),t&&T().createElement("span",{className:"CustomPolicy__error"},T().createElement("i",{className:"icon icon-alert-outline"}),t)))})),this.state={policyName:"",addTeamOpen:!1,addChannelOpen:!1,messageRetentionInputValue:this.getMessageRetentionDefaultInputValue(),messageRetentionDropdownValue:this.getMessageRetentionDefaultDropdownValue(),removedTeamsCount:0,removedTeams:{},newTeams:{},removedChannelsCount:0,removedChannels:{},newChannels:{},saveNeeded:!1,saving:!1,serverError:!1,inputErrorText:"",formErrorText:""}}}Ir(Or,"propTypes",{policyId:L().string,teams:L().array,actions:L().shape({fetchPolicy:L().func.isRequired,fetchPolicyTeams:L().func.isRequired,createDataRetentionCustomPolicy:L().func.isRequired,updateDataRetentionCustomPolicy:L().func.isRequired,addDataRetentionCustomPolicyTeams:L().func.isRequired,removeDataRetentionCustomPolicyTeams:L().func.isRequired,addDataRetentionCustomPolicyChannels:L().func.isRequired,removeDataRetentionCustomPolicyChannels:L().func.isRequired,setNavigationBlocked:L().func.isRequired}).isRequired});const Pr=(0,N.defineMessages)({channelAndDirectMessageRetention:{id:"admin.data_retention.form.channelAndDirectMessageRetention",defaultMessage:"Channel & direct message retention"},policyName:{id:"admin.data_retention.custom_policy.form.input",defaultMessage:"Policy name"}}),kr=(0,a.connect)((function(){const e=(0,p.ax)();return(t,s)=>{const a=s.match.params.policy_id;return{policyId:a,policy:(0,d.eb)(t,a),teams:a?e(t,{policyId:a}):[]}}}),(function(e){return{actions:(0,n.bindActionCreators)({fetchPolicy:i.eb,fetchPolicyTeams:i.AF,createDataRetentionCustomPolicy:i.gj,updateDataRetentionCustomPolicy:i.Dq,addDataRetentionCustomPolicyTeams:i.jQ,removeDataRetentionCustomPolicyTeams:i.Wr,addDataRetentionCustomPolicyChannels:i.bg,removeDataRetentionCustomPolicyChannels:i.tg,setNavigationBlocked:h.Jb},e)}}))(Or);function xr(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class Dr extends T().PureComponent{constructor(e){super(e),xr(this,"getDefaultInputValue",((e,t)=>{if(!e||void 0===t)return"";const s=parseInt(t,10);return s%8760==0?(s/8760).toString():s%24==0?(s/24).toString():t.toString()})),xr(this,"getDefaultDropdownValue",((e,t)=>{if(!e||void 0===t)return Zi();const s=parseInt(t,10);return s%8760==0?Ji():s%24==0?Qi():Ki()})),xr(this,"handleSubmit",(async()=>{const{messageRetentionDropdownValue:e,messageRetentionInputValue:t,fileRetentionDropdownValue:s,fileRetentionInputValue:a}=this.state,n=JSON.parse(JSON.stringify(this.props.config));if(this.setState({saving:!0}),e.value!==Vi&&parseInt(t,10)<1||s.value!==Vi&&parseInt(a,10)<1)return void this.setState({formErrorText:T().createElement(N.FormattedMessage,{id:"admin.data_retention.global_policy.form.numberError",defaultMessage:"You must add a number greater than or equal to 1."}),saving:!1});n.DataRetentionSettings.EnableMessageDeletion=this.setDeletionEnabled(e.value),!this.isMessageRetentionSetByEnv()&&this.setDeletionEnabled(e.value)&&(n.DataRetentionSettings.MessageRetentionDays=0,n.DataRetentionSettings.MessageRetentionHours=this.setRetentionHours(e.value,t)),n.DataRetentionSettings.EnableFileDeletion=this.setDeletionEnabled(s.value),!this.isFileRetentionSetByEnv()&&this.setDeletionEnabled(s.value)&&(n.DataRetentionSettings.FileRetentionDays=0,n.DataRetentionSettings.FileRetentionHours=this.setRetentionHours(s.value,a));const{error:i}=await this.props.actions.patchConfig(n);i?this.setState({serverError:i.message,saving:!1}):(this.props.actions.setNavigationBlocked(!1),(0,fi.J)().push("/admin_console/compliance/data_retention_settings"))})),xr(this,"setDeletionEnabled",(e=>e!==Vi)),xr(this,"setRetentionHours",((e,t)=>e===zi?24*parseInt(t,10)*365:e===Yi?24*parseInt(t,10):parseInt(t,10))),xr(this,"isMessageRetentionSetByEnv",(()=>{var e,t,s,a,n,i,r,o,l;return(null===(e=this.props.environmentConfig)||void 0===e||null===(t=e.DataRetentionSettings)||void 0===t?void 0:t.MessageRetentionDays)&&(null===(s=this.props.config.DataRetentionSettings)||void 0===s?void 0:s.MessageRetentionDays)&&this.props.config.DataRetentionSettings.MessageRetentionDays>0||(null===(a=this.props.environmentConfig)||void 0===a||null===(n=a.DataRetentionSettings)||void 0===n?void 0:n.MessageRetentionHours)&&(null===(i=this.props.config.DataRetentionSettings)||void 0===i?void 0:i.MessageRetentionHours)&&this.props.config.DataRetentionSettings.MessageRetentionHours>0||(null===(r=this.props.environmentConfig)||void 0===r||null===(o=r.DataRetentionSettings)||void 0===o?void 0:o.EnableMessageDeletion)&&!(null!==(l=this.props.config.DataRetentionSettings)&&void 0!==l&&l.EnableMessageDeletion)})),xr(this,"isFileRetentionSetByEnv",(()=>{var e,t,s,a,n,i,r,o,l;return(null===(e=this.props.environmentConfig)||void 0===e||null===(t=e.DataRetentionSettings)||void 0===t?void 0:t.FileRetentionDays)&&(null===(s=this.props.config.DataRetentionSettings)||void 0===s?void 0:s.FileRetentionDays)&&this.props.config.DataRetentionSettings.FileRetentionDays>0||(null===(a=this.props.environmentConfig)||void 0===a||null===(n=a.DataRetentionSettings)||void 0===n?void 0:n.FileRetentionHours)&&(null===(i=this.props.config.DataRetentionSettings)||void 0===i?void 0:i.FileRetentionHours)&&this.props.config.DataRetentionSettings.FileRetentionHours>0||(null===(r=this.props.environmentConfig)||void 0===r||null===(o=r.DataRetentionSettings)||void 0===o?void 0:o.EnableFileDeletion)&&!(null!==(l=this.props.config.DataRetentionSettings)&&void 0!==l&&l.EnableFileDeletion)})),xr(this,"render",(()=>T().createElement("div",{className:"wrapper--fixed DataRetentionSettings"},T().createElement(et,{withBackButton:!0},T().createElement("div",null,T().createElement(ka.A,{to:"/admin_console/compliance/data_retention_settings",className:"fa fa-angle-left back"}),T().createElement(N.FormattedMessage,{id:"admin.data_retention.globalPolicyTitle",defaultMessage:"Global Retention Policy"}))),T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},T().createElement(mi,{expanded:!0,className:"console"},T().createElement(mi.Body,null,T().createElement("div",{className:"global_policy"},T().createElement("p",null,T().createElement(N.FormattedMessage,{id:"admin.data_retention.form.text",defaultMessage:"Applies to all teams and channels, but does not apply to custom retention policies."})),T().createElement("div",{id:"global_direct_message_dropdown"},T().createElement(Nr,{onDropdownChange:e=>{this.state.messageRetentionDropdownValue.value!==e.value&&(this.setState({messageRetentionDropdownValue:e,saveNeeded:!0}),this.props.actions.setNavigationBlocked(!0))},onInputChange:e=>{this.setState({messageRetentionInputValue:e.target.value,saveNeeded:!0}),this.props.actions.setNavigationBlocked(!0)},value:this.state.messageRetentionDropdownValue,inputValue:this.state.messageRetentionInputValue,width:90,exceptionToInput:[Vi],disabled:this.isMessageRetentionSetByEnv(),defaultValue:Zi(),options:[Ki(),Qi(),Ji(),Zi()],legend:Lr.channelAndMessageRetention,placeholder:Lr.channelAndMessageRetention,name:"channel_message_retention",inputType:"number",dropdownClassNamePrefix:"channel_message_retention_dropdown",inputId:"channel_message_retention_input"}),this.isMessageRetentionSetByEnv()&&T().createElement(U,null)),T().createElement("div",{id:"global_file_dropdown"},T().createElement(Nr,{onDropdownChange:e=>{this.state.fileRetentionDropdownValue.value!==e.value&&(this.setState({fileRetentionDropdownValue:e,saveNeeded:!0}),this.props.actions.setNavigationBlocked(!0))},onInputChange:e=>{this.setState({fileRetentionInputValue:e.target.value,saveNeeded:!0}),this.props.actions.setNavigationBlocked(!0)},value:this.state.fileRetentionDropdownValue,inputValue:this.state.fileRetentionInputValue,width:90,exceptionToInput:[Vi],disabled:this.isFileRetentionSetByEnv(),defaultValue:Zi(),options:[Ki(),Qi(),Ji(),Zi()],legend:Lr.fileRetention,placeholder:Lr.fileRetention,name:"file_retention",inputType:"number",dropdownClassNamePrefix:"file_retention_dropdown",inputId:"file_retention_input"}),this.isFileRetentionSetByEnv()&&T().createElement(U,null))))))),T().createElement("div",{className:"admin-console-save"},T().createElement($e.A,{saving:this.state.saving,disabled:!this.state.saveNeeded,onClick:this.handleSubmit,defaultMessage:T().createElement(N.FormattedMessage,{id:"admin.data_retention.custom_policy.save",defaultMessage:"Save"})}),T().createElement(ka.A,{className:"cancel-button",to:"/admin_console/compliance/data_retention_settings"},T().createElement(N.FormattedMessage,{id:"admin.data_retention.custom_policy.cancel",defaultMessage:"Cancel"})),this.state.serverError&&T().createElement("span",{className:"CustomPolicy__error"},T().createElement("i",{className:"icon icon-alert-outline"}),this.state.serverError),this.state.formErrorText&&T().createElement("span",{className:"CustomPolicy__error"},T().createElement("i",{className:"icon icon-alert-outline"}),this.state.formErrorText)))));const{DataRetentionSettings:t}=e.config;this.state={saveNeeded:!1,saving:!1,serverError:null,formErrorText:"",messageRetentionDropdownValue:this.getDefaultDropdownValue(null==t?void 0:t.EnableMessageDeletion,e.messageRetentionHours),messageRetentionInputValue:this.getDefaultInputValue(null==t?void 0:t.EnableMessageDeletion,e.messageRetentionHours),fileRetentionDropdownValue:this.getDefaultDropdownValue(null==t?void 0:t.EnableFileDeletion,e.fileRetentionHours),fileRetentionInputValue:this.getDefaultInputValue(null==t?void 0:t.EnableFileDeletion,e.fileRetentionHours)}}}xr(Dr,"propTypes",{actions:L().shape({patchConfig:L().func.isRequired,setNavigationBlocked:L().func.isRequired}).isRequired});const Lr=(0,N.defineMessages)({channelAndMessageRetention:{id:"admin.data_retention.form.channelAndDirectMessageRetention",defaultMessage:"Channel & direct message retention"},fileRetention:{id:"admin.data_retention.form.fileRetention",defaultMessage:"File retention"}}),Fr=(0,a.connect)((function(e){return{messageRetentionHours:(0,c.zj)(e).DataRetentionMessageRetentionHours,fileRetentionHours:(0,c.zj)(e).DataRetentionFileRetentionHours,environmentConfig:(0,d.Qq)(e)}}),(function(e){return{actions:(0,n.bindActionCreators)({patchConfig:i.tn,setNavigationBlocked:h.Jb},e)}}))(Dr),Br=e=>{let{createHelpText:t,className:s,actions:a}=e;const[n,i]=(0,_.useState)([]);(0,_.useEffect)((()=>{!async function(){const e=await a.getAppliedSchemaMigrations();e.data&&i(e.data)}()}),[]);const r=(0,_.useMemo)((()=>n.map((e=>T().createElement("tr",{key:e.version},T().createElement("td",{className:"whitespace--nowrap"},e.version),T().createElement("td",{className:"whitespace--nowrap"},e.name))))),[n]);return T().createElement("div",{className:re()("MigrationsTable","migrations-table__panel",s)},T().createElement("div",{className:"help-text"},t),T().createElement("div",{className:"migrations-table__table"},T().createElement("table",{className:"table","data-testid":"migrationsTable"},T().createElement("thead",null,T().createElement("tr",null,T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.database.migrations_table.version",defaultMessage:"Version"})),T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.database.migrations_table.name",defaultMessage:"Name"})))),T().createElement("tbody",null,r))))};Br.propTypes={createHelpText:L().element.isRequired,className:L().string,actions:L().shape({getAppliedSchemaMigrations:L().func.isRequired}).isRequired};const Hr=T().memo(Br),Ur=(0,a.connect)(null,(function(e){return{actions:(0,n.bindActionCreators)({getAppliedSchemaMigrations:i.s6},e)}}))(Hr);function Gr(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function jr(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?Gr(Object(s),!0).forEach((function(t){qr(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):Gr(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function qr(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const Wr=(0,N.defineMessages)({title:{id:"admin.database.title",defaultMessage:"Database Settings"},recycleDescription:{id:"admin.recycle.recycleDescription",defaultMessage:'Deployments using multiple databases can switch from one master database to another without restarting the Mattermost server by updating "config.json" to the new desired configuration and using the {reloadConfiguration} feature to load the new settings while the server is running. The administrator should then use {featureName} feature to recycle the database connections based on the new settings.'},featureName:{id:"admin.recycle.recycleDescription.featureName",defaultMessage:"Recycle Database Connections"},reloadConfiguration:{id:"admin.recycle.recycleDescription.reloadConfiguration",defaultMessage:"Environment > Web Server > Reload Configuration from Disk"},button:{id:"admin.recycle.button",defaultMessage:"Recycle Database Connections"},noteDescription:{id:"admin.sql.noteDescription",defaultMessage:"Changing properties in this section will require a server restart before taking effect."},disableDatabaseSearchTitle:{id:"admin.sql.disableDatabaseSearchTitle",defaultMessage:"Disable database search: "},disableDatabaseSearchDescription:{id:"admin.sql.disableDatabaseSearchDescription",defaultMessage:"Disables the use of the database to perform searches. Should only be used when other <link>search engines</link> are configured."},driverName:{id:"admin.sql.driverName",defaultMessage:"Driver Name:"},driverNameDescription:{id:"admin.sql.driverNameDescription",defaultMessage:"Set the database driver in the config.json file."},dataSource:{id:"admin.sql.dataSource",defaultMessage:"Data Source:"},dataSourceDescription:{id:"admin.sql.dataSourceDescription",defaultMessage:"Set the database source in the config.json file."},maxConnectionsTitle:{id:"admin.sql.maxConnectionsTitle",defaultMessage:"Maximum Idle Connections:"},maxConnectionsDescription:{id:"admin.sql.maxConnectionsDescription",defaultMessage:"Maximum number of idle connections held open to the database."},maxOpenTitle:{id:"admin.sql.maxOpenTitle",defaultMessage:"Maximum Open Connections:"},maxOpenDescription:{id:"admin.sql.maxOpenDescription",defaultMessage:"Maximum number of open connections held open to the database."},queryTimeoutTitle:{id:"admin.sql.queryTimeoutTitle",defaultMessage:"Query Timeout:"},queryTimeoutDescription:{id:"admin.sql.queryTimeoutDescription",defaultMessage:"The number of seconds to wait for a response from the database after opening a connection and sending the query. Errors that you see in the UI or in the logs as a result of a query timeout can vary depending on the type of query."},connMaxLifetimeTitle:{id:"admin.sql.connMaxLifetimeTitle",defaultMessage:"Maximum Connection Lifetime:"},connMaxLifetimeDescription:{id:"admin.sql.connMaxLifetimeDescription",defaultMessage:"Maximum lifetime for a connection to the database in milliseconds."},connMaxIdleTimeTitle:{id:"admin.sql.connMaxIdleTimeTitle",defaultMessage:"Maximum Connection Idle Time:"},connMaxIdleTimeDescription:{id:"admin.sql.connMaxIdleTimeDescription",defaultMessage:"Maximum idle time for a connection to the database in milliseconds."},minimumHashtagLengthTitle:{id:"admin.service.minimumHashtagLengthTitle",defaultMessage:"Minimum Hashtag Length:"},minimumHashtagLengthDescription:{id:"admin.service.minimumHashtagLengthDescription",defaultMessage:"Minimum number of characters in a hashtag. This must be greater than or equal to 2. MySQL databases must be configured to support searching strings shorter than three characters, <link>see documentation</link>."},traceTitle:{id:"admin.sql.traceTitle",defaultMessage:"SQL Statement Logging: "},traceDescription:{id:"admin.sql.traceDescription",defaultMessage:"(Development Mode) When true, executing SQL statements are written to the log."}}),Vr=[Wr.title,[Wr.recycleDescription,{featureName:"",reloadConfiguration:""}],Wr.featureName,Wr.reloadConfiguration,Wr.button,Wr.noteDescription,Wr.disableDatabaseSearchTitle,Wr.disableDatabaseSearchDescription,Wr.driverName,Wr.driverNameDescription,Wr.dataSource,Wr.dataSourceDescription,Wr.maxConnectionsTitle,Wr.maxConnectionsDescription,Wr.maxOpenTitle,Wr.maxOpenDescription,Wr.queryTimeoutTitle,Wr.queryTimeoutDescription,Wr.connMaxLifetimeTitle,Wr.connMaxLifetimeDescription,Wr.connMaxIdleTimeTitle,Wr.connMaxIdleTimeDescription,Wr.traceTitle,Wr.traceDescription];function zr(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const Yr=(0,N.defineMessages)({title:{id:"admin.elasticsearch.title",defaultMessage:"Elasticsearch"},enableIndexingTitle:{id:"admin.elasticsearch.enableIndexingTitle",defaultMessage:"Enable Elasticsearch Indexing:"},enableIndexingDescription:{id:"admin.elasticsearch.enableIndexingDescription",defaultMessage:'When true, indexing of new posts occurs automatically. Search queries will use database search until "Enable Elasticsearch for search queries" is enabled. <link>Learn more about Elasticsearch in our documentation.</link>'},connectionUrlTitle:{id:"admin.elasticsearch.connectionUrlTitle",defaultMessage:"Server Connection Address:"},connectionUrlDescription:{id:"admin.elasticsearch.connectionUrlDescription",defaultMessage:"The address of the Elasticsearch server. <link>Please see documentation with server setup instructions.</link>"},skipTLSVerificationTitle:{id:"admin.elasticsearch.skipTLSVerificationTitle",defaultMessage:"Skip TLS Verification:"},skipTLSVerificationDescription:{id:"admin.elasticsearch.skipTLSVerificationDescription",defaultMessage:"When true, Mattermost will not require the Elasticsearch certificate to be signed by a trusted Certificate Authority."},usernameTitle:{id:"admin.elasticsearch.usernameTitle",defaultMessage:"Server Username:"},usernameDescription:{id:"admin.elasticsearch.usernameDescription",defaultMessage:"(Optional) The username to authenticate to the Elasticsearch server."},passwordTitle:{id:"admin.elasticsearch.passwordTitle",defaultMessage:"Server Password:"},passwordDescription:{id:"admin.elasticsearch.passwordDescription",defaultMessage:"(Optional) The password to authenticate to the Elasticsearch server."},sniffTitle:{id:"admin.elasticsearch.sniffTitle",defaultMessage:"Enable Cluster Sniffing:"},sniffDescription:{id:"admin.elasticsearch.sniffDescription",defaultMessage:"When true, sniffing finds and connects to all data nodes in your cluster automatically."},testHelpText:{id:"admin.elasticsearch.testHelpText",defaultMessage:'Tests if the Mattermost server can connect to the Elasticsearch server specified. Testing the connection only saves the configuration if the test is successful. A successful test will also re-initialize the client if you have started Elasticsearch after starting Mattermost. But this will not restart the workers. To do that, please toggle "Enable Elasticsearch Indexing".'},elasticsearch_test_button:{id:"admin.elasticsearch.elasticsearch_test_button",defaultMessage:"Test Connection"},bulkIndexingTitle:{id:"admin.elasticsearch.bulkIndexingTitle",defaultMessage:"Bulk Indexing:"},help:{id:"admin.elasticsearch.createJob.help",defaultMessage:"All users, channels and posts in the database will be indexed from oldest to newest. Elasticsearch is available during indexing but search results may be incomplete until the indexing job is complete."},rebuildChannelsIndexTitle:{id:"admin.elasticsearch.rebuildChannelsIndexTitle",defaultMessage:"Rebuild Channels Index"},rebuildChannelIndexHelpText:{id:"admin.elasticsearch.rebuildChannelsIndex.helpText",defaultMessage:"This purges the channels index and re-indexes all channels in the database, from oldest to newest. Channel autocomplete is available during indexing but search results may be incomplete until the indexing job is complete.\n<b>Note- Please ensure no other indexing job is in progress in the table above.</b>"},rebuildChannelsIndexButtonText:{id:"admin.elasticsearch.rebuildChannelsIndex.title",defaultMessage:"Rebuild Channels Index"},purgeIndexesHelpText:{id:"admin.elasticsearch.purgeIndexesHelpText",defaultMessage:"Purging will entirely remove the indexes on the Elasticsearch server. Search results may be incomplete until a bulk index of the existing database is rebuilt."},purgeIndexesButton:{id:"admin.elasticsearch.purgeIndexesButton",defaultMessage:"Purge Index"},label:{id:"admin.elasticsearch.purgeIndexesButton.label",defaultMessage:"Purge Indexes:"},enableSearchingTitle:{id:"admin.elasticsearch.enableSearchingTitle",defaultMessage:"Enable Elasticsearch for search queries:"},enableSearchingDescription:{id:"admin.elasticsearch.enableSearchingDescription",defaultMessage:"Requires a successful connection to the Elasticsearch server. When true, Elasticsearch will be used for all search queries using the latest index. Search results may be incomplete until a bulk index of the existing post database is finished. When false, database search is used."}}),Zr=[[Yr.connectionUrlDescription,{documentationLink:""}],[Yr.enableIndexingDescription,{documentationLink:""}],Yr.title,Yr.enableIndexingTitle,Yr.connectionUrlTitle,Yr.skipTLSVerificationTitle,Yr.skipTLSVerificationDescription,Yr.usernameTitle,Yr.usernameDescription,Yr.passwordTitle,Yr.passwordDescription,Yr.sniffTitle,Yr.sniffDescription,Yr.testHelpText,Yr.elasticsearch_test_button,Yr.bulkIndexingTitle,Yr.help,Yr.purgeIndexesHelpText,Yr.purgeIndexesButton,Yr.label,Yr.enableSearchingTitle,Yr.enableSearchingDescription],Jr=e=>T().createElement("svg",{width:e.width?e.width.toString():"184",height:e.height?e.height.toString():"113",viewBox:"0 0 184 113",fill:"none",xmlns:"http://www.w3.org/2000/svg"},T().createElement("rect",{x:"2.745",y:"15",width:"181",height:"78",rx:"5.625",fill:"var(--center-channel-color)",fillOpacity:"0.12"}),T().createElement("path",{d:"M11.4834 28L16.9999 33.5618V59L172 59L172 68",stroke:"var(--center-channel-color)",strokeOpacity:"0.24",strokeLinecap:"round"}),T().createElement("circle",{cx:"2.5",cy:"2.5",r:"2.5",transform:"matrix(1 0 0 -1 7 29)",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("path",{d:"M59.1304 15H126.87L131 108H55L59.1304 15Z",fill:"var(--center-channel-color)",fillOpacity:"0.24"}),T().createElement("rect",{width:"92",height:"5",transform:"matrix(1 0 0 -1 47 113)",fill:"var(--center-channel-color)",fillOpacity:"0.4"}),T().createElement("rect",{x:"27",y:"9",width:"131",height:"86",rx:"4",fill:"var(--center-channel-bg)",stroke:"var(--center-channel-color)",strokeWidth:"4"}),T().createElement("circle",{cx:"87.9995",cy:"41.0007",r:"5",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("path",{d:"M95.9995 41.0007H149.056",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("path",{d:"M95.9995 45.0007H149.056",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("path",{d:"M95.9995 37.0007H109.175",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("circle",{cx:"87.9995",cy:"60.0005",r:"5",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("path",{d:"M95.9995 60.0005H149.056",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("path",{d:"M95.9995 64.0005H149.056",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("path",{d:"M95.9995 56.0005H109.175",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("circle",{cx:"87.9995",cy:"79.0003",r:"5",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("path",{d:"M95.9995 79.0003H149.056",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("path",{d:"M95.9995 83.0003H149.056",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("path",{d:"M95.9995 75.0003H109.175",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("rect",{x:"31",y:"13",width:"46",height:"78",fill:"#1C58D9",fillOpacity:"0.16"}),T().createElement("path",{d:"M46.8109 20.0273L63.5002 20.0273",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("path",{d:"M46.8109 22.6628L56.4732 22.6628",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("circle",{cx:"38.5092",cy:"20.5105",r:"4.34771",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("circle",{cx:"36.4795",cy:"36.1602",r:"2",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("path",{d:"M42.4189 36.1602H67.0137",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("circle",{cx:"36.4795",cy:"43.1602",r:"2",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("path",{d:"M42.4189 43.1602H61.7434",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("circle",{cx:"36.4795",cy:"51.1602",r:"2",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("path",{d:"M42.4189 51.1602H69.6489",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("circle",{cx:"36.4795",cy:"58.1602",r:"2",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("path",{d:"M42.4189 58.1602H67.0137",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("circle",{cx:"36.4795",cy:"65.1602",r:"2",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("path",{d:"M42.4189 65.1602H61.7434",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("circle",{cx:"36.4795",cy:"72.1602",r:"2",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("path",{d:"M42.4189 72.1602H69.6489",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("path",{d:"M147 101.5H119.5",stroke:"var(--center-channel-color)",strokeLinecap:"round",strokeLinejoin:"round"}),T().createElement("path",{d:"M116 101.5H110",stroke:"var(--center-channel-color)",strokeLinecap:"round"}),T().createElement("path",{d:"M107 101.5H101",stroke:"var(--center-channel-color)",strokeLinecap:"round"}),T().createElement("path",{d:"M29 13C29 11.8954 29.8954 11 31 11H154C155.105 11 156 11.8954 156 13V30H29V13Z",fill:"#28427B"}),T().createElement("path",{d:"M50 18H74.5948",stroke:"var(--neutral-0)",strokeLinecap:"round"}),T().createElement("path",{d:"M50 22H131",stroke:"var(--neutral-0)",strokeLinecap:"round"}),T().createElement("circle",{cx:"39.5",cy:"20.5",r:"5",stroke:"var(--neutral-0)"}),T().createElement("line",{x1:"39.5",y1:"20",x2:"39.5",y2:"23",stroke:"var(--neutral-0)"}),T().createElement("line",{x1:"39.5",y1:"20",x2:"39.5",y2:"23",stroke:"var(--neutral-0)"}),T().createElement("line",{x1:"39.5",y1:"18",x2:"39.5",y2:"19",stroke:"white"}),T().createElement("circle",{cx:"172",cy:"84",r:"2",transform:"rotate(-90 172 84)",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("circle",{cx:"172",cy:"78",r:"2",transform:"rotate(-90 172 78)",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("circle",{cx:"172",cy:"72",r:"2",transform:"rotate(-90 172 72)",fill:"var(--center-channel-color)",fillOpacity:"0.32"}));Jr.propTypes={width:L().number,height:L().number};const Qr=Jr;var Kr=s(28458),Xr=s(57932),$r=s(85866);const eo=()=>T().createElement(N.FormattedMessage,{id:"admin.license.trial-request.embargoed",defaultMessage:"We were unable to process the request due to limitations for embargoed countries. <link>Learn more in our documentation</link>, or reach out to legal@mattermost.com for questions around export limitations.",values:{link:e=>T().createElement(ce.A,{location:"trial_banner",href:x.vx.EMBARGOED_COUNTRIES},e)}});var to=function(e){return e.NotStarted="NOT_STARTED",e.Started="STARTED",e.Success="SUCCESS",e.Failed="FAILED",e.Embargoed="EMBARGOED",e}(to||{});const so=(ao=e=>{let t,s,n,i,{isDisabled:r,gettingTrialError:o,gettingTrialResponseCode:l,gettingTrial:d,enterpriseReady:c,upgradingPercentage:u,handleUpgrade:p,upgradeError:h,restartError:f,handleRestart:E,restarting:b,openEEModal:v,openTrialForm:M}=e;const{formatMessage:y}=(0,N.useIntl)(),S=(0,a.useSelector)((e=>(0,m.Jz)(e,x.pm.UNIQUE,x.Ew.REQUEST_TRIAL_AFTER_SERVER_UPGRADE))),A=(0,a.useSelector)((e=>(0,m.Jz)(e,x.pm.UNIQUE,x.Ew.CLICKED_UPGRADE_AND_TRIAL_BTN))),C=(0,a.useSelector)((e=>(0,g.WR)(e))),[R,w]=(0,_.useState)(to.NotStarted),I=(0,a.useDispatch)(),O=()=>{M&&M({trackingLocation:"license_settings.trial_banner"})};(0,_.useEffect)((()=>{100===u&&A&&(b||async function(){await P(),E()}())}),[u,A]),(0,_.useEffect)((()=>{d&&!o&&200!==l?w(to.Started):o?w(to.Failed):451===l&&w(to.Embargoed)}),[d,o,l]),(0,_.useEffect)((()=>{if(S&&A&&0===u){const e=x.pm.UNIQUE,t=x.Ew.REQUEST_TRIAL_AFTER_SERVER_UPGRADE,s=x.Ew.CLICKED_UPGRADE_AND_TRIAL_BTN;I((0,fa.SF)(C,[{category:e,name:t,user_id:C,value:""},{category:e,name:s,user_id:C,value:""}])),O()}}),[S,A]);const P=()=>{const e=x.pm.UNIQUE,t=x.Ew.REQUEST_TRIAL_AFTER_SERVER_UPGRADE;I((0,fa.SF)(C,[{category:e,name:t,user_id:C,value:"true"}]))},k=T().createElement("a",{role:"button",onClick:v},T().createElement(N.FormattedMessage,{id:"admin.license.enterprise.upgrade.eeLicenseLink",defaultMessage:"Enterprise Edition License"}));return c&&!S?(o&&(i=451===l?T().createElement("div",{className:"trial-error"},T().createElement(eo,null)):T().createElement("p",{className:"trial-error"},T().createElement(N.FormattedMessage,{id:"admin.trial_banner.trial-request.error",defaultMessage:"Trial license could not be retrieved. Visit <link>{trialInfoLink}</link> to request a license.",values:{link:e=>T().createElement(ce.A,{location:"trial_banner",href:x.vx.TRIAL_INFO_LINK},e),trialInfoLink:x.vx.TRIAL_INFO_LINK}}))),t=T().createElement("button",{type:"button",className:"btn btn-primary",onClick:O,disabled:r||null!==o||451===l},(e=>{switch(e){case to.Started:return y({id:"start_trial.modal.gettingTrial",defaultMessage:"Getting Trial..."});case to.Success:return y({id:"start_trial.modal.loaded",defaultMessage:"Loaded!"});case to.Failed:return y({id:"start_trial.modal.failed",defaultMessage:"Failed"});case to.Embargoed:return y({id:"admin.license.trial-request.embargoed",defaultMessage:"We were unable to process the request due to limitations for embargoed countries. <link>Learn more in our documentation</link>, or reach out to legal@mattermost.com for questions around export limitations."},{link:e=>T().createElement(ce.A,{location:"trial_banner",href:x.vx.EMBARGOED_COUNTRIES},e)});default:return y({id:"admin.license.trial-request.startTrial",defaultMessage:"Start trial"})}})(R)),n=T().createElement(T().Fragment,null,T().createElement(N.FormattedMessage,{id:"admin.license.trial-request.title",defaultMessage:"Experience Mattermost Enterprise Edition for free for the next 30 days. No obligation to buy or credit card required. "}),T().createElement(N.FormattedMessage,{id:"admin.license.trial-request.accept-terms",defaultMessage:"By clicking <strong>Start trial</strong>, I agree to the <linkEvaluation>Mattermost Software and Services License Agreement</linkEvaluation>, <linkPrivacy>Privacy Policy</linkPrivacy>, and receiving product emails.",values:{strong:e=>T().createElement("strong",null,e),linkEvaluation:e=>T().createElement(ce.A,{href:x.vx.SOFTWARE_SERVICES_LICENSE_AGREEMENT,location:"trial_banner"},e),linkPrivacy:e=>T().createElement(ce.A,{href:x.L0.PRIVACY_POLICY,location:"trial_banner"},e)}})),s=null):(i=null,t=T().createElement("button",{type:"button",onClick:()=>{if(!p)return;p();const e=x.pm.UNIQUE,t=x.Ew.CLICKED_UPGRADE_AND_TRIAL_BTN;I((0,fa.SF)(C,[{category:e,name:t,user_id:C,value:"true"}]))},className:"btn btn-primary"},T().createElement(Oe.A,{loading:u>0,text:100===u&&b?T().createElement(N.FormattedMessage,{id:"admin.license.enterprise.restarting",defaultMessage:"Restarting"}):T().createElement(N.FormattedMessage,{id:"admin.license.enterprise.upgrading",defaultMessage:"Upgrading {percentage}%",values:{percentage:u}})},T().createElement(N.FormattedMessage,{id:"admin.license.trialUpgradeAndRequest.submit",defaultMessage:"Upgrade Server And Start trial"}))),n=T().createElement(T().Fragment,null,T().createElement(N.FormattedMessage,{id:"admin.license.upgrade-and-trial-request.title",defaultMessage:"Upgrade to Enterprise Edition and Experience Mattermost Enterprise Edition for free for the next 30 days. No obligation to buy or credit card required. "})),s=T().createElement(T().Fragment,null,T().createElement("p",{className:"upgrade-legal-terms"},T().createElement(N.FormattedMessage,{id:"admin.license.upgrade-and-trial-request.accept-terms-initial-part",defaultMessage:"By selecting <strong>Upgrade Server And Start trial</strong>, I agree to the <linkEvaluation>Mattermost Software and Services License Agreement</linkEvaluation>, <linkPrivacy>Privacy Policy</linkPrivacy>, and receiving product emails. ",values:{strong:e=>T().createElement("strong",null,e),linkEvaluation:e=>T().createElement(ce.A,{href:x.vx.SOFTWARE_SERVICES_LICENSE_AGREEMENT,location:"trial_banner"},e),linkPrivacy:e=>T().createElement(ce.A,{href:x.L0.PRIVACY_POLICY,location:"trial_banner"},e)}}),T().createElement(N.FormattedMessage,{id:"admin.license.upgrade-and-trial-request.accept-terms-final-part",defaultMessage:"Also, I agree to the terms of the Mattermost {eeModalTerms}. Upgrading will download the binary and update your Team Edition instance.",values:{eeModalTerms:k}})),h&&T().createElement("div",{className:"upgrade-error"},T().createElement("div",{className:"form-group has-error"},T().createElement("div",{className:"as-bs-label control-label",dangerouslySetInnerHTML:{__html:(0,$r.GP)(h)}}))),f&&T().createElement("div",{className:"upgrade-error"},T().createElement("div",{className:"form-group has-error"},T().createElement("div",{className:"as-bs-label control-label"},f))))),T().createElement(ba.A,{mode:"info",title:T().createElement(N.FormattedMessage,{id:"licensingPage.infoBanner.startTrialTitle",defaultMessage:"Free 30 day trial!"}),message:T().createElement("div",{className:"banner-start-trial"},T().createElement("p",{className:"license-trial-legal-terms"},n),T().createElement("div",{className:"trial"},t),s,i)})},e=>{const t=(0,Xr.A)();return T().createElement(ao,Object.assign({openTrialForm:t},e))});var ao,no=s(73436),io=s(12895),ro=s(33113);function oo(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class lo extends T().PureComponent{constructor(e){super(e),oo(this,"contactSalesFunc",(()=>{const{customer:e,isCloud:t}=this.props,s=(null==e?void 0:e.email)||"",a=(null==e?void 0:e.contact_first_name)||"",n=(null==e?void 0:e.contact_last_name)||"",i=(null==e?void 0:e.name)||"",r=t?"in-product-cloud":"in-product";(0,ro.gc)(a,n,i,s,"mattermost",r)})),oo(this,"renderPostTrialCta",(()=>{const{minimumSKURequiredForFeature:e,learnMoreURL:t}=this.props;return e===x.gS.Enterprise?T().createElement("div",{className:"purchase-card"},T().createElement("button",{className:"btn btn-primary","data-testid":"featureDiscovery_primaryCallToAction",onClick:()=>{(0,I.sx)(x.xm.SELF_HOSTED_ADMIN,"click_enterprise_contact_sales_feature_discovery"),this.contactSalesFunc()}},T().createElement(N.FormattedMessage,{id:"admin.ldap_feature_discovery_cloud.call_to_action.primary_sales",defaultMessage:"Contact sales"})),T().createElement(ce.A,{location:"feature_discovery",className:"btn btn-secondary",href:t,"data-testid":"featureDiscovery_secondaryCallToAction"},T().createElement(N.FormattedMessage,{id:"admin.ldap_feature_discovery.call_to_action.secondary",defaultMessage:"Learn more"}))):T().createElement("div",{className:"purchase-card"},T().createElement(T().Fragment,null,T().createElement(no.A,{eventID:"post_trial_purchase_license",buttonTextElement:T().createElement(N.FormattedMessage,{id:"admin.license.trialCard.purchase_license",defaultMessage:"Purchase a license"})})))})),oo(this,"renderStartTrial",((e,t)=>{const{isCloud:s}=this.props;let a=T().createElement(io.A,{telemetryId:"start_self_hosted_trial_from_".concat(this.props.featureName),btnClass:"btn btn-primary",renderAsButton:!0,trackingPage:this.props.featureName});return s&&(a=T().createElement("button",{className:"btn btn-primary","data-testid":"featureDiscovery_primaryCallToAction",onClick:()=>{(0,I.sx)(x.xm.CLOUD_ADMIN,"click_enterprise_contact_sales_feature_discovery"),this.contactSalesFunc()}},T().createElement(N.FormattedMessage,{id:"admin.ldap_feature_discovery_cloud.call_to_action.primary_sales",defaultMessage:"Contact sales"}))),T().createElement(T().Fragment,null,a,T().createElement(ce.A,{location:"feature_discovery",className:"btn btn-secondary",href:e,"data-testid":"featureDiscovery_secondaryCallToAction"},T().createElement(N.FormattedMessage,{id:"admin.ldap_feature_discovery.call_to_action.secondary",defaultMessage:"Learn more"})),t,!this.props.isCloud&&T().createElement("p",{className:"trial-legal-terms"},T().createElement(N.FormattedMessage,{id:"admin.feature_discovery.trial-request.accept-terms",defaultMessage:"By clicking <highlight>Start trial</highlight>, I agree to the <linkEvaluation>Mattermost Software and Services License Agreement</linkEvaluation>, <linkPrivacy>Privacy Policy</linkPrivacy> and receiving product emails.",values:{highlight:e=>T().createElement("strong",null,e),linkEvaluation:e=>T().createElement(ce.A,{location:"feature_discovery",href:x.vx.SOFTWARE_SERVICES_LICENSE_AGREEMENT},e),linkPrivacy:e=>T().createElement(ce.A,{location:"feature_discovery",href:x.L0.PRIVACY_POLICY},e)}})))})),this.state={gettingTrial:!1,gettingTrialError:null,gettingTrialResponseCode:null}}componentDidMount(){this.props.actions.getPrevTrialLicense()}render(){var e;const{title:t,copy:s,learnMoreURL:a,featureDiscoveryImage:n,isCloud:i,isCloudTrial:r,isSubscriptionLoaded:o}=this.props;if(i&&!o)return T().createElement($s.A,null);let l="";return this.state.gettingTrialError&&451===this.state.gettingTrialResponseCode?l=T().createElement("p",{className:"trial-error"},T().createElement(eo,null)):this.state.gettingTrialError&&(l=T().createElement("p",{className:"trial-error"},T().createElement(N.FormattedMessage,{id:"admin.feature_discovery.trial-request.error",defaultMessage:"Trial license could not be retrieved. Visit <link>{trialInfoLink}</link> to request a license.",values:{link:e=>T().createElement(ce.A,{location:"feature_discovery",href:x.vx.TRIAL_INFO_LINK},e),trialInfoLink:x.vx.TRIAL_INFO_LINK}}))),i&&r&&o?T().createElement("div",{className:"FeatureDiscovery"},T().createElement(ba.A,{mode:"info",title:T().createElement(N.FormattedMessage,{id:"admin.featureDiscovery.WarningTitle",defaultMessage:"Your trial has started and updates are being made to your license."}),message:T().createElement(T().Fragment,null,T().createElement(N.FormattedMessage,{id:"admin.featureDiscovery.WarningDescription",defaultMessage:"Your License is being updated to give you full access to all the Enterprise Features. This page will automatically refresh once the license update is complete. Please wait "}),T().createElement($s.A,null))})):T().createElement("div",{className:"FeatureDiscovery"},T().createElement("div",{className:"FeatureDiscovery_copyWrapper"},T().createElement("div",{className:"FeatureDiscovery_title","data-testid":"featureDiscovery_title"},T().createElement(N.FormattedMessage,t)),T().createElement("div",{className:"FeatureDiscovery_copy"},T().createElement(N.FormattedMessage,s)),"true"===(null===(e=this.props.prevTrialLicense)||void 0===e?void 0:e.IsLicensed)?this.renderPostTrialCta():this.renderStartTrial(a,l)),T().createElement("div",{className:"FeatureDiscovery_imageWrapper"},n))}}oo(lo,"propTypes",{featureName:L().string.isRequired,learnMoreURL:L().string.isRequired,featureDiscoveryImage:L().element.isRequired,actions:L().shape({getPrevTrialLicense:L().func.isRequired,getCloudSubscription:L().func.isRequired,openModal:L().func.isRequired}).isRequired,isCloud:L().bool.isRequired,isCloudTrial:L().bool.isRequired,hadPrevCloudTrial:L().bool.isRequired,isSubscriptionLoaded:L().bool.isRequired,isPaidSubscription:L().bool.isRequired});const co=(0,Kr.A)((0,a.connect)((function(e){const t=e.entities.cloud.subscription,s=(0,c.Ay)(e),a=(0,Cs.P3)(s),n=(0,P.gh)(e),i="true"===(null==t?void 0:t.is_free_trial),r=(0,P.wX)(e);return{stats:e.entities.admin.analytics,prevTrialLicense:e.entities.admin.prevTrialLicense,isCloud:a,isCloudTrial:i,isSubscriptionLoaded:null!=t,hadPrevCloudTrial:n,isPaidSubscription:a&&(null==s?void 0:s.SkuShortName)!==x.gS.Starter&&!i,customer:r}}),(function(e){return{actions:(0,n.bindActionCreators)({getPrevTrialLicense:i.fr,getCloudSubscription:Zs.dw,openModal:ea.q},e)}}))(lo)),mo=e=>T().createElement("svg",{width:e.width?e.width.toString():"189",height:e.height?e.height.toString():"116",viewBox:"0 0 186 116",fill:"none",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},T().createElement("g",{clipPath:"url(#clip0_4441_159184)"},T().createElement("rect",{x:"0.745117",y:"17",width:"181",height:"78",rx:"5.625",fill:"var(--center-channel-color)",fillOpacity:"0.12"}),T().createElement("path",{d:"M9.5 30L15 35.5V74.5H172.5V103.5",stroke:"var(--center-channel-color)",strokeLinecap:"round"}),T().createElement("circle",{cx:"2.5",cy:"2.5",r:"2.5",transform:"matrix(1 0 0 -1 170 107)",fill:"var(--center-channel-color)"}),T().createElement("circle",{cx:"2.5",cy:"2.5",r:"2.5",transform:"matrix(1 0 0 -1 6 31)",fill:"var(--center-channel-color)"}),T().createElement("rect",{x:"25",y:"11",width:"131",height:"86",rx:"4",fill:"var(--center-channel-bg)",stroke:"var(--center-channel-color)",strokeWidth:"4"}),T().createElement("rect",{x:"29",y:"15",width:"46",height:"78",fill:"var(--button-bg)",fillOpacity:"0.16"}),T().createElement("path",{d:"M44.8109 22.0273L61.5002 22.0273",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("path",{d:"M44.8109 24.6628L54.4732 24.6628",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("path",{d:"M33.392 33.4453H46.5678",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("circle",{cx:"36.5092",cy:"22.5105",r:"4.34771",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("circle",{cx:"34.4795",cy:"38.1602",r:"2",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("path",{d:"M40.4189 38.1602H65.0137",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("circle",{cx:"34.4795",cy:"45.1602",r:"2",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("path",{d:"M40.4189 45.1602H59.7434",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("circle",{cx:"34.4795",cy:"53.1602",r:"2",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("path",{d:"M40.4189 53.1602H67.6489",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("circle",{cx:"34.4795",cy:"60.1602",r:"2",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("path",{d:"M40.4189 60.1602H65.0137",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("circle",{cx:"34.4795",cy:"67.1602",r:"2",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("path",{d:"M40.4189 67.1602H59.7434",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("circle",{cx:"34.4795",cy:"74.1602",r:"2",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("path",{d:"M40.4189 74.1602H67.6489",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("path",{d:"M145 103.5H117.5",stroke:"var(--center-channel-color)",strokeLinecap:"round",strokeLinejoin:"round"}),T().createElement("path",{d:"M114 103.5H108",stroke:"var(--center-channel-color)",strokeLinecap:"round"}),T().createElement("path",{d:"M105 103.5H99",stroke:"var(--center-channel-color)",strokeLinecap:"round"}),T().createElement("path",{d:"M158.5 61C174.24 61 187 48.2401 187 32.5C187 16.7599 174.24 4 158.5 4C142.76 4 130 16.7599 130 32.5C130 48.2401 142.76 61 158.5 61Z",fill:"var(--neutral-1200)",fillOpacity:"0.24"}),T().createElement("path",{d:"M158.5 57C174.24 57 187 44.2401 187 28.5C187 12.7599 174.24 0 158.5 0C142.76 0 130 12.7599 130 28.5C130 44.2401 142.76 57 158.5 57Z",fill:"var(--indigo-400)"}),T().createElement("path",{d:"M158.5 36V13M158.5 13L149 22.8305M158.5 13L168 22.8305",stroke:"var(--center-channel-bg)",strokeLinecap:"round"}),T().createElement("path",{d:"M146 33V42H171V33",stroke:"var(--center-channel-bg)",strokeLinecap:"round"}),T().createElement("rect",{x:"62",y:"34",width:"67",height:"82",rx:"2",fill:"var(--neutral-1200",fillOpacity:"0.24"}),T().createElement("rect",{x:"55",y:"21",width:"70.3182",height:"91",rx:"2",fill:"var(--center-channel-bg)"}),T().createElement("rect",{x:"55.5",y:"21.5",width:"69.3182",height:"90",rx:"1.5",stroke:"var(--center-channel-color)",strokeOpacity:"0.8"}),T().createElement("path",{d:"M65 30H77",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M64 76H97",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M64 94H103",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M65 35H87",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M64 82H115",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M64 100H115",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M65 41H74",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M64 88H83",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M76 41H85",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M88 88H100",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"})),T().createElement("defs",null,T().createElement("clipPath",{id:"clip0_4441_159184"},T().createElement("rect",{width:"189",height:"116",fill:"var(--center-channel-bg)"}))));mo.propTypes={width:L().number,height:L().number};const uo=mo,po=e=>T().createElement("svg",{width:e.width?e.width.toString():"193",height:e.height?e.height.toString():"111",viewBox:"0 0 193 111",fill:"none",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},T().createElement("rect",{x:"193",y:"27",width:"66",height:"193",rx:"2",transform:"rotate(90 193 27)",fill:"var(--center-channel-color)",fillOpacity:"0.16"}),T().createElement("path",{d:"M10 45L10 53.7097L166.84 53.7097L166.84 63L182 63",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("path",{d:"M19.0974 76.51L19.0974 60.445L34.8649 60.445",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("ellipse",{cx:"1.5",cy:"1.5",rx:"1.5",ry:"1.5",transform:"matrix(1 8.74228e-08 8.74228e-08 -1 8.5 45)",fill:"var(--center-channel-color)",fillOpacity:"0.56"}),T().createElement("ellipse",{cx:"1.4875",cy:"1.4875",rx:"1.4875",ry:"1.4875",transform:"matrix(1 8.74228e-08 8.74228e-08 -1 17.61 79.485)",fill:"var(--center-channel-color)",fillOpacity:"0.56"}),T().createElement("ellipse",{cx:"1.4875",cy:"1.4875",rx:"1.4875",ry:"1.4875",transform:"matrix(1 8.74228e-08 8.74228e-08 -1 181.09 64.61)",fill:"var(--center-channel-color)",fillOpacity:"0.56"}),T().createElement("rect",{x:"35",y:"16",width:"132.5",height:"87",rx:"4",fill:"var(--center-channel-bg)",stroke:"var(--center-channel-color)",strokeWidth:"4"}),T().createElement("path",{d:"M37.2992 19.7992C37.2992 18.9708 37.9708 18.2992 38.7992 18.2992H163.701C164.529 18.2992 165.201 18.9708 165.201 19.7992V27.9724H37.2992V19.7992Z",fill:"var(--button-bg)",fillOpacity:"0.16"}),T().createElement("rect",{x:"80.2914",y:"82.7874",width:"41.9173",height:"8.59843",rx:"2",fill:"var(--button-bg)"}),T().createElement("path",{d:"M71.1178 37H84.5296",stroke:"var(--center-channel-color)",strokeOpacity:"0.56",strokeLinecap:"round"}),T().createElement("path",{d:"M71.1178 41H95.706",stroke:"var(--center-channel-color)",strokeOpacity:"0.56",strokeLinecap:"round"}),T().createElement("path",{d:"M71.1178 45H81.1766",stroke:"var(--center-channel-color)",strokeOpacity:"0.56",strokeLinecap:"round"}),T().createElement("path",{d:"M70.0001 55H106.882",stroke:"var(--center-channel-color)",strokeOpacity:"0.56",strokeLinecap:"round"}),T().createElement("path",{d:"M70.0001 66.1646H113.588",stroke:"var(--center-channel-color)",strokeOpacity:"0.56",strokeLinecap:"round"}),T().createElement("path",{d:"M70 71.5525H127",stroke:"var(--center-channel-color)",strokeOpacity:"0.56",strokeLinecap:"round"}),T().createElement("path",{d:"M70.0001 60.7764H91.2354",stroke:"var(--center-channel-color)",strokeOpacity:"0.56",strokeLinecap:"round"}),T().createElement("path",{d:"M96.8237 60.7764H112.105",stroke:"var(--center-channel-color)",strokeOpacity:"0.56",strokeLinecap:"round"}),T().createElement("path",{d:"M116.69 60.7764H124.331",stroke:"var(--center-channel-color)",strokeOpacity:"0.56",strokeLinecap:"round"}),T().createElement("circle",{cx:"41.5",cy:"22.5",r:"1.5",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("circle",{cx:"49.5",cy:"22.5",r:"1.5",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("circle",{cx:"57.5",cy:"22.5",r:"1.5",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("path",{d:"M116 110L125 110",stroke:"var(--center-channel-color)",strokeLinecap:"round"}),T().createElement("path",{d:"M128 110L132 110",stroke:"var(--center-channel-color)",strokeLinecap:"round"}),T().createElement("path",{d:"M135 110L165 110",stroke:"var(--center-channel-color)",strokeLinecap:"round"}),T().createElement("path",{d:"M113 110L101 110L101 90",stroke:"var(--center-channel-color)",strokeLinecap:"round",strokeLinejoin:"round"}),T().createElement("path",{d:"M154.5 60C170.24 60 183 47.2401 183 31.5C183 15.7599 170.24 3 154.5 3C138.76 3 126 15.7599 126 31.5C126 47.2401 138.76 60 154.5 60Z",fill:"var(--neutral-1200",fillOpacity:"0.16"}),T().createElement("path",{d:"M154.5 57C170.24 57 183 44.2401 183 28.5C183 12.7599 170.24 0 154.5 0C138.76 0 126 12.7599 126 28.5C126 44.2401 138.76 57 154.5 57Z",fill:"var(--indigo-400)"}),T().createElement("path",{d:"M142 29.3101L151.28 38L169 19",stroke:"var(--neutral-0)",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}));po.propTypes={width:L().number,height:L().number};const go=po,ho=e=>T().createElement("svg",{width:e.width?e.width.toString():"142",height:e.height?e.height.toString():"104",viewBox:"0 0 142 104",fill:"none",xmlns:"http://www.w3.org/2000/svg"},T().createElement("path",{d:"M5.50196 18L5.50195 33L94.002 33",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("path",{d:"M4.002 90L14.5019 79.5L14.502 40.5L35.5019 40.5",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("path",{d:"M133.502 52L133.502 66L46.002 66",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("circle",{cx:"2.5",cy:"2.5",r:"2.5",transform:"matrix(1 8.74228e-08 8.74228e-08 -1 3.00195 18)",fill:"var(--center-channel-color)",fillOpacity:"0.48"}),T().createElement("circle",{cx:"2.5",cy:"2.5",r:"2.5",transform:"matrix(-1 -1.74846e-07 -1.74846e-07 1 136.002 48.5)",fill:"var(--center-channel-color)",fillOpacity:"0.48"}),T().createElement("circle",{cx:"2.50195",cy:"91.5",r:"2.5",fill:"var(--center-channel-color)",fillOpacity:"0.48"}),T().createElement("rect",{x:"11",y:"14",width:"94",height:"40",rx:"3.75",fill:"#1C58D9",fillOpacity:"0.12"}),T().createElement("rect",{x:"37",y:"57",width:"105",height:"37",rx:"3.75",fill:"#1C58D9",fillOpacity:"0.12"}),T().createElement("rect",{x:"33.3885",y:"8.15259",width:"50.505",height:"65.3594",rx:"2",transform:"rotate(-8.6173 33.3885 8.15259)",fill:"var(--center-channel-bg)"}),T().createElement("rect",{x:"33.9578",y:"8.57203",width:"49.505",height:"64.3594",rx:"1.5",transform:"rotate(-8.6173 33.9578 8.57203)",stroke:"var(--center-channel-color)",strokeOpacity:"0.8"}),T().createElement("path",{d:"M40.3696 14.1746L48.8912 12.8832",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M46.8125 56.6891L74.5075 52.4921",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M44.4152 40.8698L72.1101 36.6727",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M40.969 18.1294L56.5918 15.7618",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M48.0112 64.5989L84.2277 59.1105",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M45.6138 48.7794L81.8303 43.291",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M43.2165 32.9601L79.433 27.4717",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M41.5683 22.0842L47.9595 21.1157",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M50.4667 20.7357L56.8579 19.7672",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M36.2393 36.6232C36.4201 35.6811 37.2442 35 38.2035 35H127.58C128.836 35 129.781 36.1436 129.544 37.3768L119.761 88.3768C119.58 89.3189 118.756 90 117.796 90H28.4201C27.1645 90 26.2194 88.8564 26.4559 87.6232L36.2393 36.6232Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{d:"M36.2393 36.6232C36.4201 35.6811 37.2442 35 38.2035 35H127.58C128.836 35 129.781 36.1436 129.544 37.3768L119.761 88.3768C119.58 89.3189 118.756 90 117.796 90H28.4201C27.1645 90 26.2194 88.8564 26.4559 87.6232L36.2393 36.6232Z",fill:"var(--center-channel-color)",fillOpacity:"0.56"}),T().createElement("path",{d:"M36.7304 36.7174C36.8659 36.0108 37.4841 35.5 38.2035 35.5H127.58C128.522 35.5 129.23 36.3577 129.053 37.2826L119.27 88.2826C119.134 88.9892 118.516 89.5 117.796 89.5H28.4201C27.4784 89.5 26.7696 88.6423 26.947 87.7174L36.7304 36.7174Z",stroke:"var(--center-channel-color)"}),T().createElement("rect",{x:"72.5056",y:"8.99988",width:"50.505",height:"65.3594",rx:"2",transform:"rotate(7.47748 72.5056 8.99988)",fill:"var(--center-channel-color)",fillOpacity:"0.24"}),T().createElement("rect",{x:"75.5056",y:"7",width:"50.505",height:"65.3594",rx:"2",transform:"rotate(7.47748 75.5056 7)",fill:"var(--center-channel-bg)"}),T().createElement("rect",{x:"75.9363",y:"7.56082",width:"49.505",height:"64.3594",rx:"1.5",transform:"rotate(7.47748 75.9363 7.56082)",stroke:"var(--center-channel-color)",strokeOpacity:"0.8"}),T().createElement("path",{d:"M80.5437 14.7212L89.0892 15.8428",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M74.9478 57.3556L102.721 61.0009",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M77.03 41.4917L104.803 45.137",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M80.0231 18.6873L95.6899 20.7436",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M73.9067 65.2876L110.225 70.0545",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M75.9889 49.4236L112.307 54.1905",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M78.0711 33.5597L114.39 38.3266",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M79.5026 22.6532L85.9117 23.4944",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M88.426 23.8245L94.8352 24.6657",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M35 23C33.8954 23 33 23.8954 33 25V28H28C26.8954 28 26 28.8954 26 30V88C26 89.1046 26.8954 90 28 90H117C118.105 90 119 89.1046 119 88V30C119 28.8954 118.105 28 117 28H65V25C65 23.8954 64.1046 23 63 23H35Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M35 23C33.8954 23 33 23.8954 33 25V28H28C26.8954 28 26 28.8954 26 30V88C26 89.1046 26.8954 90 28 90H117C118.105 90 119 89.1046 119 88V30C119 28.8954 118.105 28 117 28H65V25C65 23.8954 64.1046 23 63 23H35Z",fill:"var(--center-channel-color)",fillOpacity:"0.12"}),T().createElement("path",{fillRule:"evenodd",clipRule:"evenodd",stroke:"var(--center-channel-color)",d:"M35 23C33.8954 23 33 23.8954 33 25V28H28C26.8954 28 26 28.8954 26 30V88C26 89.1046 26.8954 90 28 90H117C118.105 90 119 89.1046 119 88V30C119 28.8954 118.105 28 117 28H65V25C65 23.8954 64.1046 23 63 23H35Z"}),T().createElement("path",{opacity:"0.32",d:"M32.1407 103.389C26.137 103.269 21.158 101.213 17.2037 97.2224C13.2495 93.2314 11.1816 88.2605 11 82.3095C11.1785 76.3555 13.2464 71.383 17.2037 67.392C21.1611 63.4011 26.1401 61.3455 32.1407 61.2253C38.0859 61.3486 43.0357 63.4042 46.9899 67.392C50.9442 71.3799 53.0121 76.3524 53.1937 82.3095C53.009 88.2636 50.9411 93.2345 46.9899 97.2224C43.0387 101.21 38.089 103.266 32.1407 103.389Z",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("path",{d:"M32.9469 99.6636C27.0678 99.5437 22.2191 97.5347 18.3653 93.6451C14.5091 89.7532 12.4876 84.9101 12.3066 79.084C12.4845 73.255 14.506 68.4106 18.3651 64.5187C22.2222 60.629 27.0709 58.62 32.9469 58.5001C38.7662 58.623 43.5863 60.6311 47.4412 64.5187C51.2971 68.4074 53.3187 73.2518 53.4998 79.084C53.3157 84.9133 51.2941 89.7564 47.4411 93.6451C43.5894 97.5326 38.7694 99.5407 32.9469 99.6636Z",fill:"var(--center-channel-bg)",stroke:"var(--center-channel-color)"}),T().createElement("path",{d:"M32.8048 95.0918C28.2155 94.9998 24.4094 93.4274 21.3867 90.3745C18.364 87.3216 16.7832 83.5189 16.6444 78.9667C16.7808 74.412 18.3616 70.6082 21.3867 67.5553C24.4118 64.5024 28.2178 62.93 32.8048 62.838C37.3495 62.9323 41.1332 64.5047 44.1559 67.5553C47.1786 70.6059 48.7594 74.4097 48.8982 78.9667C48.757 83.5213 47.1763 87.3239 44.1559 90.3745C41.1355 93.425 37.3518 94.9975 32.8048 95.0918Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{d:"M32.8046 94.5917C28.34 94.5 24.6643 92.9742 21.742 90.0227C18.8173 87.0688 17.2829 83.394 17.1446 78.9665C17.2806 74.5369 18.815 70.8611 21.7418 67.9072C24.6667 64.9555 28.3425 63.4298 32.8046 63.3381C37.2233 63.432 40.8774 64.9569 43.8007 67.9072C46.7252 70.8586 48.2597 74.5344 48.3979 78.9666C48.2574 83.3965 46.7228 87.0712 43.8006 90.0227C40.8797 92.9728 37.2257 94.4978 32.8046 94.5917Z",stroke:"var(--center-channel-color)",strokeOpacity:"0.32"}),T().createElement("path",{d:"M32.7713 61.6285V78.9649L40.4316 86.6252",stroke:"var(--center-channel-color)",strokeOpacity:"0.8",strokeLinejoin:"round"}),T().createElement("circle",{cx:"32.7713",cy:"78.965",r:"1.61269",fill:"var(--center-channel-color)",fillOpacity:"0.8"}));ho.propTypes={width:L().number,height:L().number};const fo=ho,Eo=e=>T().createElement("svg",{width:e.width?e.width.toString():"184",height:e.height?e.height.toString():"113",viewBox:"0 0 184 113",fill:"none",xmlns:"http://www.w3.org/2000/svg"},T().createElement("g",{clipPath:"url(#clip0_4441_155270)"},T().createElement("rect",{x:"2.745",y:"15",width:"181",height:"78",rx:"5.625",fill:"var(--button-bg)",fillOpacity:"0.12"}),T().createElement("path",{d:"M11 4L16.5 9.5V63.5H37.5",stroke:"var(--center-channel-color)",strokeOpacity:"0.24",strokeLinecap:"round"}),T().createElement("circle",{cx:"2.5",cy:"2.5",r:"2.5",transform:"matrix(1 0 0 -1 7 5)",fill:"#8C8C8C"}),T().createElement("path",{d:"M4 28L9.5 33.5V72.5H174.5V101.5",stroke:"var(--center-channel-color)",strokeOpacity:"0.24",strokeLinecap:"round"}),T().createElement("circle",{cx:"2.5",cy:"2.5",r:"2.5",transform:"matrix(1 0 0 -1 172 105)",fill:"#8C8C8C"}),T().createElement("circle",{cx:"2.5",cy:"2.5",r:"2.5",transform:"matrix(1 0 0 -1 0 29)",fill:"#8C8C8C"}),T().createElement("path",{d:"M59.1304 15H126.87L131 108H55L59.1304 15Z",fill:"var(--center-channel-color)",fillOpacity:"0.24"}),T().createElement("rect",{width:"92",height:"5",transform:"matrix(1 0 0 -1 47 113)",fill:"var(--center-channel-color)",fillOpacity:"0.4"}),T().createElement("rect",{x:"27",y:"9",width:"131",height:"86",rx:"4",fill:"var(--center-channel-bg)",stroke:"var(--center-channel-color)",strokeWidth:"4"}),T().createElement("path",{d:"M147 101.5H119.5",stroke:"var(--center-channel-color)",strokeLinecap:"round",strokeLinejoin:"round"}),T().createElement("path",{d:"M116 101.5H110",stroke:"var(--center-channel-color)",strokeLinecap:"round"}),T().createElement("path",{d:"M107 101.5H101",stroke:"var(--center-channel-color)",strokeLinecap:"round"}),T().createElement("path",{d:"M138.518 43.1646C138.518 53.0156 130.498 61.0007 120.606 61.0007C114.997 61.0007 109.99 58.4339 106.706 54.4147C104.198 51.3453 102.694 47.4301 102.694 43.1646C102.694 33.3136 110.714 25.3285 120.606 25.3285C130.498 25.3285 138.518 33.3136 138.518 43.1646Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{d:"M138.518 43.1646C138.518 53.0156 130.498 61.0007 120.606 61.0007C114.997 61.0007 109.99 58.4339 106.706 54.4147C104.198 51.3453 102.694 47.4301 102.694 43.1646C102.694 33.3136 110.714 25.3285 120.606 25.3285C130.498 25.3285 138.518 33.3136 138.518 43.1646Z",fill:"var(--center-channel-color)",fillOpacity:"0.12"}),T().createElement("mask",{id:"mask0_4441_155270","mask-type":"luminance",maskUnits:"userSpaceOnUse",x:"102",y:"25",width:"37",height:"37"},T().createElement("path",{d:"M138.518 43.1646C138.518 53.0156 130.498 61.0007 120.606 61.0007C114.997 61.0007 109.99 58.4339 106.706 54.4147C104.198 51.3453 102.694 47.4301 102.694 43.1646C102.694 33.3136 110.714 25.3285 120.606 25.3285C130.498 25.3285 138.518 33.3136 138.518 43.1646Z",fill:"white"})),T().createElement("g",{mask:"url(#mask0_4441_155270)"},T().createElement("path",{d:"M129.928 54.2452L129.228 40.2453C128.93 34.2984 125.16 29.6744 120.609 29.6744C116.058 29.6744 112.289 34.2984 111.991 40.2453L111.291 54.2452H129.928Z",fill:"#1B1D22"}),T().createElement("path",{d:"M134.117 54.695C133.453 52.3994 131.597 50.6436 129.268 50.107L124.343 48.9724H116.875L111.949 50.107C109.62 50.6436 107.765 52.3994 107.101 54.695L105.221 64.6223H135.996L134.117 54.695Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{opacity:"0.24",d:"M134.117 54.695C133.453 52.3994 131.597 50.6436 129.268 50.107L124.343 48.9724H116.875L111.949 50.107C109.62 50.6436 107.765 52.3994 107.101 54.695L105.221 64.6223H135.996L134.117 54.695Z",fill:"var(--button-bg)"}),T().createElement("path",{d:"M123.844 49.1791L122.833 45.7231H118.4L117.58 49.1791C119.369 50.139 122.054 50.139 123.844 49.1791Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{d:"M123.844 49.1791L122.833 45.7231H118.4L117.58 49.1791C119.369 50.139 122.054 50.139 123.844 49.1791Z",fill:"var(--center-channel-color)",fillOpacity:"0.56"}),T().createElement("path",{d:"M126.947 38.5957C127.568 38.4195 127.597 39.3908 127.361 40.3985C127.146 41.3168 126.947 42.8174 126.3 42.4531C125.52 44.6153 124.099 46.2593 122.38 46.9103C121.846 47.1551 121.279 47.2891 120.691 47.2891C119.933 47.2891 119.211 47.067 118.55 46.6722C117.065 45.9043 115.85 44.3754 115.154 42.4298C114.515 42.5975 114.245 41.0113 114.101 40.3985C113.918 39.6201 113.687 38.5956 114.515 38.5956C114.533 33.8795 117.309 30.0635 120.731 30.0635C124.153 30.0635 126.93 33.8795 126.947 38.5957Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{d:"M126.947 38.5957C127.568 38.4195 127.597 39.3908 127.361 40.3985C127.146 41.3168 126.947 42.8174 126.3 42.4531C125.52 44.6153 124.099 46.2593 122.38 46.9103C121.846 47.1551 121.279 47.2891 120.691 47.2891C119.933 47.2891 119.211 47.067 118.55 46.6722C117.065 45.9043 115.85 44.3754 115.154 42.4298C114.515 42.5975 114.245 41.0113 114.101 40.3985C113.918 39.6201 113.687 38.5956 114.515 38.5956C114.533 33.8795 117.309 30.0635 120.731 30.0635C124.153 30.0635 126.93 33.8795 126.947 38.5957Z",fill:"var(--center-channel-color)",fillOpacity:"0.56"}),T().createElement("path",{d:"M127.453 38.6215C127.443 38.6928 127.396 38.756 127.324 38.7917C127.252 38.8273 127.164 38.8314 127.089 38.8018C125.182 38.0754 123.334 36.1163 122.749 34.2774C120.9 36.1958 117.847 38.4392 114.805 38.9322C114.789 38.9353 114.774 38.9363 114.757 38.9363L114.758 38.9373C114.704 38.9373 114.649 38.9221 114.604 38.8946C114.546 38.8579 114.509 38.8018 114.499 38.7407C114.193 36.5446 114.838 32.3895 116.797 31.1075C118.092 30.2596 119.089 29.6962 120.712 29.8026C122.36 29.9106 124.151 30.8035 125.427 31.708C127.32 33.0495 127.719 36.4791 127.453 38.6215Z",fill:"#1B1D22"})),T().createElement("path",{d:"M82.12 42.589C82.12 52.4595 74.0844 60.4603 64.173 60.4603C58.553 60.4603 53.5359 57.8885 50.2457 53.8614C47.7322 50.7859 46.2261 46.863 46.2261 42.589C46.2261 32.7186 54.2616 24.7178 64.173 24.7178C74.0844 24.7178 82.12 32.7186 82.12 42.589Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{d:"M82.12 42.589C82.12 52.4595 74.0844 60.4603 64.173 60.4603C58.553 60.4603 53.5359 57.8885 50.2457 53.8614C47.7322 50.7859 46.2261 46.863 46.2261 42.589C46.2261 32.7186 54.2616 24.7178 64.173 24.7178C74.0844 24.7178 82.12 32.7186 82.12 42.589Z",fill:"var(--center-channel-color)",fillOpacity:"0.12"}),T().createElement("mask",{id:"mask1_4441_155270","mask-type":"luminance",maskUnits:"userSpaceOnUse",x:"46",y:"24",width:"37",height:"37"},T().createElement("path",{d:"M82.12 42.589C82.12 52.4595 74.0844 60.4603 64.173 60.4603C58.553 60.4603 53.5359 57.8885 50.2457 53.8614C47.7322 50.7859 46.2261 46.863 46.2261 42.589C46.2261 32.7186 54.2616 24.7178 64.173 24.7178C74.0844 24.7178 82.12 32.7186 82.12 42.589Z",fill:"white"})),T().createElement("g",{mask:"url(#mask1_4441_155270)"},T().createElement("path",{d:"M80.0061 57.257C79.227 54.7376 77.0521 52.8107 74.3228 52.2216L68.5489 50.9771H59.795L54.0211 52.2216C51.2905 52.8107 49.1156 54.7376 48.3378 57.257L46.1344 68.1522H82.2094L80.0061 57.257Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{opacity:"0.24",d:"M80.0064 57.257C79.2273 54.7376 77.0525 52.8107 74.3231 52.2216L68.5492 50.9771H59.7953L54.0215 52.2216C51.2908 52.8107 49.116 54.7376 48.3381 57.257L46.1348 68.1522H82.2098L80.0064 57.257Z",fill:"var(--button-bg)"}),T().createElement("path",{d:"M67.6799 51.4614L66.4982 47.9237H61.3111L60.3518 51.4614C62.4455 52.4441 65.5862 52.4441 67.6799 51.4614Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{d:"M67.6799 51.4614L66.4982 47.9237H61.3111L60.3518 51.4614C62.4455 52.4441 65.5862 52.4441 67.6799 51.4614Z",fill:"var(--center-channel-color)",fillOpacity:"0.56"}),T().createElement("path",{d:"M70.749 40.818C71.4203 40.6368 71.4509 41.6354 71.1966 42.6715C70.9641 43.6156 70.749 45.1583 70.0505 44.7838C69.2088 47.0068 67.6738 48.697 65.8172 49.3662C65.2407 49.618 64.628 49.7557 63.9929 49.7557C63.1752 49.7557 62.3948 49.5274 61.6808 49.1214C60.0775 48.332 58.7654 46.7602 58.0138 44.7599C57.3243 44.9322 57.0319 43.3014 56.8767 42.6715C56.6796 41.8711 56.4292 40.8179 57.3243 40.8179C57.3428 35.9691 60.3409 32.046 64.0366 32.046C67.7324 32.046 70.7306 35.9692 70.749 40.818Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{d:"M70.749 40.818C71.4203 40.6368 71.4509 41.6354 71.1966 42.6715C70.9641 43.6156 70.749 45.1583 70.0505 44.7838C69.2088 47.0068 67.6738 48.697 65.8172 49.3662C65.2407 49.618 64.628 49.7557 63.9929 49.7557C63.1752 49.7557 62.3948 49.5274 61.6808 49.1214C60.0775 48.332 58.7654 46.7602 58.0138 44.7599C57.3243 44.9322 57.0319 43.3014 56.8767 42.6715C56.6796 41.8711 56.4292 40.8179 57.3243 40.8179C57.3428 35.9691 60.3409 32.046 64.0366 32.046C67.7324 32.046 70.7306 35.9692 70.749 40.818Z",fill:"var(--center-channel-color)",fillOpacity:"0.56"}),T().createElement("path",{d:"M56.7017 31.1748C54.9829 33.2751 54.9468 36.7042 56.6039 39.7757C57.1701 40.4565 57.735 41.136 58.3012 41.8169C58.2838 36.8541 59.0883 35.5172 59.87 35.2737C61.1591 34.8693 62.6864 37.3452 65.4826 37.2833C65.9083 37.2737 66.8627 37.2393 67.4463 36.5708C67.9496 35.9945 67.8733 35.2875 68.0245 35.2723C68.2748 35.2476 68.7259 36.5983 69.5933 41.8155C70.1515 41.1305 70.711 40.4442 71.2692 39.7592C71.5744 38.568 71.8555 37.0054 71.8742 35.165C71.8997 32.6768 70.6804 31.1017 70.2453 29.7028C68.6042 33.8448 66.9509 28.6788 61.6798 28.6872C59.9678 28.69 57.8274 29.7993 56.7017 31.1748Z",fill:"#1B1D22"})),T().createElement("circle",{cx:"91.2669",cy:"55.5572",r:"25.3433",fill:"var(--center-channel-bg)"}),T().createElement("circle",{cx:"91.1111",cy:"55.5572",r:"23.5112",fill:"var(--center-channel-color)",fillOpacity:"0.16"}),T().createElement("mask",{id:"mask2_4441_155270","mask-type":"luminance",maskUnits:"userSpaceOnUse",x:"67",y:"32",width:"48",height:"48"},T().createElement("path",{d:"M67.6584 55.5572C67.6584 68.5427 78.216 79.0685 91.2382 79.0685C98.6222 79.0685 105.214 75.685 109.537 70.387C112.839 66.3409 114.818 61.18 114.818 55.5572C114.818 42.5718 104.26 32.046 91.2382 32.046C78.216 32.046 67.6584 42.5718 67.6584 55.5572Z",fill:"white"})),T().createElement("g",{mask:"url(#mask2_4441_155270)"},T().createElement("path",{d:"M76.4501 68.3815C78.8909 66.6494 87.4336 65.0135 91.3998 64.4121C95.061 65.1338 103.421 67.0825 107.57 69.1033C111.719 71.1241 112.35 77.403 112.146 80.2898H70.6533C70.6533 72.351 73.3992 70.5467 76.4501 68.3815Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{d:"M76.4501 68.3815C78.8909 66.6494 87.4336 65.0135 91.3998 64.4121C95.061 65.1338 103.421 67.0825 107.57 69.1033C111.719 71.1241 112.35 77.403 112.146 80.2898H70.6533C70.6533 72.351 73.3992 70.5467 76.4501 68.3815Z",fill:"var(--center-channel-color)",fillOpacity:"0.8"}),T().createElement("path",{d:"M96.9126 65.6335L95.1893 60.1373H87.6247L86.2257 65.6335C89.2791 67.1602 93.8592 67.1602 96.9126 65.6335Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{d:"M96.9126 65.6335L95.1893 60.1373H87.6247L86.2257 65.6335C89.2791 67.1602 93.8592 67.1602 96.9126 65.6335Z",fill:"var(--center-channel-color)",fillOpacity:"0.56"}),T().createElement("path",{d:"M101.516 49.9382C102.523 49.6696 102.569 51.1503 102.188 52.6865C101.839 54.0864 101.516 56.3738 100.469 55.8186C99.2061 59.1147 96.9036 61.6209 94.1187 62.6132C93.2539 62.9865 92.335 63.1907 91.3823 63.1907C90.1558 63.1907 88.9852 62.8522 87.9141 62.2502C85.5092 61.0797 83.541 58.749 82.4137 55.7831C81.3794 56.0386 80.9408 53.6205 80.708 52.6865C80.4124 51.4998 80.0368 49.9381 81.3794 49.9381C81.4071 42.7486 85.9043 36.9314 91.4479 36.9314C96.9916 36.9314 101.489 42.7486 101.516 49.9382Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{d:"M101.516 49.9382C102.523 49.6696 102.569 51.1503 102.188 52.6865C101.839 54.0864 101.516 56.3738 100.469 55.8186C99.2061 59.1147 96.9036 61.6209 94.1187 62.6132C93.2539 62.9865 92.335 63.1907 91.3823 63.1907C90.1558 63.1907 88.9852 62.8522 87.9141 62.2502C85.5092 61.0797 83.541 58.749 82.4137 55.7831C81.3794 56.0386 80.9408 53.6205 80.708 52.6865C80.4124 51.4998 80.0368 49.9381 81.3794 49.9381C81.4071 42.7486 85.9043 36.9314 91.4479 36.9314C96.9916 36.9314 101.489 42.7486 101.516 49.9382Z",fill:"var(--center-channel-color)",fillOpacity:"0.56"}),T().createElement("path",{d:"M82.8511 38.9974C84.1737 37.1736 85.1199 36.8624 85.583 36.7102C85.7392 36.6588 85.8404 36.6255 85.8826 36.5583C87.7015 33.6613 95.4923 34.1993 97.5869 35.7793C102.353 39.3742 101.179 41.8552 101.718 44.8136C101.997 46.3312 101.466 48.1935 101.343 49.7558C101.193 48.7194 100.336 45.5263 100.271 45.1756C99.5161 43.3436 96.206 45.5727 94.4699 45.481C90.5698 45.275 87.6487 44.5902 85.583 42.1222C84.9645 44.3108 83.0668 46.9683 81.8883 47.2176L81.6386 49.4339C80.9294 45.5012 80.3681 42.4216 82.8511 38.9974Z",fill:"#1B1D22"})),T().createElement("path",{d:"M120.463 23.147C124.25 23.1231 127.732 24.1039 130.904 26.0896C132.206 26.9048 133.456 27.8894 134.653 29.0434C136.133 30.5797 137.332 32.2129 138.25 33.9435M139.876 38.135C140.289 39.7447 140.495 41.4261 140.495 43.1797C140.493 45.3005 140.189 47.3175 139.584 49.2303M139.159 35.916C139.294 36.2601 139.419 36.6078 139.534 36.9591",stroke:"var(--center-channel-color)",strokeOpacity:"0.48"}),T().createElement("path",{d:"M113.428 71.4636C110.58 75.6164 106.868 78.6732 102.293 80.6289C100.416 81.4318 98.3924 82.0491 96.2244 82.4805C93.4244 82.9302 90.7316 83.0003 88.1457 82.6895M82.3367 81.2836C80.2663 80.5129 78.2741 79.4627 76.3598 78.1322C74.0467 76.5201 72.0751 74.6584 70.446 72.5468M85.3034 82.1842C84.8251 82.0707 84.3507 81.9434 83.8802 81.8021",stroke:"var(--center-channel-color)",strokeOpacity:"0.48"}),T().createElement("path",{d:"M64.4212 62.7429C59.9987 62.7094 55.9963 61.3878 52.4254 58.7668C51.6772 58.2175 50.9479 57.6113 50.2376 56.9478C48.3933 54.9693 46.9862 52.8652 46.0148 50.6342M44.3886 42.7102C44.3919 40.0664 44.8765 37.563 45.8423 35.1999C46.8182 32.8119 48.2856 30.5672 50.2444 28.4658",stroke:"var(--center-channel-color)",strokeOpacity:"0.48"})),T().createElement("defs",null,T().createElement("clipPath",{id:"clip0_4441_155270"},T().createElement("rect",{width:"184",height:"113",fill:"white"}))));Eo.propTypes={width:L().number,height:L().number};const bo=Eo,vo=e=>T().createElement("svg",{width:e.width?e.width.toString():"294",height:e.height?e.height.toString():"180",viewBox:"0 0 196 120",fill:"none",xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink"},T().createElement("circle",{cx:"20.5",cy:"35",r:"2",transform:"rotate(-90 20.5 35)",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("circle",{cx:"20.5",cy:"29",r:"2",transform:"rotate(-90 20.5 29)",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("circle",{cx:"20.5005",cy:"23",r:"2",transform:"rotate(-90 20.5005 23)",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("path",{d:"M20.5 39.5V79.5H43M45 79.5H49M51 79.5H53",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round",strokeLinejoin:"round"}),T().createElement("path",{d:"M29.5 79.5H177.5V108.5",stroke:"var(--center-channel-color)",strokeOpacity:"0.24",strokeLinecap:"round"}),T().createElement("circle",{cx:"2.5",cy:"2.5",r:"2.5",transform:"matrix(1 0 0 -1 175 112)",fill:"var(--center-channel-color)",fillOpacity:"0.48"}),T().createElement("path",{d:"M62.1304 22H129.87L134 115H58L62.1304 22Z",fill:"var(--center-channel-color)",fillOpacity:"0.24"}),T().createElement("rect",{width:"92",height:"5",transform:"matrix(1 0 0 -1 50 120)",fill:"var(--center-channel-color)",fillOpacity:"0.4"}),T().createElement("rect",{x:"30",y:"16",width:"131",height:"86",rx:"4",fill:"var(--center-channel-bg)",stroke:"var(--center-channel-color)",strokeWidth:"4"}),T().createElement("rect",{x:"34",y:"20",width:"46",height:"78",fill:"#1C58D9",fillOpacity:"0.16"}),T().createElement("path",{d:"M49.8109 27.0273L66.5002 27.0273",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("path",{d:"M49.8109 29.6628L59.4732 29.6628",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("path",{d:"M38.392 38.4453H51.5678",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("circle",{cx:"41.5092",cy:"27.5105",r:"4.34771",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("circle",{cx:"39.4795",cy:"43.1602",r:"2",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("path",{d:"M45.4189 43.1602H70.0137",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("circle",{cx:"39.4795",cy:"50.1602",r:"2",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("path",{d:"M45.4189 50.1602H64.7434",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("circle",{cx:"39.4795",cy:"58.1602",r:"2",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("path",{d:"M45.4189 58.1602H72.6489",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("circle",{cx:"39.4795",cy:"65.1602",r:"2",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("path",{d:"M45.4189 65.1602H70.0137",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("circle",{cx:"39.4795",cy:"72.1602",r:"2",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("path",{d:"M45.4189 72.1602H64.7434",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("circle",{cx:"39.4795",cy:"79.1602",r:"2",fill:"var(--center-channel-color)",fillOpacity:"0.32"}),T().createElement("path",{d:"M45.4189 79.1602H72.6489",stroke:"var(--center-channel-color)",strokeOpacity:"0.32",strokeLinecap:"round"}),T().createElement("path",{d:"M150 108.5H122.5",stroke:"var(--center-channel-color)",strokeLinecap:"round",strokeLinejoin:"round"}),T().createElement("path",{d:"M119 108.5H113",stroke:"var(--center-channel-color)",strokeLinecap:"round"}),T().createElement("path",{d:"M110 108.5H104",stroke:"var(--center-channel-color)",strokeLinecap:"round"}),T().createElement("ellipse",{cx:"138.058",cy:"43.6274",rx:"14.1972",ry:"13.767",fill:"var(--center-channel-color)",fillOpacity:"0.16"}),T().createElement("mask",{id:"mask0_4441_155706","mask-type":"luminance",maskUnits:"userSpaceOnUse",x:"124",y:"30",width:"28",height:"28"},T().createElement("path",{d:"M124.288 43.8848C124.288 51.5124 130.49 57.6952 138.139 57.6952C142.476 57.6952 146.348 55.7078 148.887 52.5958C150.827 50.2191 151.99 47.1876 151.99 43.8848C151.99 36.2573 145.788 30.0745 138.139 30.0745C130.49 30.0745 124.288 36.2573 124.288 43.8848Z",fill:"white"})),T().createElement("g",{mask:"url(#mask0_4441_155706)"},T().createElement("path",{d:"M129.452 51.4217C130.886 50.4043 135.904 49.4434 138.234 49.0901C140.384 49.514 145.295 50.6586 147.732 51.8456C150.169 53.0326 150.539 56.7208 150.42 58.4165H126.047C126.047 53.7533 127.66 52.6935 129.452 51.4217Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{d:"M129.452 51.4217C130.886 50.4043 135.904 49.4434 138.234 49.0901C140.384 49.514 145.295 50.6586 147.732 51.8456C150.169 53.0326 150.539 56.7208 150.42 58.4165H126.047C126.047 53.7533 127.66 52.6935 129.452 51.4217Z",fill:"var(--center-channel-color)",fillOpacity:"0.8"}),T().createElement("path",{d:"M141.472 49.8071L140.46 46.5787H136.016L135.195 49.8071C136.988 50.7038 139.678 50.7038 141.472 49.8071Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{d:"M141.472 49.8071L140.46 46.5787H136.016L135.195 49.8071C136.988 50.7038 139.678 50.7038 141.472 49.8071Z",fill:"var(--center-channel-color)",fillOpacity:"0.56"}),T().createElement("path",{d:"M144.176 40.5879C144.767 40.4301 144.794 41.2999 144.57 42.2022C144.365 43.0245 144.176 44.3681 143.56 44.042C142.819 45.9781 141.466 47.4502 139.831 48.0331C139.323 48.2524 138.783 48.3723 138.223 48.3723C137.503 48.3723 136.815 48.1735 136.186 47.8199C134.773 47.1323 133.617 45.7633 132.955 44.0211C132.348 44.1712 132.09 42.7509 131.953 42.2022C131.78 41.5052 131.559 40.5878 132.348 40.5878C132.364 36.3648 135.005 32.9478 138.262 32.9478C141.518 32.9478 144.16 36.3648 144.176 40.5879Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{d:"M144.176 40.5879C144.767 40.4301 144.794 41.2999 144.57 42.2022C144.365 43.0245 144.176 44.3681 143.56 44.042C142.819 45.9781 141.466 47.4502 139.831 48.0331C139.323 48.2524 138.783 48.3723 138.223 48.3723C137.503 48.3723 136.815 48.1735 136.186 47.8199C134.773 47.1323 133.617 45.7633 132.955 44.0211C132.348 44.1712 132.09 42.7509 131.953 42.2022C131.78 41.5052 131.559 40.5878 132.348 40.5878C132.364 36.3648 135.005 32.9478 138.262 32.9478C141.518 32.9478 144.16 36.3648 144.176 40.5879Z",fill:"var(--center-channel-color)",fillOpacity:"0.56"}),T().createElement("path",{d:"M133.213 34.161C133.989 33.0897 134.545 32.9069 134.817 32.8175C134.909 32.7873 134.968 32.7678 134.993 32.7283C136.062 31.0266 140.638 31.3426 141.868 32.2707C144.668 34.3823 143.978 35.8397 144.295 37.5774C144.459 38.4688 144.147 39.5627 144.075 40.4804C143.986 39.8716 143.483 37.996 143.445 37.7901C143.001 36.7139 141.057 38.0233 140.037 37.9694C137.746 37.8484 136.031 37.4462 134.817 35.9965C134.454 37.2821 133.339 38.8431 132.647 38.9895L132.5 40.2913C132.084 37.9813 131.754 36.1724 133.213 34.161Z",fill:"var(--neutral-1200)"})),T().createElement("ellipse",{cx:"101.058",cy:"80.6274",rx:"14.1972",ry:"13.767",fill:"var(--center-channel-color)",fillOpacity:"0.16"}),T().createElement("mask",{id:"mask1_4441_155706",maskUnits:"userSpaceOnUse",x:"87",y:"67",width:"28",height:"28","mask-type":"luminance"},T().createElement("path",{d:"M87.2884 80.8848C87.2884 88.5124 93.4899 94.6952 101.139 94.6952C105.476 94.6952 109.348 92.7078 111.887 89.5958C113.827 87.2191 114.99 84.1876 114.99 80.8848C114.99 73.2573 108.788 67.0745 101.139 67.0745C93.4899 67.0745 87.2884 73.2573 87.2884 80.8848Z",fill:"white"})),T().createElement("g",{mask:"url(#mask1_4441_155706)"},T().createElement("path",{d:"M92.4524 88.4217C93.8861 87.4043 98.904 86.4434 101.234 86.0901C103.384 86.514 108.295 87.6586 110.732 88.8456C113.169 90.0326 113.539 93.7208 113.42 95.4165H89.0474C89.0474 90.7533 90.6603 89.6935 92.4524 88.4217Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{d:"M92.4524 88.4217C93.8861 87.4043 98.904 86.4434 101.234 86.0901C103.384 86.514 108.295 87.6586 110.732 88.8456C113.169 90.0326 113.539 93.7208 113.42 95.4165H89.0474C89.0474 90.7533 90.6603 89.6935 92.4524 88.4217Z",fill:"var(--center-channel-color)",fillOpacity:"0.8"}),T().createElement("path",{d:"M104.472 86.8071L103.46 83.5787H99.0163L98.1945 86.8071C99.9881 87.7038 102.678 87.7038 104.472 86.8071Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{d:"M104.472 86.8071L103.46 83.5787H99.0163L98.1945 86.8071C99.9881 87.7038 102.678 87.7038 104.472 86.8071Z",fill:"var(--center-channel-color)",fillOpacity:"0.56"}),T().createElement("path",{d:"M107.176 77.5879C107.767 77.4301 107.794 78.2999 107.57 79.2022C107.365 80.0245 107.176 81.3681 106.56 81.042C105.819 82.9781 104.466 84.4502 102.831 85.0331C102.323 85.2524 101.783 85.3723 101.223 85.3723C100.503 85.3723 99.8151 85.1735 99.186 84.8199C97.7734 84.1323 96.6173 82.7633 95.9551 81.0211C95.3476 81.1712 95.0899 79.7509 94.9532 79.2022C94.7796 78.5052 94.5589 77.5878 95.3476 77.5878C95.3638 73.3648 98.0055 69.9478 101.262 69.9478C104.518 69.9478 107.16 73.3648 107.176 77.5879Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{d:"M107.176 77.5879C107.767 77.4301 107.794 78.2999 107.57 79.2022C107.365 80.0245 107.176 81.3681 106.56 81.042C105.819 82.9781 104.466 84.4502 102.831 85.0331C102.323 85.2524 101.783 85.3723 101.223 85.3723C100.503 85.3723 99.8151 85.1735 99.186 84.8199C97.7734 84.1323 96.6173 82.7633 95.9551 81.0211C95.3476 81.1712 95.0899 79.7509 94.9532 79.2022C94.7796 78.5052 94.5589 77.5878 95.3476 77.5878C95.3638 73.3648 98.0055 69.9478 101.262 69.9478C104.518 69.9478 107.16 73.3648 107.176 77.5879Z",fill:"var(--center-channel-color)",fillOpacity:"0.56"}),T().createElement("path",{d:"M96.2126 71.161C96.9894 70.0897 97.5452 69.9069 97.8172 69.8175C97.909 69.7873 97.9685 69.7678 97.9932 69.7283C99.0616 68.0266 103.638 68.3426 104.868 69.2707C107.668 71.3823 106.978 72.8397 107.295 74.5774C107.459 75.4688 107.147 76.5627 107.075 77.4804C106.986 76.8716 106.483 74.996 106.445 74.7901C106.001 73.7139 104.057 75.0233 103.037 74.9694C100.746 74.8484 99.0307 74.4462 97.8172 72.9965C97.4539 74.2821 96.3393 75.8431 95.647 75.9895L95.5003 77.2913C95.0838 74.9813 94.7541 73.1724 96.2126 71.161Z",fill:"var(--neutral-1200)"})),T().createElement("path",{d:"M115 43.942C115 51.6417 108.732 57.883 101 57.883C96.6159 57.883 92.7022 55.8768 90.1356 52.7353C88.1749 50.3362 87 47.276 87 43.942C87 36.2423 93.2684 30.001 101 30.001C108.732 30.001 115 36.2423 115 43.942Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{d:"M115 43.942C115 51.6417 108.732 57.883 101 57.883C96.6159 57.883 92.7022 55.8768 90.1356 52.7353C88.1749 50.3362 87 47.276 87 43.942C87 36.2423 93.2684 30.001 101 30.001C108.732 30.001 115 36.2423 115 43.942Z",fill:"var(--center-channel-color)",fillOpacity:"0.12"}),T().createElement("mask",{id:"mask2_4441_155706","mask-type":"luminance",maskUnits:"userSpaceOnUse",x:"87",y:"30",width:"28",height:"28"},T().createElement("path",{d:"M115 43.941C115 51.6407 108.732 57.8819 101 57.8819C96.6159 57.8819 92.7022 55.8757 90.1356 52.7343C88.1749 50.3351 87 47.275 87 43.941C87 36.2413 93.2684 30 101 30C108.732 30 115 36.2413 115 43.941Z",fill:"white"})),T().createElement("g",{mask:"url(#mask2_4441_155706)"},T().createElement("path",{d:"M108.286 52.6015L107.739 41.6589C107.506 37.0108 104.56 33.3966 101.002 33.3966C97.4454 33.3966 94.4988 37.0108 94.2664 41.6589L93.7188 52.6015H108.286Z",fill:"var(--neutral-1200)"}),T().createElement("path",{d:"M111.559 52.9532C111.041 51.159 109.59 49.7866 107.77 49.3672L103.92 48.4804H98.083L94.233 49.3672C92.4123 49.7866 90.9622 51.159 90.4435 52.9532L88.9744 60.7126H113.028L111.559 52.9532Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{opacity:"0.24",d:"M111.559 52.9532C111.041 51.159 109.59 49.7866 107.77 49.3672L103.92 48.4804H98.083L94.233 49.3672C92.4123 49.7866 90.9622 51.159 90.4435 52.9532L88.9744 60.7126H113.028L111.559 52.9532Z",fill:"#1C58D9"}),T().createElement("path",{d:"M103.531 48.6403L102.741 45.9391H99.2756L98.6347 48.6403C100.034 49.3906 102.132 49.3906 103.531 48.6403Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{d:"M103.531 48.6403L102.741 45.9391H99.2756L98.6347 48.6403C100.034 49.3906 102.132 49.3906 103.531 48.6403Z",fill:"var(--center-channel-color)",fillOpacity:"0.56"}),T().createElement("path",{d:"M105.956 40.3675C106.442 40.2298 106.464 40.989 106.28 41.7766C106.111 42.4944 105.956 43.6672 105.45 43.3825C104.841 45.0725 103.73 46.3575 102.386 46.8663C101.969 47.0577 101.526 47.1624 101.066 47.1624C100.474 47.1624 99.9092 46.9888 99.3924 46.6802C98.232 46.08 97.2824 44.885 96.7384 43.3643C96.2394 43.4953 96.0277 42.2555 95.9154 41.7766C95.7727 41.1682 95.5915 40.3674 96.2394 40.3674C96.2527 36.6812 98.4227 33.6986 101.098 33.6986C103.772 33.6986 105.942 36.6812 105.956 40.3675Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{d:"M105.956 40.3675C106.442 40.2298 106.464 40.989 106.28 41.7766C106.111 42.4944 105.956 43.6672 105.45 43.3825C104.841 45.0725 103.73 46.3575 102.386 46.8663C101.969 47.0577 101.526 47.1624 101.066 47.1624C100.474 47.1624 99.9092 46.9888 99.3924 46.6802C98.232 46.08 97.2824 44.885 96.7384 43.3643C96.2394 43.4953 96.0277 42.2555 95.9154 41.7766C95.7727 41.1682 95.5915 40.3674 96.2394 40.3674C96.2527 36.6812 98.4227 33.6986 101.098 33.6986C103.772 33.6986 105.942 36.6812 105.956 40.3675Z",fill:"var(--center-channel-color)",fillOpacity:"0.56"}),T().createElement("path",{d:"M106.351 40.3897C106.344 40.4455 106.307 40.4948 106.25 40.5227C106.194 40.5506 106.125 40.5538 106.066 40.5307C104.576 39.9629 103.131 38.4316 102.675 36.9943C101.229 38.4937 98.8432 40.2472 96.4657 40.6326C96.4527 40.635 96.4407 40.6358 96.4278 40.6358L96.4287 40.6366C96.3862 40.6366 96.3436 40.6246 96.3085 40.6031C96.2632 40.5745 96.2336 40.5307 96.2262 40.4829C95.9871 38.7663 96.4912 35.5187 98.0222 34.5167C99.0348 33.8539 99.8141 33.4136 101.082 33.4967C102.37 33.5811 103.77 34.2791 104.768 34.986C106.247 36.0345 106.559 38.7152 106.351 40.3897Z",fill:"var(--neutral-1200)"})),T().createElement("path",{d:"M152 80.9408C152 88.6405 145.731 94.8817 138 94.8817C133.616 94.8817 129.702 92.8755 127.136 89.7341C125.175 87.3349 124 84.2748 124 80.9408C124 73.2412 130.268 67 138 67C145.731 67 152 73.2412 152 80.9408Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{d:"M152 80.9408C152 88.6405 145.731 94.8817 138 94.8817C133.616 94.8817 129.702 92.8755 127.136 89.7341C125.175 87.3349 124 84.2748 124 80.9408C124 73.2412 130.268 67 138 67C145.731 67 152 73.2412 152 80.9408Z",fill:"var(--center-channel-color)",fillOpacity:"0.12"}),T().createElement("mask",{id:"mask3_4441_155706","mask-type":"luminance",maskUnits:"userSpaceOnUse",x:"124",y:"67",width:"29",height:"28"},T().createElement("path",{d:"M152 80.9408C152 88.6405 145.732 94.8817 138 94.8817C133.616 94.8817 129.703 92.8755 127.136 89.7341C125.175 87.3349 124 84.2748 124 80.9408C124 73.2412 130.269 67 138 67C145.732 67 152 73.2412 152 80.9408Z",fill:"white"})),T().createElement("g",{mask:"url(#mask3_4441_155706)"},T().createElement("path",{d:"M150.352 92.3824C149.744 90.417 148.047 88.9139 145.918 88.4545L141.414 87.4836H134.586L130.081 88.4545C127.951 88.9139 126.255 90.417 125.648 92.3824L123.929 100.881H152.07L150.352 92.3824Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{opacity:"0.24",d:"M150.352 92.3824C149.744 90.417 148.048 88.9139 145.919 88.4545L141.415 87.4836H134.586L130.082 88.4545C127.952 88.9139 126.255 90.417 125.649 92.3824L123.93 100.881H152.071L150.352 92.3824Z",fill:"#1C58D9"}),T().createElement("path",{d:"M140.736 87.8616L139.814 85.1019H135.768L135.019 87.8616C136.653 88.6282 139.103 88.6282 140.736 87.8616Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{d:"M140.736 87.8616L139.814 85.1019H135.768L135.019 87.8616C136.653 88.6282 139.103 88.6282 140.736 87.8616Z",fill:"var(--center-channel-color)",fillOpacity:"0.56"}),T().createElement("path",{d:"M143.13 79.5591C143.654 79.4178 143.678 80.1968 143.479 81.0049C143.298 81.7414 143.13 82.9448 142.585 82.6527C141.929 84.3868 140.731 85.7053 139.283 86.2273C138.833 86.4237 138.355 86.5312 137.86 86.5312C137.222 86.5312 136.613 86.3531 136.056 86.0364C134.806 85.4206 133.782 84.1944 133.196 82.634C132.658 82.7685 132.43 81.4963 132.309 81.0049C132.155 80.3806 131.96 79.559 132.658 79.559C132.672 75.7767 135.011 72.7163 137.894 72.7163C140.777 72.7163 143.116 75.7767 143.13 79.5591Z",fill:"var(--center-channel-bg)"}),T().createElement("path",{d:"M143.13 79.5591C143.654 79.4178 143.678 80.1968 143.479 81.0049C143.298 81.7414 143.13 82.9448 142.585 82.6527C141.929 84.3868 140.731 85.7053 139.283 86.2273C138.833 86.4237 138.355 86.5312 137.86 86.5312C137.222 86.5312 136.613 86.3531 136.056 86.0364C134.806 85.4206 133.782 84.1944 133.196 82.634C132.658 82.7685 132.43 81.4963 132.309 81.0049C132.155 80.3806 131.96 79.559 132.658 79.559C132.672 75.7767 135.011 72.7163 137.894 72.7163C140.777 72.7163 143.116 75.7767 143.13 79.5591Z",fill:"var(--center-channel-color)",fillOpacity:"0.56"}),T().createElement("path",{d:"M132.172 72.0366C130.832 73.675 130.803 76.3499 132.096 78.7459C132.538 79.277 132.978 79.8071 133.42 80.3382C133.406 76.4669 134.034 75.424 134.644 75.234C135.649 74.9186 136.841 76.8499 139.022 76.8017C139.354 76.7942 140.099 76.7673 140.554 76.2459C140.946 75.7963 140.887 75.2448 141.005 75.233C141.2 75.2137 141.552 76.2673 142.229 80.3371C142.664 79.8028 143.101 79.2674 143.536 78.733C143.774 77.8038 143.993 76.5849 144.008 75.1493C144.028 73.2083 143.077 71.9796 142.737 70.8884C141.457 74.1194 140.167 70.0895 136.056 70.0961C134.72 70.0983 133.05 70.9636 132.172 72.0366Z",fill:"var(--neutral-1200)"})),T().createElement("rect",{x:"108",y:"4",width:"83",height:"50",rx:"4",fill:"var(--neutral-1200)",fillOpacity:"0.32"}),T().createElement("rect",{x:"110.5",y:"0.5",width:"82",height:"49",rx:"3.5",fill:"var(--center-channel-bg)",stroke:"var(--center-channel-color)"}),T().createElement("path",{d:"M152 10H166.481",stroke:"var(--center-channel-color)",strokeOpacity:"0.56",strokeLinecap:"round"}),T().createElement("path",{d:"M152 16H175",stroke:"var(--center-channel-color)",strokeOpacity:"0.56",strokeLinecap:"round"}),T().createElement("path",{d:"M152 22H182",stroke:"var(--center-channel-color)",strokeOpacity:"0.56",strokeLinecap:"round"}),T().createElement("path",{d:"M152 28H182",stroke:"var(--center-channel-color)",strokeOpacity:"0.56",strokeLinecap:"round"}),T().createElement("path",{d:"M168.891 10H178.525",stroke:"var(--center-channel-color)",strokeOpacity:"0.56",strokeLinecap:"round"}),T().createElement("path",{d:"M180.932 10H183.946",stroke:"var(--center-channel-color)",strokeOpacity:"0.56",strokeLinecap:"round"}),T().createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M127.509 6.91797H130.5L130.879 9.3795C131.794 9.58757 132.651 9.94891 133.422 10.4351L135.435 8.95885L137.55 11.0739L136.056 13.1106C136.521 13.8733 136.865 14.7179 137.061 15.6177L139.592 16.007V18.9982L136.996 19.3976C136.779 20.2497 136.428 21.0485 135.968 21.7704L137.55 23.9276L135.435 26.0426L133.226 24.4233C132.521 24.8414 131.747 25.1567 130.926 25.3485L130.505 28.0859H127.514L127.089 25.3257C126.282 25.127 125.522 24.8087 124.829 24.3908L122.577 26.0425L120.462 23.9274L122.097 21.6981C121.661 20.9993 121.328 20.2302 121.118 19.4116L118.422 18.9969V16.0057L121.053 15.601C121.243 14.7356 121.57 13.9214 122.01 13.1824L120.464 11.0737L122.579 8.95866L124.637 10.4677C125.391 9.98385 126.23 9.62025 127.127 9.40401L127.509 6.91797ZM133.041 17.3689C133.041 19.5704 131.256 21.355 129.054 21.355C126.853 21.355 125.068 19.5704 125.068 17.3689C125.068 15.1675 126.853 13.3828 129.054 13.3828C131.256 13.3828 133.041 15.1675 133.041 17.3689Z",fill:"var(--center-channel-color)",fillOpacity:"0.56"}),T().createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M138.405 30.9492H140.038L140.244 32.2907C140.745 32.4044 141.213 32.602 141.635 32.8679L142.73 32.0643L143.885 33.2188L143.071 34.3279C143.325 34.744 143.513 35.2048 143.619 35.6957L145 35.9081V37.5407L143.584 37.7585C143.465 38.2245 143.274 38.6613 143.022 39.0558L143.885 40.2329L142.73 41.3874L141.525 40.5032C141.14 40.7307 140.719 40.9023 140.272 41.0069L140.042 42.5039H138.409L138.177 40.9948C137.737 40.8867 137.324 40.7135 136.946 40.4861L135.715 41.3888L134.561 40.2344L135.453 39.0171C135.215 38.6355 135.033 38.2155 134.918 37.7683L133.445 37.5418V35.9092L134.881 35.6882C134.985 35.2163 135.163 34.7723 135.403 34.3692L134.56 33.2202L135.715 32.0657L136.835 32.887C137.247 32.6218 137.706 32.4226 138.197 32.3043L138.405 30.9492ZM141.426 36.6523C141.426 37.8539 140.452 38.828 139.25 38.828C138.048 38.828 137.074 37.8539 137.074 36.6523C137.074 35.4507 138.048 34.4766 139.25 34.4766C140.452 34.4766 141.426 35.4507 141.426 36.6523Z",fill:"var(--center-channel-color)",fillOpacity:"0.56"}));vo.propTypes={width:L().number,height:L().number};const Mo=vo;var yo=s(33870);const So=(0,N.defineMessages)({title:{id:"admin.feature_flags.title",defaultMessage:"Features Flags"}});var Ao=s(87373),Co=s(75616),_o=s(65657),To=s(31229);const No=e=>{let{name:t,title:s,customID:a,isDisabled:n,showAtMention:i,onChange:r}=e;return T().createElement("div",{className:"group-profile form-horizontal",id:a},T().createElement("div",{className:"group-profile-field form-group mb-0"},T().createElement("label",{className:"control-label col-sm-4",htmlFor:a+"Input"},T().createElement(N.FormattedMessage,s)),T().createElement("div",{className:"col-sm-8"},T().createElement("div",{className:"icon-over-input"},i&&T().createElement(To.A,{className:"icon icon__mentions","aria-hidden":"true"})),T().createElement("input",{id:a+"Input",type:"text",className:"form-control group-at-mention-input",value:t,disabled:n,onChange:r}))))};No.propTypes={name:L().string,customID:L().string.isRequired,isDisabled:L().bool,showAtMention:L().bool.isRequired,onChange:L().func};const Ro=(0,_.memo)(No);var wo=s(79407);const Io=e=>{const{title:t,subTitle:s,singleLine:a,toggled:n,onToggle:i,children:r,offText:o,onText:l,disabled:d,last:c,id:m}=e;return T().createElement("div",null,T().createElement("div",{className:"line-switch d-flex flex-sm-column flex-md-row align-items-sm-start align-items-center"},T().createElement("label",{className:"line-switch__label"},t),T().createElement("div",{"data-testid":m,className:"line-switch__toggle"},T().createElement(wo.A,{id:m,disabled:d,onToggle:i,toggled:n,onText:l,offText:o}))),T().createElement("div",{className:"row"},T().createElement("div",{className:"col-sm-10"},T().createElement("div",{className:"help-text-small help-text-no-padding ".concat(a?"help-text-single-line":"")},s))),r,!c&&T().createElement("div",{className:"section-separator"},T().createElement("hr",{className:"separator__hr"})))};Io.propTypes={id:L().string.isRequired,title:L().element.isRequired,toggled:L().bool.isRequired,subTitle:L().element.isRequired,onToggle:L().func.isRequired,last:L().bool,disabled:L().bool,singleLine:L().bool,children:L().element,offText:L().element,onText:L().element};const Oo=Io,Po=e=>{let{subtitle:t,title:s,button:a,children:n,className:i="",id:r,onHeaderClick:o,subtitleValues:l}=e;return T().createElement("div",{className:"AdminPanel clearfix "+i,id:r},T().createElement("div",{className:"header",onClick:o},T().createElement("div",null,T().createElement("h3",null,T().createElement(N.FormattedMessage,s)),T().createElement("div",{className:"mt-2"},T().createElement(N.FormattedMessage,Object.assign({},t,{values:l})))),a&&T().createElement("div",{className:"button"},a)),n)};Po.propTypes={id:L().string,className:L().string,onHeaderClick:L().func,subtitleValues:L().any,button:L().node,children:L().node};const ko=Po,xo=e=>{let{isDefault:t,allowReference:s,onToggle:a,isDisabled:n}=e;return T().createElement(Oo,{id:"allowReferenceSwitch",disabled:n||t,toggled:s,last:!0,onToggle:()=>{t||a(!s)},singleLine:!1,title:T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_details.groupDetailsToggle",defaultMessage:"Enable Group Mention"}),subTitle:T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_details.groupDetailsToggleDescr",defaultMessage:"When enabled, this group can be mentioned in other channels and teams. This may result in the group member list being visible to all users."})})};xo.propTypes={isDefault:L().bool.isRequired,allowReference:L().bool.isRequired,onToggle:L().func.isRequired,isDisabled:L().bool};const Do=e=>{let{displayname:t,mentionname:s,allowReference:a,onToggle:n,onChange:i,readOnly:r}=e;return T().createElement(ko,{id:"group_profile",title:(0,N.defineMessage)({id:"admin.group_settings.group_detail.groupProfileTitle",defaultMessage:"Group Profile"}),subtitle:(0,N.defineMessage)({id:"admin.group_settings.group_detail.groupProfileDescription",defaultMessage:"The name for this group."})},T().createElement(Ro,{name:t,title:(0,N.defineMessage)({id:"admin.group_settings.group_details.group_profile.name",defaultMessage:"Name:"}),customID:"groupDisplayName",isDisabled:!0,showAtMention:!1}),T().createElement("div",{className:"group-settings"},T().createElement("div",{className:"group-settings--body"},T().createElement("div",{className:"section-separator"},T().createElement("hr",{className:"separator__hr"})),T().createElement(xo,{isDefault:!1,allowReference:a,onToggle:n,isDisabled:r}))),a&&T().createElement(Ro,{name:s,title:(0,N.defineMessage)({id:"admin.group_settings.group_details.group_mention.name",defaultMessage:"Group Mention:"}),customID:"groupMention",isDisabled:r,showAtMention:!0,onChange:i}))};Do.propTypes={displayname:L().string.isRequired,mentionname:L().string,allowReference:L().bool.isRequired,onChange:L().func.isRequired,onToggle:L().func.isRequired,readOnly:L().bool};var Lo=s(3583),Fo=s.n(Lo);function Bo(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class Ho extends T().PureComponent{constructor(e){super(e),Bo(this,"removeItem",(()=>{this.props.onRemoveItem(this.props.id,this.props.type),this.setState({showConfirmationModal:!1})})),Bo(this,"changeRoles",(()=>{this.props.onChangeRoles(this.props.id,this.props.type,!this.props.schemeAdmin)})),Bo(this,"toggleCollapse",(()=>{this.props.onToggleCollapse(this.props.id)})),Bo(this,"displayAssignedRolesDropdown",(()=>{const{schemeAdmin:e,name:t,isDisabled:s}=this.props,a=T().createElement(N.FormattedMessage,{id:"admin.group_teams_and_channels_row.channelAdmin",defaultMessage:"Channel Admin"}),n=T().createElement(N.FormattedMessage,{id:"admin.group_teams_and_channels_row.teamAdmin",defaultMessage:"Team Admin"}),i=T().createElement(N.FormattedMessage,{id:"admin.group_teams_and_channels_row.member",defaultMessage:"Member"});let r=null;if(!Fo()(e)){let o=i,l=this.props.type.includes("team")?n:a;e&&(o=this.props.type.includes("team")?n:a,l=i),r=T().createElement("div",null,T().createElement(hi.A,{isDisabled:s},T().createElement("div",{"data-testid":"".concat(t,"_current_role")},T().createElement("a",null,T().createElement("span",null,o," "),T().createElement("span",{className:"caret"}))),T().createElement(gi.A,{openLeft:!0,openUp:!0,ariaLabel:(0,H.Vw)({id:"admin.team_channel_settings.group_row.memberRole",defaultMessage:"Member Role"}),id:"".concat(t,"_change_role_options")},T().createElement(gi.A.ItemAction,{testid:"".concat(t,"_role_to_be"),onClick:this.changeRoles,text:l}))))}return r})),Bo(this,"render",(()=>{let e="",t=null;this.props.hasChildren&&(t=T().createElement("i",{className:"fa "+(this.props.collapsed?"fa-caret-right":"fa-caret-down"),onClick:this.toggleCollapse}),e+=" has-children"),this.props.collapsed&&(e+=" collapsed");let s=null,a=null;switch(this.props.type){case"public-team":a=T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_details.group_teams_and_channels_row.publicTeam",defaultMessage:"Team"});break;case"private-team":a=T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_details.group_teams_and_channels_row.privateTeam",defaultMessage:"Team (Private)"})}switch(this.props.type){case"public-channel":s=T().createElement("span",{className:"channel-icon"},T().createElement(Bi.A,{className:"icon icon__globe"})),a=T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_details.group_teams_and_channels_row.publicChannel",defaultMessage:"Channel"});break;case"private-channel":s=T().createElement("span",{className:"channel-icon"},T().createElement(Hi.A,{className:"icon icon__lock"})),a=T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_details.group_teams_and_channels_row.privateChannel",defaultMessage:"Channel (Private)"})}const n=this.props.type.split("-")[1];return T().createElement("tr",{className:"group-teams-and-channels-row"+e},T().createElement(St.A,{show:this.state.showConfirmationModal,title:T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_details.group_teams_and_channels_row.remove.confirm_header",defaultMessage:"Remove Membership from the {name} {displayType}?",values:{name:this.props.name,displayType:n}}),message:T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_details.group_teams_and_channels_row.remove.confirm_body",defaultMessage:"Removing this membership will prevent future users in this group from being added to the {name} {displayType}.",values:{name:this.props.name,displayType:n}}),confirmButtonText:T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_details.group_teams_and_channels_row.remove.confirm_button",defaultMessage:"Yes, Remove"}),onConfirm:this.removeItem,onCancel:()=>this.setState({showConfirmationModal:!1})}),T().createElement("td",null,T().createElement("span",{className:"arrow-icon"},t),s,T().createElement("span",{className:re()({"name-no-arrow":Fo()(t)&&Fo()(s)})},this.props.name)),T().createElement("td",{className:"type"},a),T().createElement("td",null,this.displayAssignedRolesDropdown()),T().createElement("td",{className:"text-right"},T().createElement("button",{type:"button",className:"btn btn-tertiary",onClick:()=>this.setState({showConfirmationModal:!0}),"data-testid":"".concat(this.props.name,"_groupsyncable_remove"),disabled:this.props.isDisabled},T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_details.group_teams_and_channels_row.remove",defaultMessage:"Remove"}))))})),this.state={showConfirmationModal:!1}}}function Uo(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function Go(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}Bo(Ho,"propTypes",{id:L().string.isRequired,type:L().string.isRequired,name:L().string.isRequired,hasChildren:L().bool,collapsed:L().bool,onRemoveItem:L().func.isRequired,onToggleCollapse:L().func.isRequired,onChangeRoles:L().func.isRequired,schemeAdmin:L().bool,isDisabled:L().bool});class jo extends T().PureComponent{constructor(e){super(e),Go(this,"onToggleCollapse",(e=>{const t=function(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?Uo(Object(s),!0).forEach((function(t){Go(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):Uo(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}({},this.state.collapsed);t[e]=!t[e],this.setState({collapsed:t})})),Go(this,"onRemoveItem",((e,t)=>{this.props.onRemoveItem(e,t)})),Go(this,"onChangeRoles",(async(e,t,s)=>{this.props.onChangeRoles(e,t,s)})),Go(this,"teamsAndChannelsToEntries",((e,t)=>{const s=[],a=new Set,n=[];null==e||e.forEach((e=>{a.add(e.team_id),n.push({type:"O"===e.team_type?"public-team":"private-team",hasChildren:null==t?void 0:t.some((t=>t.team_id===e.team_id)),name:e.team_display_name,collapsed:this.state.collapsed[e.team_id],id:e.team_id,schemeAdmin:e.scheme_admin})}));const i={};return null==t||t.forEach((e=>{i[e.team_id]=i[e.team_id]||[],i[e.team_id].push({type:"O"===e.channel_type?"public-channel":"private-channel",name:e.channel_display_name,id:e.channel_id,schemeAdmin:e.scheme_admin}),a.has(e.team_id)||(a.add(e.team_id),n.push({type:"O"===e.team_type?"public-team":"private-team",hasChildren:!0,name:e.team_display_name,collapsed:this.state.collapsed[e.team_id],id:e.team_id}))})),n.sort(((e,t)=>e.name&&t.name?e.name.localeCompare(t.name):0)),n.forEach((e=>{if(s.push(e),e.hasChildren&&!e.collapsed){const t=i[e.id];t.sort(((e,t)=>e.name.localeCompare(t.name))),s.push(...t)}})),s})),Go(this,"render",(()=>{const e=this.teamsAndChannelsToEntries(this.props.teams,this.props.channels);return this.props.loading?T().createElement("div",{className:"group-teams-and-channels"},T().createElement("div",{className:"group-teams-and-channels-loading"},T().createElement("i",{className:"fa fa-spinner fa-pulse fa-2x"}))):0===e.length?T().createElement("div",{className:"group-teams-and-channels"},T().createElement("div",{className:"group-teams-and-channels-empty"},T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_details.group_teams_and_channels.no-teams-or-channels-speicified",defaultMessage:"No teams or channels specified yet"}))):T().createElement("div",{className:"AdminPanel__content"},T().createElement("table",{id:"team_and_channel_membership_table",className:"AdminPanel__table group-teams-and-channels"},T().createElement("thead",{className:"group-teams-and-channels--header"},T().createElement("tr",null,T().createElement("th",{style:{width:"30%"}},T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_profile.group_teams_and_channels.name",defaultMessage:"Name"})),T().createElement("th",{style:{width:"25%"}},T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_profile.group_teams_and_channels.type",defaultMessage:"Type"})),T().createElement("th",{style:{width:"25%"}},T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_profile.group_teams_and_channels.assignedRoles",defaultMessage:"Assigned Roles"})),T().createElement("th",{style:{width:"20%"}}))),T().createElement("tbody",{className:"group-teams-and-channels--body"},e.map((e=>T().createElement(Ho,Object.assign({key:e.id,onRemoveItem:this.onRemoveItem,onChangeRoles:this.onChangeRoles,onToggleCollapse:this.onToggleCollapse,isDisabled:this.props.isDisabled},e)))))))})),this.state={collapsed:{}}}}Go(jo,"propTypes",{id:L().string.isRequired,teams:L().array,channels:L().array,loading:L().bool.isRequired,onChangeRoles:L().func.isRequired,onRemoveItem:L().func.isRequired,isDisabled:L().bool});var qo=s(41468);const Wo=e=>{let{username:t,displayName:s,email:a,userId:n,lastPictureUpdate:i}=e;return T().createElement("div",{className:"group-users-row"},T().createElement(qo.A,{username:t,url:de.mT.getProfilePictureUrl(n,i),size:"lg"}),T().createElement("div",{className:"user-data"},T().createElement("div",{className:"name-row"},T().createElement("span",{className:"username"},"@"+t),"-",T().createElement("span",{className:"display-name"},s)),T().createElement("div",null,T().createElement("span",{className:"email-label"},T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_details.group_users.email",defaultMessage:"Email:"})),T().createElement("span",{className:"email"},a))))};Wo.propTypes={username:L().string.isRequired,displayName:L().string.isRequired,email:L().string.isRequired,userId:L().string.isRequired,lastPictureUpdate:L().number.isRequired};const Vo=T().memo(Wo);function zo(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const Yo=20;class Zo extends T().PureComponent{constructor(e){super(e),zo(this,"previousPage",(()=>{const e=this.state.page<1?0:this.state.page-1;this.setState({page:e})})),zo(this,"nextPage",(async()=>{const{total:e,members:t,groupID:s,getMembers:a}=this.props,n=(this.state.page+1)*Yo>=e?this.state.page:this.state.page+1;if(n===this.state.page)return;const i=(n+1)*Yo>=e?e:(n+1)*Yo;t.length>=i?this.setState({page:n}):(this.setState({page:n,loading:!0}),await a(s,n,Yo),this.setState({loading:!1}))})),zo(this,"renderRows",(()=>0===this.props.members.length?T().createElement("div",{className:"group-users-empty"},T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_details.group_users.no-users-found",defaultMessage:"No users found"})):this.props.members.slice(this.state.page*Yo,(this.state.page+1)*Yo).map((e=>T().createElement(Vo,{key:e.id,username:e.username,displayName:e.first_name+" "+e.last_name,email:e.email,userId:e.id,lastPictureUpdate:e.last_picture_update}))))),zo(this,"renderPagination",(()=>{if(0===this.props.members.length)return T().createElement("div",{className:"group-users--footer empty"});const e=this.state.page*Yo+1;let t=this.state.page*Yo+Yo;const s=this.props.total;t>s&&(t=s);const a=t===s,n=0===this.state.page;return T().createElement("div",{className:"group-users--footer"},T().createElement("div",{className:"counter"},T().createElement(N.FormattedMessage,{id:"admin.group_settings.groups_list.paginatorCount",defaultMessage:"{startCount, number} - {endCount, number} of {total, number}",values:{startCount:e,endCount:t,total:s}})),T().createElement("button",{type:"button",className:"btn btn-tertiary prev "+(n?"disabled":""),onClick:this.previousPage,disabled:n},T().createElement(Fn.A,null)),T().createElement("button",{type:"button",className:"btn btn-tertiary next "+(a?"disabled":""),onClick:this.nextPage,disabled:a},T().createElement(Ln.A,null)))})),zo(this,"render",(()=>T().createElement("div",{className:"group-users"},T().createElement("div",{className:"group-users--header"},T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_profile.group_users.ldapConnectorText",defaultMessage:"AD/LDAP Connector is configured to sync and manage this group and its users. <a>Click here to view</a>",values:{a:e=>T().createElement(R.Link,{to:"/admin_console/authentication/ldap"},e)}})),T().createElement("div",{className:"group-users--body"},T().createElement("div",{className:"group-users-loading "+(this.state.loading?"active":"")},T().createElement("i",{className:"fa fa-spinner fa-pulse fa-2x"})),this.renderRows()),this.renderPagination()))),this.state={loading:!0,page:0}}componentDidMount(){this.props.getMembers(this.props.groupID,0,Yo).then((()=>{this.setState({loading:!1})}))}}zo(Zo,"propTypes",{groupID:L().string.isRequired,members:L().array.isRequired,total:L().number.isRequired,getMembers:L().func.isRequired});var Jo=s(20463);const Qo=["blocked","actions","onClick","onCancelConfirmed"],Ko=e=>{let{blocked:t,actions:s,onClick:a,onCancelConfirmed:n}=e,i=function(e,t){if(null==e)return{};var s,a,n=function(e,t){if(null==e)return{};var s={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;s[a]=e[a]}return s}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)s=i[a],t.includes(s)||{}.propertyIsEnumerable.call(e,s)&&(n[s]=e[s])}return n}(e,Qo);const r=(0,_.useCallback)((e=>{null==a||a(e),t&&(e.preventDefault(),s.deferNavigation((()=>{n()})))}),[s,t,a,n]);return T().createElement("button",Object.assign({},i,{onClick:r}))},Xo=T().memo(Ko),$o=(0,a.connect)((function(e){return{blocked:(0,Jo.$S)(e)}}),(function(e){return{actions:(0,n.bindActionCreators)({deferNavigation:h.Ld},e)}}))(Xo),el=e=>{let{saveNeeded:t,onClick:s,saving:a,serverError:n,cancelLink:i,onCancel:r,isDisabled:o,savingMessage:l}=e;const{formatMessage:d}=(0,N.useIntl)();return T().createElement("div",{className:"admin-console-save"},T().createElement($e.A,{saving:a,disabled:o||!t,onClick:s,savingMessage:null!=l?l:d({id:"admin.team_channel_settings.saving",defaultMessage:"Saving Config..."})}),i?T().createElement(ka.A,{id:"cancelButtonSettings",className:"btn btn-quaternary",to:i},T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.cancel",defaultMessage:"Cancel"})):r&&T().createElement($o,{id:"cancelButtonSettings",className:"btn btn-quaternary",onCancelConfirmed:r},T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.cancel",defaultMessage:"Cancel"})),T().createElement("div",{className:"error-message"},n))};el.propTypes={saving:L().bool.isRequired,saveNeeded:L().bool.isRequired,onClick:L().func.isRequired,serverError:L().oneOfType([L().element,L().string]),isDisabled:L().bool,savingMessage:L().string};const tl=el;function sl(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class al extends T().PureComponent{constructor(e){super(e),sl(this,"openAddChannel",(()=>{this.setState({addChannelOpen:!0})})),sl(this,"closeAddChannel",(()=>{this.setState({addChannelOpen:!1})})),sl(this,"openAddTeam",(()=>{this.setState({addTeamOpen:!0})})),sl(this,"closeAddTeam",(()=>{this.setState({addTeamOpen:!1})})),sl(this,"addTeams",(e=>{const{groupID:t}=this.props,{groupTeams:s=[]}=this.state,a=e.map((e=>({group_id:t,scheme_admin:!1,team_display_name:e.display_name,team_id:e.id,team_type:e.type})));this.setState({saveNeeded:!0,groupTeams:s.concat(a),teamsToAdd:a}),this.props.actions.setNavigationBlocked(!0)})),sl(this,"addChannels",(e=>{const{groupID:t}=this.props,{groupChannels:s=[]}=this.state,a=e.map((e=>({channel_display_name:e.display_name,channel_id:e.id,channel_type:e.type,group_id:t,scheme_admin:!1,team_display_name:e.team_display_name,team_id:e.team_id})));this.setState({saveNeeded:!0,groupChannels:s.concat(a),channelsToAdd:a}),this.props.actions.setNavigationBlocked(!0)})),sl(this,"onRemoveTeamOrChannel",((e,t)=>{const{groupTeams:s,groupChannels:a,itemsToRemove:n=[],channelsToAdd:i,teamsToAdd:r}=this.state,o={saveNeeded:!0,itemsToRemove:n,serverError:void 0},l=this.syncableTypeFromEntryType(t);let d=!0;l===_o.CL.Channel?(o.channelsToAdd=null==i?void 0:i.filter((t=>t.channel_id!==e)),this.props.groupChannels.some((t=>t.channel_id===e))||(d=!1)):l===_o.CL.Team&&(o.teamsToAdd=null==r?void 0:r.filter((t=>t.team_id!==e)),this.props.groupTeams.some((t=>t.team_id===e))||(d=!1)),d&&n.push({id:e,type:t}),this.syncableTypeFromEntryType(t)===_o.CL.Team?o.groupTeams=null==s?void 0:s.filter((t=>t.team_id!==e)):o.groupChannels=null==a?void 0:a.filter((t=>t.channel_id!==e)),this.setState(o),this.props.actions.setNavigationBlocked(!0)})),sl(this,"syncableTypeFromEntryType",(e=>{switch(e){case"public-team":case"private-team":return _o.CL.Team;case"public-channel":case"private-channel":return _o.CL.Channel;default:return null}})),sl(this,"onChangeRoles",((e,t,s)=>{const{rolesToChange:a={},groupTeams:n=[],groupChannels:i=[]}=this.state;let r,o,l;a["".concat(e,"/").concat(t)]=s,this.syncableTypeFromEntryType(t)===_o.CL.Team?(r=n,o=e=>e.team_id,l="groupTeams"):(r=i,o=e=>e.channel_id,l="groupChannels");const d=r.map((t=>(o(t)===e&&(t.scheme_admin=s),t)));this.setState({saveNeeded:!0,rolesToChange:a,[l]:d}),this.props.actions.setNavigationBlocked(!0)})),sl(this,"onMentionToggle",(e=>{const{group:t}=this.props,s=t.allow_reference,a=!0;let{groupMentionName:n}=this.state;s||!e||n||(n=t.display_name.toLowerCase().replace(/\s/g,"-")),this.setState({saveNeeded:a,allowReference:e,groupMentionName:n,hasAllowReferenceChanged:e!==s}),this.props.actions.setNavigationBlocked(a)})),sl(this,"onMentionChange",(e=>{const{group:t}=this.props,s=t.name,a=e.target.value,n=!0;this.setState({saveNeeded:n,groupMentionName:a,hasGroupMentionNameChanged:a!==s}),this.props.actions.setNavigationBlocked(n)})),sl(this,"handleSubmit",(async()=>{this.setState({saving:!0});const e=await this.handlePatchGroup(),t=await this.handleAddedTeamsAndChannels(),s=await this.handleRemovedTeamsAndChannels(),a=await this.handleRolesToUpdate();await Promise.all([this.props.actions.getGroupSyncables(this.props.groupID,_o.CL.Channel),this.props.actions.getGroupSyncables(this.props.groupID,_o.CL.Team)]);const n=e&&t&&s&&a;this.setState({saveNeeded:!n,saving:!1}),this.props.actions.setNavigationBlocked(!n)})),sl(this,"roleChangeKey",(e=>{let t;return t=this.syncableTypeFromEntryType(e.type)===_o.CL.Team?e.team_id:e.channel_id,"".concat(t,"/").concat(e.type)})),sl(this,"handlePatchGroup",(async()=>{const{allowReference:e,groupMentionName:t,hasAllowReferenceChanged:s,hasGroupMentionNameChanged:a}=this.state;let n;const i=T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_detail.duplicateMentionNameError",defaultMessage:"Group mention is already taken."});if(!t&&e)return n=T().createElement(N.FormattedMessage,{id:"admin.group_settings.need_groupname",defaultMessage:"You must specify a group mention."}),this.setState({allowReference:e,serverError:n}),!1;if(s||a){let o;e&&(o=null==t?void 0:t.toLowerCase());const l=await this.props.actions.patchGroup(this.props.groupID,{allow_reference:Boolean(e),name:o});if(l.error)if("store.sql_group.unique_constraint"===l.error.server_error_id)n=i;else if("model.group.name.invalid_chars.app_error"===l.error.server_error_id)n=T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_detail.invalidOrReservedMentionNameError",defaultMessage:"Only letters (a-z), numbers(0-9), periods, dashes and underscores are allowed."});else if("api.ldap_groups.existing_reserved_name_error"===l.error.server_error_id||"api.ldap_groups.existing_user_name_error"===l.error.server_error_id||"api.ldap_groups.existing_group_name_error"===l.error.server_error_id)n=i;else if("model.group.name.invalid_length.app_error"===l.error.server_error_id)n=T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_detail.invalid_length",defaultMessage:"Name must be 1 to 64 lowercase alphanumeric characters."});else{var r;n=null===(r=l.error)||void 0===r?void 0:r.message}this.setState({allowReference:e,groupMentionName:o,serverError:n,hasAllowReferenceChanged:!!l.error&&s,hasGroupMentionNameChanged:!!l.error&&a})}return!n})),sl(this,"handleRolesToUpdate",(async()=>{const{rolesToChange:e}=this.state,t=[];e&&Object.entries(e).forEach((e=>{let[s,a]=e;const[n,i]=s.split("/"),r=this.syncableTypeFromEntryType(i);r&&t.push(this.props.actions.patchGroupSyncable(this.props.groupID,n,r,{scheme_admin:a,auto_add:!1}))}));const s=(await Promise.all(t)).map((e=>{var t;return null===(t=e.error)||void 0===t?void 0:t.message})).filter((e=>e));return s.length?(this.setState({serverError:T().createElement(T().Fragment,null,s[0])}),!1):(this.setState({rolesToChange:{}}),!0)})),sl(this,"handleAddedTeamsAndChannels",(async()=>{const{teamsToAdd:e,channelsToAdd:t,rolesToChange:s}=this.state,a=[];null!=e&&e.length&&e.forEach((e=>{const t=this.roleChangeKey(e);e.scheme_admin=null==s?void 0:s[t],null==s||delete s[t],a.push(this.props.actions.link(this.props.groupID,e.team_id,_o.CL.Team,{auto_add:!0,scheme_admin:Boolean(e.scheme_admin)}))})),null!=t&&t.length&&t.forEach((e=>{const t=this.roleChangeKey(e);e.scheme_admin=null==s?void 0:s[t],null==s||delete s[t],a.push(this.props.actions.link(this.props.groupID,e.channel_id,_o.CL.Channel,{auto_add:!0,scheme_admin:e.scheme_admin}))}));const n=(await Promise.all(a)).map((e=>{var t;return null===(t=e.error)||void 0===t?void 0:t.message})).filter((e=>e));return n.length?(this.setState({serverError:T().createElement(T().Fragment,null,n[0])}),!1):(this.setState({teamsToAdd:[],channelsToAdd:[]}),!0)})),sl(this,"handleRemovedTeamsAndChannels",(async()=>{const{itemsToRemove:e,rolesToChange:t}=this.state,s=[];e.length&&e.forEach((e=>{delete t[this.roleChangeKey(e)];const a=this.syncableTypeFromEntryType(e.type);a&&s.push(this.props.actions.unlink(this.props.groupID,e.id,a))}));const a=(await Promise.all(s)).map((e=>{var t;return null===(t=e.error)||void 0===t?void 0:t.message})).filter((e=>e));return a.length?(this.setState({serverError:T().createElement(T().Fragment,null,a[0])}),!1):(this.setState({itemsToRemove:[]}),!0)})),sl(this,"render",(()=>{const{group:e,members:t,memberCount:s,isDisabled:a}=this.props,{groupTeams:n,groupChannels:i}=this.state,{allowReference:r,groupMentionName:o,saving:l,saveNeeded:d,serverError:c}=this.state;return T().createElement("div",{className:"wrapper--fixed"},T().createElement(et,{withBackButton:!0},T().createElement("div",null,T().createElement(ka.A,{to:"/admin_console/user_management/groups",className:"fa fa-angle-left back"}),T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_detail.group_configuration",defaultMessage:"Group Configuration"}))),T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},T().createElement("div",{className:"banner info"},T().createElement("div",{className:"banner__content"},T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_detail.introBanner",defaultMessage:"Configure default teams and channels and view users belonging to this group."}))),T().createElement(Do,{displayname:e.display_name||"",mentionname:o,allowReference:r,onToggle:this.onMentionToggle,onChange:this.onMentionChange,readOnly:a}),T().createElement(ko,{id:"group_teams_and_channels",title:(0,N.defineMessage)({id:"admin.group_settings.group_detail.groupTeamsAndChannelsTitle",defaultMessage:"Team and Channel Membership"}),subtitle:(0,N.defineMessage)({id:"admin.group_settings.group_detail.groupTeamsAndChannelsDescription",defaultMessage:"Set default teams and channels for group members. Teams added will include default channels, town-square, and off-topic. Adding a channel without setting the team will add the implied team to the listing below."}),button:T().createElement("div",{className:"group-profile-add-menu"},T().createElement(hi.A,{isDisabled:a},T().createElement("button",{type:"button",id:"add_team_or_channel",className:"btn btn-primary"},T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_details.add_team_or_channel",defaultMessage:"Add Team or Channel"}),T().createElement("i",{className:"fa fa-caret-down"})),T().createElement(gi.A,{ariaLabel:this.props.intl.formatMessage({id:"admin.group_settings.group_details.menuAriaLabel",defaultMessage:"Add Team or Channel Menu"})},T().createElement(gi.A.ItemAction,{id:"add_team",onClick:this.openAddTeam,text:this.props.intl.formatMessage({id:"admin.group_settings.group_details.add_team",defaultMessage:"Add Team"})}),T().createElement(gi.A.ItemAction,{id:"add_channel",onClick:this.openAddChannel,text:this.props.intl.formatMessage({id:"admin.group_settings.group_details.add_channel",defaultMessage:"Add Channel"})}))))},T().createElement(jo,{id:this.props.groupID,teams:n,channels:i,loading:this.state.loadingTeamsAndChannels,onChangeRoles:this.onChangeRoles,onRemoveItem:this.onRemoveTeamOrChannel,isDisabled:a})),this.state.addTeamOpen&&T().createElement(Er,{onModalDismissed:this.closeAddTeam,onTeamsSelected:this.addTeams,alreadySelected:this.props.groupTeams.map((e=>e.team_id))}),this.state.addChannelOpen&&T().createElement(ur,{onModalDismissed:this.closeAddChannel,onChannelsSelected:this.addChannels,alreadySelected:this.props.groupChannels.map((e=>e.channel_id)),groupID:this.props.groupID}),T().createElement(ko,{id:"group_users",title:(0,N.defineMessage)({id:"admin.group_settings.group_detail.groupUsersTitle",defaultMessage:"Users"}),subtitle:(0,N.defineMessage)({id:"admin.group_settings.group_detail.groupUsersDescription",defaultMessage:"Listing of users in Mattermost associated with this group."})},T().createElement(Zo,{members:t,total:s,groupID:this.props.groupID,getMembers:this.props.actions.getMembers})))),T().createElement(tl,{saving:l,cancelLink:"/admin_console/user_management/groups",saveNeeded:d,onClick:this.handleSubmit,serverError:c&&T().createElement(ye.A,{iconClassName:"fa-exclamation-triangle",textClassName:"has-error",error:c})}))})),this.state={loadingTeamsAndChannels:!0,addTeamOpen:!1,addChannelOpen:!1,allowReference:Boolean(e.group.allow_reference),groupMentionName:e.group.name,saving:!1,saveNeeded:!1,serverError:void 0,hasAllowReferenceChanged:!1,hasGroupMentionNameChanged:!1,teamsToAdd:[],channelsToAdd:[],itemsToRemove:[],rolesToChange:{},groupTeams:[],groupChannels:[]}}componentDidMount(){const{groupID:e,actions:t}=this.props;t.getGroup(e),Promise.all([t.getGroupSyncables(e,_o.CL.Team),t.getGroupSyncables(e,_o.CL.Channel),t.getGroupStats(e)]).then((()=>{this.setState({loadingTeamsAndChannels:!1,allowReference:Boolean(this.props.group.allow_reference),groupMentionName:this.props.group.name})}))}componentDidUpdate(e,t){if(t.saveNeeded===this.state.saveNeeded||this.state.saveNeeded||e.groupChannels!==this.props.groupChannels||this.setState({groupChannels:this.props.groupChannels}),e.groupChannels!==this.props.groupChannels){let e;if(this.state.saveNeeded){const{groupChannels:t=[]}=this.state,s=t.map((e=>e.channel_id));e=this.props.groupChannels.filter((e=>!s.includes(e.channel_id))).concat(t)}else e=this.props.groupChannels;this.setState({groupChannels:e})}if(t.saveNeeded===this.state.saveNeeded||this.state.saveNeeded||e.groupTeams!==this.props.groupTeams||this.setState({groupTeams:this.props.groupTeams}),e.groupTeams!==this.props.groupTeams){let e;if(this.state.saveNeeded){const{groupTeams:t=[]}=this.state,s=t.map((e=>e.team_id));e=this.props.groupTeams.filter((e=>!s.includes(e.team_id))).concat(t)}else e=this.props.groupTeams;this.setState({groupTeams:e})}}}sl(al,"propTypes",{groupID:L().string,groupTeams:L().array,groupChannels:L().array,members:L().array,memberCount:L().number,isDisabled:L().bool,actions:L().shape({getGroup:L().func.isRequired,getMembers:L().func.isRequired,getGroupStats:L().func.isRequired,getGroupSyncables:L().func.isRequired,link:L().func.isRequired,unlink:L().func.isRequired,patchGroupSyncable:L().func.isRequired,patchGroup:L().func.isRequired,setNavigationBlocked:L().func.isRequired}).isRequired}),sl(al,"defaultProps",{groupID:"",members:[],groupTeams:[],groupChannels:[],group:{name:"",allow_reference:!1},memberCount:0});const nl=(0,N.injectIntl)(al),il=(0,a.connect)((function(e,t){const s=t.match.params.group_id;return{groupID:s,group:(0,Co.Wx)(e,s),groupTeams:(0,Co.Cu)(e,s),groupChannels:(0,Co.er)(e,s),members:(0,g.dA)(e,s),memberCount:(0,Co.PY)(e,s)}}),(function(e){return{actions:(0,n.bindActionCreators)({setNavigationBlocked:h.Jb,getGroup:Ao.Wx,getMembers:ds.dA,getGroupStats:Ao.f$,getGroupSyncables:Ao.g8,link:Ao.PY,unlink:Ao.IC,patchGroupSyncable:Ao.r2,patchGroup:Ao.E7},e)}}))(nl);s(97309);var rl=s(90617);const ol=e=>{const[t,s]=(0,_.useState)(!1),{formatMessage:a}=(0,N.useIntl)(),n=async t=>{t.stopPropagation(),t.preventDefault(),e.readOnly||(s(!0),await e.actions.link(e.primary_key),s(!1))},i=async t=>{t.stopPropagation(),t.preventDefault(),e.readOnly||(s(!0),await e.actions.unlink(e.primary_key),s(!1))};return T().createElement("div",{id:"".concat(e.name,"_group"),className:"group "+(e.checked?"checked":""),onClick:()=>{e.readOnly||e.onCheckToggle(e.primary_key)}},T().createElement("div",{className:"group-row"},T().createElement("div",{className:"group-name"},T().createElement("div",{className:"group-check "+(e.checked?"checked":"")},e.checked&&T().createElement(rl.A,null)),T().createElement("span",null,e.name)),T().createElement("div",{className:"group-content"},T().createElement("span",{className:"group-description"},t?T().createElement("a",{href:"#"},T().createElement($s.A,{text:e.mattermost_group_id?a({id:"admin.group_settings.group_row.unlinking",defaultMessage:"Unlinking"}):a({id:"admin.group_settings.group_row.linking",defaultMessage:"Linking"})})):e.mattermost_group_id?e.failed?T().createElement("a",{href:"#",onClick:i,className:"warning"},T().createElement("i",{className:"icon fa fa-exclamation-triangle"}),T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_row.unlink_failed",defaultMessage:"Unlink failed"})):T().createElement("a",{href:"#",onClick:i,className:e.readOnly?"disabled":""},T().createElement("i",{className:"icon fa fa-link"}),T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_row.linked",defaultMessage:"Linked"})):e.failed?T().createElement("a",{href:"#",onClick:n,className:"warning"},T().createElement("i",{className:"icon fa fa-exclamation-triangle"}),T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_row.link_failed",defaultMessage:"Link failed"})):T().createElement("a",{href:"#",onClick:n,className:e.readOnly?"disabled":""},T().createElement("i",{className:"icon fa fa-unlink"}),T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_row.not_linked",defaultMessage:"Not Linked"}))),T().createElement("span",{className:"group-actions"},e.mattermost_group_id?e.has_syncables?T().createElement(R.Link,{to:"/admin_console/user_management/groups/"+e.mattermost_group_id,id:"".concat(e.name,"_edit")},T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_row.edit",defaultMessage:"Edit"})):T().createElement(R.Link,{to:"/admin_console/user_management/groups/"+e.mattermost_group_id,id:"".concat(e.name,"_configure")},T().createElement(N.FormattedMessage,{id:"admin.group_settings.group_row.configure",defaultMessage:"Configure"})):null))))};ol.propTypes={checked:L().bool.isRequired,name:L().string.isRequired,onCheckToggle:L().func.isRequired,primary_key:L().string.isRequired,failed:L().bool,has_syncables:L().bool,mattermost_group_id:L().string,readOnly:L().bool,actions:L().shape({link:L().func.isRequired,unlink:L().func.isRequired}).isRequired};const ll=ol;var dl=s(97314);function cl(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function ml(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?cl(Object(s),!0).forEach((function(t){ul(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):cl(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function ul(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const pl=200,gl={filterIsConfigured:{filter:"is:configured",option:{is_configured:!0}},filterIsUnconfigured:{filter:"is:notconfigured",option:{is_configured:!1}},filterIsLinked:{filter:"is:linked",option:{is_linked:!0}},filterIsUnlinked:{filter:"is:notlinked",option:{is_linked:!1}}};class hl extends T().PureComponent{constructor(e){super(e),ul(this,"closeFilters",(()=>{this.setState({showFilters:!1})})),ul(this,"renderHeader",(()=>0===this.props.groups.length?null:T().createElement("div",{className:"groups-list--header"},T().createElement("div",{className:"group-name"},T().createElement(N.FormattedMessage,{id:"admin.group_settings.groups_list.nameHeader",defaultMessage:"Name"})),T().createElement("div",{className:"group-content"},T().createElement("div",{className:"group-description"},T().createElement(N.FormattedMessage,{id:"admin.group_settings.groups_list.mappingHeader",defaultMessage:"Mattermost Linking"})),T().createElement("div",{className:"group-actions"}))))),ul(this,"resetFiltersAndSearch",(()=>{this.setState({showFilters:!1,searchString:"",loading:!0,page:0,filterIsConfigured:!1,filterIsUnconfigured:!1,filterIsLinked:!1,filterIsUnlinked:!1}),this.props.actions.getLdapGroups(this.state.page,pl,{q:""}).then(this.handleGetGroupsResponse)})),ul(this,"handleGetGroupsResponse",(e=>{null!=e&&e.error?this.setState({fetchError:!0}):this.setState({fetchError:!1}),this.setState({loading:!1})})),this.state={checked:{},fetchError:!1,loading:!0,page:0,showFilters:!1,searchString:"",filterIsConfigured:!1,filterIsUnconfigured:!1,filterIsLinked:!1,filterIsUnlinked:!1}}componentDidMount(){this.props.actions.getLdapGroups(this.state.page,pl).then(this.handleGetGroupsResponse)}async previousPage(e){e.preventDefault();const t=this.state.page<1?0:this.state.page-1;this.setState({checked:{},page:t,loading:!0},(()=>{this.searchGroups(t)}))}async nextPage(e){e.preventDefault();const t=this.state.page+1;this.setState({checked:{},page:t,loading:!0},(()=>{this.searchGroups(t)}))}onCheckToggle(e){const t=ml({},this.state.checked);t[e]=!t[e],this.setState({checked:t})}linkSelectedGroups(){for(const e of this.props.groups)this.state.checked[e.primary_key]&&!e.mattermost_group_id&&this.props.actions.link(e.primary_key)}unlinkSelectedGroups(){for(const e of this.props.groups)this.state.checked[e.primary_key]&&e.mattermost_group_id&&this.props.actions.unlink(e.primary_key)}selectionActionButtonType(){let e=!1;for(const t of this.props.groups)if(this.state.checked[t.primary_key]){if(!t.mattermost_group_id)return"link";e=!0}return e?"unlink":"disabled"}renderSelectionActionButton(){switch(this.selectionActionButtonType()){case"link":return T().createElement("button",{type:"button",className:"btn btn-primary",onClick:()=>this.linkSelectedGroups(),disabled:this.props.readOnly},T().createElement("i",{className:"icon fa fa-link"}),T().createElement(N.FormattedMessage,{id:"admin.group_settings.groups_list.link_selected",defaultMessage:"Link Selected Groups"}));case"unlink":return T().createElement("button",{type:"button",className:"btn btn-primary",onClick:()=>this.unlinkSelectedGroups(),disabled:this.props.readOnly},T().createElement("i",{className:"icon fa fa-unlink"}),T().createElement(N.FormattedMessage,{id:"admin.group_settings.groups_list.unlink_selected",defaultMessage:"Unlink Selected Groups"}));default:return T().createElement("button",{type:"button",className:"btn btn-primary",disabled:this.props.readOnly},T().createElement("i",{className:"icon icon-link-variant"}),T().createElement(N.FormattedMessage,{id:"admin.group_settings.groups_list.link_selected",defaultMessage:"Link Selected Groups"}))}}renderRows(){return this.state.loading?T().createElement("div",{className:"groups-list-loading"},T().createElement("i",{className:"fa fa-spinner fa-pulse fa-2x"})):this.state.fetchError?T().createElement("div",{className:"groups-list-empty"},T().createElement(N.FormattedMessage,{id:"admin.group_settings.groups_list.groups_list_error",defaultMessage:"Failed to retrieve LDAP groups. Please check your logs for details."})):0===this.props.groups.length?T().createElement("div",{className:"groups-list-empty"},T().createElement(N.FormattedMessage,{id:"admin.group_settings.groups_list.no_groups_found",defaultMessage:"No groups found"})):this.props.groups.map((e=>T().createElement(ll,{key:e.primary_key,primary_key:e.primary_key,name:e.name,mattermost_group_id:e.mattermost_group_id,has_syncables:e.has_syncables,failed:e.failed,checked:Boolean(this.state.checked[e.primary_key]),onCheckToggle:e=>this.onCheckToggle(e),readOnly:this.props.readOnly,actions:{link:this.props.actions.link,unlink:this.props.actions.unlink}})))}regex(e){return new RegExp("(".concat(e,")"),"i")}searchGroups(e){let{searchString:t}=this.state;const s=ml({},this.state);let a=t,n={q:""};Object.entries(gl).forEach((e=>{let[i,r]=e;const o=this.regex(r.filter);o.test(t)?(s[i]=!0,a=a.replace(o,""),n=Object.assign(n,r.option)):this.state[i]&&(t+=" "+r.filter)})),n.q=a.trim(),s.searchString=t,s.showFilters=!1,s.loading=!0,s.showFilters=!1,this.setState(s),this.props.actions.getLdapGroups(e,pl,n).then(this.handleGetGroupsResponse)}handleGroupSearchKeyUp(e){const{key:t}=e,{searchString:s}=this.state;t===x.YM.KeyCodes.ENTER[0]&&(this.setState({page:0}),this.searchGroups());const a={};Object.entries(gl).forEach((e=>{let[t,n]=e;this.regex(n.filter).test(s)||(a[t]=!1)})),this.setState(a)}newSearchString(e,t,s){let a=e;const{filter:n}=gl[t],i=this.regex(n),r=i.test(e);return r&&!s&&(a=e.replace(i,"").trim()),!r&&s&&(a+=" "+n),a.replace(/\s{2,}/g," ")}handleFilterCheck(e){let{searchString:t}=this.state;e.forEach((e=>{t=this.newSearchString(t,e[0],e[1]),this.setState({[e[0]]:e[1]})})),this.setState({searchString:t})}renderSearchFilters(){return T().createElement("div",{id:"group-filters",className:"group-search-filters",onClick:e=>{e.nativeEvent.stopImmediatePropagation()}},T().createElement("div",{className:"filter-row"},T().createElement("span",{className:"filter-check "+(this.state.filterIsLinked?"checked":""),onClick:()=>this.handleFilterCheck([["filterIsLinked",!this.state.filterIsLinked],["filterIsUnlinked",!1]])},this.state.filterIsLinked&&T().createElement(rl.A,null)),T().createElement("span",null,T().createElement(N.FormattedMessage,{id:"admin.group_settings.filters.isLinked",defaultMessage:"Is Linked"}))),T().createElement("div",{className:"filter-row"},T().createElement("span",{className:"filter-check "+(this.state.filterIsUnlinked?"checked":""),onClick:()=>this.handleFilterCheck([["filterIsUnlinked",!this.state.filterIsUnlinked],["filterIsLinked",!1]])},this.state.filterIsUnlinked&&T().createElement(rl.A,null)),T().createElement("span",null,T().createElement(N.FormattedMessage,{id:"admin.group_settings.filters.isUnlinked",defaultMessage:"Is Not Linked"}))),T().createElement("div",{className:"filter-row"},T().createElement("span",{className:"filter-check "+(this.state.filterIsConfigured?"checked":""),onClick:()=>this.handleFilterCheck([["filterIsConfigured",!this.state.filterIsConfigured],["filterIsUnconfigured",!1]])},this.state.filterIsConfigured&&T().createElement(rl.A,null)),T().createElement("span",null,T().createElement(N.FormattedMessage,{id:"admin.group_settings.filters.isConfigured",defaultMessage:"Is Configured"}))),T().createElement("div",{className:"filter-row"},T().createElement("span",{className:"filter-check "+(this.state.filterIsUnconfigured?"checked":""),onClick:()=>this.handleFilterCheck([["filterIsUnconfigured",!this.state.filterIsUnconfigured],["filterIsConfigured",!1]])},this.state.filterIsUnconfigured&&T().createElement(rl.A,null)),T().createElement("span",null,T().createElement(N.FormattedMessage,{id:"admin.group_settings.filters.isUnconfigured",defaultMessage:"Is Not Configured"}))),T().createElement("a",{onClick:()=>{this.setState({page:0}),this.searchGroups(0)},className:"btn btn-primary search-groups-btn"},T().createElement(N.FormattedMessage,{id:"search_bar.search",defaultMessage:"Search"})))}render(){const e=this.state.page*pl+1;let t=this.state.page*pl+pl;const s=this.props.total;t>s&&(t=s);const a=t===s,n=0===this.state.page;return T().createElement("div",{className:"groups-list"},T().createElement("div",{className:"groups-list--global-actions"},T().createElement("div",{className:"group-list-search"},T().createElement(Ds.A,{type:"text",placeholder:(0,N.defineMessage)({id:"search_bar.search",defaultMessage:"Search"}),onKeyUp:e=>this.handleGroupSearchKeyUp(e),onChange:e=>this.setState({searchString:e.target.value}),value:this.state.searchString}),T().createElement(dl.A,{className:"search__icon","aria-hidden":"true"}),T().createElement("i",{className:"fa fa-times-circle group-filter-action "+(this.state.searchString.length?"":"hidden"),onClick:()=>this.resetFiltersAndSearch()}),T().createElement("i",{className:"fa fa-caret-down group-filter-action "+(this.state.showFilters?"hidden":""),onClick:()=>{document.addEventListener("click",this.closeFilters,{once:!0}),this.setState({showFilters:!0})}})),this.state.showFilters&&this.renderSearchFilters(),T().createElement("div",{className:"group-list-link-unlink"},this.renderSelectionActionButton())),this.renderHeader(),T().createElement("div",{id:"groups-list--body",className:"groups-list--body"},this.renderRows()),s>0&&T().createElement("div",{className:"groups-list--footer"},T().createElement("div",{className:"counter"},T().createElement(N.FormattedMessage,{id:"admin.group_settings.groups_list.paginatorCount",defaultMessage:"{startCount, number} - {endCount, number} of {total, number}",values:{startCount:e,endCount:t,total:s}})),T().createElement("button",{type:"button",className:"btn btn-tertiary prev "+(n?"disabled":""),onClick:e=>this.previousPage(e),disabled:n},T().createElement(Fn.A,null)),T().createElement("button",{type:"button",className:"btn btn-tertiary next "+(a?"disabled":""),onClick:e=>this.nextPage(e),disabled:a},T().createElement(Ln.A,null))))}}ul(hl,"propTypes",{groups:L().array,total:L().number.isRequired,readOnly:L().bool,actions:L().shape({getLdapGroups:L().func.isRequired,link:L().func.isRequired,unlink:L().func.isRequired}).isRequired}),ul(hl,"defaultProps",{groups:[]});const fl=(0,A.Mz)("getSortedListOfLdapGroups",d.si,(e=>{const t=Object.values(e);return t.sort(((e,t)=>e.name.localeCompare(t.name))),t})),El=(0,a.connect)((function(e){return{groups:fl(e),total:(0,d.TR)(e)}}),(function(e){return{actions:(0,n.bindActionCreators)({getLdapGroups:i.si,link:i.BD,unlink:i.Ag},e)}}))(hl),bl=e=>{let{isDisabled:t}=e;const s=(0,Ts.vV)();return T().createElement("div",{className:"wrapper--fixed"},T().createElement(et,null,T().createElement(N.FormattedMessage,{id:"admin.group_settings.groupsPageTitle",defaultMessage:"Groups"})),T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},T().createElement("div",{className:"banner info"},T().createElement("div",{className:"banner__content"},T().createElement(N.FormattedMessage,{id:"admin.group_settings.introBanner",defaultMessage:"Groups are a way to organize users and apply actions to all users within that group.\nFor more information on Groups, please see <link>documentation</link>.",values:{link:e=>T().createElement(ce.A,{location:"group_settings",href:x.Uk.DEFAULT_LDAP_GROUP_SYNC},e)}}))),T().createElement(ko,{id:"ldap_groups",title:(0,N.defineMessage)({id:"admin.group_settings.ldapGroupsTitle",defaultMessage:"AD/LDAP Groups"}),subtitle:(0,N.defineMessage)({id:"admin.group_settings.ldapGroupsDescription",defaultMessage:"Connect AD/LDAP and create groups in Mattermost. To get started, configure group attributes on the <link>AD/LDAP</link> configuration page."}),subtitleValues:{link:e=>T().createElement(ce.A,{location:"group_settings.ldap_groups",href:"".concat(s,"/admin_console/authentication/ldap")},e)}},T().createElement(El,{readOnly:t})))))};bl.propTypes={isDisabled:L().bool};const vl=bl;var Ml=s(92908),yl=s.n(Ml);function Sl(e){let{onExited:t,onSave:s,existingRange:a,currentIP:n}=e;const{formatMessage:i}=(0,N.useIntl)(),[r,o]=(0,_.useState)((null==a?void 0:a.description)||""),[l,d]=(0,_.useState)((null==a?void 0:a.cidr_block)||""),[c,m]=(0,_.useState)(null);return T().createElement(ta.Modal,{className:"IPFilteringAddOrEditModal",dialogClassName:"IPFilteringAddOrEditModal__dialog",show:!0,onExited:t,onHide:t},T().createElement(ta.Modal.Header,{closeButton:!0},T().createElement("div",{className:"title"},null!=a&&a.cidr_block?i({id:"admin.ip_filtering.edit_ip_filter",defaultMessage:"Edit IP Filter"}):i({id:"admin.ip_filtering.add_ip_filter",defaultMessage:"Add IP Filter"}))),T().createElement(ta.Modal.Body,null,T().createElement("div",{className:"body"},T().createElement("div",{className:"current_ip_notice"},T().createElement("div",{className:"Content"},T().createElement("span",null,T().createElement(w.InformationOutlineIcon,null),i({id:"admin.ip_filtering.your_current_ip_is",defaultMessage:"Your current IP address is {ip}"},{ip:n})))),T().createElement("div",{className:"inputs"},T().createElement("div",null,i({id:"admin.ip_filtering.name",defaultMessage:"Name"}),T().createElement(ln.A,{type:"text",name:"name",onChange:e=>o(e.target.value),value:r,placeholder:i({id:"admin.ip_filtering.rule_name_placeholder",defaultMessage:"Enter a name for this rule"}),required:!0,useLegend:!1})),T().createElement("div",null,i({id:"admin.ip_filtering.allow_following_range",defaultMessage:"Allow the following range of IP Addresses"}),T().createElement(ln.A,{type:"text",name:"ip_address_range",onChange:e=>{const t=e.target.value;d(t),m(null)},onBlur:()=>{(function(e){try{yl().parseCIDR(e)}catch(e){return!1}return!0})(l)||m({type:"error",value:"Invalid CIDR address range"})},value:l,placeholder:"Enter IP Range",required:!0,useLegend:!1,customMessage:c})),T().createElement("p",null,T().createElement(N.FormattedMessage,{id:"admin.ip_filtering.more_info",defaultMessage:"Enter ranges in CIDR format (e.g. 192.168.0.1/8). <link>More info</link>",values:{link:e=>T().createElement(ce.A,{href:"https://mattermost.com/pl/cloud-ip-filtering",location:"ip_filtering_add_edit_rule_modal"},e)}}))))),T().createElement(ta.Modal.Footer,null,T().createElement("button",{type:"button",className:"btn-cancel",onClick:t},i({id:"admin.ip_filtering.cancel",defaultMessage:"Cancel"})),T().createElement("button",{"data-testid":"save-add-edit-button",type:"button",className:"btn-save",onClick:()=>{const e={cidr_block:l,description:r,enabled:!0,owner_id:""};a?s(e,a):s(e),t()},disabled:Boolean(c)||!l.length||!r.length},i(a?{id:"admin.ip_filtering.update_filter",defaultMessage:"Update filter"}:{id:"admin.ip_filtering.save",defaultMessage:"Save"}))))}function Al(e){let{onExited:t,onConfirm:s,filterToDelete:a}=e;const{formatMessage:n}=(0,N.useIntl)();return T().createElement(ta.Modal,{className:"DeleteConfirmationModal",dialogClassName:"DeleteConfirmationModal__dialog",show:!0,onExited:t,onHide:t},T().createElement(ta.Modal.Header,{closeButton:!0},T().createElement("div",{className:"title"},n({id:"admin.ip_filtering.delete_confirmation_title",defaultMessage:"Delete IP Filter"}))),T().createElement(ta.Modal.Body,null,n({id:"admin.ip_filtering.delete_confirmation_body",defaultMessage:"Are you sure you want to delete IP filter {filter}? Users with IP addresses outside of this range won't be able to access the workspace when IP Filtering is enabled"},{filter:T().createElement("strong",null,null==a?void 0:a.description)})),T().createElement(ta.Modal.Footer,null,T().createElement("button",{type:"button",className:"btn-cancel",onClick:t},n({id:"admin.ip_filtering.cancel",defaultMessage:"Cancel"})),T().createElement("button",{type:"button",className:"btn-delete",onClick:()=>null==s?void 0:s(a)},n({id:"admin.ip_filtering.delete_filter",defaultMessage:"Delete filter"}))))}Sl.propTypes={onExited:L().func.isRequired,onSave:L().func.isRequired,currentIP:L().string},Al.propTypes={onExited:L().func.isRequired,onConfirm:L().func};const Cl=e=>{let{allowedIPRange:t,index:s,handleRowMouseEnter:a,handleRowMouseLeave:n,setEditFilter:i,handleConfirmDeleteFilter:r,hoveredRow:o}=e;const{formatMessage:l}=(0,N.useIntl)();return T().createElement("div",{className:"Row",onMouseEnter:()=>a(s),onMouseLeave:n},T().createElement("div",{className:"FilterName"},t.description),T().createElement("div",{className:"IpAddressRange"},t.cidr_block),T().createElement("div",{className:"Actions"},o===s&&T().createElement(T().Fragment,null,T().createElement(tt.A,{title:l({id:"admin.ip_filtering.edit",defaultMessage:"Edit"})},T().createElement("div",{className:"edit","aria-label":"Edit",role:"button",onClick:()=>i(t)},T().createElement(w.PencilOutlineIcon,{size:20}))),T().createElement(tt.A,{title:l({id:"admin.ip_filtering.delete",defaultMessage:"Delete"})},T().createElement("div",{className:"delete","aria-label":"Delete",role:"button",onClick:()=>r(t)},T().createElement(w.TrashCanOutlineIcon,{size:20,color:"red"}))))))};Cl.propTypes={index:L().number.isRequired,handleRowMouseEnter:L().func.isRequired,handleRowMouseLeave:L().func.isRequired,setEditFilter:L().func.isRequired,handleConfirmDeleteFilter:L().func.isRequired,hoveredRow:L().oneOfType([L().number,L().oneOf([null])])};const _l=Cl,Tl=e=>{let{currentUsersIP:t,setShowAddModal:s}=e;return T().createElement("div",{className:"NotInRangeErrorPanel"},T().createElement("div",{className:"Icon"},T().createElement(w.AlertOutlineIcon,{size:20})),T().createElement("div",{className:"Content"},T().createElement("div",{className:"Title"},T().createElement(N.FormattedMessage,{id:"admin.ip_filtering.your_current_ip_is_not_in_allowed_rules",defaultMessage:"Your IP address {ip} is not included in your allowed IP address rules.",values:{ip:t}})),T().createElement("div",{className:"Body"},T().createElement(N.FormattedMessage,{id:"admin.ip_filtering.include_your_ip",defaultMessage:"Include your IP address in at least one of the rules below to continue."}),T().createElement("div",{className:"Button",onClick:()=>s(!0)},T().createElement(N.FormattedMessage,{id:"admin.ip_filtering.add_your_ip",defaultMessage:"Add your IP address"})))))};Tl.propTypes={currentUsersIP:L().oneOfType([L().string,L().oneOf([null])]),setShowAddModal:L().func.isRequired};const Nl=Tl,Rl=e=>{let{setShowAddModal:t,currentIPIsInRange:s,currentUsersIP:a}=e;return T().createElement("div",{className:"AllowedIPAddressesSection"},T().createElement("div",{className:"SectionHeaderContent"},T().createElement("div",{className:"HeaderContent"},T().createElement("div",{className:"TitleSubtitle"},T().createElement("div",{className:"Title"},T().createElement(N.FormattedMessage,{id:"admin.ip_filtering.allowed_ip_addresses",defaultMessage:"Allowed IP Addresses"})),T().createElement("div",{className:"Subtitle"},T().createElement(N.FormattedMessage,{id:"admin.ip_filtering.edit_section_description_line_1",defaultMessage:"Create rules to allow access to the workspace for specified IP addresses only."})),T().createElement("div",{className:"Subtitle"},T().createElement(N.FormattedMessage,{id:"admin.ip_filtering.edit_section_description_line_2",defaultMessage:"<strong>NOTE:</strong> If no rules are added, all IP addresses will be allowed.",values:{strong:e=>T().createElement("strong",null,e)}}))),T().createElement("div",{className:"AddIPFilterButton"},T().createElement("button",{className:"Button",onClick:()=>{t(!0)},type:"button"},T().createElement(N.FormattedMessage,{id:"admin.ip_filtering.add_filter",defaultMessage:"Add Filter"})))),!s&&T().createElement(Nl,{setShowAddModal:t,currentUsersIP:a})))};Rl.propTypes={setShowAddModal:L().func.isRequired,currentIPIsInRange:L().bool.isRequired,currentUsersIP:L().oneOfType([L().string,L().oneOf([null])])};const wl=Rl,Il=e=>{let{width:t,height:s}=e;return T().createElement("svg",{width:t,height:s,viewBox:"0 0 140 140",fill:"none",xmlns:"http://www.w3.org/2000/svg"},T().createElement("ellipse",{cx:"69.5",cy:"120",rx:"29.5",ry:"3",fill:"black",fillOpacity:"0.06"}),T().createElement("path",{d:"M113.191 70.0004C113.19 78.1542 110.882 86.1411 106.533 93.0378C102.184 99.9345 95.9719 105.459 88.6152 108.974C81.2586 112.488 73.0577 113.848 64.9607 112.897C56.8636 111.945 49.2012 108.721 42.8592 103.598C36.5172 98.4739 31.7546 91.6597 29.1222 83.9427C26.4897 76.2257 26.0948 67.9212 27.9832 59.9892C29.8715 52.0572 33.9661 44.8217 39.7933 39.1192C45.6205 33.4168 52.9425 29.4802 60.9128 27.7647H62.1351L63.0116 27.3418C63.7189 27.2342 64.4339 27.1342 65.1489 27.0496L66.6865 27.0958L67.7397 26.8421H68.3548L70.0538 27.0804L71.1763 26.8267H71.8221L74.19 27.4264L76.9884 27.3495L77.9802 27.5187L88.2206 34.0467L99.3991 38.2987C103.764 42.3429 107.242 47.2479 109.616 52.7043C111.99 58.1607 113.208 64.0499 113.191 70.0004Z",fill:"#1C58D9"}),T().createElement("path",{d:"M72.0989 40.4363C74.9127 41.3359 74.7974 39.5598 76.5734 41.6281C77.5959 42.8199 79.441 44.9882 81.6321 45.5264C81.9396 45.6033 82.6238 44.9421 82.6238 44.4192C82.6238 43.8964 81.0863 42.7892 80.2406 42.5585C79.3949 42.3278 80.5865 40.6978 79.4256 40.198C78.2647 39.6982 76.9808 37.8451 76.5195 36.3919C76.0583 34.9387 74.0133 36.1612 73.3136 35.8691C72.614 35.5769 71.776 35.7537 71.0072 36.8609C70.2384 37.9682 71.3762 40.2057 72.0989 40.4363Z",fill:"#FFBC1F"}),T().createElement("path",{d:"M87.3369 81.1265C87.3369 80.5191 81.7708 77.4896 81.0942 77.4512C79.9871 77.382 78.4803 76.8284 77.4654 77.4512C77.0368 77.6945 76.6729 78.0374 76.4045 78.4508C76.2123 78.8122 75.1283 78.1432 74.7132 78.3662C73.7137 78.8967 73.1755 77.1667 73.4292 76.5055C74.1288 74.8831 71.661 75.9057 71.4073 75.4597C71.7071 75.9903 71.3227 70.8463 70.4616 73.7451C69.8082 75.9442 67.2481 73.4298 67.5556 71.8305C68.0322 69.3624 71.7532 69.001 72.5682 69.4393C72.9833 69.6622 74.4979 71.8536 74.6901 71.7921C75.1052 71.6614 74.4441 69.2086 74.3595 68.8856C74.0673 67.6862 76.3584 67.2863 76.5198 66.033C76.6582 64.9719 77.3809 65.341 78.0574 64.7797C79.0953 63.957 78.2804 62.4192 79.595 61.6349C80.0486 61.3658 81.7477 61.1736 81.9707 60.6968C82.1936 60.2201 80.5407 59.0745 81.9707 58.7361C83.2315 58.4286 84.5154 58.9745 84.8613 57.1522C85.1688 55.4991 83.3237 55.1223 82.7932 53.8382C82.6241 53.4538 82.4166 51.2394 81.6324 51.6469C80.6714 52.1543 80.0948 53.3769 79.2799 51.9237C77.8576 49.3017 74.3364 48.1714 75.9893 52.2927C76.835 54.4226 73.6829 60.9044 73.1986 54.9147C73.0371 52.831 66.8098 52.2082 68.901 49.9015C70.9921 47.5948 73.9213 47.4871 74.7055 43.8964C75.7972 38.9139 72.3452 43.1275 70.5846 42.1894C67.9553 40.7516 70.1849 41.5281 68.8241 43.3889C68.309 44.0963 66.6176 42.9429 65.8642 43.0583C65.1108 43.1736 63.3809 44.7037 62.8966 43.7426C62.0202 41.9818 55.8467 40.8976 54.1784 41.5205C50.6957 42.8276 49.4887 41.0591 46.0137 40.3748C44.8067 40.1364 38.8792 39.9673 39.2636 42.0202C39.5404 42.7727 39.864 43.5071 40.2323 44.2193C40.609 45.3496 38.9099 44.4807 38.5179 44.7498C39.21 45.3637 39.9337 45.9412 40.6859 46.4799C41.2548 47.0642 38.5102 47.7716 38.2334 48.7404C37.6875 50.7088 42.0082 50.1475 41.2164 52.5157C40.9703 53.2308 38.5025 54.4072 38.2641 56.8293C38.218 57.2906 41.3393 53.8306 43.3536 54.5226C45.1295 55.1685 44.9758 50.3398 47.1976 50.3398C51.3184 50.3398 52.118 54.3534 54.286 57.0446C55.3008 58.2979 56.1158 58.8207 56.3003 60.4585C56.4848 62.0963 56.1388 63.8416 56.6924 65.2949C57.2459 66.7481 58.2915 66.7789 58.9988 67.9014C59.8445 69.2163 60.3211 70.5003 61.4666 71.646C63.1272 73.3145 65.9564 75.8673 68.5704 75.4905C69.0855 75.4136 71.0306 76.5208 71.4688 76.8514C72.0759 77.4221 72.5941 78.0804 73.0064 78.8045C73.4677 79.4196 74.9284 79.0351 75.5665 79.3273C76.2046 79.6195 74.0827 83.9407 74.8515 85.0479C75.6203 86.1551 75.6895 87.7006 76.9427 88.6848C78.1958 89.669 78.4803 89.6921 78.6417 91.3145C78.8801 93.9441 78.1112 96.6045 77.4808 99.0573C77.1502 100.311 77.8114 101.702 77.3194 102.902C76.7043 104.401 76.2892 105.693 76.8274 107.361C77.7576 110.26 82.9778 110.729 79.9026 108.2C78.5879 107.123 81.3249 104.524 80.4715 104.278C79.0031 103.663 80.7405 103.109 80.9328 102.471C81.3248 101.203 87.1447 95.951 87.5752 95.0821C87.9366 94.3516 87.7059 93.5981 88.2979 92.9676C88.8899 92.3371 89.8355 92.514 90.6043 92.0219C92.1419 90.9915 91.5884 89.2461 92.2265 87.8237C93.4873 85.0018 94.0178 86.1167 92.288 83.91C91.6345 83.1103 87.4522 83.4025 87.3369 81.1265Z",fill:"#FFBC1F"}),T().createElement("path",{d:"M56.2 38.4295C57.261 39.5367 58.3142 37.8528 58.5064 38.4295C58.6986 39.0062 58.714 40.1134 59.9748 40.198C61.2357 40.2826 58.7986 41.1053 59.6135 41.4513C60.4284 41.7973 62.1736 42.9045 62.8117 42.4432C63.4498 41.9818 64.2109 41.6282 64.4954 41.9742C64.7798 42.3202 66.5327 41.9203 66.033 41.336C65.5333 40.7516 64.2032 39.3753 64.2571 38.5833C64.3109 37.7913 65.7947 35.7537 64.1418 35.9306C63.743 35.9807 63.3796 36.185 63.1296 36.4998C62.8796 36.8145 62.7627 37.2146 62.804 37.6145C62.804 38.1989 61.2664 36.7456 60.9435 36.7687C60.6206 36.7918 59.5443 35.0002 59.1368 35.0002C58.7294 35.0002 56.0001 34.1237 56.2307 35.0002C56.4614 35.8768 55.1391 37.3223 56.2 38.4295Z",fill:"#FFBC1F"}),T().createElement("path",{d:"M80.6022 46.749C79.7796 46.28 78.2189 44.1347 77.527 44.8268C76.8351 45.5188 77.7038 47.1335 78.2958 47.7947C78.8878 48.456 81.3248 50.0092 80.9712 49.3325C80.6175 48.6559 82.2167 47.6794 80.6022 46.749Z",fill:"#FFBC1F"}),T().createElement("path",{d:"M57.8068 31.9554C58.2297 31.9169 58.8909 33.3855 59.5136 33.547C60.1363 33.7085 60.4439 34.4389 60.6745 34.6081C60.9051 34.7772 63.5114 33.7777 64.1264 33.547C64.7415 33.3163 63.3576 31.8785 62.8425 30.8712C62.3274 29.864 62.7272 32.5397 61.9968 32.1015C61.2665 31.6632 61.3741 31.0634 60.4592 31.0634C59.5443 31.0634 60.1824 29.2412 59.06 29.6256C57.9375 30.0101 57.384 31.9938 57.8068 31.9554Z",fill:"#FFBC1F"}),T().createElement("path",{d:"M67.1554 35.4462C66.3866 35.5999 66.5326 36.0997 66.1021 36.5303C65.9011 36.7358 65.7886 37.0118 65.7886 37.2992C65.7886 37.5866 65.9011 37.8626 66.1021 38.0681C66.4942 38.5679 67.1092 39.4598 67.5782 38.6063C68.0472 37.7529 67.5782 37.0685 67.5782 36.5149C67.5782 35.9613 67.5321 35.3693 67.1554 35.4462Z",fill:"#FFBC1F"}),T().createElement("path",{d:"M68.7011 38.1604C68.8933 38.6218 69.2469 37.3454 70.0003 36.6841C70.7538 36.0229 69.6313 34.3774 68.9317 35.2155C68.4627 35.7922 68.5089 37.6914 68.7011 38.1604Z",fill:"#FFBC1F"}),T().createElement("path",{d:"M68.5626 38.737C68.1628 39.306 67.8399 40.8284 68.5626 40.9514C68.7209 40.9697 68.8811 40.9437 69.0256 40.8763C69.17 40.8089 69.2928 40.7028 69.3805 40.5697C69.4681 40.4366 69.5172 40.2818 69.5221 40.1225C69.527 39.9632 69.4876 39.8056 69.4083 39.6674C69.07 39.0907 68.7317 38.5063 68.5626 38.737Z",fill:"#FFBC1F"}),T().createElement("path",{d:"M71.4916 28.9256C70.7996 29.2409 72.5064 29.8176 71.3378 30.1328C70.1692 30.4481 70.1385 31.4092 69.1313 30.5941C68.1242 29.7791 67.0248 30.8709 67.7859 31.363C68.547 31.8551 69.8232 33.07 69.7848 33.7313C69.7464 34.3925 70.9918 34.7001 72.1527 34.6232C73.3136 34.5463 74.7129 34.8923 74.7513 34.3925C74.7897 33.8927 74.9281 33.6775 74.7897 33.3007C74.5898 32.7548 74.0901 32.2165 72.8908 32.6856C71.6914 33.1546 70.9072 32.9162 70.7381 32.3319C70.569 31.7475 73.0907 30.6249 74.2054 31.4015C75.3202 32.1781 76.3812 30.9786 75.5662 30.4327C74.7513 29.8868 75.2971 29.3101 75.8584 29.2332C76.2658 29.1794 76.6271 28.149 76.9347 27.3494C75.2246 27.0728 73.4993 26.9007 71.7683 26.8342C71.776 27.9338 72.1835 28.6104 71.4916 28.9256Z",fill:"#FFBC1F"}),T().createElement("path",{d:"M61.1819 27.957C61.9507 28.2877 63.227 27.957 62.9886 27.365C62.289 27.488 61.5894 27.6187 60.8975 27.7648C60.9744 27.852 61.0723 27.9182 61.1819 27.957Z",fill:"#FFBC1F"}),T().createElement("path",{d:"M61.6585 28.6107C60.5668 28.0494 60.6283 29.4257 61.128 29.9716C61.6277 30.5175 63.0731 29.3027 61.6585 28.6107Z",fill:"#FFBC1F"}),T().createElement("path",{d:"M68.3013 26.8345C68.6367 26.895 68.9503 27.0427 69.2108 27.2627C69.4712 27.4826 69.6692 27.7672 69.7851 28.0878C69.9311 28.5799 71.1074 27.5111 71.1228 26.8114H70.0003C69.4314 26.8037 68.8702 26.8114 68.3013 26.8345Z",fill:"#FFBC1F"}),T().createElement("path",{d:"M65.9942 28.4492C65.5022 29.1258 65.925 29.9408 66.5093 29.2642C67.0936 28.5876 66.6246 26.8729 67.0859 27.6111C67.5472 28.3492 68.4083 29.5179 68.9849 29.5718C69.5615 29.6256 69.0618 28.8874 68.9849 28.2723C68.908 27.6572 67.5319 27.0728 67.6856 26.8652C66.8246 26.9114 65.9712 26.9806 65.1255 27.0728C65.7328 27.4727 66.371 27.9648 65.9942 28.4492Z",fill:"#FFBC1F"}),T().createElement("path",{d:"M68.5625 34.2775C69.2467 34.5543 68.5625 32.8858 68.5625 32.8858C67.8475 33.3087 67.8859 33.993 68.5625 34.2775Z",fill:"#FFBC1F"}),T().createElement("path",{d:"M66.1024 33.224C66.2177 33.693 66.9558 33.8468 67.3478 33.224C67.7399 32.6012 67.3478 30.3406 66.7943 31.0557C66.2407 31.7708 65.6026 31.4401 64.4879 31.0557C63.3731 30.6712 65.9948 32.7319 66.1024 33.224Z",fill:"#FFBC1F"}),T().createElement("path",{d:"M73.6826 72.8378C74.6359 72.7225 75.2202 73.8835 76.2966 73.8297C77.3729 73.7759 79.0027 75.4059 79.933 74.4371C80.7018 73.6682 76.6118 73.0147 75.3202 72.315C74.0286 71.6153 72.737 72.9531 73.6826 72.8378Z",fill:"#FFBC1F"}),T().createElement("path",{d:"M78.4337 29.1181C79.7714 29.7639 79.5408 29.7409 78.7259 30.3637C77.9109 30.9865 78.2031 32.3398 80.0021 32.2475C81.8011 32.1552 82.9159 30.3637 83.7308 32.8857C84.5457 35.4077 83.9614 38.1603 85.007 38.9369C86.0526 39.7135 85.1838 40.2364 85.007 40.9591C84.8302 41.6819 85.2991 42.2047 86.1141 41.9741C86.929 41.7434 86.6984 43.2581 86.1141 43.8963C85.5298 44.5345 84.8379 45.7571 86.6369 47.9715C88.4359 50.1859 88.6742 49.8861 89.2508 50.6473C89.8274 51.4085 90.3041 50.3628 90.4732 49.4862C90.6424 48.6097 90.0657 45.5264 92.1338 45.5264C92.778 45.5195 93.4029 45.3057 93.9164 44.9167C94.4299 44.5277 94.8049 43.984 94.9861 43.3658C95.2167 42.8429 96.8466 42.8968 97.7153 42.1432C98.5841 41.3897 99.3529 40.9053 99.3759 38.2987C93.4007 32.7528 85.9725 29.0196 77.9571 27.5341C77.7649 28.1339 77.7726 28.8105 78.4337 29.1181Z",fill:"#FFBC1F"}))};Il.propTypes={width:L().number.isRequired,height:L().number.isRequired};const Ol=Il,Pl=e=>{let{setShowAddModal:t}=e;return T().createElement("div",{className:"NoFilters"},T().createElement("div",null,T().createElement(Ol,{width:149,height:140})),T().createElement("div",{className:"Title"},T().createElement(N.FormattedMessage,{id:"admin.ip_filtering.no_filters",defaultMessage:"No IP filtering rules added"})),T().createElement("div",{className:"Subtitle"},T().createElement(N.FormattedMessage,{id:"admin.ip_filtering.any_ip_can_access_add_filter",defaultMessage:"Any IP can access your workspace. To limit access to selected IP Addresses, <add>Add a filter</add>",values:{add:e=>T().createElement("div",{onClick:()=>t(!0),className:"Button"},e)}})))};Pl.propTypes={setShowAddModal:L().func.isRequired};const kl=Pl,xl=e=>{let{ipFilters:t,currentUsersIP:s,setShowAddModal:a,setEditFilter:n,handleConfirmDeleteFilter:i,currentIPIsInRange:r}=e;const{formatMessage:o}=(0,N.useIntl)(),[l,d]=(0,_.useState)(null);return T().createElement("div",{className:"EditSection"},T().createElement(wl,{setShowAddModal:a,currentIPIsInRange:r,currentUsersIP:s}),Boolean(null==t?void 0:t.length)&&T().createElement("div",{className:"TableSectionContent"},T().createElement("div",{className:"Table"},T().createElement("div",{className:"HeaderRow"},T().createElement("div",{className:"FilterName"},o({id:"admin.ip_filtering.filter_name",defaultMessage:"Filter Name"})),T().createElement("div",{className:"IpAddressRange"},o({id:"admin.ip_filtering.ip_address_range",defaultMessage:"IP Address Range"}))),null==t?void 0:t.map(((e,t)=>T().createElement(_l,{key:e.cidr_block,allowedIPRange:e,index:t,handleRowMouseEnter:e=>d(e),handleRowMouseLeave:()=>d(null),setEditFilter:n,handleConfirmDeleteFilter:i,hoveredRow:l}))))),0===(null==t?void 0:t.length)&&T().createElement(kl,{setShowAddModal:a}))};xl.propTypes={ipFilters:L().oneOfType([L().array,L().oneOf([null])]),currentUsersIP:L().oneOfType([L().string,L().oneOf([null])]),currentIPIsInRange:L().bool.isRequired,setShowAddModal:L().func.isRequired,setEditFilter:L().func.isRequired,handleConfirmDeleteFilter:L().func.isRequired};const Dl=xl,Ll=e=>{let{filterToggle:t,setFilterToggle:s}=e;const{formatMessage:a}=(0,N.useIntl)();return T().createElement("div",{className:"EnableSectionContent"},T().createElement("div",{className:"TitleSubtitleContent"},T().createElement("div",{className:"TitleSubtitle"},T().createElement("div",{className:"Title"},a({id:"admin.ip_filtering.enable_ip_filtering",defaultMessage:"Enable IP Filtering"})),T().createElement("div",{className:"Subtitle"},T().createElement(N.FormattedMessage,{id:"admin.ip_filtering.enable_ip_filtering_description",defaultMessage:"Limit access to your workspace by IP address. <learnmore>Learn more in the docs</learnmore>",values:{learnmore:e=>T().createElement(ce.A,{href:"https://mattermost.com/pl/cloud-ip-filtering",location:"ip_filtering_enable_section"},e)}}))),T().createElement("div",{className:"SwitchSelector"},T().createElement(wo.A,{size:"btn-md",id:"filterToggle",disabled:!1,onToggle:()=>s(!t),toggled:t,toggleClassName:"btn-toggle-primary"}))))};Ll.propTypes={filterToggle:L().bool.isRequired,setFilterToggle:L().func.isRequired};const Fl=Ll;function Bl(e){let{onExited:t,onConfirm:s,title:a,subtitle:n,includeDisclaimer:i,buttonText:r}=e;const{formatMessage:o}=(0,N.useIntl)();return T().createElement(ta.Modal,{className:"SaveConfirmationModal",dialogClassName:"SaveConfirmationModal__dialog",show:!0,onExited:t,onHide:t},T().createElement(ta.Modal.Header,{closeButton:!0},T().createElement("div",{className:"title"},a)),T().createElement(ta.Modal.Body,null,n,i&&T().createElement("div",{className:"disclaimer"},T().createElement("div",{className:"Icon"},T().createElement(w.InformationOutlineIcon,null)),T().createElement("div",{className:"Body"},T().createElement("div",{className:"Title"},o({id:"admin.ip_filtering.save_disclaimer_title",defaultMessage:"Using the Customer Portal to restore access"})),T().createElement("div",{className:"Subtitle"},T().createElement(N.FormattedMessage,{id:"admin.ip_filtering.save_disclaimer_subtitle",defaultMessage:"If you happen to block yourself with these settings, your workspace owner can log in to the <customerportal>Customer Portal</customerportal> to disable IP filtering to restore access.",values:{customerportal:e=>T().createElement(ce.A,{location:"save_confirmation_modal",href:"https://customers.mattermost.com/console/ip_filtering"},e)}}))))),T().createElement(ta.Modal.Footer,null,T().createElement("button",{type:"button",className:"btn-cancel",onClick:t},o({id:"admin.ip_filtering.cancel",defaultMessage:"Cancel"})),T().createElement("button",{"data-testid":"save-confirmation-button",type:"button",className:"btn-delete",onClick:()=>null==s?void 0:s()},r)))}function Hl(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function Ul(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?Hl(Object(s),!0).forEach((function(t){Gl(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):Hl(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function Gl(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}Bl.propTypes={onExited:L().func.isRequired,onConfirm:L().func,title:L().string,subtitle:L().oneOfType([L().element,L().string]).isRequired,buttonText:L().string,includeDisclaimer:L().bool};var jl=s(84013),ql=s(83021),Wl=s(82833);const Vl=(0,N.defineMessages)({keyRemove:{id:"admin.license.keyRemove",defaultMessage:"Remove license and downgrade to Mattermost Free"}}),zl=e=>{let{openEELicenseModal:t,upgradedFromTE:s,license:a,isTrialLicense:n,handleRemove:i,isDisabled:r,removing:o,fileInputRef:l,handleChange:d,statsActiveUsers:c}=e;const{formatMessage:m}=(0,N.useIntl)(),[u,p]=(0,_.useState)(a),g=(0,_a.A)(),[h]=(0,va.A)();(0,_.useEffect)((()=>{!async function(){try{const e=await de.mT.getClientLicenseOld();p(e)}catch(e){}}()}),[a]);const f=(0,Wl.t)(u.SkuShortName,"true"===u.IsGovSku),E=(0,H.RF)(parseInt(u.ExpiresAt,10)),b=T().createElement("button",{id:"enterprise_edition_view_plans",onClick:()=>g({trackingLocation:"license_settings_view_plans"}),className:"btn btn-secondary PlanDetails__viewPlansButton"},m({id:"workspace_limits.menu_limit.view_plans",defaultMessage:"View plans"}));return T().createElement("div",{className:"EnterpriseEditionLeftPanel","data-testid":"EnterpriseEditionLeftPanel"},T().createElement("div",{className:"EnterpriseEditionLeftPanel__Grid"},T().createElement("div",null,T().createElement("div",{className:"pre-title"},T().createElement(N.FormattedMessage,{id:"admin.license.enterpriseEdition",defaultMessage:"Enterprise Edition"})),T().createElement("div",{className:"title"},"Mattermost ".concat(f),n&&T().createElement(Wa.A,{text:m({id:"admin.license.Trial",defaultMessage:"Trial"}),variant:"success",uppercase:!0,size:"sm"}))),b),T().createElement("div",{className:"subtitle"},T().createElement(N.FormattedMessage,{id:"admin.license.enterpriseEdition.subtitle",defaultMessage:"This is an Enterprise Edition for the Mattermost {skuName} plan",values:{skuName:f}})),T().createElement("div",{className:"licenseInformation"},T().createElement("div",{className:"license-details-top"},T().createElement("span",{className:"title"},"License details"),T().createElement("button",{className:"add-seats-button btn btn-primary",onClick:h},T().createElement(N.FormattedMessage,{id:"admin.license.enterpriseEdition.add.seats",defaultMessage:"+ Add seats"}))),Yl(u,n,i,r,o,f,l,d,c,E)),T().createElement("div",{className:"license-notices"},s?T().createElement(T().Fragment,null,T().createElement("p",null,"When using Mattermost Enterprise Edition, the software is offered under a commercial license. See ",T().createElement("a",{role:"button",onClick:t,className:"openEELicenseModal"},"here")," for “Enterprise Edition License” for details. ","See NOTICE.txt for information about open source software used in the system.")):T().createElement("p",null,"This software is offered under a commercial license.\n\nSee ENTERPRISE-EDITION-LICENSE.txt in your root install directory for details. See NOTICE.txt for information about open source software used in this system.")))},Yl=(e,t,s,a,n,i,r,o,l,d)=>{const c=e.SkuShortName?T().createElement(T().Fragment,null,"Mattermost ".concat((0,H.Sn)(i)).concat(t?" License Trial":"")):null,m=T().createElement(N.FormattedNumber,{value:parseInt(e.Users,10)}),u=T().createElement(N.FormattedNumber,{value:l}),p=[{legend:"START DATE:",value:T().createElement(N.FormattedDate,{value:new Date(parseInt(e.StartsAt,10))})},{legend:"EXPIRES:",value:T().createElement(N.FormattedDate,{value:new Date(parseInt(e.ExpiresAt,10))})},{legend:"LICENSED SEATS:",value:m},{legend:"ACTIVE USERS:",value:u},{legend:"EDITION:",value:c},{legend:"LICENSE ISSUED:",value:T().createElement(T().Fragment,null,T().createElement(N.FormattedDate,{value:new Date(parseInt(e.IssuedAt,10))})," ",T().createElement(N.FormattedTime,{value:new Date(parseInt(e.IssuedAt,10))}))},{legend:"NAME:",value:e.Name},{legend:"COMPANY / ORG:",value:e.Company}];return T().createElement("div",{className:"licenseElements"},p.map(((e,t,s)=>(a,n)=>{let{legend:i,value:r}=a;if("ACTIVE USERS:"===i){const{isBetween5PercerntAnd10PercentPurchasedSeats:s,isOver10PercerntPurchasedSeats:a}=(0,Ht.A)({activeUsers:e,seatsPurchased:t});return T().createElement("div",{className:"item-element",key:r+n.toString()},T().createElement("span",{className:re()({legend:!0,"legend--warning-over-seats-purchased":s,"legend--over-seats-purchased":a})},i),T().createElement("span",{className:re()({value:!0,"value--warning-over-seats-purchased":s,"value--over-seats-purchased":a})},r))}return"EXPIRES:"===i?T().createElement("div",{className:"item-element",key:r+n.toString()},T().createElement("span",{className:"legend"},i),T().createElement("span",{className:"value"},r),s<=30&&T().createElement("span",{className:re()("expiration-days",{"expiration-days-warning":s<=30,"expiration-days-danger":s<=5})},"Expires in ".concat(s," day").concat(s>1?"s":""))):T().createElement("div",{className:"item-element",key:r+n.toString()},T().createElement("span",{className:"legend"},i),T().createElement("span",{className:"value"},r))})(l,parseInt(e.Users,10),d)),T().createElement("hr",null),Zl(r,o),Jl(s,a,n))},Zl=(e,t)=>T().createElement(T().Fragment,null,T().createElement("button",{className:"add-new-licence-btn",onClick:()=>{var t;return null===(t=e.current)||void 0===t?void 0:t.click()}},T().createElement(N.FormattedMessage,{id:"admin.license.keyAddNew",defaultMessage:"Add a new license"})),T().createElement("input",{ref:e,type:"file",accept:x.a0.LICENSE_EXTENSION,onChange:t,style:{display:"none"}})),Jl=(e,t,s)=>{let a=T().createElement(N.FormattedMessage,Vl.keyRemove);return s&&(a=T().createElement(N.FormattedMessage,{id:"admin.license.removing",defaultMessage:"Removing License..."})),T().createElement(T().Fragment,null,T().createElement("div",{className:"remove-button"},T().createElement("button",{type:"button",className:"btn btn-danger",onClick:e,disabled:t,id:"remove-button","data-testid":"remove-button"},a)))},Ql=T().memo(zl),Kl=e=>{const[t]=(0,va.A)();return T().createElement("button",{className:"contact-us ".concat(e.customClass?e.customClass:""),onClick:s=>(async s=>{s.preventDefault(),(0,I.sx)("admin",e.eventID||"in_trial_contact_sales"),t()})(s)},e.buttonTextElement||T().createElement(N.FormattedMessage,{id:"admin.license.trialCard.contactSales",defaultMessage:"Contact sales"}))};Kl.propTypes={buttonTextElement:L().element,eventID:L().string,customClass:L().string};const Xl=Kl,$l=e=>T().createElement("svg",{width:e.width?e.width.toString():"197",height:e.height?e.height.toString():"120",viewBox:"0 0 197 120",fill:"none",xmlns:"http://www.w3.org/2000/svg"},T().createElement("rect",{x:"6",y:"22",width:"181",height:"78",rx:"5.625",fill:"var(--button-bg)",fillOpacity:"0.12"}),T().createElement("path",{d:"M14.255 11L19.755 16.5V70.5H40.755",stroke:"var(--center-channel-color)",strokeOpacity:"0.24",strokeLinecap:"round"}),T().createElement("circle",{cx:"2.5",cy:"2.5",r:"2.5",transform:"matrix(1 0 0 -1 10.255 12)",fill:"var(--center-channel-color)",fillOpacity:"0.48"}),T().createElement("path",{d:"M7.255 35L12.755 40.5V79.5H177.755V108.5",stroke:"var(--center-channel-color)",strokeOpacity:"0.24",strokeLinecap:"round"}),T().createElement("circle",{cx:"2.5",cy:"2.5",r:"2.5",transform:"matrix(1 0 0 -1 175.255 112)",fill:"var(--center-channel-color)",fillOpacity:"0.48"}),T().createElement("circle",{cx:"2.5",cy:"2.5",r:"2.5",transform:"matrix(1 0 0 -1 3.255 36)",fill:"var(--center-channel-color)",fillOpacity:"0.48"}),T().createElement("path",{opacity:"0.32",d:"M62.1304 22H129.87L134 115H58L62.1304 22Z",fill:"#BABEC9"}),T().createElement("rect",{opacity:"0.32",width:"92",height:"5",transform:"matrix(1 0 0 -1 50 120)",fill:"var(--center-channel-color)"}),T().createElement("rect",{x:"30",y:"16",width:"131",height:"86",rx:"4",fill:"var(--center-channel-bg)",stroke:"var(--center-channel-color)",strokeWidth:"4"}),T().createElement("path",{d:"M60.2804 44.2423C64.7656 44.2423 68.4016 40.6063 68.4016 36.1211C68.4016 31.636 64.7656 28 60.2804 28C55.7953 28 52.1593 31.636 52.1593 36.1211C52.1593 40.6063 55.7953 44.2423 60.2804 44.2423Z",fill:"var(--online-indicator)"}),T().createElement("path",{d:"M56.4581 35.723L59.2741 38.5097L64.1015 33.7325",stroke:"var(--center-channel-bg)",strokeWidth:"1.19",strokeLinecap:"round",strokeLinejoin:"round"}),T().createElement("path",{d:"M72.3077 32.4158H94.7884",stroke:"#1B1D22",strokeLinecap:"round"}),T().createElement("path",{d:"M97.1984 32.4158H106.833",stroke:"#1B1D22",strokeLinecap:"round"}),T().createElement("path",{d:"M109.239 32.4158H113.254",stroke:"#1B1D22",strokeLinecap:"round"}),T().createElement("path",{opacity:"0.5",d:"M123.242 35.226H72.3077V41.3016H123.242V35.226Z",fill:"#BABEC9"}),T().createElement("path",{d:"M60.2804 67.5113C64.7656 67.5113 68.4016 63.8753 68.4016 59.3902C68.4016 54.905 64.7656 51.269 60.2804 51.269C55.7953 51.269 52.1593 54.905 52.1593 59.3902C52.1593 63.8753 55.7953 67.5113 60.2804 67.5113Z",fill:"var(--online-indicator)"}),T().createElement("path",{d:"M56.4581 58.9921L59.2741 61.7787L64.1015 57.0016",stroke:"var(--center-channel-bg)",strokeWidth:"1.19",strokeLinecap:"round",strokeLinejoin:"round"}),T().createElement("path",{d:"M72.3077 55.6848H94.7884",stroke:"#1B1D22",strokeLinecap:"round"}),T().createElement("path",{d:"M97.1984 55.6848H106.833",stroke:"#1B1D22",strokeLinecap:"round"}),T().createElement("path",{d:"M109.239 55.6848H113.254",stroke:"#1B1D22",strokeLinecap:"round"}),T().createElement("path",{opacity:"0.5",d:"M139.242 58.495H72.3077V64.5706H139.242V58.495Z",fill:"#BABEC9"}),T().createElement("rect",{x:"110.255",width:"83",height:"50",rx:"4",fill:"var(--indigo-400)"}),T().createElement("path",{d:"M152.255 10H166.736",stroke:"var(--neutral-0)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M152.255 16H175.255",stroke:"var(--neutral-0)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M152.255 22H182.255",stroke:"var(--neutral-0)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M152.255 28H182.255",stroke:"var(--neutral-0)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M169.146 10H178.78",stroke:"var(--neutral-0)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M181.187 10H184.201",stroke:"var(--neutral-0)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M127.764 6.9187H130.755L131.134 9.38061C132.05 9.58876 132.907 9.95029 133.678 10.4368L135.69 8.96111L137.805 11.0762L136.312 13.1123C136.776 13.8746 137.12 14.7186 137.316 15.6178L139.847 16.0072V18.9983L137.251 19.3976C137.034 20.2503 136.683 21.0495 136.223 21.7718L137.805 23.9292L135.69 26.0442L133.481 24.4246C132.776 24.8427 132.002 25.158 131.181 25.3498L130.76 28.0866H127.768L127.344 25.3268C126.537 25.1281 125.778 24.81 125.085 24.3922L122.832 26.0441L120.717 23.9291L122.352 21.6996C121.916 21.0008 121.583 20.2316 121.373 19.413L118.677 18.9982V16.0071L121.308 15.6023C121.498 14.7371 121.825 13.9232 122.265 13.1843L120.719 11.0762L122.834 8.96117L124.891 10.4695C125.646 9.98536 126.485 9.62157 127.381 9.40523L127.764 6.9187ZM133.296 17.3707C133.296 19.5721 131.511 21.3568 129.31 21.3568C127.108 21.3568 125.323 19.5721 125.323 17.3707C125.323 15.1692 127.108 13.3846 129.31 13.3846C131.511 13.3846 133.296 15.1692 133.296 17.3707Z",fill:"var(--neutral-0)",fillOpacity:"0.40"}),T().createElement("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M138.66 30.9484H140.293L140.5 32.292C140.999 32.4055 141.467 32.6027 141.888 32.868L142.985 32.0631L144.14 33.2176L143.326 34.3277C143.58 34.7441 143.767 35.2053 143.874 35.6966L145.255 35.909V37.5416L143.839 37.7594C143.721 38.2253 143.529 38.662 143.277 39.0566L144.14 40.233L142.985 41.3875L141.781 40.504C141.396 40.7318 140.974 40.9037 140.526 41.0083L140.297 42.5023H138.664L138.432 40.9961C137.992 40.8878 137.577 40.7142 137.199 40.4862L135.97 41.3876L134.815 40.2331L135.707 39.0169C135.469 38.6353 135.287 38.2152 135.172 37.7681L133.7 37.5416V35.909L135.137 35.688C135.241 35.2158 135.419 34.7717 135.659 34.3684L134.815 33.2176L135.97 32.0631L137.093 32.8865C137.504 32.6223 137.962 32.4237 138.451 32.3056L138.66 30.9484ZM141.681 36.6532C141.681 37.8549 140.707 38.829 139.505 38.829C138.303 38.829 137.329 37.8549 137.329 36.6532C137.329 35.4516 138.303 34.4775 139.505 34.4775C140.707 34.4775 141.681 35.4516 141.681 36.6532Z",fill:"var(--neutral-0)",fillOpacity:"0.40"}),T().createElement("rect",{x:"54.755",y:"79.4823",width:"84",height:"11.0354",fill:"var(--center-channel-bg)",stroke:"#1B1D22"}),T().createElement("rect",{opacity:"0.3",x:"57.2648",y:"81.9911",width:"78.9823",height:"6.0177",fill:"#BABEC9"}),T().createElement("rect",{x:"57.2648",y:"81.9911",width:"52.6549",height:"6.0177",fill:"#BABEC9"}),T().createElement("path",{d:"M150.255 108.5H122.755",stroke:"var(--center-channel-color)",strokeLinecap:"round",strokeLinejoin:"round"}),T().createElement("path",{d:"M119.255 108.5H113.255",stroke:"var(--center-channel-color)",strokeLinecap:"round"}),T().createElement("path",{d:"M110.255 108.5H104.255",stroke:"var(--center-channel-color)",strokeLinecap:"round"}));$l.propTypes={width:L().number.isRequired,height:L().number.isRequired};const ed=$l,td=e=>{let{isTrialLicense:t,license:s}=e;const a=(0,Cs.RV)(s),n=T().createElement("div",{className:"purchase-card"},T().createElement(Xl,{eventID:"post_trial_contact_sales",customClass:"light-blue-btn"})),i="true"===s.IsGovSku;return T().createElement("div",{className:"EnterpriseEditionRightPannel"},T().createElement("div",{className:"svg-image"},a?null:T().createElement(ed,{width:197,height:120})),T().createElement("div",{className:"upgrade-title"},t?i?T().createElement(N.FormattedMessage,{id:"admin.license.purchaseEnterpriseGovPlanTitle",defaultMessage:"Purchase the Enterprise Gov Plan"}):T().createElement(N.FormattedMessage,{id:"admin.license.purchaseEnterprisePlanTitle",defaultMessage:"Purchase the Enterprise Plan"}):a?T().createElement(N.FormattedMessage,{id:"admin.license.enterprisePlanTitle",defaultMessage:"Need to increase your headcount?"}):i?T().createElement(N.FormattedMessage,{id:"admin.license.upgradeToEnterpriseGov",defaultMessage:"Upgrade to the Enterprise Gov Plan"}):T().createElement(N.FormattedMessage,{id:"admin.license.upgradeToEnterprise",defaultMessage:"Upgrade to the Enterprise Plan"})),T().createElement("div",{className:"upgrade-subtitle"},t?T().createElement(N.FormattedMessage,{id:"admin.license.purchaseEnterprisePlanSubtitle",defaultMessage:"Continue your access to Enterprise features by purchasing a license today."}):a?T().createElement(N.FormattedMessage,{id:"admin.license.enterprisePlanSubtitle",defaultMessage:"We’re here to work with you and your needs. Contact us today to get more seats on your plan."}):T().createElement("div",{className:"advantages-list"},["AD/LDAP Group sync","High Availability","Advanced compliance","Advanced roles and permissions","And more..."].map(((e,t)=>T().createElement("div",{className:"item",key:t.toString()},T().createElement("i",{className:"fa fa-lock"}),e))))),T().createElement("div",{className:"purchase_buttons"},n))};td.propTypes={isTrialLicense:L().bool.isRequired};const sd=(0,_.memo)(td);var ad=s(14696),nd=s(85507);const id=e=>{const t=(0,a.useDispatch)(),s=(0,a.useSelector)((e=>(0,sa.o)(e,x.IQ.CONFIRM_LICENSE_REMOVAL)));if(!s)return null;const n=()=>{e.onExited&&e.onExited(),t((0,ea.O)(x.IQ.CONFIRM_LICENSE_REMOVAL))};return T().createElement(ad.zW,{compassDesign:!0,className:"ConfirmLicenseRemovalModal",show:s,id:"ConfirmLicenseRemovalModal",onExited:n},T().createElement(T().Fragment,null,T().createElement("div",{className:"content-body"},T().createElement("div",{className:"alert-svg"},T().createElement(nd.A,{width:130.5,height:103.5})),T().createElement("div",{className:"title"},T().createElement(N.FormattedMessage,{id:"admin.license.confirm-license-removal.title",defaultMessage:"Are you sure?"})),T().createElement("div",{className:"subtitle"},T().createElement(N.FormattedMessage,{id:"admin.license.confirm-license-removal.subtitle",defaultMessage:"Removing the license will downgrade your server from {currentSKU} to Free. You may lose information. ",values:{currentSKU:e.currentLicenseSKU}}))),T().createElement("div",{className:"content-footer"},T().createElement("button",{onClick:n,className:"btn light-blue-btn",id:"cancel-removal"},T().createElement(N.FormattedMessage,{id:"admin.license.confirm-license-removal.cancel",defaultMessage:"Cancel"})),T().createElement("button",{onClick:s=>{e.handleRemove&&e.handleRemove(s),t((0,ea.O)(x.IQ.CONFIRM_LICENSE_REMOVAL))},className:"btn btn-primary",id:"confirm-removal"},T().createElement(N.FormattedMessage,{id:"admin.license.confirm-license-removal.confirm",defaultMessage:"Confirm"})))))};id.propTypes={currentLicenseSKU:L().string.isRequired,onExited:L().func,handleRemove:L().func};const rd=id,od=e=>{const t=(0,a.useDispatch)(),s=(0,a.useSelector)((e=>(0,sa.o)(e,x.IQ.ENTERPRISE_EDITION_LICENSE)));if(!s)return null;const n=()=>{e.onClose&&e.onClose(),t((0,ea.O)(x.IQ.ENTERPRISE_EDITION_LICENSE))};return T().createElement(ad.zW,{compassDesign:!0,className:"EELicenseModal",show:s,id:"EELicenseModal",onExited:n},T().createElement(T().Fragment,null,T().createElement("div",{className:"title"},"Enterprise Edition License:"),T().createElement("div",{className:"enterprise-license-text"},T().createElement("div",null,T().createElement("p",null,"The Mattermost Enterprise Edition (EE) license (the “EE License”)"),T().createElement("p",null,"Copyright (c) 2016-present Mattermost, Inc."),T().createElement("p",null,'The subscription-only features of the Mattermost Enterprise Edition software and associated documentation files (the "Software") may only be used if you (and any entity that you represent) (i) have agreed to, and are in compliance with, the Mattermost Subscription Terms of Service, available at https://mattermost.com/enterprise-edition-terms/ (the “EE Terms”), and (ii) otherwise have a valid Mattermost Enterprise Edition subscription for the correct features, number of user seats and instances of Mattermost Enterprise Edition that you are running, accessing, or using.  You may, however, utilize the free version of the Software (with several features not enabled) under this license without a license key or subscription provided that you otherwise comply with the terms and conditions of this Agreement. Subject to the foregoing, except as explicitly permitted in the EE Terms, it is forbidden to copy, merge, modify, publish, distribute, sublicense, stream, perform, display, create derivative works of and/or sell the Software in either source or executable form without written agreement from Mattermost.  Notwithstanding anything to the contrary, free versions of the Software are provided “AS-IS” without indemnification, support, or warranties of any kind, expressed or implied. You assume all risk associated with any use of free versions of the Software.'),T().createElement("p",null,'EXCEPT AS OTHERWISE SET FORTH IN A BINDING WRITTEN AGREEMENT BETWEEN YOU AND MATTERMOST, THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.'))),T().createElement("div",{className:"content-footer"},T().createElement("button",{onClick:n,className:"btn btn-primary"},"Close"))))};od.propTypes={onClose:L().func};const ld=od;s(32773);const dd=e=>T().createElement("svg",{width:e.width?e.width.toString():"110",height:e.height?e.height.toString():"100",viewBox:"0 0 20 22",fill:"none",xmlns:"http://www.w3.org/2000/svg"},T().createElement("path",{d:"M16 0.991902H7.96C7.544 0.991902 7.192 1.1359 6.904 1.4239L2.44 5.8159C2.152 6.1359 2.008 6.4959 2.008 6.8959V18.9919C2.008 19.5519 2.2 20.0239 2.584 20.4079C2.984 20.8079 3.456 21.0079 4 21.0079H16C16.544 21.0079 17.008 20.8079 17.392 20.4079C17.792 20.0239 17.992 19.5519 17.992 18.9919V3.0079C17.992 2.4479 17.792 1.9759 17.392 1.5919C17.008 1.1919 16.544 0.991902 16 0.991902ZM7 2.7439V6.4879H3.184L7 2.7439ZM17.008 18.9919C17.008 19.2639 16.904 19.4959 16.696 19.6879C16.504 19.8959 16.272 19.9999 16 19.9999H4C3.728 19.9999 3.488 19.8959 3.28 19.6879C3.088 19.4959 2.992 19.2639 2.992 18.9919V7.4959H7C7.272 7.4959 7.504 7.3999 7.696 7.2079C7.904 6.9999 8.008 6.7599 8.008 6.4879V1.9999H16C16.272 1.9999 16.504 2.1039 16.696 2.3119C16.904 2.5039 17.008 2.7359 17.008 3.0079V18.9919ZM13.504 9.9919H6.496C6.368 9.9919 6.248 10.0479 6.136 10.1599C6.04 10.2559 5.992 10.3679 5.992 10.4959C5.992 10.6239 6.04 10.7439 6.136 10.8559C6.248 10.9519 6.368 10.9999 6.496 10.9999H13.504C13.632 10.9999 13.744 10.9519 13.84 10.8559C13.952 10.7599 14.008 10.6399 14.008 10.4959C14.008 10.3519 13.952 10.2319 13.84 10.1359C13.744 10.0399 13.632 9.9919 13.504 9.9919ZM13.504 12.0079H6.496C6.368 12.0079 6.248 12.0559 6.136 12.1519C6.04 12.2479 5.992 12.3599 5.992 12.4879C5.992 12.6159 6.04 12.7359 6.136 12.8479C6.248 12.9439 6.368 12.9919 6.496 12.9919H13.504C13.632 12.9919 13.744 12.9439 13.84 12.8479C13.952 12.7519 14.008 12.6319 14.008 12.4879C14.008 12.3439 13.96 12.2319 13.864 12.1519C13.768 12.0559 13.648 12.0079 13.504 12.0079ZM13.504 13.9999H6.496C6.368 13.9999 6.248 14.0479 6.136 14.1439C6.04 14.2399 5.992 14.3599 5.992 14.5039C5.992 14.6479 6.04 14.7679 6.136 14.8639C6.248 14.9599 6.368 15.0079 6.496 15.0079H13.504C13.632 15.0079 13.744 14.9599 13.84 14.8639C13.952 14.7519 14.008 14.6319 14.008 14.5039C14.008 14.3759 13.952 14.2639 13.84 14.1679C13.744 14.0559 13.632 13.9999 13.504 13.9999ZM11.512 15.9919H6.496C6.368 15.9919 6.248 16.0479 6.136 16.1599C6.04 16.2559 5.992 16.3679 5.992 16.4959C5.992 16.6239 6.04 16.7439 6.136 16.8559C6.248 16.9519 6.368 16.9999 6.496 16.9999H11.512C11.64 16.9999 11.752 16.9519 11.848 16.8559C11.944 16.7599 11.992 16.6399 11.992 16.4959C11.992 16.3519 11.944 16.2319 11.848 16.1359C11.752 16.0399 11.64 15.9919 11.512 15.9919Z",fill:"#999999"}));dd.propTypes={width:L().number.isRequired,height:L().number.isRequired};const cd=dd;var md=s(21608);const ud=e=>T().createElement("svg",{width:e.width?e.width.toString():"101",height:e.height?e.height.toString():"69",viewBox:"0 0 101 69",fill:"none",xmlns:"http://www.w3.org/2000/svg"},T().createElement("rect",{x:"0.000976562",y:"9",width:"84",height:"24",rx:"3.75",fill:"var(--button-bg)",fillOpacity:"0.12"}),T().createElement("rect",{x:"14.001",y:"36",width:"87",height:"25",rx:"3.75",fill:"var(--button-bg)",fillOpacity:"0.12"}),T().createElement("rect",{x:"28.0286",y:"9.33704",width:"48.1218",height:"58.8953",rx:"2",fill:"var(--indigo-400)"}),T().createElement("rect",{x:"23.001",width:"50.505",height:"65.3594",rx:"2",fill:"var(--center-channel-bg)"}),T().createElement("rect",{x:"23.501",y:"0.5",width:"49.505",height:"64.3594",rx:"1.5",stroke:"var(--center-channel-color)",strokeOpacity:"0.8"}),T().createElement("path",{d:"M48.001 49C56.2853 49 63.001 42.2843 63.001 34C63.001 25.7157 56.2853 19 48.001 19C39.7167 19 33.001 25.7157 33.001 34C33.001 42.2843 39.7167 49 48.001 49Z",fill:"var(--button-bg)"}),T().createElement("path",{d:"M29 7H37.6188",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M29 54H57.0112",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M29 11H44.8012",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M29 58H65.63",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M38 15H44.4641",stroke:"var(--center-channel-color)",strokeOpacity:"0.48",strokeLinecap:"round"}),T().createElement("path",{d:"M49.0192 42H46.9828V29.8788L41.4313 35.4303L40.001 34L48.001 26L56.001 34L54.5707 35.4303L49.0192 29.8788V42Z",fill:"white"}));ud.propTypes={width:L().number.isRequired,height:L().number.isRequired};const pd=ud,gd=e=>{const t=(0,a.useDispatch)(),[s,n]=T().useState(e.fileObjFromProps),[r,o]=T().useState(!1),[l,d]=T().useState(null),[m,u]=T().useState(!1),p=(0,_.useRef)(null),g=(0,a.useSelector)(c.Ay),h=(0,a.useSelector)(ms.k),f=(0,a.useSelector)((e=>(0,sa.o)(e,x.IQ.UPLOAD_LICENSE)));if(!f)return null;const E=()=>{r||(e.onExited&&e.onExited(),t((0,ea.O)(x.IQ.UPLOAD_LICENSE)))};let b=T().createElement(T().Fragment,null,T().createElement("div",{className:"content-body"},T().createElement("div",{className:"svg-image"},T().createElement(pd,{width:151,height:103})),T().createElement("div",{className:"title"},T().createElement(N.FormattedMessage,{id:"admin.license.upload-modal.title",defaultMessage:"Upload a License Key"})),T().createElement("div",{className:"subtitle"},T().createElement(N.FormattedMessage,{id:"admin.license.upload-modal.subtitle",defaultMessage:"Upload a license key for Mattermost Enterprise Edition to upgrade this server. "})),T().createElement("div",{className:"file-upload"},T().createElement("div",{className:"file-upload__titleSection"},T().createElement(N.FormattedMessage,{id:"admin.license.upload-modal.file",defaultMessage:"File"})),T().createElement("div",{className:"file-upload__inputSection"},T().createElement("div",{className:"help-text file-name-section"},null!=s&&s.name&&null!=s&&s.size?T().createElement(T().Fragment,null,T().createElement(cd,{width:20,height:20}),T().createElement("span",{className:"file-name"},(e=>{const t=x.a0.LICENSE_EXTENSION.length;let s=e.split(x.a0.LICENSE_EXTENSION)[0];return s=s.length<40-t?s:"".concat(s.substr(0,37-t),"..."),"".concat(s).concat(x.a0.LICENSE_EXTENSION)})(s.name)),T().createElement("span",{className:"file-size"},(0,H.O1)(s.size))):T().createElement(N.FormattedMessage,{id:"admin.license.no-file-selected",defaultMessage:"No file selected"})),T().createElement("div",{className:"file__upload"},null!=s&&s.name?T().createElement("a",{onClick:()=>{n(null)}},T().createElement(N.FormattedMessage,{id:"admin.license.remove",defaultMessage:"Remove"})):T().createElement(T().Fragment,null,T().createElement("input",{ref:p,type:"file",accept:x.a0.LICENSE_EXTENSION,onChange:()=>{const e=p.current;null!==e&&null!==e.files&&0!==e.files.length&&0!==e.files[0].size&&(n(e.files[0]),d(null))}}),T().createElement("a",{className:"btn-select"},T().createElement(N.FormattedMessage,{id:"admin.license.choose",defaultMessage:"Choose File"})))))),l&&T().createElement("div",{className:"serverError"},T().createElement("i",{className:"icon icon-alert-outline"}),T().createElement("span",{className:"server-error-text",dangerouslySetInnerHTML:{__html:De()(l)}}))),T().createElement("div",{className:"content-footer"},T().createElement("div",{className:"btn-upload-wrapper"},T().createElement("button",{className:"btn ".concat((null==s?void 0:s.name)&&(null==s?void 0:s.name.length)>0&&"btn-primary"),disabled:!(null!=s&&s.name&&(null==s?void 0:s.name.length)>0),onClick:async e=>{if(e.preventDefault(),null===s)return;o(!0);const{error:a}=await t((0,i.Nf)(s));if(a)return n(null),d(a.message),void o(!1);await t((0,jl.uU)()),n(null),d(null),o(!1),u(!0)},id:"upload-button"},T().createElement(Oe.A,{loading:Boolean(r),text:(0,N.defineMessage)({id:"admin.license.modal.uploading",defaultMessage:"Uploading"})},T().createElement(N.FormattedMessage,{id:"admin.license.modal.upload",defaultMessage:"Upload"}))))));if(m){const e=T().createElement(N.FormattedDate,{value:new Date(parseInt(g.StartsAt,10)),day:"2-digit",month:(0,Es.FS)(h),year:"numeric"}),t=T().createElement(N.FormattedDate,{value:new Date(parseInt(g.ExpiresAt,10)),day:"2-digit",month:(0,Es.FS)(h),year:"numeric"}),s=g.Users,a=(0,Wl.t)(g.SkuShortName,"true"===g.IsGovSku);b=T().createElement(T().Fragment,null,T().createElement("div",{className:"content-body"},T().createElement("div",{className:"svg-image hands-svg"},T().createElement(md.A,{width:162,height:103.5})),T().createElement("div",{className:"title"},T().createElement(N.FormattedMessage,{id:"admin.license.upload-modal.successfulUpgrade",defaultMessage:"Successful Upgrade!"})),T().createElement("div",{className:"subtitle"},T().createElement(N.FormattedMessage,{id:"admin.license.upload-modal.successfulUpgradeText",defaultMessage:"You have upgraded to the {skuName} plan for {licensedUsersNum, number} seats. This is effective from {startsAt} until {expiresAt}. ",values:{expiresAt:t,startsAt:e,licensedUsersNum:s,skuName:a}}))),T().createElement("div",{className:"content-footer"},T().createElement("div",{className:"btn-upload-wrapper"},T().createElement("button",{className:"btn btn-primary",onClick:E,id:"done-button"},T().createElement(N.FormattedMessage,{id:"admin.license.modal.done",defaultMessage:"Done"})))))}return T().createElement(ad.zW,{className:"UploadLicenseModal",show:f,id:"UploadLicenseModal",compassDesign:!0,onExited:E},b)};gd.propTypes={onExited:L().func};const hd=gd,fd=e=>{let{license:t,totalUsers:s,isLicenseExpired:a}=e,n="info";const i=ha().utc(new Date(parseInt(null==t?void 0:t.ExpiresAt,10))),r=(0,H.RF)(parseInt(null==t?void 0:t.ExpiresAt,10)),o=T().createElement("div",{className:"purchase-card"},T().createElement(Xl,{eventID:"post_trial_contact_sales",customClass:"light-blue-btn"}));let l=T().createElement(N.FormattedMessage,{id:"admin.license.renewalCard.licenseExpiring",defaultMessage:"License expires in {days} days on {date, date, long}.",values:{date:i,days:r}});a&&(n="danger",l=T().createElement(N.FormattedMessage,{id:"admin.license.renewalCard.licenseExpired",defaultMessage:"License expired on {date, date, long}.",values:{date:i}}));const d=T().createElement("div",{className:"RenewLicenseCard__text"},T().createElement("div",{className:"RenewLicenseCard__text-description bolder"},T().createElement(N.FormattedMessage,{id:"admin.license.renewalCard.description.contact_sales",defaultMessage:"Renew your {licenseSku} license by contacting sales to avoid any disruption.",values:{licenseSku:(0,Wl.t)(t.SkuShortName,"true"===t.IsGovSku)}})),T().createElement("div",{className:"RenewLicenseCard__text-description"},T().createElement(N.FormattedMessage,{id:"admin.license.renewalCard.reviewNumbers",defaultMessage:"Review your numbers below to ensure you renew for the right number of users."})),T().createElement("div",{className:"RenewLicenseCard__licensedUsersNum"},T().createElement("strong",null,T().createElement(N.FormattedMessage,{id:"admin.license.renewalCard.usersNumbers_licensed",defaultMessage:"Licensed Users: "})),t.Users),T().createElement("div",{className:"RenewLicenseCard__activeUsersNum"},T().createElement("strong",null,T().createElement(N.FormattedMessage,{id:"admin.license.renewalCard.usersNumbers_active",defaultMessage:"Active Users: "})),s),T().createElement("div",{className:"RenewLicenseCard__buttons"},o));return T().createElement(ba.A,{mode:n,title:l,message:d})};fd.propTypes={isLicenseExpired:L().bool.isRequired,totalUsers:L().number.isRequired};const Ed=fd,bd=(0,N.defineMessages)({key:{id:"admin.license.key",defaultMessage:"License Key: "}}),vd=e=>{let{openEELicenseModal:t,currentPlan:s,upgradedFromTE:a,fileInputRef:n,handleChange:i}=e;const r=(0,_a.A)(),o=(0,N.useIntl)(),l=T().createElement("button",{id:"starter_edition_view_plans",onClick:()=>r({trackingLocation:"license_settings_view_plans"}),className:"btn btn-secondary PlanDetails__viewPlansButton"},o.formatMessage({id:"workspace_limits.menu_limit.view_plans",defaultMessage:"View plans"}));return T().createElement("div",{className:"StarterLeftPanel"},l,T().createElement("div",{className:"pre-title"},T().createElement(N.FormattedMessage,{id:"admin.license.enterpriseEdition",defaultMessage:"Enterprise Edition"})),T().createElement("div",{className:"title"},T().createElement(N.FormattedMessage,{id:"admin.license.freeEdition.title",defaultMessage:"Free"})),T().createElement("div",{className:"currentPlanLegend"},s),T().createElement("div",{className:"subtitle"},T().createElement(N.FormattedMessage,{id:"admin.license.freeEdition.subtitle",defaultMessage:"Purchase Professional or Enterprise to unlock enterprise features."})),T().createElement("hr",null),T().createElement("div",{className:"content"},a?T().createElement(T().Fragment,null,T().createElement("p",null,"When using Mattermost Enterprise Edition, the software is offered under a commercial license. See ",T().createElement("a",{role:"button",onClick:t,className:"openEELicenseModal"},"here")," for “Enterprise Edition License” for details. ","See NOTICE.txt for information about open source software used in the system.")):T().createElement("p",null,"This software is offered under a commercial license.\n\nSee ENTERPRISE-EDITION-LICENSE.txt in your root install directory for details. See NOTICE.txt for information about open source software used in this system.")),T().createElement("div",{className:"licenseInformation"},T().createElement("div",{className:"licenseKeyTitle"},T().createElement(N.FormattedMessage,bd.key)),T().createElement("div",{className:"uploadButtons"},T().createElement("button",{className:"btn btn-upload light-blue-btn",onClick:()=>{var e;return null===(e=n.current)||void 0===e?void 0:e.click()},id:"open-modal"},T().createElement(N.FormattedMessage,{id:"admin.license.uploadFile",defaultMessage:"Upload File"})),T().createElement("input",{ref:n,type:"file",accept:x.a0.LICENSE_EXTENSION,onChange:i,style:{display:"none"}}))))},Md=T().memo(vd),yd=()=>T().createElement("div",{className:"StarterEditionRightPannel"},T().createElement("div",{className:"svg-image"},T().createElement(ed,{width:197,height:120})),T().createElement("div",{className:"upgrade-title"},T().createElement(N.FormattedMessage,{id:"admin.license.upgradeTitle",defaultMessage:"Upgrade to the Professional Plan"})),T().createElement("div",{className:"advantages-list"},["OneLogin/ADFS SAML 2.0","OpenID Connect","Office365 suite integration","Read-only announcement channels","And more..."].map(((e,t)=>T().createElement("div",{className:"item",key:t.toString()},T().createElement("i",{className:"fa fa-lock"}),e)))),T().createElement("div",{className:"purchase_buttons"},T().createElement(Xl,{eventID:"post_trial_contact_sales"}))),Sd=(0,_.memo)(yd),Ad=e=>{let{openEELicenseModal:t,currentPlan:s}=e;return T().createElement("div",{className:"TeamEditionLeftPanel"},T().createElement("div",{className:"title"},"Team Edition"),T().createElement("div",{className:"currentPlanLegend"},s),T().createElement("hr",null),T().createElement("div",null,T().createElement("p",null,"When using Mattermost Team Edition, the software is offered under a Mattermost MIT Compiled License. See MIT-COMPILED-LICENSE.md in your root install directory for details."),T().createElement("p",null,"When using Mattermost Enterprise Edition, the software is offered under a commercial license. See ",T().createElement("a",{role:"button",onClick:t,className:"openEELicenseModal"},"here")," for “Enterprise Edition License” for details."),T().createElement("p",null,"See NOTICE.txt for information about open source software used in the system.")))};Ad.propTypes={openEELicenseModal:L().func.isRequired,currentPlan:L().element.isRequired};const Cd=Ad,_d=e=>{let{upgradingPercentage:t,handleUpgrade:s,upgradeError:a,restartError:n,handleRestart:i,restarting:r,openEEModal:o,setClickNormalUpgradeBtn:l}=e,d=null;const c=(0,N.useIntl)();return 100!==t?d=T().createElement("div",null,T().createElement("p",null,T().createElement("button",{type:"button",onClick:e=>{s&&(l(),s(e))},className:"btn btn-primary"},T().createElement(Oe.A,{loading:t>0,text:T().createElement(N.FormattedMessage,{id:"admin.license.enterprise.upgrading",defaultMessage:"Upgrading {percentage}%",values:{percentage:t}})},T().createElement(N.FormattedMessage,{id:"admin.license.enterprise.upgrade",defaultMessage:"Upgrade to Enterprise Edition"})))),T().createElement("p",{className:"upgrade-legal-terms"},T().createElement(N.FormattedMessage,{id:"admin.licenseSettings.teamEdition.teamEditionRightPanel.acceptTermsInitial",defaultMessage:"By clicking <b>Upgrade</b>, I agree to the terms of the Mattermost ",values:{b:e=>T().createElement("b",null,e)}}),T().createElement("a",{role:"button",onClick:o},T().createElement(N.FormattedMessage,{id:"admin.licenseSettings.teamEdition.teamEditionRightPanel.eeLicenseLink",defaultMessage:"Enterprise Edition License"})),T().createElement(N.FormattedMessage,{id:"admin.licenseSettings.teamEdition.teamEditionRightPanel.acceptTermsFinal",defaultMessage:". Upgrading will download the binary and update your team edition."})),a&&T().createElement("div",{className:"upgrade-error"},T().createElement("div",{className:"form-group has-error"},T().createElement("div",{className:"as-bs-label control-label",dangerouslySetInnerHTML:{__html:(0,$r.GP)(a)}})))):100===t&&(d=T().createElement("div",null,T().createElement("p",null,T().createElement(N.FormattedMessage,{id:"admin.licenseSettings.teamEdition.teamEditionRightPanel.upgradedRestart",defaultMessage:"You have upgraded your binary to mattermost enterprise, please restart the server to start using the new binary. You can do it right here:"})),T().createElement("p",null,T().createElement("button",{type:"button",onClick:i,className:"btn btn-primary"},T().createElement(Oe.A,{loading:r,text:c.formatMessage({id:"admin.licenseSettings.teamEdition.teamEditionRightPanel.restarting",defaultMessage:"Restarting"})},T().createElement(N.FormattedMessage,{id:"admin.licenseSettings.teamEdition.teamEditionRightPanel.restart",defaultMessage:"Restart Server"})))),n&&T().createElement("div",{className:"upgrade-error"},T().createElement("div",{className:"form-group has-error"},T().createElement("div",{className:"as-bs-label control-label"},n))))),T().createElement("div",{className:"TeamEditionRightPanel"},T().createElement("div",{className:"svg-image"},T().createElement(ed,{width:197,height:120})),T().createElement("div",{className:"upgrade-title"},T().createElement(N.FormattedMessage,{id:"admin.license.enterprise.upgrade",defaultMessage:"Upgrade to Enterprise Edition"})),T().createElement("div",{className:"upgrade-subtitle"},T().createElement(N.FormattedMessage,{id:"admin.license.enterprise.license_required_upgrade",defaultMessage:"A license is required to unlock enterprise features"})),T().createElement("div",{className:"advantages-list"},["AD/LDAP Group Sync","High Availability","Advanced compliance","And more..."].map(((e,t)=>T().createElement("div",{className:"item",key:t.toString()},T().createElement("i",{className:"fa fa-lock"}),e)))),d)};_d.propTypes={upgradingPercentage:L().number.isRequired,handleUpgrade:L().func.isRequired,upgradeError:L().oneOfType([L().string,L().oneOf([null])]),restartError:L().oneOfType([L().string,L().oneOf([null])]),handleRestart:L().func.isRequired,setClickNormalUpgradeBtn:L().func.isRequired,openEEModal:L().func.isRequired,restarting:L().bool.isRequired};const Td=T().memo(_d),Nd=e=>{let{license:t}=e;const s=new Date,a=new Date(parseInt(null==t?void 0:t.ExpiresAt,10)),n=(0,Cs.vj)(t),i=T().createElement("div",{className:"RenewLicenseCard TrialLicense"},T().createElement("div",{className:"RenewLicenseCard__text"},T().createElement("div",{className:"RenewLicenseCard__text-description"},s.toDateString()===a.toDateString()?T().createElement(N.FormattedMessage,{id:"admin.license.trialLicenseCard.expiringToday",defaultMessage:"Your free trial expires <b>Today at {time}</b>. Visit our customer portal to purchase a license now to continue using Mattermost Professional and Enterprise features after trial ends",values:{b:e=>T().createElement("b",null,e),time:ha()(a).endOf("day").format("h:mm a ")+ha()().tz((0,Sa.C7)()).format("z")}}):T().createElement(N.FormattedMessage,{id:"admin.license.trialLicenseCard.expiringAfterFewDays",defaultMessage:"Your free trial will expire in <b>{daysCount} {daysCount, plural, one {day} other {days}}</b>. Visit our customer portal to purchase a license now to continue using Mattermost Professional and Enterprise features after trial ends.",values:{b:e=>T().createElement("b",null,e),daysCount:n}})),T().createElement("div",{className:"RenewLicenseCard__buttons"},T().createElement(Xl,{customClass:"contact_us_primary_cta"})))),r=T().createElement(N.FormattedMessage,{id:"admin.license.trialCard.licenseExpiring",defaultMessage:"You’re currently on a free trial of our Mattermost Enterprise license."});return T().createElement(ba.A,{mode:"info",title:r,message:i})};function Rd(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const wd=(0,N.defineMessages)({title:{id:"admin.license.title",defaultMessage:"Edition and License"}}),Id=[bd.key,Vl.keyRemove,wd.title];class Od extends T().PureComponent{constructor(e){super(e),Rd(this,"reloadPercentage",(async()=>{const{percentage:e,error:t}=await this.props.actions.upgradeToE0Status();100===e||t?this.interval&&(clearInterval(this.interval),this.interval=null,t?(0,I.sx)("api","upgrade_to_e0_failed",{error:t}):(0,I.sx)("api","upgrade_to_e0_success")):e>0&&!this.interval&&(this.interval=setInterval(this.reloadPercentage,2e3)),this.setState({upgradingPercentage:e||0,upgradeError:t})})),Rd(this,"handleChange",(()=>{var e;const t=this.fileInputRef.current;null!=t&&null!==(e=t.files)&&void 0!==e&&e.length&&this.setState({fileSelected:!0,file:t.files[0]})})),Rd(this,"openEELicenseModal",(async()=>{this.props.actions.openModal({modalId:x.IQ.ENTERPRISE_EDITION_LICENSE,dialogType:ld})})),Rd(this,"confirmLicenseRemoval",(async()=>{this.props.actions.openModal({modalId:x.IQ.CONFIRM_LICENSE_REMOVAL,dialogType:rd,dialogProps:{handleRemove:this.handleRemove,currentLicenseSKU:(0,Cs.Zg)(this.props.license)}})})),Rd(this,"handleRemove",(async e=>{e.preventDefault(),this.setState({removing:!0});const{error:t}=await this.props.actions.removeLicense();t?this.setState({serverError:t.message,removing:!1}):(await Promise.all([this.props.actions.getPrevTrialLicense(),this.props.actions.getLicenseConfig()]),await this.props.actions.getServerLimits(),this.setState({serverError:null,removing:!1}))})),Rd(this,"handleUpgrade",(async e=>{if(e&&e.preventDefault(),!(this.state.upgradingPercentage>0))try{await this.props.actions.upgradeToE0(),this.setState({upgradingPercentage:1}),await this.reloadPercentage()}catch(e){(0,I.sx)("api","upgrade_to_e0_failed",{error:e.message}),this.setState({upgradeError:e.message,upgradingPercentage:0})}})),Rd(this,"checkRestarted",(()=>{this.props.actions.ping().then((()=>{window.location.reload()})).catch((()=>{setTimeout(this.checkRestarted,1e3)}))})),Rd(this,"handleRestart",(async e=>{e&&e.preventDefault(),this.setState({restarting:!0});try{await this.props.actions.restartServer()}catch(e){this.setState({restarting:!1,restartError:e})}setTimeout(this.checkRestarted,1e3)})),Rd(this,"setClickNormalUpgradeBtn",(()=>{this.setState({clickNormalUpgradeBtn:!0})})),Rd(this,"currentPlan",T().createElement("div",{className:"current-plan-legend"},T().createElement("i",{className:"icon-check-circle"}),"Current Plan")),Rd(this,"createLink",((e,t)=>T().createElement(ce.A,{location:"license_settings",id:"privacyLink",href:e},t))),Rd(this,"termsAndPolicy",T().createElement("div",{className:"terms-and-policy"},"See also ",this.createLink(x.L0.TERMS_OF_SERVICE,"Enterprise Edition Terms of Use")," and ",this.createLink(x.L0.PRIVACY_POLICY,"Privacy Policy"))),Rd(this,"comparePlans",T().createElement("div",{className:"compare-plans-text"},"Curious about upgrading? ",this.createLink(x.Lu.PRICING,"Compare Plans"))),Rd(this,"renewLicenseCard",(()=>(0,Cs.Ue)(this.props.license)?T().createElement(Nd,{license:this.props.license}):(0,Cs.bT)(this.props.license)||(0,Cs.oT)(this.props.license)?T().createElement(Ed,{license:this.props.license,isLicenseExpired:(0,Cs.bT)(this.props.license),totalUsers:this.props.totalUsers}):null)),this.interval=null,this.state={fileSelected:!1,file:null,serverError:null,gettingTrialResponseCode:null,gettingTrialError:null,gettingTrial:!1,removing:!1,upgradingPercentage:0,upgradeError:null,restarting:!1,restartError:null,clickNormalUpgradeBtn:!1},this.fileInputRef=T().createRef()}componentDidMount(){this.props.enterpriseReady?this.props.actions.getPrevTrialLicense():this.reloadPercentage(),this.props.actions.getLicenseConfig(),this.props.actions.getFilteredUsersStats({include_bots:!1,include_deleted:!1})}componentDidUpdate(e,t){t.fileSelected!==this.state.fileSelected&&this.state.fileSelected&&this.props.actions.openModal({modalId:x.IQ.UPLOAD_LICENSE,dialogType:hd,dialogProps:{fileObjFromProps:this.state.file}}),this.setState({fileSelected:!1,file:null})}componentWillUnmount(){this.interval&&clearInterval(this.interval)}render(){var e;const{license:t,upgradedFromTE:s,isDisabled:a}=this.props;let n=null,i=null;return this.props.enterpriseReady?"true"===t.IsLicensed?(n=T().createElement(Ql,{openEELicenseModal:this.openEELicenseModal,upgradedFromTE:s,license:t,isTrialLicense:(0,Cs.Ue)(t),handleRemove:this.confirmLicenseRemoval,isDisabled:a,removing:this.state.removing,fileInputRef:this.fileInputRef,handleChange:this.handleChange,statsActiveUsers:this.props.totalUsers||0}),i=T().createElement(sd,{isTrialLicense:(0,Cs.Ue)(t),license:t})):(n=T().createElement(Md,{openEELicenseModal:this.openEELicenseModal,currentPlan:this.currentPlan,upgradedFromTE:this.props.upgradedFromTE,fileInputRef:this.fileInputRef,handleChange:this.handleChange}),i=T().createElement(Sd,null)):(n=T().createElement(Cd,{openEELicenseModal:this.openEELicenseModal,currentPlan:this.currentPlan}),i=T().createElement(Td,{upgradingPercentage:this.state.upgradingPercentage,upgradeError:this.state.upgradeError,restartError:this.state.restartError,handleRestart:this.handleRestart,handleUpgrade:this.handleUpgrade,restarting:this.state.restarting,openEEModal:this.openEELicenseModal,setClickNormalUpgradeBtn:this.setClickNormalUpgradeBtn})),T().createElement("div",{className:"wrapper--fixed"},T().createElement(et,null,T().createElement(N.FormattedMessage,wd.title)),T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},T().createElement("div",{className:"admin-console__banner_section"},!this.state.clickNormalUpgradeBtn&&"true"!==t.IsLicensed&&"true"!==(null===(e=this.props.prevTrialLicense)||void 0===e?void 0:e.IsLicensed)&&T().createElement(so,{isDisabled:a,gettingTrialResponseCode:this.state.gettingTrialResponseCode,gettingTrialError:this.state.gettingTrialError,gettingTrial:this.state.gettingTrial,enterpriseReady:this.props.enterpriseReady,upgradingPercentage:this.state.upgradingPercentage,handleUpgrade:this.handleUpgrade,upgradeError:this.state.upgradeError,restartError:this.state.restartError,handleRestart:this.handleRestart,restarting:this.state.restarting,openEEModal:this.openEELicenseModal}),this.renewLicenseCard()),T().createElement("div",{className:"top-wrapper"},T().createElement("div",{className:"left-panel"},T().createElement("div",{className:"panel-card"},n),!(0,Cs.Ue)(t)&&this.termsAndPolicy),T().createElement("div",{className:"right-panel"},T().createElement("div",{className:"panel-card"},i),!(0,Cs.RV)(t)&&this.comparePlans)))))}}Rd(Od,"propTypes",{enterpriseReady:L().bool.isRequired,upgradedFromTE:L().bool.isRequired,totalUsers:L().number.isRequired,isDisabled:L().bool.isRequired,actions:L().shape({getLicenseConfig:L().func.isRequired,uploadLicense:L().func.isRequired,removeLicense:L().func.isRequired,getPrevTrialLicense:L().func.isRequired,upgradeToE0:L().func.isRequired,upgradeToE0Status:L().func.isRequired,restartServer:L().func.isRequired,ping:L().func.isRequired,requestTrialLicense:L().func.isRequired,openModal:L().func.isRequired,getServerLimits:L().func.isRequired,getFilteredUsersStats:L().func.isRequired}).isRequired});const Pd=(0,a.connect)((function(e){var t;const s=(0,c.zj)(e);return{totalUsers:(null===(t=(0,g.$c)(e))||void 0===t?void 0:t.total_users_count)||0,upgradedFromTE:"true"===s.UpgradedFromTE,prevTrialLicense:e.entities.admin.prevTrialLicense}}),(function(e){return{actions:(0,n.bindActionCreators)({getLicenseConfig:jl.uU,uploadLicense:i.Nf,removeLicense:i.E5,getPrevTrialLicense:i.fr,upgradeToE0:h.v0,upgradeToE0Status:h.LP,restartServer:h.z_,ping:h.hU,requestTrialLicense:h.Fk,openModal:ea.q,getFilteredUsersStats:ds.$c,getServerLimits:ql.M},e)}}))(Od);function kd(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const xd=(0,N.defineMessages)({globalRelayCustomerType_title:{id:"admin.complianceExport.globalRelayCustomerType.title",defaultMessage:"Customer Type:"},globalRelayCustomerType_description:{id:"admin.complianceExport.globalRelayCustomerType.description",defaultMessage:"The type of GlobalRelay customer account that your organization has."},globalRelaySMTPUsername_title:{id:"admin.complianceExport.globalRelaySMTPUsername.title",defaultMessage:"SMTP Username:"},globalRelaySMTPUsername_description:{id:"admin.complianceExport.globalRelaySMTPUsername.description",defaultMessage:"The username that is used to authenticate against the GlobalRelay SMTP server."},globalRelaySMTPPassword_title:{id:"admin.complianceExport.globalRelaySMTPPassword.title",defaultMessage:"SMTP Password:"},globalRelaySMTPPassword_description:{id:"admin.complianceExport.globalRelaySMTPPassword.description",defaultMessage:"The password that is used to authenticate against the GlobalRelay SMTP server."},globalRelayEmailAddress_title:{id:"admin.complianceExport.globalRelayEmailAddress.title",defaultMessage:"Email Address:"},globalRelayEmailAddress_description:{id:"admin.complianceExport.globalRelayEmailAddress.description",defaultMessage:"The email address that your GlobalRelay server monitors for incoming Compliance Exports."},complianceExportTitle:{id:"admin.service.complianceExportTitle",defaultMessage:"Enable Compliance Export:"},complianceExportDesc:{id:"admin.service.complianceExportDesc",defaultMessage:"When true, Mattermost will export all messages that were posted in the last 24 hours. The export task is scheduled to run once per day. See <link>the documentation</link> to learn more."},exportJobStartTime_title:{id:"admin.complianceExport.exportJobStartTime.title",defaultMessage:"Compliance Export Time:"},exportJobStartTime_description:{id:"admin.complianceExport.exportJobStartTime.description",defaultMessage:"Set the start time of the daily scheduled compliance export job. Choose a time when fewer people are using your system. Must be a 24-hour time stamp in the form HH:MM."},exportFormat_title:{id:"admin.complianceExport.exportFormat.title",defaultMessage:"Export Format:"},exportFormat_description_intro:{id:"admin.complianceExport.exportFormatDetail.intro",defaultMessage:"Format of the compliance export. Corresponds to the system that you want to import the data into."},exportFormat_description_details:{id:"admin.complianceExport.exportFormatDetail.details",defaultMessage:"For Actiance XML, compliance export files are written to the exports subdirectory of the configured <a>Local Storage Directory</a>. For Global Relay EML, they are emailed to the configured email address."},createJob_title:{id:"admin.complianceExport.createJob.title",defaultMessage:"Run Compliance Export Job Now"},createJob_help:{id:"admin.complianceExport.createJob.help",defaultMessage:"Initiates a Compliance Export job immediately."}}),Dd=[xd.exportFormat_description_intro,xd.exportFormat_description_details,xd.complianceExportTitle,xd.complianceExportDesc,xd.exportJobStartTime_title,xd.exportJobStartTime_description,xd.exportFormat_title,xd.createJob_title,xd.createJob_help,xd.globalRelayCustomerType_title,xd.globalRelayCustomerType_description,xd.globalRelaySMTPUsername_title,xd.globalRelaySMTPUsername_description,xd.globalRelaySMTPPassword_title,xd.globalRelaySMTPPassword_description,xd.globalRelayEmailAddress_title,xd.globalRelayEmailAddress_description],Ld=(0,N.injectIntl)(class extends Nt{constructor(){super(...arguments),kd(this,"getConfigFromState",(e=>(e.MessageExportSettings.EnableExport=this.state.enableComplianceExport,e.MessageExportSettings.ExportFormat=this.state.exportFormat,e.MessageExportSettings.DailyRunTime=this.state.exportJobStartTime,this.state.exportFormat===x.Fu.EXPORT_FORMAT_GLOBALRELAY&&(e.MessageExportSettings.GlobalRelaySettings={CustomerType:this.state.globalRelayCustomerType,SMTPUsername:this.state.globalRelaySMTPUsername,SMTPPassword:this.state.globalRelaySMTPPassword,EmailAddress:this.state.globalRelayEmailAddress,CustomSMTPServerName:this.state.globalRelayCustomSMTPServerName,CustomSMTPPort:this.state.globalRelayCustomSMTPPort,SMTPServerTimeout:this.state.globalRelaySMTPServerTimeout}),e))),kd(this,"getJobDetails",(e=>{if(e.data){const t=[];return e.data.messages_exported&&t.push(T().createElement(N.FormattedMessage,{id:"admin.complianceExport.messagesExportedCount",defaultMessage:"{count} messages exported.",values:{count:e.data.messages_exported}})),e.data.warning_count>0&&(e.data.export_type===x.Fu.EXPORT_FORMAT_GLOBALRELAY?t.push(T().createElement("div",null,T().createElement(N.FormattedMessage,{id:"admin.complianceExport.warningCount.globalrelay",defaultMessage:"{count} warning(s) encountered, see log for details",values:{count:e.data.warning_count}}))):t.push(T().createElement("div",null,T().createElement(N.FormattedMessage,{id:"admin.complianceExport.warningCount",defaultMessage:"{count} warning(s) encountered, see warning.txt for details",values:{count:e.data.warning_count}})))),e.data.progress_message&&t.push(T().createElement("div",null,e.data.progress_message)),t}return null})),kd(this,"renderSettings",(()=>{const e=[{value:x.Fu.EXPORT_FORMAT_ACTIANCE,text:this.props.intl.formatMessage({id:"admin.complianceExport.exportFormat.actiance",defaultMessage:"Actiance XML"})},{value:x.Fu.EXPORT_FORMAT_CSV,text:this.props.intl.formatMessage({id:"admin.complianceExport.exportFormat.csv",defaultMessage:"CSV"})},{value:x.Fu.EXPORT_FORMAT_GLOBALRELAY,text:this.props.intl.formatMessage({id:"admin.complianceExport.exportFormat.globalrelay",defaultMessage:"GlobalRelay EML"})}];let t;if(this.state.exportFormat===x.Fu.EXPORT_FORMAT_GLOBALRELAY){const e=T().createElement(Te,{id:"globalRelayCustomerType",values:[{value:"A9",text:this.props.intl.formatMessage({id:"admin.complianceExport.globalRelayCustomerType.a9.description",defaultMessage:"A9/Type 9"})},{value:"A10",text:this.props.intl.formatMessage({id:"admin.complianceExport.globalRelayCustomerType.a10.description",defaultMessage:"A10/Type 10"})},{value:"CUSTOM",text:this.props.intl.formatMessage({id:"admin.complianceExport.globalRelayCustomerType.custom.description",defaultMessage:"Custom"})}],label:T().createElement(N.FormattedMessage,xd.globalRelayCustomerType_title),helpText:T().createElement(N.FormattedMessage,xd.globalRelayCustomerType_description),value:this.state.globalRelayCustomerType?this.state.globalRelayCustomerType:"",onChange:this.handleChange,setByEnv:this.isSetByEnv("DataRetentionSettings.GlobalRelaySettings.CustomerType"),disabled:this.props.isDisabled||!this.state.enableComplianceExport}),s=T().createElement(We,{id:"globalRelaySMTPUsername",label:T().createElement(N.FormattedMessage,xd.globalRelaySMTPUsername_title),placeholder:(0,N.defineMessage)({id:"admin.complianceExport.globalRelaySMTPUsername.example",defaultMessage:'E.g.: "globalRelayUser"'}),helpText:T().createElement(N.FormattedMessage,xd.globalRelaySMTPUsername_description),value:this.state.globalRelaySMTPUsername?this.state.globalRelaySMTPUsername:"",onChange:this.handleChange,setByEnv:this.isSetByEnv("DataRetentionSettings.GlobalRelaySettings.SMTPUsername"),disabled:this.props.isDisabled||!this.state.enableComplianceExport}),a=T().createElement(We,{id:"globalRelaySMTPPassword",label:T().createElement(N.FormattedMessage,xd.globalRelaySMTPPassword_title),placeholder:(0,N.defineMessage)({id:"admin.complianceExport.globalRelaySMTPPassword.example",defaultMessage:'E.g.: "globalRelayPassword"'}),helpText:T().createElement(N.FormattedMessage,xd.globalRelaySMTPPassword_description),value:this.state.globalRelaySMTPPassword?this.state.globalRelaySMTPPassword:"",onChange:this.handleChange,setByEnv:this.isSetByEnv("DataRetentionSettings.GlobalRelaySettings.SMTPPassword"),disabled:this.props.isDisabled||!this.state.enableComplianceExport}),n=T().createElement(We,{id:"globalRelayEmailAddress",label:T().createElement(N.FormattedMessage,xd.globalRelayEmailAddress_title),placeholder:(0,N.defineMessage)({id:"admin.complianceExport.globalRelayEmailAddress.example",defaultMessage:'E.g.: "globalrelay@mattermost.com"'}),helpText:T().createElement(N.FormattedMessage,xd.globalRelayEmailAddress_description),value:this.state.globalRelayEmailAddress?this.state.globalRelayEmailAddress:"",onChange:this.handleChange,setByEnv:this.isSetByEnv("DataRetentionSettings.GlobalRelaySettings.EmailAddress"),disabled:this.props.isDisabled||!this.state.enableComplianceExport}),i=T().createElement(We,{id:"globalRelayCustomSMTPServerName",label:T().createElement(N.FormattedMessage,{id:"admin.complianceExport.globalRelayCustomSMTPServerName.title",defaultMessage:"SMTP Server Name:"}),placeholder:(0,N.defineMessage)({id:"admin.complianceExport.globalRelayCustomSMTPServerName.example",defaultMessage:'E.g.: "feeds.globalrelay.com"'}),helpText:T().createElement(N.FormattedMessage,{id:"admin.complianceExport.globalRelayCustomSMTPServerName.description",defaultMessage:"The SMTP server name that will receive your Global Relay EML."}),value:this.state.globalRelayCustomSMTPServerName?this.state.globalRelayCustomSMTPServerName:"",onChange:this.handleChange,setByEnv:this.isSetByEnv("DataRetentionSettings.GlobalRelaySettings.CustomSMTPServerName"),disabled:this.props.isDisabled||!this.state.enableComplianceExport}),r=T().createElement(We,{id:"globalRelayCustomSMTPPort",label:T().createElement(N.FormattedMessage,{id:"admin.complianceExport.globalRelayCustomSMTPPort.title",defaultMessage:"SMTP Server Port:"}),placeholder:(0,N.defineMessage)({id:"admin.complianceExport.globalRelayCustomSMTPPort.example",defaultMessage:'E.g.: "25"'}),helpText:T().createElement(N.FormattedMessage,{id:"admin.complianceExport.globalRelayCustomSMTPPort.description",defaultMessage:"The SMTP server port that will receive your Global Relay EML."}),value:this.state.globalRelayCustomSMTPPort?this.state.globalRelayCustomSMTPPort:"",onChange:this.handleChange,setByEnv:this.isSetByEnv("DataRetentionSettings.GlobalRelaySettings.CustomSMTPPort"),disabled:this.props.isDisabled||!this.state.enableComplianceExport});t=T().createElement(Ue,{id:"globalRelaySettings"},e,s,a,n,"CUSTOM"===this.state.globalRelayCustomerType&&i,"CUSTOM"===this.state.globalRelayCustomerType&&r)}const s=T().createElement(T().Fragment,null,T().createElement("p",null,T().createElement(N.FormattedMessage,xd.exportFormat_description_intro)),T().createElement("p",null,T().createElement(N.FormattedMessage,Object.assign({},xd.exportFormat_description_details,{values:{a:e=>T().createElement(R.Link,{to:"/admin_console/environment/file_storage"},e)}}))));return T().createElement(Ue,null,T().createElement(W,{id:"enableComplianceExport",label:T().createElement(N.FormattedMessage,xd.complianceExportTitle),helpText:T().createElement(N.FormattedMessage,Object.assign({},xd.complianceExportDesc,{values:{link:e=>T().createElement(ce.A,{href:x.Uk.COMPILANCE_EXPORT,location:"message_export_settings"},e)}})),value:this.state.enableComplianceExport,onChange:this.handleChange,setByEnv:this.isSetByEnv("DataRetentionSettings.EnableExport"),disabled:this.props.isDisabled}),T().createElement(We,{id:"exportJobStartTime",label:T().createElement(N.FormattedMessage,xd.exportJobStartTime_title),placeholder:(0,N.defineMessage)({id:"admin.complianceExport.exportJobStartTime.example",defaultMessage:'E.g.: "02:00"'}),helpText:T().createElement(N.FormattedMessage,xd.exportJobStartTime_description),value:this.state.exportJobStartTime,onChange:this.handleChange,setByEnv:this.isSetByEnv("DataRetentionSettings.DailyRunTime"),disabled:this.props.isDisabled||!this.state.enableComplianceExport}),T().createElement(K,{id:"exportFormat",values:e,label:T().createElement(N.FormattedMessage,xd.exportFormat_title),helpText:s,value:this.state.exportFormat,onChange:this.handleChange,setByEnv:this.isSetByEnv("DataRetentionSettings.ExportFormat"),disabled:this.props.isDisabled||!this.state.enableComplianceExport}),t,T().createElement(ve,{jobType:x.jj.MESSAGE_EXPORT,createJobButtonText:T().createElement(N.FormattedMessage,xd.createJob_title),createJobHelpText:T().createElement(N.FormattedMessage,xd.createJob_help),getExtraInfoText:this.getJobDetails,disabled:this.props.isDisabled||!this.state.enableComplianceExport}))}))}getStateFromConfig(e){const t={enableComplianceExport:e.MessageExportSettings.EnableExport,exportFormat:e.MessageExportSettings.ExportFormat,exportJobStartTime:e.MessageExportSettings.DailyRunTime,globalRelayCustomerType:"",globalRelaySMTPUsername:"",globalRelaySMTPPassword:"",globalRelayEmailAddress:"",globalRelaySMTPServerTimeout:0,globalRelayCustomSMTPServerName:"",globalRelayCustomSMTPPort:"",saveNeeded:!1,saving:!1,serverError:null};return e.MessageExportSettings.GlobalRelaySettings&&(t.globalRelayCustomerType=e.MessageExportSettings.GlobalRelaySettings.CustomerType,t.globalRelaySMTPUsername=e.MessageExportSettings.GlobalRelaySettings.SMTPUsername,t.globalRelaySMTPPassword=e.MessageExportSettings.GlobalRelaySettings.SMTPPassword,t.globalRelayEmailAddress=e.MessageExportSettings.GlobalRelaySettings.EmailAddress,t.globalRelayCustomSMTPServerName=e.MessageExportSettings.GlobalRelaySettings.CustomSMTPServerName,t.globalRelayCustomSMTPPort=e.MessageExportSettings.GlobalRelaySettings.CustomSMTPPort),t}renderTitle(){return T().createElement(N.FormattedMessage,{id:"admin.complianceExport.title",defaultMessage:"Compliance Export"})}}),Fd=s.p+"files/5f87fb0335aa3115cc71.svg";function Bd(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class Hd extends T().PureComponent{constructor(e){super(e),Bd(this,"upgradeConfig",(async e=>{e.preventDefault();const t=JSON.parse(JSON.stringify(this.props.config));if(t.Office365Settings.DirectoryId&&(t.Office365Settings.DiscoveryEndpoint="https://login.microsoftonline.com/"+t.Office365Settings.DirectoryId+"/v2.0/.well-known/openid-configuration"),t.GoogleSettings.DiscoveryEndpoint="https://accounts.google.com/.well-known/openid-configuration",t.GitLabSettings.UserAPIEndpoint){const e=t.GitLabSettings.UserAPIEndpoint.replace("/api/v4/user","");t.GitLabSettings.DiscoveryEndpoint=e+"/.well-known/openid-configuration"}["Office365Settings","GoogleSettings","GitLabSettings"].forEach((e=>{t[e].Scope=x.YM.OPENID_SCOPES,t[e].UserAPIEndpoint="",t[e].AuthEndpoint="",t[e].TokenEndpoint=""}));const{error:s}=await this.props.actions.patchConfig(t);s?this.setState({serverError:s.message}):(0,fi.J)().push("/admin_console/authentication/openid")})),this.state={serverError:void 0}}render(){return T().createElement("div",{className:"OpenIdConvert"},T().createElement("div",{className:"OpenIdConvert_imageWrapper"},T().createElement("img",{className:"OpenIdConvert_image",src:Fd,alt:"OpenId Convert Image"})),T().createElement("div",{className:"OpenIdConvert_copyWrapper"},T().createElement("p",null,T().createElement(N.FormattedMessage,{id:"admin.openIdConvert.message",defaultMessage:"You can now convert your OAuth2.0 configuration to OpenID Connect."})),T().createElement("div",{className:"OpenIdConvert_actionWrapper"},T().createElement("button",{className:"btn","data-testid":"openIdConvert",disabled:this.props.disabled,onClick:this.upgradeConfig},T().createElement(N.FormattedMessage,{id:"admin.openIdConvert.text",defaultMessage:"Convert to OpenID Connect"})),T().createElement(ce.A,{className:"btn-secondary",location:"openid_convert",href:"https://www.mattermost.com/default-openid-docs","data-testid":"openIdLearnMore"},T().createElement(N.FormattedMessage,{id:"admin.openIdConvert.help",defaultMessage:"Learn more"})),T().createElement("div",{className:"error-message","data-testid":"errorMessage"},T().createElement(ye.A,{error:this.state.serverError})))))}}Bd(Hd,"propTypes",{disabled:L().bool,actions:L().shape({patchConfig:L().func.isRequired}).isRequired});const Ud=(0,a.connect)(null,(function(e){return{actions:(0,n.bindActionCreators)({patchConfig:i.tn},e)}}))(Hd);var Gd=s(79135);function jd(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class qd extends T().PureComponent{constructor(){super(...arguments),jd(this,"handleChange",(e=>{this.props.onChange(this.props.id,e.target.checked)}))}render(){return T().createElement("div",null,T().createElement("label",{className:"checkbox-inline"},T().createElement("input",{"data-testid":this.props.id,type:"checkbox",id:this.props.id,name:this.props.id,defaultChecked:this.props.defaultChecked,onChange:this.handleChange,disabled:this.props.disabled||this.props.setByEnv}),this.props.label),this.props.setByEnv?T().createElement(U,null):null)}}function Wd(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}jd(qd,"propTypes",{id:L().string.isRequired,label:L().node.isRequired,defaultChecked:L().bool,onChange:L().func.isRequired,disabled:L().bool,setByEnv:L().bool.isRequired}),jd(qd,"defaultProps",{disabled:!1});const Vd=(0,N.defineMessages)({passwordMinLength:{id:"user.settings.security.passwordMinLength",defaultMessage:"Invalid minimum length, cannot show preview."},password:{id:"admin.security.password",defaultMessage:"Password"},minimumLength:{id:"admin.password.minimumLength",defaultMessage:"Minimum Password Length:"},minimumLengthDescription:{id:"admin.password.minimumLengthDescription",defaultMessage:"Minimum number of characters required for a valid password. Must be a whole number greater than or equal to {min} and less than or equal to {max}."},lowercase:{id:"admin.password.lowercase",defaultMessage:"At least one lowercase letter"},uppercase:{id:"admin.password.uppercase",defaultMessage:"At least one uppercase letter"},number:{id:"admin.password.number",defaultMessage:"At least one number"},symbol:{id:"admin.password.symbol",defaultMessage:'At least one symbol (e.g. "~!@#$%^&*()")'},preview:{id:"admin.password.preview",defaultMessage:"Error message preview:"},attemptTitle:{id:"admin.service.attemptTitle",defaultMessage:"Maximum Login Attempts:"},attemptDescription:{id:"admin.service.attemptDescription",defaultMessage:"Login attempts allowed before user is locked out and required to reset password via email."},passwordRequirements:{id:"passwordRequirements",defaultMessage:"Password Requirements:"}}),zd=[[Vd.minimumLength,{max:"",min:""}],[Vd.minimumLengthDescription,{max:"",min:""}],Vd.passwordMinLength,Vd.password,Vd.passwordRequirements,Vd.lowercase,Vd.uppercase,Vd.number,Vd.symbol,Vd.preview,Vd.attemptTitle,Vd.attemptDescription];function Yd(e,t,s,a){let n="passwordError";return e&&(n+="Lowercase"),t&&(n+="Uppercase"),s&&(n+="Number"),a&&(n+="Symbol"),Gd.b[n]}var Zd=s(23877),Jd=s(1418),Qd=s(87988);function Kd(e){return(0,Qd.n4)({clientFunc:de.mT.getScheme,onSuccess:[Zd.pV.RECEIVED_SCHEME],params:[e]})}function Xd(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:l.Bz.PAGE_SIZE_DEFAULT;return(0,Qd.n4)({clientFunc:de.mT.getSchemes,onSuccess:[Zd.pV.RECEIVED_SCHEMES],params:[e,t,s]})}function $d(e){return(0,Qd.n4)({clientFunc:de.mT.createScheme,onSuccess:[Zd.pV.CREATED_SCHEME],params:[e]})}function ec(e){return async(t,s)=>{let a=null;try{a=await de.mT.deleteScheme(e)}catch(e){return(0,Qd.UP)(e,t,s),t((0,Jd.vV)(e)),{error:e}}return t({type:Zd.pV.DELETED_SCHEME,data:{schemeId:e}}),{data:a}}}function tc(e,t){return(0,Qd.n4)({clientFunc:de.mT.patchScheme,onSuccess:[Zd.pV.PATCHED_SCHEME],params:[e,t]})}function sc(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:l.Bz.PAGE_SIZE_DEFAULT;return(0,Qd.n4)({clientFunc:de.mT.getSchemeTeams,onSuccess:[Zd.pV.RECEIVED_SCHEME_TEAMS],params:[e,t,s]})}function ac(e){return e.entities.schemes.schemes}function nc(e,t){return ac(e)[t]}function ic(){return(0,A.Mz)("makeGetSchemeTeams",p.ZN,((e,t)=>nc(e,t.schemeId)),((e,t)=>{if(!t)return[];if("channel"===t.scope){const e="Error: scheme '".concat(t.id,"' is channel-scoped but 'getSchemeChannels' only accepts team-scoped schemes.");return console.log(e),[]}const s=[];return Object.entries(e).forEach((e=>{const[,a]=e;a.scheme_id===t.id&&s.push(a)})),s}))}const rc=e=>{let{className:t="",linkText:s,subtitle:a,title:n,url:i,children:r,disabled:o,id:l,subtitleValues:d}=e;const c=T().createElement(R.Link,{"data-testid":"".concat(l,"-link"),className:re()(["btn","btn-primary",{disabled:o}]),to:i,onClick:o?e=>e.preventDefault():()=>null},T().createElement(N.FormattedMessage,s));return T().createElement(ko,{className:"AdminPanelWithLink "+t,id:l,"data-testid":l,title:n,subtitle:a,subtitleValues:d,button:c},r)};rc.propTypes={children:L().node,className:L().string,id:L().string,subtitleValues:L().any,url:L().string.isRequired,disabled:L().bool};const oc=rc;function lc(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class dc extends T().PureComponent{constructor(e){super(e),lc(this,"renderConfirmModal",(()=>{const e=T().createElement(N.FormattedMessage,{id:"admin.permissions.permissionsSchemeSummary.deleteSchemeTitle",defaultMessage:"Delete {scheme} scheme?",values:{scheme:this.props.scheme.display_name}});let t=null;this.state.serverError&&(t=T().createElement("div",{className:"permission-scheme-summary-error-message"},T().createElement("i",{className:"fa fa-exclamation-circle"})," ",this.state.serverError));const s=T().createElement("div",null,T().createElement("p",null,T().createElement(N.FormattedMessage,{id:"admin.permissions.permissionsSchemeSummary.deleteConfirmQuestion",defaultMessage:"The permissions in the teams using this scheme will reset to the defaults in the System Scheme. Are you sure you want to delete the {schemeName} scheme?",values:{schemeName:this.props.scheme.display_name}})),t),a=T().createElement(Oe.A,{loading:this.state.deleting,text:(0,N.defineMessage)({id:"admin.permissions.permissionsSchemeSummary.deleting",defaultMessage:"Deleting..."})},T().createElement(N.FormattedMessage,{id:"admin.permissions.permissionsSchemeSummary.deleteConfirmButton",defaultMessage:"Yes, Delete"}));return T().createElement(St.A,{show:this.state.showConfirmModal,title:e,message:s,confirmButtonText:a,onConfirm:this.handleDeleteConfirmed,onCancel:this.handleDeleteCanceled})})),lc(this,"stopPropagation",(e=>{e.stopPropagation()})),lc(this,"handleDeleteCanceled",(()=>{this.setState({showConfirmModal:!1})})),lc(this,"handleDeleteConfirmed",(async()=>{var e;this.setState({deleting:!0,serverError:void 0});const t=await(null===(e=this.props.actions)||void 0===e?void 0:e.deleteScheme(this.props.scheme.id));null!=t&&t.error?this.setState({deleting:!1,serverError:t.error.message}):this.setState({deleting:!1,showConfirmModal:!1})})),lc(this,"delete",(e=>{e.stopPropagation(),this.props.isDisabled||this.setState({showConfirmModal:!0,serverError:void 0})})),lc(this,"goToEdit",(()=>{this.props.history.push("/admin_console/user_management/permissions/team_override_scheme/"+this.props.scheme.id)})),lc(this,"render",(()=>{const{scheme:e,isDisabled:t}=this.props;let s=this.props.teams?this.props.teams.map((e=>T().createElement("span",{className:"team",key:e.id},e.display_name))):[],a=null;var n,i,r;s.length>8&&(a=T().createElement(tt.A,{title:null!==(n=null===(i=this.props)||void 0===i||null===(r=i.teams)||void 0===r?void 0:r.slice(8).map((e=>e.display_name)).join(", "))&&void 0!==n?n:""},T().createElement("span",{className:"team",key:"extra-teams"},T().createElement(N.FormattedMessage,{id:"admin.permissions.permissionsSchemeSummary.moreTeams",defaultMessage:"+{number} more",values:{number:s.length-8}}))),s=s.slice(0,8));const o=this.renderConfirmModal();return T().createElement("div",{className:"permissions-scheme-summary","data-testid":"permissions-scheme-summary",onClick:this.goToEdit},T().createElement("div",{onClick:this.stopPropagation},o),T().createElement("div",{className:"permissions-scheme-summary--header"},T().createElement("div",{className:"title"},e.display_name),T().createElement("div",{className:"actions"},T().createElement(R.Link,{"data-testid":"".concat(e.display_name,"-edit"),className:"edit-button",to:"/admin_console/user_management/permissions/team_override_scheme/"+e.id},T().createElement(N.FormattedMessage,{id:"admin.permissions.permissionsSchemeSummary.edit",defaultMessage:"Edit"})),"-",T().createElement("a",{"data-testid":"".concat(e.display_name,"-delete"),className:t?"delete-button disabled":"delete-button",onClick:this.delete},T().createElement(N.FormattedMessage,{id:"admin.permissions.permissionsSchemeSummary.delete",defaultMessage:"Delete"})))),T().createElement("div",{className:"permissions-scheme-summary--description"},e.description),T().createElement("div",{className:"permissions-scheme-summary--teams"},s,a))})),this.state={showConfirmModal:!1,deleting:!1,serverError:void 0}}}lc(dc,"propTypes",{teams:L().array,isDisabled:L().bool,actions:L().shape({deleteScheme:L().func.isRequired})});const cc=(0,a.connect)((function(){const e=ic();return function(t,s){return{teams:e(t,{schemeId:s.scheme.id})}}}),(function(e){return{actions:(0,n.bindActionCreators)({deleteScheme:ec},e)}}))(dc);function mc(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const uc=(0,N.defineMessages)({teamOverrideSchemesNoSchemes:{id:"admin.permissions.teamOverrideSchemesNoSchemes",defaultMessage:"No team override schemes created."},loadMoreSchemes:{id:"admin.permissions.loadMoreSchemes",defaultMessage:"Load more schemes"},introBanner:{id:"admin.permissions.introBanner",defaultMessage:"Permission Schemes set the default permissions for Team Admins, Channel Admins and everyone else. Learn more about permission schemes in our <link>documentation</link>."},systemSchemeBannerTitle:{id:"admin.permissions.systemSchemeBannerTitle",defaultMessage:"System Scheme"},systemSchemeBannerText:{id:"admin.permissions.systemSchemeBannerText",defaultMessage:"Set the default permissions inherited by all teams unless a <link>Team Override Scheme</link> is applied."},systemSchemeBannerButton:{id:"admin.permissions.systemSchemeBannerButton",defaultMessage:"Edit Scheme"},teamOverrideSchemesTitle:{id:"admin.permissions.teamOverrideSchemesTitle",defaultMessage:"Team Override Schemes"},teamOverrideSchemesBannerText:{id:"admin.permissions.teamOverrideSchemesBannerText",defaultMessage:"Use when specific teams need permission exceptions to the <link>System Scheme</link>"},teamOverrideSchemesNewButton:{id:"admin.permissions.teamOverrideSchemesNewButton",defaultMessage:"New Team Override Scheme"}}),pc=[uc.teamOverrideSchemesNoSchemes,uc.loadMoreSchemes,uc.introBanner,uc.systemSchemeBannerTitle,uc.systemSchemeBannerText,uc.systemSchemeBannerButton,uc.teamOverrideSchemesTitle,uc.teamOverrideSchemesBannerText,uc.teamOverrideSchemesNewButton];class gc extends T().PureComponent{constructor(e){super(e),mc(this,"loadMoreSchemes",(()=>{this.setState({loadingMore:!0}),this.props.actions.loadSchemes("team",this.state.page+1,30).then((e=>{const t=[];for(const s of e.data)t.push(this.props.actions.loadSchemeTeams(s.id));Promise.all(t).then((()=>this.setState({loadingMore:!1,page:this.state.page+1})))}))})),mc(this,"teamOverrideSchemesMigrationView",(()=>this.state.phase2MigrationIsComplete?null:this.props.jobsAreEnabled&&!this.props.clusterIsEnabled?this.teamOverrideUnavalableView((0,N.defineMessage)({id:"admin.permissions.teamOverrideSchemesInProgress",defaultMessage:"Migration job in progress: Team Override Schemes are not available until the job server completes the permissions migration. Learn more in the <link>documentation</link>."})):this.teamOverrideUnavalableView((0,N.defineMessage)({id:"admin.permissions.teamOverrideSchemesNoJobsEnabled",defaultMessage:"Migration job on hold: Team Override Schemes are not available until the job server can execute the permissions migration. The job will be automatically started when the job server is enabled. Learn more in the <link>documentation</link>."})))),mc(this,"teamOverrideUnavalableView",(e=>T().createElement("div",{className:"team-override-unavailable"},T().createElement("div",{className:"team-override-unavailable__inner"},T().createElement(N.FormattedMessage,Object.assign({},e,{values:{link:e=>T().createElement(ce.A,{href:"https://docs.mattermost.com/administration/config-settings.html#jobs",location:"permission_scheme_settings"},e)}})))))),mc(this,"renderTeamOverrideSchemes",(()=>{const e=Object.values(this.props.schemes).map((e=>T().createElement(cc,{scheme:e,history:this.props.history,key:e.id,isDisabled:this.props.isDisabled,location:this.props.location,match:this.props.match}))),t="true"===this.props.license.CustomPermissionsSchemes||this.props.license.SkuShortName===x.gS.Professional,s=this.teamOverrideSchemesMigrationView();return!!t&&T().createElement(oc,{id:"team-override-schemes",className:"permissions-block",title:uc.teamOverrideSchemesTitle,subtitle:uc.teamOverrideSchemesBannerText,subtitleValues:{link:e=>T().createElement(ce.A,{href:x.Uk.ONBOARD_ADVANCED_PERMISSIONS,location:"permission_scheme_settings"},e)},url:"/admin_console/user_management/permissions/team_override_scheme",disabled:null!==s||this.props.isDisabled,linkText:uc.teamOverrideSchemesNewButton},0===e.length&&null===s&&T().createElement("div",{className:"no-team-schemes"},T().createElement(N.FormattedMessage,uc.teamOverrideSchemesNoSchemes)),s,e.length>0&&e,e.length===30*(this.state.page+1)&&T().createElement("button",{type:"button",className:"more-schemes theme style--none color--link",onClick:this.loadMoreSchemes,disabled:this.props.isDisabled||this.state.loadingMore},T().createElement(Oe.A,{loading:this.state.loadingMore,text:(0,N.defineMessage)({id:"admin.permissions.loadingMoreSchemes",defaultMessage:"Loading..."})},T().createElement(N.FormattedMessage,uc.loadMoreSchemes))))})),mc(this,"render",(()=>{if(this.state.loading)return T().createElement(At.A,null);const e=this.teamOverrideSchemesMigrationView();return T().createElement("div",{className:"wrapper--fixed"},T().createElement(et,null,T().createElement(N.FormattedMessage,{id:"admin.permissions.permissionSchemes",defaultMessage:"Permission Schemes"})),T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},T().createElement("div",{className:"banner info"},T().createElement("div",{className:"banner__content"},T().createElement("span",null,T().createElement(N.FormattedMessage,Object.assign({},uc.introBanner,{values:{link:e=>T().createElement(ce.A,{href:x.Uk.ONBOARD_ADVANCED_PERMISSIONS,location:"permission_scheme_settings"},e)}}))))),T().createElement(oc,{id:"systemScheme",title:uc.systemSchemeBannerTitle,subtitle:uc.systemSchemeBannerText,subtitleValues:{link:e=>T().createElement(ce.A,{href:x.Uk.ONBOARD_ADVANCED_PERMISSIONS,location:"permission_scheme_settings"},e)},url:"/admin_console/user_management/permissions/system_scheme",disabled:null!==e,linkText:uc.systemSchemeBannerButton}),this.renderTeamOverrideSchemes())))})),this.state={loading:!0,loadingMore:!1,page:0,phase2MigrationIsComplete:!1}}componentDidMount(){let e=!0;this.props.actions.loadSchemes("team",0,30).then((t=>{501===t.error.status_code&&(e=!1);const s=[];for(const e of t.data)s.push(this.props.actions.loadSchemeTeams(e.id));Promise.all(s).then((()=>this.setState({loading:!1,phase2MigrationIsComplete:e})))})).catch((()=>{this.setState({loading:!1,phase2MigrationIsComplete:e})}))}}mc(gc,"propTypes",{jobsAreEnabled:L().bool,clusterIsEnabled:L().bool,license:L().shape({CustomPermissionsSchemes:L().string.isRequired,SkuShortName:L().string.isRequired}).isRequired,actions:L().shape({loadSchemes:L().func.isRequired,loadSchemeTeams:L().func.isRequired}).isRequired,isDisabled:L().bool}),mc(gc,"defaultProps",{schemes:{}});const hc=(0,a.connect)((function(e){const t=ac(e),s=(0,c.zj)(e);return{schemes:t,jobsAreEnabled:"true"===s.RunJobs,clusterIsEnabled:"true"===s.EnableCluster}}),(function(e){return{actions:(0,n.bindActionCreators)({loadSchemes:Xd,loadSchemeTeams:sc},e)}}))(gc);s(36169);var fc=s(45655);function Ec(e){return T().createElement("span",e,T().createElement("svg",{width:"30px",height:"30px",viewBox:"0 0 30 30"},T().createElement("g",{id:"Developer-Export",stroke:"none",strokeWidth:"1",fill:"none",fillRule:"evenodd"},T().createElement("g",{transform:"translate(-995.000000, -1372.000000)",id:"All-Team-Members"},T().createElement("g",{transform:"translate(245.000000, 698.000000)"},T().createElement("g",{id:"Team-Administrators",transform:"translate(0.000000, 651.000000)"},T().createElement("g",{id:"accordion-header"},T().createElement("g",{id:"accordion---expanded",transform:"translate(750.000000, 23.000000)"},T().createElement("path",{d:"M23.1484532,13.3124932 C23.3437659,13.1171805 23.3437659,12.7968676 23.1484532,12.6015549 L21.8515766,11.3124908 C21.6562639,11.1171781 21.3437635,11.1171781 21.1484508,11.3124908 L15.0000083,17.4609333 L8.8515659,11.3124908 C8.65625317,11.1171781 8.34375279,11.1171781 8.14844006,11.3124908 L6.85156352,12.6015549 C6.65625078,12.7968676 6.65625078,13.1171805 6.85156352,13.3124932 L14.6484454,21.1015626 C14.8437582,21.2968754 15.1562585,21.2968754 15.3515713,21.1015626 L23.1484532,13.3124932 Z",id:"",fill:"#979797"}),T().createElement("circle",{id:"Oval-2",stroke:"#989898",strokeWidth:"2",cx:"15",cy:"15",r:"14"})))))))))}const bc=e=>{let{className:t,open:s,subtitle:a,title:n,children:i,id:r,onToggle:o}=e;return T().createElement(ko,{className:"AdminPanelTogglable "+t+(s?"":" closed"),id:r,title:n,subtitle:a,onHeaderClick:o,button:T().createElement(Ec,null)},i)};bc.propTypes={children:L().node,className:L().string,id:L().string,open:L().bool,onToggle:L().func},bc.defaultProps={className:"",open:!0};const vc=bc;function Mc(e){return T().createElement("button",{type:"button",className:"edit-post-time-limit-button",onClick:e.onClick,disabled:e.isDisabled},T().createElement("i",{className:"fa fa-gear"}),e.timeLimit===x.YM.UNSET_POST_EDIT_TIME_LIMIT?T().createElement(N.FormattedMessage,{id:"edit_post.time_limit_button.no_limit",defaultMessage:"Anytime"}):T().createElement(N.FormattedMessage,{id:"edit_post.time_limit_button.for_n_seconds",defaultMessage:"For {n} seconds",values:{n:e.timeLimit}}))}Mc.propTypes={timeLimit:L().number.isRequired,onClick:L().func.isRequired};const yc=(0,a.connect)((function(e){const{PostEditTimeLimit:t}=(0,c.zj)(e);return{timeLimit:t?parseInt(t,10):x.YM.UNSET_POST_EDIT_TIME_LIMIT}}))(Mc),Sc=2147483647;function Ac(e){const{ServiceSettings:t}=e.config,s=(0,N.useIntl)(),[a,n]=(0,_.useState)(!1),[i,r]=(0,_.useState)(""),[o,l]=(0,_.useState)((null==t?void 0:t.PostEditTimeLimit)||x.YM.UNSET_POST_EDIT_TIME_LIMIT),[d,c]=(0,_.useState)(o<0),m=e=>{let{currentTarget:t}=e;c(t.value===x.YM.ALLOW_EDIT_POST_ALWAYS)};return T().createElement(ta.Modal,{dialogClassName:"a11y__modal admin-modal edit-post-time-limit-modal",show:e.show,role:"none","aria-labelledby":"editPostTimeModalLabel",onHide:e.onClose},T().createElement(ta.Modal.Header,{closeButton:!0},T().createElement(ta.Modal.Title,{componentClass:"h1",id:"editPostTimeModalLabel"},T().createElement(N.FormattedMessage,{id:"edit_post.time_limit_modal.title",defaultMessage:"Configure Global Edit Post Time Limit"}))),T().createElement(ta.Modal.Body,null,T().createElement(N.FormattedMessage,{id:"editPost.timeLimitModal.description",defaultMessage:'Setting a time limit <b>applies to all users</b> who have the "Edit Post" permissions in any permission scheme.',values:{b:e=>T().createElement("b",null,e)}}),T().createElement("div",{className:"pt-3"},T().createElement("div",{className:"pt-3"},T().createElement("input",{id:"anytime",type:"radio",name:"limit",value:x.YM.ALLOW_EDIT_POST_ALWAYS,checked:d,onChange:m}),T().createElement("label",{htmlFor:"anytime"},T().createElement(N.FormattedMessage,{id:"edit_post.time_limit_modal.option_label_anytime",defaultMessage:"Anytime"}))),T().createElement("div",{className:"pt-2"},T().createElement("input",{id:"timelimit",type:"radio",name:"limit",value:x.YM.ALLOW_EDIT_POST_TIME_LIMIT,checked:!d,onChange:m}),T().createElement("label",{htmlFor:"timelimit"},T().createElement(N.FormattedMessage,{id:"edit_post.time_limit_modal.option_label_time_limit.preinput",defaultMessage:"Can edit for"})),T().createElement("input",{type:"number",className:"form-control inline",min:"0",step:"1",max:Sc,id:"editPostTimeLimit",readOnly:d,onChange:e=>{let{currentTarget:t}=e;return l(parseInt(t.value,10))},value:d?"":o}),T().createElement("label",{htmlFor:"timelimit"},T().createElement(N.FormattedMessage,{id:"edit_post.time_limit_modal.option_label_time_limit.postinput",defaultMessage:"seconds after posting"}))),T().createElement("div",{className:"pt-3 light"},T().createElement(N.FormattedMessage,{id:"edit_post.time_limit_modal.subscript",defaultMessage:"Set the length of time users have to edit their messages after posting."})),T().createElement("div",{className:"edit-post-time-limit-modal__error"},i))),T().createElement(ta.Modal.Footer,null,T().createElement("button",{type:"button",className:"btn btn-tertiary",onClick:e.onClose},T().createElement(N.FormattedMessage,{id:"confirm_modal.cancel",defaultMessage:"Cancel"})),T().createElement("button",{id:"linkModalCloseButton",type:"button",className:"btn btn-primary",onClick:async()=>{if(n(!0),r(""),isNaN(o)||o<0||o>Sc)return r(s.formatMessage({id:"edit_post.time_limit_modal.invalid_time_limit",defaultMessage:"Invalid time limit"})),n(!1),l(0),!1;const t=JSON.parse(JSON.stringify(e.config));t.ServiceSettings.PostEditTimeLimit=d?x.YM.UNSET_POST_EDIT_TIME_LIMIT:o;const{error:a}=await e.actions.patchConfig(t);return a?(r(a.message),n(!1)):(n(!1),e.onClose()),!0},disabled:a},a?T().createElement(N.FormattedMessage,{id:"save_button.saving",defaultMessage:"Saving"}):T().createElement(N.FormattedMessage,{id:"edit_post.time_limit_modal.save_button",defaultMessage:"Save Edit Time"}))))}Ac.propTypes={show:L().bool.isRequired,onClose:L().func.isRequired,actions:L().shape({patchConfig:L().func.isRequired}).isRequired};const Cc=(0,a.connect)((function(e){return{config:(0,d.zj)(e)}}),(function(e){return{actions:(0,n.bindActionCreators)({patchConfig:i.tn},e)}}))(Ac),_c=()=>T().createElement("svg",{width:"18px",height:"18px",viewBox:"0 0 18 18"},T().createElement("g",{id:"Developer-Export",stroke:"none",strokeWidth:"1",fillRule:"evenodd"},T().createElement("g",{transform:"translate(-298.000000, -1273.000000)",id:"All-Team-Members"},T().createElement("g",{transform:"translate(245.000000, 698.000000)"},T().createElement("g",{id:"Channel-Administrators",transform:"translate(0.000000, 106.000000)"},T().createElement("g",{id:"data-table/column-1",transform:"translate(11.000000, 86.000000)"},T().createElement("g",{id:"row-checkbox---@all-@channel-Mentions",transform:"translate(0.000000, 375.000000)"},T().createElement("g",{id:"Stacked-Group"},T().createElement("g",{id:"data-table/1st/row-checkbox-label-base",transform:"translate(25.000000, 5.000000)"},T().createElement("g",{id:"check-on-copy-11",transform:"translate(14.000000, 0.000000)"},T().createElement("path",{d:"M19,3 C20.1,3 21,3.9 21,5 L21,19 C21,20.1 20.1,21 19,21 L5,21 C3.9,21 3,20.1 3,19 L3,5 C3,3.9 3.9,3 5,3 L19,3 Z M7,11 L7,13 L17,13 L17,11 L7,11 Z",id:"checkbox---partial"}))))))))))),Tc=(0,_.memo)(_c),Nc=e=>{let{value:t="",id:s=""}=e,a=null,n="";return"checked"===t?(a=T().createElement(rl.A,null),n="checked"):"intermediate"===t&&(a=T().createElement(Tc,null),n="intermediate"),T().createElement("div",{className:"permission-check "+n,"data-testid":s},a)};Nc.propTypes={value:L().string,id:L().string};const Rc=Nc,wc=(0,N.defineMessages)({all_users:{id:"admin.permissions.roles.all_users.name",defaultMessage:"All Members"},channel_admin:{id:"admin.permissions.roles.channel_admin.name",defaultMessage:"Channel Admin"},channel_user:{id:"admin.permissions.roles.channel_user.name",defaultMessage:"Channel User"},system_admin:{id:"admin.permissions.roles.system_admin.name",defaultMessage:"System Admin"},system_user:{id:"admin.permissions.roles.system_user.name",defaultMessage:"System User"},team_admin:{id:"admin.permissions.roles.team_admin.name",defaultMessage:"Team Admin"},team_user:{id:"admin.permissions.roles.team_user.name",defaultMessage:"Team User"}}),Ic=e=>{let{id:t,selectRow:s,description:a,additionalValues:n,inherited:i}=e;const{formatMessage:r}=(0,N.useIntl)();let o="";if(i&&i.name){const e=r(wc[i.name]);o=T().createElement("span",{className:"inherit-link-wrapper"},T().createElement(N.FormattedMessage,{id:"admin.permissions.inherited_from",defaultMessage:"Inherited from <link>{name}</link>.",values:{name:e,link:e=>T().createElement("a",null,e)}}))}else o=a;let l=!0;return!i&&n&&(l=!1),T().createElement(tt.A,{title:o,disabled:!l},T().createElement("span",{className:"permission-description",onClick:e=>{var a;const n=e.target.parentElement,i="inherit-link-wrapper"===(null==n||null===(a=n.parentElement)||void 0===a?void 0:a.className);"permission-description"===(null==n?void 0:n.className)||i?i&&(s(t),e.stopPropagation()):e.stopPropagation()}},o))},Oc={assign_system_admin_role:(0,N.defineMessages)({name:{id:"admin.permissions.permission.assign_system_admin_role.name",defaultMessage:"Assign system admin role"},description:{id:"admin.permissions.permission.assign_system_admin_role.description",defaultMessage:"Assign system admin role"}}),convert_public_channel_to_private:(0,N.defineMessages)({name:{id:"admin.permissions.permission.convert_public_channel_to_private.name",defaultMessage:"Convert to private"},description:{id:"admin.permissions.permission.convert_public_channel_to_private.description",defaultMessage:"Convert public channels to private"}}),convert_private_channel_to_public:(0,N.defineMessages)({name:{id:"admin.permissions.permission.convert_private_channel_to_public.name",defaultMessage:"Convert to public"},description:{id:"admin.permissions.permission.convert_private_channel_to_public.description",defaultMessage:"Convert private channels to public"}}),create_direct_channel:(0,N.defineMessages)({name:{id:"admin.permissions.permission.create_direct_channel.name",defaultMessage:"Create direct channel"},description:{id:"admin.permissions.permission.create_direct_channel.description",defaultMessage:"Create direct channel"}}),create_group_channel:(0,N.defineMessages)({name:{id:"admin.permissions.permission.create_group_channel.name",defaultMessage:"Create group channel"},description:{id:"admin.permissions.permission.create_group_channel.description",defaultMessage:"Create group channel"}}),create_post:(0,N.defineMessages)({name:{id:"admin.permissions.permission.create_post.name",defaultMessage:"Create Posts"},description:{id:"admin.permissions.permission.create_post.description",defaultMessage:"Allow users to create posts."}}),create_private_channel:(0,N.defineMessages)({name:{id:"admin.permissions.permission.create_private_channel.name",defaultMessage:"Create Channels"},description:{id:"admin.permissions.permission.create_private_channel.description",defaultMessage:"Create new private channels."}}),create_public_channel:(0,N.defineMessages)({name:{id:"admin.permissions.permission.create_public_channel.name",defaultMessage:"Create Channels"},description:{id:"admin.permissions.permission.create_public_channel.description",defaultMessage:"Create new public channels."}}),create_team:(0,N.defineMessages)({name:{id:"admin.permissions.permission.create_team.name",defaultMessage:"Create Teams"},description:{id:"admin.permissions.permission.create_team.description",defaultMessage:"Create new teams."}}),create_user_access_token:(0,N.defineMessages)({name:{id:"admin.permissions.permission.create_user_access_token.name",defaultMessage:"Create user access token"},description:{id:"admin.permissions.permission.create_user_access_token.description",defaultMessage:"Create user access token"}}),delete_others_posts:(0,N.defineMessages)({name:{id:"admin.permissions.permission.delete_others_posts.name",defaultMessage:"Delete Others' Posts"},description:{id:"admin.permissions.permission.delete_others_posts.description",defaultMessage:"Posts made by other users can be deleted."}}),delete_post:(0,N.defineMessages)({name:{id:"admin.permissions.permission.delete_post.name",defaultMessage:"Delete Own Posts"},description:{id:"admin.permissions.permission.delete_post.description",defaultMessage:"Author's own posts can be deleted."}}),delete_private_channel:(0,N.defineMessages)({name:{id:"admin.permissions.permission.delete_private_channel.name",defaultMessage:"Archive Channels"},description:{id:"admin.permissions.permission.delete_private_channel.description",defaultMessage:"Archive private channels."}}),delete_public_channel:(0,N.defineMessages)({name:{id:"admin.permissions.permission.delete_public_channel.name",defaultMessage:"Archive Channels"},description:{id:"admin.permissions.permission.delete_public_channel.description",defaultMessage:"Archive public channels."}}),edit_other_users:(0,N.defineMessages)({name:{id:"admin.permissions.permission.edit_other_users.name",defaultMessage:"Edit other users"},description:{id:"admin.permissions.permission.edit_other_users.description",defaultMessage:"Edit other users"}}),edit_post:(0,N.defineMessages)({name:{id:"admin.permissions.permission.edit_post.name",defaultMessage:"Edit Own Posts"},description:{id:"admin.permissions.permission.edit_post.description",defaultMessage:"{editTimeLimitButton} after posting, allow users to edit their own posts."}}),import_team:(0,N.defineMessages)({name:{id:"admin.permissions.permission.import_team.name",defaultMessage:"Import team"},description:{id:"admin.permissions.permission.import_team.description",defaultMessage:"Import team"}}),list_team_channels:(0,N.defineMessages)({name:{id:"admin.permissions.permission.list_team_channels.name",defaultMessage:"List team channels"},description:{id:"admin.permissions.permission.list_team_channels.description",defaultMessage:"List team channels"}}),list_users_without_team:(0,N.defineMessages)({name:{id:"admin.permissions.permission.list_users_without_team.name",defaultMessage:"List users without team"},description:{id:"admin.permissions.permission.list_users_without_team.description",defaultMessage:"List users without team"}}),manage_channel_roles:(0,N.defineMessages)({name:{id:"admin.permissions.permission.manage_channel_roles.name",defaultMessage:"Manage channel roles"},description:{id:"admin.permissions.permission.manage_channel_roles.description",defaultMessage:"Manage channel roles"}}),create_emojis:(0,N.defineMessages)({name:{id:"admin.permissions.permission.create_emojis.name",defaultMessage:"Create Custom Emoji"},description:{id:"admin.permissions.permission.create_emojis.description",defaultMessage:"Allow users to create custom emoji."}}),delete_emojis:(0,N.defineMessages)({name:{id:"admin.permissions.permission.delete_emojis.name",defaultMessage:"Delete Own Custom Emoji"},description:{id:"admin.permissions.permission.delete_emojis.description",defaultMessage:"Allow users to delete custom emoji that they created."}}),delete_others_emojis:(0,N.defineMessages)({name:{id:"admin.permissions.permission.delete_others_emojis.name",defaultMessage:"Delete Others' Custom Emoji"},description:{id:"admin.permissions.permission.delete_others_emojis.description",defaultMessage:"Allow users to delete custom emoji that were created by other users."}}),manage_jobs:(0,N.defineMessages)({name:{id:"admin.permissions.permission.manage_jobs.name",defaultMessage:"Manage jobs"},description:{id:"admin.permissions.permission.manage_jobs.description",defaultMessage:"Manage jobs"}}),manage_oauth:(0,N.defineMessages)({name:{id:"admin.permissions.permission.manage_oauth.name",defaultMessage:"Manage OAuth Applications"},description:{id:"admin.permissions.permission.manage_oauth.description",defaultMessage:"Create, edit and delete OAuth 2.0 application tokens."}}),manage_private_channel_properties:(0,N.defineMessages)({name:{id:"admin.permissions.permission.manage_private_channel_properties.name",defaultMessage:"Manage Channel Settings"},description:{id:"admin.permissions.permission.manage_private_channel_properties.description",defaultMessage:"Update private channel names, headers and purposes."}}),manage_public_channel_properties:(0,N.defineMessages)({name:{id:"admin.permissions.permission.manage_public_channel_properties.name",defaultMessage:"Manage Channel Settings"},description:{id:"admin.permissions.permission.manage_public_channel_properties.description",defaultMessage:"Update public channel names, headers and purposes."}}),manage_roles:(0,N.defineMessages)({name:{id:"admin.permissions.permission.manage_roles.name",defaultMessage:"Manage roles"},description:{id:"admin.permissions.permission.manage_roles.description",defaultMessage:"Manage roles"}}),manage_slash_commands:(0,N.defineMessages)({name:{id:"admin.permissions.permission.manage_slash_commands.name",defaultMessage:"Manage Slash Commands"},description:{id:"admin.permissions.permission.manage_slash_commands.description",defaultMessage:"Create, edit and delete custom slash commands."}}),manage_system:(0,N.defineMessages)({name:{id:"admin.permissions.permission.manage_system.name",defaultMessage:"Manage system"},description:{id:"admin.permissions.permission.manage_system.description",defaultMessage:"Manage system"}}),manage_team:(0,N.defineMessages)({name:{id:"admin.permissions.permission.manage_team.name",defaultMessage:"Manage team"},description:{id:"admin.permissions.permission.manage_team.description",defaultMessage:"Manage team"}}),manage_team_roles:(0,N.defineMessages)({name:{id:"admin.permissions.permission.manage_team_roles.name",defaultMessage:"Manage team roles"},description:{id:"admin.permissions.permission.manage_team_roles.description",defaultMessage:"Manage team roles"}}),manage_incoming_webhooks:(0,N.defineMessages)({name:{id:"admin.permissions.permission.manage_incoming_webhooks.name",defaultMessage:"Manage Incoming Webhooks"},description:{id:"admin.permissions.permission.manage_incoming_webhooks.description",defaultMessage:"Create, edit, and delete incoming webhooks."}}),manage_outgoing_webhooks:(0,N.defineMessages)({name:{id:"admin.permissions.permission.manage_outgoing_webhooks.name",defaultMessage:"Manage Outgoing Webhooks"},description:{id:"admin.permissions.permission.manage_outgoing_webhooks.description",defaultMessage:"Create, edit, and delete outgoing webhooks."}}),permanent_delete_user:(0,N.defineMessages)({name:{id:"admin.permissions.permission.permanent_delete_user.name",defaultMessage:"Permanent delete user"},description:{id:"admin.permissions.permission.permanent_delete_user.description",defaultMessage:"Permanent delete user"}}),read_channel:(0,N.defineMessages)({name:{id:"admin.permissions.permission.read_channel.name",defaultMessage:"Read channel"},description:{id:"admin.permissions.permission.read_channel.description",defaultMessage:"Read channel"}}),read_user_access_token:(0,N.defineMessages)({name:{id:"admin.permissions.permission.read_user_access_token.name",defaultMessage:"Read user access token"},description:{id:"admin.permissions.permission.read_user_access_token.description",defaultMessage:"Read user access token"}}),remove_user_from_team:(0,N.defineMessages)({name:{id:"admin.permissions.permission.remove_user_from_team.name",defaultMessage:"Remove user from team"},description:{id:"admin.permissions.permission.remove_user_from_team.description",defaultMessage:"Remove user from team"}}),revoke_user_access_token:(0,N.defineMessages)({name:{id:"admin.permissions.permission.revoke_user_access_token.name",defaultMessage:"Revoke user access token"},description:{id:"admin.permissions.permission.revoke_user_access_token.description",defaultMessage:"Revoke user access token"}}),upload_file:(0,N.defineMessages)({name:{id:"admin.permissions.permission.upload_file.name",defaultMessage:"Upload file"},description:{id:"admin.permissions.permission.upload_file.description",defaultMessage:"Upload file"}}),use_channel_mentions:(0,N.defineMessages)({name:{id:"admin.permissions.permission.use_channel_mentions.name",defaultMessage:"Channel Mentions"},description:{id:"admin.permissions.permission.use_channel_mentions.description",defaultMessage:"Notify channel members with @all, @channel and @here"}}),use_group_mentions:(0,N.defineMessages)({name:{id:"admin.permissions.permission.use_group_mentions.name",defaultMessage:"Group Mentions"},description:{id:"admin.permissions.permission.use_group_mentions.description",defaultMessage:"Notify group members with a group mention"}}),view_team:(0,N.defineMessages)({name:{id:"admin.permissions.permission.view_team.name",defaultMessage:"View team"},description:{id:"admin.permissions.permission.view_team.description",defaultMessage:"View team"}}),edit_others_posts:(0,N.defineMessages)({name:{id:"admin.permissions.permission.edit_others_posts.name",defaultMessage:"Edit Others' Posts"},description:{id:"admin.permissions.permission.edit_others_posts.description",defaultMessage:"Allow users to edit others' posts."}}),invite_guest:(0,N.defineMessages)({name:{id:"admin.permissions.permission.invite_guest.name",defaultMessage:"Invite guests"},description:{id:"admin.permissions.permission.invite_guest.description",defaultMessage:"Invite guests to channels and send guest email invites."}}),manage_shared_channels:(0,N.defineMessages)({name:{id:"admin.permissions.permission.manage_shared_channels.name",defaultMessage:"Manage Shared Channels"},description:{id:"admin.permissions.permission.manage_shared_channels.description",defaultMessage:"Share, unshare and invite another instance to sync with a shared channel"}}),manage_secure_connections:(0,N.defineMessages)({name:{id:"admin.permissions.permission.manage_secure_connections.name",defaultMessage:"Manage Secure Connections"},description:{id:"admin.permissions.permission.manage_secure_connections.description",defaultMessage:"Create, remove and view secure connections for shared channels"}}),playbook_public_create:(0,N.defineMessages)({name:{id:"admin.permissions.permission.playbook_public_create.name",defaultMessage:"Create Public Playbook"},description:{id:"admin.permissions.permission.playbook_public_create.description",defaultMessage:"Create new public playbooks."}}),playbook_public_manage_properties:(0,N.defineMessages)({name:{id:"admin.permissions.permission.playbook_public_manage_properties.name",defaultMessage:"Manage Playbook Configurations"},description:{id:"admin.permissions.permission.playbook_public_manage_properties.description",defaultMessage:"Prescribe checklists, actions, and templates."}}),playbook_public_manage_members:(0,N.defineMessages)({name:{id:"admin.permissions.permission.playbook_public_manage_members.name",defaultMessage:"Manage Playbook Members"},description:{id:"admin.permissions.permission.playbook_public_manage_members.description",defaultMessage:"Add and remove public playbook members."}}),playbook_public_make_private:(0,N.defineMessages)({name:{id:"admin.permissions.permission.playbook_public_make_private.name",defaultMessage:"Convert Playbooks"},description:{id:"admin.permissions.permission.playbook_public_make_private.description",defaultMessage:"Convert public playbooks to private."}}),playbook_private_create:(0,N.defineMessages)({name:{id:"admin.permissions.permission.playbook_private_create.name",defaultMessage:"Create Private Playbook"},description:{id:"admin.permissions.permission.playbook_private_create.description",defaultMessage:"Create new private playbooks."}}),playbook_private_manage_properties:(0,N.defineMessages)({name:{id:"admin.permissions.permission.playbook_private_manage_properties.name",defaultMessage:"Manage Playbook Configurations"},description:{id:"admin.permissions.permission.playbook_private_manage_properties.description",defaultMessage:"Prescribe checklists, actions, and templates."}}),playbook_private_manage_members:(0,N.defineMessages)({name:{id:"admin.permissions.permission.playbook_private_manage_members.name",defaultMessage:"Manage Playbook Members"},description:{id:"admin.permissions.permission.playbook_private_manage_members.description",defaultMessage:"Add and remove private playbook members."}}),playbook_private_make_public:(0,N.defineMessages)({name:{id:"admin.permissions.permission.playbook_private_make_public.name",defaultMessage:"Convert Playbooks"},description:{id:"admin.permissions.permission.playbook_private_make_public.description",defaultMessage:"Convert private playbooks to public."}}),run_create:(0,N.defineMessages)({name:{id:"admin.permissions.permission.run_create.name",defaultMessage:"Create Runs"},description:{id:"admin.permissions.permission.run_create.description",defaultMessage:"Run playbooks."}}),create_custom_group:(0,N.defineMessages)({name:{id:"admin.permissions.permission.create_custom_group.name",defaultMessage:"Create"},description:{id:"admin.permissions.permission.create_custom_group.description",defaultMessage:"Create custom groups."}}),manage_custom_group_members:(0,N.defineMessages)({name:{id:"admin.permissions.permission.manage_custom_group_members.name",defaultMessage:"Manage members"},description:{id:"admin.permissions.permission.manage_custom_group_members.description",defaultMessage:"Add and remove custom group members."}}),delete_custom_group:(0,N.defineMessages)({name:{id:"admin.permissions.permission.delete_custom_group.name",defaultMessage:"Delete"},description:{id:"admin.permissions.permission.delete_custom_group.description",defaultMessage:"Delete custom groups."}}),restore_custom_group:(0,N.defineMessages)({name:{id:"admin.permissions.permission.restore_custom_group.name",defaultMessage:"Restore"},description:{id:"admin.permissions.permission.restore_custom_group.description",defaultMessage:"Restore archived user groups."}}),edit_custom_group:(0,N.defineMessages)({name:{id:"admin.permissions.permission.edit_custom_group.name",defaultMessage:"Edit"},description:{id:"admin.permissions.permission.edit_custom_group.description",defaultMessage:"Rename custom groups."}}),manage_outgoing_oauth_connections:(0,N.defineMessages)({name:{id:"admin.permissions.permission.manage_outgoing_oauth_connections.name",defaultMessage:"Manage Outgoing OAuth Credentials"},description:{id:"admin.permissions.permission.manage_outgoing_oauth_connections.description",defaultMessage:"Create, edit, and delete outgoing OAuth credentials."}})},Pc=e=>{let{additionalValues:t,id:s,onChange:a,selectRow:n,uniqId:i,value:r,inherited:o,readOnly:l,selected:d}=e;const c=(0,_.useCallback)((()=>{l||a(s)}),[l,a,s]),m=Oc[s]?T().createElement(N.FormattedMessage,Oc[s].name):s;let u="";return Oc[s]&&(u=T().createElement(N.FormattedMessage,{id:Oc[s].description.id,values:t})),T().createElement("div",{className:re()("permission-row",{"read-only":l,selected:d===s}),onClick:c,id:i},T().createElement(Rc,{value:r,id:"".concat(i,"-checkbox")}),T().createElement("span",{className:"permission-name"},m),T().createElement(Ic,{inherited:o,id:s,selectRow:n,description:u,additionalValues:t}))};Pc.propTypes={id:L().string.isRequired,uniqId:L().string.isRequired,readOnly:L().bool,selected:L().string,selectRow:L().func.isRequired,value:L().string.isRequired,onChange:L().func.isRequired};const kc=Pc,xc={delete_posts:(0,N.defineMessages)({name:{id:"admin.permissions.group.delete_posts.name",defaultMessage:"Delete Posts"},description:{id:"admin.permissions.group.delete_posts.description",defaultMessage:"Delete own and others' posts."}}),integrations:(0,N.defineMessages)({name:{id:"admin.permissions.group.integrations.name",defaultMessage:"Integrations & Customizations"},description:{id:"admin.permissions.group.integrations.description",defaultMessage:"Manage OAuth 2.0, slash commands, webhooks and emoji."}}),posts:(0,N.defineMessages)({name:{id:"admin.permissions.group.posts.name",defaultMessage:"Manage Posts"},description:{id:"admin.permissions.group.posts.description",defaultMessage:"Write, edit and delete posts."}}),create_post:(0,N.defineMessages)({name:{id:"admin.permissions.permission.create_post.name",defaultMessage:"Create Posts"},description:{id:"admin.permissions.permission.create_post.description",defaultMessage:"Allow users to create posts."}}),private_channel:(0,N.defineMessages)({name:{id:"admin.permissions.group.private_channel.name",defaultMessage:"Manage Private Channels"},description:{id:"admin.permissions.group.private_channel.description",defaultMessage:"Create and archive channels, manage settings and members."}}),public_channel:(0,N.defineMessages)({name:{id:"admin.permissions.group.public_channel.name",defaultMessage:"Manage Public Channels"},description:{id:"admin.permissions.group.public_channel.description",defaultMessage:"Join, create and archive channels, manage settings and members."}}),reactions:(0,N.defineMessages)({name:{id:"admin.permissions.group.reactions.name",defaultMessage:"Post Reactions"},description:{id:"admin.permissions.group.reactions.description",defaultMessage:"Add and delete reactions on posts."}}),send_invites:(0,N.defineMessages)({name:{id:"admin.permissions.group.send_invites.name",defaultMessage:"Add Team Members"},description:{id:"admin.permissions.group.send_invites.description",defaultMessage:"Add team members, send email invites and share team invite link."}}),teams:(0,N.defineMessages)({name:{id:"admin.permissions.group.teams.name",defaultMessage:"Teams"},description:{id:"admin.permissions.group.teams.description",defaultMessage:"Create teams and manage members."}}),edit_posts:(0,N.defineMessages)({name:{id:"admin.permissions.group.edit_posts.name",defaultMessage:"Edit Posts"},description:{id:"admin.permissions.group.edit_posts.description",defaultMessage:"Edit own and others' posts."}}),teams_team_scope:(0,N.defineMessages)({name:{id:"admin.permissions.group.teams_team_scope.name",defaultMessage:"Teams"},description:{id:"admin.permissions.group.teams_team_scope.description",defaultMessage:"Manage team members."}}),guest_reactions:(0,N.defineMessages)({name:{id:"admin.permissions.group.guest_reactions.name",defaultMessage:"Post Reactions"},description:{id:"admin.permissions.group.guest_reactions.description",defaultMessage:"Add and delete reactions on posts."}}),guest_create_post:(0,N.defineMessages)({name:{id:"admin.permissions.group.guest_create_post.name",defaultMessage:"Create Posts"},description:{id:"admin.permissions.group.guest_create_post.description",defaultMessage:"Allow users to create posts."}}),guest_create_private_channel:(0,N.defineMessages)({name:{id:"admin.permissions.group.guest_create_private_channel.name",defaultMessage:"Create Channels"},description:{id:"admin.permissions.group.guest_create_private_channel.description",defaultMessage:"Create new private channels."}}),guest_delete_post:(0,N.defineMessages)({name:{id:"admin.permissions.group.guest_delete_post.name",defaultMessage:"Delete Own Posts"},description:{id:"admin.permissions.group.guest_delete_post.description",defaultMessage:"Author's own posts can be deleted."}}),guest_edit_post:(0,N.defineMessages)({name:{id:"admin.permissions.group.guest_edit_post.name",defaultMessage:"Edit Own Posts"},description:{id:"admin.permissions.group.guest_edit_post.description",defaultMessage:"{editTimeLimitButton} after posting, allow users to edit their own posts."}}),guest_use_channel_mentions:(0,N.defineMessages)({name:{id:"admin.permissions.group.guest_use_channel_mentions.name",defaultMessage:"Channel Mentions"},description:{id:"admin.permissions.group.guest_use_channel_mentions.description",defaultMessage:"Notify channel members with @all, @channel and @here"}}),guest_use_group_mentions:(0,N.defineMessages)({name:{id:"admin.permissions.group.guest_use_group_mentions.name",defaultMessage:"Group Mentions"},description:{id:"admin.permissions.group.guest_use_group_mentions.description",defaultMessage:"Notify group members with a group mention"}}),manage_private_channel_members_and_read_groups:(0,N.defineMessages)({name:{id:"admin.permissions.group.manage_private_channel_members_and_read_groups.name",defaultMessage:"Manage Channel Members"},description:{id:"admin.permissions.group.manage_private_channel_members_and_read_groups.description",defaultMessage:"Add and remove private channel members."}}),manage_public_channel_members_and_read_groups:(0,N.defineMessages)({name:{id:"admin.permissions.group.manage_public_channel_members_and_read_groups.name",defaultMessage:"Manage Channel Members"},description:{id:"admin.permissions.group.manage_public_channel_members_and_read_groups.description",defaultMessage:"Add and remove public channel members."}}),convert_public_channel_to_private:(0,N.defineMessages)({name:{id:"admin.permissions.group.convert_public_channel_to_private.name",defaultMessage:"Convert to private"},description:{id:"admin.permissions.group.convert_public_channel_to_private.description",defaultMessage:"Convert public channels to private"}}),convert_private_channel_to_public:(0,N.defineMessages)({name:{id:"admin.permissions.group.convert_private_channel_to_public.name",defaultMessage:"Convert to public"},description:{id:"admin.permissions.group.convert_private_channel_to_public.description",defaultMessage:"Convert private channels to public"}}),manage_shared_channels:(0,N.defineMessages)({name:{id:"admin.permissions.group.manage_shared_channels.name",defaultMessage:"Shared Channels"},description:{id:"admin.permissions.group.manage_shared_channels.description",defaultMessage:"Manage Shared Channels"}}),playbook_public:(0,N.defineMessages)({name:{id:"admin.permissions.group.playbook_public.name",defaultMessage:"Manage Public Playbooks"},description:{id:"admin.permissions.group.playbook_public.description",defaultMessage:"Manage public playbooks."}}),playbook_private:(0,N.defineMessages)({name:{id:"admin.permissions.group.playbook_private.name",defaultMessage:"Manage Private Playbooks"},description:{id:"admin.permissions.group.playbook_private.description",defaultMessage:"Manage private playbooks."}}),runs:(0,N.defineMessages)({name:{id:"admin.permissions.group.runs.name",defaultMessage:"Manage Runs"},description:{id:"admin.permissions.group.runs.description",defaultMessage:"Manage runs."}}),custom_groups:(0,N.defineMessages)({name:{id:"admin.permissions.group.custom_groups.name",defaultMessage:"Custom Groups"},description:{id:"admin.permissions.group.custom_groups.description",defaultMessage:"Create, edit, delete and manage the members of custom groups."}}),manage_public_channel_bookmarks:(0,N.defineMessages)({name:{id:"admin.permissions.group.manage_public_channel_bookmarks.name",defaultMessage:"Manage Bookmarks"},description:{id:"admin.permissions.group.manage_public_channel_bookmarks.description",defaultMessage:"Add, edit, delete and sort bookmarks"}}),manage_private_channel_bookmarks:(0,N.defineMessages)({name:{id:"admin.permissions.group.manage_private_channel_bookmarks.name",defaultMessage:"Manage Bookmarks"},description:{id:"admin.permissions.group.manage_private_channel_bookmarks.description",defaultMessage:"Add, edit, delete and sort bookmarks"}})};function Dc(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const Lc=e=>{let t=[];for(const s of e)"string"==typeof s?t.push(s):t=t.concat(Lc(s.permissions));return t};class Fc extends T().PureComponent{constructor(e){super(e),Dc(this,"toggleExpanded",(e=>{e.stopPropagation(),this.setState({expanded:!this.state.expanded})})),Dc(this,"toggleSelectRow",(e=>{this.props.readOnly||this.props.onChange([e])})),Dc(this,"toggleSelectSubGroup",(e=>{this.props.readOnly||this.props.onChange(e)})),Dc(this,"toggleSelectGroup",(()=>{const{readOnly:e,permissions:t,role:s,onChange:a}=this.props;if(!e&&s)if("checked"===this.getStatus(t)){const e=[];for(const s of Lc(t))this.fromParent(s)||e.push(s);this.setState({expanded:!0}),a(e)}else if(""===this.getStatus(t)){const e=[];let s=!0;if(0===this.state.prevPermissions.length)for(const a of Lc(t))this.fromParent(a)||(e.push(a),s=!1);else for(const s of Lc(t))-1===this.state.prevPermissions.indexOf(s)||this.fromParent(s)||e.push(s);a(e),this.setState({prevPermissions:[],expanded:s})}else{const e=[];for(const a of Lc(t)){var n;-1!==(null===(n=s.permissions)||void 0===n?void 0:n.indexOf(a))||this.fromParent(a)||e.push(a)}this.setState({prevPermissions:s.permissions||[],expanded:!1}),a(e)}})),Dc(this,"isInScope",(e=>!("channel_scope"===this.props.scope&&"channel_scope"!==x.PZ[e]||"team_scope"===this.props.scope&&"system_scope"===x.PZ[e]))),Dc(this,"renderPermission",((e,t)=>{var s,a;if(!this.isInScope(e))return null;const n=this.fromParent(e),i=n||-1!==(null===(s=this.props.role)||void 0===s||null===(a=s.permissions)||void 0===a?void 0:a.indexOf(e)),r=n?this.props.parentRole:void 0;return T().createElement(kc,{key:e,id:e,uniqId:this.props.uniqId+"-"+e,selected:this.props.selected,selectRow:this.props.selectRow,readOnly:this.props.readOnly||n,inherited:r,value:i?"checked":"",onChange:this.toggleSelectRow,additionalValues:t})})),Dc(this,"renderGroup",(e=>T().createElement(Fc,{key:e.id,id:e.id,uniqId:this.props.uniqId+"-"+e.id,selected:this.props.selected,selectRow:this.props.selectRow,readOnly:this.props.readOnly,permissions:e.permissions,additionalValues:this.props.additionalValues,role:this.props.role,parentRole:this.props.parentRole,scope:this.props.scope,onChange:this.toggleSelectSubGroup,combined:e.combined,root:!1}))),Dc(this,"fromParent",(e=>{var t;return this.props.parentRole&&-1!==(null===(t=this.props.parentRole.permissions)||void 0===t?void 0:t.indexOf(e))})),Dc(this,"getStatus",(e=>{let t=!1,s=!1;for(const o of e)if("string"==typeof o){var a,n,i,r;if(!this.isInScope(o))continue;t=t||this.fromParent(o)||-1!==(null===(a=this.props.role)||void 0===a||null===(n=a.permissions)||void 0===n?void 0:n.indexOf(o)),s=s||!this.fromParent(o)&&-1===(null===(i=this.props.role)||void 0===i||null===(r=i.permissions)||void 0===r?void 0:r.indexOf(o))}else{const e=this.getStatus(o.permissions);if("intermediate"===e)return"intermediate";"checked"===e&&(t=!0),""===e&&(s=!0)}return t&&s?"intermediate":t&&!s?"checked":""})),Dc(this,"hasPermissionsOnScope",(()=>Lc(this.props.permissions).some((e=>this.isInScope(e))))),Dc(this,"allPermissionsFromParent",(e=>{for(const t of e)if("string"==typeof t){if(this.isInScope(t)&&!this.fromParent(t))return!1}else if(!this.allPermissionsFromParent(t.permissions))return!1;return!0})),Dc(this,"render",(()=>{const{id:e,uniqId:t,permissions:s,readOnly:a,combined:n,root:i,selected:r,additionalValues:o}=this.props;if(!this.hasPermissionsOnScope())return null;const l=s.map((e=>{if("string"==typeof e){const t=o&&o[e]?o[e]:{};return this.renderPermission(e,t)}return this.renderGroup(e)}));if(i)return T().createElement("div",{className:"permission-group-permissions "+(this.state.expanded?"open":"")},l);let d;this.allPermissionsFromParent(this.props.permissions)&&this.props.combined&&(d=this.props.parentRole);let c="";r===e&&(c+=" selected"),(a||this.allPermissionsFromParent(this.props.permissions))&&(c+=" read-only"),n&&(c+=" combined");const m=null!=o&&o[e]?o[e]:void 0,u=xc[e]?T().createElement(N.FormattedMessage,xc[e].name):e;let p="";return xc[e]&&(p=T().createElement(N.FormattedMessage,{id:xc[e].description.id,defaultMessage:xc[e].description.defaultMessage,values:m})),T().createElement("div",{className:"permission-group"},!i&&T().createElement("div",{className:"permission-group-row "+c,onClick:this.toggleSelectGroup,id:t},!n&&T().createElement("div",{className:"fa fa-caret-right permission-arrow "+(this.state.expanded?"open":""),onClick:this.toggleExpanded}),T().createElement(Rc,{value:this.getStatus(this.props.permissions),id:"".concat(t,"-checkbox")}),T().createElement("span",{className:"permission-name"},u),T().createElement(Ic,{additionalValues:m,inherited:d,id:e,selectRow:this.props.selectRow,description:p})),!n&&T().createElement("div",{className:"permission-group-permissions "+(this.state.expanded?"open":"")},l))})),this.state={expanded:!0,prevPermissions:[],selected:e.selected}}static getDerivedStateFromProps(e,t){return e.selected!==t.selected?-1!==Lc(e.permissions).indexOf(e.selected?e.selected:"")?{expanded:!0,selected:e.selected}:{selected:e.selected}:null}}const Bc=e=>{let{license:t,onToggle:s,readOnly:a,scope:n,selectRow:i,parentRole:r,selected:o,role:l={permissions:[]}}=e;const[d,c]=T().useState(!1),m=(0,_.useMemo)((()=>{const e=[M.A.CREATE_PRIVATE_CHANNEL,M.A.EDIT_POST,M.A.DELETE_POST,{id:"guest_"+M.A.CREATE_POST,combined:!0,permissions:[M.A.CREATE_POST,M.A.UPLOAD_FILE]},{id:"guest_reactions",combined:!0,permissions:[M.A.ADD_REACTION,M.A.REMOVE_REACTION]},M.A.USE_CHANNEL_MENTIONS];return t&&"true"===t.IsLicensed&&"true"===t.LDAPGroups&&e.push(M.A.USE_GROUP_MENTIONS),e.map((e=>"string"==typeof e?{id:"guest_".concat(e),combined:!0,permissions:[e]}:e))}),[t]),u=(0,_.useCallback)((()=>{c(!0)}),[]),p=(0,_.useCallback)((()=>{c(!1)}),[]),g=(0,_.useCallback)((e=>{a||s(l.name,e)}),[s,a,l.name]),h=(0,_.useMemo)((()=>({guest_edit_post:{editTimeLimitButton:T().createElement(yc,{onClick:u,isDisabled:a})}})),[u,a]);return T().createElement("div",{className:"permissions-tree guest"},T().createElement("div",{className:"permissions-tree--header"},T().createElement("div",{className:"permission-name"},T().createElement(N.FormattedMessage,{id:"admin.permissions.permissionsTree.permission",defaultMessage:"Permission"})),T().createElement("div",{className:"permission-description"},T().createElement(N.FormattedMessage,{id:"admin.permissions.permissionsTree.description",defaultMessage:"Description"}))),T().createElement("div",{className:"permissions-tree--body"},T().createElement(Fc,{key:"all",id:"all",uniqId:l.name,selected:o,selectRow:i,readOnly:a,permissions:m,additionalValues:h,role:l,parentRole:r,scope:n,combined:!1,onChange:g,root:!0})),T().createElement(Cc,{onClose:p,show:d}))};Bc.propTypes={onToggle:L().func.isRequired,readOnly:L().bool.isRequired,scope:L().string.isRequired,selectRow:L().func.isRequired,selected:L().string};const Hc=Bc,Uc=[M.A.CREATE_PRIVATE_CHANNEL,M.A.EDIT_POST,M.A.DELETE_POST,M.A.ADD_REACTION,M.A.REMOVE_REACTION,M.A.READ_CHANNEL,M.A.UPLOAD_FILE,M.A.USE_CHANNEL_MENTIONS,M.A.USE_GROUP_MENTIONS,M.A.CREATE_POST],Gc=(0,a.connect)((function(e){return{license:(0,c.Ay)(e)}}))(Hc);function jc(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class qc extends T().PureComponent{constructor(e){super(e),jc(this,"updateGroups",(()=>{const{config:e,scope:t,license:s,role:a}=this.props,n=this.groups[0],i=this.groups[1],r=this.groups[2],o=this.groups[7],l=this.groups[8],d=this.groups[9],c=this.groups[10];"true"!==e.EnableIncomingWebhooks||l.permissions.includes(M.A.MANAGE_INCOMING_WEBHOOKS)||l.permissions.push(M.A.MANAGE_INCOMING_WEBHOOKS),"true"!==e.EnableOutgoingWebhooks||l.permissions.includes(M.A.MANAGE_OUTGOING_WEBHOOKS)||l.permissions.push(M.A.MANAGE_OUTGOING_WEBHOOKS),"true"!==e.EnableOAuthServiceProvider||l.permissions.includes(M.A.MANAGE_OAUTH)||l.permissions.push(M.A.MANAGE_OAUTH),"true"!==e.EnableOutgoingOAuthConnections||l.permissions.includes(M.A.MANAGE_OUTGOING_OAUTH_CONNECTIONS)||l.permissions.push(M.A.MANAGE_OUTGOING_OAUTH_CONNECTIONS),"true"!==e.EnableCommands||l.permissions.includes(M.A.MANAGE_SLASH_COMMANDS)||l.permissions.push(M.A.MANAGE_SLASH_COMMANDS),"true"!==e.EnableCustomEmoji||l.permissions.includes(M.A.CREATE_EMOJIS)||l.permissions.push(M.A.CREATE_EMOJIS),"true"!==e.EnableCustomEmoji||l.permissions.includes(M.A.DELETE_EMOJIS)||l.permissions.push(M.A.DELETE_EMOJIS),"true"!==e.EnableCustomEmoji||l.permissions.includes(M.A.DELETE_OTHERS_EMOJIS)||l.permissions.push(M.A.DELETE_OTHERS_EMOJIS),"true"!==e.EnableGuestAccounts||n.permissions.includes(M.A.INVITE_GUEST)||n.permissions.push(M.A.INVITE_GUEST),"team_scope"===t&&"teams_team_scope"!==this.groups[0].id&&(this.groups[0].id="teams_team_scope"),"true"!==(null==s?void 0:s.IsLicensed)||"true"!==(null==s?void 0:s.LDAPGroups)||o.permissions.includes(M.A.USE_GROUP_MENTIONS)||o.permissions.push(M.A.USE_GROUP_MENTIONS),o.permissions.push({id:M.A.CREATE_POST,combined:!0,permissions:[M.A.CREATE_POST,M.A.UPLOAD_FILE]}),"true"===e.ExperimentalSharedChannels&&(d.permissions.push(M.A.MANAGE_SHARED_CHANNELS),d.permissions.push(M.A.MANAGE_SECURE_CONNECTIONS)),this.props.customGroupsEnabled||null==c||c.permissions.pop(),[fc.A.TEAM_ADMIN_ROLE,fc.A.SYSTEM_ADMIN_ROLE].includes(a.name||"")&&r.permissions.push(M.A.CONVERT_PRIVATE_CHANNEL_TO_PUBLIC),"true"===(null==s?void 0:s.IsLicensed)&&(i.permissions.push({id:"manage_public_channel_bookmarks",combined:!0,permissions:[M.A.ADD_BOOKMARK_PUBLIC_CHANNEL,M.A.EDIT_BOOKMARK_PUBLIC_CHANNEL,M.A.DELETE_BOOKMARK_PUBLIC_CHANNEL,M.A.ORDER_BOOKMARK_PUBLIC_CHANNEL]}),r.permissions.push({id:"manage_private_channel_bookmarks",combined:!0,permissions:[M.A.ADD_BOOKMARK_PRIVATE_CHANNEL,M.A.EDIT_BOOKMARK_PRIVATE_CHANNEL,M.A.DELETE_BOOKMARK_PRIVATE_CHANNEL,M.A.ORDER_BOOKMARK_PRIVATE_CHANNEL]})),this.groups=this.groups.filter((e=>!e.isVisible||e.isVisible(this.props.license)))})),jc(this,"openPostTimeLimitModal",(()=>{this.setState({editTimeLimitModalIsVisible:!0})})),jc(this,"closePostTimeLimitModal",(()=>{this.setState({editTimeLimitModalIsVisible:!1})})),jc(this,"toggleGroup",(e=>{this.props.readOnly||this.props.onToggle(this.props.role.name,e)})),jc(this,"render",(()=>T().createElement("div",{className:"permissions-tree"},T().createElement("div",{className:"permissions-tree--header"},T().createElement("div",{className:"permission-name"},T().createElement(N.FormattedMessage,{id:"admin.permissions.permissionsTree.permission",defaultMessage:"Permission"})),T().createElement("div",{className:"permission-description"},T().createElement(N.FormattedMessage,{id:"admin.permissions.permissionsTree.description",defaultMessage:"Description"}))),T().createElement("div",{className:"permissions-tree--body"},T().createElement(Fc,{key:"all",id:"all",uniqId:this.props.role.name,selected:this.props.selected,selectRow:this.props.selectRow,readOnly:this.props.readOnly,permissions:this.groups,additionalValues:this.ADDITIONAL_VALUES,role:this.props.role,parentRole:this.props.parentRole,scope:this.props.scope,combined:!1,onChange:this.toggleGroup,root:!0})),T().createElement(Cc,{onClose:this.closePostTimeLimitModal,show:this.state.editTimeLimitModalIsVisible})))),this.state={editTimeLimitModalIsVisible:!1},this.ADDITIONAL_VALUES={edit_post:{editTimeLimitButton:T().createElement(yc,{onClick:this.openPostTimeLimitModal,isDisabled:this.props.readOnly})}},this.groups=[{id:"teams",permissions:[{id:"send_invites",combined:!0,permissions:[M.A.INVITE_USER,M.A.GET_PUBLIC_LINK,M.A.ADD_USER_TO_TEAM]},M.A.CREATE_TEAM]},{id:"public_channel",permissions:[M.A.CREATE_PUBLIC_CHANNEL,M.A.MANAGE_PUBLIC_CHANNEL_PROPERTIES,{id:"manage_public_channel_members_and_read_groups",combined:!0,permissions:[M.A.MANAGE_PUBLIC_CHANNEL_MEMBERS,M.A.READ_PUBLIC_CHANNEL_GROUPS]},M.A.DELETE_PUBLIC_CHANNEL,M.A.CONVERT_PUBLIC_CHANNEL_TO_PRIVATE]},{id:"private_channel",permissions:[M.A.CREATE_PRIVATE_CHANNEL,M.A.MANAGE_PRIVATE_CHANNEL_PROPERTIES,{id:"manage_private_channel_members_and_read_groups",combined:!0,permissions:[M.A.MANAGE_PRIVATE_CHANNEL_MEMBERS,M.A.READ_PRIVATE_CHANNEL_GROUPS]},M.A.DELETE_PRIVATE_CHANNEL]},{id:"playbook_public",permissions:[M.A.PLAYBOOK_PUBLIC_CREATE,M.A.PLAYBOOK_PUBLIC_MANAGE_PROPERTIES,M.A.PLAYBOOK_PUBLIC_MANAGE_MEMBERS],isVisible:Cs.sk},{id:"playbook_public",permissions:[M.A.PLAYBOOK_PUBLIC_CREATE,M.A.PLAYBOOK_PUBLIC_MANAGE_PROPERTIES,M.A.PLAYBOOK_PUBLIC_MANAGE_MEMBERS,M.A.PLAYBOOK_PUBLIC_MAKE_PRIVATE],isVisible:Cs.PL},{id:"playbook_private",permissions:[M.A.PLAYBOOK_PRIVATE_CREATE,M.A.PLAYBOOK_PRIVATE_MANAGE_PROPERTIES,M.A.PLAYBOOK_PRIVATE_MANAGE_MEMBERS,M.A.PLAYBOOK_PRIVATE_MAKE_PUBLIC],isVisible:Cs.PL},{id:"runs",permissions:[M.A.RUN_CREATE]},{id:"posts",permissions:[{id:"edit_posts",permissions:[M.A.EDIT_POST,M.A.EDIT_OTHERS_POSTS]},{id:"delete_posts",permissions:[M.A.DELETE_POST,M.A.DELETE_OTHERS_POSTS]},{id:"reactions",combined:!0,permissions:[M.A.ADD_REACTION,M.A.REMOVE_REACTION]},M.A.USE_CHANNEL_MENTIONS]},{id:"integrations",permissions:[]},{id:"manage_shared_channels",permissions:[]},{id:"custom_groups",permissions:[M.A.CREATE_CUSTOM_GROUP,M.A.MANAGE_CUSTOM_GROUP_MEMBERS,M.A.EDIT_CUSTOM_GROUP,M.A.DELETE_CUSTOM_GROUP,M.A.RESTORE_CUSTOM_GROUP]}],this.updateGroups()}componentDidUpdate(e){this.props.config===e.config&&this.props.license===e.license||this.updateGroups()}}jc(qc,"propTypes",{scope:L().string.isRequired,onToggle:L().func.isRequired,selected:L().string,selectRow:L().func.isRequired,readOnly:L().bool,customGroupsEnabled:L().bool.isRequired}),jc(qc,"defaultProps",{role:{permissions:[]}});const Wc=[M.A.VIEW_MEMBERS,M.A.JOIN_PUBLIC_TEAMS,M.A.LIST_PUBLIC_TEAMS,M.A.JOIN_PRIVATE_TEAMS,M.A.LIST_PRIVATE_TEAMS,M.A.PLAYBOOK_PUBLIC_VIEW,M.A.PLAYBOOK_PRIVATE_VIEW],Vc=(0,a.connect)((function(e){return{config:(0,c.zj)(e),license:(0,c.Ay)(e),customGroupsEnabled:(0,m.h7)(e)}}))(qc),zc=[{id:"playbook_public",permissions:[M.A.PLAYBOOK_PUBLIC_MANAGE_PROPERTIES,M.A.PLAYBOOK_PUBLIC_MANAGE_MEMBERS],isVisible:Cs.sk},{id:"playbook_public",permissions:[M.A.PLAYBOOK_PUBLIC_MANAGE_PROPERTIES,M.A.PLAYBOOK_PUBLIC_MANAGE_MEMBERS,M.A.PLAYBOOK_PUBLIC_MAKE_PRIVATE],isVisible:Cs.PL},{id:"playbook_private",permissions:[M.A.PLAYBOOK_PRIVATE_MANAGE_PROPERTIES,M.A.PLAYBOOK_PRIVATE_MANAGE_MEMBERS,M.A.PLAYBOOK_PRIVATE_MAKE_PUBLIC],isVisible:Cs.PL},{id:"runs",permissions:[M.A.RUN_CREATE]}],Yc=e=>{var t;const s=zc.filter((t=>!t.isVisible||t.isVisible(e.license)));return T().createElement("div",{className:"permissions-tree"},T().createElement("div",{className:"permissions-tree--header"},T().createElement("div",{className:"permission-name"},T().createElement(N.FormattedMessage,{id:"admin.permissions.permissionsTree.permission",defaultMessage:"Permission"})),T().createElement("div",{className:"permission-description"},T().createElement(N.FormattedMessage,{id:"admin.permissions.permissionsTree.description",defaultMessage:"Description"}))),T().createElement("div",{className:"permissions-tree--body"},T().createElement(Fc,{key:"all",id:"all",parentRole:e.parentRole,uniqId:null===(t=e.role)||void 0===t?void 0:t.name,selectRow:e.selectRow,readOnly:e.readOnly,permissions:s,role:e.role,scope:e.scope,combined:!1,onChange:t=>{var s;e.readOnly||e.onToggle((null===(s=e.role)||void 0===s?void 0:s.name)||"",t)},root:!0})))};Yc.propTypes={parentRole:L().any.isRequired,scope:L().string.isRequired,selectRow:L().any.isRequired,readOnly:L().bool.isRequired,onToggle:L().func.isRequired};const Zc=Yc;function Jc(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function Qc(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?Jc(Object(s),!0).forEach((function(t){Kc(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):Jc(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function Kc(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class Xc extends T().PureComponent{constructor(e){super(e),Kc(this,"goToSelectedRow",(()=>{const e=document.querySelector(".permission-row.selected,.permission-group-row.selected");return!!e&&(this.state.openRoles.all_users?e.scrollIntoView({behavior:"smooth",block:"center"}):(this.toggleRole("all_users"),setTimeout((()=>{e.scrollIntoView({behavior:"smooth",block:"center"})}),300)),!0)})),Kc(this,"selectRow",(e=>{this.setState({selectedPermission:e}),setTimeout(this.goToSelectedRow),setTimeout((()=>{this.setState({selectedPermission:void 0})}),3e3)})),Kc(this,"deriveRolesFromAllUsers",(e=>{var t,s,a,n,i;return{system_user:Qc(Qc({},this.props.roles.system_user),{},{permissions:null===(t=e.permissions)||void 0===t?void 0:t.filter((e=>"system_scope"===x.PZ[e]))}),team_user:Qc(Qc({},this.props.roles.team_user),{},{permissions:null===(s=e.permissions)||void 0===s?void 0:s.filter((e=>"team_scope"===x.PZ[e]))}),channel_user:Qc(Qc({},this.props.roles.channel_user),{},{permissions:null===(a=e.permissions)||void 0===a?void 0:a.filter((e=>"channel_scope"===x.PZ[e]))}),playbook_member:Qc(Qc({},this.props.roles.playbook_member),{},{permissions:null===(n=e.permissions)||void 0===n?void 0:n.filter((e=>"playbook_scope"===x.PZ[e]))}),run_member:Qc(Qc({},this.props.roles.run_member),{},{permissions:null===(i=e.permissions)||void 0===i?void 0:i.filter((e=>"run_scope"===x.PZ[e]))})}})),Kc(this,"deriveRolesFromGuests",(e=>{var t,s,a;return{system_guest:Qc(Qc({},this.props.roles.system_guest),{},{permissions:null===(t=e.permissions)||void 0===t?void 0:t.filter((e=>"system_scope"===x.PZ[e]))}),team_guest:Qc(Qc({},this.props.roles.team_guest),{},{permissions:null===(s=e.permissions)||void 0===s?void 0:s.filter((e=>"team_scope"===x.PZ[e]))}),channel_guest:Qc(Qc({},this.props.roles.channel_guest),{},{permissions:null===(a=e.permissions)||void 0===a?void 0:a.filter((e=>"channel_scope"===x.PZ[e]))})}})),Kc(this,"restoreExcludedPermissions",(e=>{for(const s of this.props.roles.system_user.permissions){var t;Wc.includes(s)&&(null===(t=e.system_user.permissions)||void 0===t||t.push(s))}for(const t of this.props.roles.team_user.permissions){var s;Wc.includes(t)&&(null===(s=e.team_user.permissions)||void 0===s||s.push(t))}for(const t of this.props.roles.channel_user.permissions){var a;Wc.includes(t)&&(null===(a=e.channel_user.permissions)||void 0===a||a.push(t))}for(const t of this.props.roles.playbook_member.permissions){var n;Wc.includes(t)&&(null===(n=e.playbook_member.permissions)||void 0===n||n.push(t))}return e})),Kc(this,"restoreGuestPermissions",(e=>{for(const s of this.props.roles.system_guest.permissions){var t;Uc.includes(s)||null===(t=e.system_guest.permissions)||void 0===t||t.push(s)}for(const t of this.props.roles.team_guest.permissions){var s;Uc.includes(t)||null===(s=e.team_guest.permissions)||void 0===s||s.push(t)}for(const t of this.props.roles.channel_guest.permissions){var a;Uc.includes(t)||null===(a=e.channel_guest.permissions)||void 0===a||a.push(t)}return e})),Kc(this,"handleSubmit",(async()=>{const e=this.props.actions.editRole(this.state.roles.team_admin),t=this.props.actions.editRole(this.state.roles.channel_admin),s=this.props.actions.editRole(this.state.roles.playbook_admin),a=this.restoreExcludedPermissions(this.deriveRolesFromAllUsers(this.state.roles.all_users)),n=[e,t,this.props.actions.editRole(a.system_user),this.props.actions.editRole(a.team_user),this.props.actions.editRole(a.channel_user),s,this.props.actions.editRole(a.playbook_member),this.props.actions.editRole(a.run_member)];if(this.haveGuestAccountsPermissions()){const e=this.restoreGuestPermissions(this.deriveRolesFromGuests(this.state.roles.guests)),t=this.props.actions.editRole(e.system_guest),s=this.props.actions.editRole(e.team_guest),a=this.props.actions.editRole(e.channel_guest);n.push(t,s,a)}this.setState({saving:!0});const i=await Promise.all(n);let r=null,o=!1;for(const e of i)if(e.error){r=e.error.message,o=!0;break}this.setState({serverError:r,saving:!1,saveNeeded:o}),this.props.actions.setNavigationBlocked(o)})),Kc(this,"toggleRole",(e=>{const t=Qc({},this.state.openRoles);t[e]=!t[e],this.setState({openRoles:t})})),Kc(this,"togglePermission",((e,t)=>{const s=Qc({},this.state.roles),a=Qc({},s[e]),n=[...a.permissions];for(const e of t)-1===n.indexOf(e)?n.push(e):n.splice(n.indexOf(e),1);if(a.permissions=n,s[e]=a,"all_users"===e){const e=Qc({},s.channel_admin),n=[...e.permissions],i=Qc({},s.team_admin),r=[...i.permissions];for(const e of t)-1!==x.Sw.indexOf(e)&&-1!==a.permissions.indexOf(e)&&(-1===n.indexOf(e)&&n.push(e),-1===r.indexOf(e)&&r.push(e));e.permissions=n,s.channel_admin=e,i.permissions=r,s.team_admin=i}this.setState({roles:s,saveNeeded:!0}),this.props.actions.setNavigationBlocked(!0)})),Kc(this,"resetDefaults",(()=>{const e=JSON.parse(JSON.stringify(Qc({},this.state.roles)));Object.entries(x.YC).forEach((t=>{let[s,a]=t;e[s].permissions=a})),this.setState({roles:e,saveNeeded:!0}),this.props.actions.setNavigationBlocked(!0)})),Kc(this,"haveGuestAccountsPermissions",(()=>"true"===this.props.license.GuestAccountsPermissions)),Kc(this,"render",(()=>{var e;if(!this.state.loaded)return T().createElement(At.A,null);const t="true"===(null===(e=this.props.license)||void 0===e?void 0:e.IsLicensed);return T().createElement("div",{className:"wrapper--fixed"},T().createElement(et,{withBackButton:!0},T().createElement("div",null,T().createElement(ka.A,{to:"/admin_console/user_management/permissions",className:"fa fa-angle-left back"}),T().createElement(N.FormattedMessage,{id:"admin.permissions.systemScheme",defaultMessage:"System Scheme"}))),T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},T().createElement("div",{className:"banner info"},T().createElement("div",{className:"banner__content"},T().createElement("span",null,T().createElement(N.FormattedMessage,{id:"admin.permissions.systemScheme.introBanner",defaultMessage:"Configure the default permissions for Team Admins, Channel Admins and other members. This scheme is inherited by all teams unless a <link>Team Override Scheme</link>is applied in specific teams.",values:{link:e=>T().createElement(ce.A,{href:x.Uk.ONBOARD_ADVANCED_PERMISSIONS,location:"permission_system_scheme_settings"},e)}})))),t&&"true"===this.props.config.EnableGuestAccounts&&T().createElement(vc,{className:"permissions-block",open:this.state.openRoles.guests,id:"all_users",onToggle:()=>this.toggleRole("guests"),title:(0,N.defineMessage)({id:"admin.permissions.systemScheme.GuestsTitle",defaultMessage:"Guests"}),subtitle:(0,N.defineMessage)({id:"admin.permissions.systemScheme.GuestsDescription",defaultMessage:"Permissions granted to guest users."})},T().createElement(Gc,{selected:this.state.selectedPermission,role:this.state.roles.guests,scope:"system_scope",onToggle:this.togglePermission,selectRow:this.selectRow,readOnly:this.props.isDisabled||!this.haveGuestAccountsPermissions()})),T().createElement(vc,{className:"permissions-block",open:this.state.openRoles.all_users,id:"all_users",onToggle:()=>this.toggleRole("all_users"),title:(0,N.defineMessage)({id:"admin.permissions.systemScheme.allMembersTitle",defaultMessage:"All Members"}),subtitle:(0,N.defineMessage)({id:"admin.permissions.systemScheme.allMembersDescription",defaultMessage:"Permissions granted to all members, including administrators and newly created users."})},T().createElement(Vc,{selected:this.state.selectedPermission,role:this.state.roles.all_users,scope:"system_scope",onToggle:this.togglePermission,selectRow:this.selectRow,readOnly:this.props.isDisabled})),T().createElement(vc,{className:"permissions-block",open:this.state.openRoles.channel_admin,onToggle:()=>this.toggleRole("channel_admin"),title:(0,N.defineMessage)({id:"admin.permissions.systemScheme.channelAdminsTitle",defaultMessage:"Channel Administrators"}),subtitle:(0,N.defineMessage)({id:"admin.permissions.systemScheme.channelAdminsDescription",defaultMessage:"Permissions granted to channel creators and any users promoted to Channel Administrator."})},T().createElement(Vc,{parentRole:this.state.roles.all_users,role:this.state.roles.channel_admin,scope:"channel_scope",onToggle:this.togglePermission,selectRow:this.selectRow,readOnly:this.props.isDisabled})),T().createElement(vc,{className:"permissions-block",open:this.state.openRoles.playbook_admin,onToggle:()=>this.toggleRole("playbook_admin"),title:(0,N.defineMessage)({id:"admin.permissions.systemScheme.playbookAdmin",defaultMessage:"Playbook Administrator"}),subtitle:(0,N.defineMessage)({id:"admin.permissions.systemScheme.playbookAdminSubtitle",defaultMessage:"Permissions granted to administrators of a playbook."})},T().createElement(Zc,{role:this.state.roles.playbook_admin,parentRole:this.state.roles.all_users,scope:"playbook_scope",onToggle:this.togglePermission,selectRow:this.selectRow,readOnly:this.props.isDisabled||!1,license:this.props.license})),T().createElement(vc,{className:"permissions-block",open:this.state.openRoles.team_admin,onToggle:()=>this.toggleRole("team_admin"),title:(0,N.defineMessage)({id:"admin.permissions.systemScheme.teamAdminsTitle",defaultMessage:"Team Administrators"}),subtitle:(0,N.defineMessage)({id:"admin.permissions.systemScheme.teamAdminsDescription",defaultMessage:"Permissions granted to team creators and any users promoted to Team Administrator."})},T().createElement(Vc,{parentRole:this.state.roles.all_users,role:this.state.roles.team_admin,scope:"team_scope",onToggle:this.togglePermission,selectRow:this.selectRow,readOnly:this.props.isDisabled})),T().createElement(vc,{className:"permissions-block",open:this.state.openRoles.system_admin,onToggle:()=>this.toggleRole("system_admin"),title:(0,N.defineMessage)({id:"admin.permissions.systemScheme.systemAdminsTitle",defaultMessage:"System Administrators"}),subtitle:(0,N.defineMessage)({id:"admin.permissions.systemScheme.systemAdminsDescription",defaultMessage:"Full permissions granted to System Administrators."})},T().createElement(Vc,{readOnly:!0,role:this.state.roles.system_admin,scope:"system_scope",onToggle:this.togglePermission,selectRow:this.selectRow})))),T().createElement("div",{className:"admin-console-save"},T().createElement($e.A,{saving:this.state.saving,disabled:this.props.isDisabled||!this.state.saveNeeded,onClick:this.handleSubmit,savingMessage:this.props.intl.formatMessage({id:"admin.saving",defaultMessage:"Saving Config..."})}),T().createElement(ka.A,{className:"btn btn-tertiary",to:"/admin_console/user_management/permissions"},T().createElement(N.FormattedMessage,{id:"admin.permissions.permissionSchemes.cancel",defaultMessage:"Cancel"})),T().createElement("a",{"data-testid":"resetPermissionsToDefault",onClick:()=>this.setState({showResetDefaultModal:!0}),className:"btn btn-quaternary"},T().createElement(N.FormattedMessage,{id:"admin.permissions.systemScheme.resetDefaultsButton",defaultMessage:"Reset to Defaults"})),T().createElement("div",{className:"error-message"},T().createElement(ye.A,{error:this.state.serverError}))),T().createElement(St.A,{show:this.state.showResetDefaultModal,title:T().createElement(N.FormattedMessage,{id:"admin.permissions.systemScheme.resetDefaultsButtonModalTitle",defaultMessage:"Reset to Default?"}),message:T().createElement(N.FormattedMessage,{id:"admin.permissions.systemScheme.resetDefaultsButtonModalBody",defaultMessage:"This will reset all selections on this page to their default settings. Are you sure you want to reset?"}),confirmButtonText:T().createElement(N.FormattedMessage,{id:"admin.permissions.systemScheme.resetDefaultsConfirmationButton",defaultMessage:"Yes, Reset"}),onConfirm:()=>{this.resetDefaults(),this.setState({showResetDefaultModal:!1})},onCancel:()=>this.setState({showResetDefaultModal:!1})}))})),this.state={showResetDefaultModal:!1,loaded:!1,saving:!1,saveNeeded:!1,serverError:null,roles:{},openRoles:{guests:!0,all_users:!0,system_admin:!0,team_admin:!0,channel_admin:!0,playbook_member:!0,playbook_admin:!0,run_member:!0,run_admin:!0},urlParams:new URLSearchParams(e.location.search)},this.rolesNeeded=[fc.A.SYSTEM_ADMIN_ROLE,fc.A.SYSTEM_USER_ROLE,fc.A.TEAM_ADMIN_ROLE,fc.A.TEAM_USER_ROLE,fc.A.CHANNEL_ADMIN_ROLE,fc.A.CHANNEL_USER_ROLE,fc.A.PLAYBOOK_ADMIN_ROLE,fc.A.PLAYBOOK_MEMBER_ROLE,fc.A.RUN_ADMIN_ROLE,fc.A.RUN_MEMBER_ROLE,fc.A.SYSTEM_GUEST_ROLE,fc.A.TEAM_GUEST_ROLE,fc.A.CHANNEL_GUEST_ROLE]}componentDidMount(){this.props.actions.loadRolesIfNeeded(this.rolesNeeded),this.rolesNeeded.every((e=>this.props.roles[e]))&&this.loadRolesIntoState(this.props),this.state.urlParams.get("rowIdFromQuery")&&setTimeout((()=>{this.selectRow(this.state.urlParams.get("rowIdFromQuery"))}),1e3)}UNSAFE_componentWillReceiveProps(e){!this.state.loaded&&this.rolesNeeded.every((t=>e.roles[t]))&&this.loadRolesIntoState(e)}loadRolesIntoState(e){var t,s;this.setState({loaded:!0,roles:{system_admin:e.roles.system_admin,team_admin:e.roles.team_admin,channel_admin:e.roles.channel_admin,playbook_admin:e.roles.playbook_admin,playbook_member:e.roles.playbook_member,run_admin:e.roles.run_admin,run_member:e.roles.run_member,all_users:{name:"all_users",display_name:"All members",permissions:null===(t=e.roles.system_user.permissions)||void 0===t?void 0:t.concat(e.roles.team_user.permissions).concat(e.roles.channel_user.permissions).concat(e.roles.playbook_member.permissions).concat(e.roles.run_member.permissions)},guests:{name:"guests",display_name:"Guests",permissions:null===(s=e.roles.system_guest.permissions)||void 0===s?void 0:s.concat(e.roles.team_guest.permissions).concat(e.roles.channel_guest.permissions)}}})}}Kc(Xc,"propTypes",{isDisabled:L().bool,actions:L().shape({loadRolesIfNeeded:L().func.isRequired,editRole:L().func.isRequired,setNavigationBlocked:L().func.isRequired}).isRequired});const $c=(0,N.injectIntl)(Xc),em=(0,a.connect)((function(e){return{config:(0,c.zj)(e),license:(0,c.Ay)(e),roles:(0,u.O0)(e)}}),(function(e){return{actions:(0,n.bindActionCreators)({loadRolesIfNeeded:r.cF,editRole:r.D3,setNavigationBlocked:h.Jb},e)}}))($c);var tm=s(5986);const sm=e=>{let t,{className:s,subtitle:a,title:n,buttonText:i,children:r,disabled:o,id:l,onButtonClick:d}=e;if(d&&i){const e=(i.defaultMessage||"").split(" ").join("-").toLowerCase();t=T().createElement("a",{className:re()("btn","btn-primary",{disabled:o}),onClick:o?e=>e.preventDefault():d,"data-testid":e},T().createElement(N.FormattedMessage,i))}return T().createElement(ko,{className:"AdminPanelWithButton "+s,id:l,title:n,subtitle:a,button:t},r)};sm.propTypes={children:L().node,className:L().string,id:L().string,onButtonClick:L().func,disabled:L().bool},sm.defaultProps={className:""};const am=sm,nm=e=>{let{team:t,isDisabled:s,onRemoveTeam:a}=e;const n=(0,_.useCallback)((()=>{s||a(t.id)}),[s,t.id,a]);return T().createElement("div",{className:"team",key:t.id},T().createElement("div",{className:"team-info-block"},T().createElement($i.A,{content:t.display_name,url:(0,H.lt)(t)}),T().createElement("div",{className:"team-data"},T().createElement("div",{className:"title"},t.display_name))),T().createElement("a",{className:re()("remove",{disabled:s}),onClick:n},T().createElement(N.FormattedMessage,{id:"admin.permissions.teamScheme.removeTeam",defaultMessage:"Remove"})))};nm.propTypes={onRemoveTeam:L().func.isRequired,isDisabled:L().bool.isRequired};const im=(0,_.memo)(nm),rm=(0,a.connect)((function(e){return{stats:(0,p.ls)(e)}}),(function(e){return{actions:(0,n.bindActionCreators)({loadTeamStats:o.ls},e)}}))(im);function om(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function lm(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?om(Object(s),!0).forEach((function(t){dm(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):om(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function dm(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class cm extends T().PureComponent{constructor(e){super(e),dm(this,"isLoaded",(e=>e.schemeId?!!(null!==e.scheme&&null!==e.teams&&e.roles[e.scheme.default_team_guest_role]&&e.roles[e.scheme.default_team_user_role]&&e.roles[e.scheme.default_team_admin_role]&&e.roles[e.scheme.default_channel_guest_role]&&e.roles[e.scheme.default_channel_user_role]&&e.roles[e.scheme.default_channel_admin_role]&&e.roles[e.scheme.default_playbook_admin_role]&&e.roles[e.scheme.default_playbook_member_role]&&e.roles[e.scheme.default_run_member_role]):!!(e.roles.team_guest&&e.roles.team_user&&e.roles.team_admin&&e.roles.channel_guest&&e.roles.channel_user&&e.roles.channel_admin&&e.roles.playbook_admin&&e.roles.playbook_member&&e.roles.run_member))),dm(this,"goToSelectedRow",(()=>{const e=document.querySelector(".permission-row.selected,.permission-group-row.selected");return!!e&&(this.state.openRoles.all_users?e.scrollIntoView({behavior:"smooth",block:"center"}):(this.toggleRole("all_users"),setTimeout((()=>{e.scrollIntoView({behavior:"smooth",block:"center"})}),300)),!0)})),dm(this,"selectRow",(e=>{this.setState({selectedPermission:e}),setTimeout(this.goToSelectedRow),setTimeout((()=>{this.setState({selectedPermission:void 0})}),3e3)})),dm(this,"getStateRoles",(()=>{var e,t,s,a,n,i;if(null!==this.state.roles)return this.state.roles;let r,o,l,d,c,m,u,p,g;if(this.props.schemeId&&this.props.scheme)this.isLoaded(this.props)&&(r=this.props.roles[this.props.scheme.default_team_guest_role],o=this.props.roles[this.props.scheme.default_team_user_role],l=this.props.roles[this.props.scheme.default_team_admin_role],d=this.props.roles[this.props.scheme.default_channel_guest_role],c=this.props.roles[this.props.scheme.default_channel_user_role],m=this.props.roles[this.props.scheme.default_channel_admin_role],u=this.props.roles[this.props.scheme.default_playbook_admin_role],p=this.props.roles[this.props.scheme.default_playbook_member_role],g=this.props.roles[this.props.scheme.default_run_member_role]);else{if(!this.isLoaded(this.props))return null;r=this.props.roles.team_guest,o=this.props.roles.team_user,l=this.props.roles.team_admin,d=this.props.roles.channel_guest,c=this.props.roles.channel_user,m=this.props.roles.channel_admin,u=this.props.roles.playbook_admin,p=this.props.roles.playbook_member,g=this.props.roles.run_member}return{team_admin:l,channel_admin:m,playbook_admin:u,playbook_member:p,run_member:g,team_guest:r,team_user:o,channel_guest:d,channel_user:c,all_users:{name:"all_users",displayName:"All members",permissions:[...(null===(e=o)||void 0===e?void 0:e.permissions)||[],...(null===(t=c)||void 0===t?void 0:t.permissions)||[],...(null===(s=p)||void 0===s?void 0:s.permissions)||[],...(null===(a=g)||void 0===a?void 0:a.permissions)||[]]},guests:{name:"guests",displayName:"Guests",permissions:null===(n=r)||void 0===n?void 0:n.permissions.concat((null===(i=d)||void 0===i?void 0:i.permissions)||[])}}})),dm(this,"deriveRolesFromGuests",((e,t,s)=>({team_guest:lm(lm({},e),{},{permissions:s.permissions.filter((e=>"team_scope"===x.PZ[e]))}),channel_guest:lm(lm({},t),{},{permissions:s.permissions.filter((e=>"channel_scope"===x.PZ[e]))})}))),dm(this,"restoreGuestPermissions",((e,t,s)=>{for(const t of e.permissions)Uc.includes(t)||s.team_guest.permissions.push(t);for(const e of t.permissions)Uc.includes(e)||s.channel_guest.permissions.push(e);return s})),dm(this,"deriveRolesFromAllUsers",((e,t,s,a,n)=>{var i,r;return{team_user:lm(lm({},e),{},{permissions:n.permissions.filter((e=>"team_scope"===x.PZ[e]))}),channel_user:lm(lm({},t),{},{permissions:n.permissions.filter((e=>"channel_scope"===x.PZ[e]))}),playbook_member:lm(lm({},s),{},{permissions:null===(i=n.permissions)||void 0===i?void 0:i.filter((e=>"playbook_scope"===x.PZ[e]))}),run_member:lm(lm({},a),{},{permissions:null===(r=n.permissions)||void 0===r?void 0:r.filter((e=>"run_scope"===x.PZ[e]))})}})),dm(this,"restoreExcludedPermissions",((e,t,s)=>{for(const t of e.permissions)Wc.includes(t)&&s.team_user.permissions.push(t);for(const e of t.permissions)Wc.includes(e)&&s.channel_user.permissions.push(e);return s})),dm(this,"handleNameChange",(e=>{this.setState({schemeName:e.target.value,saveNeeded:!0}),this.props.actions.setNavigationBlocked(!0)})),dm(this,"handleDescriptionChange",(e=>{this.setState({schemeDescription:e.target.value,saveNeeded:!0}),this.props.actions.setNavigationBlocked(!0)})),dm(this,"handleSubmit",(async()=>{const e=this.getStateRoles();let t=null==e?void 0:e.team_admin,s=null==e?void 0:e.channel_admin,a=null==e?void 0:e.playbook_admin,n=null==e?void 0:e.playbook_member,i=null==e?void 0:e.run_member;const r=null==e?void 0:e.all_users,o=null==e?void 0:e.guests,l=this.state.schemeName||this.props.scheme&&this.props.scheme.display_name||"",d=this.state.schemeDescription||this.props.scheme&&this.props.scheme.description||"";let c=null,m=null,u=null,p=null,g=null;if(this.setState({saving:!0}),e&&e.team_user&&e.channel_user&&e.playbook_member&&e.run_member&&r){let t=this.deriveRolesFromAllUsers(e.team_user,e.channel_user,e.playbook_member,e.run_member,r);t=this.restoreExcludedPermissions(e.team_user,e.channel_user,t),c=t.team_user,m=t.channel_user,n=t.playbook_member,i=t.run_member}if(e&&e.team_guest&&e.channel_guest&&o){let t=this.deriveRolesFromGuests(e.team_guest,e.channel_guest,o);t=this.restoreGuestPermissions(e.team_guest,e.channel_guest,t),u=t.team_guest,p=t.channel_guest}if(this.props.schemeId)await this.props.actions.patchScheme(this.props.schemeId,{display_name:l,description:d}),g=this.props.schemeId;else{const e=await this.props.actions.createScheme({display_name:l,description:d,scope:"team"});if(e.error)return this.setState({serverError:e.error.message,saving:!1,saveNeeded:!0}),void this.props.actions.setNavigationBlocked(!0);const r=e.data;g=r.id,await this.props.actions.loadRolesIfNeeded([r.default_team_guest_role,r.default_team_user_role,r.default_team_admin_role,r.default_channel_guest_role,r.default_channel_user_role,r.default_channel_admin_role,r.default_playbook_admin_role,r.default_playbook_member_role,r.default_run_member_role]),u=lm(lm({},u),{},{id:this.props.roles[r.default_team_guest_role].id}),c=lm(lm({},c),{},{id:this.props.roles[r.default_team_user_role].id}),t=lm(lm({},t),{},{id:this.props.roles[r.default_team_admin_role].id}),p=lm(lm({},p),{},{id:this.props.roles[r.default_channel_guest_role].id}),m=lm(lm({},m),{},{id:this.props.roles[r.default_channel_user_role].id}),s=lm(lm({},s),{},{id:this.props.roles[r.default_channel_admin_role].id}),a=lm(lm({},a),{},{id:this.props.roles[r.default_playbook_admin_role].id}),n=lm(lm({},n),{},{id:this.props.roles[r.default_playbook_member_role].id}),i=lm(lm({},i),{},{id:this.props.roles[r.default_run_member_role].id})}const h=[this.props.actions.editRole(t),this.props.actions.editRole(s),this.props.actions.editRole(a),this.props.actions.editRole(n),this.props.actions.editRole(i)],f=this.props.actions.editRole(c),E=this.props.actions.editRole(m);if(h.push(f),h.push(E),this.haveGuestAccountsPermissions()){const e=this.props.actions.editRole(u),t=this.props.actions.editRole(p);h.push(e,t)}const b=new Set((this.state.teams||this.props.teams||[]).map((e=>e.id))),v=new Set((this.props.teams||[]).map((e=>e.id))),M=new Set([...b].filter((e=>!v.has(e)))),y=new Set([...v].filter((e=>!b.has(e))));for(const e of M)h.push(this.props.actions.updateTeamScheme(e,g));for(const e of y)h.push(this.props.actions.updateTeamScheme(e,""));const S=await Promise.all(h);let A=null,C=!1;for(const e of S)if(e.error){A=e.error.message,C=!0;break}this.setState({serverError:A,saving:!1,saveNeeded:C}),this.props.actions.setNavigationBlocked(C),this.props.history.push("/admin_console/user_management/permissions")})),dm(this,"toggleRole",(e=>{const t=lm({},this.state.openRoles);t[e]=!t[e],this.setState({openRoles:t})})),dm(this,"togglePermission",((e,t)=>{const s=lm({},this.getStateRoles()),a=lm({},s[e]),n=[...a.permissions];for(const e of t)-1===n.indexOf(e)?n.push(e):n.splice(n.indexOf(e),1);if(a.permissions=n,s[e]=a,"all_users"===e){const e=lm({},s.channel_admin),n=[...e.permissions],i=lm({},s.team_admin),r=[...i.permissions];for(const e of t)-1!==x.Sw.indexOf(e)&&-1!==a.permissions.indexOf(e)&&(-1===n.indexOf(e)&&n.push(e),-1===r.indexOf(e)&&r.push(e));e.permissions=n,s.channel_admin=e,i.permissions=r,s.team_admin=i}this.setState({roles:s,saveNeeded:!0}),this.props.actions.setNavigationBlocked(!0)})),dm(this,"openAddTeam",(()=>{this.setState({addTeamOpen:!0})})),dm(this,"removeTeam",(e=>{var t,s;const a=null!==(t=null===(s=this.state.teams||this.props.teams)||void 0===s?void 0:s.filter((t=>t.id!==e)))&&void 0!==t?t:null;this.setState({teams:a,saveNeeded:!0}),this.props.actions.setNavigationBlocked(!0)})),dm(this,"addTeams",(e=>{const t=this.state.teams||this.props.teams||[];this.setState({teams:[...t,...e],saveNeeded:!0}),this.props.actions.setNavigationBlocked(!0)})),dm(this,"closeAddTeam",(()=>{this.setState({addTeamOpen:!1})})),dm(this,"haveGuestAccountsPermissions",(()=>"true"===this.props.license.GuestAccountsPermissions)),dm(this,"render",(()=>{if(!this.isLoaded(this.props))return T().createElement(At.A,null);const e=this.getStateRoles(),t=this.state.teams||this.props.teams||[],s=this.state.schemeName||this.props.scheme&&this.props.scheme.display_name||"",a=this.state.schemeDescription||this.props.scheme&&this.props.scheme.description||"";return T().createElement("div",{className:"wrapper--fixed"},this.state.addTeamOpen&&T().createElement(Er,{modalID:x.IQ.ADD_TEAMS_TO_SCHEME,onModalDismissed:this.closeAddTeam,onTeamsSelected:this.addTeams,currentSchemeId:this.props.schemeId,alreadySelected:t.map((e=>e.id))}),T().createElement(et,{withBackButton:!0},T().createElement("div",null,T().createElement(ka.A,{to:"/admin_console/user_management/permissions",className:"fa fa-angle-left back"}),T().createElement(N.FormattedMessage,{id:"admin.permissions.teamScheme",defaultMessage:"Team Scheme"}))),T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},T().createElement("div",{className:"banner info"},T().createElement("div",{className:"banner__content"},T().createElement("span",null,T().createElement(N.FormattedMessage,{id:"admin.permissions.teamScheme.introBanner",defaultMessage:"<linkOverrideTeam>Team Override Schemes</linkOverrideTeam> set the permissions for Team Admins, Channel Admins and other members in specific teams. Use a Team Override Scheme when specific teams need permission exceptions to the <linkSystemScheme>System Scheme</linkSystemScheme>.",values:{linkOverrideTeam:e=>T().createElement(ce.A,{href:x.Uk.ONBOARD_ADVANCED_PERMISSIONS,location:"permission_team_scheme_settings"},e),linkSystemScheme:e=>T().createElement(ce.A,{href:x.Uk.ONBOARD_ADVANCED_PERMISSIONS,location:"permission_team_scheme_settings"},e)}})))),T().createElement(ko,{title:(0,N.defineMessage)({id:"admin.permissions.teamScheme.schemeDetailsTitle",defaultMessage:"Scheme Details"}),subtitle:(0,N.defineMessage)({id:"admin.permissions.teamScheme.schemeDetailsDescription",defaultMessage:"Set the name and description for this scheme."})},T().createElement("div",{className:"team-scheme-details"},T().createElement("div",{className:"form-group"},T().createElement("label",{className:"control-label",htmlFor:"scheme-name"},T().createElement(N.FormattedMessage,{id:"admin.permissions.teamScheme.schemeNameLabel",defaultMessage:"Scheme Name:"})),T().createElement(Ds.A,{className:"form-control",disabled:this.props.isDisabled,id:"scheme-name",placeholder:(0,N.defineMessage)({id:"admin.permissions.teamScheme.schemeNamePlaceholder",defaultMessage:"Scheme Name"}),type:"text",value:s,onChange:this.handleNameChange})),T().createElement("div",{className:"form-group"},T().createElement("label",{className:"control-label",htmlFor:"scheme-description"},T().createElement(N.FormattedMessage,{id:"admin.permissions.teamScheme.schemeDescriptionLabel",defaultMessage:"Scheme Description:"})),T().createElement(tm.A,{id:"scheme-description",className:"form-control",rows:5,value:a,placeholder:(0,N.defineMessage)({id:"admin.permissions.teamScheme.schemeDescriptionPlaceholder",defaultMessage:"Scheme Description"}),onChange:this.handleDescriptionChange,disabled:this.props.isDisabled})))),T().createElement(am,{className:"permissions-block",title:(0,N.defineMessage)({id:"admin.permissions.teamScheme.selectTeamsTitle",defaultMessage:"Select teams to override permissions"}),subtitle:(0,N.defineMessage)({id:"admin.permissions.teamScheme.selectTeamsDescription",defaultMessage:"Select teams where permission exceptions are required."}),onButtonClick:this.openAddTeam,buttonText:(0,N.defineMessage)({id:"admin.permissions.teamScheme.addTeams",defaultMessage:"Add Teams"}),disabled:this.props.isDisabled},T().createElement("div",{className:"teams-list"},0===t.length&&T().createElement("div",{className:"no-team-schemes"},T().createElement(N.FormattedMessage,{id:"admin.permissions.teamScheme.noTeams",defaultMessage:"No team selected. Please add teams to this list."})),t.map((e=>T().createElement(rm,{key:e.id,team:e,onRemoveTeam:this.removeTeam,isDisabled:this.props.isDisabled}))))),this.props.license&&"true"===this.props.config.EnableGuestAccounts&&T().createElement(vc,{className:"permissions-block",open:this.state.openRoles.guests,id:"guests",onToggle:()=>this.toggleRole("guests"),title:(0,N.defineMessage)({id:"admin.permissions.systemScheme.GuestsTitle",defaultMessage:"Guests"}),subtitle:(0,N.defineMessage)({id:"admin.permissions.systemScheme.GuestsDescription",defaultMessage:"Permissions granted to guest users."})},T().createElement(Gc,{selected:this.state.selectedPermission,role:null==e?void 0:e.guests,scope:"team_scope",onToggle:this.togglePermission,selectRow:this.selectRow,readOnly:this.props.isDisabled||!this.haveGuestAccountsPermissions()})),T().createElement(vc,{className:"permissions-block all_users",open:this.state.openRoles.all_users,id:"all_users",onToggle:()=>this.toggleRole("all_users"),title:(0,N.defineMessage)({id:"admin.permissions.systemScheme.allMembersTitle",defaultMessage:"All Members"}),subtitle:(0,N.defineMessage)({id:"admin.permissions.systemScheme.allMembersDescription",defaultMessage:"Permissions granted to all members, including administrators and newly created users."})},T().createElement(Vc,{selected:this.state.selectedPermission,role:null==e?void 0:e.all_users,scope:"team_scope",onToggle:this.togglePermission,selectRow:this.selectRow,readOnly:this.props.isDisabled})),T().createElement(vc,{className:"permissions-block channel_admin",open:this.state.openRoles.channel_admin,onToggle:()=>this.toggleRole("channel_admin"),title:(0,N.defineMessage)({id:"admin.permissions.systemScheme.channelAdminsTitle",defaultMessage:"Channel Administrators"}),subtitle:(0,N.defineMessage)({id:"admin.permissions.systemScheme.channelAdminsDescription",defaultMessage:"Permissions granted to channel creators and any users promoted to Channel Administrator."})},T().createElement(Vc,{parentRole:null==e?void 0:e.all_users,role:null==e?void 0:e.channel_admin,scope:"channel_scope",onToggle:this.togglePermission,selectRow:this.selectRow,readOnly:this.props.isDisabled})),T().createElement(vc,{className:"permissions-block",open:this.state.openRoles.playbook_admin,onToggle:()=>this.toggleRole("playbook_admin"),title:(0,N.defineMessage)({id:"admin.permissions.systemScheme.playbookAdmin",defaultMessage:"Playbook Administrator"}),subtitle:(0,N.defineMessage)({id:"admin.permissions.systemScheme.playbookAdminSubtitle",defaultMessage:"Permissions granted to administrators of a playbook."})},T().createElement(Zc,{parentRole:null==e?void 0:e.all_users,role:null==e?void 0:e.playbook_admin,scope:"playbook_scope",onToggle:this.togglePermission,selectRow:this.selectRow,readOnly:this.props.isDisabled,license:this.props.license})),T().createElement(vc,{className:"permissions-block team_admin",open:this.state.openRoles.team_admin,onToggle:()=>this.toggleRole("team_admin"),title:(0,N.defineMessage)({id:"admin.permissions.systemScheme.teamAdminsTitle",defaultMessage:"Team Administrators"}),subtitle:(0,N.defineMessage)({id:"admin.permissions.systemScheme.teamAdminsDescription",defaultMessage:"Permissions granted to team creators and any users promoted to Team Administrator."})},T().createElement(Vc,{parentRole:null==e?void 0:e.all_users,role:null==e?void 0:e.team_admin,scope:"team_scope",onToggle:this.togglePermission,selectRow:this.selectRow,readOnly:this.props.isDisabled})))),T().createElement("div",{className:"admin-console-save"},T().createElement($e.A,{saving:this.state.saving,disabled:this.props.isDisabled||!this.state.saveNeeded,onClick:this.handleSubmit,savingMessage:T().createElement(N.FormattedMessage,{id:"admin.saving",defaultMessage:"Saving Config..."})}),T().createElement(ka.A,{className:"cancel-button",to:"/admin_console/user_management/permissions"},T().createElement(N.FormattedMessage,{id:"admin.permissions.permissionSchemes.cancel",defaultMessage:"Cancel"})),T().createElement("div",{className:"error-message"},T().createElement(ye.A,{error:this.state.serverError}))))})),this.state={saving:!1,saveNeeded:!1,serverError:null,roles:null,teams:null,addTeamOpen:!1,selectedPermission:void 0,openRoles:{all_users:!0,team_admin:!0,channel_admin:!0,playbook_admin:!0,guests:!0},urlParams:new URLSearchParams(e.location.search),schemeName:void 0,schemeDescription:void 0}}componentDidMount(){const e=[fc.A.TEAM_GUEST_ROLE,fc.A.TEAM_USER_ROLE,fc.A.TEAM_ADMIN_ROLE,fc.A.CHANNEL_GUEST_ROLE,fc.A.CHANNEL_USER_ROLE,fc.A.CHANNEL_ADMIN_ROLE,fc.A.PLAYBOOK_ADMIN_ROLE,fc.A.PLAYBOOK_MEMBER_ROLE,fc.A.RUN_MEMBER_ROLE];this.props.actions.loadRolesIfNeeded(e),this.props.schemeId&&(this.props.actions.loadScheme(this.props.schemeId).then((e=>{this.props.actions.loadRolesIfNeeded([e.data.default_team_guest_role,e.data.default_team_user_role,e.data.default_team_admin_role,e.data.default_channel_guest_role,e.data.default_channel_user_role,e.data.default_channel_admin_role,e.data.default_playbook_admin_role,e.data.default_playbook_member_role,e.data.default_run_member_role])})),this.props.actions.loadSchemeTeams(this.props.schemeId));const t=this.state.urlParams.get("rowIdFromQuery");t&&setTimeout((()=>{this.selectRow(t)}),1e3)}}dm(cm,"propTypes",{schemeId:L().string.isRequired,teams:L().oneOfType([L().array,L().oneOf([null])]),isDisabled:L().bool.isRequired,actions:L().shape({loadRolesIfNeeded:L().func.isRequired,loadScheme:L().func.isRequired,loadSchemeTeams:L().func.isRequired,editRole:L().func.isRequired,patchScheme:L().func.isRequired,updateTeamScheme:L().func.isRequired,createScheme:L().func.isRequired,setNavigationBlocked:L().func.isRequired}).isRequired}),dm(cm,"defaultProps",{scheme:null});const mm=(0,a.connect)((function(){const e=ic();return(t,s)=>{const a=s.match.params.scheme_id;return{config:(0,c.zj)(t),license:(0,c.Ay)(t),schemeId:a,scheme:a?nc(t,a):null,teams:a?e(t,{schemeId:a}):null,roles:(0,u.O0)(t)}}}),(function(e){return{actions:(0,n.bindActionCreators)({loadRolesIfNeeded:r.cF,loadScheme:Kd,loadSchemeTeams:sc,editRole:r.D3,patchScheme:tc,updateTeamScheme:o.yv,createScheme:$d,setNavigationBlocked:h.Jb},e)}}))(cm);function um(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const pm="off",gm="mhpns",hm="mtpns",fm="custom",Em="us",bm="de",vm={[Em]:x.YM.MHPNS_US,[bm]:x.YM.MHPNS_DE},Mm="pushNotificationServerType",ym="pushNotificationServerLocation",Sm=(0,N.defineMessages)({pushNotificationServer:{id:"admin.environment.pushNotificationServer",defaultMessage:"Push Notification Server"},pushTitle:{id:"admin.email.pushTitle",defaultMessage:"Enable Push Notifications: "},pushServerTitle:{id:"admin.email.pushServerTitle",defaultMessage:"Push Notification Server:"}}),Am=[Sm.pushNotificationServer,Sm.pushTitle,Sm.pushServerTitle],Cm=(0,N.injectIntl)(class extends Nt{constructor(){super(...arguments),um(this,"canSave",(()=>this.state.pushNotificationServerType!==gm||this.state.agree)),um(this,"handleAgreeChange",(e=>{this.setState({agree:e.target.checked})})),um(this,"handleDropdownChange",((e,t)=>{e===Mm&&(this.setState({agree:!1}),t===gm?this.setState({pushNotificationServer:vm[this.state.pushNotificationServerLocation]}):t===hm?this.setState({pushNotificationServer:x.YM.MTPNS}):t!==fm||this.state.pushNotificationServerType!==hm&&this.state.pushNotificationServerType!==gm||this.setState({pushNotificationServer:""})),e===ym&&this.setState({pushNotificationServer:vm[t],pushNotificationServerLocation:t}),this.handleChange(e,t)})),um(this,"getConfigFromState",(e=>(e.EmailSettings.SendPushNotifications=this.state.pushNotificationServerType!==pm,e.EmailSettings.PushNotificationServer=this.state.pushNotificationServer.trim(),e.TeamSettings.MaxNotificationsPerChannel=this.state.maxNotificationsPerChannel,e))),um(this,"isPushNotificationServerSetByEnv",(()=>this.isSetByEnv("EmailSettings.SendPushNotifications")||this.isSetByEnv("EmailSettings.PushNotificationServer"))),um(this,"renderSettings",(()=>{const e=[];e.push({value:pm,text:this.props.intl.formatMessage({id:"admin.email.pushOff",defaultMessage:"Do not send push notifications"})}),"true"===this.props.license.IsLicensed&&"true"===this.props.license.MHPNS&&e.push({value:gm,text:this.props.intl.formatMessage({id:"admin.email.mhpns",defaultMessage:"Use HPNS connection with uptime SLA to send notifications to iOS and Android apps"})}),e.push({value:hm,text:this.props.intl.formatMessage({id:"admin.email.mtpns",defaultMessage:"Use TPNS connection to send notifications to iOS and Android apps"})}),e.push({value:fm,text:this.props.intl.formatMessage({id:"admin.email.selfPush",defaultMessage:"Manually enter Push Notification Service location"})});let t,s,a=null,n=null;if(this.state.pushNotificationServerType===pm?a=T().createElement(N.FormattedMessage,{id:"admin.email.pushOffHelp",defaultMessage:"Please see <link>documentation on push notifications</link> to learn more about setup options.",values:{link:e=>T().createElement(ce.A,{href:x.Uk.SETUP_PUSH_NOTIFICATIONS,location:"push_settings"},e)}}):n=this.state.pushNotificationServerType===gm?T().createElement(N.FormattedMessage,{id:"admin.email.mhpnsHelp",defaultMessage:"Download <linkIOS>Mattermost iOS app</linkIOS> from iTunes. Download <linkAndroid>Mattermost Android app</linkAndroid> from Google Play. Learn more about the <linkHPNS>Mattermost Hosted Push Notification Service</linkHPNS>.",values:{linkIOS:e=>T().createElement(ce.A,{href:"https://mattermost.com/pl/ios-app/",location:"push_settings"},e),linkAndroid:e=>T().createElement(ce.A,{href:"https://mattermost.com/pl/android-app/",location:"push_settings"},e),linkHPNS:e=>T().createElement(ce.A,{href:x.Uk.SETUP_PUSH_NOTIFICATIONS,location:"push_settings"},e)}}):this.state.pushNotificationServerType===hm?T().createElement(N.FormattedMessage,{id:"admin.email.mtpnsHelp",defaultMessage:"Download <linkIOS>Mattermost iOS app</linkIOS> from iTunes. Download <linkAndroid>Mattermost Android app</linkAndroid> from Google Play. Learn more about the <linkHPNS>Mattermost Hosted Push Notification Service</linkHPNS>.",values:{linkIOS:e=>T().createElement(ce.A,{href:"https://mattermost.com/pl/ios-app/",location:"push_settings"},e),linkAndroid:e=>T().createElement(ce.A,{href:"https://mattermost.com/pl/android-app/",location:"push_settings"},e),linkHPNS:e=>T().createElement(ce.A,{href:x.Uk.SETUP_PUSH_NOTIFICATIONS,location:"push_settings"},e)}}):T().createElement(N.FormattedMessage,{id:"admin.email.easHelp",defaultMessage:"Learn more about compiling and deploying your own mobile apps from an <link>Enterprise App Store</link>.",values:{link:e=>T().createElement(ce.A,{href:"https://docs.mattermost.com/",location:"push_settings"},e)}}),this.state.pushNotificationServerType===gm&&(t=T().createElement("div",{className:"form-group"},T().createElement("div",{className:"col-sm-4"}),T().createElement("div",{className:"col-sm-8"},T().createElement("input",{type:"checkbox",checked:this.state.agree,onChange:this.handleAgreeChange,disabled:this.props.isDisabled}),T().createElement(N.FormattedMessage,{id:"admin.email.agreeHPNS",defaultMessage:" I understand and accept the Mattermost Hosted Push Notification Service <linkTerms>Terms of Service</linkTerms> and <linkPrivacy>Privacy Policy</linkPrivacy>.",values:{linkTerms:e=>T().createElement(ce.A,{href:"https://mattermost.com/hpns-terms/",location:"push_settings"},e),linkPrivacy:e=>T().createElement(ce.A,{href:"https://mattermost.com/data-processing-addendum/",location:"push_settings"},e)}})))),this.state.pushNotificationServerType===gm){const e=[{value:Em,text:this.props.intl.formatMessage({id:"admin.email.pushServerLocationUS",defaultMessage:"US"})},{value:bm,text:this.props.intl.formatMessage({id:"admin.email.pushServerLocationDE",defaultMessage:"Germany"})}];s=T().createElement(K,{id:ym,values:e,label:T().createElement(N.FormattedMessage,{id:"admin.email.pushServerLocationTitle",defaultMessage:"Push Notification Server location:"}),value:this.state.pushNotificationServerLocation,onChange:this.handleDropdownChange,setByEnv:this.isPushNotificationServerSetByEnv(),disabled:this.props.isDisabled})}return T().createElement(Ue,null,T().createElement(K,{id:Mm,values:e,label:T().createElement(N.FormattedMessage,Sm.pushTitle),value:this.state.pushNotificationServerType,onChange:this.handleDropdownChange,helpText:a,setByEnv:this.isPushNotificationServerSetByEnv(),disabled:this.props.isDisabled}),s,t,T().createElement(We,{id:"pushNotificationServer",label:T().createElement(N.FormattedMessage,Sm.pushServerTitle),placeholder:(0,N.defineMessage)({id:"admin.email.pushServerEx",defaultMessage:'E.g.: "https://push-test.mattermost.com"'}),helpText:n,value:this.state.pushNotificationServer,onChange:this.handleChange,disabled:this.props.isDisabled||this.state.pushNotificationServerType!==fm,setByEnv:this.isSetByEnv("EmailSettings.PushNotificationServer")}),T().createElement(We,{id:"maxNotificationsPerChannel",type:"number",label:T().createElement(N.FormattedMessage,{id:"admin.team.maxNotificationsPerChannelTitle",defaultMessage:"Max Notifications Per Channel:"}),placeholder:(0,N.defineMessage)({id:"admin.team.maxNotificationsPerChannelExample",defaultMessage:'E.g.: "1000"'}),helpText:T().createElement(N.FormattedMessage,{id:"admin.team.maxNotificationsPerChannelDescription",defaultMessage:"Maximum total number of users in a channel before users typing messages, @all, @here, and @channel no longer send notifications because of performance."}),value:this.state.maxNotificationsPerChannel,onChange:this.handleChange,setByEnv:this.isSetByEnv("TeamSettings.MaxNotificationsPerChannel"),disabled:this.props.isDisabled}))}))}getStateFromConfig(e){let t=fm,s=!1,a=Em;e.EmailSettings.SendPushNotifications?e.EmailSettings.PushNotificationServer===x.YM.MHPNS_US&&"true"===this.props.license.IsLicensed&&"true"===this.props.license.MHPNS?(t=gm,a=Em,s=!0):e.EmailSettings.PushNotificationServer===x.YM.MHPNS_DE&&"true"===this.props.license.IsLicensed&&"true"===this.props.license.MHPNS?(t=gm,a=bm,s=!0):e.EmailSettings.PushNotificationServer===x.YM.MTPNS&&(t=hm):t=pm;let n=e.EmailSettings.PushNotificationServer;return t===hm?n=x.YM.MTPNS:t===gm&&(n=vm[a]),{pushNotificationServerType:t,pushNotificationServerLocation:a,pushNotificationServer:n,maxNotificationsPerChannel:e.TeamSettings.MaxNotificationsPerChannel,agree:s}}renderTitle(){return T().createElement(N.FormattedMessage,Sm.pushNotificationServer)}});var _m=s(18986),Tm=s(24867);const Nm=function(){return T().createElement("svg",{width:"133",height:"106",viewBox:"0 0 133 106",fill:"none",xmlns:"http://www.w3.org/2000/svg"},T().createElement("rect",{x:"32.5",y:"0.5",width:"68.5",height:"105",rx:"4",fill:"#FFBC1F"}),T().createElement("rect",{x:"0.5",y:"37",width:"132.5",height:"68.5",rx:"4",fill:"#CC8F00"}),T().createElement("path",{d:"M101 3.32155V103.178C100.83 104.887 100.246 105.827 99.2368 106H34.5181C33.3391 105.827 32.6699 104.887 32.5 103.178V3.32155C32.6699 1.61349 33.3391 0.672969 34.5181 0.5H99.2368C100.246 0.672969 100.83 1.61349 101 3.32155Z",fill:"#FFBC1F"}),T().createElement("path",{d:"M80.0115 79.0244H53.7559V105.989H80.0115V79.0244Z",fill:"#E8E9ED"}),T().createElement("rect",{x:"30.5",y:"0.5",width:"72.5",height:"7",rx:"1.5",fill:"#1E325C"}),T().createElement("rect",{x:"51",y:"75.5",width:"31.5",height:"7",rx:"1.5",fill:"#1E325C"}),T().createElement("rect",{x:"66",y:"82",width:"2",height:"24",fill:"#1E325C"}),T().createElement("rect",{x:"6.5",y:"49",width:"8",height:"15.5",rx:"1.5",fill:"#7A5600"}),T().createElement("rect",{x:"38",y:"14",width:"9",height:"19",rx:"1.5",fill:"#CC8F00"}),T().createElement("rect",{x:"73",y:"14",width:"9",height:"19",rx:"1.5",fill:"#CC8F00"}),T().createElement("rect",{x:"38",y:"38",width:"9",height:"19",rx:"1.5",fill:"#CC8F00"}),T().createElement("rect",{x:"38",y:"62",width:"9",height:"9",rx:"1.5",fill:"#CC8F00"}),T().createElement("rect",{x:"38",y:"75.5",width:"9",height:"9",rx:"1.5",fill:"#CC8F00"}),T().createElement("rect",{x:"38",y:"89",width:"9",height:"9",rx:"1.5",fill:"#CC8F00"}),T().createElement("rect",{x:"73",y:"38",width:"9",height:"19",rx:"1.5",fill:"#CC8F00"}),T().createElement("rect",{x:"73",y:"62",width:"9",height:"9",rx:"1.5",fill:"#CC8F00"}),T().createElement("rect",{x:"51",y:"14",width:"9",height:"19",rx:"1.5",fill:"#CC8F00"}),T().createElement("rect",{x:"86",y:"14",width:"9",height:"19",rx:"1.5",fill:"#CC8F00"}),T().createElement("rect",{x:"51",y:"38",width:"9",height:"19",rx:"1.5",fill:"#CC8F00"}),T().createElement("rect",{x:"51",y:"62",width:"9",height:"9",rx:"1.5",fill:"#CC8F00"}),T().createElement("rect",{x:"86",y:"38",width:"9",height:"19",rx:"1.5",fill:"#CC8F00"}),T().createElement("rect",{x:"86",y:"62",width:"9",height:"9",rx:"1.5",fill:"#CC8F00"}),T().createElement("rect",{x:"86",y:"75.5",width:"9",height:"9",rx:"1.5",fill:"#CC8F00"}),T().createElement("rect",{x:"86",y:"89",width:"9",height:"9",rx:"1.5",fill:"#CC8F00"}),T().createElement("rect",{x:"107",y:"49",width:"8",height:"15.5",rx:"1.5",fill:"#7A5600"}),T().createElement("rect",{x:"6.5",y:"70.5",width:"8",height:"8",rx:"1.5",fill:"#7A5600"}),T().createElement("rect",{x:"107",y:"70.5",width:"8",height:"8",rx:"1.5",fill:"#7A5600"}),T().createElement("rect",{x:"6.5",y:"85",width:"8",height:"8",rx:"1.5",fill:"#7A5600"}),T().createElement("rect",{x:"107",y:"85",width:"8",height:"8",rx:"1.5",fill:"#7A5600"}),T().createElement("rect",{x:"18.5",y:"49",width:"8",height:"15.5",rx:"1.5",fill:"#7A5600"}),T().createElement("rect",{x:"119",y:"49",width:"8",height:"15.5",rx:"1.5",fill:"#7A5600"}),T().createElement("rect",{x:"18.5",y:"70.5",width:"8",height:"8",rx:"1.5",fill:"#7A5600"}),T().createElement("rect",{x:"119",y:"70.5",width:"8",height:"8",rx:"1.5",fill:"#7A5600"}),T().createElement("rect",{x:"18.5",y:"85",width:"8",height:"8",rx:"1.5",fill:"#7A5600"}),T().createElement("rect",{x:"119",y:"85",width:"8",height:"8",rx:"1.5",fill:"#7A5600"}))};var Rm=s(77828),wm=(s(27105),s(70936)),Im=s(69729);function Om(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function Pm(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?Om(Object(s),!0).forEach((function(t){km(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):Om(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function km(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const xm=(e,t,s)=>{var a;return Pm(Pm({},e),{},{display_name:t.display_name,team_display_name:null!==(a=null==s?void 0:s.display_name)&&void 0!==a?a:""})},Dm=()=>{const e=(0,a.useSelector)(p.vZ),t=(0,_.useMemo)((()=>e.reduce(((e,t)=>Pm(Pm({},e),{},{[t.id]:t})),{})),[e]);return t},Lm=e=>({pathname:"/admin_console/site_config/secure_connections/".concat(e.remote_id),state:e}),Fm=e=>Boolean(e.site_url&&!e.site_url.startsWith("pending_")),Bm=e=>!0===e,Hm=e=>e instanceof Error,Um=B().h3.withConfig({displayName:"SectionHeading"})(["&&&{margin-bottom:8px;}"]),Gm=B().label.withConfig({displayName:"FormFieldLabel"})(["width:100%;.DropdownInput.Input_container{margin-top:0;}& + &{margin-top:30px;}"]),jm=B().header.attrs({className:"header"}).withConfig({displayName:"SectionHeader"})(["&&&{padding:24px 32px;","}"],(e=>{let{$borderless:t}=e;return!t&&(0,F.css)(["border-bottom:1px solid var(--center-channel-color-12,rgba(63,67,80,0.12));"])})),qm=B().div.attrs({className:"content"}).withConfig({displayName:"SectionContent"})(["&&&{padding:",";border-bottom:1px solid var(--center-channel-color-12,rgba(63,67,80,0.12));}"],(e=>{let{$compact:t}=e;return t?"24px 32px":"48px 32px"})),Wm=B().div.withConfig({displayName:"ModalBody"})(["padding:0 32px;display:flex;flex-direction:column;gap:20px;"]),Vm=B().section.attrs({className:"AdminPanel"}).withConfig({displayName:"AdminSection"})(["&&{overflow:visible;}"]),zm=B().h4.withConfig({displayName:"PlaceholderHeading"})(["&&{font-size:20px;font-weight:600;line-height:28px;margin-bottom:4px;}"]),Ym=B().p.withConfig({displayName:"PlaceholderParagraph"})(["&&{font-size:14px;}"]),Zm=B().p.withConfig({displayName:"ModalParagraph"})(["&&{font-size:12px;line-height:16px;font-weight:400;color:rgba(var(--center-channel-color-rgb),0.72);}"]),Jm=B().div.withConfig({displayName:"PlaceholderContainer"})(["display:flex;place-items:center;flex-direction:column;gap:5px;svg{margin:30px 30px 20px;}hgroup{text-align:center;}"]),Qm=e=>T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},e.children)),Km=B().strong.withConfig({displayName:"InnerLabel"})(["font-size:14px;line-height:18px;display:inline-block;margin-bottom:10px;"]),Xm=B().small.withConfig({displayName:"HelpText"})(["font-size:14px;font-weight:400;line-height:20px;color:rgba(var(--center-channel-color-rgb),0.72);display:block;margin-top:10px;"]),$m=B().input.attrs({className:"form-control secure-connections-input"}).withConfig({displayName:"Input"})(["font-weight:normal;"]),eu=e=>{let{label:t,children:s,helpText:a}=e;return T().createElement(Gm,null,t&&T().createElement(Km,null,t),s,a&&T().createElement(Xm,null,a))};eu.propTypes={label:L().string,children:L().oneOfType([L().node,L().arrayOf(L().node)]).isRequired,helpText:L().string};const tu=B().div.withConfig({displayName:"ModalFieldsetWrapper"})(["width:100%;display:flex;flex-direction:column;gap:14px;.secure-connections-modal-input .form-control{border:none !important;background:none !important;height:34px !important;}.Input_container{margin-bottom:10px;}.DropdownInput.Input_container{margin-top:0;}"]),su=B().legend.withConfig({displayName:"ModalLegend"})(["font-size:16px;font-weight:600;line-height:18px;border-bottom:none;"]),au=e=>T().createElement(tu,null,e.legend&&T().createElement(su,null,e.legend),e.children),nu=B().div.withConfig({displayName:"ModalNoticeWrapper"})(["margin:15px 0 25px 0;"]),iu=B().button.attrs({className:"btn btn-secondary"}).withConfig({displayName:"Button"})(["margin:-1px -2px;"]),ru=B().button.attrs({className:"btn btn-link"}).withConfig({displayName:"LinkButton"})(["font-weight:normal;",";"],(e=>{let{$destructive:t}=e;return t&&(0,F.css)(["&&{color:#D24B4E;}"])})),ou=e=>{let{rc:t}=e;if(!Fm(t))return T().createElement(N.FormattedMessage,{tagName:uu,id:"admin.secure_connections.status_pending",defaultMessage:"Connection Pending"});const s=(e=>wm.Interval.before(wm.DateTime.now(),{minutes:5}).contains(wm.DateTime.fromMillis(e.last_ping_at)))(t)?T().createElement(N.FormattedMessage,{tagName:mu,id:"admin.secure_connections.status_connected",defaultMessage:"Connected"}):T().createElement(N.FormattedMessage,{tagName:pu,id:"admin.secure_connections.status_offline",defaultMessage:"Offline"});return t.last_ping_at?T().createElement(tt.A,{title:T().createElement(T().Fragment,null,T().createElement(N.FormattedMessage,{id:"admin.secure_connections.status_tooltip",defaultMessage:"Last ping: {timestamp}",values:{timestamp:T().createElement(Rm.Ay,{value:t.last_ping_at,ranges:du})}}),T().createElement("br",null),T().createElement(lu,null,t.site_url))},T().createElement("div",null,s)):s},lu=B().div.withConfig({displayName:"UrlWrapper"})(["white-space:break-spaces;word-wrap:none;"]),du=[Rm.hp._W.second,Rm.hp._W.minute,Rm.hp._W.hour],cu=(0,F.css)(["font-size:12px;color:white;border-radius:4px;padding:2px 4px;"]),mu=B().strong.withConfig({displayName:"ConnectedLabel"})(["",";background-color:#3DB887;"],cu),uu=B().strong.withConfig({displayName:"PendingConnectionLabel"})(["",";background-color:#F5AB00;"],cu),pu=B().strong.withConfig({displayName:"OfflineConnectionLabel"})(["",";background-color:#C43133;"],cu);s(28937),s(80345),s(57278),s(47156),s(72020);const gu=e=>{const t=e.teamsById[e.value],{locale:s}=(0,N.useIntl)(),a=(0,_.useCallback)((t=>{const s=t.value;e.onChange(s)}),[]),n=Object.values(e.teamsById).map((e=>({value:e.id,label:e.display_name}))).sort(((e,t)=>e.label.localeCompare(t.label,s)));return T().createElement(on.A,{className:"team_selector",testId:e.testId,required:!0,onChange:a,value:t?{label:t.display_name,value:t.id}:void 0,options:n,name:"team_selector",legend:e.legend})};gu.propTypes={value:L().string.isRequired,onChange:L().func.isRequired,testId:L().string.isRequired,legend:L().string};const hu=gu,fu=()=>{};function Eu(e){let{onExited:t,onCancel:s,onConfirm:a,onHide:n}=e;const{formatMessage:i}=(0,N.useIntl)(),[r,o]=(0,_.useState)(""),[l,d]=(0,_.useState)(""),[c,m]=(0,_.useState)(""),[u,p]=(0,_.useState)(""),[g,h]=(0,_.useState)(!1),f=Dm(),E={displayName:!r,defaultTeamId:!l,inviteCode:!c,password:!u},b=Object.values(E).every((e=>!e)),v=async()=>{h(!0);try{await a({display_name:r,default_team_id:l,invite:c,password:u}),h(!1),n()}catch(e){h(e)}},M=i({id:"admin.secure_connections.accept_invite.share_title",defaultMessage:"Accept a connection invite"}),y=i({id:"admin.secure_connections.accept_invite.confirm.done.button",defaultMessage:"Accept"});return T().createElement(ad.zW,{confirmButtonText:y,isConfirmDisabled:!b||Bm(g),handleCancel:null!=s?s:fu,handleConfirm:v,handleEnterKeyPress:v,modalHeaderText:M,onExited:t,compassDesign:!0,bodyOverflowVisible:!0,autoCloseOnConfirmButton:!1,errorText:Hm(g)&&T().createElement(N.FormattedMessage,{id:"admin.secure_connections.accept_invite.saving_changes_error",defaultMessage:"There was an error while accepting the invite."})},Bm(g)?T().createElement(At.A,null):T().createElement(T().Fragment,null,T().createElement(N.FormattedMessage,{id:"admin.secure_connections.accept_invite.prompt",defaultMessage:"Accept a secure connection from another server",tagName:Zm}),T().createElement(au,null,T().createElement(ln.A,{type:"text",name:"display-name",containerClassName:"secure-connections-modal-input",placeholder:i({id:"admin.secure_connections.accept_invite.organization_name",defaultMessage:"Organization name"}),value:r,onChange:e=>{o(e.target.value)},"data-testid":"display-name"}),T().createElement(N.FormattedMessage,{id:"admin.secure_connections.accept_invite.select_team",defaultMessage:"Please select the destination team where channels will be placed.",tagName:Zm}),T().createElement(hu,{testId:"destination-team-input",value:l,teamsById:f,onChange:d,legend:i({id:"admin.secure_connections.accept_invite.select_team.legend",defaultMessage:"Select a team"})}),T().createElement(N.FormattedMessage,{id:"admin.secure_connections.accept_invite.prompt_invite_password",defaultMessage:"Enter the encrypted invitation code shared to you by the admin of the server you are connecting with.",tagName:Zm}),T().createElement(ln.A,{type:"text",name:"invite-code",containerClassName:"secure-connections-modal-input",placeholder:i({id:"admin.secure_connections.accept_invite.invite_code",defaultMessage:"Encrypted invitation code"}),value:c,onChange:e=>{m(e.target.value)},"data-testid":"invite-code"}),T().createElement(ln.A,{type:"text",name:"password",containerClassName:"secure-connections-modal-input",placeholder:i({id:"admin.secure_connections.accept_invite.password",defaultMessage:"Password"}),value:u,onChange:e=>{p(e.target.value)},"data-testid":"password"}))))}Eu.propTypes={creating:L().bool,password:L().string,onConfirm:L().func.isRequired,onCancel:L().func,onExited:L().func.isRequired,onHide:L().func.isRequired};const bu=Eu;var vu=s(61293);const Mu=()=>{};function yu(e){let{creating:t,onExited:s,onCancel:a,onConfirm:n}=e;const{formatMessage:i}=(0,N.useIntl)(),[r,o]=(0,_.useState)(""),[l,d]=(0,_.useState)(""),[c,m]=(0,_.useState)(!1),{copiedRecently:u,onClick:p}=(0,vu.A)({text:r}),{copiedRecently:g,onClick:h}=(0,vu.A)({text:l});(0,_.useEffect)((()=>{E()}),[]);const f=Boolean(r&&l),E=async()=>{if(f)return;m(!0);const e=await n();if(m(!1),e){const{share:t}=e;o(t.invite),d(t.password)}};let b=i({id:"admin.secure_connections.create_invite.share_title",defaultMessage:"Invitation code"});t&&(b=i(f?{id:"admin.secure_connections.create_invite.create_title_done",defaultMessage:"Connection created"}:{id:"admin.secure_connections.create_invite.create_title",defaultMessage:"Create connection"}));const v=T().createElement(N.FormattedMessage,{id:"admin.secure_connections.create_invite.share.message",defaultMessage:"Please share the invitation code and password with the administrator of the server you want to connect with.",tagName:Zm}),M=i(f?{id:"admin.secure_connections.create_invite.confirm.done.button",defaultMessage:"Done"}:{id:"admin.secure_connections.create_invite.confirm.save.button",defaultMessage:"Save"}),y=f?T().createElement(nu,null,T().createElement(Tm.A,{title:i({id:"admin.secure_connections.create_invite.create_invite.notice.title",defaultMessage:"Share these two separately to avoid a security compromise"}),type:"warning"})):void 0;return T().createElement(ad.zW,{confirmButtonText:M,isConfirmDisabled:!f,handleCancel:null!=a?a:Mu,handleConfirm:E,handleEnterKeyPress:E,modalHeaderText:b,onExited:s,compassDesign:!0,autoCloseOnConfirmButton:f,backdrop:"static"},c?T().createElement(At.A,null):T().createElement(T().Fragment,null,v,y,T().createElement(au,{legend:f?i({id:"admin.secure_connections.create_invite.share.label",defaultMessage:"Share this code and password"}):void 0},r&&T().createElement(ln.A,{type:"text",name:"invite-code",containerClassName:"secure-connections-modal-input",placeholder:i({id:"admin.secure_connections.create_invite.share.invite_code",defaultMessage:"Encrypted invitation code"}),value:r,"data-testid":"invite-code",readOnly:!0,addon:T().createElement(iu,{onClick:p},u?Au:Su)}),T().createElement(ln.A,{type:"text",name:"password",containerClassName:"secure-connections-modal-input",placeholder:i({id:"admin.secure_connections.create_invite.share.password",defaultMessage:"Password"}),value:l,onChange:e=>{d(e.target.value)},"data-testid":"password",readOnly:f,addon:f?T().createElement(iu,{onClick:h},g?Au:Su):void 0}))))}yu.propTypes={creating:L().bool,onConfirm:L().func.isRequired,onCancel:L().func,onExited:L().func.isRequired};const Su=T().createElement(T().Fragment,null,T().createElement(w.ContentCopyIcon,{size:18}),T().createElement(N.FormattedMessage,vu.D.copy)),Au=T().createElement(T().Fragment,null,T().createElement(w.CheckIcon,{size:18}),T().createElement(N.FormattedMessage,vu.D.copied)),Cu=yu,_u=()=>{};function Tu(e){let{displayName:t,onExited:s,onCancel:a,onConfirm:n}=e;const{formatMessage:i}=(0,N.useIntl)(),r=i({id:"admin.secure_connections.confirm.delete.title",defaultMessage:"Delete secure connection"}),o=i({id:"admin.secure_connections.confirm.delete.button",defaultMessage:"Yes, delete"}),l=T().createElement(N.FormattedMessage,{id:"admin.secure_connections.confirm.delete.text",defaultMessage:"Are you sure you want to delete the secure connection <strong>{displayName}</strong>?",values:{strong:e=>T().createElement("strong",null,e),displayName:t}});return T().createElement(ad.zW,{confirmButtonText:o,handleCancel:null!=a?a:_u,handleConfirm:n,modalHeaderText:r,onExited:s,compassDesign:!0,isDeleteModal:!0},l)}Tu.propTypes={displayName:L().string.isRequired,onConfirm:L().func.isRequired,onCancel:L().func,onExited:L().func.isRequired};const Nu=Tu;var Ru=s(34005);const wu=["channel","size"];function Iu(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function Ou(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?Iu(Object(s),!0).forEach((function(t){Pu(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):Iu(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function Pu(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const ku=()=>{};function xu(e){let{onExited:t,onCancel:s,onConfirm:n,onHide:i,remoteId:r}=e;const{formatMessage:o}=(0,N.useIntl)(),l=(0,a.useDispatch)(),[d]=(e=>{const[t,s]=(0,_.useState)(),[a,n]=(0,_.useState)(!0),i=Bm(a),r=!i&&a,o=async()=>{n(!0);try{const t=await de.mT.getSharedChannelRemotes(e,{include_deleted:!0,include_unconfirmed:!0});s(null==t?void 0:t.reduce(((e,t)=>(e[t.channel_id]=t,e)),{})),n(!1)}catch(e){n(e)}};return(0,_.useEffect)((()=>{o()}),[e]),[t,{loading:i,error:r,fetch:o}]})(r),[c,m]=(0,_.useState)(""),[u,p]=(0,_.useState)([]),[g,h]=(0,_.useState)(),[f,E]=(0,_.useState)(!1),b=(0,_.useCallback)((e=>{h((t=>{if(t&&null!=e&&e.length)return e.reduce(((e,s)=>{let{id:a}=s;return t[a]?Ou(Ou({},e),{},{[a]:t[a]}):e}),{})})),p(null!=e?e:[]),E(!1)}),[]),v=ju((async(e,t)=>{if(!t)return[];const{data:s}=await l((0,nr.Q1)(t,{page:0,per_page:20,exclude_remote:!0,signal:e}));return s?s.channels.filter((e=>{let{id:t}=e;const s=null==d?void 0:d[t];return!(s&&0===s.delete_at||(s&&s.delete_at,0))})):[]}),[nr.Q1,d],{delay:Gu});return T().createElement(ad.zW,{modalHeaderText:T().createElement(N.FormattedMessage,{id:"admin.secure_connections.shared_channels.add.title",defaultMessage:"Select channels"}),confirmButtonText:f?T().createElement(N.FormattedMessage,{id:"admin.secure_connections.shared_channels.add.close.button",defaultMessage:"Close"}):T().createElement(N.FormattedMessage,{id:"admin.secure_connections.shared_channels.add.confirm.button",defaultMessage:"Share"}),handleCancel:null!=s?s:ku,handleConfirm:async()=>{if(f)return void i();const{errors:e}=await n(u);Object.keys(e).length?(h(e),E(!0)):i()},autoCloseOnConfirmButton:!1,onExited:t,compassDesign:!0,bodyPadding:!1,bodyOverflowVisible:!0,isConfirmDisabled:!u.length},T().createElement(Wm,null,T().createElement(N.FormattedMessage,{tagName:Zm,id:"admin.secure_connections.shared_channels.add.message",defaultMessage:"Please select a team and channels to share"}),T().createElement(Ru.A,{placeholder:T().createElement(N.FormattedMessage,{id:"admin.secure_connections.shared_channels.add.input_placeholder",defaultMessage:"e.g. {channel_name}",values:{channel_name:x.Ay.DEFAULT_CHANNEL_UI_NAME}}),ariaLabel:o({id:"admin.secure_connections.shared_channels.add.input_label",defaultMessage:"Search and add channels"}),channelsLoader:v,inputValue:c,onInputChange:m,value:u,onChange:b,autoFocus:!0,formatOptionLabel:e=>T().createElement(T().Fragment,null,T().createElement(Fu,{channel:e}),T().createElement(Hu,{className:"selected-hidden"},"~",e.name),T().createElement(Hu,{className:"selected-hidden"},e.team_display_name))}),g&&Object.entries(g).map((e=>{let[t,s]=e;return T().createElement(Du,{key:t,id:t,err:s})}))))}xu.propTypes={onConfirm:L().func.isRequired,onCancel:L().func,onExited:L().func.isRequired,remoteId:L().string.isRequired,onHide:L().func.isRequired};const Du=e=>{const t=(0,a.useSelector)((t=>(0,_i.c)(t,e.id))),s=t?T().createElement(Fu,{bold:!0,channel:t}):e.id;let n=T().createElement(N.FormattedMessage,{id:"admin.secure_connections.shared_channels.add.error.inviting_remote_to_channel",defaultMessage:"{channel} could not be added to this connection.",values:{channel:s}});return"api.command_share.channel_invite_not_home.error"===e.err.server_error_id&&(n=T().createElement(N.FormattedMessage,{id:"admin.secure_connections.shared_channels.add.error.channel_invite_not_home",defaultMessage:"{channel} could not be added to this connection because it originates from another connection.",values:{channel:s}})),T().createElement(Tm.A,{title:n,type:"danger"})},Lu=B().span.withConfig({displayName:"ChannelLabelWrapper"})(["text-overflow:ellipsis;white-space:nowrap;overflow:hidden;svg{vertical-align:middle;margin-left:6px;margin-right:10px;}.channels-input__multi-value__label &{font-weight:600;}"]),Fu=e=>{let{channel:t,bold:s}=e;const a=s?"strong":"span";return T().createElement(Lu,null,T().createElement(Bu,{channel:t,size:20,color:"rgba(var(--center-channel-color-rgb), 0.64)"}),T().createElement(a,null,null==t?void 0:t.display_name))},Bu=e=>{let{channel:t,size:s=16}=e,a=function(e,t){if(null==e)return{};var s,a,n=function(e,t){if(null==e)return{};var s={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;s[a]=e[a]}return s}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)s=i[a],t.includes(s)||{}.propertyIsEnumerable.call(e,s)&&(n[s]=e[s])}return n}(e,wu),n=w.GlobeIcon;return(null==t?void 0:t.type)===x.Ay.PRIVATE_CHANNEL&&(n=w.LockIcon),(0,Ui.Oj)(t)&&(n=w.ArchiveOutlineIcon),T().createElement(n,Object.assign({size:s},a))},Hu=B().span.withConfig({displayName:"SecondaryTextRight"})(["color:rgba(var(--center-channel-color-rgb),0.64);padding-left:5px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;&:last-child{margin-left:auto;}"]),Uu=xu,Gu=250,ju=(e,t,s)=>{const a=(0,_.useRef)(),n=(0,_.useCallback)((()=>(a.current={controller:new AbortController},a.current)),[]),i=(0,_.useCallback)((()=>{if(!a.current)return;const{controller:e,handler:t}=a.current;e.abort(new DOMException("stale request")),t&&clearTimeout(t),a.current=void 0}),[]);return(0,_.useEffect)((()=>i),[i]),(0,_.useCallback)((async function(){for(var t=arguments.length,a=new Array(t),r=0;r<t;r++)a[r]=arguments[r];i();const o=n();return new Promise(((t,n)=>{o.handler=setTimeout((async()=>{e(o.controller.signal,...a).then(t,n)}),(null==s?void 0:s.delay)||Gu)}))}),[n,i,...t])},qu=()=>{};function Wu(e){let{onExited:t,onCancel:s,onConfirm:a}=e;return T().createElement(ad.zW,{modalHeaderText:T().createElement(N.FormattedMessage,{id:"admin.secure_connections.shared_channels.confirm.remove.title",defaultMessage:"Remove channel"}),handleCancel:null!=s?s:qu,handleConfirm:()=>{a()},confirmButtonText:T().createElement(N.FormattedMessage,{id:"admin.secure_connections.shared_channels.confirm.remove.button",defaultMessage:"Remove"}),onExited:t,compassDesign:!0,isDeleteModal:!0,bodyPadding:!1},T().createElement(Wm,null,T().createElement(N.FormattedMessage,{tagName:Zm,id:"admin.secure_connections.shared_channels.confirm.remove.message",defaultMessage:"The channel will be removed from this connection and will no longer be shared with it."})))}Wu.propTypes={onConfirm:L().func.isRequired,onCancel:L().func,onExited:L().func.isRequired};const Vu=Wu;function zu(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function Yu(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?zu(Object(s),!0).forEach((function(t){Zu(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):zu(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function Zu(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function Ju(e){const{remoteCluster:t}=e,s="".concat(t.remote_id,"-title");return T().createElement(Xu,{to:Lm(t),"aria-labelledby":s},T().createElement($u,{id:s},t.display_name),T().createElement(ep,null,T().createElement(ou,{rc:t}),T().createElement(Ku,e)))}Ju.propTypes={onDeleteSuccess:L().func.isRequired,disabled:L().bool.isRequired};const Qu="secure_connection_row_menu",Ku=e=>{let{remoteCluster:t,onDeleteSuccess:s,disabled:n}=e;const{formatMessage:i}=(0,N.useIntl)(),r=(0,R.useHistory)(),{promptDelete:o}=(e=>{const t=(0,a.useDispatch)();return{promptDelete:()=>new Promise(((s,a)=>{t((0,ea.q)({modalId:x.IQ.SECURE_CONNECTION_DELETE,dialogType:Nu,dialogProps:{displayName:e.display_name,onConfirm:()=>de.mT.deleteRemoteCluster(e.remote_id).then(s,a)}}))}))}})(t),{promptCreateInvite:l}=(e=>{const t=(0,a.useDispatch)(),[s,n]=(0,_.useState)(!1);return{promptCreateInvite:()=>new Promise(((s,a)=>{t((0,ea.q)({modalId:x.IQ.SECURE_CONNECTION_CREATE_INVITE,dialogType:Cu,dialogProps:{onConfirm:async()=>{try{const t=Array.from(window.crypto.getRandomValues(new Uint32Array(16))).map((e=>"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz~_!@-#$^"[e%70])).join("");n(!0);const a=await de.mT.generateInviteRemoteCluster(e.remote_id,{password:t});return n(!1),s(e),{remoteCluster:e,share:{invite:a,password:t}}}catch(e){a(e)}n(!1)}}}))})),saving:s}})(t);return T().createElement(_m.mc,{menuButton:{id:"".concat(Qu,"-button-").concat(t.remote_id),class:re()("btn btn-tertiary btn-sm connection-row-menu-button",{disabled:n}),disabled:n,children:!n&&T().createElement(w.DotsHorizontalIcon,{size:16}),"aria-label":i({id:"admin.secure_connection_row.menu-button.aria_label",defaultMessage:"Connection options for {connection}"},{connection:t.display_name})},menu:{id:Qu,"aria-label":i({id:"admin.secure_connection_row.menu.aria_label",defaultMessage:"secure connection row menu"})}},!Fm(t)&&T().createElement(_m.q7,{id:"".concat(Qu,"-generate_invite"),leadingElement:T().createElement(w.CodeTagsIcon,{size:18}),labels:T().createElement(N.FormattedMessage,{id:"admin.secure_connection_row.menu.share",defaultMessage:"Generate invitation code"}),onClick:()=>{l()}}),T().createElement(_m.q7,{id:"".concat(Qu,"-edit"),leadingElement:T().createElement(w.PencilOutlineIcon,{size:18}),labels:T().createElement(N.FormattedMessage,{id:"admin.secure_connection_row.menu.edit",defaultMessage:"Edit"}),onClick:()=>{r.push(Lm(t))}}),T().createElement(_m.q7,{id:"".concat(Qu,"-delete"),isDestructive:!0,leadingElement:T().createElement(w.TrashCanOutlineIcon,{size:18}),labels:T().createElement(N.FormattedMessage,{id:"admin.secure_connection_row.menu.delete",defaultMessage:"Delete"}),onClick:()=>{o().then(s)}}))};Ku.propTypes={onDeleteSuccess:L().func.isRequired,disabled:L().bool.isRequired};const Xu=B()(R.Link).attrs({className:"secure-connection"}).withConfig({displayName:"RowLink"})(["display:flex;justify-content:space-between;align-items:center;padding:20px 35px;border-bottom:1px solid var(--center-channel-color-12,rgba(63,67,80,0.12));color:var(--center-channel-color);&:hover{text-decoration:none;color:var(--center-channel-color);}&:last-child{border-bottom:0;}.connection-row-menu-button{padding:0px 8px;}"]),$u=B().strong.withConfig({displayName:"Title"})(["font-size:14px;"]),ep=B().div.withConfig({displayName:"Detail"})(["display:flex;gap:20px;align-items:center;"]),tp=e=>T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},e.children)),sp=e=>{let{disabled:t,serviceNotRunning:s}=e;return T().createElement(qm,null,s&&T().createElement(Tm.A,{type:"danger",title:T().createElement(N.FormattedMessage,ip.serviceNotRunning)}),T().createElement(Jm,null,T().createElement(Nm,null),T().createElement("hgroup",null,T().createElement(N.FormattedMessage,Object.assign({tagName:zm},ip.placeholderTitle)),T().createElement(N.FormattedMessage,Object.assign({tagName:"p"},ip.placeholderSubtitle))),T().createElement(np,{buttonClassNames:"btn-tertiary",disabled:t})))},ap="secure_connections_add_menu",np=e=>{let{buttonClassNames:t,disabled:s}=e;const{formatMessage:n}=(0,N.useIntl)(),i=(0,R.useHistory)(),{promptAcceptInvite:r}=(()=>{const e=(0,a.useDispatch)(),[t,s]=(0,_.useState)(!1);return{promptAcceptInvite:()=>new Promise(((t,a)=>{e((0,ea.q)({modalId:x.IQ.SECURE_CONNECTION_ACCEPT_INVITE,dialogType:bu,dialogProps:{onConfirm:async e=>{try{s(!0);const a=await de.mT.acceptInviteRemoteCluster(Yu(Yu({},e),{},{name:(0,Ts.aM)(e.display_name)}));return s(!1),t(a),a}catch(e){throw a(e),s(e),e}}}}))})),saving:t}})();return T().createElement(_m.mc,{menuButton:{id:"".concat(ap,"-button"),class:re()("btn",null!=t?t:"btn-primary btn-sm",{disabled:s}),disabled:s,children:T().createElement(T().Fragment,null,T().createElement(N.FormattedMessage,ip.addConnection),!s&&T().createElement("i",{"aria-hidden":"true",className:"icon icon-chevron-down"}))},menu:{id:ap,"aria-label":n(ip.menuAriaLabel)}},T().createElement(_m.q7,{id:"".concat(ap,"-add_connection"),labels:T().createElement(N.FormattedMessage,ip.createConnection),onClick:()=>{i.push({pathname:"/admin_console/site_config/secure_connections/create"})}}),T().createElement(_m.q7,{id:"".concat(ap,"-accept_invitation"),labels:T().createElement(N.FormattedMessage,ip.acceptInvitation),onClick:async()=>{const e=await r();e&&i.push(Lm(e))}}))},ip=(0,N.defineMessages)({pageTitle:{id:"admin.sidebar.secureConnections",defaultMessage:"Connected Workspaces (Beta)"},title:{id:"admin.secure_connections.title",defaultMessage:"Connected Workspaces"},subtitle:{id:"admin.secure_connections.subtitle",defaultMessage:"Connected workspaces with this server"},placeholderTitle:{id:"admin.secure_connections.placeholder.title",defaultMessage:"Share channels"},placeholderSubtitle:{id:"admin.secure_connections.placeholder.subtitle",defaultMessage:"Connecting with an external workspace allows you to share channels with them"},addConnection:{id:"admin.secure_connections.menu.add_connection",defaultMessage:"Add a connection"},menuAriaLabel:{id:"admin.secure_connections.menu.dropdownAriaLabel",defaultMessage:"Connected workspaces actions menu"},createConnection:{id:"admin.secure_connections.menu.create_connection",defaultMessage:"Create a connection"},acceptInvitation:{id:"admin.secure_connections.menu.accept_invitation",defaultMessage:"Accept an invitation"},serviceNotRunning:{id:"admin.secure_connections.serviceNotRunning",defaultMessage:"Service not running, please restart server."}}),rp=Object.values(ip);var op=s(16666),lp=s(67796);const dp=function(){return T().createElement("svg",{width:"106",height:"96",viewBox:"0 0 106 96",fill:"none",xmlns:"http://www.w3.org/2000/svg"},T().createElement("g",{clipPath:"url(#clip0_2795_18729)"},T().createElement("path",{d:"M53.3987 14.3074H96.044C97.3213 14.2983 98.5878 14.5437 99.7708 15.0297C100.954 15.5156 102.03 16.2324 102.938 17.139C103.846 18.0455 104.567 19.124 105.06 20.3125C105.554 21.501 105.81 22.7762 105.814 24.0648V68.6825C105.809 69.9703 105.552 71.2443 105.058 72.4317C104.564 73.6191 103.842 74.6964 102.934 75.6019C102.027 76.5074 100.951 77.2234 99.7686 77.7087C98.5862 78.194 97.3205 78.4391 96.044 78.43H85.7857V95.1851L70.3787 78.43H53.3987C52.1223 78.4391 50.8565 78.194 49.6742 77.7087C48.4918 77.2234 47.4159 76.5074 46.5083 75.6019C45.6007 74.6964 44.8792 73.6191 44.3851 72.4317C43.891 71.2443 43.634 69.9703 43.6289 68.6825V24.0648C43.6327 22.7762 43.8888 21.501 44.3823 20.3125C44.8758 19.124 45.5972 18.0455 46.5049 17.139C47.4126 16.2324 48.4889 15.5156 49.6719 15.0297C50.8549 14.5437 52.1214 14.2983 53.3987 14.3074Z",fill:"#1E325C"}),T().createElement("path",{d:"M79.4755 0.893798H9.91436C8.63706 0.884709 7.37058 1.13017 6.18755 1.61609C5.00453 2.10201 3.92826 2.81882 3.02053 3.72539C2.1128 4.63196 1.39147 5.71046 0.89793 6.89897C0.404391 8.08747 0.148358 9.36258 0.144531 10.6512V55.2295C0.149641 56.5173 0.40662 57.7913 0.900733 58.9787C1.39485 60.1661 2.11639 61.2434 3.02399 62.1489C3.93159 63.0544 5.0074 63.7704 6.18979 64.2557C7.37218 64.741 8.63788 64.9861 9.91436 64.977H20.1825V81.7321L35.5895 64.977H79.4755C80.752 64.9861 82.0177 64.741 83.2001 64.2557C84.3824 63.7704 85.4583 63.0544 86.3659 62.1489C87.2735 61.2434 87.995 60.1661 88.4891 58.9787C88.9833 57.7913 89.2402 56.5173 89.2453 55.2295V10.6512C89.2415 9.36258 88.9855 8.08747 88.4919 6.89897C87.9984 5.71046 87.2771 4.63196 86.3693 3.72539C85.4616 2.81882 84.3853 2.10201 83.2023 1.61609C82.0193 1.13017 80.7528 0.884709 79.4755 0.893798Z",fill:"#FFBC1F"}),T().createElement("path",{d:"M20.9636 26.5684C22.2031 26.5664 23.4152 26.9355 24.4465 27.629C25.4779 28.3224 26.2821 29.309 26.7573 30.4638C27.2325 31.6186 27.3573 32.8897 27.116 34.1161C26.8746 35.3425 26.278 36.4691 25.4016 37.3533C24.5252 38.2374 23.4085 38.8393 22.1928 39.0828C20.977 39.3262 19.717 39.2003 18.5723 38.7209C17.4276 38.2415 16.4497 37.4302 15.7623 36.3898C15.0749 35.3493 14.709 34.1265 14.7109 32.8762C14.7135 31.2041 15.3731 29.6011 16.5452 28.4188C17.7172 27.2364 19.3061 26.571 20.9636 26.5684Z",fill:"white"}),T().createElement("path",{d:"M44.7136 26.5684C45.9531 26.5664 47.1652 26.9355 48.1965 27.629C49.2279 28.3224 50.0321 29.309 50.5073 30.4638C50.9825 31.6186 51.1073 32.8897 50.866 34.1161C50.6247 35.3425 50.028 36.4691 49.1516 37.3533C48.2752 38.2374 47.1585 38.8393 45.9428 39.0828C44.727 39.3262 43.467 39.2003 42.3223 38.7209C41.1776 38.2415 40.1997 37.4302 39.5123 36.3898C38.8249 35.3493 38.459 34.1265 38.4609 32.8762C38.4635 31.2041 39.1231 29.6011 40.2952 28.4188C41.4672 27.2364 43.0561 26.571 44.7136 26.5684Z",fill:"white"}),T().createElement("path",{d:"M68.4636 26.5684C69.703 26.5664 70.9152 26.9355 71.9465 27.629C72.9779 28.3224 73.7821 29.309 74.2573 30.4638C74.7325 31.6186 74.8573 32.8897 74.616 34.1161C74.3747 35.3425 73.778 36.4691 72.9016 37.3533C72.0252 38.2374 70.9085 38.8393 69.6928 39.0828C68.477 39.3262 67.2171 39.2003 66.0724 38.7209C64.9276 38.2415 63.9497 37.4302 63.2623 36.3898C62.5749 35.3493 62.209 34.1265 62.2109 32.8762C62.2135 31.2041 62.8731 29.6011 64.0452 28.4188C65.2172 27.2364 66.8061 26.571 68.4636 26.5684Z",fill:"white"})),T().createElement("defs",null,T().createElement("clipPath",{id:"clip0_2795_18729"},T().createElement("rect",{width:"105.553",height:"94.2128",fill:"white",transform:"translate(0.222656 0.893555)"}))))};function cp(e){const{formatMessage:t}=(0,N.useIntl)();return T().createElement("div",{className:"paginationButtons"},e.onPreviousPageClick&&T().createElement("button",{className:"btn btn-icon btn-sm",disabled:e.disablePrevPage||e.isLoading,onClick:e.onPreviousPageClick,"aria-label":t({id:"adminConsole.list.table.pagination.previous",defaultMessage:"Go to previous page"})},T().createElement("i",{className:"icon icon-chevron-left","aria-hidden":"true"})),e.onNextPageClick&&T().createElement("button",{className:"btn btn-icon btn-sm",disabled:e.disableNextPage||e.isLoading,onClick:e.onNextPageClick,"aria-label":t({id:"adminConsole.list.table.pagination.next",defaultMessage:"Go to next page"})},T().createElement("i",{className:"icon icon-chevron-right","aria-hidden":"true"})))}cp.propTypes={isLoading:L().bool};const mp="sortable",up="pinned",pp=[10,20,50,100],gp=(0,N.defineMessages)({10:{id:"adminConsole.list.table.rowsCount.10",defaultMessage:"10"},20:{id:"adminConsole.list.table.rowsCount.20",defaultMessage:"20"},50:{id:"adminConsole.list.table.rowsCount.50",defaultMessage:"50"},100:{id:"adminConsole.list.table.rowsCount.100",defaultMessage:"100"}});let hp=function(e){return e.Loading="loading",e.Loaded="loaded",e.Failed="failed",e}({});function fp(e){const{formatMessage:t}=(0,N.useIntl)(),s=e.table.options.meta,a="".concat(s.tableId,"-header-"),n="".concat(s.tableId,"-row-"),i="".concat(s.tableId,"-cell-"),r=!s.disablePaginationControls,o=(0,_.useMemo)((()=>pp.map((e=>({label:t(gp[e]),value:e})))),[]),l=o.find((t=>t.value===e.table.getState().pagination.pageSize))||o[0];function d(e){const{currentTarget:{id:t=""}}=e,a=t.replace(n,"");s.onRowClick&&a.length>0&&(e.preventDefault(),s.onRowClick(a))}const c=e.table.getAllColumns().length,m=e.table.getRowModel().rows.length;return T().createElement("div",{className:"adminConsoleListTableContainer"},r&&T().createElement("div",{className:"adminConsoleListTabletOptionalHead"},s.hasDualSidedPagination&&T().createElement(T().Fragment,null,s.paginationInfo,T().createElement(cp,{disablePrevPage:s.disablePrevPage,disableNextPage:s.disableNextPage,isLoading:s.loadingState===hp.Loading,onPreviousPageClick:s.onPreviousPageClick,onNextPageClick:s.onNextPageClick}))),T().createElement("table",{id:s.tableId,"aria-colcount":c,"aria-describedby":"".concat(s.tableId,"-headerId"),className:re()("adminConsoleListTable",s.tableId)},T().createElement("caption",{className:"sr-only"},s.tableCaption),T().createElement("thead",null,e.table.getHeaderGroups().map((e=>T().createElement("tr",{key:e.id},e.headers.map((e=>T().createElement("th",{key:e.id,id:"".concat(a).concat(e.id),colSpan:e.colSpan,scope:"col","aria-sort":bp(e.column.getCanSort(),e.column.getIsSorted()),className:re()("".concat(e.id),{[mp]:e.column.getCanSort(),[up]:e.column.getCanPin()}),disabled:e.column.getCanSort()&&s.loadingState===hp.Loading,onClick:e.column.getToggleSortingHandler()},e.isPlaceholder?null:(0,lp.Kv)(e.column.columnDef.header,e.getContext()),"asc"===e.column.getIsSorted()&&T().createElement("span",{"aria-hidden":"true",className:"icon icon-arrow-up"}),"desc"===e.column.getIsSorted()&&T().createElement("span",{"aria-hidden":"true",className:"icon icon-arrow-down"}),e.column.getCanSort()&&"asc"!==e.column.getIsSorted()&&"desc"!==e.column.getIsSorted()&&T().createElement("span",{"aria-hidden":"true",className:"icon icon-arrow-up hoverSortingIcon"})))))))),T().createElement("tbody",null,e.table.getRowModel().rows.map((e=>T().createElement("tr",{id:"".concat(n).concat(e.original.id),key:e.id,onClick:d},e.getVisibleCells().map((e=>T().createElement("td",{key:e.id,id:"".concat(i).concat(e.id),headers:"".concat(a).concat(e.column.id),className:re()("".concat(e.column.id),{[up]:e.column.getCanPin()})},e.getIsPlaceholder()?null:(0,lp.Kv)(e.column.columnDef.cell,e.getContext()))))))),s.loadingState===hp.Loading&&0===m&&T().createElement("tr",null,T().createElement("td",{colSpan:c,className:"noRows",disabled:!0},T().createElement($s.A,{text:t({id:"adminConsole.list.table.genericLoading",defaultMessage:"Loading"})}))),s.loadingState===hp.Loaded&&0===m&&T().createElement("tr",null,T().createElement("td",{colSpan:c,className:"noRows",disabled:!0},s.emptyDataMessage||t({id:"adminConsole.list.table.genericNoData",defaultMessage:"No data"}))),s.loadingState===hp.Failed&&T().createElement("tr",null,T().createElement("td",{colSpan:c,className:"noRows",disabled:!0},t({id:"adminConsole.list.table.genericError",defaultMessage:"There was an error loading the data, please try again"})))),T().createElement("tfoot",null,e.table.getFooterGroups().map((e=>T().createElement("tr",{key:e.id},e.headers.map((e=>T().createElement("th",{key:e.id,colSpan:e.colSpan,className:re()({[up]:e.column.getCanPin()})},e.isPlaceholder?null:(0,lp.Kv)(e.column.columnDef.footer,e.getContext()))))))))),r&&T().createElement("div",{className:"adminConsoleListTabletOptionalFoot"},s.paginationInfo,T().createElement("div",{className:"adminConsoleListTablePageSize","aria-label":t({id:"adminConsole.list.table.rowCount.label",defaultMessage:"Show {count} rows per page"},{count:l.label})},T().createElement(N.FormattedMessage,{id:"adminConsole.list.table.rowsCount.(show)rowsPerPage",defaultMessage:"Show"}),T().createElement(Me.Ay,{className:"react-select",classNamePrefix:"react-select",autoFocus:!1,isClearable:!1,isMulti:!1,isSearchable:!1,menuPlacement:"top",options:o,value:l,onChange:function(t){const{value:s}=t;e.table.setPageSize(Number(s))},isDisabled:s.loadingState===hp.Loading,components:{IndicatorSeparator:null,IndicatorsContainer:Ep}}),T().createElement(N.FormattedMessage,{id:"adminConsole.list.table.rowsCount.show(rowsPerPage)",defaultMessage:"rows per page"})),T().createElement(cp,{disablePrevPage:s.disablePrevPage,disableNextPage:s.disableNextPage,isLoading:s.loadingState===hp.Loading,onPreviousPageClick:s.onPreviousPageClick,onNextPageClick:s.onNextPageClick})))}function Ep(e){return T().createElement(br.H.IndicatorsContainer,e,T().createElement("i",{className:"icon icon-chevron-down"}))}function bp(e,t){if(e)return"asc"===t?"ascending":"desc"===t?"descending":"none"}function vp(e){const{formatMessage:t}=(0,N.useIntl)(),s=ha()().startOf("day").valueOf(),{elapsedDays:a,exactPassedInDate:n}=(0,_.useMemo)((()=>{const s=ha()().startOf("day"),a=ha()(e.date),n=a.format("MMMM DD, Y [".concat(t({id:"adminConsole.list.table.exactTime.at",defaultMessage:"at"}),"] hh:mm:ss A")),i=a.startOf("day");return{elapsedDays:s.diff(i,"days"),exactPassedInDate:n}}),[e.date,s]);if(!e.date)return null;let i=null;return i=a<1?T().createElement(N.FormattedMessage,{id:"admin.system_users.list.memberSince.today",defaultMessage:"Today"}):1===a?T().createElement(N.FormattedMessage,{id:"admin.system_users.list.memberSince.yesterday",defaultMessage:"Yesterday"}):T().createElement(N.FormattedMessage,{id:"admin.system_users.list.memberSince.days",defaultMessage:"{days} days",values:{days:a}}),T().createElement(tt.A,{title:n},T().createElement("span",null,i))}vp.propTypes={date:L().number};const Mp=["state"];function yp(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function Sp(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?yp(Object(s),!0).forEach((function(t){Ap(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):yp(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function Ap(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function Cp(e){var t,s;const{formatMessage:n}=(0,N.useIntl)(),{connection_id:i}=(0,R.useParams)(),r="create"===i,o=(0,R.useLocation)(),{state:l}=o,d=function(e,t){if(null==e)return{};var s,a,n=function(e,t){if(null==e)return{};var s={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;s[a]=e[a]}return s}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)s=i[a],t.includes(s)||{}.propertyIsEnumerable.call(e,s)&&(n[s]=e[s])}return n}(o,Mp),c=(0,R.useHistory)(),m=(0,a.useDispatch)(),[u,{applyPatch:p,save:g,currentRemoteCluster:f,hasChanges:E,loading:b,saving:v,patch:M}]=((e,t)=>{const s="create"!==e,[a,n]=(0,_.useState)(t),[i,r]=(0,_.useState)({}),[o,l]=(0,_.useState)(s&&!a),[d,c]=(0,_.useState)(!1),m=Object.keys(i).length>0;return(0,_.useEffect)((()=>{s&&(async()=>{try{const t=await de.mT.getRemoteCluster(e);n(t),l(!1),r({})}catch(e){c(e)}})()}),[e]),[Pm(Pm({},a),i),{applyPatch:e=>{r((t=>Pm(Pm({},t),e)))},save:async()=>{if(a&&(0,Im.U)(i)){c(!0);try{const t=await de.mT.patchRemoteCluster(e,i);n(t),c(!1),r({})}catch(e){c(e)}c(!1)}},hasChanges:m,loading:o,saving:d,currentRemoteCluster:a,patch:i}]})(i,l),y=(0,Im.U)(M)&&(!r||Boolean(M.display_name&&M.default_team_id)),{promptCreate:S,saving:A}=(()=>{const e=(0,a.useDispatch)(),[t,s]=(0,_.useState)(!1);return{promptCreate:t=>new Promise(((a,n)=>{e((0,ea.q)({modalId:x.IQ.SECURE_CONNECTION_CREATE_INVITE,dialogType:Cu,dialogProps:{creating:!0,onConfirm:async()=>{try{s(!0);const e=await de.mT.createRemoteCluster(Yu(Yu({},t),{},{name:(0,Ts.aM)(t.display_name)}));if(s(!1),e){const{invite:t,password:s,remote_cluster:n}=e;return a(n),{remoteCluster:n,share:{invite:t,password:s}}}}catch(e){n(e)}s(!1)}}}))})),saving:t}})(),C=Dm();return(0,_.useEffect)((()=>{c.replace(Sp(Sp({},d),{},{state:f}))}),[f]),(0,_.useEffect)((()=>{m((0,h.Jb)(E))}),[E]),T().createElement("div",{className:"wrapper--fixed","data-testid":"connectedOrganizationDetailsSection"},T().createElement(et,{withBackButton:!0},T().createElement("div",null,T().createElement(ka.A,{to:"/admin_console/site_config/secure_connections",className:"fa fa-angle-left back"}),T().createElement(N.FormattedMessage,{id:"admin.secure_connection_detail.page_title",defaultMessage:"Connection Configuration"}))),T().createElement(Qm,null,T().createElement(Vm,{"data-testid":"connection_detail_section"},T().createElement(jm,null,T().createElement("hgroup",null,T().createElement(N.FormattedMessage,{tagName:Um,id:"admin.secure_connections.details.title",defaultMessage:"Connection Details"}),T().createElement(N.FormattedMessage,{id:"admin.secure_connections.details.subtitle",defaultMessage:"Connection name and other permissions"})),f&&T().createElement(ou,{rc:f})),T().createElement(qm,{$compact:!0},Bm(b)?T().createElement(At.A,null):T().createElement(T().Fragment,null,T().createElement(eu,{label:n({id:"admin.secure_connections.details.org_name.label",defaultMessage:"Organization Name"}),helpText:n({id:"admin.secure_connections.details.org_name.help",defaultMessage:"Giving the connection a recognizable name will help you remember its purpose."})},T().createElement($m,{type:"text","data-testid":"organization-name-input",value:null!==(t=null==u?void 0:u.display_name)&&void 0!==t?t:"",onChange:e=>{let{currentTarget:{value:t}}=e;p({display_name:t})},autoFocus:r})),T().createElement(eu,{label:n({id:"admin.secure_connections.details.team.label",defaultMessage:"Destination Team"}),helpText:n({id:"admin.secure_connections.details.team.help",defaultMessage:"Select the default team in which any shared channels will be placed. This can be updated later for specific shared channels."})},T().createElement(hu,{testId:"destination-team-input",value:null!==(s=u.default_team_id)&&void 0!==s?s:"",teamsById:C,onChange:e=>{p({default_team_id:e})}}))))),!r&&T().createElement(Vm,{"data-testid":"shared_channels_section"},T().createElement(_p,{remoteId:i,rc:f}))),T().createElement(tl,{saving:Bm(r?A:v),cancelLink:"/admin_console/site_config/secure_connections",saveNeeded:E&&y,onClick:r?async()=>{if(!y)return;const e=await S(M);e&&c.replace(Lm(e))}:g,serverError:Hm(v)||Hm(A)?T().createElement(N.FormattedMessage,{id:"admin.secure_connections.details.saving_changes_error",defaultMessage:"There was an error while saving secure connection"}):void 0,savingMessage:n({id:"admin.secure_connections.details.saving_changes",defaultMessage:"Saving secure connection…"}),isDisabled:e.disabled}))}function _p(e){var t;const[s,n]=(0,_.useState)(),[i,{loading:r,fetch:o}]=((e,t)=>{const[s,n]=(0,_.useState)(),[i,r]=(0,_.useState)(!0),o=(0,a.useDispatch)(),l=Bm(i),d=!l&&i,c=(0,_.useCallback)((async()=>{void 0!==t.filter&&(r(!0),o((async(s,a)=>{const i={},o=[];try{const c=await de.mT.getSharedChannelRemotes(e,{include_unconfirmed:!0,exclude_remote:"home"===t.filter,exclude_home:"remote"===t.filter});let m=a(),u=async e=>{const t=await de.mT.getAllTeamsChannels();return s({type:Zd.rb.RECEIVED_ALL_CHANNELS,data:t}),m=a(),u=void 0,(0,_i.c)(m,e.channel_id)};for(const e of c){var l,d;const t=null!==(l=(0,_i.c)(m,e.channel_id))&&void 0!==l?l:await(null===(d=u)||void 0===d?void 0:d(e));if(!t){null==o||o.push(e);continue}const s=(0,p.Uo)(m,t.team_id);i[e.id]=xm(e,t,s)}if(o.length){await Promise.allSettled(o.map((e=>s((0,nr.c)(e.channel_id))))),m=a();for(const e of o){const t=(0,_i.c)(m,e.channel_id);if(!t)continue;const s=(0,p.Uo)(m,t.team_id);i[e.id]=xm(e,t,s)}}const g=Object.values(i);n(g.length?g:void 0),r(!1)}catch(e){return r(e),{error:e}}return{data:i}})))}),[e,t.filter]);return(0,_.useEffect)((()=>{c()}),[e,t.filter]),[s,{loading:l,error:d,fetch:c}]})(e.remoteId,{filter:s}),{promptAdd:l}=(e=>{const t=(0,a.useDispatch)();return{promptAdd:()=>new Promise((s=>{t((0,ea.q)({modalId:x.IQ.SHARED_CHANNEL_REMOTE_INVITE,dialogType:Uu,dialogProps:{remoteId:e,onConfirm:async t=>{const a={data:{},errors:{}},{data:n,errors:i}=a,r=t.map((t=>{let{id:s}=t;return de.mT.sharedChannelRemoteInvite(e,s)}));return(await Promise.allSettled(r)).forEach(((e,s)=>{"rejected"===e.status&&e.reason.server_error_id?i[t[s].id]=e.reason:"fulfilled"===e.status&&(n[t[s].id]=e)})),s(a),a}}}))}))}})(e.remoteId),d=e.rc?Fm(e.rc):void 0,c=!!d||!(!1===d&&"home"===s&&!i);(0,_.useEffect)((()=>{d?n("remote"):!1===d&&n("home")}),[d]);const m=(0,_.useCallback)((e=>{n(e)}),[]);let u;return u=r||!e.rc?T().createElement(At.A,null):i?T().createElement(kp,{data:i,filter:null!=s?s:"home",fetch:o}):T().createElement(Tp,{filter:null!=s?s:"home",rc:e.rc}),T().createElement(T().Fragment,null,T().createElement(jm,{$borderless:!0},T().createElement("hgroup",null,T().createElement(N.FormattedMessage,{tagName:Um,id:"admin.secure_connections.details.shared_channels.title",defaultMessage:"Shared Channels"}),T().createElement(N.FormattedMessage,{id:"admin.secure_connections.details.shared_channels.subtitle",defaultMessage:"A list of all the channels shared with your organization and channels you're sharing externally."})),T().createElement(Np,{onClick:async()=>{await l(),setTimeout((()=>{"remote"===s?n("home"):o()}),500)}},T().createElement(w.PlusIcon,{size:18}),T().createElement(N.FormattedMessage,{id:"admin.secure_connections.details.shared_channels.add_channels.button",defaultMessage:"Add channels"}))),T().createElement(Rp,null,c&&T().createElement(ta.Tabs,{id:"shared-channels",className:"tabs",defaultActiveKey:"remote",activeKey:s,onSelect:m,unmountOnExit:!0},T().createElement(ta.Tab,{eventKey:"remote",title:null===(t=e.rc)||void 0===t?void 0:t.display_name}),T().createElement(ta.Tab,{eventKey:"home",title:T().createElement(N.FormattedMessage,{id:"admin.secure_connections.details.shared_channels.tabs.home",defaultMessage:"Your channels"})})),T().createElement(qm,{$compact:Boolean(i)},u)))}Cp.propTypes={disabled:L().bool.isRequired};const Tp=e=>T().createElement(Jm,null,T().createElement(dp,null),T().createElement("hgroup",null,"home"===e.filter?T().createElement(T().Fragment,null,T().createElement(N.FormattedMessage,{tagName:zm,id:"admin.secure_connection_detail.shared_channels.placeholder.title_home",defaultMessage:"You haven't shared any channels"}),T().createElement(N.FormattedMessage,{tagName:Ym,id:"admin.secure_connection_detail.shared_channels.placeholder.subtitle",defaultMessage:"Please add channels to start sharing"})):T().createElement(N.FormattedMessage,{tagName:zm,id:"admin.secure_connection_detail.shared_channels.placeholder.title_remote",defaultMessage:"{remote} hasn't shared any channels",values:{remote:e.rc.display_name}}))),Np=B().button.attrs({className:"btn btn-primary"}).withConfig({displayName:"AddChannelsButton"})(["padding-left:15px;"]),Rp=B().div.withConfig({displayName:"TabsWrapper"})([".tabs{display:flex;width:100%;flex-direction:column;.nav-tabs{border-bottom:1px solid var(--center-channel-color-12,rgba(63,67,80,0.12));}}.nav-tabs{padding:0 32px;margin:0 0 8px;li{margin-right:0;a{padding:13px 12px;border:none;background:transparent;color:rgba(var(--center-channel-color-rgb),0.75);font-size:14px;font-weight:600;line-height:20px;transition:all 0.15s ease;&:hover,&:active,&:focus,&:focus-within{border:none;border-radius:none;background:transparent;color:var(--center-channel-color);}}&.active{border-bottom:2px solid var(--denim-button-bg);a{color:var(--denim-button-bg);}}&:not(:first-child){margin-left:8px;}}}"]),wp=e=>{let{channelId:t}=e;const s=(0,a.useSelector)((e=>(0,_i.c)(e,t)));let n=T().createElement(w.GlobeIcon,{size:16});return(null==s?void 0:s.type)===x.Ay.PRIVATE_CHANNEL&&(n=T().createElement(w.LockIcon,{size:16})),(0,Ui.Oj)(s)&&(n=T().createElement(w.ArchiveOutlineIcon,{size:16})),T().createElement(Ip,null,n)},Ip=B().span.withConfig({displayName:"ChannelIconWrapper"})(["vertical-align:middle;margin-right:5px;"]),Op=B().span.withConfig({displayName:"ChannelName"})(["font-size:14px;font-weight:600;line-height:20px;"]),Pp=B().span.withConfig({displayName:"TeamName"})(["font-size:14px;font-weight:400;line-height:20px;color:rgba(var(--center-channel-color-rgb),0.72);"]);function kp(e){const t=(0,op.FB)(),s=(0,_.useMemo)((()=>[t.accessor("display_name",{header:()=>T().createElement(N.FormattedMessage,{id:"admin.secure_connection_detail.shared_channels.table.name",defaultMessage:"Name"}),cell:e=>{let{row:t,getValue:s}=e;return T().createElement(T().Fragment,null,T().createElement(wp,{channelId:t.original.channel_id}),T().createElement(Op,null,s()))},enableHiding:!1,enableSorting:!0}),t.accessor("team_display_name",{header:()=>"home"===e.filter?T().createElement(N.FormattedMessage,{id:"admin.secure_connection_detail.shared_channels.table.team_home",defaultMessage:"Current Team"}):T().createElement(N.FormattedMessage,{id:"admin.secure_connection_detail.shared_channels.table.team_remote",defaultMessage:"Destination Team"}),cell:e=>{let{getValue:t}=e;return T().createElement(Pp,null,t())},enableHiding:!1,enableSorting:!0}),t.display({id:"actions",cell:t=>{let{row:s}=t;return T().createElement(Dp,{remote:s.original,fetch:e.fetch})},enableHiding:!1,enableSorting:!1})]),[e.data,e.filter,e.fetch]),a=(0,lp.N4)({data:e.data,columns:s,initialState:{sorting:[{id:"display_name",desc:!1}]},getCoreRowModel:(0,op.HT)(),getSortedRowModel:(0,op.h5)(),enableSortingRemoval:!1,enableMultiSort:!1,renderFallbackValue:"",meta:{tableId:"sharedChannelRemotes",disablePaginationControls:!0},manualPagination:!0});return T().createElement(xp,null,T().createElement(fp,{table:a}))}const xp=B().div.withConfig({displayName:"TableWrapper"})(["table.adminConsoleListTable{td,th{&:after,&:before{display:none;}}thead{border-top:none;border-bottom:1px solid rgba(var(--center-channel-color-rgb),0.16);}tbody{tr{border-top:none;td{padding-block-end:0;padding-block-start:0;}}}tfoot{border-top:none;}}.adminConsoleListTableContainer{padding:2px 0px;}"]),Dp=e=>{let{remote:t,fetch:s}=e;const{promptRemove:n}=(e=>{const t=(0,a.useDispatch)();return{promptRemove:s=>new Promise(((a,n)=>{t((0,ea.q)({modalId:x.IQ.SHARED_CHANNEL_REMOTE_UNINVITE,dialogType:Vu,dialogProps:{onConfirm:()=>de.mT.sharedChannelRemoteUninvite(e,s).then(a,n)}}))}))}})(t.remote_id);return T().createElement(Lp,null,T().createElement(ru,{onClick:()=>{n(t.channel_id).then(s)},$destructive:!0},T().createElement(N.FormattedMessage,{id:"admin.secure_connection_detail.shared_channels.table.remote_actions.remove",defaultMessage:"Remove"})))},Lp=B().div.withConfig({displayName:"RemoteActionsRoot"})(["text-align:right;"]);function Fp(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class Bp extends T().PureComponent{constructor(e){super(e),Fp(this,"renderContents",(()=>{const{log:e}=this.props;return null==e?T().createElement("div",null):T().createElement("div",null,T().createElement("pre",null,JSON.stringify(this.props.log,void 0,2)))})),Fp(this,"copyLog",(()=>{navigator.clipboard.writeText(JSON.stringify(this.props.log,void 0,2)),this.showCopySuccess()})),Fp(this,"showCopySuccess",(()=>{this.setState({copySuccess:!0}),setTimeout((()=>{this.setState({copySuccess:!1})}),3e3)})),this.state={copySuccess:!1}}render(){return T().createElement(ta.Modal,{show:this.props.show,onHide:this.props.onModalDismissed,dialogClassName:"a11y__modal full-log-event",role:"none","aria-labelledby":"fullLogEventModalLabel"},T().createElement(ta.Modal.Header,{closeButton:!0},T().createElement(ta.Modal.Title,{componentClass:"h1",id:"fullLogEventModalLabel"},T().createElement(N.FormattedMessage,{id:"admin.server_logs.LogEvent",defaultMessage:"Log Event"})),this.state.copySuccess?T().createElement(N.FormattedMessage,{id:"admin.server_logs.DataCopied",defaultMessage:"Data copied"}):T().createElement(ta.Button,{onClick:this.copyLog},T().createElement(N.FormattedMessage,{id:"admin.server_logs.CopyLog",defaultMessage:"Copy log"}))),T().createElement(ta.Modal.Body,null,this.renderContents()),T().createElement(ta.Modal.Footer,null,T().createElement("button",{type:"button",className:"btn btn-tertiary",onClick:this.props.onModalDismissed},T().createElement(N.FormattedMessage,{id:"admin.manage_roles.cancel",defaultMessage:"Cancel"}))))}}Fp(Bp,"propTypes",{onModalDismissed:L().func.isRequired,show:L().bool.isRequired});const Hp=Bp;function Up(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class Gp extends T().PureComponent{constructor(e){super(e),Up(this,"isSearching",((e,t)=>e.length>0||Object.keys(t).length>0)),Up(this,"onSearch",(e=>{this.props.onSearchChange(e)})),Up(this,"nextPage",(()=>{const e=this.state.page+1;this.setState({page:e})})),Up(this,"previousPage",(()=>{const e=this.state.page-1;this.setState({page:e})})),Up(this,"getPaginationProps",(()=>{var e,t;const{page:s}=this.state,a=50*s+1,n=null!==(e=null===(t=this.props.logs)||void 0===t?void 0:t.length)&&void 0!==e?e:0;let i=0;return i=50*(s+1),i=i>n?n:i,{startCount:a,endCount:i,total:n}})),Up(this,"handleDateSort",(()=>{this.setState({dateAsc:!this.state.dateAsc}),this.getColumns(this.state.dateAsc)})),Up(this,"getColumns",(e=>[{field:"timestamp",fixed:!0,name:T().createElement("div",{className:"timestamp",onClick:this.handleDateSort},T().createElement(N.FormattedMessage,{id:"admin.compliance_table.timestamp",defaultMessage:"Timestamp"}),e?T().createElement(w.ArrowUpIcon,{size:18}):T().createElement(w.ArrowDownIcon,{size:18})),textAlign:"left",width:1.5},{field:"level",fixed:!0,name:T().createElement(N.FormattedMessage,{id:"admin.log.Level",defaultMessage:"Level"}),textAlign:"left",width:.5},{field:"msg",fixed:!0,name:T().createElement(N.FormattedMessage,{id:"user.settings.notifications.autoResponderPlaceholder",defaultMessage:"Message"}),textAlign:"left",width:2.5},{field:"caller",fixed:!0,name:T().createElement(N.FormattedMessage,{id:"admin.logs.caller",defaultMessage:"Caller"}),textAlign:"left",width:1.5},{field:"options",fixed:!0,name:T().createElement(N.FormattedMessage,{id:"admin.logs.options",defaultMessage:"Options"}),textAlign:"left",width:1}])),Up(this,"getRows",(()=>{const{startCount:e,endCount:t}=this.getPaginationProps();return this.props.logs.sort(((e,t)=>{const s=new Date(e.timestamp).valueOf(),a=new Date(t.timestamp).valueOf();return this.state.dateAsc?s-a:a-s})).slice(e-1,t).map((e=>({cells:{timestamp:T().createElement("span",{className:"group-name overflow--ellipsis row-content","data-testid":"timestamp"},T().createElement("span",{className:"group-description row-content"},e.timestamp)),level:T().createElement("span",{className:"group-description adjusted row-content"},e.level),msg:T().createElement("span",{className:"group-description row-content",title:e.msg},e.msg),caller:T().createElement("span",{className:"group-description row-content"},e.caller),options:T().createElement("button",{type:"submit",className:"btn btn-secondary btn-sm"},T().createElement(N.FormattedMessage,{id:"admin.logs.fullEvent",defaultMessage:"Full Log event"}))},onClick:()=>this.showFullLogEvent(e)})))})),Up(this,"showFullLogEvent",(e=>{this.setState({modalLog:e,modalOpen:!0})})),Up(this,"hideModal",(()=>{this.setState({modalLog:null,modalOpen:!1})})),Up(this,"onFilter",(e=>{const t={},s=e.levels.values;s.all.value?t.logLevels=[]:t.logLevels=Object.keys(s).reduce(((e,t)=>(s[t].value&&e.push(t),e)),[]),this.props.onFiltersChange(t)})),Up(this,"showErrors",(()=>{this.props.onFiltersChange({logLevels:["error"]})})),Up(this,"getErrorCount",(()=>{let e=0;return this.props.logs.map((t=>"error"===t.level&&++e)),e})),Up(this,"render",(()=>{const{search:e}=this.props,t=this.getRows(),s=this.getColumns(this.state.dateAsc),{startCount:a,endCount:n,total:i}=this.getPaginationProps(),r=T().createElement(N.FormattedMessage,{id:"admin.channel_settings.channel_list.no_logs_found",defaultMessage:"No logs found"}),o={minHeight:"".concat(40*t.length,"px")},l=T().createElement("button",{className:"btn btn-tertiary btn-sm ml-2",onClick:this.showErrors},T().createElement(N.FormattedMessage,{id:"admin.logs.showErrors",defaultMessage:"Show last {n} errors",values:{n:this.getErrorCount()}})),d={options:{levels:{name:"Levels",values:{all:{name:T().createElement(N.FormattedMessage,{id:"admin.logs.Alllevels",defaultMessage:"All levels"}),value:!0},error:{name:T().createElement(N.FormattedMessage,{id:"admin.logs.Error",defaultMessage:"Error"}),value:!1},warn:{name:T().createElement(N.FormattedMessage,{id:"admin.logs.Warn",defaultMessage:"Warn"}),value:!1},info:{name:T().createElement(N.FormattedMessage,{id:"admin.logs.Info",defaultMessage:"Info"}),value:!1},debug:{name:T().createElement(N.FormattedMessage,{id:"admin.logs.Debug",defaultMessage:"Debug"}),value:!1}},keys:["all","error","info","debug"]}},keys:["levels"],onFilter:this.onFilter};return T().createElement("div",{className:"LogTable"},T().createElement(oi,{columns:s,rows:t,loading:this.props.loading,startCount:a,endCount:n,total:i,onSearch:this.onSearch,term:e,placeholderEmpty:r,rowsContainerStyles:o,page:this.state.page,nextPage:this.nextPage,previousPage:this.previousPage,filterProps:d,extraComponent:l}),T().createElement(Hp,{log:this.state.modalLog,show:this.state.modalOpen,onModalDismissed:this.hideModal}))})),this.state={modalLog:null,modalOpen:!1,page:0,dateAsc:!0}}}function jp(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}Up(Gp,"propTypes",{loading:L().bool.isRequired,logs:L().array.isRequired,onFiltersChange:L().func.isRequired,onSearchChange:L().func.isRequired,search:L().string.isRequired});class qp extends T().PureComponent{constructor(e){super(e),jp(this,"nextPage",(e=>{e.preventDefault(),this.setState({nextDisabled:!0}),setTimeout((()=>this.setState({nextDisabled:!1})),500),this.props.nextPage()})),jp(this,"previousPage",(e=>{e.preventDefault(),this.props.previousPage()})),this.logPanel=T().createRef(),this.state={nextDisabled:!1}}componentDidMount(){const e=this.logPanel.current;e&&(e.scrollTop=e.scrollHeight)}componentDidUpdate(){const e=this.logPanel.current;e&&(e.scrollTop=e.scrollHeight)}render(){let e,t,s=null;this.props.logs.length>=this.props.perPage&&(e=T().createElement("button",{type:"button",className:"btn btn-tertiary filter-control filter-control__next pull-right",onClick:this.nextPage,disabled:this.state.nextDisabled},T().createElement(N.FormattedMessage,{id:"admin.logs.next",defaultMessage:"Next"}),T().createElement(Ln.A,{additionalClassName:"ml-2"}))),this.props.page>0&&(t=T().createElement("button",{type:"button",className:"btn btn-tertiary filter-control filter-control__prev",onClick:this.previousPage},T().createElement("i",{className:"fa fa-angle-left",title:this.props.intl.formatMessage({id:"generic_icons.previous",defaultMessage:"Previous Icon"})}),T().createElement(N.FormattedMessage,{id:"admin.logs.prev",defaultMessage:"Previous"}))),s=[];for(let e=0;e<this.props.logs.length;e++){const t={whiteSpace:"nowrap",fontFamily:"monospace",color:""};this.props.logs[e].indexOf("[EROR]")>0&&(t.color="red"),s.push(T().createElement("br",{key:"br_"+e})),s.push(T().createElement("span",{key:"log_"+e,style:t},this.props.logs[e]))}return T().createElement("div",null,T().createElement("div",{tabIndex:-1,ref:this.logPanel,className:"log__panel"},s),T().createElement("div",{className:"pt-3 pb-3 filter-controls"},t,e))}}jp(qp,"propTypes",{logs:L().arrayOf(L().string).isRequired,page:L().number.isRequired,perPage:L().number.isRequired,nextPage:L().func.isRequired,previousPage:L().func.isRequired});const Wp=(0,N.injectIntl)(qp);function Vp(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const zp=(0,N.defineMessages)({title:{id:"admin.logs.title",defaultMessage:"Server Logs"},bannerDesc:{id:"admin.logs.bannerDesc",defaultMessage:"To look up users by User ID or Token ID, go to User Management > Users and paste the ID into the search filter."}}),Yp=[zp.title,zp.bannerDesc];class Zp extends T().PureComponent{constructor(e){super(e),Vp(this,"nextPage",(()=>{this.setState({page:this.state.page+1})})),Vp(this,"previousPage",(()=>{this.setState({page:this.state.page-1})})),Vp(this,"reload",(async()=>{this.setState({loadingLogs:!0}),await this.props.actions.getLogs({serverNames:this.state.serverNames,logLevels:this.state.logLevels,dateFrom:this.state.dateFrom,dateTo:this.state.dateTo}),this.setState({loadingLogs:!1})})),Vp(this,"reloadPlain",(async()=>{this.setState({loadingPlain:!0}),await this.props.actions.getPlainLogs(this.state.page,this.state.perPage),this.setState({loadingPlain:!1})})),Vp(this,"onSearchChange",(e=>{this.setState({search:e},(()=>this.performSearch()))})),Vp(this,"performSearch",wi()((()=>{const{search:e}=this.state,t=this.props.logs.filter((t=>"".concat(t.caller).concat(t.msg).concat(t.worker).concat(t.worker).toLowerCase().includes(e.toLowerCase())));this.setState({filteredLogs:t})}),200)),Vp(this,"onFiltersChange",(e=>{let{dateFrom:t,dateTo:s,logLevels:a,serverNames:n}=e;this.setState({dateFrom:t,dateTo:s,logLevels:a,serverNames:n},(()=>this.reload()))})),this.state={dateFrom:"",dateTo:"",filteredLogs:[],loadingLogs:!0,logLevels:[],search:"",serverNames:[],page:0,perPage:1e3,loadingPlain:!0}}componentDidMount(){this.props.isPlainLogs?this.reloadPlain():this.reload()}componentDidUpdate(e,t){this.state.page!==t.page&&this.props.isPlainLogs&&this.reloadPlain()}render(){const e=this.props.isPlainLogs?T().createElement(T().Fragment,null,T().createElement("div",{className:"banner"},T().createElement("div",{className:"banner__content"},T().createElement(N.FormattedMessage,zp.bannerDesc))),T().createElement("div",{className:"banner-buttons"},T().createElement("button",{type:"submit",className:"btn btn-primary",onClick:this.reloadPlain},T().createElement(N.FormattedMessage,{id:"admin.logs.ReloadLogs",defaultMessage:"Reload Logs"})),T().createElement(ce.A,{location:"download_logs",className:"btn btn-primary",href:de.mT.getUrl()+"/api/v4/logs/download"},T().createElement(N.FormattedMessage,{id:"admin.logs.DownloadLogs",defaultMessage:"Download Logs"}))),T().createElement(Wp,{logs:this.props.plainLogs,nextPage:this.nextPage,previousPage:this.previousPage,page:this.state.page,perPage:this.state.perPage})):T().createElement(T().Fragment,null,T().createElement("div",{className:"logs-banner"},T().createElement("div",{className:"banner"},T().createElement("div",{className:"banner__content"},T().createElement(N.FormattedMessage,zp.bannerDesc))),T().createElement("div",{className:"banner-buttons"},T().createElement("button",{type:"submit",className:"btn btn-primary",onClick:this.reload},T().createElement(N.FormattedMessage,{id:"admin.logs.ReloadLogs",defaultMessage:"Reload Logs"})),T().createElement(ce.A,{location:"download_logs",className:"btn btn-primary",href:de.mT.getUrl()+"/api/v4/logs/download"},T().createElement(N.FormattedMessage,{id:"admin.logs.DownloadLogs",defaultMessage:"Download Logs"})))),T().createElement(Gp,{loading:this.state.loadingLogs,logs:this.state.search?this.state.filteredLogs:this.props.logs,onSearchChange:this.onSearchChange,search:this.state.search,onFiltersChange:this.onFiltersChange,filters:{dateFrom:this.state.dateFrom,dateTo:this.state.dateTo,logLevels:this.state.logLevels,serverNames:this.state.serverNames}}));return T().createElement("div",{className:"wrapper--admin"},T().createElement(et,null,T().createElement(N.FormattedMessage,zp.title)),T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-logs-content admin-console__content"},e)))}}Vp(Zp,"propTypes",{logs:L().array.isRequired,plainLogs:L().arrayOf(L().string).isRequired,isPlainLogs:L().bool.isRequired,actions:L().shape({getLogs:L().func.isRequired,getPlainLogs:L().func.isRequired}).isRequired});const Jp=(0,a.connect)((function(e){var t;const s=d.zj(e);return{logs:d.jp(e),plainLogs:d.O5(e),isPlainLogs:!1===(null===(t=s.LogSettings)||void 0===t?void 0:t.FileJson)}}),(function(e){return{actions:(0,n.bindActionCreators)({getLogs:i.ao,getPlainLogs:i.O5},e)}}))(Zp);function Qp(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const Kp=(0,N.defineMessages)({title:{id:"admin.sessionLengths.title",defaultMessage:"Session Lengths"},webSessionHoursDesc_extendLength:{id:"admin.service.webSessionHoursDesc.extendLength",defaultMessage:"Set the number of hours from the last activity in Mattermost to the expiry of the user's session when using email and AD/LDAP authentication. After changing this setting, the new session length will take effect after the next time the user enters their credentials."},mobileSessionHoursDesc_extendLength:{id:"admin.service.mobileSessionHoursDesc.extendLength",defaultMessage:"Set the number of hours from the last activity in Mattermost to the expiry of the user's session on mobile. After changing this setting, the new session length will take effect after the next time the user enters their credentials."},ssoSessionHoursDesc_extendLength:{id:"admin.service.ssoSessionHoursDesc.extendLength",defaultMessage:"Set the number of hours from the last activity in Mattermost to the expiry of the user's session for SSO authentication, such as SAML, GitLab and OAuth 2.0. If the authentication method is SAML or GitLab, the user may automatically be logged back in to Mattermost if they are already logged in to SAML or GitLab. After changing this setting, the setting will take effect after the next time the user enters their credentials."},webSessionHoursDesc:{id:"admin.service.webSessionHoursDesc",defaultMessage:"The number of hours from the last time a user entered their credentials to the expiry of the user's session. After changing this setting, the new session length will take effect after the next time the user enters their credentials."},mobileSessionHoursDesc:{id:"admin.service.mobileSessionHoursDesc",defaultMessage:"The number of hours from the last time a user entered their credentials to the expiry of the user's session. After changing this setting, the new session length will take effect after the next time the user enters their credentials."},ssoSessionHoursDesc:{id:"admin.service.ssoSessionHoursDesc",defaultMessage:"The number of hours from the last time a user entered their credentials to the expiry of the user's session. If the authentication method is SAML or GitLab, the user may automatically be logged back in to Mattermost if they are already logged in to SAML or GitLab. After changing this setting, the setting will take effect after the next time the user enters their credentials."},sessionIdleTimeout:{id:"admin.service.sessionIdleTimeout",defaultMessage:"Session Idle Timeout (minutes):"},extendSessionLengthActivity_label:{id:"admin.service.extendSessionLengthActivity.label",defaultMessage:"Extend session length with activity: "},extendSessionLengthActivity_helpText:{id:"admin.service.extendSessionLengthActivity.helpText",defaultMessage:"When true, sessions will be automatically extended when the user is active in their Mattermost client. Users sessions will only expire if they are not active in their Mattermost client for the entire duration of the session lengths defined in the fields below. When false, sessions will not extend with activity in Mattermost. User sessions will immediately expire at the end of the session length or idle timeouts defined below. "},terminateSessionsOnPasswordChange_label:{id:"admin.service.terminateSessionsOnPasswordChange.label",defaultMessage:"Terminate Sessions on Password Change: "},terminateSessionsOnPasswordChange_helpText:{id:"admin.service.terminateSessionsOnPasswordChange.helpText",defaultMessage:"When true, all sessions of a user will expire if their password is changed by themselves or an administrator."},webSessionHours:{id:"admin.service.webSessionHours",defaultMessage:"Session Length AD/LDAP and Email (hours):"},mobileSessionHours:{id:"admin.service.mobileSessionHours",defaultMessage:"Session Length Mobile (hours):"},ssoSessionHours:{id:"admin.service.ssoSessionHours",defaultMessage:"Session Length SSO (hours):"},sessionCache:{id:"admin.service.sessionCache",defaultMessage:"Session Cache (minutes):"},sessionCacheDesc:{id:"admin.service.sessionCacheDesc",defaultMessage:"The number of minutes to cache a session in memory:"},sessionHoursEx:{id:"admin.service.sessionHoursEx",defaultMessage:'E.g.: "720"'},sessionIdleTimeoutDesc:{id:"admin.service.sessionIdleTimeoutDesc",defaultMessage:"The number of minutes from the last time a user was active on the system to the expiry of the user's session. Once expired, the user will need to log in to continue. Minimum is 5 minutes, and 0 is unlimited. Applies to the desktop app and browsers. For mobile apps, use an EMM provider to lock the app when not in use. In High Availability mode, enable IP hash load balancing for reliable timeout measurement."}}),Xp=[Kp.title,Kp.webSessionHoursDesc_extendLength,Kp.mobileSessionHoursDesc_extendLength,Kp.ssoSessionHoursDesc_extendLength,Kp.webSessionHoursDesc,Kp.mobileSessionHoursDesc,Kp.ssoSessionHoursDesc,Kp.sessionIdleTimeout,Kp.extendSessionLengthActivity_label,Kp.extendSessionLengthActivity_helpText,Kp.webSessionHours,Kp.mobileSessionHours,Kp.ssoSessionHours,Kp.sessionCache,Kp.sessionCacheDesc,Kp.sessionHoursEx,Kp.sessionIdleTimeoutDesc],$p=B().h3.withConfig({displayName:"SectionHeading"})(["&&&{margin-bottom:8px;}"]),eg=B().header.attrs({className:"header"}).withConfig({displayName:"SectionHeader"})(["&&&{padding:24px 32px;","}"],(e=>{let{$borderless:t}=e;return!t&&(0,F.css)(["border-bottom:1px solid var(--center-channel-color-12,rgba(63,67,80,0.12));"])})),tg=B().div.attrs({className:"content"}).withConfig({displayName:"SectionContent"})(["&&&{padding:",";border-bottom:1px solid var(--center-channel-color-12,rgba(63,67,80,0.12));}"],(e=>{let{$compact:t}=e;return t?"24px 32px":"48px 32px"})),sg=B().section.attrs({className:"AdminPanel"}).withConfig({displayName:"AdminSection"})(["&&{overflow:visible;}"]),ag=e=>T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},e.children)),ng=B().input.attrs({className:"form-control secure-connections-input"}).withConfig({displayName:"FieldInput"})(["font-weight:normal;",";",";",";"],(e=>{let{$borderless:t}=e;return t&&(0,F.css)(["&&{border-color:transparent;box-shadow:none;}"])}),(e=>{let{$deleted:t}=e;return t&&(0,F.css)(["&&{color:#D24B4E;text-decoration:line-through;}"])}),(e=>{let{$strong:t}=e;return t&&(0,F.css)(["&&{font-size:14px;font-style:normal;font-weight:600;}"])})),ig=B().span.withConfig({displayName:"DangerText"})(["color:#D24B4E;"]),rg=B().button.attrs({className:"btn btn-sm btn-transparent"}).withConfig({displayName:"FieldDeleteButton"})(["font-weight:normal;"]),og=B().button.attrs({className:"btn btn-link"}).withConfig({displayName:"LinkButton"})(["font-weight:normal;padding:8px 16px !important;font-size:12px;font-style:normal;font-weight:600;line-height:16px;gap:6px;"]);var lg=s(57069);const dg=()=>{};function cg(e){let{name:t,onExited:s,onCancel:a,onConfirm:n}=e;const{formatMessage:i}=(0,N.useIntl)(),r=i({id:"admin.system_properties.confirm.delete.title",defaultMessage:"Delete {name} property"},{name:t}),o=i({id:"admin.system_properties.confirm.delete.button",defaultMessage:"Delete"}),l=T().createElement(N.FormattedMessage,{id:"admin.system_properties.confirm.delete.text",defaultMessage:"Deleting this property will remove all user-defined values associated with it."});return T().createElement(ad.zW,{confirmButtonText:o,handleCancel:null!=a?a:dg,handleConfirm:n,modalHeaderText:r,onExited:s,compassDesign:!0,isDeleteModal:!0},l)}cg.propTypes={name:L().string.isRequired,onConfirm:L().func.isRequired,onCancel:L().func,onExited:L().func.isRequired};var mg=s(38750),ug=s.n(mg);function pg(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function gg(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?pg(Object(s),!0).forEach((function(t){hg(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):pg(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function hg(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class fg extends Error{}const Eg=e=>({loading:!0===e,error:e instanceof Error?e:void 0});function bg(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];const[s,a]=(e=>{const[t,s]=(0,_.useState)(e);return[Eg(t),s]})(t),n=(0,_.useCallback)((async function(){a(!0);try{const t=await e(...arguments);return a(!1),t}catch(e){return void a(e)}}),[e]);return[n,s,a]}function vg(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function Mg(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?vg(Object(s),!0).forEach((function(t){yg(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):vg(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function yg(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const Sg="user_properties.validation.name_required",Ag="user_properties.validation.name_unique",Cg="user_properties.validation.name_taken",_g=(e,t)=>{const s=new Set(Object.values(t.data).map((e=>{let{name:t}=e;return t})));let a=e,n=1;for(;s.has(a);)n++,a="".concat(e," ").concat(n);return a},Tg=e=>0===e.create_at&&0===e.delete_at,Ng=e=>0!==e.create_at&&0!==e.delete_at,Rg=e=>Mg(Mg({},e),{},{type:"text",group_id:"custom_profile_attributes",id:"".concat("pending_").concat((0,H.$C)()),create_at:0,delete_at:0,update_at:0});function wg(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function Ig(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?wg(Object(s),!0).forEach((function(t){Og(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):wg(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function Og(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function Pg(e){let{data:t,updateField:s,deleteField:a}=e;const{formatMessage:n}=(0,N.useIntl)(),i=(0,lg.collectionToArray)(t),r=(0,op.FB)(),o=(0,_.useMemo)((()=>[r.accessor("name",{header:()=>T().createElement(Lg,null,T().createElement(N.FormattedMessage,{id:"admin.system_properties.user_properties.table.property",defaultMessage:"Property"})),cell:e=>{var a,i;let{getValue:r,row:o}=e;const l=0!==o.original.delete_at,d=null===(a=t.warnings)||void 0===a||null===(i=a[o.original.id])||void 0===i?void 0:i.name;let c;return d===Sg?c=T().createElement(N.FormattedMessage,{tagName:ig,id:"admin.system_properties.user_properties.table.validation.name_required",defaultMessage:"Please enter a property name."}):d===Ag?c=T().createElement(N.FormattedMessage,{tagName:ig,id:"admin.system_properties.user_properties.table.validation.name_unique",defaultMessage:"Property names must be unique."}):d===Cg&&(c=T().createElement(N.FormattedMessage,{tagName:ig,id:"admin.system_properties.user_properties.table.validation.name_taken",defaultMessage:"Property name already taken."})),T().createElement(T().Fragment,null,T().createElement(Hg,{strong:!0,value:r(),label:n({id:"admin.system_properties.user_properties.table.property_name.input.name",defaultMessage:"Property Name"}),deleted:l,borderless:!c,testid:"property-field-input",autoFocus:Tg(o.original),setValue:e=>{s(Ig(Ig({},o.original),{},{name:e.trim()}))},maxLength:x.Ay.MAX_CUSTOM_ATTRIBUTE_NAME_LENGTH}),!l&&c)},enableHiding:!1,enableSorting:!1}),r.accessor("type",{header:()=>T().createElement(Lg,null,T().createElement(N.FormattedMessage,{id:"admin.system_properties.user_properties.table.type",defaultMessage:"Type"})),cell:e=>{let{getValue:t,row:s}=e,a=t();return"text"===a&&(a=T().createElement(T().Fragment,null,T().createElement(w.TextBoxOutlineIcon,{size:18,color:"rgba(var(--center-channel-color-rgb), 0.64)"}),T().createElement(N.FormattedMessage,{id:"admin.system_properties.user_properties.table.type.text",defaultMessage:"Text"}))),T().createElement(Dg,{$deleted:0!==s.original.delete_at},a)},enableHiding:!1,enableSorting:!1}),r.display({id:"actions",header:()=>T().createElement(Fg,null,T().createElement(N.FormattedMessage,{id:"admin.system_properties.user_properties.table.actions",defaultMessage:"Actions"})),cell:e=>{let{row:t}=e;return T().createElement(xg,{field:t.original,updateField:s,deleteField:a})},enableHiding:!1,enableSorting:!1})]),[s,a,t.warnings]),l=(0,lp.N4)({data:i,columns:o,initialState:{sorting:[]},getCoreRowModel:(0,op.HT)(),getSortedRowModel:(0,op.h5)(),enableSortingRemoval:!1,enableMultiSort:!1,renderFallbackValue:"",meta:{tableId:"userProperties",disablePaginationControls:!0},manualPagination:!0});return T().createElement(kg,null,T().createElement(fp,{table:l}))}Pg.propTypes={updateField:L().func.isRequired,deleteField:L().func.isRequired};const kg=B().div.withConfig({displayName:"TableWrapper"})(["table.adminConsoleListTable{td,th{&:after,&:before{display:none;}}thead{border-top:none;border-bottom:1px solid rgba(var(--center-channel-color-rgb),0.08);tr{th.pinned{background:rgba(var(--center-channel-color-rgb),0.04);padding-block-end:8px;padding-block-start:8px;}}}tbody{tr{border-top:none;border-bottom:1px solid rgba(var(--center-channel-color-rgb),0.08);border-bottom-color:rgba(var(--center-channel-color-rgb),0.08) !important;td{padding-block-end:4px;padding-block-start:4px;&:last-child{padding-inline-end:12px;}}}}tfoot{border-top:none;}}.adminConsoleListTableContainer{padding:2px 0px;}"]),xg=e=>{let{field:t,deleteField:s}=e;const{promptDelete:n}=(()=>{const e=(0,a.useDispatch)();return{promptDelete:t=>new Promise((s=>{e((0,ea.q)({modalId:x.IQ.USER_PROPERTY_FIELD_DELETE,dialogType:cg,dialogProps:{name:t.name,onConfirm:()=>s(!0)}}))}))}})(),{formatMessage:i}=(0,N.useIntl)();return T().createElement(Bg,null,0===t.delete_at&&T().createElement(rg,{onClick:()=>{Tg(t)?s(t.id):n(t).then((()=>s(t.id)))},"aria-label":i({id:"admin.system_properties.user_properties.table.actions.delete",defaultMessage:"Delete"})},T().createElement(w.TrashCanOutlineIcon,{size:18,color:"rgba(var(--center-channel-color-rgb), 0.64)"})))};xg.propTypes={updateField:L().func.isRequired,deleteField:L().func.isRequired};const Dg=B().div.withConfig({displayName:"TypeCellWrapper"})(["",";vertical-align:middle;display:inline-flex;gap:6px;align-items:center;"],(e=>{let{$deleted:t}=e;return t&&(0,F.css)(["&&{color:#D24B4E;text-decoration:line-through;}"])})),Lg=B().div.withConfig({displayName:"ColHeaderLeft"})(["display:inline-block;"]),Fg=B().div.withConfig({displayName:"ColHeaderRight"})(["display:inline-block;width:100%;text-align:right;"]),Bg=B().div.withConfig({displayName:"ActionsRoot"})(["text-align:right;"]),Hg=e=>{var t;const[s,a]=(0,_.useState)(e.value);return(0,_.useEffect)((()=>{a(e.value)}),[e.value]),T().createElement(T().Fragment,null,T().createElement(ng,{type:"text","aria-label":e.label,"data-testid":e.testid,disabled:null!==(t=e.disabled)&&void 0!==t?t:e.deleted,$deleted:e.deleted,$strong:e.strong,$borderless:e.borderless,maxLength:e.maxLength,autoFocus:e.autoFocus,onFocus:t=>{e.autoFocus&&t.target.select()},value:s,onChange:e=>{a(e.target.value)},onBlur:()=>{s!==e.value&&e.setValue(s)}}),e.footer)};function Ug(e){const{formatMessage:t}=(0,N.useIntl)(),s=(0,a.useDispatch)(),n=(()=>{const[e,t,s,n]=(()=>{const[e,t]=function(e,t){var s,n;const i=null===(s=null===(n=e.opts)||void 0===n?void 0:n.forceInitialGet)||void 0===s||s,r=(0,a.useSelector)((t=>{var s;return null===(s=e.select)||void 0===s?void 0:s.call(e,t)})),[o,l]=(0,_.useState)(t),[d,c]=bg(e.get,i||!r);return(0,_.useEffect)((()=>{!i&&r||d().then((e=>{void 0!==e&&l(e)}))}),[i,r,d,l]),[null!=r?r:o,gg(gg({},c),{},{get:d,setData:l})]}((0,_.useMemo)((()=>({get:async()=>{const e=await de.mT.getCustomProfileAttributeFields();return(0,lg.collectionFromArray)(e)},select:e=>{},opts:{forceInitialGet:!0}})),[]),(0,lg.collectionFromArray)([])),[s,n]=function(e,t){const[s,a]=(0,_.useState)(e),n=s!==e,[i,{loading:r,error:o},l]=bg(t.commit,!1);(0,_.useEffect)((()=>{a(e)}),[a,e]);const d=(0,_.useCallback)((s=>{a((a=>{const n="function"==typeof s?s(a):gg(gg({},a),s);return t.beforeUpdate?null==t?void 0:t.beforeUpdate(n,e):n}))}),[a,e,t.beforeUpdate]),c=(0,_.useCallback)((()=>{a(e),l(!1)}),[a,e,l]),m=(0,_.useCallback)((()=>i(s,e)),[i,s,e]);return[s,{saving:r,error:o,hasChanges:n,apply:d,commit:m,reset:c}]}(e,(0,_.useMemo)((()=>({commit:async(e,t)=>{const s=(0,lg.collectionToArray)(e).reduce(((e,s)=>{if(s===t.data[s.id])return e;switch(!0){case Tg(s):e.create.push(s);break;case Ng(s):e.delete.push(s);break;case s!==t.data[s.id]:e.edit.push(s)}return e}),{delete:[],edit:[],create:[]}),a={data:Mg({},e.data),order:[...e.order],errors:{}};await Promise.all(s.delete.map((async e=>{let{id:t}=e;return de.mT.deleteCustomProfileAttributeField(t).then((()=>{Reflect.deleteProperty(a.data,t),a.order=a.order.filter((e=>e!==t))})).catch((e=>{a.errors=Mg(Mg({},a.errors),{},{[t]:e})}))}))),await Promise.all(s.edit.map((async e=>{const{id:t,name:s,type:n}=e;return de.mT.patchCustomProfileAttributeField(t,{name:s,type:n}).then((e=>{a.data[t]=e})).catch((e=>{a.errors=Mg(Mg({},a.errors),{},{[t]:e})}))})));for(const e of s.create){const{id:t,name:s,type:n}=e;await de.mT.createCustomProfileAttributeField({name:s,type:n}).then((s=>{Reflect.deleteProperty(a.data,t),a.data[null==s?void 0:s.id]=s,a.order=a.order.map((t=>t===(null==e?void 0:e.id)?s.id:t))})).catch((e=>{a.errors=Mg(Mg({},a.errors),{},{[t]:e})}))}if(!pa()(a.errors))throw new fg("error processing operations",{cause:a.errors});return Reflect.deleteProperty(a,"errors"),a},beforeUpdate:(e,t)=>{const s=e=>ug()(e,(e=>{let{name:t}=e;return t.toLowerCase()})),a=s(e.data),n=s(t.data),i=Object.values(e.data).reduce(((t,s)=>{var i,r,o,l,d;if(s.name){if((null===(i=a[s.name.toLowerCase()])||void 0===i||null===(r=i.filter((e=>0===e.delete_at)))||void 0===r?void 0:r.length)>1)t[s.id]={name:Ag};else if((null==n||null===(o=n[s.name.toLowerCase()])||void 0===o?void 0:o.length)>=1&&s.id!==(null==n||null===(l=n[s.name.toLowerCase()])||void 0===l||null===(d=l[0])||void 0===d?void 0:d.id)){var c,m;0===e.data[null==n||null===(c=n[s.name.toLowerCase()])||void 0===c||null===(m=c[0])||void 0===m?void 0:m.id].delete_at&&(t[s.id]={name:Cg})}}else t[s.id]={name:Sg};return t}),{}),r=Mg(Mg({},e),{},{warnings:i});return pa()(i)&&Reflect.deleteProperty(r,"warnings"),r}})),[])),i=(0,_.useMemo)((()=>({update:e=>{n.apply((t=>(0,lg.collectionReplaceItem)(t,e)))},create:()=>{n.apply((e=>{const t=_g("Text",e),s=Rg({name:t,type:"text"});return(0,lg.collectionAddItem)(e,s)}))},delete:e=>{n.apply((t=>{const s=t.data[e];return Tg(s)?(0,lg.collectionRemoveItem)(t,s):(0,lg.collectionReplaceItem)(t,Mg(Mg({},s),{},{delete_at:Date.now()}))}))}})),[n.apply]);return[s,t,n,i]})(),i=Object.values(e.data).filter((e=>0===e.delete_at)).length;return{content:t.loading?T().createElement(At.A,null):T().createElement(T().Fragment,null,T().createElement(Pg,{data:e,updateField:n.update,deleteField:n.delete}),i<x.Ay.MAX_CUSTOM_ATTRIBUTES&&T().createElement(og,{onClick:n.create},T().createElement(w.PlusIcon,{size:16}),T().createElement(N.FormattedMessage,{id:"admin.system_properties.user_properties.add_property",defaultMessage:"Add property"}))),loading:t.loading,hasChanges:s.hasChanges,isValid:!e.warnings,save:async()=>{const e=await s.commit();e&&!e.errors&&t.setData(e)},cancel:s.reset,saving:s.saving,saveError:s.error}})(),i=n.saving,r=n.hasChanges,o=n.isValid,l=n.saveError;return(0,_.useEffect)((()=>{s((0,h.Jb)(r))}),[r]),T().createElement("div",{className:"wrapper--fixed","data-testid":"systemProperties"},T().createElement(et,null,T().createElement(N.FormattedMessage,Gg.pageTitle)),T().createElement(ag,null,T().createElement(sg,{"data-testid":"user_properties"},T().createElement(eg,null,T().createElement("hgroup",null,T().createElement(N.FormattedMessage,{tagName:$p,id:"admin.system_properties.user_properties.title",defaultMessage:"User Properties"}),T().createElement(N.FormattedMessage,{id:"admin.system_properties.user_properties.subtitle",defaultMessage:"Customize the properties to show in user profiles"}))),T().createElement(tg,{$compact:!0},n.content))),T().createElement(tl,{saving:i,saveNeeded:r,onClick:()=>{n.save()},onCancel:()=>{n.cancel()},serverError:l?T().createElement(N.FormattedMessage,{tagName:ig,id:"admin.system_properties.details.saving_changes_error",defaultMessage:"There was an error while saving the configuration"}):void 0,savingMessage:t({id:"admin.system_properties.details.saving_changes",defaultMessage:"Saving configuration…"}),isDisabled:e.disabled||i||!o}))}Hg.propTypes={value:L().string.isRequired,label:L().string,testid:L().string,setValue:L().func.isRequired,autoFocus:L().bool,disabled:L().bool,deleted:L().bool,footer:L().node,strong:L().bool,maxLength:L().number,borderless:L().bool},Ug.propTypes={disabled:L().bool.isRequired};const Gg=(0,N.defineMessages)({pageTitle:{id:"admin.sidebar.system_properties",defaultMessage:"System Properties"}}),jg=Object.values(Gg),qg=Ug,Wg={system_admin:(0,N.defineMessages)({name:{id:"admin.permissions.roles.system_admin.name",defaultMessage:"System Admin"},description:{id:"admin.permissions.roles.system_admin.description",defaultMessage:"Access to modifying everything."},type:{id:"admin.permissions.roles.system_admin.type",defaultMessage:"System Role"}}),system_user_manager:(0,N.defineMessages)({name:{id:"admin.permissions.roles.system_user_manager.name",defaultMessage:"User Manager"},description:{id:"admin.permissions.roles.system_user_manager.description",defaultMessage:"Enough access to help with user management."},type:{id:"admin.permissions.roles.system_user_manager.type",defaultMessage:"System Role"}}),system_manager:(0,N.defineMessages)({name:{id:"admin.permissions.roles.system_manager.name",defaultMessage:"System Manager"},description:{id:"admin.permissions.roles.system_manager.description",defaultMessage:"Slightly less access than system admin."},type:{id:"admin.permissions.roles.system_manager.type",defaultMessage:"System Role"}}),system_read_only_admin:(0,N.defineMessages)({name:{id:"admin.permissions.roles.system_read_only_admin.name",defaultMessage:"Viewer"},description:{id:"admin.permissions.roles.system_read_only_admin.description",defaultMessage:"Read only access for oversight."},type:{id:"admin.permissions.roles.system_read_only_admin.type",defaultMessage:"System Role"}}),system_custom_group_admin:(0,N.defineMessages)({name:{id:"admin.permissions.roles.system_custom_group_admin.name",defaultMessage:"Custom Group Manager"},description:{id:"admin.permissions.roles.system_custom_group_admin.description",defaultMessage:"Administers all Custom Groups across the system."},type:{id:"admin.permissions.roles.system_custom_group_admin.type",defaultMessage:"System Role"}})},Vg=[{name:"Role",field:"role",width:2},{name:"Description",field:"description",width:3},{name:"Type",field:"type",width:2},{name:"",field:"edit",width:1,textAlign:"right"}];class zg extends T().PureComponent{render(){const{roles:e}=this.props,t=[];return["system_admin","system_manager","system_user_manager","system_custom_group_admin","system_read_only_admin"].forEach((s=>{const a=e[s];a&&t.push({cells:{role:T().createElement(N.FormattedMessage,Wg[a.name].name),description:T().createElement(N.FormattedMessage,Wg[a.name].description),type:T().createElement(N.FormattedMessage,Wg[a.name].type),edit:T().createElement("span",{className:"SystemRoles_editRow","data-testid":"".concat(a.name,"_edit")},T().createElement(R.Link,{to:"/admin_console/user_management/system_roles/".concat(a.id)},T().createElement(N.FormattedMessage,{id:"admin.permissions.roles.edit",defaultMessage:"Edit"})))},onClick:()=>(0,fi.J)().push("/admin_console/user_management/system_roles/".concat(a.id))})})),T().createElement("div",{className:"wrapper--fixed"},T().createElement(et,null,T().createElement(N.FormattedMessage,{id:"admin.permissions.systemRoles",defaultMessage:"Delegated Granular Administration"})),T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},T().createElement(ko,{id:"SystemRoles",title:(0,N.defineMessage)({id:"admin.permissions.systemRolesBannerTitle",defaultMessage:"Admin Roles"}),subtitle:(0,N.defineMessage)({id:"admin.permissions.systemRolesBannerText",defaultMessage:"Manage different levels of access to the system console."})},T().createElement("div",{className:"SystemRoles"},T().createElement(oi,{rows:t,columns:Vg,page:1,startCount:0,endCount:t.length,loading:!1,nextPage:()=>{},previousPage:()=>{}}))))))}}const Yg=(0,a.connect)((function(e){return{roles:(0,C.O0)(e)}}))(zg);var Zg=s(15841),Jg=s.n(Zg),Qg=s(13459),Kg=s.n(Qg),Xg=s(83949),$g=s(78546);const eh={about:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_about.name",defaultMessage:"About"},description:{id:"admin.permissions.sysconsole_section_about.description",defaultMessage:"The ability to install or upgrade your servers enterprise licensing."}}),about_edition_and_license:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_about_edition_and_license.name",defaultMessage:"Edition and License"}}),billing:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_billing.name",defaultMessage:"Billing"},description:{id:"admin.permissions.sysconsole_section_billing.description",defaultMessage:"Access subscription details, billing history, company information and payment information."}}),reporting:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_reporting.name",defaultMessage:"Reporting"},description:{id:"admin.permissions.sysconsole_section_reporting.description",defaultMessage:"Review site statistics, team statistics and server logs."}}),reporting_site_statistics:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_reporting_site_statistics.name",defaultMessage:"Site Statistics"}}),reporting_team_statistics:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_reporting_team_statistics.name",defaultMessage:"Team Statistics"}}),reporting_server_logs:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_reporting_server_logs.name",defaultMessage:"Server Logs"}}),user_management:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_user_management.name",defaultMessage:"User Management"},description:{id:"admin.permissions.sysconsole_section_user_management.description",defaultMessage:"Review users, groups, teams, channels, permissions and system roles."}}),user_management_users:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_user_management_users.name",defaultMessage:"Users"},description:{id:"admin.permissions.sysconsole_section_user_management_users.description",defaultMessage:"Cannot reset admin passwords"}}),user_management_groups:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_user_management_groups.name",defaultMessage:"Groups"}}),user_management_teams:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_user_management_teams.name",defaultMessage:"Teams"}}),user_management_channels:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_user_management_channels.name",defaultMessage:"Channels"}}),user_management_permissions:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_user_management_permissions.name",defaultMessage:"Permissions"}}),user_management_system_roles:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_user_management_system_roles.name",defaultMessage:"Delegated Granular Administration"},description:{id:"admin.permissions.sysconsole_section_user_management_system_roles.description",defaultMessage:"Restricts the System Console interface only. The underlying API endpoints are accessible to all users in a read-only state for basic product functionality."}}),environment:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_environment.name",defaultMessage:"Environment"},description:{id:"admin.permissions.sysconsole_section_environment.description",defaultMessage:"Review server environment configuration such as URLs, database and performance."}}),environment_web_server:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_environment_web_server.name",defaultMessage:"Web Server"}}),environment_database:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_environment_database.name",defaultMessage:"Database"}}),environment_elasticsearch:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_environment_elasticsearch.name",defaultMessage:"Elasticsearch"}}),environment_file_storage:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_environment_file_storage.name",defaultMessage:"File Storage"}}),environment_image_proxy:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_environment_image_proxy.name",defaultMessage:"Image Proxy"}}),environment_smtp:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_environment_smtp.name",defaultMessage:"SMTP"}}),environment_push_notification_server:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_environment_push_notification_server.name",defaultMessage:"Push Notification Server"}}),environment_high_availability:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_environment_high_availability.name",defaultMessage:"High Availability"}}),environment_rate_limiting:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_environment_rate_limiting.name",defaultMessage:"Rate Limiting"}}),environment_logging:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_environment_logging.name",defaultMessage:"Logging"}}),environment_session_lengths:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_environment_session_lengths.name",defaultMessage:"Session Lengths"}}),environment_performance_monitoring:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_environment_performance_monitoring.name",defaultMessage:"Performance Monitoring"}}),environment_developer:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_environment_developer.name",defaultMessage:"Developer"}}),site:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_site.name",defaultMessage:"Site Configuration"},description:{id:"admin.permissions.sysconsole_section_site.description",defaultMessage:"Review site specific configurations such as site name, notification defaults and file sharing."}}),site_customization:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_site_customization.name",defaultMessage:"Customization"}}),site_localization:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_site_localization.name",defaultMessage:"Localization"}}),site_users_and_teams:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_site_users_and_teams.name",defaultMessage:"Users and Teams"}}),site_notifications:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_site_notifications.name",defaultMessage:"Notifications"}}),site_announcement_banner:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_site_announcement_banner.name",defaultMessage:"Announcement Banner"}}),site_emoji:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_site_emoji.name",defaultMessage:"Emoji"}}),site_posts:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_site_posts.name",defaultMessage:"Posts"}}),site_file_sharing_and_downloads:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_site_file_sharing_and_downloads.name",defaultMessage:"File Sharing and Downloads"}}),site_public_links:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_site_public_links.name",defaultMessage:"Public Links"}}),site_notices:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_site_notices.name",defaultMessage:"Notices"}}),authentication:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_authentication.name",defaultMessage:"Authentication"},description:{id:"admin.permissions.sysconsole_section_authentication.description",defaultMessage:"Review the configuration around how users can signup and access Mattermost."}}),authentication_signup:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_authentication_signup.name",defaultMessage:"Signup"}}),authentication_email:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_authentication_email.name",defaultMessage:"Email"}}),authentication_password:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_authentication_password.name",defaultMessage:"Password"}}),authentication_mfa:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_authentication_mfa.name",defaultMessage:"MFA"}}),authentication_ldap:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_authentication_ldap.name",defaultMessage:"AD/LDAP"}}),authentication_saml:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_authentication_saml.name",defaultMessage:"SAML 2.0"}}),authentication_openid:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_authentication_openid.name",defaultMessage:"OpenID Connect"}}),authentication_guest_access:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_authentication_guest_access.name",defaultMessage:"Guest Access"}}),plugins:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_plugins.name",defaultMessage:"Plugins"},description:{id:"admin.permissions.sysconsole_section_plugins.description",defaultMessage:"Review installed plugins and their configuration."}}),integrations:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_integrations.name",defaultMessage:"Integrations"},description:{id:"admin.permissions.sysconsole_section_integrations.description",defaultMessage:"Review integration configurations such as webhooks, bots and cross-origin requests."}}),integrations_integration_management:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_integrations_integration_management.name",defaultMessage:"Integration Management"}}),integrations_bot_accounts:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_integrations_bot_accounts.name",defaultMessage:"Bot Accounts"}}),integrations_gif:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_integrations_gif.name",defaultMessage:"GIF"}}),integrations_cors:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_integrations_cors.name",defaultMessage:"CORS"}}),compliance:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_compliance.name",defaultMessage:"Compliance"},description:{id:"admin.permissions.sysconsole_section_compliance.description",defaultMessage:"Review compliance settings such as retention, exports and activity logs."}}),compliance_data_retention_policy:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_compliance_data_retention_policy.name",defaultMessage:"Data Retention Policy"}}),compliance_compliance_export:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_compliance_compliance_export.name",defaultMessage:"Compliance Export"}}),compliance_compliance_monitoring:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_compliance_compliance_monitoring.name",defaultMessage:"Compliance Monitoring"}}),compliance_custom_terms_of_service:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_compliance_custom_terms_of_service.name",defaultMessage:"Custom Terms of Service"}}),experimental:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_experimental.name",defaultMessage:"Experimental"},description:{id:"admin.permissions.sysconsole_section_experimental.description",defaultMessage:"Review the settings of experimental features"}}),experimental_features:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_experimental_features.name",defaultMessage:"Features"}}),experimental_feature_flags:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_experimental_feature_flags.name",defaultMessage:"Feature Flags"}}),experimental_bleve:(0,N.defineMessages)({name:{id:"admin.permissions.sysconsole_section_experimental_bleve.name",defaultMessage:"Bleve"}})};var th=s(24163);const sh="read",ah="write",nh=!1,ih="mixed";function rh(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class oh extends T().PureComponent{constructor(){super(...arguments),rh(this,"updatePermission",(e=>{const{section:t}=this.props,s=[];t.subsections&&t.subsections.length>0?t.subsections.forEach((t=>{let{name:a,disabled:n}=t;n||s.push({name:a,value:e})})):s.push({name:t.name,value:e}),this.props.updatePermissions(s)})),rh(this,"renderOption",((e,t)=>T().createElement("div",{className:"PermissionSectionDropdownOptions"},T().createElement("div",{className:"PermissionSectionDropdownOptions_label"},e),T().createElement("div",{className:"PermissionSectionDropdownOptions_description"},t))))}render(){const{isDisabled:e,section:t}=this.props,s=T().createElement(N.FormattedMessage,{id:"admin.permissions.system_role_permissions.write.title",defaultMessage:"Can edit"}),a=T().createElement(N.FormattedMessage,{id:"admin.permissions.system_role_permissions.write.description",defaultMessage:"Can add, edit and delete anything in this section."}),n=T().createElement(N.FormattedMessage,{id:"admin.permissions.system_role_permissions.read.title",defaultMessage:"Read only"}),i=T().createElement(N.FormattedMessage,{id:"admin.permissions.system_role_permissions.read.description",defaultMessage:"Can view this section but can't edit anything in it"}),r=T().createElement(N.FormattedMessage,{id:"admin.permissions.system_role_permissions.no_access.title",defaultMessage:"No access"}),o=T().createElement(N.FormattedMessage,{id:"admin.permissions.system_role_permissions.mixed_access.title",defaultMessage:"Mixed access"}),l=T().createElement(N.FormattedMessage,{id:"admin.permissions.system_role_permissions.no_access.description",defaultMessage:"No access to this section and it will be hidden in the navigation."});let d=r;switch(this.props.access){case sh:d=n;break;case ah:d=s;break;case ih:d=o;break;default:d=r}const c=H.Vw({id:"admin.permissions.system_role_permissions.change_access",defaultMessage:"Change role access on a system console section"});return T().createElement(hi.A,{isDisabled:e},T().createElement("button",{id:"systemRolePermissionDropdown".concat(t.name),className:"PermissionSectionDropdownButton dropdown-toggle theme",type:"button","aria-expanded":"true"},T().createElement("div",{className:"PermissionSectionDropdownButton_text"},d),T().createElement("div",{className:"PermissionSectionDropdownButton_icon"},T().createElement(th.A,null))),T().createElement(gi.A,{ariaLabel:c},T().createElement(gi.A.ItemAction,{onClick:()=>this.updatePermission(ah),text:this.renderOption(s,a)}),T().createElement(gi.A.ItemAction,{onClick:()=>this.updatePermission(sh),text:this.renderOption(n,i)}),T().createElement(gi.A.ItemAction,{onClick:()=>this.updatePermission(nh),text:this.renderOption(r,l)})))}}function lh(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}rh(oh,"propTypes",{updatePermissions:L().func.isRequired,isDisabled:L().bool});class dh extends T().PureComponent{constructor(){super(...arguments),lh(this,"isSectionVisible",((e,t)=>{const{permissionsMap:s,permissionsToUpdate:a}=this.props;return Object.keys(t).includes(e.name)?t[e.name]:this.getAccessForSection(e,s,a)===ih})),lh(this,"renderSubsectionToggle",((e,t)=>{if(!e.subsections||0===e.subsections.length)return null;const s=t?T().createElement("i",{className:"Icon icon-chevron-up"}):T().createElement("i",{className:"Icon icon-chevron-down"}),a=t?T().createElement(N.FormattedMessage,{id:"admin.permissions.system_role_permissions.hide_subsections",defaultMessage:"Hide {subsectionsCount} subsections",values:{subsectionsCount:e.subsections.length}}):T().createElement(N.FormattedMessage,{id:"admin.permissions.system_role_permissions.show_subsections",defaultMessage:"Show {subsectionsCount} subsections",values:{subsectionsCount:e.subsections.length}});return T().createElement("div",{className:"PermissionSubsectionsToggle"},T().createElement("button",{onClick:()=>this.props.setSectionVisible(e.name,!t),className:"dropdown-toggle theme color--link style--none"},a,s))})),lh(this,"renderSubsections",((e,t,s,a)=>e.subsections&&0!==e.subsections.length?T().createElement("div",null,a&&T().createElement("div",{className:"PermissionSubsections"},e.subsections.map((e=>this.renderSectionRow(e,t,s,a))))):null)),lh(this,"renderSectionRow",((e,t,s,a)=>{const n=eh[e.name]?T().createElement(N.FormattedMessage,eh[e.name].name):e.name,i=eh[e.name]?T().createElement(N.FormattedMessage,eh[e.name].description):"";return T().createElement("div",{key:e.name,className:"PermissionSection"},T().createElement("div",{className:"PermissionSectionText"},T().createElement("div",{className:"PermissionSectionText_title"},n),e.hasDescription&&i&&T().createElement("div",{className:"PermissionSection_description"},i),this.renderSubsectionToggle(e,a)),T().createElement("div",{className:"PermissionSectionDropdown"},T().createElement(oh,{section:e,updatePermissions:this.props.updatePermissions,access:this.getAccessForSection(e,t,s),isDisabled:this.props.readOnly||Boolean(e.disabled)})))})),lh(this,"getAccessForSection",((e,t,s)=>{if(e.subsections&&e.subsections.length>0){let a=!1,n=!1,i=!1;if(e.subsections.forEach((e=>{switch(this.getAccessForSectionByName(e.name,t,s)){case sh:n=!0;break;case ah:i=!0;break;default:a=!0}})),[n,i,a].filter((e=>e)).length>1)return ih;if(n)return sh;if(i)return ah;if(a)return nh}return this.getAccessForSectionByName(e.name,t,s)})),lh(this,"getAccessForSectionByName",((e,t,s)=>{if(t[M.A.MANAGE_SYSTEM])return ah;let a=!1;return e in s?a=s[e]:(!0===t["sysconsole_read_".concat(e)]&&(a=sh),!0===t["sysconsole_write_".concat(e)]&&(a=ah)),a}))}render(){const{section:e,permissionsMap:t,permissionsToUpdate:s,visibleSections:a}=this.props,n=this.isSectionVisible(e,a);return T().createElement("div",{className:"PermissionRow"},this.renderSectionRow(e,t,s,n),this.renderSubsections(e,t,s,n))}}function ch(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function mh(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?ch(Object(s),!0).forEach((function(t){uh(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):ch(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function uh(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}lh(dh,"propTypes",{readOnly:L().bool,setSectionVisible:L().func.isRequired,permissionsMap:L().objectOf(L().bool).isRequired,visibleSections:L().objectOf(L().bool).isRequired,updatePermissions:L().func.isRequired});const ph=[{name:"about",hasDescription:!0,subsections:[{name:"about_edition_and_license"}]},{name:"billing",hasDescription:!0,subsections:[]},{name:"reporting",hasDescription:!0,subsections:[{name:"reporting_site_statistics"},{name:"reporting_team_statistics"},{name:"reporting_server_logs"}]},{name:"user_management",hasDescription:!0,subsections:[{name:"user_management_users",hasDescription:!0},{name:"user_management_groups"},{name:"user_management_teams"},{name:"user_management_channels"},{name:"user_management_permissions"},{name:"user_management_system_roles",hasDescription:!0,disabled:!0}]},{name:"environment",hasDescription:!0,subsections:[{name:"environment_web_server"},{name:"environment_database"},{name:"environment_elasticsearch"},{name:"environment_file_storage"},{name:"environment_image_proxy"},{name:"environment_smtp"},{name:"environment_push_notification_server"},{name:"environment_high_availability"},{name:"environment_rate_limiting"},{name:"environment_logging"},{name:"environment_session_lengths"},{name:"environment_performance_monitoring"},{name:"environment_developer"}]},{name:"site",hasDescription:!0,subsections:[{name:"site_customization"},{name:"site_localization"},{name:"site_users_and_teams"},{name:"site_notifications"},{name:"site_announcement_banner"},{name:"site_emoji"},{name:"site_posts"},{name:"site_file_sharing_and_downloads"},{name:"site_public_links"},{name:"site_notices"}]},{name:"authentication",hasDescription:!0,subsections:[{name:"authentication_signup"},{name:"authentication_email"},{name:"authentication_password"},{name:"authentication_mfa"},{name:"authentication_ldap"},{name:"authentication_saml"},{name:"authentication_openid"},{name:"authentication_guest_access"}]},{name:"plugins",hasDescription:!0,subsections:[]},{name:"integrations",hasDescription:!0,subsections:[{name:"integrations_integration_management"},{name:"integrations_bot_accounts"},{name:"integrations_gif"},{name:"integrations_cors"}]},{name:"compliance",hasDescription:!0,subsections:[{name:"compliance_data_retention_policy"},{name:"compliance_compliance_export"},{name:"compliance_compliance_monitoring"},{name:"compliance_custom_terms_of_service"}]},{name:"experimental",hasDescription:!0,subsections:[{name:"experimental_features"},{name:"experimental_feature_flags"},{name:"experimental_bleve"}]}],gh={[x.Ay.PERMISSIONS_SYSTEM_USER_MANAGER]:{user_management:!0,authentication:!0}},hh=(0,$g.el)((e=>e.reduce(((e,t)=>(e[t]=!0,e)),{}))),fh=(0,$g.el)(((e,t,s)=>e.filter((e=>!s[t]||s[t][e.name]))));class Eh extends T().PureComponent{constructor(e){super(e),uh(this,"removeSection",(e=>{const t=ph.findIndex((t=>t.name===e));t>-1&&ph.splice(t,1)})),uh(this,"updatePermissions",(e=>{this.props.updatePermissions(e)})),uh(this,"setSectionVisible",((e,t)=>{const{visibleSections:s}=this.state;this.setState({visibleSections:mh(mh({},s),{},{[e]:t})})})),uh(this,"getRows",((e,t,s)=>{const{isLicensedForCloud:a}=this.props;let n=mh({},gh);if(this.props.role.name===x.Ay.PERMISSIONS_SYSTEM_CUSTOM_GROUP_ADMIN)return T().createElement(T().Fragment,null,T().createElement("p",null,T().createElement(N.FormattedMessage,{id:"admin.permissions.roles.system_custom_group_admin.introduction",defaultMessage:"The built-in Custom Group Manager role can be used to delegate the administration of <a>Custom Groups</a> to users other than the System Admin.",values:{a:e=>T().createElement(ce.A,{href:"https://docs.mattermost.com/welcome/manage-custom-groups.html",location:"adminConsoleSystemRoles"},e)}})),T().createElement("p",null,T().createElement(N.FormattedMessage,{id:"admin.permissions.roles.system_custom_group_admin.deauthorize_reminder",defaultMessage:"Don't forget to deauthorize all other system users from administering Custom Groups by unchecking the associated permissions checkbox in System console > User Management > Permissions."})),T().createElement("p",null,T().createElement(N.FormattedMessage,{id:"admin.permissions.roles.system_custom_group_admin.permissions_info",defaultMessage:"This role has permission to create, edit, and delete custom user groups by selecting <b>User groups</b> from the Products menu.",values:{b:e=>T().createElement("b",null,e)}})));if(this.props.role.name===x.Ay.PERMISSIONS_SYSTEM_USER_MANAGER){let t={};Object.keys(e).forEach((e=>{if(e.startsWith("sysconsole_")){const s=e.replace(/sysconsole_(read|write)_/,"");t=mh(mh({},t),{},{[s]:!0})}})),n={[x.Ay.PERMISSIONS_SYSTEM_USER_MANAGER]:mh(mh({},n[x.Ay.PERMISSIONS_SYSTEM_USER_MANAGER]),t)}}return a||this.removeSection("billing"),a&&(this.removeSection("about"),this.removeSection("environment")),fh(ph,this.props.role.name,n).map((a=>T().createElement(dh,{key:a.name,section:a,permissionsMap:e,permissionsToUpdate:t,visibleSections:s,setSectionVisible:this.setSectionVisible,updatePermissions:this.props.updatePermissions,readOnly:this.props.readOnly})))})),this.state={visibleSections:{}}}render(){const{role:e,permissionsToUpdate:t}=this.props,{visibleSections:s}=this.state,a=hh(e.permissions);return T().createElement(ko,{id:"SystemRolePermissions",title:(0,N.defineMessage)({id:"admin.permissions.system_role_permissions.title",defaultMessage:"Privileges"}),subtitle:(0,N.defineMessage)({id:"admin.permissions.system_role_permissions.description",defaultMessage:"Level of access to the system console."})},T().createElement("div",{className:"SystemRolePermissions"},this.getRows(a,t,s)))}}uh(Eh,"propTypes",{updatePermissions:L().func.isRequired,readOnly:L().bool,isLicensedForCloud:L().bool.isRequired});var bh=s(79342),vh=s(61767);const Mh=e=>{let{user:t}=e;return T().createElement("div",{className:"UserGrid_nameRow"},T().createElement(vh.A,{src:de.mT.getProfilePictureUrl(t.id,t.last_picture_update),status:t.status,size:"md"}),T().createElement("div",{className:"UserGrid_name"},T().createElement("span",null,"".concat(t.username," - ").concat(t.first_name," ").concat(t.last_name)),T().createElement("span",{className:"ug-email"},t.email)))},yh=e=>{let{user:t,removeUser:s,isDisabled:a}=e;return T().createElement("div",{className:"UserGrid_removeRow"},T().createElement("a",{onClick:e=>{e.preventDefault(),a||s(t)},href:"#",role:"button",className:a?"disabled":""},T().createElement(N.FormattedMessage,{id:"admin.user_grid.remove",defaultMessage:"Remove"})))};yh.propTypes={removeUser:L().func.isRequired,isDisabled:L().bool};const Sh=yh;var Ah=s(12762),Ch=s(19542),_h=s(72429);function Th(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function Nh(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class Rh extends T().PureComponent{constructor(e){super(e),Nh(this,"componentDidMount",(async()=>{await this.props.actions.getProfiles(0,100),this.setUsersLoadingState(!1)})),Nh(this,"setUsersLoadingState",(e=>{this.setState({loading:e})})),Nh(this,"search",(async e=>{this.setUsersLoadingState(!0);const t=[];if(""!==e){const{data:s}=await this.props.actions.searchProfiles(e,{replace:!0});s.forEach((e=>{e.is_bot||t.push(e)}))}else await this.props.actions.getProfiles(0,100);this.setState({loading:!1,searchResults:t,term:e})})),Nh(this,"handleHide",(()=>{this.setState({show:!1})})),Nh(this,"handleExit",(()=>{this.props.onExited&&this.props.onExited()})),Nh(this,"renderOption",((e,t,s,a)=>{let n="";return t&&(n="more-modal__row--selected"),T().createElement("div",{key:e.id,ref:t?"selected":e.id,className:"more-modal__row clickable "+n,onClick:()=>s(e),onMouseMove:()=>a(e)},T().createElement(vh.A,{src:de.mT.getProfilePictureUrl(e.id,e.last_picture_update),size:"md"}),T().createElement("div",{className:"more-modal__details"},T().createElement("div",{className:"more-modal__name"},(0,H.xK)(e),e.is_bot&&T().createElement(Ch.A,null),(0,bh.P)(e.roles)&&T().createElement(_h.A,{className:"popoverlist"}))),T().createElement("div",{className:"more-modal__actions"},T().createElement("div",{className:"more-modal__actions--round"},T().createElement("i",{className:"icon icon-plus"}))))})),Nh(this,"renderValue",(e=>{var t;return(null===(t=e.data)||void 0===t?void 0:t.username)||""})),Nh(this,"renderAriaLabel",(e=>(null==e?void 0:e.username)||"")),Nh(this,"handleAdd",(e=>{const t=[...this.state.values];t.includes(e)||t.push(e),this.setState({values:t})})),Nh(this,"handleDelete",(e=>{this.setState({values:e})})),Nh(this,"handlePageChange",((e,t)=>{if(e>t){const t=this.props.users.length/50<=e+1;this.setUsersLoadingState(t),this.props.actions.getProfiles(e,100).then((()=>this.setUsersLoadingState(!1)))}})),Nh(this,"handleSubmit",(()=>{this.props.onAddCallback(this.state.values),this.handleHide()})),Nh(this,"render",(()=>{const e=T().createElement("div",{id:"numPeopleRemaining"},T().createElement(N.FormattedMessage,{id:"multiselect.numPeopleRemaining",defaultMessage:"Use ↑↓ to browse, ↵ to select. You can add {num, number} more {num, plural, one {person} other {people}}. ",values:{num:20-this.state.values.length}})),t=(0,N.defineMessage)({id:"multiselect.add",defaultMessage:"Add"}),s=(0,N.defineMessage)({id:"multiselect.adding",defaultMessage:"Adding..."});let a=null;this.state.addError&&(a=T().createElement("div",{className:"has-error col-sm-12"},T().createElement("label",{className:"control-label font-weight--normal"},this.state.addError)));let n=[];if(n=this.state.term?this.state.searchResults:this.props.users,this.props.excludeUsers){const e=e=>!this.props.excludeUsers[e.id];n=n.filter(e)}if(this.props.includeUsers){let{includeUsers:e}=this.props;this.state.term&&(e=function(e,t){const s=Object.keys(e).map((t=>e[t])),a=(0,bh.V3)(s,t);return(0,g.f9)((0,bh.vC)(a),{})}(e,this.state.term)),n=[...n,...Object.values(e)]}const i=n.map((e=>function(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?Th(Object(s),!0).forEach((function(t){Nh(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):Th(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}({label:e.username,value:e.id},e))),r=Wg[this.props.role.name]?T().createElement(N.FormattedMessage,Wg[this.props.role.name].name):this.props.role.name;return T().createElement(ta.Modal,{id:"addUsersToRoleModal",dialogClassName:"a11y__modal more-modal more-direct-channels",show:this.state.show,onHide:this.handleHide,onExited:this.handleExit},T().createElement(ta.Modal.Header,{closeButton:!0},T().createElement(ta.Modal.Title,{componentClass:"h1"},T().createElement(N.FormattedMessage,{id:"add_users_to_role.title",defaultMessage:"Add users to {roleName}",values:{roleName:T().createElement("strong",null,r)}}))),T().createElement(ta.Modal.Body,null,a,T().createElement(ir.A,{key:"addUsersToRoleKey",options:i,optionRenderer:this.renderOption,intl:this.props.intl,ariaLabelRenderer:this.renderAriaLabel,values:this.state.values,valueRenderer:this.renderValue,perPage:50,handlePageChange:this.handlePageChange,handleInput:this.search,handleDelete:this.handleDelete,handleAdd:this.handleAdd,handleSubmit:this.handleSubmit,maxValues:20,numRemainingText:e,buttonSubmitText:t,buttonSubmitLoadingText:s,saving:this.state.saving,loading:this.state.loading,placeholderText:(0,N.defineMessage)({id:"multiselect.placeholder",defaultMessage:"Search and add members"})})))})),this.state={searchResults:[],values:[],show:!0,saving:!1,addError:null,loading:!0,term:""}}}Nh(Rh,"propTypes",{users:L().array.isRequired,onAddCallback:L().func.isRequired,onExited:L().func.isRequired,actions:L().shape({getProfiles:L().func.isRequired,searchProfiles:L().func.isRequired}).isRequired});const wh=(0,N.injectIntl)(Rh),Ih=(0,a.connect)((function(e,t){const s={active:!0,exclude_roles:[t.role.name],exclude_bots:!0};return{users:(0,g.r7)(e,s)}}),(function(e){return{actions:(0,n.bindActionCreators)({getProfiles:ds.r7,searchProfiles:ds.U},e)}}))(wh);function Oh(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class Ph extends T().PureComponent{constructor(e){super(e),Oh(this,"setStateLoading",(e=>{this.setState({loading:e})})),Oh(this,"getVisibleTotalCount",(()=>{const{usersToRemove:e,usersToAdd:t,totalCount:s}=this.props;return s+(Object.keys(t).length-Object.keys(e).length)})),Oh(this,"getPaginationProps",(()=>{const{term:e,usersToRemove:t,usersToAdd:s}=this.props,{page:a}=this.state;let n,i=0;const r=10*a+1;return""===e?n=this.getVisibleTotalCount():(n=this.props.users.length+Object.keys(s).length,this.props.users.forEach((e=>{t[e.id]&&(n-=1)}))),i=10*(a+1),i=i>n?n:i,{startCount:r,endCount:i,total:n}})),Oh(this,"onSearch",(async e=>{this.props.actions.setUserGridSearch(e)})),Oh(this,"nextPage",(async()=>{if(this.state.loading)return;const e=this.state.page+1;this.setState({loading:!0}),await this.props.actions.getProfiles(e,10,{role:this.props.role.name}),this.setState({loading:!1,page:e})})),Oh(this,"previousPage",(async()=>{this.state.loading||0===this.state.page||this.setState({page:this.state.page-1})})),Oh(this,"getRows",(()=>{const{users:e,readOnly:t,usersToAdd:s,usersToRemove:a}=this.props,{startCount:n,endCount:i}=this.getPaginationProps();let r=e;return r=r.filter((e=>!a[e.id])),r=[...Object.values(s),...r],r=r.slice(n-1,i),r.map((e=>({cells:{id:e.id,name:T().createElement(Mh,{user:e}),new:s[e.id]?T().createElement(Wa.A,{variant:"info",uppercase:!0,text:T().createElement(N.FormattedMessage,{id:"admin.user_grid.new",defaultMessage:"New"})}):null,remove:T().createElement(Sh,{user:e,removeUser:this.onRemoveCallback,isDisabled:t})}})))})),Oh(this,"getColumns",(()=>[{name:T().createElement(N.FormattedMessage,{id:"admin.user_grid.name",defaultMessage:"Name"}),field:"name",width:3,fixed:!0},{name:"",field:"new",width:1,fixed:!0},{name:"",field:"remove",textAlign:"right",fixed:!0}])),Oh(this,"onAddCallback",(e=>{this.props.onAddCallback(e)})),Oh(this,"onRemoveCallback",(e=>{this.props.onRemoveCallback(e)})),this.searchTimeoutId=0,this.state={loading:!0,page:0,includeUsers:{},excludeUsers:{}}}async componentDidMount(){const{getProfiles:e,getFilteredUsersStats:t,setUserGridSearch:s}=this.props.actions;await Promise.all([s(""),e(0,10,{role:this.props.role.name}),t({roles:[this.props.role.name]})]),this.setStateLoading(!1)}async componentDidUpdate(e){if(e.term!==this.props.term){this.setStateLoading(!0),clearTimeout(this.searchTimeoutId);const{term:t}=this.props;if(""===t)return this.searchTimeoutId=0,void this.setStateLoading(!1);const s=window.setTimeout((async()=>{await e.actions.searchProfiles(t,{role:this.props.role.name}),s===this.searchTimeoutId&&this.setStateLoading(!1)}),x.Ay.SEARCH_TIMEOUT_MILLISECONDS);this.searchTimeoutId=s}}render(){const{page:e,loading:t}=this.state,{term:s,role:a,usersToAdd:n,usersToRemove:i,readOnly:r}=this.props,{startCount:o,endCount:l,total:d}=this.getPaginationProps();return T().createElement(ko,{id:"SystemRoleUsers",title:(0,N.defineMessage)({id:"admin.permissions.system_role_users.title",defaultMessage:"Assigned People"}),subtitle:(0,N.defineMessage)({id:"admin.permissions.system_role_users.description",defaultMessage:"List of people assigned to this system role."}),button:T().createElement(Ah.A,{id:"addRoleMembers",className:"btn btn-primary",modalId:x.IQ.ADD_USER_TO_ROLE,dialogType:Ih,disabled:r,dialogProps:{role:a,onAddCallback:this.onAddCallback,skipCommit:!0,excludeUsers:n,includeUsers:i}},T().createElement(N.FormattedMessage,{id:"admin.permissions.system_role_users.add_people",defaultMessage:"Add People"}))},T().createElement(oi,{rows:this.getRows(),columns:this.getColumns(),nextPage:this.nextPage,previousPage:this.previousPage,page:e,startCount:o,endCount:l,loading:t,onSearch:this.onSearch,term:s,total:d}))}}Oh(Ph,"propTypes",{users:L().array.isRequired,totalCount:L().number.isRequired,term:L().string.isRequired,onAddCallback:L().func.isRequired,onRemoveCallback:L().func.isRequired,actions:L().shape({getFilteredUsersStats:L().func.isRequired,getProfiles:L().func.isRequired,searchProfiles:L().func.isRequired,setUserGridSearch:L().func.isRequired}).isRequired,readOnly:L().bool});const kh=(0,a.connect)((function(e,t){var s,a;const{roleName:n}=t,i=(0,C.O0)(e)[n],r=(null===(s=(0,g.$c)(e))||void 0===s?void 0:s.total_users_count)||0,o=(null===(a=e.views.search.userGridSearch)||void 0===a?void 0:a.term)||"",l={roles:[i.name]},d=(0,g.T_)();let c=[],{usersToAdd:m}=t;return o?(c=d(e,o,!1,l),m=function(e,t){const s=(0,bh.V3)(Object.keys(e).map((t=>e[t])),t);return(0,g.f9)((0,bh.vC)(s),{})}(m,o)):c=(0,g.r7)(e,l),{role:i,users:c,totalCount:r,term:o,usersToAdd:m}}),(function(e){return{actions:(0,n.bindActionCreators)({getProfiles:ds.r7,getFilteredUsersStats:ds.$c,searchProfiles:ds.U,setUserGridSearch:Ni.u},e)}}))(Ph);function xh(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function Dh(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?xh(Object(s),!0).forEach((function(t){Lh(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):xh(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function Lh(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class Fh extends T().PureComponent{constructor(e){super(e),Lh(this,"getSaveStateNeeded",(e=>{const{role:t}=this.props,{usersToAdd:s,usersToRemove:a,updatedRolePermissions:n,permissionsToUpdate:i}=Dh(Dh({},this.state),e);let r=!1;return r=Object.keys(s).length>0||Object.keys(a).length>0,Object.keys(i).length>0&&(r=r||Jg()(n,t.permissions).length>0||Jg()(t.permissions,n).length>0),r})),Lh(this,"addUsersToRole",(e=>{const{actions:{setNavigationBlocked:t}}=this.props,s=Dh({},this.state.usersToAdd),a=Dh({},this.state.usersToRemove);e.forEach((e=>{a[e.id]?delete a[e.id]:s[e.id]=e}));const n=this.getSaveStateNeeded({usersToAdd:s,usersToRemove:a});t(n),this.setState({usersToAdd:s,usersToRemove:a,saveNeeded:n})})),Lh(this,"removeUserFromRole",(e=>{const{actions:{setNavigationBlocked:t}}=this.props,s=Dh({},this.state.usersToAdd),a=Dh({},this.state.usersToRemove);s[e.id]?delete s[e.id]:a[e.id]=e;const n=this.getSaveStateNeeded({usersToAdd:s,usersToRemove:a});t(n),this.setState({usersToRemove:a,usersToAdd:s,saveNeeded:n})})),Lh(this,"handleSubmit",(async()=>{this.setState({saving:!0,saveNeeded:!1});const{usersToRemove:e,usersToAdd:t,updatedRolePermissions:s,permissionsToUpdate:a}=this.state,{role:n,actions:{editRole:i,updateUserRoles:r,setNavigationBlocked:o}}=this.props;let l;if(n.name!==x.Ay.PERMISSIONS_SYSTEM_ADMIN&&Object.keys(a).length>0){const e=await de.mT.getAncillaryPermissions(s),t=Dh(Dh({},n),{},{permissions:e}),a=await i(t);(0,Xg.b)(a)&&(l=T().createElement(ye.A,{error:a.error.message}))}const d=Object.keys(e);if(d.length>0){const t=[];d.forEach((s=>{const a=e[s],i=Kg()(a.roles.split(" ").filter((e=>e!==n.name))).join(" ");t.push(r(s,i))}));const s=(await Promise.all(t)).find(Xg.b);s&&"error"in s&&(l=T().createElement(ye.A,{error:s.error.message}))}const c=Object.keys(t);if(c.length>0&&!l){const e=[];c.forEach((s=>{const a=t[s],i=Kg()([...a.roles.split(" "),n.name]).join(" ");e.push(r(s,i))}));const s=(await Promise.all(e)).find(Xg.b);s&&"error"in s&&(l=T().createElement(ye.A,{error:s.error.message}))}let{saveKey:m}=this.state;l||(m+=1),l||(0,fi.J)().push("/admin_console/user_management/system_roles"),o(Boolean(l)),this.setState({saveNeeded:Boolean(l),saving:!1,serverError:l,usersToAdd:{},usersToRemove:{},saveKey:m})})),Lh(this,"updatePermissions",(e=>{const{role:t,actions:{setNavigationBlocked:s}}=this.props,a={};e.forEach((e=>{a[e.name]=e.value}));const n=Dh(Dh({},this.state.permissionsToUpdate),a);let i=t.permissions.filter((e=>e.startsWith("sysconsole_")&&!(e.replace(/sysconsole_(read|write)_/,"")in n)));Object.keys(n).forEach((e=>{const t=n[e];if(t){const s="sysconsole_read_".concat(e),a="sysconsole_write_".concat(e);t===ah?i.push(s,a):i.push(s)}})),t.name===x.Ay.PERMISSIONS_SYSTEM_ADMIN&&i.push(M.A.MANAGE_SYSTEM),i=Kg()(i);const r={permissionsToUpdate:n,updatedRolePermissions:i};s(this.getSaveStateNeeded(r)),this.setState(Dh(Dh({},r),{},{saveNeeded:this.getSaveStateNeeded(r)}))})),this.state={usersToAdd:{},usersToRemove:{},saving:!1,saveNeeded:!1,serverError:void 0,permissionsToUpdate:{},saveKey:0,updatedRolePermissions:[]}}render(){const{usersToAdd:e,usersToRemove:t,saving:s,saveNeeded:a,serverError:n,permissionsToUpdate:i,saveKey:r}=this.state,{role:o,isDisabled:l,isLicensedForCloud:d}=this.props,c=Wg[o.name]?T().createElement(N.FormattedMessage,Wg[o.name].name):o.name;return T().createElement("div",{className:"wrapper--fixed"},T().createElement(et,{withBackButton:!0},T().createElement("div",null,T().createElement(ka.A,{to:"/admin_console/user_management/system_roles",className:"fa fa-angle-left back"}),c)),T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},T().createElement(Eh,{role:o,isLicensedForCloud:d,permissionsToUpdate:i,updatePermissions:this.updatePermissions,readOnly:l||o.name===x.Ay.PERMISSIONS_SYSTEM_ADMIN}),T().createElement(kh,{key:r,roleName:o.name,usersToAdd:e,usersToRemove:t,onAddCallback:this.addUsersToRole,onRemoveCallback:this.removeUserFromRole,readOnly:l}))),T().createElement(tl,{saving:s,cancelLink:"/admin_console/user_management/system_roles",saveNeeded:a,onClick:this.handleSubmit,serverError:n,isDisabled:l}))}}Lh(Fh,"propTypes",{isDisabled:L().bool,isLicensedForCloud:L().bool.isRequired,actions:L().shape({setNavigationBlocked:L().func.isRequired}).isRequired});const Bh=(0,a.connect)((function(e,t){const s=(0,u.Ep)(e)[t.match.params.role_id];return{isLicensedForCloud:"true"===(0,c.Ay)(e).Cloud,role:s}}),(function(e){return{actions:(0,n.bindActionCreators)({editRole:r.D3,updateUserRoles:ds.eA,setNavigationBlocked:h.Jb},e)}}))(Fh);s(91736);const Hh=["isLoading"],Uh=e=>{let{isLoading:t=!1}=e,s=function(e,t){if(null==e)return{};var s,a,n=function(e,t){if(null==e)return{};var s={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;s[a]=e[a]}return s}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)s=i[a],t.includes(s)||{}.propertyIsEnumerable.call(e,s)&&(n[s]=e[s])}return n}(e,Hh);return!s.user||t?T().createElement("div",{className:"AdminUserCard"},T().createElement("div",{className:"AdminUserCard__header"},T().createElement(vh.A,{src:"",size:"xxl",wrapperClass:"admin-user-card"})),T().createElement("div",{className:"noUserBody"},t&&T().createElement($s.A,null),!t&&T().createElement(N.FormattedMessage,{id:"admin.userManagement.userDetail.notFound",defaultMessage:"User not found"}))):T().createElement("div",{className:"AdminUserCard"},T().createElement("div",{className:"AdminUserCard__header"},T().createElement(vh.A,{src:de.mT.getProfilePictureUrl(s.user.id,s.user.last_picture_update),size:"xxl",wrapperClass:"admin-user-card",userId:s.user.id}),T().createElement("div",{className:"AdminUserCard__user-info"},T().createElement("span",null,s.user.first_name," ",s.user.last_name),T().createElement(Gh,{user:s.user}),T().createElement("span",{className:"AdminUserCard__user-nickname"},s.user.nickname)),T().createElement("div",{className:"AdminUserCard__user-id"},T().createElement(N.FormattedMessage,{id:"admin.userManagement.userDetail.userId",defaultMessage:"User ID: {userId}",values:{userId:s.user.id}}))),T().createElement("div",{className:"AdminUserCard__body"},s.body),T().createElement("div",{className:"AdminUserCard__footer"},s.footer))};Uh.propTypes={isLoading:L().bool,body:L().node,footer:L().node};const Gh=e=>(e.user.first_name||e.user.last_name)&&e.user.nickname?T().createElement("span",null," • "):null,jh=Uh;function qh(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class Wh extends T().PureComponent{constructor(e){super(e),qh(this,"doSubmit",(async e=>{var t,s;if(e.preventDefault(),!this.props.user)return;let a="";if(this.currentPasswordRef.current&&(a=this.currentPasswordRef.current.value,""===a)){const e=T().createElement(N.FormattedMessage,{id:"admin.reset_password.missing_current",defaultMessage:"Please enter your current password."});return void this.setState({serverErrorCurrentPass:e})}const n=this.passwordRef.current.value,{valid:i,error:r}=(0,Gd.s)(n,this.props.passwordConfig);if(!i&&r)return void this.setState({serverErrorNewPass:r});this.setState({serverErrorNewPass:null});const o=await this.props.actions.updateUserPassword(this.props.user.id,a,n);"error"in o?this.setState({serverErrorCurrentPass:o.error.message}):(null===(t=(s=this.props).onSuccess)||void 0===t||t.call(s),this.setState({show:!1}))})),qh(this,"doCancel",(()=>{this.setState({show:!1,serverErrorNewPass:null,serverErrorCurrentPass:null})})),this.state={show:!0,serverErrorNewPass:null,serverErrorCurrentPass:null},this.currentPasswordRef=T().createRef(),this.passwordRef=T().createRef()}componentWillUnmount(){this.setState({serverErrorNewPass:null,serverErrorCurrentPass:null})}render(){const e=this.props.user;if(null==e)return T().createElement("div",null);let t,s="input-group input-group--limit",a=null;this.state.serverErrorNewPass&&(s+=" has-error",a=T().createElement("div",{className:"has-error"},T().createElement("p",{className:"input__help error"},this.state.serverErrorNewPass))),t=e.auth_service?T().createElement(N.FormattedMessage,{id:"admin.reset_password.titleSwitch",defaultMessage:"Switch Account to Email/Password"}):T().createElement(N.FormattedMessage,{id:"admin.reset_password.titleReset",defaultMessage:"Reset Password"});let n=null,i=null,r=!0;if(this.props.currentUserId===e.id){r=!1;let e="input-group input-group--limit";this.state.serverErrorCurrentPass&&(e+=" has-error",i=T().createElement("div",{className:"has-error"},T().createElement("p",{className:"input__help error"},this.state.serverErrorCurrentPass))),n=T().createElement("div",{className:"col-sm-10 password__group-addon-space"},T().createElement("div",{className:e},T().createElement("span",{"data-toggle":"tooltip",title:"Current Password",className:"input-group-addon password__group-addon"},T().createElement(N.FormattedMessage,{id:"admin.reset_password.curentPassword",defaultMessage:"Current Password"})),T().createElement("input",{type:"password",ref:this.currentPasswordRef,className:"form-control",autoFocus:!0})))}return T().createElement(ta.Modal,{dialogClassName:"a11y__modal",show:this.state.show,onHide:this.doCancel,onExited:this.props.onExited,role:"none","aria-labelledby":"resetPasswordModalLabel"},T().createElement(ta.Modal.Header,{closeButton:!0},T().createElement(ta.Modal.Title,{componentClass:"h1",id:"resetPasswordModalLabel"},t)),T().createElement("form",{role:"form",className:"form-horizontal"},T().createElement(ta.Modal.Body,null,T().createElement("div",{className:"form-group"},n,T().createElement("div",{className:"col-sm-10"},T().createElement("div",{className:s},T().createElement("span",{"data-toggle":"tooltip",title:"New Password",className:"input-group-addon password__group-addon"},T().createElement(N.FormattedMessage,{id:"admin.reset_password.newPassword",defaultMessage:"New Password"})),T().createElement("input",{type:"password",ref:this.passwordRef,className:"form-control",autoFocus:r})),a,i))),T().createElement(ta.Modal.Footer,null,T().createElement("button",{type:"button",className:"btn btn-tertiary",onClick:this.doCancel},T().createElement(N.FormattedMessage,{id:"admin.reset_password.cancel",defaultMessage:"Cancel"})),T().createElement("button",{onClick:this.doSubmit,type:"submit",className:"btn btn-primary"},T().createElement(N.FormattedMessage,{id:"admin.reset_password.reset",defaultMessage:"Reset"})))))}}qh(Wh,"propTypes",{currentUserId:L().string.isRequired,onSuccess:L().func,onExited:L().func.isRequired,passwordConfig:L().shape({minimumLength:L().number.isRequired,requireLowercase:L().bool.isRequired,requireNumber:L().bool.isRequired,requireSymbol:L().bool.isRequired,requireUppercase:L().bool.isRequired}).isRequired,actions:L().shape({updateUserPassword:L().func.isRequired}).isRequired});const Vh=(0,a.connect)((function(e){return{currentUserId:(0,g.WR)(e),passwordConfig:(0,c.OG)(e)}}),(function(e){return{actions:(0,n.bindActionCreators)({updateUserPassword:ds.ej},e)}}))(Wh);var zh=s(8389);function Yh(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const Zh=10;class Jh extends T().PureComponent{constructor(e){super(e),Yh(this,"previousPage",(async e=>{e.preventDefault();const t=this.state.page<1?0:this.state.page-1;this.setState({page:t,loading:!0}),this.performSearch()})),Yh(this,"nextPage",(async e=>{e.preventDefault();const t=this.state.page+1;this.setState({page:t,loading:!0}),this.performSearch()})),Yh(this,"performSearch",(()=>{const e=this.props.userId;this.setState({loading:!0}),this.props.actions.getTeamsData(e).then((()=>{this.props.onPageChangedCallback&&this.props.onPageChangedCallback(this.getPaging()),this.setState({loading:!1})}))})),Yh(this,"renderHeaderLabels",(()=>this.props.data.length>0?T().createElement("div",{className:"AbstractList__header"},this.props.headerLabels.map(((e,t)=>{const s=t,a=e.label?T().createElement(N.FormattedMessage,e.label):"";return T().createElement("div",{key:s,className:"AbstractList__header-label",style:e.style},a)}))):null)),Yh(this,"renderRows",(()=>{if(this.state.loading)return T().createElement("div",{className:"AbstractList__loading"},T().createElement("i",{className:"fa fa-spinner fa-pulse fa-2x"}));if(0===this.props.data.length)return T().createElement("div",{className:"AbstractList__empty"},T().createElement(N.FormattedMessage,this.props.emptyList));const e=this.state.page<1?0:this.state.page*Zh,t=this.state.page<1?Zh:(this.state.page+1)*Zh;return this.props.data.slice(e,t).map(this.props.renderRow)})),Yh(this,"render",(()=>{const{startCount:e,endCount:t,total:s}=this.getPaging(),a=t===s,n=0===this.state.page;return T().createElement("div",{className:"AbstractList"},this.renderHeaderLabels(),T().createElement("div",{className:"AbstractList__body"},this.renderRows()),s>0&&T().createElement("div",{className:"AbstractList__footer"},T().createElement("div",{className:"counter"},T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.list.paginatorCount",defaultMessage:"{startCount, number} - {endCount, number} of {total, number}",values:{startCount:e,endCount:t,total:s}})),T().createElement("button",{type:"button",className:"btn btn-tertiary prev "+(n?"disabled":""),onClick:n?()=>null:this.previousPage,disabled:n},T().createElement(Fn.A,null)),T().createElement("button",{type:"button",className:"btn btn-tertiary next "+(a?"disabled":""),onClick:a?()=>null:this.nextPage,disabled:a},T().createElement(Ln.A,null))))})),this.state={loading:!0,page:0}}componentDidMount(){this.performSearch()}getPaging(){const e=this.state.page*Zh+1;let t=this.state.page*Zh+Zh;const s=this.props.total;return t>s&&(t=s),{startCount:e,endCount:t,total:s}}}function Qh(e){const{formatMessage:t}=(0,N.useIntl)();return T().createElement("span",e,T().createElement("svg",{width:e.width||"24px",height:e.width||"24px",viewBox:"0 0 24 24",role:"img","aria-label":t({id:"generic_icons.elipsisHorizontalIcon",defaultMessage:"Ellipsis Horizontal Icon"})},T().createElement("path",{d:"M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z"})))}Yh(Jh,"propTypes",{userId:L().string.isRequired,headerLabels:L().arrayOf(L().shape({})).isRequired,data:L().array,onPageChangedCallback:L().func,total:L().number.isRequired,renderRow:L().func.isRequired,actions:L().shape({getTeamsData:L().func.isRequired,removeGroup:L().func}).isRequired}),Yh(Jh,"defaultProps",{data:[]}),Qh.propTypes={width:L().string,height:L().string};const Kh=e=>{let{team:t,doRemoveUserFromTeam:s,doMakeUserTeamAdmin:a,doMakeUserTeamMember:n,isDisabled:i}=e;const r=(0,N.useIntl)(),o=t.scheme_admin,l=t.scheme_user&&!t.scheme_admin,d=t.scheme_guest,c=!o&&!d,m=!l&&!d,u=(0,_.useCallback)((()=>a(t.id)),[t.id,a]),p=(0,_.useCallback)((()=>n(t.id)),[t.id,n]),g=(0,_.useCallback)((()=>s(t.id)),[t.id,s]);return T().createElement(hi.A,{isDisabled:i},T().createElement("button",{type:"button",id:"teamListDropdown_".concat(t.id),className:"dropdown-toggle theme color--link style--none","aria-expanded":"true"},T().createElement("span",{className:"SystemUserDetail__actions-menu-icon"},T().createElement(Qh,null))),T().createElement("div",null,T().createElement(gi.A,{openLeft:!0,openUp:!1,ariaLabel:r.formatMessage({id:"team_members_dropdown.menuAriaLabel",defaultMessage:"Change the role of a team member"})},T().createElement(gi.A.ItemAction,{id:"makeTeamAdmin",show:c,onClick:u,text:r.formatMessage({id:"team_members_dropdown.makeAdmin",defaultMessage:"Make Team Admin"})}),T().createElement(gi.A.ItemAction,{show:m,onClick:p,text:r.formatMessage({id:"team_members_dropdown.makeMember",defaultMessage:"Make Team Member"})}),T().createElement(gi.A.ItemAction,{id:"removeFromTeam",show:!0,onClick:g,text:r.formatMessage({id:"team_members_dropdown.leave_team",defaultMessage:"Remove from Team"}),buttonClass:"SystemUserDetail__action-remove-team"}))))};Kh.propTypes={doRemoveUserFromTeam:L().func.isRequired,doMakeUserTeamAdmin:L().func.isRequired,doMakeUserTeamMember:L().func.isRequired,isDisabled:L().bool};const Xh=(0,_.memo)(Kh);function $h(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class ef extends T().PureComponent{constructor(){super(...arguments),$h(this,"renderTeamType",(e=>e.group_constrained?T().createElement(N.FormattedMessage,{id:"admin.systemUserDetail.teamList.teamType.groupSync",defaultMessage:"Group sync"}):e.allow_open_invite?T().createElement(N.FormattedMessage,{id:"admin.systemUserDetail.teamList.teamType.anyoneCanJoin",defaultMessage:"Anyone can join"}):T().createElement(N.FormattedMessage,{id:"admin.systemUserDetail.teamList.teamType.inviteOnly",defaultMessage:"Invite only"}))),$h(this,"renderTeamRole",(e=>e.scheme_guest?T().createElement(N.FormattedMessage,{id:"admin.systemUserDetail.teamList.teamRole.guest",defaultMessage:"Guest"}):e.scheme_admin&&!e.scheme_guest?T().createElement(N.FormattedMessage,{id:"admin.systemUserDetail.teamList.teamRole.admin",defaultMessage:"Team Admin"}):!e.scheme_user||e.scheme_guest||e.scheme_admin?null:T().createElement(N.FormattedMessage,{id:"admin.systemUserDetail.teamList.teamRole.member",defaultMessage:"Team Member"}))),$h(this,"render",(()=>{const{team:e}=this.props,t=H.lt(e);return T().createElement("div",{className:"TeamRow"},T().createElement("div",{className:"TeamRow__row"},T().createElement("div",{className:"TeamRow__team-name"},T().createElement("div",{className:"col-sm-auto"},T().createElement($i.A,{size:"sm",url:t,content:e.display_name})),T().createElement("div",{className:"col-md-auto"},T().createElement("b",null,e.display_name),e.description&&T().createElement("div",{className:"overflow--ellipsis text-nowrap TeamRow__team-description"},e.description))),T().createElement("span",{className:"TeamRow__description"},this.renderTeamType(e)),T().createElement("span",{className:"TeamRow__description"},this.renderTeamRole(e)),T().createElement("span",{className:"TeamRow__actions"},T().createElement(Xh,{team:e,doRemoveUserFromTeam:this.props.doRemoveUserFromTeam,doMakeUserTeamAdmin:this.props.doMakeUserTeamAdmin,doMakeUserTeamMember:this.props.doMakeUserTeamMember,isDisabled:this.props.readOnly}))))}))}}function tf(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function sf(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?tf(Object(s),!0).forEach((function(t){af(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):tf(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function af(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}$h(ef,"propTypes",{onRowClick:L().func,doRemoveUserFromTeam:L().func.isRequired,doMakeUserTeamAdmin:L().func.isRequired,doMakeUserTeamMember:L().func.isRequired,readOnly:L().bool});const nf=[{label:(0,N.defineMessage)({id:"admin.systemUserDetail.teamList.header.name",defaultMessage:"Name"}),style:{flexGrow:1,minWidth:"284px",marginLeft:"16px"}},{label:(0,N.defineMessage)({id:"admin.systemUserDetail.teamList.header.type",defaultMessage:"Type"}),style:{width:"150px"}},{label:(0,N.defineMessage)({id:"admin.systemUserDetail.teamList.header.role",defaultMessage:"Role"}),style:{width:"150px"}},{style:{width:"150px"}}];class rf extends T().PureComponent{constructor(e){var t;super(e),t=this,af(this,"getTeamsAndMemberships",(async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:t.props.userId;const s=await t.props.actions.getTeamsData(e),a=await t.props.actions.getTeamMembersForUser(e);return Promise.all([s,a]).then(t.mergeTeamsWithMemberships).then((e=>{t.setState({teamsWithMemberships:e}),t.props.userDetailCallback(e)}))})),af(this,"mergeTeamsWithMemberships",(e=>{const t=e[0].data,s=e[1].data;if(!t||!s)return[];let a=t.map((e=>{const t=s.filter((t=>t.team_id===e.id));return sf(sf({},e),t[0])}));return a=(0,zh.y)(a,this.props.locale),a})),af(this,"doRemoveUserFromTeam",(async e=>{const{error:t}=await this.props.actions.removeUserFromTeam(e,this.props.userId);t?this.setState({serverError:t.message}):this.getTeamsAndMemberships()})),af(this,"doMakeUserTeamAdmin",(async e=>{const{error:t}=await this.props.actions.updateTeamMemberSchemeRoles(e,this.props.userId,!0,!0);t?this.setState({serverError:t.message}):this.getTeamsAndMemberships()})),af(this,"doMakeUserTeamMember",(async e=>{const{error:t}=await this.props.actions.updateTeamMemberSchemeRoles(e,this.props.userId,!0,!1);t?this.setState({serverError:t.message}):this.getTeamsAndMemberships()})),af(this,"renderRow",(e=>T().createElement(ef,{key:e.id,team:e,doRemoveUserFromTeam:this.doRemoveUserFromTeam,doMakeUserTeamAdmin:this.doMakeUserTeamAdmin,doMakeUserTeamMember:this.doMakeUserTeamMember,readOnly:this.props.readOnly}))),this.state={teamsWithMemberships:[],serverError:null}}componentDidMount(){this.getTeamsAndMemberships()}componentDidUpdate(e){e.refreshTeams!==this.props.refreshTeams&&this.getTeamsAndMemberships()}render(){let e=null;return this.state.serverError&&(e=T().createElement("div",{className:"SystemUserDetail__error has-error"},T().createElement("label",{className:"has-error control-label"},this.state.serverError))),T().createElement(T().Fragment,null,T().createElement("div",null,e),T().createElement(Jh,{headerLabels:nf,renderRow:this.renderRow,total:this.state.teamsWithMemberships.length,data:this.state.teamsWithMemberships,actions:this.props.actions,emptyList:this.props.emptyList,userId:this.props.userId}))}}af(rf,"propTypes",{userId:L().string.isRequired,locale:L().string.isRequired,actions:L().shape({getTeamsData:L().func.isRequired,getTeamMembersForUser:L().func.isRequired,removeUserFromTeam:L().func.isRequired,updateTeamMemberSchemeRoles:L().func.isRequired}).isRequired,userDetailCallback:L().func.isRequired,refreshTeams:L().bool,readOnly:L().bool}),af(rf,"defaultProps",{emptyList:(0,N.defineMessage)({id:"admin.team_settings.team_list.no_teams_found",defaultMessage:"No teams found"}),refreshTeams:!1});const of=(0,a.connect)((function(e){return{locale:(0,ms.k)(e)}}),(function(e){return{actions:(0,n.bindActionCreators)({getTeamsData:o.Bk,getTeamMembersForUser:o.NX,removeUserFromTeam:o.fy,updateTeamMemberSchemeRoles:o.bd},e)}}))(rf);var lf=s(865);function df(e){const t=T().createElement(N.FormattedMessage,{id:"userSettings.adminMode.modal_header",defaultMessage:"Manage {userDisplayName}'s Settings",values:{userDisplayName:(0,H.Mn)(e.user)}}),s=T().createElement(N.FormattedMessage,{id:"admin.user_item.manageSettings.confirm_dialog.body",defaultMessage:"You are about to access {userDisplayName}'s account settings. Any modifications you make will take effect immediately in their account. {userDisplayName} retains the ability to view and modify these settings at any time.<br></br><br></br> Are you sure you want to proceed with managing {userDisplayName}'s settings?",values:{userDisplayName:(0,H.Mn)(e.user),br:e=>T().createElement(T().Fragment,null,T().createElement("br",null),e)}}),a=T().createElement(N.FormattedMessage,{id:"admin.user_item.manageSettings",defaultMessage:"Manage User Settings"});return T().createElement(lf.A,{title:t,message:s,confirmButtonText:a,onConfirm:e.onConfirm,onExited:e.onExited})}df.propTypes={onConfirm:L().func.isRequired,onExited:L().func.isRequired};var cf=s(59529);function mf(e){return T().createElement("span",e,T().createElement("svg",{width:"100%",height:"100%",viewBox:"0 0 24 24"},T().createElement("path",{fill:"inherit",d:"M12,15C12.81,15 13.5,14.7 14.11,14.11C14.7,13.5 15,12.81 15,12C15,11.19 14.7,10.5 14.11,9.89C13.5,9.3 12.81,9 12,9C11.19,9 10.5,9.3 9.89,9.89C9.3,10.5 9,11.19 9,12C9,12.81 9.3,13.5 9.89,14.11C10.5,14.7 11.19,15 12,15M12,2C14.75,2 17.1,3 19.05,4.95C21,6.9 22,9.25 22,12V13.45C22,14.45 21.65,15.3 21,16C20.3,16.67 19.5,17 18.5,17C17.3,17 16.31,16.5 15.56,15.5C14.56,16.5 13.38,17 12,17C10.63,17 9.45,16.5 8.46,15.54C7.5,14.55 7,13.38 7,12C7,10.63 7.5,9.45 8.46,8.46C9.45,7.5 10.63,7 12,7C13.38,7 14.55,7.5 15.54,8.46C16.5,9.45 17,10.63 17,12V13.45C17,13.86 17.16,14.22 17.46,14.53C17.76,14.84 18.11,15 18.5,15C18.92,15 19.27,14.84 19.57,14.53C19.87,14.22 20,13.86 20,13.45V12C20,9.81 19.23,7.93 17.65,6.35C16.07,4.77 14.19,4 12,4C9.81,4 7.93,4.77 6.35,6.35C4.77,7.93 4,9.81 4,12C4,14.19 4.77,16.07 6.35,17.65C7.93,19.23 9.81,20 12,20H17V22H12C9.25,22 6.9,21 4.95,19.05C3,17.1 2,14.75 2,12C2,9.25 3,6.9 4.95,4.95C6.9,3 9.25,2 12,2Z"})))}const uf=e=>T().createElement("span",e,T().createElement("svg",{width:"100%",height:"100%",viewBox:"0 0 24 24"},T().createElement("path",{fill:"inherit",d:"M22 6C22 4.9 21.1 4 20 4H4C2.9 4 2 4.9 2 6V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V6M20 6L12 11L4 6H20M20 18H4V8L12 13L20 8V18Z"}))),pf=T().memo(uf),gf=e=>T().createElement("span",e,T().createElement("svg",{width:"100%",height:"100%",viewBox:"0 0 24 24"},T().createElement("path",{fill:"inherit",d:"M21,11C21,16.55 17.16,21.74 12,23C6.84,21.74 3,16.55 3,11V5L12,1L21,5V11M12,21C15.75,20 19,15.54 19,11.22V6.3L12,3.18L5,6.3V11.22C5,15.54 8.25,20 12,21Z"}))),hf=T().memo(gf);function ff(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class Ef extends _.PureComponent{constructor(e){super(e),ff(this,"getUser",(async e=>{this.setState({isLoading:!0});try{const{data:t,error:s}=await this.props.getUser(e);if(!t)throw new Error(s?s.message:"Unknown error");this.setState({user:t,emailField:t.email,isLoading:!1})}catch(e){console.log("SystemUserDetails-getUser: ",e),this.setState({isLoading:!1,error:this.props.intl.formatMessage({id:"admin.user_item.userNotFound",defaultMessage:"Cannot load User"})})}})),ff(this,"handleTeamsLoaded",(e=>{const t=e.map((e=>e.team_id));this.setState({teams:e}),this.setState({teamIds:t}),this.setState({refreshTeams:!1})})),ff(this,"handleAddUserToTeams",(e=>{if(!this.state.user)return;const t=[];for(const s of e)t.push(this.props.addUserToTeam(s.id,this.state.user.id));Promise.all(t).finally((()=>this.setState({refreshTeams:!0})))})),ff(this,"handleActivateUser",(async()=>{var e;if(this.state.user&&(null===(e=this.state.user)||void 0===e?void 0:e.auth_service)!==x.YM.LDAP_SERVICE)try{const{error:e}=await this.props.updateUserActive(this.state.user.id,!0);if(e)throw new Error(e.message);await this.getUser(this.state.user.id)}catch(e){console.error("SystemUserDetails-handleActivateUser",e),this.setState({error:this.props.intl.formatMessage({id:"admin.user_item.userActivateFailed",defaultMessage:"Failed to activate user"})})}})),ff(this,"handleDeactivateMember",(async()=>{if(this.state.user){try{const{error:e}=await this.props.updateUserActive(this.state.user.id,!1);if(e)throw new Error(e.message);await this.getUser(this.state.user.id)}catch(e){console.error("SystemUserDetails-handleDeactivateMember",e),this.setState({error:this.props.intl.formatMessage({id:"admin.user_item.userDeactivateFailed",defaultMessage:"Failed to deactivate user"})})}this.toggleCloseModalDeactivateMember()}})),ff(this,"handleRemoveMFA",(async()=>{if(this.state.user)try{const{error:e}=await this.props.updateUserMfa(this.state.user.id,!1);if(e)throw new Error(e.message);await this.getUser(this.state.user.id)}catch(e){console.error("SystemUserDetails-handleRemoveMFA",e),this.setState({error:this.props.intl.formatMessage({id:"admin.user_item.userMFARemoveFailed",defaultMessage:"Failed to remove user's MFA"})})}})),ff(this,"handleEmailChange",(e=>{if(!this.state.user)return;const{target:{value:t}}=e,s=t!==this.state.user.email;this.setState({emailField:t,isSaveNeeded:s}),this.props.setNavigationBlocked(s)})),ff(this,"handleSubmit",(async e=>{if(e.preventDefault(),this.state.isLoading||this.state.isSaving||!this.state.user)return;if(this.state.user.email===this.state.emailField)return;if(!(0,$g.xf)(this.state.user.email))return void this.setState({error:this.props.intl.formatMessage({id:"admin.user_item.invalidEmail",defaultMessage:"Invalid email address"})});const t=Object.assign({},this.state.user,{email:this.state.emailField.trim().toLowerCase()});this.setState({error:null,isSaving:!0});try{const{data:e,error:s}=await this.props.patchUser(t);if(!e)throw new Error(s?s.message:"Unknown error");this.setState({user:e,emailField:e.email,error:null,isSaving:!1,isSaveNeeded:!1})}catch(e){console.error("SystemUserDetails-handleSubmit",e),this.setState({error:this.props.intl.formatMessage({id:"admin.user_item.userUpdateFailed",defaultMessage:"Failed to update user"}),isSaving:!1,isSaveNeeded:!1})}this.props.setNavigationBlocked(!1)})),ff(this,"toggleOpenModalDeactivateMember",(()=>{var e;(null===(e=this.state.user)||void 0===e?void 0:e.auth_service)!==x.YM.LDAP_SERVICE&&this.setState({showDeactivateMemberModal:!0})})),ff(this,"toggleCloseModalDeactivateMember",(()=>{this.setState({showDeactivateMemberModal:!1})})),ff(this,"toggleOpenModalResetPassword",(()=>{this.props.openModal({modalId:x.IQ.RESET_PASSWORD_MODAL,dialogType:Vh,dialogProps:{user:this.state.user}})})),ff(this,"toggleCloseModalResetPassword",(()=>{this.setState({showResetPasswordModal:!1})})),ff(this,"toggleOpenTeamSelectorModal",(()=>{this.setState({showTeamSelectorModal:!0})})),ff(this,"toggleCloseTeamSelectorModal",(()=>{this.setState({showTeamSelectorModal:!1})})),ff(this,"openConfirmEditUserSettingsModal",(()=>{this.state.user&&this.props.openModal({modalId:x.IQ.CONFIRM_MANAGE_USER_SETTINGS_MODAL,dialogType:df,dialogProps:{user:this.state.user,onConfirm:this.openUserSettingsModal}})})),ff(this,"openUserSettingsModal",(async()=>{this.state.user&&this.props.openModal({modalId:x.IQ.USER_SETTINGS,dialogType:cf.default,dialogProps:{adminMode:!0,isContentProductSettings:!0,userID:this.state.user.id}})})),ff(this,"getManagedByLdapText",(()=>{var e;return(null===(e=this.state.user)||void 0===e?void 0:e.auth_service)!==x.YM.LDAP_SERVICE?null:T().createElement(T().Fragment,null," ",T().createElement(N.FormattedMessage,{id:"admin.user_item.managedByLdap",defaultMessage:"(Managed By LDAP)"}))})),this.state={emailField:"",isLoading:!1,error:null,isSaveNeeded:!1,isSaving:!1,teams:[],teamIds:[],refreshTeams:!0,showResetPasswordModal:!1,showDeactivateMemberModal:!1,showTeamSelectorModal:!1}}componentDidMount(){var e;const t=null!==(e=this.props.match.params.user_id)&&void 0!==e?e:"";t&&this.getUser(t)}render(){var e,t,s,a,n,i,r,o,l,d,c,m,u,p,g,h,f;return T().createElement("div",{className:"SystemUserDetail wrapper--fixed"},T().createElement(et,{withBackButton:!0},T().createElement("div",null,T().createElement(ka.A,{to:"/admin_console/user_management/users",className:"fa fa-angle-left back"}),T().createElement(N.FormattedMessage,{id:"admin.systemUserDetail.title",defaultMessage:"User Configuration"}))),T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},T().createElement(jh,{user:this.state.user,isLoading:this.state.isLoading,body:T().createElement(T().Fragment,null,T().createElement("span",null,null!==(e=null===(t=this.state)||void 0===t||null===(s=t.user)||void 0===s?void 0:s.position)&&void 0!==e?e:""),T().createElement("label",null,T().createElement(N.FormattedMessage,{id:"admin.userManagement.userDetail.email",defaultMessage:"Email"}),T().createElement(pf,null),T().createElement("input",{className:"form-control",type:"text",value:this.state.emailField,onChange:this.handleEmailChange,disabled:null!==this.state.error||this.state.isSaving})),T().createElement("label",null,T().createElement(N.FormattedMessage,{id:"admin.userManagement.userDetail.username",defaultMessage:"Username"}),T().createElement(mf,null),T().createElement("span",null,null===(a=this.state)||void 0===a||null===(n=a.user)||void 0===n?void 0:n.username)),T().createElement("label",null,T().createElement(N.FormattedMessage,{id:"admin.userManagement.userDetail.authenticationMethod",defaultMessage:"Authentication Method"}),T().createElement(hf,null),T().createElement("span",null,vf(this.props.intl,this.props.mfaEnabled,this.state.user)))),footer:T().createElement(T().Fragment,null,T().createElement("button",{className:"btn btn-secondary",onClick:this.toggleOpenModalResetPassword},T().createElement(N.FormattedMessage,{id:"admin.user_item.resetPwd",defaultMessage:"Reset Password"})),(null===(i=this.state.user)||void 0===i?void 0:i.mfa_active)&&T().createElement("button",{className:"btn btn-secondary",onClick:this.handleRemoveMFA},T().createElement(N.FormattedMessage,{id:"admin.user_item.resetMfa",defaultMessage:"Remove MFA"})),0!==(null===(r=this.state.user)||void 0===r?void 0:r.delete_at)&&T().createElement("button",{className:"btn btn-secondary",onClick:this.handleActivateUser,disabled:(null===(o=this.state.user)||void 0===o?void 0:o.auth_service)===x.YM.LDAP_SERVICE},T().createElement(N.FormattedMessage,{id:"admin.user_item.makeActive",defaultMessage:"Activate"}),this.getManagedByLdapText()),0===(null===(l=this.state.user)||void 0===l?void 0:l.delete_at)&&T().createElement("button",{className:"btn btn-secondary btn-danger",onClick:this.toggleOpenModalDeactivateMember,disabled:(null===(d=this.state.user)||void 0===d?void 0:d.auth_service)===x.YM.LDAP_SERVICE},T().createElement(N.FormattedMessage,{id:"admin.user_item.deactivate",defaultMessage:"Deactivate"}),this.getManagedByLdapText()),this.props.showManageUserSettings&&T().createElement("button",{className:"manageUserSettingsBtn btn btn-tertiary",onClick:this.openConfirmEditUserSettingsModal},T().createElement(N.FormattedMessage,{id:"admin.user_item.manageSettings",defaultMessage:"Manage User Settings"})),this.props.showLockedManageUserSettings&&T().createElement(tt.A,{title:(0,N.defineMessage)({id:"generic.enterprise_feature",defaultMessage:"Enterprise feature"}),hint:(0,N.defineMessage)({id:"admin.user_item.manageSettings.disabled_tooltip",defaultMessage:"Please upgrade to Enterprise to manage user settings"})},T().createElement("button",{className:"manageUserSettingsBtn btn disabled"},T().createElement("div",{className:"RestrictedIndicator__content"},T().createElement("i",{className:re()("RestrictedIndicator__icon-tooltip","icon","icon-key-variant")})),T().createElement(N.FormattedMessage,{id:"admin.user_item.manageSettings",defaultMessage:"Manage User Settings"}))))}),T().createElement(ko,{title:(0,N.defineMessage)({id:"admin.userManagement.userDetail.teamsTitle",defaultMessage:"Team Membership"}),subtitle:(0,N.defineMessage)({id:"admin.userManagement.userDetail.teamsSubtitle",defaultMessage:"Teams to which this user belongs"}),button:T().createElement("div",{className:"add-team-button"},T().createElement("button",{type:"button",className:"btn btn-primary",onClick:this.toggleOpenTeamSelectorModal,disabled:this.state.isLoading||null!==this.state.error},T().createElement(N.FormattedMessage,{id:"admin.userManagement.userDetail.addTeam",defaultMessage:"Add Team"})))},this.state.isLoading&&T().createElement("div",{className:"teamlistLoading"},T().createElement($s.A,null)),!this.state.isLoading&&(null===(c=this.state.user)||void 0===c?void 0:c.id)&&T().createElement(of,{userId:this.state.user.id,userDetailCallback:this.handleTeamsLoaded,refreshTeams:this.state.refreshTeams})))),T().createElement("div",{className:"admin-console-save"},T().createElement($e.A,{saving:this.state.isSaving,disabled:!this.state.isSaveNeeded||this.state.isLoading||null!==this.state.error||this.state.isSaving,onClick:this.handleSubmit}),T().createElement("div",{className:"error-message"},T().createElement(ye.A,{error:this.state.error}))),T().createElement(St.A,{show:this.state.showDeactivateMemberModal,title:T().createElement(N.FormattedMessage,{id:"deactivate_member_modal.title",defaultMessage:"Deactivate {username}",values:{username:null!==(m=null===(u=this.state.user)||void 0===u?void 0:u.username)&&void 0!==m?m:""}}),message:T().createElement("div",null,T().createElement(N.FormattedMessage,{id:"deactivate_member_modal.desc",defaultMessage:"This action deactivates {username}. They will be logged out and not have access to any teams or channels on this system. Are you sure you want to deactivate {username}?",values:{username:null!==(p=null===(g=this.state.user)||void 0===g?void 0:g.username)&&void 0!==p?p:""}}),""!==(null===(h=this.state.user)||void 0===h?void 0:h.auth_service)&&(null===(f=this.state.user)||void 0===f?void 0:f.auth_service)!==x.YM.EMAIL_SERVICE&&T().createElement("strong",null,T().createElement("br",null),T().createElement("br",null),T().createElement(N.FormattedMessage,{id:"deactivate_member_modal.sso_warning",defaultMessage:"You must also deactivate this user in the SSO provider or they will be reactivated on next login or sync."}))),confirmButtonClass:"btn btn-danger",confirmButtonText:T().createElement(N.FormattedMessage,{id:"deactivate_member_modal.deactivate",defaultMessage:"Deactivate"}),onConfirm:this.handleDeactivateMember,onCancel:this.toggleCloseModalDeactivateMember}),this.state.showTeamSelectorModal&&T().createElement(Er,{onModalDismissed:this.toggleCloseTeamSelectorModal,onTeamsSelected:this.handleAddUserToTeams,alreadySelected:this.state.teamIds,excludeGroupConstrained:!0}))}}const bf=(0,N.injectIntl)(Ef);function vf(e,t,s){if(!s)return"";let a;if(s.auth_service){let t;t=s.auth_service===x.YM.LDAP_SERVICE||s.auth_service===x.YM.SAML_SERVICE?s.auth_service.toUpperCase():s.auth_service===x.YM.OFFICE365_SERVICE?e.formatMessage({id:"admin.oauth.office365",defaultMessage:"Entra ID"}):(0,H.Sn)(s.auth_service),a=t}else a=e.formatMessage({id:"admin.userManagement.userDetail.email",defaultMessage:"Email"});return t&&s.mfa_active&&(a+=", ",a+=e.formatMessage({id:"admin.userManagement.userDetail.mfa",defaultMessage:"MFA"})),a}const Mf={getUser:ds.wz,patchUser:ds.WJ,updateUserActive:ds.tS,updateUserMfa:ds.BX,addUserToTeam:o.$w,setNavigationBlocked:h.Jb,openModal:ea.q,getUserPreferences:fa.oE},yf=(0,a.connect)((function(e){const t=(0,c.zj)(e),s=Oy(e),a=Py(e);return{mfaEnabled:"true"===(null==t?void 0:t.EnableMultifactorAuthentication)||!1,showManageUserSettings:s,showLockedManageUserSettings:a}}),Mf)(bf);var Sf=s(55070),Af=s(92157),Cf=s(57322);let _f=function(e){return e.username="usernameColumn",e.displayName="displayNameColumn",e.email="emailColumn",e.createAt="createAtColumn",e.lastLoginAt="lastLoginColumn",e.lastStatusAt="lastStatusAtColumn",e.lastPostDate="lastPostDateColumn",e.daysActive="daysActiveColumn",e.totalPosts="totalPostsColumn",e.actions="actionsColumn",e}({}),Tf=function(e){return e.Any="any",e.Active="active",e.Deactivated="deactivated",e}({}),Nf=function(e){return e.Any="any",e.Admin="system_admin",e.Member="system_user",e.Guest="system_guest",e}({}),Rf=function(e){return e.AllTeams="teams_filter_for_all_teams",e.NoTeams="teams_filter_for_no_teams",e}({});var wf=s(57986),If=s(91767),Of=s(72208);function Pf(){const e=(0,a.useDispatch)(),[t,s]=(0,_.useState)(!1);function n(){s((e=>!e))}return T().createElement(Of.A,{permissions:[l.xB.REVOKE_USER_ACCESS_TOKEN]},T().createElement("button",{className:"btn btn-tertiary btn-danger",onClick:n},T().createElement(N.FormattedMessage,{id:"admin.system_users.revokeAllSessions",defaultMessage:"Revoke All Sessions"})),T().createElement(St.A,{show:t,title:T().createElement(N.FormattedMessage,{id:"admin.system_users.revoke_all_sessions_modal_title",defaultMessage:"Revoke all sessions in the system"}),message:T().createElement(N.FormattedMessage,{id:"admin.system_users.revoke_all_sessions_modal_message",defaultMessage:"This action revokes all sessions in the system. All users will be logged out from all devices, including your session. Are you sure you want to revoke all sessions?"}),confirmButtonClass:"btn btn-danger",confirmButtonText:T().createElement(N.FormattedMessage,{id:"admin.system_users.revoke_all_sessions_button",defaultMessage:"Revoke All Sessions"}),onConfirm:async function(){const{data:t}=await e((0,ds.ID)());t?(0,If.BN)():s(!1)},onCancel:n}))}function kf(e){const{formatMessage:t}=(0,N.useIntl)();function s(e){switch(e){case _f.username:return T().createElement(N.FormattedMessage,{id:"admin.system_users.list.userDetails",defaultMessage:"User details"});case _f.email:return T().createElement(N.FormattedMessage,{id:"admin.system_users.list.email",defaultMessage:"Email"});case _f.createAt:return T().createElement(N.FormattedMessage,{id:"admin.system_users.list.memberSince",defaultMessage:"Member since"});case _f.lastLoginAt:return T().createElement(N.FormattedMessage,{id:"admin.system_users.list.lastLoginAt",defaultMessage:"Last login"});case _f.lastStatusAt:return T().createElement(N.FormattedMessage,{id:"admin.system_users.list.lastActivity",defaultMessage:"Last activity"});case _f.lastPostDate:return T().createElement(N.FormattedMessage,{id:"admin.system_users.list.lastPost",defaultMessage:"Last post"});case _f.daysActive:return T().createElement(N.FormattedMessage,{id:"admin.system_users.list.daysActive",defaultMessage:"Days active"});case _f.totalPosts:return T().createElement(N.FormattedMessage,{id:"admin.system_users.list.totalPosts",defaultMessage:"Messages posted"});case _f.actions:return T().createElement(N.FormattedMessage,{id:"admin.system_users.list.actions",defaultMessage:"Actions"});default:return T().createElement("span",null)}}return T().createElement("div",{className:"systemUsersColumnToggler"},T().createElement(_m.mc,{menuButton:{id:"systemUsersColumnTogglerMenuButton",class:"inputWithMenu","aria-label":t({id:"admin.system_users.column_toggler.menuButtonAriaLabel",defaultMessage:"Open menu to select columns to display"}),as:"div",children:T().createElement(ln.A,{label:t({id:"admin.system_users.column_toggler.placeholder",defaultMessage:"Columns"}),name:"colXC",value:t({id:"admin.system_users.column_toggler.menuButtonText",defaultMessage:"{selectedCount} selected"},{selectedCount:e.visibleColumnsLength}),readOnly:!0,inputSuffix:T().createElement("i",{className:"icon icon-chevron-down"})})},menu:{id:"systemUsersColumnTogglerMenu","aria-label":t({id:"admin.system_users.column_toggler.dropdownAriaLabel",defaultMessage:"Columns visibility menu"})}},e.allColumns.map((a=>{let n;n=a.getIsVisible()?T().createElement("i",{className:"icon icon-checkbox-marked"}):T().createElement("i",{className:"icon icon-checkbox-blank-outline"});const i=[_f.lastPostDate,_f.daysActive,_f.totalPosts];return e.isMySql&&i.includes(a.id)?T().createElement(tt.A,{key:a.id,title:t({id:"admin.system_users.column_toggler.mysql_unavailable.title",defaultMessage:"Not available for servers using MySQL"}),hint:t({id:"admin.system_users.column_toggler.mysql_unavailable.desc",defaultMessage:"Please use the export functionality to view these values"}),isVertical:!1},T().createElement(_m.q7,{className:"systemUsersColumnToggler__lockedItem",role:"menuitemcheckbox",labels:s(a.id),disabled:!0,leadingElement:n,trailingElements:T().createElement(Wa.A,{text:t({id:"admin.system_users.column_toggler.mysql_unavailable.label",defaultMessage:"Not available"})}),onClick:a.getToggleVisibilityHandler()})):T().createElement(_m.q7,{key:a.id,id:a.id,role:"menuitemcheckbox",labels:s(a.id),disabled:!a.getCanHide(),leadingElement:n,onClick:a.getToggleVisibilityHandler()})}))))}function xf(e){const t=new Date(e);return t.setDate(t.getDate()-30),t}function Df(e){const t=new Date(e);return t.setMonth(t.getMonth()-6),t}function Lf(e){const t=new Date(e);return t.setMonth(t.getMonth()-1),t.setDate(1),t}function Ff(e){const t=new Date(e);return t.setDate(1),t.setDate(t.getDate()-1),t}function Bf(e){const{formatMessage:t,formatDate:s}=(0,N.useIntl)(),n=(0,a.useDispatch)(),i=new Date;function r(e){n((0,f.p$)({dateRange:e}))}return T().createElement("div",{className:"systemUsersDateRangeSelector"},T().createElement(_m.mc,{menuButton:{id:"systemUsersDateRangeSelectorMenuButton",class:"inputWithMenu","aria-label":t({id:"admin.system_users.date_range_selector.menuButtonAriaLabel",defaultMessage:"Open menu to select columns to display"}),as:"div",children:T().createElement(ln.A,{label:t({id:"admin.system_users.date_range_selector.label",defaultMessage:"Duration"}),name:"colXC",value:(o=e.dateRange,o===Sf.p9.Last30Days?t({id:"admin.system_users.date_range_selector.date_range.last_30_days",defaultMessage:"Last 30 days"}):o===Sf.p9.PreviousMonth?t({id:"admin.system_users.date_range_selector.date_range.previous_month",defaultMessage:"Previous month"}):o===Sf.p9.Last6Months?t({id:"admin.system_users.date_range_selector.date_range.last_6_months",defaultMessage:"Last 6 months"}):t({id:"admin.system_users.date_range_selector.date_range.all_time",defaultMessage:"All time"})),readOnly:!0,inputSuffix:T().createElement("i",{className:"icon icon-chevron-down"})})},menu:{id:"systemUsersDateRangeSelectorMenu","aria-label":t({id:"admin.system_users.date_range_selector.dropdownAriaLabel",defaultMessage:"Date range menu"}),width:"250px"}},T().createElement(_m.q7,{key:Sf.p9.AllTime,id:Sf.p9.AllTime,labels:T().createElement(N.FormattedMessage,{id:"admin.system_users.date_range_selector.date_range.all_time",defaultMessage:"All time"}),trailingElements:e.dateRange===Sf.p9.AllTime&&T().createElement("i",{className:"icon icon-check"}),onClick:()=>r()}),T().createElement(_m.q7,{key:Sf.p9.Last30Days,id:Sf.p9.Last30Days,labels:T().createElement(T().Fragment,null,T().createElement(N.FormattedMessage,{id:"admin.system_users.date_range_selector.date_range.last_30_days",defaultMessage:"Last 30 days"}),T().createElement(N.FormattedMessage,{id:"admin.system_users.date_range_selector.date_range.sublabel",defaultMessage:"{startDate} - {endDate}",values:{startDate:s(xf(i)),endDate:s(i)}})),trailingElements:e.dateRange===Sf.p9.Last30Days&&T().createElement("i",{className:"icon icon-check"}),onClick:()=>r(Sf.p9.Last30Days)}),T().createElement(_m.q7,{key:Sf.p9.PreviousMonth,id:Sf.p9.PreviousMonth,labels:T().createElement(T().Fragment,null,T().createElement(N.FormattedMessage,{id:"admin.system_users.date_range_selector.date_range.previous_month",defaultMessage:"Previous month"}),T().createElement(N.FormattedMessage,{id:"admin.system_users.date_range_selector.date_range.sublabel",defaultMessage:"{startDate} - {endDate}",values:{startDate:s(Lf(i)),endDate:s(Ff(i))}})),trailingElements:e.dateRange===Sf.p9.PreviousMonth&&T().createElement("i",{className:"icon icon-check"}),onClick:()=>r(Sf.p9.PreviousMonth)}),T().createElement(_m.q7,{key:Sf.p9.Last6Months,id:Sf.p9.Last6Months,labels:T().createElement(T().Fragment,null,T().createElement(N.FormattedMessage,{id:"admin.system_users.date_range_selector.date_range.last_6_months",defaultMessage:"Last 6 months"}),T().createElement(N.FormattedMessage,{id:"admin.system_users.date_range_selector.date_range.sublabel",defaultMessage:"{startDate} - {endDate}",values:{startDate:s(Df(i),{month:"numeric",year:"numeric"}),endDate:s(i,{month:"numeric",year:"numeric"})}})),trailingElements:e.dateRange===Sf.p9.Last6Months&&T().createElement("i",{className:"icon icon-check"}),onClick:()=>r(Sf.p9.Last6Months)}),T().createElement(_m.wv,null),T().createElement(_m.q7,{key:"trailing_message",id:"trailing_message",className:"systemUsersDateRangeSelector__trailing-message",labels:T().createElement(T().Fragment,null,T().createElement("span",null),T().createElement(N.FormattedMessage,{id:"admin.system_users.date_range_selector.trailing_message",defaultMessage:"Note: This filter will only affect values in the <strong>Last Post, Days Active, and Messages Posted</strong> columns.",values:{strong:e=>T().createElement("strong",null,e)}})),disabled:!0})));var o}function Hf(e){let{error:t,onExited:s}=e;const a=400===t.status_code&&"app.report.start_users_batch_export.job_exists"===t.server_error_id;let n=T().createElement(N.FormattedMessage,{id:"export_error_modal.title",defaultMessage:"Export could not be initiated"}),i=T().createElement(T().Fragment,null,T().createElement(N.FormattedMessage,{id:"export_error_modal.desc",defaultMessage:"We’re not able to initiate an export of this data at the moment. Please wait a few minutes and try again."}),T().createElement("div",{className:"error"},t.message));return a&&(n=T().createElement(N.FormattedMessage,{id:"export_error_modal.inProgress.title",defaultMessage:"Export is in progress"}),i=T().createElement(N.FormattedMessage,{id:"export_error_modal.inProgress.desc",defaultMessage:"You've already started an export of this data. Please wait a few more minutes to access the CSV file or to generate the report again."})),T().createElement(lf.A,{title:n,message:i,confirmButtonText:T().createElement(N.FormattedMessage,{id:"generic.okay",defaultMessage:"Okay"}),onExited:s})}function Uf(e){var t;let{onConfirm:s,onExited:n}=e;const i=(0,a.useSelector)(Jo.QH),r=null!==(t=i.dateRange)&&void 0!==t?t:Sf.p9.AllTime,o=T().createElement(N.FormattedMessage,{id:"export_user_data_modal.title",defaultMessage:"Export user data"});let l=T().createElement(N.FormattedMessage,{id:"export_user_data_modal.dange_range.all_time",defaultMessage:"You're about to export user data for all time. When the export is ready, a CSV file will be sent to you in a Mattermost direct message. This export will take a few minutes."});r===Sf.p9.Last30Days?l=T().createElement(N.FormattedMessage,{id:"export_user_data_modal.dange_range.last_30_days",defaultMessage:"You're about to export user data for the last 30 days. When the export is ready, a CSV file will be sent to you in a Mattermost direct message. This export will take a few minutes."}):r===Sf.p9.PreviousMonth?l=T().createElement(N.FormattedMessage,{id:"export_user_data_modal.dange_range.previous_month",defaultMessage:"You're about to export user data for the previous month. When the export is ready, a CSV file will be sent to you in a Mattermost direct message. This export will take a few minutes."}):r===Sf.p9.Last6Months&&(l=T().createElement(N.FormattedMessage,{id:"export_user_data_modal.dange_range.last_6_months",defaultMessage:"You're about to export user data for the last 6 months. When the export is ready, a CSV file will be sent to you in a Mattermost direct message. This export will take a few minutes."})),(""!==i.filterRole||i.filterStatus||""!==i.filterTeam)&&(l=T().createElement(T().Fragment,null,l,T().createElement("p",{className:"mt-3 text-muted"},T().createElement(N.FormattedMessage,{id:"export_user_data_modal.export_data.table_filters_note",defaultMessage:"Note: The exported data will use the filters you have set in the users list. To export all data first remove the filters."}))));const d=T().createElement(N.FormattedMessage,{id:"export_user_data_modal.export_data",defaultMessage:"Export data"}),c=T().createElement(N.FormattedMessage,{id:"export_user_data_modal.do_not_show",defaultMessage:"Do not show this again"});return T().createElement(lf.A,{id:"exportUserDataModal",title:o,message:l,confirmButtonText:d,showCheckbox:!0,checkboxText:c,checkboxInFooter:!0,onConfirm:s,onExited:n})}function Gf(e){let{onExited:t}=e;const s=(0,_a.A)(),a=T().createElement(N.FormattedMessage,{id:"upgrade_export_data_modal.title",defaultMessage:"Upgrade to export data reports"}),n=T().createElement(T().Fragment,null,T().createElement(N.FormattedMessage,{id:"upgrade_export_data_modal.desc",defaultMessage:"Export detailed data reports with ease and analyse user statistics conveniently. Upgrade to the Professional plan to gain access to data export."}),T().createElement("div",{className:"upgrade-export-data-modal__svg-image"},T().createElement(ed,{width:250,height:188}))),i=T().createElement(N.FormattedMessage,{id:"upgrade_export_data_modal.view_plans",defaultMessage:"View Plans"});return T().createElement(lf.A,{title:a,message:n,confirmButtonText:i,onConfirm:()=>{s()},onExited:t})}function jf(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function qf(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?jf(Object(s),!0).forEach((function(t){Wf(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):jf(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function Wf(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function Vf(e){return qf(qf(qf(qf(qf(qf(qf({page_size:(null==e?void 0:e.pageSize)||pp[0],from_column_value:null==e?void 0:e.fromColumnValue,from_id:null==e?void 0:e.fromId,direction:null==e?void 0:e.direction},function(e){let t;return t=e===_f.email?Sf.lt.email:e===_f.createAt?Sf.lt.createAt:Sf.lt.username,{sort_column:t}}(null==e?void 0:e.sortColumn)),function(e){let t;return t=e?Sf.sR.descending:Sf.sR.ascending,{sort_direction:t}}(null==e?void 0:e.sortIsDescending)),function(e){return e&&0!==e.trim().length?{search_term:e}:{search_term:void 0}}(null==e?void 0:e.searchTerm)),(a=null==e?void 0:e.filterTeam)&&a!==Rf.AllTeams?a===Rf.NoTeams?{team_filter:void 0,has_no_team:!0}:{team_filter:a,has_no_team:void 0}:{team_filter:void 0,has_no_team:void 0}),(s=null==e?void 0:e.filterStatus)===Tf.Active?{hide_inactive:!0}:s===Tf.Deactivated?{hide_active:!0}:{hide_active:void 0,hide_inactive:void 0}),(t=null==e?void 0:e.filterRole)&&t!==Nf.Any?{role_filter:t}:{role_filter:void 0}),{},{date_range:null==e?void 0:e.dateRange});var t,s,a}function zf(e,t){switch(t){case _f.email:return e.email;case _f.createAt:return String(e.create_at);default:return e.username}}function Yf(e,t,s,a){if(!s)return T().createElement(N.FormattedMessage,{id:"admin.system_users_list.pagination.no_users",defaultMessage:"0 users"});const n=e*t+1,i=e*t+s,r=a||0;return T().createElement(N.FormattedMessage,{id:"admin.system_users_list.pagination",defaultMessage:"Showing {firstPage} - {lastPage} of {totalItems} users",values:{firstPage:n,lastPage:i,totalItems:r}})}function Zf(e,t){return t.find((t=>t.value===e))||t[0]}function Jf(e){const{formatMessage:t}=(0,N.useIntl)(),s=(0,a.useDispatch)(),n="true"===(0,a.useSelector)((e=>(0,m.Jt)(e,l.pm.CATEGORY_REPORTING,l.pm.HIDE_BATCH_EXPORT_CONFIRM_MODAL,""))),i=Vf((0,a.useSelector)(Jo.QH));void 0===i.date_range&&(i.date_range=Sf.p9.AllTime);const r=(0,a.useSelector)(c.Ay),o="true"===r.IsLicensed&&(r.SkuShortName===x.gS.Professional||r.SkuShortName===x.gS.Enterprise);async function d(t){const{error:a}=await s((0,f.rN)(i));a?s((0,ea.q)({modalId:x.IQ.EXPORT_ERROR_MODAL,dialogType:Hf,dialogProps:{error:a}})):t&&s((0,fa.SF)(e.currentUserId,[{category:l.pm.CATEGORY_REPORTING,name:l.pm.HIDE_BATCH_EXPORT_CONFIRM_MODAL,user_id:e.currentUserId,value:"true"}]))}const u=T().createElement("button",{onClick:function(){e.usersLenght&&(o?n?d():s((0,ea.q)({modalId:x.IQ.EXPORT_USER_DATA_MODAL,dialogType:Uf,dialogProps:{onConfirm:d}})):s((0,ea.q)({modalId:x.IQ.UPGRADE_EXPORT_DATA_MODAL,dialogType:Gf,dialogProps:{}})))},className:"btn btn-md btn-tertiary",disabled:!e.usersLenght},T().createElement("span",{className:"icon icon-download-outline"}),T().createElement(N.FormattedMessage,{id:"admin.system_users.exportButton",defaultMessage:"Export"}));return o?u:T().createElement(T().Fragment,null,T().createElement(tt.A,{title:t({id:"admin.system_users.exportButton.notLicensed.title",defaultMessage:"Professional feature"}),hint:t({id:"admin.system_users.exportButton.notLicensed.hint",defaultMessage:"This feature is available on the professional plan"})},u),T().createElement("div",{className:"system-users-export__keyIndicator"},T().createElement("i",{className:"icon icon-key-variant"})))}kf.propTypes={isMySql:L().bool.isRequired,visibleColumnsLength:L().number.isRequired},Hf.propTypes={onExited:L().func.isRequired},Uf.propTypes={onConfirm:L().func.isRequired,onExited:L().func.isRequired},Gf.propTypes={onExited:L().func.isRequired},Jf.propTypes={usersLenght:L().number.isRequired};var Qf=s(18955),Kf=s(38889),Xf=s(94621);const $f=B().div.withConfig({displayName:"StyledPopoverContainer"})(["border-radius:4px;border:1px solid rgba(var(--center-channel-color-rgb),0.16);background-color:var(--center-channel-bg);box-shadow:var(--elevation-4);z-index:9999;"]);function eE(e){const{formatMessage:t}=(0,N.useIntl)(),s=(0,_.useMemo)((()=>[{value:Tf.Any,label:t({id:"admin.system_users.filters.status.any",defaultMessage:"Any"})},{value:Tf.Active,label:t({id:"admin.system_users.filters.status.active",defaultMessage:"Activated users"})},{value:Tf.Deactivated,label:t({id:"admin.system_users.filters.status.deactive",defaultMessage:"Deactivated users"})}]),[]),[a,n]=(0,_.useState)((()=>Zf(e.initialValue,s)));return T().createElement(on.A,{name:"filterStatus",showLegend:!0,isSearchable:!1,legend:t({id:"admin.system_users.filters.status.title",defaultMessage:"Status"}),options:s,value:a,onChange:function(t){n(t),e.onChange(t.value)}})}function tE(e){const{formatMessage:t}=(0,N.useIntl)(),s=(0,_.useMemo)((()=>[{value:Nf.Any,label:t({id:"admin.system_users.filters.role.any",defaultMessage:"Any"})},{value:Nf.Admin,label:t({id:"admin.system_users.filters.role.system_admin",defaultMessage:"System Admin"})},{value:Nf.Member,label:t({id:"admin.system_users.filters.role.system_user",defaultMessage:"Member"})},{value:Nf.Guest,label:t({id:"admin.system_users.filters.role.system_guest",defaultMessage:"Guest"})}]),[]),[a,n]=(0,_.useState)((()=>Zf(e.initialValue,s)));return T().createElement(on.A,{name:"filterRole",showLegend:!0,isSearchable:!1,legend:t({id:"admin.system_users.filters.role.title",defaultMessage:"Role"}),options:s,value:a,onChange:function(t){n(t),e.onChange(t.value)}})}eE.propTypes={onChange:L().func.isRequired},tE.propTypes={onChange:L().func.isRequired};var sE=s(84396);function aE(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function nE(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?aE(Object(s),!0).forEach((function(t){iE(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):aE(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function iE(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function rE(e){const{formatMessage:t}=(0,N.useIntl)(),s=(0,a.useDispatch)(),[n,i]=(0,_.useState)(""),[r,l]=(0,_.useState)(),[d,c]=(0,_.useState)(0),[m,u]=(0,_.useState)((p=e.initialValue,g=e.initialLabel,p&&p!==Rf.AllTeams?p===Rf.NoTeams?{value:Rf.NoTeams,label:T().createElement(N.FormattedMessage,{id:"admin.system_users.filters.team.noTeams",defaultMessage:"No Teams"})}:{value:p,label:g||""}:{value:Rf.AllTeams,label:T().createElement(N.FormattedMessage,{id:"admin.system_users.filters.team.allTeams",defaultMessage:"All Teams"})}));var p,g;async function h(e){try{const a=await s((0,o.ZN)(e,50,!0));if(a&&a.data&&a.data.teams&&a.data.teams.length>0){const s=a.data.teams.map((e=>({value:e.id,label:e.display_name}))).sort(((e,t)=>e.label.localeCompare(t.label)));if(0===e){const e=[{label:t({id:"admin.system_users.filters.team.allTeams",defaultMessage:"All teams"}),value:Rf.AllTeams},{label:t({id:"admin.system_users.filters.team.noTeams",defaultMessage:"No teams"}),value:Rf.NoTeams}];l([...e,...s])}else l((e=>[...null!=e?e:[],...s]));c(e+1)}}catch(e){i(t({id:"admin.system_users.filters.team.errorLoading",defaultMessage:"Error while loading teams"})),console.error(e)}}return(0,_.useEffect)((()=>{h(0)}),[]),T().createElement("div",{className:"DropdownInput Input_container"},T().createElement("fieldset",{className:re()("Input_fieldset Input_fieldset___legend",e.className,{Input_fieldset___error:e.error||n})},T().createElement("legend",{className:"Input_legend Input_legend___focus"},t({id:"admin.system_users.filters.team.title",defaultMessage:"Team"})),T().createElement("div",{className:"Input_wrapper"},T().createElement(Pi.Ay,{id:"asyncTeamSelect",inputId:"asyncTeamSelectInput",classNamePrefix:"DropDown",className:re()("Input Input__focus",e.className),styles:oE,isMulti:!1,isClearable:!1,hideSelectedOptions:!1,cacheOptions:!1,placeholder:"",loadingMessage:()=>t({id:"admin.channels.filterBy.team.loading",defaultMessage:"Loading teams"}),noOptionsMessage:()=>t({id:"admin.channels.filterBy.team.noTeams",defaultMessage:"No teams found"}),loadOptions:async function(e,a){try{const t=await s((0,o.Fo)(e,{page:0,per_page:50}));if(t&&t.data&&t.data.teams&&t.data.teams.length>0){const e=t.data.teams.map((e=>({value:e.id,label:e.display_name})));a(e)}a([])}catch(e){i(t({id:"admin.system_users.filters.team.errorSearching",defaultMessage:"Error while searching teams"})),console.error(e),a([])}},defaultOptions:r,value:m,onChange:function(t){u(t),e.onChange(t.value,t.label)},onMenuScrollToBottom:function(){h(d)},components:{IndicatorsContainer:lE,LoadingIndicator:mE,Option:cE,Control:dE}}))),T().createElement(sE.A,{message:e.error||n}))}rE.propTypes={className:L().string,error:L().string,initialLabel:L().string,onChange:L().func.isRequired};const oE={input:e=>nE(nE({},e),{},{color:"var(--center-channel-color)"}),control:e=>nE(nE({},e),{},{border:"none",boxShadow:"none",padding:"0 2px",cursor:"pointer"}),indicatorSeparator:e=>nE(nE({},e),{},{display:"none"}),menu:e=>nE(nE({},e),{},{zIndex:100}),menuPortal:e=>nE(nE({},e),{},{zIndex:100})},lE=e=>T().createElement("div",{className:"asyncTeamSelectInput__indicatorsContainer"},T().createElement(br.H.IndicatorsContainer,e,T().createElement("i",{className:"icon icon-chevron-down"}))),dE=e=>T().createElement("div",{className:"asyncTeamSelectInput__controlContainer"},T().createElement(br.H.Control,e)),cE=e=>T().createElement("div",{className:re()("asyncTeamSelectInput__option",{selected:e.isSelected,focused:e.isFocused})},T().createElement(br.H.Option,e)),mE=()=>T().createElement($s.A,null);function uE(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function pE(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?uE(Object(s),!0).forEach((function(t){gE(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):uE(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function gE(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function hE(e){const t=(0,a.useDispatch)(),{formatMessage:s}=(0,N.useIntl)(),[n,i]=(0,_.useState)(!1),[r,o]=(0,_.useState)({}),{context:l,refs:d,floatingStyles:c}=(0,Qf.we)({open:n,onOpenChange:i,whileElementsMounted:Kf.ll,middleware:[(0,Xf.cY)(10),(0,Xf.RK)({allowedPlacements:["bottom-start","top-start"]})]}),{isMounted:m,styles:u}=(0,Qf.DL)(l),p=(0,Qf.kp)(l),g=(0,Qf.s9)(l),h=(0,Qf.It)(l),{getReferenceProps:E,getFloatingProps:b}=(0,Qf.bv)([p,g,h]),v=(e.filterStatus.length>0?1:0)+(e.filterRole.length>0?1:0)+(e.filterTeam.length>0?1:0);return T().createElement("div",{className:"systemUsersFilterContainer"},T().createElement("button",Object.assign({},E(),{ref:d.setReference,className:"btn btn-md btn-tertiary","aria-controls":"systemUsersFilterPopover"}),T().createElement("i",{className:"icon icon-filter-variant"}),s({id:"admin.system_users.filtersMenu",defaultMessage:"Filters ({count})"},{count:v})),m&&T().createElement(Qf.s3,{context:l},T().createElement($f,Object.assign({},b(),{id:"systemUsersFilterPopover",ref:d.setFloating,style:Object.assign({},c,u),className:"systemUsersFilterPopoverContainer","aria-labelledby":"header"}),T().createElement("h4",{id:"header"},s({id:"admin.system_users.filtersPopover.title",defaultMessage:"Filter by"})),T().createElement("div",{className:"body"},T().createElement(rE,{initialValue:e.filterTeam,initialLabel:e.filterTeamLabel,onChange:function(e,t){let s,a;e===Rf.AllTeams?(s="",a=""):e===Rf.NoTeams?(s=Rf.NoTeams,a=""):(s=e,a=t),o(pE(pE({},r),{},{filterTeam:s,filterTeamLabel:a}))}}),T().createElement(tE,{initialValue:e.filterRole,onChange:function(e){let t="";e===Nf.Admin?t=Nf.Admin:e===Nf.Member?t=Nf.Member:e===Nf.Guest&&(t=Nf.Guest),o(pE(pE({},r),{},{filterRole:t}))}}),T().createElement(eE,{initialValue:e.filterStatus,onChange:function(e){let t="";e===Tf.Active?t="active":e===Tf.Deactivated&&(t="deactivated"),o(pE(pE({},r),{},{filterStatus:t}))}})),T().createElement("div",{className:"footer"},T().createElement("button",{className:"btn btn-md btn-primary",onClick:function(){t((0,f.p$)(r)),i(!1)},type:"submit"},s({id:"admin.system_users.filtersPopover.apply",defaultMessage:"Apply"}))))))}function fE(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function EE(e){const t=e.user&&e.user.roles?e.user.roles:"";return{show:!0,user:e.user,error:null,hasPostAllRole:bh.QF(t),hasPostAllPublicRole:bh.HF(t),hasUserAccessTokenRole:bh.DA(t),isSystemAdmin:bh.FV(t)}}class bE extends T().PureComponent{constructor(e){super(e),fE(this,"handleError",(e=>{this.setState({error:e})})),fE(this,"handleSystemAdminChange",(e=>{"systemadmin"===e.target.name?this.setState({isSystemAdmin:!0}):"systemmember"===e.target.name&&this.setState({isSystemAdmin:!1})})),fE(this,"handleUserAccessTokenChange",(e=>{this.setState({hasUserAccessTokenRole:e.target.checked})})),fE(this,"handlePostAllChange",(e=>{this.setState({hasPostAllRole:e.target.checked})})),fE(this,"handlePostAllPublicChange",(e=>{this.setState({hasPostAllPublicRole:e.target.checked})})),fE(this,"trackRoleChanges",((e,t)=>{bh.DA(e)&&!bh.DA(t)?(0,I.sx)("actions","add_roles",{role:l.Bz.SYSTEM_USER_ACCESS_TOKEN_ROLE}):!bh.DA(e)&&bh.DA(t)&&(0,I.sx)("actions","remove_roles",{role:l.Bz.SYSTEM_USER_ACCESS_TOKEN_ROLE}),bh.QF(e)&&!bh.QF(t)?(0,I.sx)("actions","add_roles",{role:l.Bz.SYSTEM_POST_ALL_ROLE}):!bh.QF(e)&&bh.QF(t)&&(0,I.sx)("actions","remove_roles",{role:l.Bz.SYSTEM_POST_ALL_ROLE}),bh.HF(e)&&!bh.HF(t)?(0,I.sx)("actions","add_roles",{role:l.Bz.SYSTEM_POST_ALL_PUBLIC_ROLE}):!bh.HF(e)&&bh.HF(t)&&(0,I.sx)("actions","remove_roles",{role:l.Bz.SYSTEM_POST_ALL_PUBLIC_ROLE})})),fE(this,"onHide",(()=>{this.setState({show:!1})})),fE(this,"handleSave",(async()=>{this.setState({error:null});let e=l.Bz.SYSTEM_USER_ROLE;this.state.isSystemAdmin?e+=" "+l.Bz.SYSTEM_ADMIN_ROLE:this.state.hasUserAccessTokenRole&&(e+=" "+l.Bz.SYSTEM_USER_ACCESS_TOKEN_ROLE,this.state.hasPostAllRole?e+=" "+l.Bz.SYSTEM_POST_ALL_ROLE:this.state.hasPostAllPublicRole&&(e+=" "+l.Bz.SYSTEM_POST_ALL_PUBLIC_ROLE));const t=await this.props.actions.updateUserRoles(this.props.user.id,e);this.trackRoleChanges(e,this.props.user.roles),(0,Xg.o)(t)?(this.props.onSuccess(e),this.onHide()):this.handleError(T().createElement(N.FormattedMessage,{id:"admin.manage_roles.saveError",defaultMessage:"Unable to save roles."}))})),fE(this,"renderContents",(()=>{const{user:e}=this.props;if(null==e)return T().createElement("div",null);let t,s,a=bh.dS(e);a?a+=" (@".concat(e.username,")"):a="@".concat(e.username),(this.state.hasUserAccessTokenRole||this.state.isSystemAdmin||e.is_bot)&&(t=T().createElement("div",null,T().createElement("p",null,T().createElement(N.FormattedMessage,{id:"admin.manage_roles.additionalRoles",defaultMessage:"Select additional permissions for the account. <link>Read more about roles and permissions</link>.",values:{link:e=>T().createElement(ce.A,{href:x.i3.PERSONAL_ACCESS_TOKENS,location:"manage_roles_modal"},e)}})),T().createElement("div",{className:"checkbox"},T().createElement("label",null,T().createElement("input",{type:"checkbox",checked:this.state.hasPostAllRole||this.state.isSystemAdmin,disabled:this.state.isSystemAdmin,onChange:this.handlePostAllChange}),T().createElement("strong",null,T().createElement(N.FormattedMessage,{id:"admin.manage_roles.postAllRoleTitle",defaultMessage:"post:all"})),T().createElement(N.FormattedMessage,{id:"admin.manage_roles.postAllRole",defaultMessage:"Access to post to all Mattermost channels including direct messages."}))),T().createElement("div",{className:"checkbox"},T().createElement("label",null,T().createElement("input",{type:"checkbox",checked:this.state.hasPostAllPublicRole||this.state.hasPostAllRole||this.state.isSystemAdmin,disabled:this.state.hasPostAllRole||this.state.isSystemAdmin,onChange:this.handlePostAllPublicChange}),T().createElement("strong",null,T().createElement(N.FormattedMessage,{id:"admin.manage_roles.postAllPublicRoleTitle",defaultMessage:"post:channels"})),T().createElement(N.FormattedMessage,{id:"admin.manage_roles.postAllPublicRole",defaultMessage:"Access to post to all Mattermost public channels."}))))),this.props.userAccessTokensEnabled&&(s=e.is_bot?T().createElement("div",null,T().createElement("div",{className:"member-row--padded member-row-lone-padding"},t)):T().createElement("div",null,T().createElement("div",{className:"checkbox"},T().createElement("label",null,T().createElement("input",{type:"checkbox",checked:this.state.hasUserAccessTokenRole||this.state.isSystemAdmin,disabled:this.state.isSystemAdmin,onChange:this.handleUserAccessTokenChange}),T().createElement(N.FormattedMessage,{id:"admin.manage_roles.allowUserAccessTokens",defaultMessage:"Allow this account to generate <link>personal access tokens</link>.",values:{link:e=>T().createElement(ce.A,{href:x.i3.PERSONAL_ACCESS_TOKENS,location:"manage_roles_modal"},e)}}),T().createElement("span",{className:"d-block pt-2 pb-2 light"},T().createElement(N.FormattedMessage,{id:"admin.manage_roles.allowUserAccessTokensDesc",defaultMessage:"Removing this permission doesn't delete existing tokens. To delete them, go to the user's Manage Tokens menu."})))),T().createElement("div",{className:"member-row--padded"},t)));let n=e.email;return e.is_bot&&(n=""),T().createElement("div",null,T().createElement("div",{className:"manage-teams__user"},T().createElement(qo.A,{size:"lg",username:e.username,url:de.mT.getProfilePictureUrl(e.id,e.last_picture_update)}),T().createElement("div",{className:"manage-teams__info"},T().createElement("div",{className:"manage-teams__name"},a,e.is_bot&&T().createElement(Ch.A,null)),T().createElement("div",{className:"manage-teams__email"},n))),T().createElement("div",null,T().createElement("div",{className:"manage-row--inner"},T().createElement("div",{className:"radio-inline"},T().createElement("label",null,T().createElement("input",{name:"systemadmin",type:"radio",checked:this.state.isSystemAdmin,onChange:this.handleSystemAdminChange}),T().createElement(N.FormattedMessage,{id:"admin.manage_roles.systemAdmin",defaultMessage:"System Admin"}))),T().createElement("div",{className:"radio-inline"},T().createElement("label",null,T().createElement("input",{name:"systemmember",type:"radio",checked:!this.state.isSystemAdmin,onChange:this.handleSystemAdminChange}),T().createElement(N.FormattedMessage,{id:"admin.manage_roles.systemMember",defaultMessage:"Member"})))),s))})),this.state=EE(e)}static getDerivedStateFromProps(e,t){var s,a;return(null===(s=t.user)||void 0===s?void 0:s.id)!==(null===(a=e.user)||void 0===a?void 0:a.id)?EE(e):null}render(){return T().createElement(ta.Modal,{show:this.state.show,onHide:this.onHide,onExited:this.props.onExited,dialogClassName:"a11y__modal manage-teams",role:"none","aria-labelledby":"manageRolesModalLabel"},T().createElement(ta.Modal.Header,{closeButton:!0},T().createElement(ta.Modal.Title,{componentClass:"h1",id:"manageRolesModalLabel"},T().createElement(N.FormattedMessage,{id:"admin.manage_roles.manageRolesTitle",defaultMessage:"Manage Roles"}))),T().createElement(ta.Modal.Body,null,this.renderContents(),this.state.error),T().createElement(ta.Modal.Footer,null,T().createElement("button",{type:"button",className:"btn btn-tertiary",onClick:this.onHide},T().createElement(N.FormattedMessage,{id:"admin.manage_roles.cancel",defaultMessage:"Cancel"})),T().createElement("button",{type:"button",className:"btn btn-primary",onClick:this.handleSave},T().createElement(N.FormattedMessage,{id:"admin.manage_roles.save",defaultMessage:"Save"}))))}}fE(bE,"propTypes",{userAccessTokensEnabled:L().bool.isRequired,onSuccess:L().func.isRequired,onExited:L().func.isRequired,actions:L().shape({updateUserRoles:L().func.isRequired}).isRequired});const vE=(0,a.connect)((function(e){return{userAccessTokensEnabled:e.entities.admin.config.ServiceSettings.EnableUserAccessTokens}}),(function(e){return{actions:(0,n.bindActionCreators)({updateUserRoles:ds.eA},e)}}))(bE),ME=e=>{const{formatMessage:t}=(0,N.useIntl)(),s=(0,bh.qc)(e.teamMember.roles)||e.teamMember.scheme_admin,a=(0,bh.FV)(e.user.roles),n=(0,bh.P)(e.user.roles),{team:i}=e;let r;return r=t(a?{id:"admin.user_item.sysAdmin",defaultMessage:"System Admin"}:s?{id:"admin.user_item.teamAdmin",defaultMessage:"Team Admin"}:n?{id:"admin.user_item.guest",defaultMessage:"Guest"}:{id:"admin.user_item.teamMember",defaultMessage:"Team Member"}),T().createElement(hi.A,null,T().createElement("a",null,T().createElement("span",null,r," "),T().createElement("span",{className:"caret"})),T().createElement(gi.A,{openLeft:!0,ariaLabel:t({id:"team_members_dropdown.menuAriaLabel",defaultMessage:"Change the role of a team member"})},T().createElement(gi.A.ItemAction,{show:!s&&!n,onClick:async()=>{const{error:t}=await e.updateTeamMemberSchemeRoles(e.teamMember.team_id,e.user.id,!0,!0);t?e.onError(T().createElement(N.FormattedMessage,{id:"admin.manage_teams.makeAdminError",defaultMessage:"Unable to make user a team admin."})):e.onMemberChange(e.teamMember.team_id)},text:t({id:"admin.user_item.makeTeamAdmin",defaultMessage:"Make Team Admin"})}),T().createElement(gi.A.ItemAction,{show:s,onClick:async()=>{const{error:t}=await e.updateTeamMemberSchemeRoles(e.teamMember.team_id,e.user.id,!0,!1);t?e.onError(T().createElement(N.FormattedMessage,{id:"admin.manage_teams.makeMemberError",defaultMessage:"Unable to make user a member."})):e.onMemberChange(e.teamMember.team_id)},text:t({id:"admin.user_item.makeMember",defaultMessage:"Make Team Member"})}),T().createElement(gi.A.ItemAction,{show:!i.group_constrained,onClick:()=>e.handleRemoveUserFromTeam(e.teamMember.team_id),text:t({id:"team_members_dropdown.leave_team",defaultMessage:"Remove from Team"})})))};ME.propTypes={onError:L().func.isRequired,onMemberChange:L().func.isRequired,updateTeamMemberSchemeRoles:L().func.isRequired,handleRemoveUserFromTeam:L().func.isRequired};const yE=ME,SE=e=>{let{teamId:t,handleRemoveUserFromTeam:s}=e;return T().createElement("button",{type:"button",className:"btn btn-danger",onClick:e=>{e.preventDefault(),s(t)}},T().createElement(N.FormattedMessage,{id:"team_members_dropdown.leave_team",defaultMessage:"Remove from Team"}))};SE.propTypes={teamId:L().string.isRequired,handleRemoveUserFromTeam:L().func.isRequired};const AE=SE,CE=e=>{let{locale:t,onExited:s,user:a,actions:n}=e;const[i,r]=T().useState(null),[o,l]=T().useState(null),[d,c]=T().useState(null),[m,u]=T().useState(!0);(0,_.useEffect)((()=>{a&&p(a)}),[a]),(0,_.useEffect)((()=>{null!=a&&a.id&&(l(null),c(null))}),[null==a?void 0:a.id]);const p=async e=>{await h(e.id);const{data:s}=await n.getTeamsForUser(e.id);l((0,zh.y)(s,t))},g=e=>r(e),h=async e=>{const{data:t}=await n.getTeamMembersForUser(e);t&&c(t)},f=async e=>{const{error:t}=await n.removeUserFromTeam(e,a?a.id:"");t?g(T().createElement(N.FormattedMessage,{id:"admin.manage_teams.removeError",defaultMessage:"Unable to remove user from team."})):(e=>{l(o.filter((t=>t.id!==e))),c(d.filter((t=>t.team_id!==e)))})(e)},E=()=>h(a?a.id:"");return T().createElement(ta.Modal,{show:m,onHide:()=>{u(!1)},onExited:s,dialogClassName:"a11y__modal manage-teams modal--overflow-visible",role:"none","aria-labelledby":"manageTeamsModalLabel"},T().createElement(ta.Modal.Header,{closeButton:!0},T().createElement(ta.Modal.Title,{componentClass:"h1",id:"manageTeamsModalLabel"},T().createElement(N.FormattedMessage,{id:"admin.user_item.manageTeams",defaultMessage:"Manage Teams"}))),T().createElement(ta.Modal.Body,null,(()=>{if(!a)return T().createElement(At.A,null);const e=(0,bh.qc)(a.roles);let t,s=H.dS(a);s?s+=" (@".concat(a.username,")"):s="@".concat(a.username),t=o&&d?o.map((t=>{const s=d.find((e=>e.team_id===t.id));if(!s)return null;const i=e?T().createElement(AE,{teamId:t.id,handleRemoveUserFromTeam:f}):T().createElement(yE,{user:a,team:t,teamMember:s,onError:g,onMemberChange:E,updateTeamMemberSchemeRoles:n.updateTeamMemberSchemeRoles,handleRemoveUserFromTeam:f});return T().createElement("div",{key:t.id,className:"manage-teams__team"},T().createElement("div",{className:"manage-teams__team-name"},t.display_name),T().createElement("div",{className:"manage-teams__team-actions"},i))})):T().createElement(At.A,null);let i=null;return e&&(i=T().createElement("div",{className:"manage-teams__system-admin"},T().createElement(N.FormattedMessage,{id:"admin.user_item.sysAdmin",defaultMessage:"System Admin"}))),T().createElement("div",null,T().createElement("div",{className:"manage-teams__user"},T().createElement(qo.A,{username:a.username,url:de.mT.getProfilePictureUrl(a.id,a.last_picture_update),size:"lg"}),T().createElement("div",{className:"manage-teams__info"},T().createElement("div",{className:"manage-teams__name"},s),T().createElement("div",{className:"manage-teams__email"},a.email)),i),T().createElement("div",{className:"manage-teams__teams"},t))})(),i))};CE.propTypes={locale:L().string.isRequired,onExited:L().func.isRequired,actions:L().shape({getTeamMembersForUser:L().func.isRequired,getTeamsForUser:L().func.isRequired,updateTeamMemberSchemeRoles:L().func.isRequired,removeUserFromTeam:L().func.isRequired}).isRequired};const _E=CE,TE=(0,a.connect)((function(e){return{locale:(0,ms.k)(e)}}),(function(e){return{actions:(0,n.bindActionCreators)({getTeamMembersForUser:o.NX,getTeamsForUser:o.Bk,updateTeamMemberSchemeRoles:o.bd,removeUserFromTeam:o.fy},e)}}))(_E),NE=e=>T().createElement("button",{type:"button",className:"btn btn-danger",onClick:async t=>{t.preventDefault();const s=await e.actions.revokeUserAccessToken(e.tokenId);(0,I.sx)("system_console","revoke_user_access_token"),"error"in s&&e.onError(s.error.message)}},T().createElement(N.FormattedMessage,{id:"admin.revoke_token_button.delete",defaultMessage:"Delete"}));NE.propTypes={actions:L().shape({revokeUserAccessToken:L().func.isRequired}).isRequired,tokenId:L().string.isRequired,onError:L().func.isRequired};const RE=T().memo(NE),wE=(0,a.connect)(null,(function(e){return{actions:(0,n.bindActionCreators)({revokeUserAccessToken:ds.XE},e)}}))(RE);function IE(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class OE extends T().PureComponent{constructor(e){super(e),IE(this,"handleError",(e=>{this.setState({error:e})})),IE(this,"onModalDismissed",(()=>{this.setState({show:!1})})),IE(this,"renderContents",(()=>{const{user:e,userAccessTokens:t}=this.props;let s,a=bh.dS(e);if(a?a+=" (@".concat(e.username,")"):a="@".concat(e.username),t){const e=Object.values(t);s=0===e.length?T().createElement("div",{className:"manage-row__empty"},T().createElement(N.FormattedMessage,{id:"admin.manage_tokens.userAccessTokensNone",defaultMessage:"No personal access tokens."})):e.map((e=>T().createElement("div",{key:e.id,className:"manage-teams__team"},T().createElement("div",{className:"manage-teams__team-name"},T().createElement("div",{className:"whitespace--nowrap overflow--ellipsis"},T().createElement(N.FormattedMessage,{id:"admin.manage_tokens.userAccessTokensNameLabel",defaultMessage:"Token Description: "}),e.description),T().createElement("div",{className:"whitespace--nowrap overflow--ellipsis"},T().createElement(N.FormattedMessage,{id:"admin.manage_tokens.userAccessTokensIdLabel",defaultMessage:"Token ID: "}),e.id)),T().createElement("div",{className:"manage-teams__team-actions"},T().createElement(wE,{tokenId:e.id,onError:this.handleError})))))}else s=T().createElement(At.A,null);return T().createElement("div",null,T().createElement("div",{className:"manage-teams__user"},T().createElement(qo.A,{username:e.username,url:de.mT.getProfilePictureUrl(e.id,e.last_picture_update),size:"lg"}),T().createElement("div",{className:"manage-teams__info"},T().createElement("div",{className:"manage-teams__name"},a),T().createElement("div",{className:"manage-teams__email"},e.email))),T().createElement("div",{className:"pt-3"},T().createElement(N.FormattedMessage,{id:"admin.manage_tokens.userAccessTokensDescription",defaultMessage:"Personal access tokens function similarly to session tokens and can be used by integrations to <linkAuthentication>interact with this Mattermost server</linkAuthentication>. Tokens are disabled if the user is deactivated. Learn more about <linkPersonalAccessTokens>personal access tokens</linkPersonalAccessTokens>.",values:{linkAuthentication:e=>T().createElement(ce.A,{href:"https://api.mattermost.com/#tag/authentication",location:"manage_tokens_modal"},e),linkPersonalAccessTokens:e=>T().createElement(ce.A,{href:x.i3.PERSONAL_ACCESS_TOKENS,location:"manage_tokens_modal"},e)}})),T().createElement("div",{className:"manage-teams__teams"},s))})),IE(this,"render",(()=>T().createElement(ta.Modal,{show:this.state.show,onHide:this.onModalDismissed,onExited:this.props.onExited,dialogClassName:"a11y__modal manage-teams",role:"none","aria-labelledby":"manageTokensModalLabel"},T().createElement(ta.Modal.Header,{closeButton:!0},T().createElement(ta.Modal.Title,{componentClass:"h1",id:"manageTokensModalLabel"},T().createElement(N.FormattedMessage,{id:"admin.manage_tokens.manageTokensTitle",defaultMessage:"Manage Personal Access Tokens"}))),T().createElement(ta.Modal.Body,null,this.renderContents(),this.state.error)))),this.state={show:!0,error:null}}componentDidMount(){const e=this.props.user?this.props.user.id:null;e&&this.props.actions.getUserAccessTokensForUser(e,0,200)}}IE(OE,"propTypes",{onExited:L().func.isRequired,actions:L().shape({getUserAccessTokensForUser:L().func.isRequired}).isRequired});const PE=(0,a.connect)((function(e,t){const s=t.user?t.user.id:"",a=e.entities.admin.userAccessTokensByUser;return{userAccessTokens:void 0===a?void 0:a[s]}}),(function(e){return{actions:(0,n.bindActionCreators)({getUserAccessTokensForUser:ds.GA},e)}}))(OE);function kE(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function xE(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?kE(Object(s),!0).forEach((function(t){DE(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):kE(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function DE(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class LE extends T().PureComponent{constructor(e){super(e),DE(this,"isEmailValid",(()=>{if(!this.emailRef.current||!this.emailRef.current.value||!(0,$g.xf)(this.emailRef.current.value)){const e=T().createElement(N.FormattedMessage,{id:"user.settings.general.validEmail",defaultMessage:"Please enter a valid email address."});return this.setState({error:e,isEmailError:!0}),!1}return this.setState({error:null,isEmailError:!1}),!0})),DE(this,"isCurrentPasswordValid",(()=>{if(!this.currentPasswordRef.current||!this.currentPasswordRef.current.value){const e=T().createElement(N.FormattedMessage,{id:"admin.reset_email.missing_current_password",defaultMessage:"Please enter your current password."});return this.setState({error:e,isCurrentPasswordError:!0}),!1}return this.setState({error:null,isCurrentPasswordError:!1}),!0})),DE(this,"doSubmit",(async e=>{var t;if(e.preventDefault(),!this.props.user)return;if(!this.isEmailValid())return;const s=xE(xE({},this.props.user),{},{email:this.emailRef.current.value.trim().toLowerCase()});if((null===(t=this.props.user)||void 0===t?void 0:t.id)===this.props.currentUserId){if(!this.isCurrentPasswordValid())return;s.password=this.currentPasswordRef.current.value}const a=await this.props.actions.patchUser(s);"error"in a?this.setState({error:a.error.message,isEmailError:"app.user.save.email_exists.app_error"===a.error.server_error_id,isCurrentPasswordError:"api.user.check_user_password.invalid.app_error"===a.error.server_error_id}):(this.props.onSuccess(s.email),this.setState({show:!1}))})),DE(this,"doCancel",(()=>{this.setState({show:!1,error:null})})),this.state={show:!0,error:null,isEmailError:!1,isCurrentPasswordError:!1},this.emailRef=T().createRef(),this.currentPasswordRef=T().createRef()}render(){var e;if(!this.props.user)return T().createElement("div",null);const t="input-group input-group--limit mb-5",s=T().createElement(N.FormattedMessage,{id:"admin.reset_email.titleReset",defaultMessage:"Update Email"});return T().createElement(ta.Modal,{dialogClassName:"a11y__modal",show:this.state.show,onHide:this.doCancel,onExited:this.props.onExited,role:"none","aria-labelledby":"resetEmailModalLabel","data-testid":"resetEmailModal"},T().createElement(ta.Modal.Header,{closeButton:!0},T().createElement(ta.Modal.Title,{componentClass:"h1",id:"resetEmailModalLabel"},s)),T().createElement("form",{role:"form",className:"form-horizontal"},T().createElement(ta.Modal.Body,null,T().createElement("div",{className:"form-group"},T().createElement("div",{className:"col-sm-10"},T().createElement("div",{className:"".concat(t).concat(this.state.isEmailError?" has-error":""),"data-testid":"resetEmailForm"},T().createElement("span",{"data-toggle":"tooltip",title:"New Email",className:"input-group-addon email__group-addon"},T().createElement(N.FormattedMessage,{id:"admin.reset_email.newEmail",defaultMessage:"New Email"})),T().createElement("input",{type:"email",ref:this.emailRef,className:"form-control",maxLength:128,autoFocus:!0})),(null===(e=this.props.user)||void 0===e?void 0:e.id)===this.props.currentUserId&&T().createElement("div",{className:"".concat(t).concat(this.state.isCurrentPasswordError?" has-error":""),"data-testid":"resetEmailForm"},T().createElement("span",{"data-toggle":"tooltip",title:"Current Password",className:"input-group-addon email__group-addon"},T().createElement(N.FormattedMessage,{id:"admin.reset_email.currentPassword",defaultMessage:"Current Password"})),T().createElement("input",{type:"password",ref:this.currentPasswordRef,className:"form-control"})),this.state.error&&T().createElement("div",{className:"has-error"},T().createElement("p",{className:"input__help error"},this.state.error))))),T().createElement(ta.Modal.Footer,null,T().createElement("button",{type:"button",className:"btn btn-tertiary",onClick:this.doCancel},T().createElement(N.FormattedMessage,{id:"admin.reset_email.cancel",defaultMessage:"Cancel"})),T().createElement("button",{onClick:this.doSubmit,type:"submit",className:"btn btn-primary","data-testid":"resetEmailButton"},T().createElement(N.FormattedMessage,{id:"admin.reset_email.reset",defaultMessage:"Reset"})))))}}DE(LE,"propTypes",{currentUserId:L().string.isRequired,onSuccess:L().func.isRequired,onExited:L().func.isRequired,actions:L().shape({patchUser:L().func.isRequired}).isRequired});const FE=(0,a.connect)((function(e){return{currentUserId:(0,Ea.WR)(e)}}),(function(e){return{actions:(0,n.bindActionCreators)({patchUser:ds.WJ},e)}}))(LE);function BE(e){let{user:t,onExited:s,onError:n}=e;const i=(0,a.useDispatch)(),r=T().createElement(N.FormattedMessage,{id:"create_group_memberships_modal.title",defaultMessage:"Re-add {username} to teams and channels",values:{username:t.username}}),o=T().createElement(N.FormattedMessage,{id:"create_group_memberships_modal.desc",defaultMessage:"You're about to add or re-add {username} to teams and channels based on their LDAP group membership. You can revert this change at any time.",values:{username:t.username}}),l=T().createElement(N.FormattedMessage,{id:"create_group_memberships_modal.create",defaultMessage:"Yes"}),d=T().createElement(N.FormattedMessage,{id:"create_group_memberships_modal.cancel",defaultMessage:"No"});return T().createElement(lf.A,{title:r,message:o,confirmButtonClass:"btn btn-danger",cancelButtonText:d,confirmButtonText:l,onConfirm:async function(){const{error:e}=await i((0,Ao.b4)(t.id));e&&n(e)},onExited:s})}BE.propTypes={onExited:L().func.isRequired,onError:L().func.isRequired};var HE=s(74290);function UE(e){var t,s;let{user:n,onExited:i,onSuccess:r,onError:o}=e;const l=(0,a.useDispatch)(),c=(0,a.useSelector)(d.zj),m=(0,a.useSelector)(HE.jd),u=null===(t=c.ServiceSettings)||void 0===t?void 0:t.SiteURL,p=T().createElement(N.FormattedMessage,{id:"deactivate_member_modal.title",defaultMessage:"Deactivate {username}",values:{username:n.username}}),g=T().createElement(N.FormattedMessage,{id:"deactivate_member_modal.desc",defaultMessage:"This action deactivates {username}. They will be logged out and not have access to any teams or channels on this system.\\n",values:{username:n.username}});let h;""!==n.auth_service&&n.auth_service!==x.Ay.EMAIL_SERVICE&&(h=T().createElement("strong",null,T().createElement("br",null),T().createElement("br",null),T().createElement(N.FormattedMessage,{id:"deactivate_member_modal.sso_warning",defaultMessage:"You must also deactivate this user in the SSO provider or they will be reactivated on next login or sync."})));const f=T().createElement(N.FormattedMessage,{id:"deactivate_member_modal.desc.confirm",defaultMessage:"Are you sure you want to deactivate {username}?",values:{username:n.username}});let E;if(null!==(s=c.ServiceSettings)&&void 0!==s&&s.DisableBotsWhenOwnerIsDeactivated)for(const e of Object.values(m))if(e.owner_id===n.id&&0===e.delete_at){E=T().createElement(T().Fragment,null,T().createElement("ul",null,T().createElement("li",null,T().createElement(N.FormattedMessage,{id:"deactivate_member_modal.desc.for_users_with_bot_accounts1",defaultMessage:"This action deactivates {username}",values:{username:n.username}})),T().createElement("li",null,T().createElement(N.FormattedMessage,{id:"deactivate_member_modal.desc.for_users_with_bot_accounts2",defaultMessage:"They will be logged out and not have access to any teams or channels on this system."})),T().createElement("li",null,T().createElement(N.FormattedMessage,{id:"deactivate_member_modal.desc.for_users_with_bot_accounts3",defaultMessage:"Bot accounts they manage will be disabled along with their integrations. To enable them again, go to <linkBots>Integrations > Bot Accounts</linkBots>. <linkDocumentation>Learn more about bot accounts</linkDocumentation>.",values:{siteURL:u,linkBots:e=>T().createElement("a",{href:"".concat(u,"/_redirect/integrations/bots")},e),linkDocumentation:e=>T().createElement(ce.A,{href:"https://mattermost.com/pl/default-bot-accounts",location:"system_users_dropdown"},e)}}))),T().createElement("p",null),T().createElement("p",null));break}const b=T().createElement("div",null,E||g,f,h),v=T().createElement(N.FormattedMessage,{id:"deactivate_member_modal.deactivate",defaultMessage:"Deactivate"});return T().createElement(lf.A,{title:p,message:b,confirmButtonClass:"btn btn-danger",confirmButtonText:v,onConfirm:async function(){const{error:e}=await l((0,ds.tS)(n.id,!1));e?o(e):r()},onExited:i})}function GE(e){let{user:t,onExited:s,onSuccess:n,onError:i}=e;const r=(0,a.useDispatch)(),o=T().createElement(N.FormattedMessage,{id:"demote_to_user_modal.title",defaultMessage:"Demote User {username} to Guest",values:{username:t.username}}),l=T().createElement(N.FormattedMessage,{id:"demote_to_user_modal.desc",defaultMessage:"This action demotes the user {username} to a guest. It will restrict the user's ability to join public channels and interact with users outside of the channels they are currently members of. Are you sure you want to demote user {username} to guest?",values:{username:t.username}}),d=T().createElement(N.FormattedMessage,{id:"demote_to_user_modal.demote",defaultMessage:"Demote"});return T().createElement(lf.A,{title:o,message:l,confirmButtonClass:"btn btn-danger",confirmButtonText:d,onConfirm:async function(){const{error:e}=await r((0,ds.J6)(t.id));e?i(e):n()},onExited:s})}function jE(e){let{user:t,onExited:s,onSuccess:n,onError:i}=e;const r=(0,a.useDispatch)(),o=T().createElement(N.FormattedMessage,{id:"promote_to_user_modal.title",defaultMessage:"Promote guest {username} to member",values:{username:t.username}}),l=T().createElement(N.FormattedMessage,{id:"promote_to_user_modal.desc",defaultMessage:"This action promotes the guest {username} to a member. It will allow the user to join public channels and interact with users outside of the channels they are currently members of. Are you sure you want to promote guest {username} to member?",values:{username:t.username}}),d=T().createElement(N.FormattedMessage,{id:"promote_to_user_modal.promote",defaultMessage:"Promote"});return T().createElement(lf.A,{title:o,message:l,confirmButtonClass:"btn btn-danger",confirmButtonText:d,onConfirm:async function(){const{error:e}=await r((0,ds.dd)(t.id));e?i(e):n()},onExited:s})}function qE(e){let{user:t,currentUser:s,onExited:n,onError:i}=e;const r=(0,a.useDispatch)(),o=T().createElement(N.FormattedMessage,{id:"revoke_user_sessions_modal.title",defaultMessage:"Revoke Sessions for {username}",values:{username:t.username}}),l=T().createElement(N.FormattedMessage,{id:"revoke_user_sessions_modal.desc",defaultMessage:"This action revokes all sessions for {username}. They will be logged out from all devices. Are you sure you want to revoke all sessions for {username}?",values:{username:t.username}}),d=T().createElement(N.FormattedMessage,{id:"revoke_user_sessions_modal.revoke",defaultMessage:"Revoke"});return T().createElement(lf.A,{title:o,message:l,confirmButtonClass:"btn btn-danger",confirmButtonText:d,onConfirm:async function(){const{data:e,error:a}=await r((0,ds.V_)(t.id));e&&t.id===s.id?(0,If.BN)():a&&i(a)},onExited:n})}function WE(e){var t,s,n,i,r,o;let{user:m,currentUser:u,tableId:p,rowIndex:g,onError:f,updateUser:E}=e;const{formatMessage:b}=(0,N.useIntl)(),v=(0,a.useDispatch)(),M=(0,a.useSelector)(d.zj),y="true"===(null===(t=(0,a.useSelector)(c.Ay))||void 0===t?void 0:t.IsLicensed),S=(0,a.useSelector)((e=>(0,C.y4)(e,{permission:l.xB.SYSCONSOLE_WRITE_USERMANAGEMENT_USERS}))),A=(0,a.useSelector)(Oy),R="actionMenuButton-".concat(p,"-").concat(g),w="actionMenu-".concat(p,"-").concat(g),I="actionMenuItem-".concat(p,"-").concat(g),O=(0,_.useMemo)((()=>(0,bh.FV)(u.roles)),[u.roles]),P=!O&&(0,bh.FV)(m.roles)||!S,k=(0,_.useCallback)((()=>{v((0,ea.q)({modalId:x.IQ.MANAGE_ROLES_MODAL,dialogType:vE,dialogProps:{user:m,onSuccess:function(e){E({roles:e})}}}))}),[m,E]),D=(0,_.useCallback)((()=>{v((0,ea.q)({modalId:x.IQ.MANAGE_TEAMS_MODAL,dialogType:TE,dialogProps:{user:m}}))}),[m]),L=(0,_.useCallback)((()=>{v((0,ea.q)({modalId:x.IQ.CONFIRM_MANAGE_USER_SETTINGS_MODAL,dialogType:df,dialogProps:{user:m,onConfirm:function(){v((0,ea.q)({modalId:x.IQ.USER_SETTINGS,dialogType:cf.default,dialogProps:{adminMode:!0,isContentProductSettings:!0,userID:m.id}}))}}}))}),[m]),F=(0,_.useCallback)((()=>{v((0,ea.q)({modalId:x.IQ.MANAGE_TOKENS_MODAL,dialogType:PE,dialogProps:{user:m}}))}),[m.id]),B=(0,_.useCallback)((()=>{v((0,ea.q)({modalId:x.IQ.RESET_PASSWORD_MODAL,dialogType:Vh,dialogProps:{user:m}}))}),[m]),H=(0,_.useCallback)((async()=>{await(0,h.pT)(m.id,null,f).then((()=>{E({mfa_active:!1})}));try{await(0,h.pT)(m.id,null,f),E({mfa_active:!1})}catch(e){f(e)}}),[m.id,E,f]),U=(0,_.useCallback)((()=>{v((0,ea.q)({modalId:x.IQ.RESET_PASSWORD_MODAL,dialogType:Vh,dialogProps:{user:m,onSuccess:function(){E({auth_service:void 0})}}}))}),[m,E]),G=(0,_.useCallback)((()=>{v((0,ea.q)({modalId:x.IQ.RESET_EMAIL_MODAL,dialogType:FE,dialogProps:{user:m,onSuccess:function(e){E({email:e})}}}))}),[m,E]),j=(0,_.useCallback)((()=>{v((0,ea.q)({modalId:x.IQ.PROMOTE_TO_MEMBER_MODAL,dialogType:jE,dialogProps:{user:m,onError:f,onSuccess:function(){E({roles:m.roles.replace(fc.A.SYSTEM_GUEST_ROLE,"")})}}}))}),[m,E,f]),q=(0,_.useCallback)((()=>{v((0,ea.q)({modalId:x.IQ.DEMOTE_TO_GUEST_MODAL,dialogType:GE,dialogProps:{user:m,onError:f,onSuccess:function(){E({roles:"".concat(m.roles," ").concat(fc.A.SYSTEM_GUEST_ROLE)})}}}))}),[m,E,f]),W=(0,_.useCallback)((()=>{v((0,ea.q)({modalId:x.IQ.REVOKE_SESSIONS_MODAL,dialogType:qE,dialogProps:{user:m,currentUser:u,onError:f}}))}),[m,u.id,f]),V=(0,_.useCallback)((()=>{v((0,ea.q)({modalId:x.IQ.CREATE_GROUP_SYNCABLES_MEMBERSHIP_MODAL,dialogType:BE,dialogProps:{user:m,onError:f}}))}),[m,f]),z=(0,_.useCallback)((async()=>{if(m.auth_service===x.Ay.LDAP_SERVICE)return;const{error:e}=await v((0,ds.tS)(m.id,!0));e?f(e):E({delete_at:0})}),[m.id,m.auth_service,E,f]),Y=(0,_.useCallback)((()=>{m.auth_service!==x.Ay.LDAP_SERVICE&&v((0,ea.q)({modalId:x.IQ.DEACTIVATE_MEMBER_MODAL,dialogType:UE,dialogProps:{user:m,onError:f,onSuccess:function(){E({delete_at:(new Date).getMilliseconds()})}}}))}),[m,E,f]),Z=m.auth_service===x.Ay.LDAP_SERVICE,J=e=>e?{trailingElements:b({id:"admin.system_users.list.actions.menu.managedByLdap",defaultMessage:"Managed by LDAP"})}:{};return T().createElement(_m.mc,{menuButton:{id:R,class:re()("btn btn-quaternary btn-sm",{disabled:P}),disabled:P,children:T().createElement(T().Fragment,null,(Q=m.roles,m.delete_at>0?T().createElement(N.FormattedMessage,{id:"admin.system_users.list.actions.deactivated",defaultMessage:"Deactivated"}):m.roles.length>0&&(0,bh.FV)(Q)?T().createElement(N.FormattedMessage,{id:"admin.system_users.list.actions.userAdmin",defaultMessage:"System Admin"}):(0,bh.P)(Q)?T().createElement(N.FormattedMessage,{id:"admin.system_users.list.actions.userGuest",defaultMessage:"Guest"}):T().createElement(N.FormattedMessage,{id:"admin.system_users.list.actions.userMember",defaultMessage:"Member"})),!P&&T().createElement("i",{"aria-hidden":"true",className:"icon icon-chevron-down"}))},menu:{id:w,"aria-label":b({id:"admin.system_users.list.actions.menu.dropdownAriaLabel",defaultMessage:"User actions menu"})}},m.delete_at>0&&T().createElement(_m.q7,Object.assign({id:"".concat(I,"-active"),labels:T().createElement(N.FormattedMessage,{id:"admin.system_users.list.actions.menu.activate",defaultMessage:"Activate"}),disabled:Z},J(Z),{onClick:z})),O&&T().createElement(_m.q7,{id:"".concat(I,"-manageRoles"),labels:T().createElement(N.FormattedMessage,{id:"admin.system_users.list.actions.menu.manageRoles",defaultMessage:"Manage roles"}),onClick:k}),T().createElement(_m.q7,{id:"".concat(I,"-manageTeams"),labels:T().createElement(N.FormattedMessage,{id:"admin.system_users.list.actions.menu.manageTeams",defaultMessage:"Manage teams"}),onClick:D}),A&&T().createElement(_m.q7,{id:"".concat(I,"-manageTeams"),labels:T().createElement(N.FormattedMessage,{id:"admin.system_users.list.actions.menu.manageSettings",defaultMessage:"Manage user settings"}),onClick:L}),(null===(s=M.ServiceSettings)||void 0===s?void 0:s.EnableUserAccessTokens)&&T().createElement(_m.q7,{id:"".concat(I,"-manageTokens"),labels:T().createElement(N.FormattedMessage,{id:"admin.system_users.list.actions.menu.manageTokens",defaultMessage:"Manage tokens"}),onClick:F}),!m.auth_service&&T().createElement(_m.q7,{id:"".concat(I,"-resetPassword"),labels:T().createElement(N.FormattedMessage,{id:"admin.system_users.list.actions.menu.resetPassword",defaultMessage:"Reset password"}),onClick:B}),m.mfa_active&&(null===(n=M.ServiceSettings)||void 0===n?void 0:n.EnableMultifactorAuthentication)&&T().createElement(_m.q7,{id:"".concat(I,"-removeMFA"),labels:T().createElement(N.FormattedMessage,{id:"admin.system_users.list.actions.menu.removeMFA",defaultMessage:"Remove MFA"}),onClick:H}),Boolean(m.auth_service)&&(null===(i=M.ServiceSettings)||void 0===i?void 0:i.ExperimentalEnableAuthenticationTransfer)&&T().createElement(_m.q7,{id:"".concat(I,"-switchToEmailPassword"),labels:T().createElement(N.FormattedMessage,{id:"admin.system_users.list.actions.menu.switchToEmailPassword",defaultMessage:"Switch to Email/Password"}),onClick:U}),!m.auth_service&&T().createElement(_m.q7,{id:"".concat(I,"-updateEmail"),labels:T().createElement(N.FormattedMessage,{id:"admin.system_users.list.actions.menu.updateEmail",defaultMessage:"Update email"}),onClick:G}),(0,bh.P)(m.roles)&&T().createElement(_m.q7,{id:"".concat(I,"-promoteToMember"),labels:T().createElement(N.FormattedMessage,{id:"admin.system_users.list.actions.menu.promoteToMember",defaultMessage:"Promote to member"}),onClick:j}),!(0,bh.P)(m.roles)&&m.id!==u.id&&y&&(null===(r=M.GuestAccountsSettings)||void 0===r?void 0:r.Enable)&&T().createElement(_m.q7,{id:"".concat(I,"-demoteToGuest"),labels:T().createElement(N.FormattedMessage,{id:"admin.system_users.list.actions.menu.demoteToGuest",defaultMessage:"Demote to guest"}),onClick:q}),T().createElement(Of.A,{permissions:[l.xB.REVOKE_USER_ACCESS_TOKEN]},!m.delete_at&&T().createElement(_m.q7,{id:"".concat(I,"-removeSessions"),labels:T().createElement(N.FormattedMessage,{id:"admin.system_users.list.actions.menu.removeSessions",defaultMessage:"Remove sessions"}),onClick:W})),T().createElement(Of.A,{permissions:[l.xB.SYSCONSOLE_WRITE_USERMANAGEMENT_GROUPS]},(m.auth_service===x.Ay.LDAP_SERVICE||m.auth_service===x.Ay.SAML_SERVICE&&(null===(o=M.SamlSettings)||void 0===o?void 0:o.EnableSyncWithLdap))&&T().createElement(_m.q7,{id:"".concat(I,"-resyncUserViaLdapGroups"),labels:T().createElement(N.FormattedMessage,{id:"admin.system_users.list.actions.menu.resyncUserViaLdapGroups",defaultMessage:"Re-sync user via LDAP groups"}),onClick:V})),0===m.delete_at&&T().createElement(_m.q7,Object.assign({id:"".concat(I,"-deactivate"),isDestructive:!0,labels:T().createElement(N.FormattedMessage,{id:"admin.system_users.list.actions.menu.deactivate",defaultMessage:"Deactivate"}),onClick:Y,disabled:Z},J(Z))));var Q}function VE(e){const{formatMessage:t}=(0,N.useIntl)(),s=(0,a.useDispatch)(),n=(0,_.useRef)(),[i,r]=(0,_.useState)(e.searchTerm);return T().createElement("div",{className:"system-users__filter"},T().createElement(ln.A,{type:"text",clearable:!0,name:"searchTerm",containerClassName:"systemUsersSearch",placeholder:t({id:"admin.system_users.search.placeholder",defaultMessage:"Search users"}),inputPrefix:T().createElement("i",{className:"icon icon-magnify"}),onChange:function(e){const{target:{value:t}}=e;r(t),clearTimeout(n.current),n.current=setTimeout((()=>{s((0,f.p$)({searchTerm:t}))}),500)},onClear:function(){r(""),s((0,f.p$)({searchTerm:""}))},value:i}))}function zE(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function YE(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?zE(Object(s),!0).forEach((function(t){ZE(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):zE(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function ZE(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}UE.propTypes={onExited:L().func.isRequired,onSuccess:L().func.isRequired,onError:L().func.isRequired},GE.propTypes={onExited:L().func.isRequired,onSuccess:L().func.isRequired,onError:L().func.isRequired},jE.propTypes={onSuccess:L().func.isRequired,onExited:L().func.isRequired,onError:L().func.isRequired},qE.propTypes={onExited:L().func.isRequired,onError:L().func.isRequired},WE.propTypes={tableId:L().string,rowIndex:L().number.isRequired,onError:L().func.isRequired,updateUser:L().func.isRequired};const JE=(0,N.defineMessages)({title:{id:"admin.system_users.title",defaultMessage:"{siteName} Users"}}),QE=[[JE.title,{siteName:""}]];function KE(e){var t,s,a,n,i,r,o,l,d,u,p,g,h,f;const E=(0,c.zj)(e),b=E.SiteName,v="true"===E.EnableMultifactorAuthentication,M="true"===E.EnableUserAccessTokens,y="true"===E.ExperimentalEnableAuthenticationTransfer,S="mysql"===E.SQLDriverName,A="true"===(0,m.Jt)(e,Af.A.CATEGORY_REPORTING,Af.A.HIDE_MYSQL_STATS_NOTIFICATION,""),C=(0,Ea.HW)(e),_=(0,Jo.QH)(e);return{siteName:b,mfaEnabled:v,enableUserAccessTokens:M,experimentalEnableAuthenticationTransfer:y,currentUser:C,isMySql:S,hideMySqlNotification:A,tablePropertySortColumn:null!==(t=null==_?void 0:_.sortColumn)&&void 0!==t?t:Cf.hR.sortColumn,tablePropertySortIsDescending:null!==(s=null==_?void 0:_.sortIsDescending)&&void 0!==s?s:Cf.hR.sortIsDescending,tablePropertyPageSize:null!==(a=null==_?void 0:_.pageSize)&&void 0!==a?a:Cf.hR.pageSize,tablePropertyPageIndex:null!==(n=null==_?void 0:_.pageIndex)&&void 0!==n?n:Cf.hR.pageIndex,tablePropertyCursorDirection:null!==(i=null==_?void 0:_.cursorDirection)&&void 0!==i?i:Cf.hR.cursorDirection,tablePropertyCursorUserId:null!==(r=null==_?void 0:_.cursorUserId)&&void 0!==r?r:Cf.hR.cursorUserId,tablePropertyCursorColumnValue:null!==(o=null==_?void 0:_.cursorColumnValue)&&void 0!==o?o:Cf.hR.cursorColumnValue,tablePropertyColumnVisibility:null!==(l=null==_?void 0:_.columnVisibility)&&void 0!==l?l:Cf.hR.columnVisibility,tablePropertySearchTerm:null!==(d=null==_?void 0:_.searchTerm)&&void 0!==d?d:Cf.hR.searchTerm,tablePropertyFilterTeam:null!==(u=null==_?void 0:_.filterTeam)&&void 0!==u?u:Rf.AllTeams,tablePropertyFilterTeamLabel:null!==(p=null==_?void 0:_.filterTeamLabel)&&void 0!==p?p:"",tablePropertyFilterRole:null!==(g=null==_?void 0:_.filterRole)&&void 0!==g?g:Nf.Any,tablePropertyFilterStatus:null!==(h=null==_?void 0:_.filterStatus)&&void 0!==h?h:Tf.Any,tablePropertyDateRange:null!==(f=null==_?void 0:_.dateRange)&&void 0!==f?f:Sf.p9.AllTime}}const XE={getUserReports:f.N5,getUserCountForReporting:f.Qp,savePreferences:fa.SF,setAdminConsoleUsersManagementTableProperties:f.p$},$E=((0,a.connect)(KE,XE),(0,a.connect)(KE,XE)((function(e){var t,s,a,n;const{formatMessage:i}=(0,N.useIntl)(),r=(0,R.useHistory)(),[o,l]=(0,_.useState)([]),[d,c]=(0,_.useState)(),[m,u]=(0,_.useState)(hp.Loading),[p,g]=(0,_.useState)(e.isMySql&&!e.hideMySqlNotification);function h(){g(!1),e.savePreferences(e.currentUser.id,[{category:Af.A.CATEGORY_REPORTING,name:Af.A.HIDE_MYSQL_STATS_NOTIFICATION,user_id:e.currentUser.id,value:"true"}])}function f(e,t){l(o.map((s=>s.id===e?YE(YE({},s),{},{error:void 0},t):s)))}(0,_.useEffect)((()=>{(async t=>{const{data:s}=await e.getUserCountForReporting(Vf(t));c(s)})({pageSize:e.tablePropertyPageSize,sortColumn:e.tablePropertySortColumn,sortIsDescending:e.tablePropertySortIsDescending,fromColumnValue:e.tablePropertyCursorColumnValue,fromId:e.tablePropertyCursorUserId,direction:e.tablePropertyCursorDirection,searchTerm:e.tablePropertySearchTerm,filterTeam:e.tablePropertyFilterTeam,filterRole:e.tablePropertyFilterRole,filterStatus:e.tablePropertyFilterStatus})}),[e.tablePropertyPageSize,e.tablePropertySortColumn,e.tablePropertySortIsDescending,e.tablePropertyCursorDirection,e.tablePropertyCursorColumnValue,e.tablePropertyCursorUserId,e.tablePropertySearchTerm,e.tablePropertyFilterTeam,e.tablePropertyFilterRole,e.tablePropertyFilterStatus]),(0,_.useEffect)((()=>{!async function(t){u(hp.Loading);const{data:s}=await e.getUserReports(Vf(t));s?(s.length>0?l(s):l([]),u(hp.Loaded)):u(hp.Failed)}({pageSize:e.tablePropertyPageSize,sortColumn:e.tablePropertySortColumn,sortIsDescending:e.tablePropertySortIsDescending,fromColumnValue:e.tablePropertyCursorColumnValue,fromId:e.tablePropertyCursorUserId,direction:e.tablePropertyCursorDirection,searchTerm:e.tablePropertySearchTerm,filterTeam:e.tablePropertyFilterTeam,filterRole:e.tablePropertyFilterRole,filterStatus:e.tablePropertyFilterStatus,dateRange:e.tablePropertyDateRange})}),[e.tablePropertyPageSize,e.tablePropertySortColumn,e.tablePropertySortIsDescending,e.tablePropertyCursorDirection,e.tablePropertyCursorColumnValue,e.tablePropertyCursorUserId,e.tablePropertySearchTerm,e.tablePropertyFilterRole,e.tablePropertyFilterTeam,e.tablePropertyFilterStatus,e.tablePropertyDateRange]);const E=(0,_.useMemo)((()=>[{id:_f.username,accessorKey:"username",header:i({id:"admin.system_users.list.userDetails",defaultMessage:"User details"}),cell:e=>{var t,s;const a=Boolean(null===(t=e.row.original)||void 0===t||null===(s=t.remote_id)||void 0===s?void 0:s.length);return T().createElement("div",null,T().createElement("div",{className:"profilePictureContainer"},T().createElement("img",{className:"profilePicture",src:(0,H.RG)(e.row.original.id),"aria-hidden":"true"})),T().createElement("div",{className:"displayName",title:(0,H.Mn)(e.row.original)},(0,H.Mn)(e.row.original)||"",a&&T().createElement(wf.A,{title:i({id:"admin.system_users.list.userIsRemote",defaultMessage:"Remote user"}),ariaLabel:i({id:"admin.system_users.list.userIsRemoteAriaLabel",defaultMessage:"This is a remote user"}),role:"img",className:"icon-12",withTooltip:!0})),T().createElement("div",{className:"userName",title:e.row.original.username},e.row.original.username),e.row.original.error&&T().createElement("div",{className:"error",title:e.row.original.error.message},e.row.original.error.message))},enableHiding:!1,enablePinning:!0,enableSorting:!0},{id:_f.email,accessorKey:"email",header:i({id:"admin.system_users.list.email",defaultMessage:"Email"}),cell:e=>e.getValue()||"",enableHiding:!0,enablePinning:!1,enableSorting:!0},{id:_f.createAt,accessorKey:"create_at",header:i({id:"admin.system_users.list.memberSince",defaultMessage:"Member since"}),cell:e=>T().createElement(vp,{date:e.getValue()}),enableHiding:!0,enablePinning:!1,enableSorting:!0},{id:_f.lastLoginAt,accessorKey:"last_login_at",header:i({id:"admin.system_users.list.lastLoginAt",defaultMessage:"Last login"}),cell:e=>T().createElement(vp,{date:e.getValue()}),enableHiding:!0,enablePinning:!1,enableSorting:!1},{id:_f.lastStatusAt,accessorKey:"last_status_at",header:i({id:"admin.system_users.list.lastActivity",defaultMessage:"Last activity"}),cell:e=>T().createElement(vp,{date:e.getValue()}),enableHiding:!0,enablePinning:!1,enableSorting:!1},{id:_f.lastPostDate,accessorKey:"last_post_date",header:i({id:"admin.system_users.list.lastPost",defaultMessage:"Last post"}),cell:e=>T().createElement(vp,{date:e.getValue()}),enableHiding:!e.isMySql,enablePinning:!1,enableSorting:!1},{id:_f.daysActive,accessorKey:"days_active",header:i({id:"admin.system_users.list.daysActive",defaultMessage:"Days active"}),cell:e=>e.getValue()||null,meta:{isNumeric:!0},enableHiding:!e.isMySql,enablePinning:!1,enableSorting:!1},{id:_f.totalPosts,accessorKey:"total_posts",header:i({id:"admin.system_users.list.totalPosts",defaultMessage:"Messages posted"}),cell:e=>e.getValue()||null,meta:{isNumeric:!0},enableHiding:!e.isMySql,enablePinning:!1,enableSorting:!1},{id:_f.actions,accessorKey:"actions",header:i({id:"admin.system_users.list.actions",defaultMessage:"Actions"}),cell:t=>{var s,a;return null!==(s=t.row.original)&&void 0!==s&&null!==(a=s.remote_id)&&void 0!==a&&a.length?T().createElement(T().Fragment,null):T().createElement(WE,{rowIndex:t.cell.row.index,tableId:"systemUsersTable",user:t.row.original,currentUser:e.currentUser,updateUser:e=>f(t.row.original.id,e),onError:e=>f(t.row.original.id,{error:e})})},enableHiding:!1,enablePinning:!0,enableSorting:!1}]),[e.currentUser,o]),b=[{id:e&&e.tablePropertySortColumn&&e.tablePropertySortColumn.length>0?e.tablePropertySortColumn:_f.username,desc:null!==(t=null==e?void 0:e.tablePropertySortIsDescending)&&void 0!==t&&t}],v={pageIndex:null!==(s=null==e?void 0:e.tablePropertyPageIndex)&&void 0!==s?s:0,pageSize:(null==e?void 0:e.tablePropertyPageSize)||pp[0]},M=YE(YE({},e.tablePropertyColumnVisibility),e.isMySql?{[_f.lastPostDate]:!1,[_f.daysActive]:!1,[_f.totalPosts]:!1}:{}),y=(0,lp.N4)({data:o,columns:E,state:{sorting:b,pagination:v,columnVisibility:M},meta:{tableId:"systemUsersTable",tableCaption:i({id:"admin.system_users.list.caption",defaultMessage:"System Users"}),loadingState:m,disablePrevPage:!e.tablePropertyCursorUserId||e.tablePropertyPageIndex<=0||"prev"===e.tablePropertyCursorDirection&&o.length<v.pageSize,disableNextPage:"next"===e.tablePropertyCursorDirection&&o.length<v.pageSize,onRowClick:function(e){var t;0!==e.length&&((null===(t=o.find((t=>t.id===e)))||void 0===t?void 0:t.remote_id)||r.push("/admin_console/user_management/user/".concat(e)))},onPreviousPageClick:function(){o.length&&e.setAdminConsoleUsersManagementTableProperties({pageIndex:e.tablePropertyPageIndex-1,cursorDirection:Sf.gX.prev,cursorUserId:o[0].id,cursorColumnValue:zf(o[0],e.tablePropertySortColumn)})},onNextPageClick:function(){o.length&&e.setAdminConsoleUsersManagementTableProperties({pageIndex:e.tablePropertyPageIndex+1,cursorDirection:Sf.gX.next,cursorUserId:o[o.length-1].id,cursorColumnValue:zf(o[o.length-1],e.tablePropertySortColumn)})},paginationInfo:Yf(v.pageIndex,v.pageSize,o.length,d),hasDualSidedPagination:!0},getCoreRowModel:(0,op.HT)(),getSortedRowModel:(0,op.h5)(),onPaginationChange:function(t){const s=t({pageIndex:0,pageSize:e.tablePropertyPageSize});e.setAdminConsoleUsersManagementTableProperties({pageIndex:0,cursorDirection:void 0,cursorUserId:void 0,cursorColumnValue:void 0,pageSize:s.pageSize})},onSortingChange:function(t){const s=[{id:e.tablePropertySortColumn,desc:e.tablePropertySortIsDescending}],[a]=t(s);e.tablePropertySortColumn!==a.id&&(a.desc=!1),e.setAdminConsoleUsersManagementTableProperties({pageIndex:0,cursorDirection:void 0,cursorUserId:void 0,cursorColumnValue:void 0,sortColumn:a.id,sortIsDescending:a.desc})},onColumnVisibilityChange:function(t){const s=t(e.tablePropertyColumnVisibility);e.setAdminConsoleUsersManagementTableProperties({columnVisibility:Object.assign({},e.tablePropertyColumnVisibility,s)})},manualSorting:!0,enableSortingRemoval:!1,enableMultiSort:!1,manualFiltering:!0,manualPagination:!0,renderFallbackValue:""});return T().createElement("div",{className:"wrapper--fixed","data-testid":"systemUsersSection"},T().createElement(et,null,T().createElement(N.FormattedMessage,Object.assign({},JE.title,{values:{siteName:e.siteName}}),(e=>T().createElement("span",{id:"systemUsersTable-headerId"},e))),T().createElement(Pf,null)),T().createElement("div",{className:"admin-console__wrapper"},p&&T().createElement(ba.A,{className:"systemUsers__mySqlAlertBanner",mode:"warning",title:T().createElement(N.FormattedMessage,{id:"admin.system_users.mysql_stats.title",defaultMessage:"Some statistics are unavailable for servers using MySQL"}),message:T().createElement(T().Fragment,null,T().createElement(N.FormattedMessage,{id:"admin.system_users.mysql_stats.desc",defaultMessage:"Use of MySQL may limit the availability of some statistics features. We recommend transitioning from MySQL to PostgreSQL to fully leverage improved performance and comprehensive analytics. While you’re still using MySQL, please use the export functionality to view all user statistics."}),T().createElement("div",{className:"systemUsers__mySqlAlertBanner-buttons"},T().createElement("button",{type:"button",className:"btn btn-primary",onClick:()=>window.open("https://mattermost.com/pl/user-stats-learn-more","_blank")},T().createElement(N.FormattedMessage,{id:"admin.system_users.mysql_stats.learn_more",defaultMessage:"Learn more"})),T().createElement("button",{type:"button",className:"btn btn-tertiary",onClick:h},T().createElement(N.FormattedMessage,{id:"admin.system_users.mysql_stats.dismiss",defaultMessage:"Dismiss"})))),onDismiss:h}),T().createElement("div",{className:"admin-console__container ignore-marking"},T().createElement("div",{className:"admin-console__filters-rows"},T().createElement(VE,{searchTerm:e.tablePropertySearchTerm}),T().createElement(hE,{filterTeam:e.tablePropertyFilterTeam,filterTeamLabel:e.tablePropertyFilterTeamLabel,filterRole:e.tablePropertyFilterRole,filterStatus:e.tablePropertyFilterStatus}),T().createElement(kf,{isMySql:e.isMySql,allColumns:y.getAllLeafColumns(),visibleColumnsLength:null!==(a=null===(n=y.getVisibleLeafColumns())||void 0===n?void 0:n.length)&&void 0!==a?a:0}),T().createElement(Bf,{dateRange:e.tablePropertyDateRange}),T().createElement(Jf,{currentUserId:e.currentUser.id,usersLenght:o.length})),T().createElement(fp,{table:y}))))})));function eb(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const tb=10;class sb extends T().PureComponent{constructor(e){super(e),eb(this,"previousPage",(async e=>{e.preventDefault();const t=this.state.page<1?0:this.state.page-1;this.setState({page:t,loading:!0}),this.performSearch(t)})),eb(this,"nextPage",(async e=>{e.preventDefault();const t=this.state.page+1;this.setState({page:t,loading:!0}),this.performSearch(t)})),eb(this,"renderHeader",(()=>this.props.data.length>0?this.props.header:null)),eb(this,"renderRows",(()=>{if(this.state.loading)return T().createElement("div",{className:"groups-list-loading"},T().createElement("i",{className:"fa fa-spinner fa-pulse fa-2x"}));if(0===this.props.data.length)return T().createElement("div",{className:"groups-list-empty"},T().createElement(N.FormattedMessage,this.props.emptyListText));const e=this.state.page*tb;return this.props.data.slice(e,e+tb).map(this.props.renderRow)})),eb(this,"performSearch",(e=>{this.setState({loading:!0}),this.props.actions.getData(e,tb,"",!1,!0).then((e=>{this.props.onPageChangedCallback&&this.props.onPageChangedCallback(this.getPaging(),e),this.setState({loading:!1})}))})),eb(this,"render",(()=>{const{startCount:e,endCount:t,total:s}=this.getPaging(),{noPadding:a}=this.props,n=t===s,i=0===this.state.page;return T().createElement("div",{className:re()("groups-list","groups-list-no-padding",{"groups-list-less-padding":a})},this.renderHeader(),T().createElement("div",{id:"groups-list--body",className:"groups-list--body"},this.renderRows()),s>0&&T().createElement("div",{className:"groups-list--footer"},T().createElement("div",{className:"counter"},T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.list.paginatorCount",defaultMessage:"{startCount, number} - {endCount, number} of {total, number}",values:{startCount:e,endCount:t,total:s}})),T().createElement("button",{type:"button",className:"btn btn-tertiary prev "+(i?"disabled":""),onClick:i?void 0:this.previousPage,disabled:i},T().createElement(Fn.A,null)),T().createElement("button",{type:"button",className:"btn btn-tertiary next "+(n?"disabled":""),onClick:n?void 0:this.nextPage,disabled:n,"data-testid":"page-link-next"},T().createElement(Ln.A,null))))})),this.state={loading:!0,page:0}}componentDidMount(){this.performSearch(this.state.page)}getPaging(){const e=this.state.page*tb+1;let t=this.state.page*tb+tb;const s=this.props.total;return t>s&&(t=s),{startCount:e,endCount:t,total:s}}}eb(sb,"defaultProps",{data:[],noPadding:!1});var ab=s(59050);function nb(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function ib(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?nb(Object(s),!0).forEach((function(t){rb(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):nb(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function rb(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const ob=(0,N.defineMessages)({group:{id:"admin.channel_settings.channel_row.managementMethod.group",defaultMessage:"Group Sync"},manual:{id:"admin.channel_settings.channel_row.managementMethod.manual",defaultMessage:"Manual Invites"}});class lb extends T().PureComponent{constructor(e){var t;super(e),t=this,rb(this,"isSearching",((e,t)=>e.length>0||Object.keys(t).length>0)),rb(this,"getPaginationProps",(()=>{const{page:e,term:t,filters:s}=this.state,a=this.isSearching(t,s)?this.state.total:this.props.total;let n=(e+1)*tb;return n=n>a?a:n,{startCount:e*tb+1,endCount:n,total:a}})),rb(this,"loadPage",(async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t.setState({loading:!0,term:s,filters:a}),t.isSearching(s,a)?e>0?t.searchChannels(e,s,a):t.searchChannelsDebounced(e,s,a):(await t.props.actions.getData(e,tb,"",!1,!0),t.setState({page:e,loading:!1}))})),rb(this,"searchChannels",(async function(){var e;let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=[],r=0,o=!0;const l=await t.props.actions.searchAllChannels(a,ib(ib({},n),{},{page:s,per_page:tb,include_deleted:null===(e=n.deleted)||void 0===e||e,include_search_by_id:!0}));null!=l&&l.data&&(i=s>0?t.state.channels.concat(l.data.channels):l.data.channels,r=l.data.total_count,o=!1),t.setState({page:s,loading:!1,channels:i,total:r,searchErrored:o})})),rb(this,"searchChannelsDebounced",(0,Qd.sg)((function(e,s){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return t.searchChannels(e,s,a)}),300,!1,(()=>{}))),rb(this,"nextPage",(()=>{this.loadPage(this.state.page+1,this.state.term,this.state.filters)})),rb(this,"previousPage",(()=>{this.setState({page:this.state.page-1})})),rb(this,"onSearch",(async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";t.loadPage(0,e,t.state.filters)})),rb(this,"getColumns",(()=>[{name:T().createElement(N.FormattedMessage,{id:"admin.channel_settings.channel_list.nameHeader",defaultMessage:"Name"}),field:"name",width:4,fixed:!0},{name:T().createElement(N.FormattedMessage,{id:"admin.channel_settings.channel_list.teamHeader",defaultMessage:"Team"}),field:"team",width:1.5,fixed:!0},{name:T().createElement(N.FormattedMessage,{id:"admin.channel_settings.channel_list.managementHeader",defaultMessage:"Management"}),field:"management",fixed:!0},{name:"",field:"edit",textAlign:"right",fixed:!0}])),rb(this,"getRows",(()=>{const{data:e}=this.props,{channels:t,term:s,filters:a}=this.state,{startCount:n,endCount:i}=this.getPaginationProps();let r=this.isSearching(s,a)?t:e;return r=r.slice(n-1,i),r.map((e=>{let t=T().createElement(Bi.A,{className:"channel-icon"});e.type===x.YM.PRIVATE_CHANNEL&&(t=T().createElement(Hi.A,{className:"channel-icon"})),(0,Ui.Oj)(e)&&(t=T().createElement(Fi.A,{className:"channel-icon","data-testid":"".concat(e.name,"-archive-icon")}));const s=e.shared?T().createElement(ab.A,{className:"channel-icon",withTooltip:!0}):null;return{cells:{id:e.id,name:T().createElement("span",{className:"group-name overflow--ellipsis row-content","data-testid":"channel-display-name"},t,T().createElement("span",{className:"TeamList_channelDisplayName"},e.display_name),s),team:T().createElement("span",{className:"group-description row-content"},e.team_display_name),management:T().createElement("span",{className:"group-description adjusted row-content"},T().createElement(N.FormattedMessage,e.group_constrained?ob.group:ob.manual)),edit:T().createElement("span",{className:"group-actions TeamList_editRow","data-testid":"".concat(e.name,"edit")},T().createElement(R.Link,{to:"/admin_console/user_management/channels/".concat(e.id)},T().createElement(N.FormattedMessage,{id:"admin.channel_settings.channel_row.configure",defaultMessage:"Edit"})))},onClick:()=>(0,fi.J)().push("/admin_console/user_management/channels/".concat(e.id))}}))})),rb(this,"onFilter",(e=>{const t={},{group_constrained:s,exclude_group_constrained:a}=e.management.values,{public:n,private:i,deleted:r}=e.channels.values,{team_ids:o}=e.teams.values;(n.value||i.value||r.value||s.value||a.value||o.value.length)&&(t.public=n.value,t.public&&(0,I.sx)("admin_channels_page","public_filter_applied_to_channel_list"),t.private=i.value,t.private&&(0,I.sx)("admin_channels_page","private_filter_applied_to_channel_list"),t.deleted=r.value,t.deleted&&(0,I.sx)("admin_channels_page","archived_filter_applied_to_channel_list"),s.value&&a.value||(t.group_constrained=s.value,t.group_constrained&&(0,I.sx)("admin_channels_page","group_sync_filter_applied_to_channel_list"),t.exclude_group_constrained=a.value,t.exclude_group_constrained&&(0,I.sx)("admin_channels_page","manual_invites_filter_applied_to_channel_list")),t.team_ids=o.value,t.team_ids.length>0&&(0,I.sx)("admin_channels_page","team_id_filter_applied_to_channel_list")),this.loadPage(0,this.state.term,t)})),rb(this,"render",(()=>{const{term:e,searchErrored:t}=this.state,s=this.getRows(),a=this.getColumns(),{startCount:n,endCount:i,total:r}=this.getPaginationProps();let o=T().createElement(N.FormattedMessage,{id:"admin.channel_settings.channel_list.no_channels_found",defaultMessage:"No channels found"});t&&(o=T().createElement(N.FormattedMessage,{id:"admin.channel_settings.channel_list.search_channels_errored",defaultMessage:"Something went wrong. Try again"}));const l={minHeight:"".concat(40*s.length,"px")},d={options:{teams:{name:"Teams",values:{team_ids:{name:T().createElement(N.FormattedMessage,{id:"admin.team_settings.title",defaultMessage:"Teams"}),value:[]}},keys:["team_ids"],type:Li},management:{name:"Management",values:{group_constrained:{name:T().createElement(N.FormattedMessage,{id:"admin.channel_list.group_sync",defaultMessage:"Group Sync"}),value:!1},exclude_group_constrained:{name:T().createElement(N.FormattedMessage,{id:"admin.channel_list.manual_invites",defaultMessage:"Manual Invites"}),value:!1}},keys:["group_constrained","exclude_group_constrained"]},channels:{name:"Channels",values:{public:{name:T().createElement(N.FormattedMessage,{id:"admin.channel_list.public",defaultMessage:"Public"}),value:!1},private:{name:T().createElement(N.FormattedMessage,{id:"admin.channel_list.private",defaultMessage:"Private"}),value:!1},deleted:{name:T().createElement(N.FormattedMessage,{id:"admin.channel_list.archived",defaultMessage:"Archived"}),value:!1}},keys:["public","private","deleted"]}},keys:["teams","channels","management"],onFilter:this.onFilter};return T().createElement("div",{className:"ChannelsList"},T().createElement(oi,{columns:a,rows:s,loading:this.state.loading,page:this.state.page,nextPage:this.nextPage,previousPage:this.previousPage,startCount:n,endCount:i,total:r,onSearch:this.onSearch,term:e,placeholderEmpty:o,rowsContainerStyles:l,filterProps:d}))})),this.state={loading:!1,term:"",channels:[],page:0,total:0,searchErrored:!1,filters:{}}}componentDidMount(){this.loadPage()}}rb(lb,"propTypes",{actions:L().shape({searchAllChannels:L().func.isRequired,getData:L().func.isRequired}).isRequired,data:L().array.isRequired,total:L().number.isRequired});const db=(e,t)=>e.display_name.localeCompare(t.display_name),cb=(0,A.Mz)("getSortedListOfChannels",_i.ou,(e=>Object.values(e).filter((e=>e.type===x.YM.OPEN_CHANNEL||e.type===x.YM.PRIVATE_CHANNEL)).sort(db))),mb=(0,a.connect)((function(e){return{data:cb(e),total:e.entities.channels.totalCount}}),(function(e){return{actions:(0,n.bindActionCreators)({getData:nr.n$,searchAllChannels:nr.Q1},e)}}))(lb),ub=e=>{let{siteName:t}=e;return T().createElement("div",{className:"wrapper--fixed"},T().createElement(et,null,T().createElement(N.FormattedMessage,{id:"admin.channel_settings.groupsPageTitle",defaultMessage:"{siteName} Channels",values:{siteName:t}})),T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},T().createElement(ko,{id:"channels",title:(0,N.defineMessage)({id:"admin.channel_settings.title",defaultMessage:"Channels"}),subtitle:(0,N.defineMessage)({id:"admin.channel_settings.description",defaultMessage:"Manage channel settings."}),subtitleValues:{startCount:0,endCount:1,total:0}},T().createElement(mb,null)))))};ub.propTypes={siteName:L().string};const pb=(0,a.connect)((function(e){return{siteName:(0,c.zj)(e).SiteName}}))(ub);var gb=s(40142);function hb(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class fb extends T().PureComponent{constructor(e){super(e),hb(this,"loadComplete",(()=>{this.setState({loading:!1})})),hb(this,"nextPage",(async()=>{const{actions:e,groupID:t}=this.props,s=this.state.page+1;this.setState({loading:!0,page:s}),await e.getProfilesInGroup(t,s,20),this.setState({loading:!1})})),hb(this,"previousPage",(()=>{this.setState({page:this.state.page-1})})),hb(this,"getRows",(()=>{const{users:e}=this.props,{startCount:t,endCount:s}=this.getPaginationProps();let a=e;return a=a.slice(t-1,s),a.map((e=>({cells:{id:e.id,name:T().createElement(Mh,{user:e})}})))})),hb(this,"getColumns",(()=>[{name:T().createElement(N.FormattedMessage,{id:"admin.member_list_group.name",defaultMessage:"Name"}),field:"name"}])),hb(this,"getPaginationProps",(()=>{let{total:e}=this.props;const{page:t}=this.state,s=10*this.state.page+1;let a=10*(t+1);return""!==this.props.searchTerm&&(e=this.props.users.length),a>e&&(a=e),{startCount:s,endCount:a,total:e}})),hb(this,"render",(()=>{const e=this.getRows(),t=this.getColumns(),{startCount:s,endCount:a,total:n}=this.getPaginationProps(),i=T().createElement(N.FormattedMessage,{id:"admin.member_list_group.notFound",defaultMessage:"No users found"});return T().createElement("div",{className:"MemberListGroup"},T().createElement(oi,{columns:t,rows:e,loading:this.state.loading,page:this.state.page,nextPage:this.nextPage,previousPage:this.previousPage,startCount:s,endCount:a,total:n,onSearch:this.props.actions.setModalSearchTerm,term:this.props.searchTerm||"",placeholderEmpty:i}))})),this.searchTimeoutId=0,this.state={loading:!0,page:0}}async componentDidMount(){const{actions:e,groupID:t}=this.props;await Promise.all([e.getProfilesInGroup(t,0,20),e.getGroupStats(t)]),this.loadComplete()}componentWillUnmount(){this.props.actions.setModalSearchTerm("")}componentDidUpdate(e){if(e.searchTerm!==this.props.searchTerm){clearTimeout(this.searchTimeoutId);const e=this.props.searchTerm;if(""===e)return this.loadComplete(),void(this.searchTimeoutId=0);const t=window.setTimeout((async()=>{const{searchProfiles:s}=this.props.actions;this.setState({loading:!0}),await s(e,{in_group_id:this.props.groupID}),t===this.searchTimeoutId&&this.loadComplete()}),x.Ay.SEARCH_TIMEOUT_MILLISECONDS);this.searchTimeoutId=t}}}hb(fb,"propTypes",{searchTerm:L().string.isRequired,users:L().array.isRequired,groupID:L().string.isRequired,total:L().number.isRequired,actions:L().shape({getProfilesInGroup:L().func.isRequired,getGroupStats:L().func.isRequired,searchProfiles:L().func.isRequired,setModalSearchTerm:L().func.isRequired}).isRequired});const Eb=(0,a.connect)((function(e,t){const{groupID:s}=t,a=e.views.search.modalSearch;let n;return n=a?(0,g.Z9)(e,s,a):(0,g.dA)(e,s),{searchTerm:a,users:n,total:(0,Co.PY)(e,s)||0}}),(function(e){return{actions:(0,n.bindActionCreators)({getProfilesInGroup:ds.dA,searchProfiles:ds.U,setModalSearchTerm:Ni.qv,getGroupStats:Ao.f$},e)}}))(fb),bb=e=>{let{group:t,onExited:s,onLoad:a}=e;const[n,i]=(0,_.useState)(!0);(0,_.useEffect)((()=>{null==a||a()}),[]);const r=(0,_.useCallback)((()=>{i(!1)}),[]),o=(0,_.useCallback)((()=>{s()}),[s]),l=T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.groupMembers.close",defaultMessage:"Close"});return T().createElement(ta.Modal,{dialogClassName:"a11y__modal settings-modal",show:n,onHide:r,onExited:o,role:"none","aria-labelledby":"groupMemberModalLabel",id:"groupMembersModal"},T().createElement(ta.Modal.Header,{closeButton:!0},T().createElement(ta.Modal.Title,{componentClass:"h1",id:"groupMemberModalLabel"},t.display_name)),T().createElement(ta.Modal.Body,null,T().createElement(Eb,{groupID:t.id})),T().createElement(ta.Modal.Footer,null,T().createElement("button",{autoFocus:!0,type:"button",className:"btn btn-primary",onClick:r,id:"closeModalButton"},l)))};bb.propTypes={onExited:L().func.isRequired,onLoad:L().func};const vb=T().memo(bb);function Mb(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class yb extends T().PureComponent{constructor(){super(...arguments),Mb(this,"removeGroup",(e=>{e.preventDefault(),this.props.isDisabled||this.props.removeGroup(this.props.group.id)})),Mb(this,"setNewGroupRole",(()=>{this.props.setNewGroupRole(this.props.group.id)})),Mb(this,"displayCurrentRole",(()=>{const{group:e,type:t}=this.props,s=T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.group_row.channelAdmin",defaultMessage:"Channel Admin"}),a=T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.group_row.teamAdmin",defaultMessage:"Team Admin"}),n=T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.group_row.member",defaultMessage:"Member"});return e.scheme_admin&&"channel"===t?s:e.scheme_admin&&"team"===t?a:n})),Mb(this,"displayRoleToBe",(()=>{const{group:e,type:t}=this.props;return e.scheme_admin||"channel"!==t?e.scheme_admin||"team"!==t?(0,H.Vw)({id:"admin.team_channel_settings.group_row.member",defaultMessage:"Member"}):(0,H.Vw)({id:"admin.team_channel_settings.group_row.teamAdmin",defaultMessage:"Team Admin"}):(0,H.Vw)({id:"admin.team_channel_settings.group_row.channelAdmin",defaultMessage:"Channel Admin"})})),Mb(this,"render",(()=>{const{group:e}=this.props;return T().createElement("div",{id:"group",className:"group"},T().createElement("div",{id:"group-row",className:"group-row"},T().createElement("span",{className:"group-name row-content"},e.display_name||e.name),T().createElement("span",{className:"group-description row-content"},T().createElement(Ah.A,{id:"".concat(e.display_name,"MembersToggle"),className:"color--link",modalId:x.IQ.GROUP_MEMBERS,dialogType:vb,dialogProps:{group:e}},T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.group_row.members",defaultMessage:"{memberCount, number} {memberCount, plural, one {member} other {members}}",values:{memberCount:e.member_count}}))),T().createElement("div",{className:"group-description row-content roles"},T().createElement(hi.A,{isDisabled:this.props.isDisabled},T().createElement("div",null,T().createElement("a",{"data-testid":"current-role"},T().createElement("span",null,this.displayCurrentRole()),T().createElement("span",{className:"caret"}))),T().createElement(gi.A,{id:"role-to-be-menu",openLeft:!0,openUp:!1,ariaLabel:(0,H.Vw)({id:"admin.team_channel_settings.group_row.memberRole",defaultMessage:"Member Role"})},T().createElement(gi.A.ItemAction,{id:"role-to-be",onClick:this.setNewGroupRole,text:this.displayRoleToBe()})))),T().createElement("span",{id:"group-actions",className:"group-actions"},T().createElement("a",{href:"#",onClick:this.removeGroup,className:this.props.isDisabled?"disabled":""},T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.group_row.remove",defaultMessage:"Remove"})))))}))}}Mb(yb,"propTypes",{removeGroup:L().func.isRequired,setNewGroupRole:L().func.isRequired,type:L().string.isRequired,isDisabled:L().bool});const Sb=["removeGroup","setNewGroupRole","type","isDisabled","isModeSync"],Ab=()=>T().createElement("div",{className:"groups-list--header"},T().createElement("div",{className:"group-name group-name-adjusted"},T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.group_list.nameHeader",defaultMessage:"Group Name"})),T().createElement("div",{className:"group-content"},T().createElement("div",{className:"group-description group-description-adjusted"},T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.group_list.membersHeader",defaultMessage:"Member Count"})),T().createElement("div",{className:"group-description group-description-adjusted"},T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.group_list.rolesHeader",defaultMessage:"Roles"})),T().createElement("div",{className:"group-actions"}))),Cb=e=>{let{removeGroup:t,setNewGroupRole:s,type:a,isDisabled:n,isModeSync:i}=e,r=function(e,t){if(null==e)return{};var s,a,n=function(e,t){if(null==e)return{};var s={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;s[a]=e[a]}return s}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)s=i[a],t.includes(s)||{}.propertyIsEnumerable.call(e,s)&&(n[s]=e[s])}return n}(e,Sb);const o=(0,_.useCallback)((e=>T().createElement(yb,{key:e.id,group:e,removeGroup:t,setNewGroupRole:s,type:a,isDisabled:n})),[n,t,s,a]);return T().createElement(sb,Object.assign({header:T().createElement(Ab,null),renderRow:o,emptyListText:i?_b.emptyListModeSync:_b.emptyList},r))},_b=(0,N.defineMessages)({emptyListModeSync:{id:"admin.team_channel_settings.group_list.no-synced-groups",defaultMessage:"At least one group must be specified"},emptyList:{id:"admin.team_channel_settings.group_list.no-groups",defaultMessage:"No groups specified yet"}}),Tb=(0,_.memo)(Cb),Nb=(0,a.connect)((function(e,t){return{data:t.groups,removeGroup:t.onGroupRemoved,setNewGroupRole:t.setNewGroupRole,total:t.totalGroups}}),(function(){return{actions:{getData:()=>Promise.resolve()}}}))(Tb),Rb=e=>{const{onGroupRemoved:t,onAddCallback:s,totalGroups:a,groups:n,removedGroups:i,channel:r,synced:o,setNewGroupRole:l,isDisabled:d}=e;return T().createElement(ko,{id:"channel_groups",title:o?(0,N.defineMessage)({id:"admin.channel_settings.channel_detail.syncedGroupsTitle",defaultMessage:"Synced Groups"}):(0,N.defineMessage)({id:"admin.channel_settings.channel_detail.groupsTitle",defaultMessage:"Groups"}),subtitle:o?(0,N.defineMessage)({id:"admin.channel_settings.channel_detail.syncedGroupsDescription",defaultMessage:"Add and remove channel members based on their group membership."}):(0,N.defineMessage)({id:"admin.channel_settings.channel_detail.groupsDescription",defaultMessage:"Select groups to be added to this channel."}),button:T().createElement(Ah.A,{id:"addGroupsToChannelToggle",className:"btn btn-primary",modalId:x.IQ.ADD_GROUPS_TO_CHANNEL,dialogType:gb.A,dialogProps:{channel:r,onAddCallback:s,skipCommit:!0,includeGroups:i,excludeGroups:n},disabled:d},T().createElement(N.FormattedMessage,{id:"admin.channel_settings.channel_details.add_group",defaultMessage:"Add Group"}))},r.id&&T().createElement(Nb,{channel:r,groups:n,totalGroups:a,onGroupRemoved:t,setNewGroupRole:l,isModeSync:o,type:"channel",isDisabled:d}))};function wb(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}Rb.propTypes={synced:L().bool.isRequired,onAddCallback:L().func.isRequired,totalGroups:L().number.isRequired,groups:L().array.isRequired,removedGroups:L().arrayOf(L().objectOf(L().any)).isRequired,onGroupRemoved:L().func.isRequired,setNewGroupRole:L().func.isRequired,isDisabled:L().bool};class Ib extends T().PureComponent{constructor(){super(...arguments),wb(this,"getDropDownOptions",(()=>"team"===this.props.scope?{makeAdmin:H.Vw({id:"team_members_dropdown.makeAdmin",defaultMessage:"Make Team Admin"}),makeMember:H.Vw({id:"team_members_dropdown.makeMember",defaultMessage:"Make Team Member"})}:{makeAdmin:H.Vw({id:"channel_members_dropdown.make_channel_admin",defaultMessage:"Make Channel Admin"}),makeMember:H.Vw({id:"channel_members_dropdown.make_channel_member",defaultMessage:"Make Channel Member"})})),wb(this,"getCurrentRole",(()=>{const{user:e,membership:t,scope:s}=this.props;if(e.roles.includes("system_admin"))return"system_admin";if(t){if("team"===s){if(e.remote_id)return"shared_member";if(t.scheme_admin)return"team_admin";if(t.scheme_user)return"team_user"}if("channel"===s){if(e.remote_id)return"shared_member";if(t.scheme_admin)return"channel_admin";if(t.scheme_user)return"channel_user"}}return"guest"})),wb(this,"getLocalizedRole",(e=>{switch(e){case"system_admin":return H.Vw({id:"admin.user_grid.system_admin",defaultMessage:"System Admin"});case"team_admin":return H.Vw({id:"admin.user_grid.team_admin",defaultMessage:"Team Admin"});case"channel_admin":return H.Vw({id:"admin.user_grid.channel_admin",defaultMessage:"Channel Admin"});case"shared_member":return H.Vw({id:"admin.user_grid.shared_member",defaultMessage:"Shared Member"});case"team_user":case"channel_user":return H.Vw({id:"admin.group_teams_and_channels_row.member",defaultMessage:"Member"});default:return H.Vw({id:"admin.user_grid.guest",defaultMessage:"Guest"})}})),wb(this,"handleMakeAdmin",(()=>{this.props.handleUpdateMembership({user_id:this.props.user.id,scheme_admin:!0,scheme_user:!0})})),wb(this,"handleMakeUser",(()=>{this.props.handleUpdateMembership({user_id:this.props.user.id,scheme_admin:!1,scheme_user:!0})})),wb(this,"getAriaLabel",(()=>{const{scope:e}=this.props;return"team"===e?H.Vw({id:"team_members_dropdown.menuAriaLabel",defaultMessage:"Change the role of a team member"}):H.Vw({id:"channel_members_dropdown.menuAriaLabel",defaultMessage:"Change the role of channel member"})})),wb(this,"render",(()=>{if(!this.props.membership)return null;const{user:e,isDisabled:t}=this.props,{makeAdmin:s,makeMember:a}=this.getDropDownOptions(),n=this.getCurrentRole(),i=this.getLocalizedRole(n),r=this.getAriaLabel();if("shared_member"===n)return T().createElement("div",{className:"more-modal__shared-actions"},T().createElement(tt.A,{title:T().createElement(N.FormattedMessage,{id:"shared_user_indicator.tooltip",defaultMessage:"From trusted organizations"})},T().createElement("span",null,i,T().createElement("i",{className:"shared-user-icon icon-circle-multiple-outline"}))));const o=!["system_admin","guest"].includes(n),l=["channel_user","team_user"].includes(n),d=["channel_admin","team_admin"].includes(n);return o?T().createElement(hi.A,{isDisabled:t},T().createElement("button",{id:"userGridRoleDropdown_".concat(e.username),className:"dropdown-toggle theme color--link style--none",type:"button","aria-expanded":"true"},T().createElement("span",null,i," "),T().createElement(th.A,null)),T().createElement(gi.A,{ariaLabel:r},T().createElement(gi.A.ItemAction,{show:l,onClick:this.handleMakeAdmin,text:s}),T().createElement(gi.A.ItemAction,{show:d,onClick:this.handleMakeUser,text:a}))):i}))}}function Ob(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function Pb(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?Ob(Object(s),!0).forEach((function(t){kb(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):Ob(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function kb(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}wb(Ib,"propTypes",{scope:L().oneOf(["team","channel"]).isRequired,handleUpdateMembership:L().func.isRequired,isDisabled:L().bool});class xb extends T().PureComponent{constructor(e){super(e),kb(this,"pageLoaded",0),kb(this,"loadPage",(e=>{this.setState({loading:!0}),this.props.loadPage(e),this.setState({page:e,loading:!1})})),kb(this,"nextPage",(()=>{this.loadPage(this.state.page+1)})),kb(this,"previousPage",(()=>{this.loadPage(this.state.page-1)})),kb(this,"onSearch",(async e=>{this.props.onSearch(e),this.setState({page:0})})),kb(this,"onFilter",(async e=>{var t;null===(t=this.props.filterProps)||void 0===t||t.onFilter(e),this.setState({page:0})})),kb(this,"getVisibleTotalCount",(()=>{const{includeUsers:e,excludeUsers:t,totalCount:s}=this.props;return s+(Object.keys(e).length-Object.keys(t).length)})),kb(this,"getPaginationProps",(()=>{const{includeUsers:e,excludeUsers:t,term:s}=this.props,{page:a}=this.state;let n,i=0;const r=10*a+1;return""===s?n=this.getVisibleTotalCount():(n=this.props.users.length+Object.keys(e).length,this.props.users.forEach((e=>{t[e.id]&&(n-=1)}))),i=10*(a+1),i=i>n?n:i,{startCount:r,endCount:i,total:n}})),kb(this,"removeUser",(e=>{const{excludeUsers:t}=this.props;if(t[e.id]===e)return;let{page:s}=this.state;const{endCount:a}=this.getPaginationProps();this.props.removeUser(e),a>this.getVisibleTotalCount()&&a%10==1&&s>0&&s--,this.setState({page:s})})),kb(this,"updateMembership",(e=>{const{membershipsToUpdate:t}=this.state,{memberships:s}=this.props,a=e.user_id;t[a]=Pb(Pb({},s[a]),e),this.props.updateMembership(e),this.setState({membershipsToUpdate:t},this.forceUpdate)})),kb(this,"newMembership",(e=>({user_id:e.id,scheme_admin:!1,scheme_user:!e.roles.includes("guest")}))),kb(this,"getRows",(()=>{const{page:e,membershipsToUpdate:t}=this.state,{memberships:s,users:a,excludeUsers:n,includeUsers:i,totalCount:r,term:o,scope:l,readOnly:d}=this.props,{startCount:c,endCount:m}=this.getPaginationProps();let u=a;const p=Object.values(i);if(u=u.filter((e=>!n[e.id])),u=[...p,...u],u=u.slice(c-1,m),""===o&&u.length<10&&a.length<r){const t=Object.keys(n).length,s=e+Math.floor(t/10)+1;s>this.pageLoaded&&(this.props.loadPage(s),this.pageLoaded=s)}return u.map((e=>{const a=t[e.id]||s[e.id]||this.newMembership(e);return{cells:{id:e.id,name:T().createElement(Mh,{user:e}),new:i[e.id]?T().createElement(Wa.A,{className:"NewUserBadge",text:T().createElement(N.FormattedMessage,{id:"admin.user_grid.new",defaultMessage:"New"})}):null,role:T().createElement(Ib,{user:e,membership:a,handleUpdateMembership:this.updateMembership,scope:l,isDisabled:d}),remove:T().createElement(Sh,{user:e,removeUser:this.removeUser,isDisabled:d})}}}))})),kb(this,"getColumns",(()=>[{name:T().createElement(N.FormattedMessage,{id:"admin.user_grid.name",defaultMessage:"Name"}),field:"name",width:3,fixed:!0},{name:"",field:"new",fixed:!0},{name:T().createElement(N.FormattedMessage,{id:"admin.user_grid.role",defaultMessage:"Role"}),field:"role",overflow:"visible"},{name:"",field:"remove",textAlign:"right",fixed:!0}])),kb(this,"render",(()=>{const e=this.getRows(),t=this.getColumns(),{startCount:s,endCount:a,total:n}=this.getPaginationProps(),i=T().createElement(N.FormattedMessage,{id:"admin.user_grid.notFound",defaultMessage:"No users found"}),r={minHeight:"".concat(80*e.length,"px")};return T().createElement(oi,{columns:t,rows:e,loading:this.state.loading||this.props.loading,page:this.state.page,nextPage:this.nextPage,previousPage:this.previousPage,startCount:s,endCount:a,total:n,onSearch:this.onSearch,term:this.props.term||"",placeholderEmpty:i,rowsContainerStyles:r,filterProps:Pb(Pb({},this.props.filterProps),{},{onFilter:this.onFilter})})})),this.state={loading:!1,page:0,membershipsToUpdate:{}}}}kb(xb,"propTypes",{users:L().array.isRequired,scope:L().oneOf(["team","channel"]).isRequired,loadPage:L().func.isRequired,onSearch:L().func.isRequired,removeUser:L().func.isRequired,updateMembership:L().func.isRequired,totalCount:L().number.isRequired,loading:L().bool.isRequired,term:L().string.isRequired,readOnly:L().bool,filterProps:L().shape({keys:L().arrayOf(L().string).isRequired,onFilter:L().func.isRequired}).isRequired});var Db=s(46);function Lb(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function Fb(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?Lb(Object(s),!0).forEach((function(t){Bb(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):Lb(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function Bb(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class Hb extends T().PureComponent{constructor(e){super(e),Bb(this,"setStateLoading",(e=>{this.setState({loading:e})})),Bb(this,"loadPage",(async e=>{const{loadProfilesAndReloadChannelMembers:t}=this.props.actions,{channelId:s,filters:a}=this.props;await t(e+1,10,s,"",Fb({active:!0},a))})),Bb(this,"removeUser",(e=>{this.props.onRemoveCallback(e)})),Bb(this,"onAddCallback",(e=>{this.props.onAddCallback(e)})),Bb(this,"onSearch",(async e=>{this.props.actions.setUserGridSearch(e)})),Bb(this,"updateMembership",(e=>{this.props.updateRole(e.user_id,e.scheme_user,e.scheme_admin)})),Bb(this,"onFilter",(async e=>{const t=e.role.values,s=[],a=[];let n={};Object.keys(t).forEach((e=>{t[e].value&&(e.includes("channel")?a.push(e):s.push(e))})),s.length>0||a.length>0?(s.length>0&&(n={roles:s}),a.length>0&&(n=Fb(Fb({},n),{},{channel_roles:a})),[...s,...a].forEach((e=>{(0,I.sx)("admin_channel_config_page","".concat(e,"_filter_applied_to_members_block"),{channel_id:this.props.channelId})})),this.props.actions.setUserGridFilters(n),this.props.actions.getFilteredUsersStats(Fb({in_channel:this.props.channelId,include_bots:!0},n))):this.props.actions.setUserGridFilters(n)})),Bb(this,"render",(()=>{const{users:e,channel:t,channelId:s,usersToAdd:a,usersToRemove:n,channelMembers:i,totalCount:r,searchTerm:o,isDisabled:l}=this.props,d={role:{name:T().createElement(N.FormattedMessage,{id:"admin.user_grid.role",defaultMessage:"Role"}),values:{[fc.A.SYSTEM_GUEST_ROLE]:{name:T().createElement(N.FormattedMessage,{id:"admin.user_grid.guest",defaultMessage:"Guest"}),value:!1},[fc.A.CHANNEL_USER_ROLE]:{name:T().createElement(N.FormattedMessage,{id:"admin.user_item.member",defaultMessage:"Member"}),value:!1},[fc.A.CHANNEL_ADMIN_ROLE]:{name:T().createElement(N.FormattedMessage,{id:"admin.user_grid.channel_admin",defaultMessage:"Channel Admin"}),value:!1},[fc.A.SYSTEM_ADMIN_ROLE]:{name:T().createElement(N.FormattedMessage,{id:"admin.user_grid.system_admin",defaultMessage:"System Admin"}),value:!1}},keys:[fc.A.SYSTEM_GUEST_ROLE,fc.A.CHANNEL_USER_ROLE,fc.A.CHANNEL_ADMIN_ROLE,fc.A.SYSTEM_ADMIN_ROLE]}};this.props.enableGuestAccounts||(delete d.role.values[fc.A.SYSTEM_GUEST_ROLE],d.role.keys=[fc.A.CHANNEL_USER_ROLE,fc.A.CHANNEL_ADMIN_ROLE,fc.A.SYSTEM_ADMIN_ROLE]);const c={options:d,keys:["role"],onFilter:this.onFilter};return T().createElement(ko,{id:"channelMembers",title:(0,N.defineMessage)({id:"admin.channel_settings.channel_detail.membersTitle",defaultMessage:"Members"}),subtitle:(0,N.defineMessage)({id:"admin.channel_settings.channel_detail.membersDescription",defaultMessage:"A list of users who are currently in the channel right now"}),button:T().createElement(Ah.A,{id:"addChannelMembers",className:"btn btn-primary",modalId:x.IQ.CHANNEL_INVITE,dialogType:Db.A,disabled:l,dialogProps:{channel:t,channelId:s,teamId:null==t?void 0:t.team_id,onAddCallback:this.onAddCallback,skipCommit:!0,excludeUsers:a,includeUsers:n}},T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_details.add_members",defaultMessage:"Add Members"}))},T().createElement(xb,{loading:this.state.loading||Boolean(this.props.loading),users:e,loadPage:this.loadPage,removeUser:this.removeUser,totalCount:r,memberships:i,updateMembership:this.updateMembership,onSearch:this.onSearch,includeUsers:a,excludeUsers:n,term:o,scope:"channel",readOnly:l,filterProps:c}))})),this.searchTimeoutId=0,this.state={loading:!0}}componentDidMount(){const{channelId:e}=this.props,{loadProfilesAndReloadChannelMembers:t,getChannelStats:s,setUserGridSearch:a,setUserGridFilters:n}=this.props.actions;Promise.all([a(""),n({}),s(e),t(0,20,e,"",{active:!0})]).then((()=>this.setStateLoading(!1)))}async componentDidUpdate(e){const t=JSON.stringify(e.filters)!==JSON.stringify(this.props.filters),s=e.searchTerm!==this.props.searchTerm;if(t||s){this.setStateLoading(!0),clearTimeout(this.searchTimeoutId);const{searchTerm:s,filters:a}=this.props;if(""===s)return this.searchTimeoutId=0,t&&await e.actions.loadProfilesAndReloadChannelMembers(0,20,e.channelId,"",Fb({active:!0},a)),void this.setStateLoading(!1);const n=window.setTimeout((async()=>{await e.actions.searchProfilesAndChannelMembers(s,Fb(Fb({},a),{},{in_channel_id:this.props.channelId,allow_inactive:!1})),n===this.searchTimeoutId&&this.setStateLoading(!1)}),x.Ay.SEARCH_TIMEOUT_MILLISECONDS);this.searchTimeoutId=n}}}function Ub(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function Gb(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?Ub(Object(s),!0).forEach((function(t){jb(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):Ub(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function jb(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}Bb(Hb,"propTypes",{channelId:L().string.isRequired,users:L().array.isRequired,totalCount:L().number.isRequired,searchTerm:L().string.isRequired,loading:L().bool,enableGuestAccounts:L().bool.isRequired,onAddCallback:L().func.isRequired,onRemoveCallback:L().func.isRequired,updateRole:L().func.isRequired,isDisabled:L().bool,actions:L().shape({getChannelStats:L().func.isRequired,loadProfilesAndReloadChannelMembers:L().func.isRequired,searchProfilesAndChannelMembers:L().func.isRequired,getFilteredUsersStats:L().func.isRequired,setUserGridSearch:L().func.isRequired,setUserGridFilters:L().func.isRequired}).isRequired});const qb=(0,A.Mz)("getUserGridFilters",(e=>e.views.search.userGridSearch.filters),(function(){return Gb(Gb({},arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),{},{active:!0})})),Wb=(0,a.connect)((function(){const e=(0,g.dH)(),t=(0,g.fJ)();return function(s,a){var n;const{channelId:i,usersToRemove:r}=a;let{usersToAdd:o}=a;const l=(0,c.zj)(s),d=(0,_i.a9)(s)[i]||{},m=(0,_i.c)(s,i),u=(null===(n=s.views.search.userGridSearch)||void 0===n?void 0:n.term)||"",p=qb(s);let h;var f;1===Object.keys(p).length?h=((0,_i.IZ)(s)[i]||{member_count:0,channel_id:i,pinnedpost_count:0,guest_count:0,files_count:0}).member_count:h=null!==(f=((0,g.$c)(s)||{total_users_count:0}).total_users_count)&&void 0!==f?f:0;let E=[];return u?(E=t(s,i,u,!1,p),o=function(e,t){const s=(0,bh.V3)(Object.values(e),t);return(0,g.f9)((0,bh.vC)(s),{})}(o,u)):E=e(s,i,p),{filters:p,channelId:i,channel:m,users:E,channelMembers:d,usersToAdd:o,usersToRemove:r,totalCount:h,searchTerm:u,enableGuestAccounts:"true"===l.EnableGuestAccounts}}}),(function(e){return{actions:(0,n.bindActionCreators)({getChannelStats:nr.Fe,loadProfilesAndReloadChannelMembers:Ve.fQ,searchProfilesAndChannelMembers:Ve.uh,getFilteredUsersStats:ds.$c,setUserGridSearch:Ni.u,setUserGridFilters:Ni.dj},e)}}))(Hb);function Vb(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const zb=/\./g,Yb="create_post",Zb="reactions",Jb="manage_{public_or_private}_channel_members",Qb="use_channel_mentions",Kb="manage_{public_or_private}_channel_bookmarks";function Xb(e){const t=(0,N.defineMessages)({title:{id:"admin.channel_settings.channel_moderation.createPosts",defaultMessage:"Create Posts"},description:{id:"admin.channel_settings.channel_moderation.createPostsDesc",defaultMessage:"The ability for members and guests to create posts in the channel."},descriptionMembers:{id:"admin.channel_settings.channel_moderation.createPostsDescMembers",defaultMessage:"The ability for members to create posts in the channel."},disabledGuests:{id:"admin.channel_settings.channel_moderation.createPosts.disabledGuest",defaultMessage:"Create posts for guests are disabled in [{scheme_name}](../permissions/{scheme_link})."},disabledMembers:{id:"admin.channel_settings.channel_moderation.createPosts.disabledMember",defaultMessage:"Create posts for members are disabled in [{scheme_name}](../permissions/{scheme_link})."},disabledBoth:{id:"admin.channel_settings.channel_moderation.createPosts.disabledBoth",defaultMessage:"Create posts for members and guests are disabled in [{scheme_name}](../permissions/{scheme_link})."}}),s=(0,N.defineMessages)({title:{id:"admin.channel_settings.channel_moderation.postReactions",defaultMessage:"Post Reactions"},description:{id:"admin.channel_settings.channel_moderation.postReactionsDesc",defaultMessage:"The ability for members and guests to post reactions."},descriptionMembers:{id:"admin.channel_settings.channel_moderation.postReactionsDescMembers",defaultMessage:"The ability for members to post reactions."},disabledGuests:{id:"admin.channel_settings.channel_moderation.postReactions.disabledGuest",defaultMessage:"Post reactions for guests are disabled in [{scheme_name}](../permissions/{scheme_link})."},disabledMembers:{id:"admin.channel_settings.channel_moderation.postReactions.disabledMember",defaultMessage:"Post reactions for members are disabled in [{scheme_name}](../permissions/{scheme_link})."},disabledBoth:{id:"admin.channel_settings.channel_moderation.postReactions.disabledBoth",defaultMessage:"Post reactions for members and guests are disabled in [{scheme_name}](../permissions/{scheme_link})."}}),a=(0,N.defineMessages)({title:{id:"admin.channel_settings.channel_moderation.manageMembers",defaultMessage:"Manage Members"},description:{id:"admin.channel_settings.channel_moderation.manageMembersDesc",defaultMessage:"The ability for members to add and remove people."},disabledGuests:{id:"admin.channel_settings.channel_moderation.manageMembers.disabledGuest",defaultMessage:"Manage members for guests are disabled in [{scheme_name}](../permissions/{scheme_link})."},disabledMembers:{id:"admin.channel_settings.channel_moderation.manageMembers.disabledMember",defaultMessage:"Manage members for members are disabled in [{scheme_name}](../permissions/{scheme_link})."},disabledBoth:{id:"admin.channel_settings.channel_moderation.manageMembers.disabledBoth",defaultMessage:"Manage members for members and guests are disabled in [{scheme_name}](../permissions/{scheme_link})."}}),n=(0,N.defineMessages)({title:{id:"admin.channel_settings.channel_moderation.channelMentions",defaultMessage:"Channel Mentions"},description:{id:"admin.channel_settings.channel_moderation.channelMentionsDesc",defaultMessage:"The ability for members and guests to use @all, @here and @channel."},descriptionMembers:{id:"admin.channel_settings.channel_moderation.channelMentionsDescMembers",defaultMessage:"The ability for members to use @all, @here and @channel."},disabledGuests:{id:"admin.channel_settings.channel_moderation.channelMentions.disabledGuest",defaultMessage:"Channel mentions for guests are disabled in [{scheme_name}](../permissions/{scheme_link})."},disabledMembers:{id:"admin.channel_settings.channel_moderation.channelMentions.disabledMember",defaultMessage:"Channel mentions for members are disabled in [{scheme_name}](../permissions/{scheme_link})."},disabledBoth:{id:"admin.channel_settings.channel_moderation.channelMentions.disabledBoth",defaultMessage:"Channel mentions for members and guests are disabled in [{scheme_name}](../permissions/{scheme_link})."},disabledGuestsDueToCreatePosts:{id:"admin.channel_settings.channel_moderation.channelMentions.disabledGuestsDueToCreatePosts",defaultMessage:"Guests can not use channel mentions without the ability to create posts."},disabledMembersDueToCreatePosts:{id:"admin.channel_settings.channel_moderation.channelMentions.disabledMemberDueToCreatePosts",defaultMessage:"Members can not use channel mentions without the ability to create posts."},disabledBothDueToCreatePosts:{id:"admin.channel_settings.channel_moderation.channelMentions.disabledBothDueToCreatePosts",defaultMessage:"Guests and members can not use channel mentions without the ability to create posts."}}),i=(0,N.defineMessages)({title:{id:"admin.channel_settings.channel_moderation.manageBookmarks",defaultMessage:"Manage Bookmarks"},description:{id:"admin.channel_settings.channel_moderation.manageBookmarksDesc",defaultMessage:"The ability for members and guests to add, delete and sort bookmarks."},disabledGuests:{id:"admin.channel_settings.channel_moderation.manageBookmarks.disabledGuest",defaultMessage:"Manage bookmarks for guests are disabled in [{scheme_name}](../permissions/{scheme_link})."},disabledMembers:{id:"admin.channel_settings.channel_moderation.manageBookmarks.disabledMember",defaultMessage:"Manage bookmarks for members are disabled in [{scheme_name}](../permissions/{scheme_link})."},disabledBoth:{id:"admin.channel_settings.channel_moderation.manageBookmarks.disabledBoth",defaultMessage:"Manage bookmarks for members and guests are disabled in [{scheme_name}](../permissions/{scheme_link})."}});return e===l.xB.CHANNEL_MODERATED_PERMISSIONS.CREATE_POST?t:e===l.xB.CHANNEL_MODERATED_PERMISSIONS.CREATE_REACTIONS?s:e===l.xB.CHANNEL_MODERATED_PERMISSIONS.MANAGE_MEMBERS?a:e===l.xB.CHANNEL_MODERATED_PERMISSIONS.USE_CHANNEL_MENTIONS?n:e===l.xB.CHANNEL_MODERATED_PERMISSIONS.MANAGE_BOOKMARKS?i:null}const $b=(0,N.defineMessages)({titleMessage:{id:"admin.channel_settings.channel_moderation.title",defaultMessage:"Advanced Access Control"},subtitleMessageForMembersAndGuests:{id:"admin.channel_settings.channel_moderation.subtitle",defaultMessage:"Manage the actions available to channel members and guests."},subtitleMessageForMembers:{id:"admin.channel_settings.channel_moderation.subtitleMembers",defaultMessage:"Manage the actions available to channel members."}}),ev=e=>{var t,s,a,n,i,r;const o=Xb(e.name);let d=null==o?void 0:o.description.id,c=null==o?void 0:o.description.defaultMessage;var m,u,p,g;return!e.guestAccountsEnabled&&null!=o&&o.descriptionMembers&&(d=null!==(m=null===(u=o.descriptionMembers)||void 0===u?void 0:u.id)&&void 0!==m?m:"",c=null!==(p=null==o||null===(g=o.descriptionMembers)||void 0===g?void 0:g.defaultMessage)&&void 0!==p?p:""),T().createElement("tr",null,T().createElement("td",null,T().createElement("div",{className:"as-bs-label","data-testid":null==o||null===(t=o.title)||void 0===t||null===(s=t.id)||void 0===s?void 0:s.replace(zb,"-")},T().createElement(N.FormattedMessage,{id:null==o||null===(a=o.title)||void 0===a?void 0:a.id,defaultMessage:null==o||null===(n=o.title)||void 0===n?void 0:n.defaultMessage})),T().createElement("div",{"data-testid":null==o||null===(i=o.description)||void 0===i||null===(r=i.id)||void 0===r?void 0:r.replace(zb,"-")},T().createElement(N.FormattedMessage,{id:d,defaultMessage:c})),e.errorMessages),e.guestAccountsEnabled&&T().createElement("td",null,!Fo()(e.guests)&&T().createElement("button",{type:"button","data-testid":"".concat(e.name,"-").concat(l.YK.GUESTS),className:re()("checkbox",{checked:e.guests&&!e.guestsDisabled,disabled:e.guestsDisabled}),onClick:()=>e.onClick(e.name,l.YK.GUESTS),disabled:e.guestsDisabled||e.readOnly},e.guests&&!e.guestsDisabled&&T().createElement(rl.A,null))),T().createElement("td",null,!Fo()(e.members)&&T().createElement("button",{type:"button","data-testid":"".concat(e.name,"-").concat(l.YK.MEMBERS),className:re()("checkbox",{checked:e.members&&!e.membersDisabled,disabled:e.membersDisabled}),onClick:()=>e.onClick(e.name,l.YK.MEMBERS),disabled:e.membersDisabled||e.readOnly},e.members&&!e.membersDisabled&&T().createElement(rl.A,null))))};ev.propTypes={name:L().string.isRequired,guests:L().bool,members:L().bool.isRequired,guestsDisabled:L().bool,membersDisabled:L().bool.isRequired,onClick:L().func.isRequired,errorMessages:L().any,guestAccountsEnabled:L().bool.isRequired,readOnly:L().bool};class tv extends T().PureComponent{constructor(){super(...arguments),Vb(this,"errorMessagesToDisplay",(e=>{var t,s;const a=Xb(e.name),n=[],i=!Fo()(null===(t=e.roles.guests)||void 0===t?void 0:t.enabled)&&!(null!==(s=e.roles.guests)&&void 0!==s&&s.enabled)&&this.props.guestAccountsEnabled,r=!e.roles.members.enabled;let o,d,c,m="";if(e.name===l.xB.CHANNEL_MODERATED_PERMISSIONS.USE_CHANNEL_MENTIONS){const e=this.props.channelPermissions&&this.props.channelPermissions.find((e=>e.name===l.xB.CHANNEL_MODERATED_PERMISSIONS.CREATE_POST));var u,p,g,h,f,E,b,v,M,y;if(!e.roles.guests.value&&this.props.guestAccountsEnabled&&!e.roles.members.value)return n.push(T().createElement("div",{"data-testid":null==a||null===(u=a.disabledBothDueToCreatePosts)||void 0===u||null===(p=u.id)||void 0===p?void 0:p.replace(zb,"-"),key:null==a||null===(g=a.disabledBothDueToCreatePosts)||void 0===g?void 0:g.id},T().createElement(N.FormattedMessage,{id:null==a||null===(h=a.disabledBothDueToCreatePosts)||void 0===h?void 0:h.id,defaultMessage:null==a||null===(f=a.disabledBothDueToCreatePosts)||void 0===f?void 0:f.defaultMessage}))),n;if(!e.roles.guests.value&&this.props.guestAccountsEnabled)m="disabledGuestsDueToCreatePosts",n.push(T().createElement("div",{"data-testid":null==a||null===(E=a.disabledGuestsDueToCreatePosts)||void 0===E||null===(b=E.id)||void 0===b?void 0:b.replace(zb,"-"),key:null==a||null===(v=a.disabledGuestsDueToCreatePosts)||void 0===v?void 0:v.id},T().createElement(N.FormattedMessage,{id:null==a||null===(M=a.disabledGuestsDueToCreatePosts)||void 0===M?void 0:M.id,defaultMessage:null==a||null===(y=a.disabledGuestsDueToCreatePosts)||void 0===y?void 0:y.defaultMessage})));else if(!e.roles.members.value){var S,A,C,_,R;m="disabledMembersDueToCreatePosts",n.push(T().createElement("div",{"data-testid":null==a||null===(S=a.disabledMembersDueToCreatePosts)||void 0===S||null===(A=S.id)||void 0===A?void 0:A.replace(zb,"-"),key:null==a||null===(C=a.disabledMembersDueToCreatePosts)||void 0===C?void 0:C.id},T().createElement(N.FormattedMessage,{id:null==a||null===(_=a.disabledMembersDueToCreatePosts)||void 0===_?void 0:_.id,defaultMessage:null==a||null===(R=a.disabledMembersDueToCreatePosts)||void 0===R?void 0:R.defaultMessage})))}}let w="System Scheme",I="system_scheme";var O;this.props.teamSchemeID&&(w=(null===(O=this.props)||void 0===O?void 0:O.teamSchemeDisplayName)+" Team Scheme",I="team_override_scheme/".concat(this.props.teamSchemeID));const P=(k=e.name)===l.xB.CHANNEL_MODERATED_PERMISSIONS.CREATE_POST?{disabledGuests:"guest_create_post",disabledMembers:Yb,disabledBoth:Yb}:k===l.xB.CHANNEL_MODERATED_PERMISSIONS.CREATE_REACTIONS?{disabledGuests:"guest_reactions",disabledMembers:Zb,disabledBoth:Zb}:k===l.xB.CHANNEL_MODERATED_PERMISSIONS.MANAGE_MEMBERS?{disabledGuests:"guest_manage_{public_or_private}_channel_members",disabledMembers:Jb,disabledBoth:Jb}:k===l.xB.CHANNEL_MODERATED_PERMISSIONS.USE_CHANNEL_MENTIONS?{disabledGuests:"guest_use_channel_mentions",disabledMembers:Qb,disabledBoth:Qb}:k===l.xB.CHANNEL_MODERATED_PERMISSIONS.MANAGE_BOOKMARKS?{disabledGuests:"guest_manage_{public_or_private}_channel_bookmarks",disabledMembers:Kb,disabledBoth:Kb}:null;var k,x;if(i&&r&&n.length<=0){var D,L;if(o="disabledBoth",null!=P&&P.disabledBoth&&(I+="?rowIdFromQuery=".concat(P.disabledBoth),I.includes("{public_or_private}"))){const e=this.props.isPublic?"public":"private";I=I.replace("{public_or_private}",e)}d=null==a||null===(D=a.disabledBoth)||void 0===D?void 0:D.id,c=null==a||null===(L=a.disabledBoth)||void 0===L?void 0:L.defaultMessage}else if(i&&"disabledGuestsDueToCreatePosts"!==m){var F,B;if(o="disabledGuests",null!=P&&P.disabledGuests&&(I+="?rowIdFromQuery=".concat(P.disabledGuests),I.includes("{public_or_private}"))){const e=this.props.isPublic?"public":"private";I=I.replace("{public_or_private}",e)}d=null==a||null===(F=a.disabledGuests)||void 0===F?void 0:F.id,c=null==a||null===(B=a.disabledGuests)||void 0===B?void 0:B.defaultMessage}else if(r&&"disabledMembersDueToCreatePosts"!==m){var H,U;if(o="disabledMembers",null!=P&&P.disabledMembers&&(I+="?rowIdFromQuery=".concat(P.disabledMembers),I.includes("{public_or_private}"))){const e=this.props.isPublic?"public":"private";I=I.replace("{public_or_private}",e)}d=null==a||null===(H=a.disabledMembers)||void 0===H?void 0:H.id,c=null==a||null===(U=a.disabledMembers)||void 0===U?void 0:U.defaultMessage}if(I.includes("{public_or_private}")){const e=this.props.isPublic?"public":"private";I=I.replace("{public_or_private}",e)}return o&&n.push(T().createElement("div",{"data-testid":null===(x=d)||void 0===x?void 0:x.replace(zb,"-"),key:d},T().createElement(Le.A,{id:d,defaultMessage:c,values:{scheme_name:w,scheme_link:I}}))),n})),Vb(this,"render",(()=>{const{channelPermissions:e,guestAccountsEnabled:t,onChannelPermissionsChanged:s,readOnly:a}=this.props;return T().createElement(ko,{id:"channel_moderation",title:$b.titleMessage,subtitle:t?$b.subtitleMessageForMembersAndGuests:$b.subtitleMessageForMembers},T().createElement("div",{className:"channel-moderation"},T().createElement("div",{className:"channel-moderation--body"},T().createElement("table",{id:"channel_moderation_table",className:"channel-moderation--table"},T().createElement("thead",null,T().createElement("tr",null,T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.channel_settings.channel_moderation.permissions",defaultMessage:"Permissions"})),t&&T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.channel_settings.channel_moderation.guests",defaultMessage:"Guests"})),T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.channel_settings.channel_moderation.members",defaultMessage:"Members"})))),T().createElement("tbody",null,null==e?void 0:e.map((e=>{var n,i;return T().createElement(ev,{key:e.name,name:e.name,guests:null===(n=e.roles.guests)||void 0===n?void 0:n.value,guestsDisabled:!(null!==(i=e.roles.guests)&&void 0!==i&&i.enabled),members:e.roles.members.value,membersDisabled:!e.roles.members.enabled,onClick:s,errorMessages:this.errorMessagesToDisplay(e),guestAccountsEnabled:t,readOnly:a})})))))))}))}}Vb(tv,"propTypes",{channelPermissions:L().array,onChannelPermissionsChanged:L().func.isRequired,teamSchemeID:L().string,teamSchemeDisplayName:L().string,guestAccountsEnabled:L().bool.isRequired,isPublic:L().bool.isRequired,readOnly:L().bool});const sv=e=>{const{isPublic:t,isSynced:s,isDefault:a,onToggle:n,isDisabled:i}=e;return T().createElement(Oo,{id:"syncGroupSwitch",disabled:i||a,toggled:s,last:s,onToggle:()=>{a||n(!s,t)},title:T().createElement(N.FormattedMessage,{id:"admin.channel_settings.channel_details.syncGroupMembers",defaultMessage:"Sync Group Members"}),subTitle:T().createElement(N.FormattedMessage,{id:"admin.channel_settings.channel_details.syncGroupMembersDescr",defaultMessage:"When enabled, adding and removing users from groups will add or remove them from this channel. The only way of inviting members to this channel is by adding the groups they belong to. <link>Learn More</link>",values:{link:e=>T().createElement(ce.A,{href:"https://www.mattermost.com/pl/default-ldap-group-constrained-team-channel.html",location:"channel_modes"},e)}})})};sv.propTypes={isPublic:L().bool.isRequired,isSynced:L().bool.isRequired,isDefault:L().bool.isRequired,onToggle:L().func.isRequired,isDisabled:L().bool,groupsSupported:L().bool};const av=e=>{const{isPublic:t,isSynced:s,isDefault:a,onToggle:n,isDisabled:i}=e;return s?null:T().createElement(Oo,{id:"allow-all-toggle",disabled:i||a,toggled:t,last:!0,onToggle:()=>{a||n(s,!t)},title:T().createElement(N.FormattedMessage,{id:"admin.channel_settings.channel_details.isPublic",defaultMessage:"Public channel or private channel"}),subTitle:a?T().createElement(N.FormattedMessage,{id:"admin.channel_settings.channel_details.isDefaultDescr",defaultMessage:"This default channel cannot be converted into a private channel."}):T().createElement(N.FormattedMessage,{id:"admin.channel_settings.channel_details.isPublicDescr",defaultMessage:"Select Public for a channel any user can find and join. {br}Select Private to require channel invitations to join. {br}Use this switch to change this channel from public to private or from private to public.",values:{br:T().createElement("br",null)}}),onText:T().createElement(N.FormattedMessage,{id:"channel_toggle_button.public",defaultMessage:"Public"}),offText:T().createElement(N.FormattedMessage,{id:"channel_toggle_button.private",defaultMessage:"Private"})})};av.propTypes={isPublic:L().bool.isRequired,isSynced:L().bool.isRequired,isDefault:L().bool.isRequired,onToggle:L().func.isRequired,isDisabled:L().bool,groupsSupported:L().bool};const nv=e=>{const{isPublic:t,isSynced:s,isDefault:a,onToggle:n,isDisabled:i,groupsSupported:r}=e;return T().createElement(ko,{id:"channel_manage",title:(0,N.defineMessage)({id:"admin.channel_settings.channel_detail.manageTitle",defaultMessage:"Channel Management"}),subtitle:(0,N.defineMessage)({id:"admin.channel_settings.channel_detail.manageDescription",defaultMessage:"Choose between inviting members manually or syncing members automatically from groups."})},T().createElement("div",{className:"group-teams-and-channels"},T().createElement("div",{className:"group-teams-and-channels--body"},r&&T().createElement(sv,{isPublic:t,isSynced:s,isDefault:a,onToggle:n,isDisabled:i}),T().createElement(av,{isPublic:t,isSynced:s,isDefault:a,onToggle:n,isDisabled:i}))))};nv.propTypes={isPublic:L().bool.isRequired,isSynced:L().bool.isRequired,isDefault:L().bool.isRequired,onToggle:L().func.isRequired,isDisabled:L().bool,groupsSupported:L().bool};const iv=e=>{const{team:t,channel:s,isArchived:a,isDisabled:n}=e,i=a?(0,N.defineMessage)({id:"admin.channel_settings.channel_details.unarchiveChannel",defaultMessage:"Unarchive Channel"}):(0,N.defineMessage)({id:"admin.channel_settings.channel_details.archiveChannel",defaultMessage:"Archive Channel"});let r;return s.shared&&s.type&&(r=T().createElement("div",{className:"channel-organizations"},T().createElement("b",null,T().createElement(N.FormattedMessage,{id:"admin.channelSettings.channelDetail.channel_organizations",defaultMessage:"Organizations"})),T().createElement("br",null),T().createElement(ab.A,{className:"shared-channel-icon"}),T().createElement(N.FormattedMessage,{id:"admin.channel_settings.channel_detail.channelOrganizationsMessage",defaultMessage:"Shared with trusted organizations"}))),T().createElement(ko,{id:"channel_profile",title:(0,N.defineMessage)({id:"admin.channel_settings.channel_detail.profileTitle",defaultMessage:"Channel Profile"}),subtitle:(0,N.defineMessage)({id:"admin.channel_settings.channel_detail.profileDescription",defaultMessage:"Summary of the channel, including the channel name."})},T().createElement("div",{className:"group-teams-and-channels AdminChannelDetails"},T().createElement("div",{className:"group-teams-and-channels--body channel-desc-col"},T().createElement("div",{className:"channel-name"},T().createElement("b",null,T().createElement(N.FormattedMessage,{id:"admin.channelSettings.channelDetail.channelName",defaultMessage:"Name"})),T().createElement("br",null),s.display_name),T().createElement("div",{className:"channel-team"},T().createElement("b",null,T().createElement(N.FormattedMessage,{id:"admin.channelSettings.channelDetail.channelTeam",defaultMessage:"Team"})),T().createElement("br",null),null==t?void 0:t.display_name),r,T().createElement("div",{className:"AdminChannelDetails_archiveContainer"},T().createElement("button",{type:"button",className:re()("btn","btn-secondary",{"btn-danger":!a},{disabled:n}),onClick:e.onToggleArchive},a?T().createElement("i",{className:"icon icon-archive-arrow-up-outline"}):T().createElement("i",{className:"icon icon-archive-outline"}),T().createElement(N.FormattedMessage,i))))))};iv.propTypes={onToggleArchive:L().func,isArchived:L().bool.isRequired,isDisabled:L().bool};const rv=e=>{let{show:t,onConfirm:s,onCancel:a,displayName:n,toPublic:i,removeAmount:r}=e;const o=i?ov.toPublicTitle:ov.toPrivateTitle,l=i?ov.toPublicMessage:ov.toPrivateMessage,d=i?ov.toPublicMessageSecondLine:ov.toPrivateMessageSecondLine,c=i?ov.toPublicConfirm:ov.toPrivateConfirm,m=T().createElement(N.FormattedMessage,Object.assign({},o,{values:{amount:r}})),u=T().createElement(T().Fragment,null,T().createElement("p",null,T().createElement(N.FormattedMessage,Object.assign({},l,{values:{displayName:T().createElement("strong",null,n)}}))),T().createElement("p",null,T().createElement(N.FormattedMessage,Object.assign({},d,{values:{displayName:T().createElement("strong",null,n)}}))),T().createElement("p",null,T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.removeConfirmModal.messageChannelFirstLine",defaultMessage:"{amount, number} {amount, plural, one {user} other {users}} will be removed. They are not in groups linked to this channel.",values:{amount:r}})),T().createElement("p",null,T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.removeConfirmModal.messageChannelSecondLine",defaultMessage:"Are you sure you wish to remove these users?"}))),p=T().createElement(N.FormattedMessage,Object.assign({},c,{values:{amount:r}})),g=T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.convertAndRemoveConfirmModal.cancel",defaultMessage:"No, cancel"});return T().createElement(St.A,{show:t,title:m,message:u,modalClass:"discard-changes-modal",confirmButtonClass:"btn btn-primary",confirmButtonText:p,cancelButtonText:g,onConfirm:s,onCancel:a})};rv.propTypes={show:L().bool.isRequired,onConfirm:L().func.isRequired,onCancel:L().func.isRequired,displayName:L().string.isRequired,toPublic:L().bool.isRequired,removeAmount:L().number.isRequired};const ov=(0,N.defineMessages)({toPrivateConfirm:{id:"admin.team_channel_settings.convertAndRemoveConfirmModal.toPrivateConfirm",defaultMessage:"Yes, convert channel to private and remove {amount, number} {amount, plural, one {user} other {users}}"},toPrivateMessage:{id:"admin.team_channel_settings.convertConfirmModal.toPrivateMessageFirstLine",defaultMessage:"When you convert {displayName} to a private channel, history and membership are preserved. Publicly shared files remain accessible to anyone with the link. Membership in a private channel is by invitation only."},toPrivateMessageSecondLine:{id:"admin.team_channel_settings.convertConfirmModal.toPrivateMessageSecondLine",defaultMessage:"Are you sure you want to convert {displayName} to a private channel?"},toPrivateTitle:{id:"admin.team_channel_settings.convertAndRemoveConfirmModal.toPrivateTitle",defaultMessage:"Convert channel to private and remove {amount, number} {amount, plural, one {user} other {users}}?"},toPublicConfirm:{id:"admin.team_channel_settings.convertAndRemoveConfirmModal.toPublicConfirm",defaultMessage:"Yes, convert channel to public and remove {amount, number} {amount, plural, one {user} other {users}}"},toPublicMessage:{id:"admin.team_channel_settings.convertConfirmModal.toPublicMessageFirstLine",defaultMessage:"When you convert {displayName} to a public channel, history and membership are preserved. Public channels are discoverable and can be joined by users on the system without invitation."},toPublicMessageSecondLine:{id:"admin.team_channel_settings.convertConfirmModal.toPublicMessageSecondLine",defaultMessage:"Are you sure you want to convert {displayName} to a public channel?"},toPublicTitle:{id:"admin.team_channel_settings.convertAndRemoveConfirmModal.toPublicTitle",defaultMessage:"Convert channel to public and remove {amount, number} {amount, plural, one {user} other {users}}?"}}),lv=rv,dv=e=>{let t,s,a,n,{show:i,onConfirm:r,onCancel:o,displayName:l,toPublic:d}=e;d?(t=cv.toPublicTitle,s=cv.toPublicMessage,a=cv.toPublicConfirm,n=cv.toPublicMessageConfirmation):(t=cv.toPrivateTitle,s=cv.toPrivateMessage,a=cv.toPrivateConfirm,n=cv.toPrivateMessageConfirmation);const c=T().createElement(N.FormattedMessage,Object.assign({},t,{values:{displayName:l}})),m=T().createElement(T().Fragment,null,T().createElement("p",null,T().createElement(N.FormattedMessage,Object.assign({},s,{values:{displayName:T().createElement("strong",null,l)}}))),T().createElement("p",null,T().createElement(N.FormattedMessage,Object.assign({},n,{values:{displayName:T().createElement("strong",null,l)}})))),u=T().createElement(N.FormattedMessage,a),p=T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.convertConfirmModal.cancel",defaultMessage:"No, cancel"});return T().createElement(St.A,{show:i,title:c,message:m,modalClass:"discard-changes-modal",confirmButtonClass:"btn btn-primary",confirmButtonText:u,cancelButtonText:p,onConfirm:r,onCancel:o})};dv.propTypes={show:L().bool.isRequired,onConfirm:L().func.isRequired,onCancel:L().func.isRequired,displayName:L().string.isRequired,toPublic:L().bool.isRequired};const cv=(0,N.defineMessages)({toPrivateConfirm:{id:"admin.team_channel_settings.convertConfirmModal.toPrivateConfirm",defaultMessage:"Yes, convert to private channel"},toPrivateMessage:{id:"admin.team_channel_settings.convertConfirmModal.toPrivateMessageFirstLine",defaultMessage:"When you convert {displayName} to a private channel, history and membership are preserved. Publicly shared files remain accessible to anyone with the link. Membership in a private channel is by invitation only."},toPrivateMessageConfirmation:{id:"admin.team_channel_settings.convertConfirmModal.toPrivateMessageSecondLine",defaultMessage:"Are you sure you want to convert {displayName} to a private channel?"},toPrivateTitle:{id:"admin.team_channel_settings.convertConfirmModal.toPrivateTitle",defaultMessage:"Convert {displayName} to a private channel?"},toPublicConfirm:{id:"admin.team_channel_settings.convertConfirmModal.toPublicConfirm",defaultMessage:"Yes, convert to public channel"},toPublicMessage:{id:"admin.team_channel_settings.convertConfirmModal.toPublicMessageFirstLine",defaultMessage:"When you convert {displayName} to a public channel, history and membership are preserved. Public channels are discoverable and can be joined by users on the system without invitation."},toPublicMessageConfirmation:{id:"admin.team_channel_settings.convertConfirmModal.toPublicMessageSecondLine",defaultMessage:"Are you sure you want to convert {displayName} to a public channel?"},toPublicTitle:{id:"admin.team_channel_settings.convertConfirmModal.toPublicTitle",defaultMessage:"Convert {displayName} to a public channel?"}}),mv=dv;function uv(e){const{user:t}=e,s=t.groups||[];let a;const n=T().createElement(N.FormattedMessage,{id:"team_channel_settings.group.group_user_row.numberOfGroups",defaultMessage:"{amount, number} {amount, plural, one {Group} other {Groups}}",values:{amount:s.length}});if(1===s.length)a=String(s[0].display_name);else if(0===s.length)a=n;else{const e=s.map((e=>e.display_name)).join(", ");a=T().createElement(tt.A,{title:e},T().createElement("a",{href:"#"},n))}return T().createElement("div",{className:"UsersToRemoveGroups"},a)}function pv(e){var t;const s=(0,N.useIntl)(),{user:a,membership:n,scope:i}=e;let r,o="guest";switch(null!==(t=a.roles)&&void 0!==t&&t.includes("system_admin")?o="system_admin":n&&("team"===i&&(n.scheme_admin?o="team_admin":n.scheme_user&&(o="team_user")),"channel"===i&&(n.scheme_admin?o="channel_admin":n.scheme_user&&(o="channel_user"))),o){case"system_admin":r=s.formatMessage({id:"admin.user_grid.system_admin",defaultMessage:"System Admin"});break;case"team_admin":r=s.formatMessage({id:"admin.user_grid.team_admin",defaultMessage:"Team Admin"});break;case"channel_admin":r=s.formatMessage({id:"admin.user_grid.channel_admin",defaultMessage:"Channel Admin"});break;case"team_user":case"channel_user":r=s.formatMessage({id:"admin.group_teams_and_channels_row.member",defaultMessage:"Member"});break;default:r=s.formatMessage({id:"admin.user_grid.guest",defaultMessage:"Guest"})}return T().createElement("div",{className:"UsersToRemoveRole"},r)}function gv(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function hv(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?gv(Object(s),!0).forEach((function(t){fv(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):gv(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function fv(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}pv.propTypes={scope:L().oneOf(["team","channel"]).isRequired};class Ev extends T().PureComponent{constructor(e){super(e),fv(this,"setStateLoading",(e=>{this.setState({loading:e})})),fv(this,"loadMembersForProfilesList",(async e=>{const{loadChannelMembersForProfilesList:t,loadTeamMembersForProfilesList:s}=this.props.actions,{scope:a,scopeId:n}=this.props;"channel"===a?await t(e,n):"team"===a&&await s(e,n)})),fv(this,"previousPage",(async()=>{const e=this.state.page<1?0:this.state.page-1;this.setState({page:e})})),fv(this,"nextPage",(async()=>{const{total:e}=this.props,t=10*(this.state.page+1)>=e?this.state.page:this.state.page+1;this.setState({page:t})})),fv(this,"onSearch",(e=>{this.props.actions.setModalSearchTerm(e),this.setState({page:0})})),fv(this,"onFilter",(async e=>{const t=e.role.values,s=[],a=[],n=[];let i={};Object.keys(t).forEach((e=>{t[e].value&&(e.includes("team")?a.push(e):e.includes("channel")?n.push(e):s.push(e))})),(s.length>0||a.length>0||n.length>0)&&(s.length>0&&(i={roles:s}),a.length>0&&(i=hv(hv({},i),{},{team_roles:a})),n.length>0&&(i=hv(hv({},i),{},{channel_roles:n}))),this.props.actions.setModalFilters(i),this.setState({page:0})})),fv(this,"getPaginationProps",(()=>{const{page:e}=this.state,t=10*e+1;let s=10*e+10;const a=this.props.total;return s>a&&(s=a),{startCount:t,endCount:s,page:e,lastPage:s===a,firstPage:0===e,total:a}})),fv(this,"getRows",(()=>{const{members:e,memberships:t,scope:s}=this.props,{startCount:a,endCount:n}=this.getPaginationProps();let i=e;return i=i.slice(a-1,n),this.state.loading?[]:i.map((e=>({cells:{id:e.id,name:T().createElement(Mh,{key:e.id,user:e}),role:T().createElement(pv,{key:e.id,user:e,membership:t[e.id],scope:s}),groups:T().createElement(uv,{key:e.id,user:e})}})))})),fv(this,"getColumns",(()=>[{name:T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.user_list.nameHeader",defaultMessage:"Name"}),field:"name",width:5},{name:T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.user_list.roleHeader",defaultMessage:"Role"}),field:"role",width:2},{name:T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.user_list.groupsHeader",defaultMessage:"Groups"}),field:"groups",width:3}])),fv(this,"getFilterOptions",(()=>{const e={role:{name:T().createElement(N.FormattedMessage,{id:"admin.user_grid.role",defaultMessage:"Role"}),values:{[fc.A.SYSTEM_GUEST_ROLE]:{name:T().createElement(N.FormattedMessage,{id:"admin.user_grid.guest",defaultMessage:"Guest"}),value:!1},[fc.A.SYSTEM_ADMIN_ROLE]:{name:T().createElement(N.FormattedMessage,{id:"admin.user_grid.system_admin",defaultMessage:"System Admin"}),value:!1}},keys:[fc.A.SYSTEM_GUEST_ROLE,fc.A.SYSTEM_ADMIN_ROLE]}};return"channel"===this.props.scope?(e.role.values=hv(hv({},e.role.values),{},{[fc.A.CHANNEL_USER_ROLE]:{name:T().createElement(N.FormattedMessage,{id:"admin.user_item.member",defaultMessage:"Member"}),value:!1},[fc.A.CHANNEL_ADMIN_ROLE]:{name:T().createElement(N.FormattedMessage,{id:"admin.user_grid.channel_admin",defaultMessage:"Channel Admin"}),value:!1}}),e.role.keys=[fc.A.SYSTEM_GUEST_ROLE,fc.A.CHANNEL_USER_ROLE,fc.A.CHANNEL_ADMIN_ROLE,fc.A.SYSTEM_ADMIN_ROLE]):"team"===this.props.scope&&(e.role.values=hv(hv({},e.role.values),{},{[fc.A.TEAM_USER_ROLE]:{name:T().createElement(N.FormattedMessage,{id:"admin.user_item.member",defaultMessage:"Member"}),value:!1},[fc.A.TEAM_ADMIN_ROLE]:{name:T().createElement(N.FormattedMessage,{id:"admin.user_grid.team_admin",defaultMessage:"Team Admin"}),value:!1}}),e.role.keys=[fc.A.SYSTEM_GUEST_ROLE,fc.A.TEAM_USER_ROLE,fc.A.TEAM_ADMIN_ROLE,fc.A.SYSTEM_ADMIN_ROLE]),this.props.enableGuestAccounts||(delete e.role.values[fc.A.SYSTEM_GUEST_ROLE],e.role.keys.splice(0,1)),e})),fv(this,"render",(()=>{const e=this.getRows(),t=this.getColumns(),{startCount:s,endCount:a,total:n}=this.getPaginationProps(),i=this.getFilterOptions(),r=T().createElement(N.FormattedMessage,{id:"admin.member_list_group.notFound",defaultMessage:"No users found"});return T().createElement("div",{className:"UsersToRemove"},T().createElement(oi,{columns:t,rows:e,loading:this.state.loading,page:this.state.page,nextPage:this.nextPage,previousPage:this.previousPage,startCount:s,endCount:a,total:n,onSearch:this.onSearch,filterProps:{options:i,keys:["role"],onFilter:this.onFilter},term:this.props.searchTerm||"",placeholderEmpty:r}))})),this.state={page:0,loading:!0}}async componentDidMount(){const{members:e,total:t}=this.props,s=[];let a=0;for(;a<t;)s.push(this.loadMembersForProfilesList(e.slice(a,a+100))),a+=100;await Promise.all(s),this.setStateLoading(!1)}componentWillUnmount(){this.props.actions.setModalSearchTerm(""),this.props.actions.setModalFilters({})}}function bv(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function vv(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?bv(Object(s),!0).forEach((function(t){Mv(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):bv(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function Mv(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}fv(Ev,"propTypes",{members:L().array.isRequired,total:L().number.isRequired,searchTerm:L().string.isRequired,scope:L().oneOf(["team","channel"]).isRequired,scopeId:L().string.isRequired,enableGuestAccounts:L().bool.isRequired,filters:L().shape({roles:L().arrayOf(L().string),channel_roles:L().arrayOf(L().string),team_roles:L().arrayOf(L().string)}).isRequired,actions:L().shape({loadTeamMembersForProfilesList:L().func.isRequired,loadChannelMembersForProfilesList:L().func.isRequired,setModalSearchTerm:L().func.isRequired,setModalFilters:L().func.isRequired}).isRequired});const yv=(0,a.connect)((function(){const e=(0,$g.el)(((e,t,s,a)=>{let n=e;if(""!==t&&(n=(0,bh.V3)(e,t)),Object.keys(s).length>0){const e=(0,g.f9)((0,bh.vC)(n),s,a);n=Object.keys(e).map((t=>e[t]))}return n}));return(t,s)=>{var a;const{scope:n,scopeId:i}=s;let{members:r,total:o}=s;const l=t.views.search.modalSearch||"",d=t.views.search.modalFilters||{};let m={};"channel"===n?m=(0,_i.a9)(t)[i]||{}:"team"===n&&(m=(0,p.RM)(t)[i]||{}),(l||Object.keys(d).length>0)&&(r=e(r,l,d,m),o=r.length);const u="true"===(null===(a=(0,c.zj)(t))||void 0===a?void 0:a.EnableGuestAccounts);return vv(vv({},s),{},{members:r,total:o,searchTerm:l,scope:n,memberships:m,enableGuestAccounts:u,filters:d})}}),(function(e){return{actions:(0,n.bindActionCreators)({loadChannelMembersForProfilesList:Ve.Yn,loadTeamMembersForProfilesList:Ve.iO,setModalSearchTerm:Ni.qv,setModalFilters:Ni.n},e)}}))(Ev),Sv=e=>{let{total:t,scope:s,scopeId:a,users:n,onExited:i}=e;const[r,o]=(0,_.useState)(!0),l=(0,_.useCallback)((()=>o(!1)),[]),d=T().createElement(N.FormattedMessage,{id:"admin.teamChannelSettings.usersToBeRemovedModal.title",defaultMessage:"<b>{total, number} {total, plural, one {User} other {Users}}</b> To Be Removed",values:{total:t,b:e=>T().createElement("b",null,e)}});let c=T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.usersToBeRemovedModal.message",defaultMessage:"The members listed below are not in any of the groups currently linked to this team. Because this team is set to be managed by group sync they will all be removed once saved."});"channel"===s&&(c=T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.usersToBeRemovedModal.channel_message",defaultMessage:"The members listed below are not in any of the groups currently linked to this channel. Because this channel is set to be managed by group sync they will all be removed once saved."}));const m=T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.usersToBeRemovedModal.close",defaultMessage:"Close"});return T().createElement(ta.Modal,{dialogClassName:"a11y__modal settings-modal",show:r,onHide:l,onExited:i,id:"confirmModal",role:"none","aria-labelledby":"confirmModalLabel"},T().createElement(ta.Modal.Header,{closeButton:!0},T().createElement(ta.Modal.Title,{componentClass:"h1",id:"confirmModalLabel"},d)),T().createElement(ta.Modal.Body,null,T().createElement("div",{className:"group-users-to-remove-modal-description"},c),T().createElement(yv,{members:n,total:t,scope:s,scopeId:a})),T().createElement(ta.Modal.Footer,null,T().createElement("button",{type:"button",autoFocus:!0,className:"btn btn-primary",onClick:l,id:"closeModalButton"},m)))};Sv.propTypes={total:L().number.isRequired,scope:L().oneOf(["team","channel"]).isRequired,scopeId:L().string.isRequired,users:L().array.isRequired,onExited:L().func};const Av=Sv,Cv=e=>{let{warning:t,isChannel:s=!1}=e,a=T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.need_groups",defaultMessage:"You must add at least one group to manage this team by sync group members."});return s&&(a=T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.need_groups_channel",defaultMessage:"You must add at least one group to manage this channel by sync group members."})),T().createElement(ye.A,{iconClassName:"fa-exclamation-".concat(t?"circle":"triangle"),textClassName:"has-".concat(t?"warning":"error"),error:a})};Cv.propTypes={warning:L().bool,isChannel:L().bool};const _v=()=>T().createElement(ye.A,{error:T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.need_domains",defaultMessage:"Please specify allowed email domains."})}),Tv=e=>{let{users:t,total:s,scope:a,scopeId:n}=e,i=T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.users_will_be_removed",defaultMessage:"{amount, number} {amount, plural, one {User} other {Users}} will be removed from this team. They are not in groups linked to this team.",values:{amount:s}});return"channel"===a&&(i=T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.channel_users_will_be_removed",defaultMessage:"{amount, number} {amount, plural, one {User} other {Users}} will be removed from this channel. They are not in groups linked to this channel.",values:{amount:s}})),T().createElement(ye.A,{iconClassName:"fa-exclamation-triangle",textClassName:"has-warning",error:T().createElement("span",null,i,T().createElement(Ah.A,{className:"btn btn-tertiary",modalId:x.IQ.USERS_TO_BE_REMOVED,dialogType:Av,dialogProps:{total:s,users:t,scope:a,scopeId:n}},T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.view_removed_users",defaultMessage:"View These Users"})))})};Tv.propTypes={users:L().array.isRequired,total:L().number.isRequired,scope:L().string.isRequired,scopeId:L().string.isRequired};const Nv=e=>{let{show:t,onConfirm:s,onCancel:a,inChannel:n,amount:i}=e;const r=T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.removeConfirmModal.title",defaultMessage:"Save and remove {amount, number} {amount, plural, one {user} other {users}}?",values:{amount:i}});let o;o=n?T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.removeConfirmModal.messageChannel",defaultMessage:"{amount, number} {amount, plural, one {user} other {users}} will be removed. They are not in groups linked to this channel. Are you sure you wish to remove {amount, plural, one {this user} other {these users}}?",values:{amount:i}}):T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.removeConfirmModal.messageTeam",defaultMessage:"{amount, number} {amount, plural, one {user} other {users}} will be removed. They are not in groups linked to this team. Are you sure you wish to remove {amount, plural, one {this user} other {these users}}?",values:{amount:i}});const l=T().createElement(N.FormattedMessage,{id:"admin.team_channel_settings.removeConfirmModal.remove",defaultMessage:"Save and remove {amount, plural, one {user} other {users}}",values:{amount:i}});return T().createElement(St.A,{show:t,title:r,message:o,modalClass:"discard-changes-modal",confirmButtonClass:"btn btn-primary",confirmButtonText:l,onConfirm:s,onCancel:a})};Nv.propTypes={show:L().bool.isRequired,onConfirm:L().func.isRequired,onCancel:L().func.isRequired,inChannel:L().bool.isRequired,amount:L().number.isRequired};const Rv=Nv;function wv(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function Iv(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?wv(Object(s),!0).forEach((function(t){Ov(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):wv(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function Ov(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class Pv extends T().PureComponent{constructor(e){var t,s,a,n;super(e),Ov(this,"setToggles",((e,t)=>{const{channel:s}=this.props,a=(null==s?void 0:s.type)===x.Ay.OPEN_CHANNEL;this.setState({saveNeeded:!0,isSynced:e,isPublic:t,isPrivacyChanging:t!==a},(()=>this.processGroupsChange(this.state.groups))),this.props.actions.setNavigationBlocked(!0)})),Ov(this,"handleGroupRemoved",(e=>{const t=this.state.groups.filter((t=>t.id!==e));this.setState({totalGroups:this.state.totalGroups-1}),this.processGroupsChange(t)})),Ov(this,"setNewGroupRole",(e=>{const t=v()(this.state.groups).map((t=>(t.id===e&&(t.scheme_admin=!t.scheme_admin),t)));this.processGroupsChange(t)})),Ov(this,"channelPermissionsChanged",((e,t)=>{const s=this.state.channelPermissions.findIndex((t=>t.name===e)),a=!this.state.channelPermissions[s].roles[t].value;let n=[...this.state.channelPermissions];if(e===l.xB.CHANNEL_MODERATED_PERMISSIONS.CREATE_POST){var i;const e=null===(i=this.props.channelPermissions.find((e=>e.name===l.xB.CHANNEL_MODERATED_PERMISSIONS.USE_CHANNEL_MENTIONS)))||void 0===i?void 0:i.roles[t];n=n.map((s=>s.name!==l.xB.CHANNEL_MODERATED_PERMISSIONS.USE_CHANNEL_MENTIONS||a?s.name===l.xB.CHANNEL_MODERATED_PERMISSIONS.USE_CHANNEL_MENTIONS?{name:s.name,roles:Iv(Iv({},s.roles),{},{[t]:{value:null==e?void 0:e.value,enabled:null==e?void 0:e.enabled}})}:s:{name:s.name,roles:Iv(Iv({},s.roles),{},{[t]:{value:!1,enabled:!1}})}))}n[s]=Iv(Iv({},n[s]),{},{roles:Iv(Iv({},n[s].roles),{},{[t]:Iv(Iv({},n[s].roles[t]),{},{value:a})})}),this.setState({channelPermissions:n,saveNeeded:!0}),this.props.actions.setNavigationBlocked(!0)})),Ov(this,"handleGroupChange",(e=>{const t=[...this.state.groups,...e.map((e=>this.props.allGroups[e]))];this.setState({totalGroups:this.state.totalGroups+e.length}),this.processGroupsChange(t)})),Ov(this,"hideConvertConfirmModal",(()=>{this.setState({showConvertConfirmModal:!1})})),Ov(this,"hideRemoveConfirmModal",(()=>{this.setState({showRemoveConfirmModal:!1})})),Ov(this,"hideConvertAndRemoveConfirmModal",(()=>{this.setState({showConvertAndRemoveConfirmModal:!1})})),Ov(this,"hideArchiveConfirmModal",(()=>{this.setState({showArchiveConfirmModal:!1})})),Ov(this,"onSave",(()=>{const{channel:e}=this.props,{isSynced:t,usersToRemoveCount:s,serverError:a}=this.state;let{isPublic:n,isPrivacyChanging:i}=this.state;if(this.channelToBeArchived())return void this.setState({showArchiveConfirmModal:!0});const r=(null==e?void 0:e.type)===x.Ay.OPEN_CHANNEL;t&&(n=!1,i=r,this.setState({isPublic:n,isPrivacyChanging:i})),i&&s>0?this.setState({showConvertAndRemoveConfirmModal:!0}):!i||0!==s||a?!i&&s>0?this.setState({showRemoveConfirmModal:!0}):this.handleSubmit():this.setState({showConvertConfirmModal:!0})})),Ov(this,"handleSubmit",(async()=>{const{groups:e,channelID:t,actions:s,channel:a}=this.props;if(!a)return;this.setState({showConvertConfirmModal:!1,showRemoveConfirmModal:!1,showConvertAndRemoveConfirmModal:!1,showArchiveConfirmModal:!1,saving:!0});const{groups:n,isSynced:i,isPublic:r,isPrivacyChanging:o,channelPermissions:d,usersToAdd:c,usersToRemove:m,rolesToUpdate:u}=this.state;let p,g=!1;if(this.channelToBeArchived()){const e=await s.deleteChannel(a.id);return"error"in e?(p=T().createElement(ye.A,{error:e.error.message}),g=!0):(0,I.sx)("admin_channel_config_page","channel_archived",{channel_id:t}),void this.setState({serverError:p,saving:!1,saveNeeded:g,isPrivacyChanging:!1,usersToRemoveCount:0,rolesToUpdate:{},usersToAdd:{},usersToRemove:{}},(()=>{s.setNavigationBlocked(g),g||(0,fi.J)().push("/admin_console/user_management/channels")}))}if(this.channelToBeRestored()&&!this.state.serverError){const e=await s.unarchiveChannel(a.id);"error"in e?p=T().createElement(ye.A,{error:e.error.message}):(0,I.sx)("admin_channel_config_page","channel_unarchived",{channel_id:t}),this.setState({serverError:p,previousServerError:void 0})}if(0===this.state.groups.length&&i)return p=T().createElement(Cv,{isChannel:!0}),g=!0,this.setState({serverError:p,saving:!1,saveNeeded:g}),void s.setNavigationBlocked(g);const h=[];if(o){const e=s.updateChannelPrivacy(a.id,r?x.Ay.OPEN_CHANNEL:x.Ay.PRIVATE_CHANNEL);h.push(e.then((e=>"error"in e?e:s.patchChannel(a.id,Iv(Iv({},a),{},{group_constrained:i})))))}else h.push(s.patchChannel(a.id,Iv(Iv({},a),{},{group_constrained:i})));const f=n.filter((t=>e.some((e=>e.id===t.id&&e.scheme_admin!==t.scheme_admin)))).map((e=>s.patchGroupSyncable(e.id,t,_o.CL.Channel,{scheme_admin:e.scheme_admin}))),E=e.filter((e=>!n.some((t=>t.id===e.id)))).map((e=>s.unlinkGroupSyncable(e.id,t,_o.CL.Channel))),b=n.filter((t=>!e.some((e=>e.id===t.id)))).map((e=>s.linkGroupSyncable(e.id,t,_o.CL.Channel,{auto_add:!0,scheme_admin:e.scheme_admin}))),v=[...h,...f,...E,...b];if(v.length>0){const e=(await Promise.all(v)).find((e=>"error"in e));if(e&&"error"in e)p=T().createElement(ye.A,{error:e.error.message});else{E.length>0&&(0,I.sx)("admin_channel_config_page","groups_removed_from_channel",{count:E.length,channel_id:t}),b.length>0&&(0,I.sx)("admin_channel_config_page","groups_added_to_channel",{count:b.length,channel_id:t});const e=[];this.props.channelModerationEnabled&&e.push(s.getGroups(t)),o&&this.props.channelModerationEnabled&&e.push(s.getChannelModerations(t).then((()=>{const e=d.findIndex((e=>e.name===l.xB.CHANNEL_MODERATED_PERMISSIONS.MANAGE_MEMBERS));if(d){const t=this.props.channelPermissions.find((e=>e.name===l.xB.CHANNEL_MODERATED_PERMISSIONS.MANAGE_MEMBERS));d[e]=t||d[e]}this.setState({channelPermissions:d})}))),e.length>0&&await Promise.all(e),await Promise.resolve()}}if(this.props.channelModerationEnabled){const e=d.map((e=>({name:e.name,roles:Iv(Iv({},e.roles.members&&e.roles.members.enabled&&{members:e.roles.members.value}),e.roles.guests&&e.roles.guests.enabled&&{guests:e.roles.guests.value})}))),a=await s.patchChannelModerations(t,e);a.error&&(p=T().createElement(ye.A,{error:a.error.message})),this.restrictChannelMentions()}let M=o;null==p&&(M=!1);const y=Object.values(c),S=Object.values(m),A=Object.keys(u);if((y.length>0||S.length>0||A.length>0)&&!i){const e=[],s=[],{addChannelMember:a,removeChannelMember:n,updateChannelMemberSchemeRoles:i}=this.props.actions;if(y.forEach((s=>{e.push(a(t,s.id))})),S.forEach((e=>{s.push(n(t,e.id))})),e.length>0){const s=await Promise.all(e),a=s.find((e=>"error"in e)),n=s.filter((e=>"data"in e)).length;a&&"error"in a&&(p=T().createElement(ye.A,{error:a.error.message})),n>0&&(0,I.sx)("admin_channel_config_page","members_added_to_channel",{count:n,channel_id:t})}if(s.length>0){const e=await Promise.all(s),a=e.find((e=>"error"in e)),n=e.filter((e=>"data"in e)).length;a&&"error"in a&&(p=T().createElement(ye.A,{error:a.error.message})),n>0&&(0,I.sx)("admin_channel_config_page","members_removed_from_channel",{count:n,channel_id:t})}const r=[],o=[];if(A.forEach((e=>{const{schemeUser:s,schemeAdmin:a}=u[e];a?r.push(i(t,e,s,a)):o.push(i(t,e,s,a))})),r.length>0){const e=await Promise.all(r),s=e.find((e=>"error"in e)),a=e.filter((e=>"data"in e)).length;s&&"error"in s&&(p=T().createElement(ye.A,{error:s.error.message})),a>0&&(0,I.sx)("admin_channel_config_page","members_elevated_to_channel_admin",{count:a,channel_id:t})}if(o.length>0){const e=await Promise.all(o),s=e.find((e=>"error"in e)),a=e.filter((e=>"data"in e)).length;s&&"error"in s&&(p=T().createElement(ye.A,{error:s.error.message})),a>0&&(0,I.sx)("admin_channel_config_page","admins_demoted_to_channel_member",{count:a,channel_id:t})}}this.setState({serverError:p,saving:!1,saveNeeded:g,isPrivacyChanging:M,usersToRemoveCount:0,rolesToUpdate:{},usersToAdd:{},usersToRemove:{}},(()=>{s.setNavigationBlocked(g),g||p||(0,fi.J)().push("/admin_console/user_management/channels")}))})),Ov(this,"channelToBeArchived",(()=>{var e;const{isLocalArchived:t}=this.state,s=0!==(null===(e=this.props.channel)||void 0===e?void 0:e.delete_at);return t&&!s})),Ov(this,"channelToBeRestored",(()=>{var e;const{isLocalArchived:t}=this.state,s=0!==(null===(e=this.props.channel)||void 0===e?void 0:e.delete_at);return!t&&s})),Ov(this,"addRolesToUpdate",((e,t,s)=>{const{rolesToUpdate:a}=this.state;a[e]={schemeUser:t,schemeAdmin:s},this.setState({rolesToUpdate:Iv({},a),saveNeeded:!0}),this.props.actions.setNavigationBlocked(!0)})),Ov(this,"addUserToRemove",(e=>{var t,s;let{usersToRemoveCount:a}=this.state;const{usersToAdd:n,usersToRemove:i,rolesToUpdate:r}=this.state;(null===(t=n[e.id])||void 0===t?void 0:t.id)===e.id?delete n[e.id]:(null===(s=i[e.id])||void 0===s?void 0:s.id)!==e.id&&(a+=1,i[e.id]=e),delete r[e.id],this.setState({usersToRemove:Iv({},i),usersToAdd:Iv({},n),rolesToUpdate:Iv({},r),usersToRemoveCount:a,saveNeeded:!0}),this.props.actions.setNavigationBlocked(!0)})),Ov(this,"addUsersToAdd",(e=>{let{usersToRemoveCount:t}=this.state;const s=Iv({},this.state.usersToRemove),a=Iv({},this.state.usersToAdd);e.forEach((e=>{var n;(null===(n=s[e.id])||void 0===n?void 0:n.id)===e.id?(delete s[e.id],t-=1):a[e.id]=e})),this.setState({usersToAdd:Iv({},a),usersToRemove:Iv({},s),usersToRemoveCount:t,saveNeeded:!0}),this.props.actions.setNavigationBlocked(!0)})),Ov(this,"onToggleArchive",(()=>{const{isLocalArchived:e,serverError:t,previousServerError:s}=this.state,{isDisabled:a}=this.props;if(a)return;const n={saveNeeded:!0,isLocalArchived:!e};n.isLocalArchived?(n.previousServerError=t,n.serverError=void 0):(n.serverError=s,n.previousServerError=void 0),this.props.actions.setNavigationBlocked(!0),this.setState(n)})),Ov(this,"render",(()=>{const{totalGroups:e,saving:t,saveNeeded:s,serverError:a,isSynced:n,isPublic:i,isDefault:r,groups:o,showConvertConfirmModal:l,showRemoveConfirmModal:d,showConvertAndRemoveConfirmModal:c,usersToRemoveCount:m,channelPermissions:u,teamScheme:p,usersToRemove:g,usersToAdd:h,isLocalArchived:f,showArchiveConfirmModal:E}=this.state,{channel:b,team:v}=this.props;if(!b)return null;const M=this.props.groups.filter((e=>!o.find((t=>t.id===e.id)))),y=T().createElement(T().Fragment,null,T().createElement(mv,{show:l,onCancel:this.hideConvertConfirmModal,onConfirm:this.handleSubmit,displayName:b.display_name||"",toPublic:i}),this.props.channelModerationEnabled&&T().createElement(tv,{channelPermissions:u,onChannelPermissionsChanged:this.channelPermissionsChanged,teamSchemeID:null==p?void 0:p.id,teamSchemeDisplayName:null==p?void 0:p.display_name,guestAccountsEnabled:this.props.guestAccountsEnabled,isPublic:b.type===x.Ay.OPEN_CHANNEL,readOnly:this.props.isDisabled}),T().createElement(Rv,{show:d,onCancel:this.hideRemoveConfirmModal,onConfirm:this.handleSubmit,inChannel:!0,amount:m}),T().createElement(lv,{show:c,onCancel:this.hideConvertAndRemoveConfirmModal,onConfirm:this.handleSubmit,displayName:b.display_name||"",toPublic:i,removeAmount:m}),T().createElement(nv,{isPublic:i,isSynced:n,isDefault:r,onToggle:this.setToggles,isDisabled:this.props.isDisabled,groupsSupported:this.props.channelGroupsEnabled}),this.props.channelGroupsEnabled&&T().createElement(Rb,{synced:n,channel:b,totalGroups:e,groups:o,removedGroups:M,onAddCallback:this.handleGroupChange,onGroupRemoved:this.handleGroupRemoved,setNewGroupRole:this.setNewGroupRole,isDisabled:this.props.isDisabled}),!n&&T().createElement(Wb,{onRemoveCallback:this.addUserToRemove,onAddCallback:this.addUsersToAdd,usersToRemove:g,usersToAdd:h,updateRole:this.addRolesToUpdate,channelId:this.props.channelID,isDisabled:this.props.isDisabled}));return T().createElement("div",{className:"wrapper--fixed"},T().createElement(et,{withBackButton:!0},T().createElement("div",null,T().createElement(ka.A,{to:"/admin_console/user_management/channels",className:"fa fa-angle-left back"}),T().createElement(N.FormattedMessage,{id:"admin.channel_settings.channel_detail.channel_configuration",defaultMessage:"Channel Configuration"}))),T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},T().createElement(iv,{channel:b,team:v,onToggleArchive:this.onToggleArchive,isArchived:f,isDisabled:this.props.isDisabled}),T().createElement(St.A,{show:E,title:T().createElement(N.FormattedMessage,{id:"admin.channel_settings.channel_detail.archive_confirm.title",defaultMessage:"Save and Archive Channel"}),message:T().createElement(N.FormattedMessage,{id:"admin.channel_settings.channel_detail.archive_confirm.message",defaultMessage:"Saving will archive the channel from the team and make it's contents inaccessible for all users. Are you sure you wish to save and archive this channel?"}),confirmButtonText:T().createElement(N.FormattedMessage,{id:"admin.channel_settings.channel_detail.archive_confirm.button",defaultMessage:"Save and Archive Channel"}),onConfirm:this.handleSubmit,onCancel:this.hideArchiveConfirmModal}),!f&&y)),T().createElement(tl,{saving:t,saveNeeded:s,onClick:this.onSave,serverError:a,cancelLink:"/admin_console/user_management/channels",isDisabled:this.props.isDisabled}))})),this.state={isSynced:Boolean(null===(t=e.channel)||void 0===t?void 0:t.group_constrained),isPublic:(null===(s=e.channel)||void 0===s?void 0:s.type)===x.Ay.OPEN_CHANNEL,isDefault:(null===(a=e.channel)||void 0===a?void 0:a.name)===x.Ay.DEFAULT_CHANNEL,isPrivacyChanging:!1,saving:!1,totalGroups:e.totalGroups,showConvertConfirmModal:!1,showRemoveConfirmModal:!1,showConvertAndRemoveConfirmModal:!1,usersToRemoveCount:0,usersToRemove:{},usersToAdd:{},rolesToUpdate:{},groups:e.groups,saveNeeded:!1,serverError:void 0,previousServerError:void 0,channelPermissions:e.channelPermissions,teamScheme:e.teamScheme,isLocalArchived:0!==(null===(n=e.channel)||void 0===n?void 0:n.delete_at),showArchiveConfirmModal:!1}}componentDidUpdate(e){var t,s,a;const{channel:n,totalGroups:i,actions:r}=this.props;(null==n?void 0:n.id)===(null===(t=e.channel)||void 0===t?void 0:t.id)&&i===e.totalGroups||this.setState({totalGroups:i,isSynced:Boolean(null==n?void 0:n.group_constrained),isPublic:(null==n?void 0:n.type)===x.Ay.OPEN_CHANNEL,isDefault:(null==n?void 0:n.name)===x.Ay.DEFAULT_CHANNEL,isLocalArchived:0!==(null==n?void 0:n.delete_at)}),null!==(s=e.team)&&void 0!==s&&s.id||null!==(a=e.channel)&&void 0!==a&&a.team_id||null==n||!n.team_id||r.getTeam(n.team_id).then((async e=>{e.data&&e.data.scheme_id&&await r.loadScheme(e.data.scheme_id)})).then((()=>this.setState({teamScheme:this.props.teamScheme})))}componentDidMount(){const{channelID:e,channel:t,actions:s}=this.props;e&&(this.props.channelModerationEnabled&&(s.getGroups(e).then((()=>this.setState({groups:this.props.groups}))),s.getChannelModerations(e).then((()=>this.restrictChannelMentions()))),s.getChannel(e)),null!=t&&t.team_id&&s.getTeam(t.team_id).then((async e=>{e.data&&e.data.scheme_id&&await s.loadScheme(e.data.scheme_id)})).then((()=>this.setState({teamScheme:this.props.teamScheme})))}restrictChannelMentions(){var e;let t=this.props.channelPermissions;const s=null===(e=t.find((e=>e.name===l.xB.CHANNEL_MODERATED_PERMISSIONS.CREATE_POST)))||void 0===e?void 0:e.roles;if(s)for(const e of Object.keys(s))t=t.map((t=>t.name!==l.xB.CHANNEL_MODERATED_PERMISSIONS.USE_CHANNEL_MENTIONS||s[e].value&&s[e].enabled?t:{name:t.name,roles:Iv(Iv({},t.roles),{},{[e]:{value:!1,enabled:!1}})}));this.setState({channelPermissions:t})}async processGroupsChange(e){const{actions:t,channelID:s}=this.props;let a;t.setNavigationBlocked(!0);let n=0;if(this.state.isSynced)try{if(0===e.length)a=T().createElement(Cv,{warning:!0,isChannel:!0});else{if(!s)return;const i=await t.membersMinusGroupMembers(s,e.map((e=>e.id)));"data"in i&&(n=i.data.total_count,n>0&&(a=T().createElement(Tv,{total:n,users:i.data.users,scope:"channel",scopeId:this.props.channelID})))}}catch(e){a=e}this.setState({groups:e,usersToRemoveCount:n,saveNeeded:!0,serverError:a})}}Ov(Pv,"propTypes",{channelID:L().string.isRequired,groups:L().array.isRequired,totalGroups:L().number.isRequired,channelPermissions:L().array.isRequired,guestAccountsEnabled:L().bool.isRequired,channelModerationEnabled:L().bool.isRequired,channelGroupsEnabled:L().bool.isRequired,isDisabled:L().bool,actions:L().shape({getGroups:L().func.isRequired,linkGroupSyncable:L().func.isRequired,unlinkGroupSyncable:L().func.isRequired,membersMinusGroupMembers:L().func.isRequired,setNavigationBlocked:L().func.isRequired,getChannel:L().func.isRequired,getTeam:L().func.isRequired,getChannelModerations:L().func.isRequired,patchChannel:L().func.isRequired,updateChannelPrivacy:L().func.isRequired,patchGroupSyncable:L().func.isRequired,patchChannelModerations:L().func.isRequired,loadScheme:L().func.isRequired,addChannelMember:L().func.isRequired,removeChannelMember:L().func.isRequired,updateChannelMemberSchemeRoles:L().func.isRequired,deleteChannel:L().func.isRequired,unarchiveChannel:L().func.isRequired}).isRequired});const kv=(0,a.connect)((function(e,t){const s=(0,c.zj)(e),a=(0,c.Ay)(e),n="true"===(null==a?void 0:a.IsLicensed),i=n&&(a.SkuShortName===x.gS.Professional||a.SkuShortName===x.gS.Enterprise||a.SkuShortName===x.gS.E20),r=n&&(a.SkuShortName===x.gS.Enterprise||a.SkuShortName===x.gS.E20),o="true"===s.EnableGuestAccounts,l=t.match.params.channel_id,d=(0,_i.c)(e,l),m=d?(0,p.Uo)(e,d.team_id):void 0,u=(0,Co.dJ)(e,l);return{channelID:l,channel:d,team:m,groups:u,totalGroups:u.length,allGroups:(0,Co.GX)(e),channelPermissions:(0,_i.Bt)(e,l),teamScheme:m?nc(e,m.scheme_id):void 0,guestAccountsEnabled:o,channelModerationEnabled:i,channelGroupsEnabled:r}}),(function(e){return{actions:(0,n.bindActionCreators)({getGroups:Ao.dJ,linkGroupSyncable:Ao.PY,unlinkGroupSyncable:Ao.IC,membersMinusGroupMembers:nr.qN,setNavigationBlocked:h.Jb,getChannel:nr.c,getTeam:o.Uo,getChannelModerations:nr.Bt,patchChannel:nr.ER,updateChannelPrivacy:nr.nr,patchGroupSyncable:Ao.r2,patchChannelModerations:nr.XB,loadScheme:Kd,addChannelMember:nr.zb,removeChannelMember:nr.ur,updateChannelMemberSchemeRoles:nr.pN,deleteChannel:nr.D3,unarchiveChannel:nr.fk},e)}}))(Pv);function xv(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function Dv(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class Lv extends T().PureComponent{constructor(e){var t;super(e),t=this,Dv(this,"isSearching",((e,t)=>e.length+Object.keys(t).length>0)),Dv(this,"getPaginationProps",(()=>{const{page:e,term:t,filters:s}=this.state,a=this.isSearching(t,s)?this.state.total:this.props.total;let n=(e+1)*tb;return n=n>a?a:n,{startCount:e*tb+1,endCount:n,total:a}})),Dv(this,"loadPage",(async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t.setState({loading:!0,term:s,filters:a}),t.isSearching(s,a)?e>0?t.searchTeams(e,s,a):t.searchTeamsDebounced(e,s,a):(await t.props.actions.getData(e,tb),t.setState({page:e,loading:!1}))})),Dv(this,"searchTeams",(async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=[],i=0,r=!0;const o=await t.props.actions.searchTeams(s,function(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?xv(Object(s),!0).forEach((function(t){Dv(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):xv(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}({page:e,per_page:tb},a));null!=o&&o.data&&(n=e>0?t.state.teams.concat(o.data.teams):o.data.teams,i=o.data.total_count,r=!1),t.setState({page:e,loading:!1,teams:n,total:i,searchErrored:r})})),Dv(this,"searchTeamsDebounced",(0,Qd.sg)((function(e,s){let a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return t.searchTeams(e,s,a)}),300,!1,(()=>{}))),Dv(this,"nextPage",(()=>{this.loadPage(this.state.page+1,this.state.term,this.state.filters)})),Dv(this,"previousPage",(()=>{this.setState({page:this.state.page-1})})),Dv(this,"onSearch",(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";t.loadPage(0,e,t.state.filters)})),Dv(this,"onFilter",(e=>{let{management:t}=e;const s={};let a;const{allow_open_invite:{value:n},invite_only:{value:i}}=t.values,r=[n,i];this.props.isLicensedForLDAPGroups&&(a=t.values.group_constrained.value,r.push(a)),r.includes(!1)&&r.includes(!0)&&(n&&i?s.group_constrained=!1:(a&&(s.group_constrained=!0),(n||i)&&(s.allow_open_invite=Boolean(n)))),this.loadPage(0,this.state.term,s)})),Dv(this,"getColumns",(()=>[{name:T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_list.nameHeader",defaultMessage:"Name"}),field:"name",width:4,fixed:!0},{name:T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_list.mappingHeader",defaultMessage:"Management"}),field:"management",fixed:!0},{name:"",field:"edit",textAlign:"right",fixed:!0}])),Dv(this,"renderManagementMethodText",(e=>e.group_constrained?T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_row.managementMethod.groupSync",defaultMessage:"Group Sync"}):e.allow_open_invite?T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_row.managementMethod.anyoneCanJoin",defaultMessage:"Anyone Can Join"}):T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_row.managementMethod.inviteOnly",defaultMessage:"Invite Only"}))),Dv(this,"getRows",(()=>{const{data:e}=this.props,{term:t,teams:s,filters:a}=this.state,{startCount:n,endCount:i}=this.getPaginationProps();let r=this.isSearching(t,a)?s:e;return r=r.slice(n-1,i),r.map((e=>({cells:{id:e.id,name:T().createElement("div",{className:"TeamList_nameColumn"},T().createElement("div",{className:"TeamList__lowerOpacity"},T().createElement($i.A,{size:"sm",url:H.lt(e),content:e.display_name})),T().createElement("div",{className:"TeamList_nameText"},T().createElement("b",{"data-testid":"team-display-name"},e.display_name,0!==e.delete_at&&T().createElement("span",{className:"archived-label"},"  ",T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_row.archived",defaultMessage:"(Archived)"}))),e.description&&T().createElement("div",{className:"TeamList_descriptionText"},e.description))),management:T().createElement("span",{"data-testid":"".concat(e.name,"Management"),className:"TeamList_managementText"},this.renderManagementMethodText(e)),edit:T().createElement("span",{"data-testid":"".concat(e.display_name,"edit"),className:"group-actions TeamList_editText"},T().createElement(R.Link,{to:"/admin_console/user_management/teams/".concat(e.id)},T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_row.configure",defaultMessage:"Edit"})))},onClick:()=>(0,fi.J)().push("/admin_console/user_management/teams/".concat(e.id))})))})),this.state={loading:!1,term:"",teams:[],page:0,total:0,searchErrored:!1,filters:{}}}componentDidMount(){this.loadPage()}render(){const{term:e,searchErrored:t}=this.state,s=this.getRows(),a=this.getColumns(),{startCount:n,endCount:i,total:r}=this.getPaginationProps(),{isLicensedForLDAPGroups:o}=this.props;let l=T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_list.no_teams_found",defaultMessage:"No teams found"});t&&(l=T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_list.search_teams_errored",defaultMessage:"Something went wrong. Try again"}));const d={management:{name:T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_list.mappingHeader",defaultMessage:"Management"}),values:{allow_open_invite:{name:T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_row.managementMethod.anyoneCanJoin",defaultMessage:"Anyone Can Join"}),value:!1},invite_only:{name:T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_row.managementMethod.inviteOnly",defaultMessage:"Invite Only"}),value:!1}},keys:["allow_open_invite","invite_only"]}};o&&(d.management.values.group_constrained={name:T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_row.managementMethod.groupSync",defaultMessage:"Group Sync"}),value:!1},d.management.keys.push("group_constrained"));const c={options:d,keys:["management"],onFilter:this.onFilter},m={minHeight:"".concat(80*s.length,"px")};return T().createElement("div",{className:"TeamsList"},T().createElement(oi,{columns:a,rows:s,loading:this.state.loading,page:this.state.page,nextPage:this.nextPage,previousPage:this.previousPage,startCount:n,endCount:i,total:r,onSearch:this.onSearch,term:e,placeholderEmpty:l,rowsContainerStyles:m,filterProps:c}))}}Dv(Lv,"propTypes",{data:L().array.isRequired,total:L().number.isRequired,actions:L().shape({}).isRequired,isLicensedForLDAPGroups:L().bool});const Fv=(0,A.Mz)("getSortedListOfTeams",p.ZN,(e=>Object.values(e).sort(((e,t)=>e.display_name.localeCompare(t.display_name))))),Bv=(0,a.connect)((function(e){return{data:Fv(e),total:e.entities.teams.totalCount||0,isLicensedForLDAPGroups:"true"===e.entities.general.license.LDAPGroups}}),(function(e){return{actions:(0,n.bindActionCreators)({getData:(e,t)=>(0,o.ZN)(e,t,!0),searchTeams:o.Fo},e)}}))(Lv);function Hv(e){return T().createElement("div",{className:"wrapper--fixed"},T().createElement(et,null,T().createElement(N.FormattedMessage,{id:"admin.team_settings.groupsPageTitle",defaultMessage:"{siteName} Teams",values:{siteName:e.siteName}})),T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},T().createElement(ko,{id:"teams",title:(0,N.defineMessage)({id:"admin.team_settings.title",defaultMessage:"Teams"}),subtitle:(0,N.defineMessage)({id:"admin.team_settings.description",defaultMessage:"Manage team settings."})},T().createElement(Bv,null)))))}Hv.propTypes={siteName:L().string.isRequired};const Uv=(0,a.connect)((function(e){return{siteName:(0,c.zj)(e).SiteName}}))(Hv);var Gv=s(69669);const jv=e=>{let{onGroupRemoved:t,syncChecked:s,team:a,onAddCallback:n,totalGroups:i,groups:r,removedGroups:o,setNewGroupRole:l,isDisabled:d}=e;return T().createElement(ko,{id:"team_groups",title:s?(0,N.defineMessage)({id:"admin.team_settings.team_detail.syncedGroupsTitle",defaultMessage:"Synced Groups"}):(0,N.defineMessage)({id:"admin.team_settings.team_detail.groupsTitle",defaultMessage:"Groups"}),subtitle:s?(0,N.defineMessage)({id:"admin.team_settings.team_detail.syncedGroupsDescription",defaultMessage:"Add and remove team members based on their group membership."}):(0,N.defineMessage)({id:"admin.team_settings.team_detail.groupsDescription",defaultMessage:"Group members will be added to the team."}),button:T().createElement(Ah.A,{id:"addGroupsToTeamToggle",className:"btn btn-primary",modalId:x.IQ.ADD_GROUPS_TO_TEAM,dialogType:Gv.A,dialogProps:{team:a,onAddCallback:n,skipCommit:!0,excludeGroups:r,includeGroups:o},disabled:d},T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_details.add_group",defaultMessage:"Add Group"}))},T().createElement(Nb,{team:a,isModeSync:s,groups:r,totalGroups:i,onGroupRemoved:t,setNewGroupRole:l,type:"team",isDisabled:d}))};function qv(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function Wv(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?qv(Object(s),!0).forEach((function(t){Vv(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):qv(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function Vv(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}jv.propTypes={onGroupRemoved:L().func.isRequired,syncChecked:L().bool.isRequired,onAddCallback:L().func.isRequired,totalGroups:L().number.isRequired,groups:L().array.isRequired,removedGroups:L().array.isRequired,setNewGroupRole:L().func.isRequired,isDisabled:L().bool};class zv extends T().PureComponent{constructor(e){super(e),Vv(this,"componentDidMount",(async()=>{await this.props.actions.getProfilesNotInTeam(this.props.team.id,!1,0,100),this.setUsersLoadingState(!1)})),Vv(this,"setUsersLoadingState",(e=>{this.setState({loading:e})})),Vv(this,"search",(async e=>{this.setUsersLoadingState(!0);let t=[];const s=""!==e;if(s){const{data:s}=await this.props.actions.searchProfiles(e,Wv({not_in_team_id:this.props.team.id,replace:!0},this.state.filterOptions));t=s}else await this.props.actions.getProfilesNotInTeam(this.props.team.id,!1,0,100);this.setState({loading:!1,searchResults:t,search:s})})),Vv(this,"handleHide",(()=>{this.setState({show:!1})})),Vv(this,"handleExit",(()=>{this.props.onExited&&this.props.onExited()})),Vv(this,"renderOption",((e,t,s,a)=>{let n="";return t&&(n="more-modal__row--selected"),T().createElement("div",{key:e.id,ref:t?this.selectedItemRef:e.id,className:"more-modal__row clickable "+n,onClick:()=>s(e),onMouseMove:()=>a(e)},T().createElement(vh.A,{src:de.mT.getProfilePictureUrl(e.id,e.last_picture_update),size:"md"}),T().createElement("div",{className:"more-modal__details"},T().createElement("div",{className:"more-modal__name"},(0,H.xK)(e),e.is_bot&&T().createElement(Ch.A,null),(0,bh.P)(e.roles)&&T().createElement(_h.A,{className:"popoverlist"}))),T().createElement("div",{className:"more-modal__actions"},T().createElement("div",{className:"more-modal__actions--round"},T().createElement("i",{className:"icon icon-plus"}))))})),Vv(this,"renderValue",(e=>{var t;return(null===(t=e.data)||void 0===t?void 0:t.username)||""})),Vv(this,"renderAriaLabel",(e=>(null==e?void 0:e.username)||"")),Vv(this,"handleAdd",(e=>{const t=[...this.state.values];t.includes(e)||t.push(e),this.setState({values:t})})),Vv(this,"handleDelete",(e=>{this.setState({values:e})})),Vv(this,"handlePageChange",((e,t)=>{if(e>t){const t=this.props.users.length/50<=e+1;this.setUsersLoadingState(t),this.props.actions.getProfilesNotInTeam(this.props.team.id,!1,e,100).then((()=>this.setUsersLoadingState(!1)))}})),Vv(this,"handleSubmit",(()=>{this.props.onAddCallback(this.state.values),this.handleHide()})),Vv(this,"render",(()=>{const e=T().createElement("div",{id:"numPeopleRemaining"},T().createElement(N.FormattedMessage,{id:"multiselect.numPeopleRemaining",defaultMessage:"Use ↑↓ to browse, ↵ to select. You can add {num, number} more {num, plural, one {person} other {people}}. ",values:{num:20-this.state.values.length}})),t=(0,N.defineMessage)({id:"multiselect.add",defaultMessage:"Add"}),s=(0,N.defineMessage)({id:"multiselect.adding",defaultMessage:"Adding..."});let a=null;this.state.addError&&(a=T().createElement("div",{className:"has-error col-sm-12"},T().createElement("label",{className:"control-label font-weight--normal"},this.state.addError)));let n=[];if(n=this.state.search?this.state.searchResults:this.props.users,this.props.excludeUsers){const e=e=>!this.props.excludeUsers[e.id];n=n.filter(e)}if(this.props.includeUsers){const e=Object.values(this.props.includeUsers);n=[...n,...e]}const i=n.map((e=>Wv({label:e.username,value:e.id},e)));return T().createElement(ta.Modal,{id:"addUsersToTeamModal",dialogClassName:"a11y__modal more-modal more-direct-channels",show:this.state.show,onHide:this.handleHide,onExited:this.handleExit},T().createElement(ta.Modal.Header,{closeButton:!0},T().createElement(ta.Modal.Title,{componentClass:"h1"},T().createElement(N.FormattedMessage,{id:"add_users_to_team.title",defaultMessage:"Add New Members to {teamName} Team",values:{teamName:T().createElement("strong",null,this.props.team.name)}}))),T().createElement(ta.Modal.Body,null,a,T().createElement(ir.A,{key:"addUsersToTeamKey",options:i,optionRenderer:this.renderOption,intl:this.props.intl,selectedItemRef:this.selectedItemRef,ariaLabelRenderer:this.renderAriaLabel,values:this.state.values,valueRenderer:this.renderValue,perPage:50,handlePageChange:this.handlePageChange,handleInput:this.search,handleDelete:this.handleDelete,handleAdd:this.handleAdd,handleSubmit:this.handleSubmit,maxValues:20,numRemainingText:e,buttonSubmitText:t,buttonSubmitLoadingText:s,saving:this.state.saving,loading:this.state.loading,placeholderText:(0,N.defineMessage)({id:"multiselect.placeholder",defaultMessage:"Search and add members"})})))}));let t={};e.filterExcludeGuests&&(t={role:"system_user"}),this.state={searchResults:[],values:[],show:!0,search:!1,saving:!1,addError:null,loading:!0,filterOptions:t},this.selectedItemRef=T().createRef()}}Vv(zv,"propTypes",{users:L().array.isRequired,filterExcludeGuests:L().bool,onAddCallback:L().func.isRequired,onExited:L().func,actions:L().shape({getProfilesNotInTeam:L().func.isRequired,searchProfiles:L().func.isRequired}).isRequired});const Yv=(0,N.injectIntl)(zv);function Zv(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function Jv(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const Qv=(0,a.connect)((function(e,t){const{id:s}=t.team;let a={active:!0};return t.filterExcludeGuests&&(a=function(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?Zv(Object(s),!0).forEach((function(t){Jv(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):Zv(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}({role:"system_user"},a)),{users:(0,g.mY)(e,s,a)}}),(function(e){return{actions:(0,n.bindActionCreators)({getProfilesNotInTeam:ds.mY,searchProfiles:ds.U},e)}}))(Yv);function Kv(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function Xv(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?Kv(Object(s),!0).forEach((function(t){$v(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):Kv(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function $v(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class eM extends T().PureComponent{constructor(e){super(e),$v(this,"setStateLoading",(e=>{this.setState({loading:e})})),$v(this,"loadPage",(async e=>{const{loadProfilesAndReloadTeamMembers:t}=this.props.actions,{teamId:s,filters:a}=this.props;await t(e+1,10,s,Xv({active:!0},a))})),$v(this,"removeUser",(e=>{this.props.onRemoveCallback(e)})),$v(this,"onAddCallback",(e=>{this.props.onAddCallback(e)})),$v(this,"onSearch",(async e=>{this.props.actions.setUserGridSearch(e)})),$v(this,"onFilter",(async e=>{const t=e.role.values,s=[],a=[];let n={};Object.keys(t).forEach((e=>{t[e].value&&(e.includes("team")?a.push(e):s.push(e))})),s.length>0||a.length>0?(s.length>0&&(n={roles:s}),a.length>0&&(n=Xv(Xv({},n),{},{team_roles:a})),[...s,...a].forEach((e=>{(0,I.sx)("admin_team_config_page","".concat(e,"_filter_applied_to_members_block"),{team_id:this.props.teamId})})),this.props.actions.setUserGridFilters(n),this.props.actions.getFilteredUsersStats(Xv({in_team:this.props.teamId,include_bots:!0},n))):this.props.actions.setUserGridFilters(n)})),$v(this,"updateMembership",(e=>{this.props.updateRole(e.user_id,e.scheme_user,e.scheme_admin)})),$v(this,"render",(()=>{const{users:e,team:t,usersToAdd:s,usersToRemove:a,teamMembers:n,totalCount:i,searchTerm:r,isDisabled:o}=this.props,l={role:{name:T().createElement(N.FormattedMessage,{id:"admin.user_grid.role",defaultMessage:"Role"}),values:{[fc.A.SYSTEM_GUEST_ROLE]:{name:T().createElement(N.FormattedMessage,{id:"admin.user_grid.guest",defaultMessage:"Guest"}),value:!1},[fc.A.TEAM_USER_ROLE]:{name:T().createElement(N.FormattedMessage,{id:"admin.user_item.member",defaultMessage:"Member"}),value:!1},[fc.A.TEAM_ADMIN_ROLE]:{name:T().createElement(N.FormattedMessage,{id:"admin.user_grid.team_admin",defaultMessage:"Team Admin"}),value:!1},[fc.A.SYSTEM_ADMIN_ROLE]:{name:T().createElement(N.FormattedMessage,{id:"admin.user_grid.system_admin",defaultMessage:"System Admin"}),value:!1}},keys:[fc.A.SYSTEM_GUEST_ROLE,fc.A.TEAM_USER_ROLE,fc.A.TEAM_ADMIN_ROLE,fc.A.SYSTEM_ADMIN_ROLE]}};this.props.enableGuestAccounts||(delete l.role.values[fc.A.SYSTEM_GUEST_ROLE],l.role.keys=[fc.A.TEAM_USER_ROLE,fc.A.TEAM_ADMIN_ROLE,fc.A.SYSTEM_ADMIN_ROLE]);const d={options:l,keys:["role"],onFilter:this.onFilter};return T().createElement(ko,{id:"teamMembers",title:(0,N.defineMessage)({id:"admin.team_settings.team_detail.membersTitle",defaultMessage:"Members"}),subtitle:(0,N.defineMessage)({id:"admin.team_settings.team_detail.membersDescription",defaultMessage:"A list of users who are currently in the team right now"}),button:T().createElement(Ah.A,{id:"addTeamMembers",className:"btn btn-primary",modalId:x.IQ.ADD_USER_TO_TEAM,dialogType:Qv,disabled:o,dialogProps:{team:t,onAddCallback:this.onAddCallback,skipCommit:!0,excludeUsers:s,includeUsers:a,filterExcludeGuests:!0}},T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_details.add_members",defaultMessage:"Add Members"}))},T().createElement(xb,{loading:this.state.loading||Boolean(this.props.loading),users:e,loadPage:this.loadPage,removeUser:this.removeUser,totalCount:i,memberships:n,updateMembership:this.updateMembership,onSearch:this.onSearch,term:r,includeUsers:s,excludeUsers:a,scope:"team",readOnly:o,filterProps:d}))})),this.searchTimeoutId=0,this.state={loading:!0}}componentDidMount(){const{teamId:e}=this.props,{loadProfilesAndReloadTeamMembers:t,getTeamStats:s,setUserGridSearch:a,setUserGridFilters:n}=this.props.actions;Promise.all([a(""),n({}),s(e),t(0,20,e,{active:!0})]).then((()=>this.setStateLoading(!1)))}async componentDidUpdate(e){const t=JSON.stringify(e.filters)!==JSON.stringify(this.props.filters),s=e.searchTerm!==this.props.searchTerm;if(t||s){this.setStateLoading(!0),clearTimeout(this.searchTimeoutId);const s=this.props.searchTerm,a=this.props.filters;if(""===s)return this.searchTimeoutId=0,t&&await e.actions.loadProfilesAndReloadTeamMembers(0,20,e.teamId,Xv({active:!0},a)),void this.setStateLoading(!1);const n=window.setTimeout((async()=>{await e.actions.searchProfilesAndTeamMembers(s,Xv(Xv({},a),{},{team_id:this.props.teamId,allow_inactive:!1})),n===this.searchTimeoutId&&this.setStateLoading(!1)}),x.Ay.SEARCH_TIMEOUT_MILLISECONDS);this.searchTimeoutId=n}}}function tM(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function sM(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?tM(Object(s),!0).forEach((function(t){aM(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):tM(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function aM(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}$v(eM,"propTypes",{teamId:L().string.isRequired,users:L().array.isRequired,totalCount:L().number.isRequired,searchTerm:L().string.isRequired,loading:L().bool,isDisabled:L().bool,enableGuestAccounts:L().bool.isRequired,onAddCallback:L().func.isRequired,onRemoveCallback:L().func.isRequired,updateRole:L().func.isRequired,actions:L().shape({getTeamStats:L().func.isRequired,loadProfilesAndReloadTeamMembers:L().func.isRequired,searchProfilesAndTeamMembers:L().func.isRequired,getFilteredUsersStats:L().func.isRequired,setUserGridSearch:L().func.isRequired,setUserGridFilters:L().func.isRequired}).isRequired});const nM=(0,a.connect)((function(e,t){var s,a;const{teamId:n,usersToRemove:i}=t;let{usersToAdd:r}=t;const o=(0,p.RM)(e)[n]||{},l=(0,p.Uo)(e,n),d=(0,c.zj)(e),m=(null===(s=e.views.search.userGridSearch)||void 0===s?void 0:s.term)||"",u=(null===(a=e.views.search.userGridSearch)||void 0===a?void 0:a.filters)||{};let h;var f;h=0===Object.keys(u).length?((0,p.ls)(e)[n]||{active_member_count:0}).active_member_count:null!==(f=((0,g.$c)(e)||{total_users_count:0}).total_users_count)&&void 0!==f?f:0;let E=[];return m?(E=(0,g.rB)(e,n,m,!1,sM({active:!0},u)),r=function(e,t){const s=(0,bh.V3)(Object.keys(e).map((t=>e[t])),t);return(0,g.f9)((0,bh.vC)(s),{})}(r,m)):E=(0,g.xJ)(e,n,sM({active:!0},u)),{filters:u,teamId:n,team:l,users:E,teamMembers:o,usersToAdd:r,usersToRemove:i,totalCount:h,searchTerm:m,enableGuestAccounts:"true"===d.EnableGuestAccounts}}),(function(e){return{actions:(0,n.bindActionCreators)({getTeamStats:o.ls,loadProfilesAndReloadTeamMembers:Ve.RL,searchProfilesAndTeamMembers:Ve.oh,getFilteredUsersStats:ds.$c,setUserGridSearch:Ni.u,setUserGridFilters:Ni.dj},e)}}))(eM),iM=e=>{let{syncChecked:t,allAllowedChecked:s,allowedDomainsChecked:a,allowedDomains:n,onToggle:i,isDisabled:r}=e;return T().createElement(Oo,{id:"syncGroupSwitch",disabled:r,toggled:t,last:t,onToggle:()=>i(!t,s,a,n),title:T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_details.syncGroupMembers",defaultMessage:"Sync Group Members"}),subTitle:T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_details.syncGroupMembersDescr",defaultMessage:"When enabled, adding and removing users from groups will add or remove them from this team. The only way of inviting members to this team is by adding the groups they belong to. <link>Learn More</link>",values:{link:e=>T().createElement(ce.A,{href:"https://www.mattermost.com/pl/default-ldap-group-constrained-team-channel.html",location:"team_modes"},e)}})})};iM.propTypes={syncChecked:L().bool.isRequired,allAllowedChecked:L().bool.isRequired,allowedDomainsChecked:L().bool.isRequired,allowedDomains:L().string.isRequired,onToggle:L().func.isRequired,isDisabled:L().bool};const rM=e=>{let{syncChecked:t,allAllowedChecked:s,allowedDomainsChecked:a,allowedDomains:n,onToggle:i,isDisabled:r}=e;return t?null:T().createElement(Oo,{id:"allowAllToggleSwitch",disabled:r,toggled:s,singleLine:!0,onToggle:()=>i(t,!s,a,n),title:T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_details.anyoneCanJoin",defaultMessage:"Anyone can join this team"}),subTitle:T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_details.anyoneCanJoinDescr",defaultMessage:"This team can be discovered allowing anyone with an account to join this team."})})};rM.propTypes={syncChecked:L().bool.isRequired,allAllowedChecked:L().bool.isRequired,allowedDomainsChecked:L().bool.isRequired,allowedDomains:L().string.isRequired,onToggle:L().func.isRequired,isDisabled:L().bool};const oM=e=>{let{syncChecked:t,allAllowedChecked:s,allowedDomainsChecked:a,allowedDomains:n,onToggle:i,isDisabled:r}=e;return t?null:T().createElement(Oo,{id:"allowedDomainsToggleSwitch",disabled:r,toggled:a,last:!0,onToggle:()=>i(t,s,!a,n),singleLine:!0,title:T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_details.specificDomains",defaultMessage:"Only specific email domains can join this team"}),subTitle:T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_details.specificDomainsDescr",defaultMessage:"Users can only join the team if their email matches one of the specified domains"})},T().createElement(T().Fragment,null,T().createElement("div",{className:"help-text csvDomains"},T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_details.csvDomains",defaultMessage:"Comma Separated Email Domain List"})),T().createElement("input",{type:"text",value:n,placeholder:"mattermost.com",className:"form-control",onChange:e=>i(t,s,a,e.currentTarget.value),disabled:r})))};oM.propTypes={syncChecked:L().bool.isRequired,allAllowedChecked:L().bool.isRequired,allowedDomainsChecked:L().bool.isRequired,allowedDomains:L().string.isRequired,onToggle:L().func.isRequired,isDisabled:L().bool};const lM=e=>{let{allAllowedChecked:t,syncChecked:s,allowedDomains:a,allowedDomainsChecked:n,onToggle:i,isDisabled:r,isLicensedForLDAPGroups:o}=e;return T().createElement(ko,{id:"team_manage",title:(0,N.defineMessage)({id:"admin.team_settings.team_detail.manageTitle",defaultMessage:"Team Management"}),subtitle:(0,N.defineMessage)({id:"admin.team_settings.team_detail.manageDescription",defaultMessage:"Choose between inviting members manually or syncing members automatically from groups."})},T().createElement("div",{className:"group-teams-and-channels"},T().createElement("div",{className:"group-teams-and-channels--body"},o&&T().createElement(iM,{allAllowedChecked:t,allowedDomainsChecked:n,allowedDomains:a,syncChecked:s,onToggle:i,isDisabled:r}),T().createElement(rM,{allAllowedChecked:t,allowedDomainsChecked:n,allowedDomains:a,syncChecked:s,onToggle:i,isDisabled:r}),T().createElement(oM,{allAllowedChecked:t,allowedDomainsChecked:n,allowedDomains:a,syncChecked:s,onToggle:i,isDisabled:r}))))};lM.propTypes={syncChecked:L().bool.isRequired,allAllowedChecked:L().bool.isRequired,allowedDomainsChecked:L().bool.isRequired,allowedDomains:L().string.isRequired,onToggle:L().func.isRequired,isDisabled:L().bool,isLicensedForLDAPGroups:L().bool};var dM=s(75114),cM=s.n(dM),mM=s(35412),uM=s(30135),pM=s(63799);function gM(e){let{team:t,isArchived:s,onToggleArchive:n,isDisabled:i,saveNeeded:r}=e;const o=(0,H.lt)(t),l=(0,uM.A)(),d=(0,a.useDispatch)(),m=(0,mM.A)(),u=(0,a.useSelector)(c.Ay),p=(0,N.useIntl)(),[g,h]=(0,_.useState)(!1),[f,E]=(0,_.useState)(l.teams.teamsLoaded&&l.teams.active>=0&&s);if((0,_.useEffect)((()=>{E("true"===u.Cloud&&l.teams.teamsLoaded&&l.teams.active>=0&&s&&!g&&!r)}),[l,s,g,r,u]),"true"===u.Cloud&&!m.teams.teamsLoaded)return null;const b=s?(0,N.defineMessage)({id:"admin.team_settings.team_details.unarchiveTeam",defaultMessage:"Unarchive Team"}):(0,N.defineMessage)({id:"admin.team_settings.team_details.archiveTeam",defaultMessage:"Archive Team"});return T().createElement(ko,{id:"team_profile",title:(0,N.defineMessage)({id:"admin.team_settings.team_detail.profileTitle",defaultMessage:"Team Profile"}),subtitle:(0,N.defineMessage)({id:"admin.team_settings.team_detail.profileDescription",defaultMessage:"Summary of the team, including team name and description."})},T().createElement("div",{className:"group-teams-and-channels"},T().createElement("div",{className:"group-teams-and-channels--body"},T().createElement("div",{className:"d-flex"},T().createElement("div",{className:"large-team-image-col"},T().createElement($i.A,{content:t.display_name,size:"lg",url:o})),T().createElement("div",{className:"team-desc-col"},T().createElement("div",{className:"row row-bottom-padding"},T().createElement(N.FormattedMessage,{id:"admin.teamSettings.teamDetail.teamName",defaultMessage:"<b>Team Name</b>:",values:{b:e=>T().createElement("b",null,e)}}),T().createElement("br",null),t.display_name),T().createElement("div",{className:"row"},T().createElement(N.FormattedMessage,{id:"admin.teamSettings.teamDetail.teamDescription",defaultMessage:"<b>Team Description</b>:",values:{b:e=>T().createElement("b",null,e)}}),T().createElement("br",null),t.description||T().createElement("span",{className:"greyed-out"},p.formatMessage({id:"admin.team_settings.team_detail.profileNoDescription",defaultMessage:"No team description added."}))))),T().createElement("div",{className:"AdminChannelDetails_archiveContainer"},f?T().createElement(tt.A,{title:p.formatMessage({id:"workspace_limits.teams_limit_reached.upgrade_to_unarchive",defaultMessage:"Upgrade to Unarchive"}),hint:p.formatMessage({id:"workspace_limits.teams_limit_reached.tool_tip",defaultMessage:"You've reached the team limit for your current plan. Consider upgrading to unarchive this team or archive your other teams"})},T().createElement("div",{className:"disabled-overlay-wrapper"},T().createElement("button",{type:"button",disabled:f,style:{pointerEvents:"none"},className:re()("btn","btn-danger","ArchiveButton",{ArchiveButton___archived:s},{ArchiveButton___unarchived:!s},{disabled:i},"cloud-limits-disabled"),onClick:cM()},s?T().createElement("i",{className:"icon icon-archive-arrow-up-outline"}):T().createElement("i",{className:"icon icon-archive-outline"}),T().createElement(N.FormattedMessage,b)))):T().createElement("button",{type:"button",disabled:f,className:re()("btn","ArchiveButton",{ArchiveButton___archived:s},{ArchiveButton___unarchived:!s},{disabled:i},"cloud-limits-disabled"),onClick:()=>{h(!0),n()}},s?T().createElement("i",{className:"icon icon-archive-arrow-up-outline"}):T().createElement("i",{className:"icon icon-archive-outline"}),T().createElement(N.FormattedMessage,b)),f&&T().createElement("button",{onClick:()=>{d((0,ea.q)({modalId:x.IQ.PRICING_MODAL,dialogType:pM.A}))},type:"button",className:re()("btn","btn-secondary","upgrade-options-button")},T().createElement(N.FormattedMessage,{id:"workspace_limits.teams_limit_reached.view_upgrade_options",defaultMessage:"View upgrade options"}))))))}function hM(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function fM(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?hM(Object(s),!0).forEach((function(t){EM(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):hM(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function EM(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}gM.propTypes={isArchived:L().bool.isRequired,onToggleArchive:L().func.isRequired,isDisabled:L().bool,saveNeeded:L().bool};class bM extends T().PureComponent{constructor(e){super(e),EM(this,"setNewGroupRole",(e=>{const t=v()(this.state.groups).map((t=>(t.id===e&&(t.scheme_admin=!t.scheme_admin),t)));this.processGroupsChange(t)})),EM(this,"handleSubmit",(async()=>{const{team:e,groups:t,teamID:s,actions:a}=this.props;if(!e)return;this.setState({showRemoveConfirmation:!1,saving:!0});const{groups:n,allAllowedChecked:i,allowedDomainsChecked:r,allowedDomains:o,syncChecked:l,usersToAdd:d,usersToRemove:c,rolesToUpdate:m}=this.state;let u;if(this.teamToBeArchived()){let t=!1;const s=await a.deleteTeam(e.id);return"error"in s&&(u=T().createElement(ye.A,{error:s.error.message}),t=!0),this.setState({serverError:u,saving:!1,saveNeeded:t,usersToRemoveCount:0,rolesToUpdate:{},usersToAdd:{},usersToRemove:{}}),a.setNavigationBlocked(t),void(t||(0,fi.J)().push("/admin_console/user_management/teams"))}if(this.teamToBeRestored()&&!this.state.serverError){const t=await a.unarchiveTeam(e.id);"error"in t&&(u=T().createElement(ye.A,{error:t.error.message})),this.setState({serverError:u,previousServerError:void 0})}let p=!1;if(r&&0===o.trim().length)p=!0,u=T().createElement(_v,null);else if(0===this.state.groups.length&&l)u=T().createElement(Cv,null),p=!0;else{const d=a.patchTeam(fM(fM({},e),{},{group_constrained:l,allowed_domains:r?o:"",allow_open_invite:i})),c=n.filter((e=>t.some((t=>t.id===e.id&&t.scheme_admin!==e.scheme_admin)))).map((e=>a.patchGroupSyncable(e.id,s,_o.CL.Team,{scheme_admin:e.scheme_admin}))),m=t.filter((e=>!n.some((t=>t.id===e.id)))).map((e=>a.unlinkGroupSyncable(e.id,s,_o.CL.Team))),p=n.filter((e=>!t.some((t=>t.id===e.id)))).map((e=>a.linkGroupSyncable(e.id,s,_o.CL.Team,{auto_add:!0,scheme_admin:e.scheme_admin}))),h=(await Promise.all([d,...c,...m,...p])).find((e=>e.error));var g;h?u=T().createElement(ye.A,{error:null===(g=h.error)||void 0===g?void 0:g.message}):(m.length>0&&(0,I.sx)("admin_team_config_page","groups_removed_from_team",{count:m.length,team_id:s}),p.length>0&&(0,I.sx)("admin_team_config_page","groups_added_to_team",{count:p.length,team_id:s}),await a.getGroups(s))}const h=Object.values(d),f=Object.values(c),E=Object.keys(m);if((h.length>0||f.length>0||E.length>0)&&!l){const e=[],t=[],{addUserToTeam:a,removeUserFromTeam:n,updateTeamMemberSchemeRoles:i}=this.props.actions;if(h.forEach((t=>{e.push(a(s,t.id))})),f.forEach((e=>{t.push(n(s,e.id))})),e.length>0){const t=await Promise.all(e),a=t.find((e=>e.error)),n=t.filter((e=>e.data)).length;var b;a&&(u=T().createElement(ye.A,{error:null===(b=a.error)||void 0===b?void 0:b.message})),n>0&&(0,I.sx)("admin_team_config_page","members_added_to_team",{count:n,team_id:s})}if(t.length>0){const e=await Promise.all(t),a=e.find((e=>e.error)),n=e.filter((e=>e.data)).length;var v;a&&(u=T().createElement(ye.A,{error:null===(v=a.error)||void 0===v?void 0:v.message})),n>0&&(0,I.sx)("admin_team_config_page","members_removed_from_team",{count:n,team_id:s})}const r=[],o=[];if(E.forEach((e=>{const{schemeUser:t,schemeAdmin:a}=m[e];a?r.push(i(s,e,t,a)):o.push(i(s,e,t,a))})),r.length>0){const e=await Promise.all(r),t=e.find((e=>e.error)),a=e.filter((e=>e.data)).length;var M;t&&(u=T().createElement(ye.A,{error:null===(M=t.error)||void 0===M?void 0:M.message})),a>0&&(0,I.sx)("admin_team_config_page","members_elevated_to_team_admin",{count:a,team_id:s})}if(o.length>0){const e=await Promise.all(o),t=e.find((e=>e.error)),a=e.filter((e=>e.data)).length;var y;t&&(u=T().createElement(ye.A,{error:null===(y=t.error)||void 0===y?void 0:y.message})),a>0&&(0,I.sx)("admin_team_config_page","admins_demoted_to_team_member",{count:a,team_id:s})}}this.setState({usersToRemoveCount:0,rolesToUpdate:{},usersToAdd:{},usersToRemove:{},serverError:u,saving:!1,saveNeeded:p},(()=>{a.setNavigationBlocked(p),p||u||(0,fi.J)().push("/admin_console/user_management/teams")}))})),EM(this,"setToggles",((e,t,s,a)=>{this.setState({saveNeeded:!0,syncChecked:e,allAllowedChecked:!e&&t,allowedDomainsChecked:!e&&s,allowedDomains:a},(()=>this.processGroupsChange(this.state.groups))),this.props.actions.setNavigationBlocked(!0)})),EM(this,"addUsersToAdd",(e=>{let{usersToRemoveCount:t}=this.state;const{usersToAdd:s,usersToRemove:a}=this.state,n=v()(s);e.forEach((e=>{var s;(null===(s=a[e.id])||void 0===s?void 0:s.id)===e.id?(delete a[e.id],t-=1):n[e.id]=e})),this.setState({usersToAdd:fM({},n),usersToRemove:fM({},a),usersToRemoveCount:t,saveNeeded:!0}),this.props.actions.setNavigationBlocked(!0)})),EM(this,"addUserToRemove",(e=>{var t,s;let{usersToRemoveCount:a}=this.state;const{usersToAdd:n,usersToRemove:i,rolesToUpdate:r}=this.state;(null===(t=n[e.id])||void 0===t?void 0:t.id)===e.id?delete n[e.id]:(null===(s=i[e.id])||void 0===s?void 0:s.id)!==e.id&&(a+=1,i[e.id]=e),delete r[e.id],this.setState({usersToRemove:fM({},i),usersToAdd:fM({},n),rolesToUpdate:fM({},r),usersToRemoveCount:a,saveNeeded:!0}),this.props.actions.setNavigationBlocked(!0)})),EM(this,"addRolesToUpdate",((e,t,s)=>{const{rolesToUpdate:a}=this.state;a[e]={schemeUser:t,schemeAdmin:s},this.setState({rolesToUpdate:fM({},a),saveNeeded:!0}),this.props.actions.setNavigationBlocked(!0)})),EM(this,"handleGroupRemoved",(e=>{const t=this.state.groups.filter((t=>t.id!==e));this.setState({totalGroups:this.state.totalGroups-1}),this.processGroupsChange(t)})),EM(this,"handleGroupChange",(e=>{const t=[...this.state.groups,...e.map((e=>this.props.allGroups[e]))];this.setState({totalGroups:this.state.totalGroups+e.length}),this.processGroupsChange(t)})),EM(this,"hideRemoveUsersModal",(()=>this.setState({showRemoveConfirmation:!1}))),EM(this,"hideArchiveConfirmModal",(()=>this.setState({showArchiveConfirmModal:!1}))),EM(this,"onSave",(()=>{this.teamToBeArchived()?this.setState({showArchiveConfirmModal:!0}):this.state.usersToRemoveCount>0?this.setState({showRemoveConfirmation:!0}):this.handleSubmit()})),EM(this,"teamToBeArchived",(()=>{var e;const{isLocalArchived:t}=this.state,s=0!==(null===(e=this.props.team)||void 0===e?void 0:e.delete_at);return t&&!s})),EM(this,"teamToBeRestored",(()=>{var e;const{isLocalArchived:t}=this.state,s=0!==(null===(e=this.props.team)||void 0===e?void 0:e.delete_at);return!t&&s})),EM(this,"onToggleArchive",(()=>{const{isLocalArchived:e,serverError:t,previousServerError:s}=this.state,{isDisabled:a}=this.props;if(a)return;const n={saveNeeded:!0,isLocalArchived:!e,previousServerError:void 0,serverError:void 0};n.isLocalArchived?(n.previousServerError=t,n.serverError=void 0):(n.serverError=s,n.previousServerError=void 0),this.props.actions.setNavigationBlocked(!0),this.setState(n)})),EM(this,"render",(()=>{const{team:e,isLicensedForLDAPGroups:t}=this.props;if(!e)return null;const{totalGroups:s,saving:a,saveNeeded:n,serverError:i,groups:r,allAllowedChecked:o,allowedDomainsChecked:l,allowedDomains:d,syncChecked:c,showRemoveConfirmation:m,usersToRemoveCount:u,isLocalArchived:p,showArchiveConfirmModal:g}=this.state,h=this.props.groups.filter((e=>!r.find((t=>t.id===e.id)))),f=T().createElement(T().Fragment,null,T().createElement(Rv,{amount:u,inChannel:!1,show:m,onCancel:this.hideRemoveUsersModal,onConfirm:this.handleSubmit}),T().createElement(lM,{allAllowedChecked:o,allowedDomainsChecked:l,allowedDomains:d,syncChecked:c,onToggle:this.setToggles,isDisabled:this.props.isDisabled,isLicensedForLDAPGroups:t}),t&&T().createElement(jv,{syncChecked:c,team:e,groups:r,removedGroups:h,totalGroups:s,onAddCallback:this.handleGroupChange,onGroupRemoved:this.handleGroupRemoved,setNewGroupRole:this.setNewGroupRole,isDisabled:this.props.isDisabled}),!c&&T().createElement(nM,{onRemoveCallback:this.addUserToRemove,onAddCallback:this.addUsersToAdd,usersToRemove:this.state.usersToRemove,usersToAdd:this.state.usersToAdd,updateRole:this.addRolesToUpdate,teamId:this.props.teamID,isDisabled:this.props.isDisabled}));return T().createElement("div",{className:"wrapper--fixed"},T().createElement(et,{withBackButton:!0},T().createElement("div",null,T().createElement(ka.A,{to:"/admin_console/user_management/teams",className:"fa fa-angle-left back"}),T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_detail.group_configuration",defaultMessage:"Team Configuration"}))),T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},T().createElement(gM,{team:e,onToggleArchive:this.onToggleArchive,isArchived:p,isDisabled:this.props.isDisabled,saveNeeded:this.state.saveNeeded}),T().createElement(St.A,{show:g,title:T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_detail.archive_confirm.title",defaultMessage:"Save and Archive Team"}),message:T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_detail.archive_confirm.message",defaultMessage:"Archiving will remove the team from the user interface but it's contents remain in the database and may still be accessible with the API. Are you sure you wish to save and archive this team?"}),confirmButtonText:T().createElement(N.FormattedMessage,{id:"admin.team_settings.team_detail.archive_confirm.button",defaultMessage:"Archive"}),onConfirm:this.handleSubmit,onCancel:this.hideArchiveConfirmModal}),!p&&f)),T().createElement(tl,{saving:a,cancelLink:"/admin_console/user_management/teams",saveNeeded:n,onClick:this.onSave,serverError:i,isDisabled:this.props.isDisabled}))}));const t=e.team;this.state={groups:e.groups,syncChecked:Boolean(null==t?void 0:t.group_constrained),allAllowedChecked:Boolean(null==t?void 0:t.allow_open_invite),allowedDomainsChecked:Boolean(null==t?void 0:t.allowed_domains),allowedDomains:(null==t?void 0:t.allowed_domains)||"",saving:!1,showRemoveConfirmation:!1,usersToRemoveCount:0,usersToRemove:{},usersToAdd:{},rolesToUpdate:{},totalGroups:e.totalGroups,saveNeeded:!1,serverError:void 0,previousServerError:void 0,isLocalArchived:!t||t.delete_at>0,showArchiveConfirmModal:!1}}componentDidUpdate(e){var t;const{totalGroups:s,team:a}=this.props;(null===(t=e.team)||void 0===t?void 0:t.id)===(null==a?void 0:a.id)&&s===e.totalGroups||this.setState({totalGroups:s,syncChecked:Boolean(null==a?void 0:a.group_constrained),allAllowedChecked:Boolean(null==a?void 0:a.allow_open_invite),allowedDomainsChecked:Boolean(null==a?void 0:a.allowed_domains),allowedDomains:(null==a?void 0:a.allowed_domains)||"",isLocalArchived:!a||a.delete_at>0})}componentDidMount(){const{teamID:e,actions:t}=this.props;t.getTeam(e).then((()=>t.getGroups(e))).then((()=>this.setState({groups:this.props.groups})))}async processGroupsChange(e){const{teamID:t,actions:s}=this.props;let a;s.setNavigationBlocked(!0);let n=0;if(this.state.syncChecked)try{if(0===e.length)a=T().createElement(Cv,{warning:!0});else{const i=await s.membersMinusGroupMembers(t,e.map((e=>e.id)));n=i.data?i.data.total_count:0,n>0&&(a=T().createElement(Tv,{total:n,users:i.data.users,scope:"team",scopeId:this.props.teamID}))}}catch(e){a=e}this.setState({groups:e,usersToRemoveCount:n,saveNeeded:!0,serverError:a})}}EM(bM,"propTypes",{teamID:L().string.isRequired,totalGroups:L().number.isRequired,groups:L().array.isRequired,isDisabled:L().bool,isLicensedForLDAPGroups:L().bool,actions:L().shape({setNavigationBlocked:L().func.isRequired,getTeam:L().func.isRequired,linkGroupSyncable:L().func.isRequired,unlinkGroupSyncable:L().func.isRequired,membersMinusGroupMembers:L().func.isRequired,getGroups:L().func.isRequired,patchTeam:L().func.isRequired,patchGroupSyncable:L().func.isRequired,addUserToTeam:L().func.isRequired,removeUserFromTeam:L().func.isRequired,updateTeamMemberSchemeRoles:L().func.isRequired,deleteTeam:L().func.isRequired,unarchiveTeam:L().func.isRequired}).isRequired}),EM(bM,"defaultProps",{team:{display_name:"",id:""}});const vM=(0,a.connect)((function(e,t){const s=t.match.params.team_id,a=(0,p.Uo)(e,s),n=(0,Co.Lp)(e,s),i=(0,Co.GX)(e);return{team:a,groups:n,totalGroups:n.length,allGroups:i,teamID:s,isLicensedForLDAPGroups:"true"===e.entities.general.license.LDAPGroups}}),(function(e){return{actions:(0,n.bindActionCreators)({getTeam:o.Uo,getGroups:Ao.Lp,patchTeam:o.Oy,linkGroupSyncable:Ao.PY,unlinkGroupSyncable:Ao.IC,membersMinusGroupMembers:o.qN,setNavigationBlocked:h.Jb,patchGroupSyncable:Ao.r2,removeUserFromTeam:o.fy,addUserToTeam:o.$w,updateTeamMemberSchemeRoles:o.bd,deleteTeam:o.To,unarchiveTeam:o.X3},e)}}))(bM);class MM{constructor(e,t){this.result=e,this.text=t}isValid(){return this.result}error(e){return this.result?null:"string"==typeof this.text?this.text:e.formatMessage(this.text)}}const yM=e=>{let{data:t,isExpanded:s,onButtonClick:a,onHeaderClick:n}=e;const i=(0,_.useRef)(null),r=(0,_.useRef)(null),[o,l]=(0,_.useState)(0),[d,c]=(0,_.useState)(s);(0,_.useEffect)((()=>{if(null!=i&&i.current&&0!==t.items.length){if(s){const e=i.current;l(e.scrollHeight)}else l(0);c(s)}}),[t.items.length,s]);const m=t.items.length>0;return T().createElement("li",{className:re()("accordion-card",{active:d}),ref:r},T().createElement("div",{className:"accordion-card-header",onClick:m?()=>{a&&a(),n&&n(r)}:void 0,role:m?"button":void 0},t.icon&&T().createElement("div",{className:"accordion-card-header__icon"},t.icon),T().createElement("div",{className:"accordion-card-header__body"},T().createElement("div",{className:"accordion-card-header__body__title"},t.title),t.description&&T().createElement("div",{className:"accordion-card-header__body__description"},t.description)),t.extraContent&&T().createElement("div",{className:"accordion-card-header__extraContent"},t.extraContent),m&&T().createElement("div",{className:"accordion-card-header__chevron"},T().createElement("i",{className:"icon-chevron-down"}))),m&&T().createElement("div",{className:"accordion-card-container",style:{height:o}},T().createElement("div",{ref:i,className:"accordion-card-container__content"},t.items)))},SM=e=>{let{accordionItemsData:t,expandMultiple:s,openFirstElement:a,onHeaderClick:n,onItemOpened:i,className:r}=e;const[o,l]=(0,_.useState)(a?[0]:[]);return T().createElement("ul",{className:re()("Accordion",r)},t.map(((e,t)=>T().createElement(yM,{key:t.toString(),data:e,isExpanded:Boolean(o.includes(t)),onButtonClick:()=>(e=>{if(o.includes(e)){const t=o.filter((t=>e!==t));l(t)}else i&&i(e),l(s?[...o,e]:[e])})(t),onHeaderClick:n}))))};var AM=s(82474);let CM=function(e){return e.NONE="none",e.OK="ok",e.INFO="info",e.WARNING="warning",e.ERROR="error",e}({});const _M=e=>{let{chipsData:t,hideCountZeroChips:s}=e;const a=Object.entries(t).map((e=>{let t,[a,n]=e;if(s&&0===n)return!1;switch(a){case CM.INFO:t=T().createElement(N.FormattedMessage,{id:"admin.reporting.workspace_optimization.chip_suggestions",defaultMessage:"Suggestions: {count}",values:{count:n}});break;case CM.WARNING:t=T().createElement(N.FormattedMessage,{id:"admin.reporting.workspace_optimization.chip_warnings",defaultMessage:"Warnings: {count}",values:{count:n}});break;case CM.ERROR:default:t=T().createElement(N.FormattedMessage,{id:"admin.reporting.workspace_optimization.chip_problems",defaultMessage:"Problems: {count}",values:{count:n}})}return T().createElement(AM.A,{key:a,additionalMarkup:t,className:a})}));return 0===a.length?null:T().createElement(T().Fragment,null,a)};_M.propTypes={chipsData:L().objectOf(L().number).isRequired,hideCountZeroChips:L().bool.isRequired};const TM=_M,NM=e=>{let{learnMoreLink:t,learnMoreText:s,actionLink:a,actionText:n,telemetryAction:i,actionButtonCallback:r}=e;const o=(0,R.useHistory)(),l=(e,t)=>()=>{i&&(0,I.sx)(x.xm.WORKSPACE_OPTIMIZATION_DASHBOARD,"workspace_dashboard_".concat(i,"_").concat(e)),"cta"===e&&"function"==typeof r?r():null!=t&&t.startsWith("/")?o.push(t):null!=t&&t.startsWith("http")&&window.open(t,"_blank")};return T().createElement("div",{className:"ctaButtons"},(a||r)&&n&&T().createElement("button",{className:"actionButton annnouncementBar__purchaseNow",onClick:l("cta",a)},n),t&&s&&T().createElement("button",{className:"learnMoreButton light-blue-btn",onClick:l("learn-more",t)},s))};NM.propTypes={learnMoreLink:L().string,learnMoreText:L().string,actionLink:L().string,actionText:L().node,telemetryAction:L().string,actionButtonCallback:L().func};const RM=NM,wM=[async(e,t)=>{let s=CM.OK;return await(async()=>{var t,a;null!==(t=e.ServiceSettings)&&void 0!==t&&t.SiteURL||(s=CM.ERROR),await(0,h.zg)((e=>{let{status:t}=e;"OK"===t&&(s=CM.OK)}),(()=>{s=CM.ERROR}),null===(a=e.ServiceSettings)||void 0===a?void 0:a.SiteURL)})(),{id:"site-url",title:t({id:"admin.reporting.workspace_optimization.access.site_url.title",defaultMessage:"Misconfigured web server"}),description:t({id:"admin.reporting.workspace_optimization.access.site_url.description",defaultMessage:"Your web server settings aren't passing a live URL test which means your workspace may not be accessible to users. We recommend updating your web server settings."}),configUrl:x.Uo.WEB_SERVER,configText:t({id:"admin.reporting.workspace_optimization.access.site_url.cta",defaultMessage:"Configure web server"}),infoUrl:x.Uk.SITE_URL,infoText:t({id:"admin.reporting.workspace_optimization.cta.learnMore",defaultMessage:"Learn more"}),telemetryAction:"site-url",status:s,scoreImpact:12,impactModifier:ey[s]}}],IM=async(e,t)=>await Promise.all(wM.map((s=>s(e,t)))),OM=(e,t,s)=>{const a="https:"===document.location.protocol?CM.OK:CM.ERROR;return{id:"ssl",title:t({id:"admin.reporting.workspace_optimization.configuration.ssl.title",defaultMessage:"Configure SSL to make your server more secure"}),description:t({id:"admin.reporting.workspace_optimization.configuration.ssl.description",defaultMessage:"We strongly recommend securing your Mattermost workspace by configuring SSL in production environments."}),infoUrl:x.Uk.SSL_CERTIFICATE,infoText:t({id:"admin.reporting.workspace_optimization.cta.learnMore",defaultMessage:"Learn more"}),telemetryAction:"ssl",status:a,scoreImpact:25,impactModifier:ey[a]}},PM=(e,t,s)=>{var a;const n=720===(null===(a=e.ServiceSettings)||void 0===a?void 0:a.SessionLengthMobileInHours)?CM.INFO:CM.OK;return{id:"session-length",title:t({id:"admin.reporting.workspace_optimization.configuration.session_length.title",defaultMessage:"Session lengths is set to default"}),description:t({id:"admin.reporting.workspace_optimization.configuration.session_length.description",defaultMessage:"Your session length is set to the default of 30 days. A longer session length provides convenience, and a shorter session provides tighter security. We recommend adjusting this based on your organization's security policies."}),configUrl:x.Uo.SESSION_LENGTHS,configText:t({id:"admin.reporting.workspace_optimization.configuration.session_length.cta",defaultMessage:"Configure session length"}),infoUrl:x.Uk.SESSION_LENGTHS,infoText:t({id:"admin.reporting.workspace_optimization.cta.learnMore",defaultMessage:"Learn more"}),telemetryAction:"session-length",status:n,scoreImpact:8,impactModifier:ey[n]}},kM=async(e,t,s)=>{const a=await(async()=>(await de.mT.ping(!0)).root_status?CM.WARNING:CM.OK)();return{id:"root_status,",title:t({id:"admin.reporting.workspace_optimization.configuration.root_status.title",defaultMessage:"Mattermost is running as root"}),description:t({id:"admin.reporting.workspace_optimization.configuration.root_status.description",defaultMessage:"Running Mattermost as root is not recommended. Please use a non-root user."}),telemetryAction:"root_status",status:a,scoreImpact:25,impactModifier:ey[a]}},xM=async(e,t,s)=>{const a=await(async()=>"OK"===(await de.mT.ping(!0)).filestore_status?CM.OK:CM.ERROR)();return{id:"file_storage,",title:t({id:"admin.reporting.workspace_optimization.configuration.file_storage.title",defaultMessage:"File storage access is faulty."}),description:t({id:"admin.reporting.workspace_optimization.configuration.file_storage.description",defaultMessage:"Check your file storage settings to ensure your Mattermost workspace has access to the configured file storage."}),configUrl:x.Uo.FILE_STORAGE,configText:t({id:"admin.reporting.workspace_optimization.configuration.file_storage.cta",defaultMessage:"Config file storage"}),infoUrl:x.Uk.FILE_STORAGE,infoText:t({id:"admin.reporting.workspace_optimization.cta.learnMore",defaultMessage:"Learn more"}),telemetryAction:"file_storage",status:a,scoreImpact:50,impactModifier:ey[a]}},DM=async(e,t,s)=>{const a=[OM,PM,xM,kM];return await Promise.all(a.map((a=>a(e,t,s))))};function LM(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function FM(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?LM(Object(s),!0).forEach((function(t){BM(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):LM(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function BM(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const HM=async(e,t,s)=>{const a=await(async(e,t)=>{var s,a;return t.isLicensed&&t.isEnterpriseLicense&&(null!==(s=e.DataRetentionSettings)&&void 0!==s&&s.EnableMessageDeletion||null!==(a=e.DataRetentionSettings)&&void 0!==a&&a.EnableFileDeletion||(await fetch("".concat(de.mT.getBaseRoute(),"/data_retention/policies_count")).then((e=>e.json()))).total_count>0)?CM.OK:CM.INFO})(e,s);return FM(FM({id:"data-retention",title:t({id:"admin.reporting.workspace_optimization.data_privacy.retention.title",defaultMessage:"Become more data aware"}),description:t({id:"admin.reporting.workspace_optimization.data_privacy.retention.description",defaultMessage:"Organizations in highly regulated industries require more control and insight with their data. We recommend enabling Data Retention and Compliance features."})},s.isLicensed&&s.isEnterpriseLicense?{configUrl:x.Uo.DATA_RETENTION,configText:t({id:"admin.reporting.workspace_optimization.data_privacy.retention.cta",defaultMessage:"Try data retention"})}:s.trialOrEnterpriseCtaConfig),{},{infoUrl:x.Uk.DATA_RETENTION_POLICY,infoText:t({id:"admin.reporting.workspace_optimization.cta.learnMore",defaultMessage:"Learn more"}),telemetryAction:"data-retention",status:a,scoreImpact:16,impactModifier:ey[a]})},UM=async(e,t,s)=>{const a=[HM];return await Promise.all(a.map((a=>a(e,t,s))))};function GM(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function jM(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?GM(Object(s),!0).forEach((function(t){qM(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):GM(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function qM(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const WM=async(e,t,s)=>{var a;const n=(null===(a=s.analytics)||void 0===a?void 0:a.TOTAL_USERS)>100?await(async(e,t)=>{var s;let a=CM.INFO;return t.isLicensed&&null!==(s=e.LdapSettings)&&void 0!==s&&s.Enable?(await(0,h.QD)((e=>{let{status:t}=e;"OK"===t&&(a=CM.OK)})),a):a})(e,s):CM.OK;return jM(jM({id:"ad-ldap",title:t({id:"admin.reporting.workspace_optimization.ease_of_management.ldap.title",defaultMessage:"AD/LDAP integration recommended"}),description:t({id:"admin.reporting.workspace_optimization.ease_of_management.ldap.description",defaultMessage:"You've reached over 100 users! We recommend setting up AD/LDAP user authentication for easier onboarding as well as automated deactivations and role assignments."})},s.isLicensed&&!s.isStarterLicense?{configUrl:x.Uo.AD_LDAP,configText:t({id:"admin.reporting.workspace_optimization.ease_of_management.ldap.cta",defaultMessage:"Try AD/LDAP"})}:s.trialOrEnterpriseCtaConfig),{},{infoUrl:x.Uk.SETUP_LDAP,infoText:t({id:"admin.reporting.workspace_optimization.cta.learnMore",defaultMessage:"Learn more"}),telemetryAction:"ad-ldap",status:n,scoreImpact:22,impactModifier:ey[n]})},VM=async(e,t,s)=>{const a=[WM];return await Promise.all(a.map((a=>a(e,t,s))))};function zM(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function YM(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?zM(Object(s),!0).forEach((function(t){ZM(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):zM(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function ZM(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const JM=async(e,t,s)=>{var a,n;const i=null===(a=s.analytics)||void 0===a?void 0:a.TOTAL_POSTS,r=null===(n=s.analytics)||void 0===n?void 0:n.TOTAL_USERS,o=i<2e6&&r<500?CM.OK:await(async(e,t)=>{var s,a;let n=CM.INFO;return t.isLicensed&&t.isEnterpriseLicense&&null!==(s=e.ElasticsearchSettings)&&void 0!==s&&s.EnableIndexing&&null!==(a=e.ElasticsearchSettings)&&void 0!==a&&a.EnableSearching?(await(0,h.Cg)(e,(e=>{let{status:t}=e;"OK"===t&&(n=CM.OK)})),n):n})(e,s);return YM(YM({id:"search",title:t({id:"admin.reporting.workspace_optimization.performance.search.title",defaultMessage:"Search performance"}),description:t({id:"admin.reporting.workspace_optimization.performance.search.description",defaultMessage:"Your server has reached over 500 users and 2 million posts which can result in slow search performance. We recommend enabling Elasticsearch for better performance."})},s.isLicensed&&s.isEnterpriseLicense?{configUrl:x.Uo.ELASTICSEARCH,configText:t({id:"admin.reporting.workspace_optimization.search.cta",defaultMessage:"Try Elasticsearch"})}:s.trialOrEnterpriseCtaConfig),{},{infoUrl:x.Uk.ELASTICSEARCH,infoText:t({id:"admin.reporting.workspace_optimization.cta.learnMore",defaultMessage:"Learn more"}),telemetryAction:"search-optimization",status:o,scoreImpact:20,impactModifier:ey[o]})},QM=async(e,t,s)=>{const a=[JM];return await Promise.all(a.map((a=>a(e,t,s))))},KM=async(e,t,s)=>{const a=await XM(s.installedVersion,t);return{id:"server_version",title:t({id:"admin.reporting.workspace_optimization.updates.server_version.status.title",defaultMessage:"{type} version update available."},{type:a.type}),description:a.description,configUrl:x.Lu.DOWNLOAD_UPDATE,configText:t({id:"admin.reporting.workspace_optimization.updates.server_version.cta",defaultMessage:"Download update"}),infoUrl:x.Uk.UPGRADE_SERVER,infoText:t({id:"admin.reporting.workspace_optimization.cta.learnMore",defaultMessage:"Learn more"}),telemetryAction:"server-version",status:a.status,scoreImpact:15,impactModifier:ey[a.status]}},XM=async(e,t)=>{const s=await fetch("".concat(de.mT.getBaseRoute(),"/latest_version")).then((e=>e.json()));if(s.tag_name){const a=s.tag_name.startsWith("v")?s.tag_name.slice(1):s.tag_name,n=a.split("."),i=e.split(".").slice(0,3);let r="",o=CM.OK;if(a.localeCompare(e,void 0,{numeric:!0,sensitivity:"base"})>0)switch(!0){case Number(n[0])>Number(i[0]):r=t({id:"admin.reporting.workspace_optimization.updates.server_version.update_type.major",defaultMessage:"Major"}),o=CM.ERROR;break;case Number(n[1])>Number(i[1]):r=t({id:"admin.reporting.workspace_optimization.updates.server_version.update_type.minor",defaultMessage:"Minor"}),o=CM.WARNING;break;case Number(n[2])>Number(i[2]):r=t({id:"admin.reporting.workspace_optimization.updates.server_version.update_type.patch",defaultMessage:"Patch"}),o=CM.INFO}return{type:r,description:s.body,status:o}}return{type:"",description:"",status:CM.OK}},$M=async(e,t,s)=>{const a=[KM];return await Promise.all(a.map((a=>a(e,t,s))))},ey={[CM.NONE]:1,[CM.OK]:1,[CM.INFO]:.5,[CM.WARNING]:.25,[CM.ERROR]:0},ty=async(e,t,s)=>({title:t({id:"admin.reporting.workspace_optimization.updates.title",defaultMessage:"Server updates"}),description:t({id:"admin.reporting.workspace_optimization.updates.description",defaultMessage:"An update is available."}),descriptionOk:t({id:"admin.reporting.workspace_optimization.updates.descriptionOk",defaultMessage:"Your workspace is completely up to date!"}),icon:T().createElement("div",{className:"icon"},T().createElement(w.ArrowUpBoldCircleOutlineIcon,{size:20,color:"var(--sys-center-channel-color)"})),items:await $M(e,t,s)}),sy=async(e,t,s)=>({title:t({id:"admin.reporting.workspace_optimization.configuration.title",defaultMessage:"Configuration"}),description:t({id:"admin.reporting.workspace_optimization.configuration.description",defaultMessage:"You have configuration issues to resolve"}),hide:s.isCloud,descriptionOk:t({id:"admin.reporting.workspace_optimization.configuration.descriptionOk",defaultMessage:"You've successfully configured SSL and Session Lengths!"}),icon:T().createElement("div",{className:"icon"},T().createElement(w.TuneIcon,{size:20,color:"var(--sys-center-channel-color)"})),items:await DM(e,t,s)}),ay=async(e,t,s)=>({title:t({id:"admin.reporting.workspace_optimization.access.title",defaultMessage:"Workspace access"}),description:t({id:"admin.reporting.workspace_optimization.access.description",defaultMessage:"Web server configuration may be affecting access to your Mattermost workspace."}),hide:s.isCloud,descriptionOk:t({id:"admin.reporting.workspace_optimization.access.descriptionOk",defaultMessage:"Your web server configuration is passing a live URL test!"}),icon:T().createElement("div",{className:"icon"},T().createElement(w.ServerVariantIcon,{size:20,color:"var(--sys-center-channel-color)"})),items:await IM(e,t)}),ny=async(e,t,s)=>({title:t({id:"admin.reporting.workspace_optimization.performance.title",defaultMessage:"Performance"}),description:t({id:"admin.reporting.workspace_optimization.performance.description",defaultMessage:"Your server would benefit from some performance tweaks."}),hide:s.isCloud,descriptionOk:t({id:"admin.reporting.workspace_optimization.performance.descriptionOk",defaultMessage:"Your search performance suits your workspace usage!"}),icon:T().createElement("div",{className:"icon"},T().createElement(w.ChartLineIcon,{size:20,color:"var(--sys-center-channel-color)"})),items:await QM(e,t,s)}),iy=async(e,t,s)=>({title:t({id:"admin.reporting.workspace_optimization.data_privacy.title",defaultMessage:"Data privacy"}),description:t({id:"admin.reporting.workspace_optimization.data_privacy.description",defaultMessage:"Get better insight and control over your data."}),descriptionOk:t({id:"admin.reporting.workspace_optimization.data_privacy.descriptionOk",defaultMessage:"You've enabled data retention and compliance features!"}),icon:T().createElement("div",{className:"icon"},T().createElement(w.LockOutlineIcon,{size:20,color:"var(--sys-center-channel-color)"})),items:await UM(e,t,s)}),ry=async(e,t,s)=>({title:t({id:"admin.reporting.workspace_optimization.ease_of_management.title",defaultMessage:"Ease of management"}),description:t({id:"admin.reporting.workspace_optimization.ease_of_management.description",defaultMessage:"Make it easier to manage your Mattermost workspace."}),descriptionOk:t({id:"admin.reporting.workspace_optimization.ease_of_management.descriptionOk",defaultMessage:"Your user authentication setup is appropriate based on your current usage!"}),icon:T().createElement("div",{className:"icon"},T().createElement(w.AccountMultipleOutlineIcon,{size:20,color:"var(--sys-center-channel-color)"})),items:await VM(e,t,s)}),oy=e=>{let{value:t,isPercentage:s,width:a,height:n,type:i}=e;return T().createElement("div",{className:"CircularChart"},T().createElement("svg",{viewBox:"0 0 36 36",className:"circular-chart ".concat(i),width:a>=0?a.toString():"36",height:n>=0?n.toString():"36"},T().createElement("path",{className:"circle-bg",d:"M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831"}),T().createElement("path",{className:"circle",strokeDasharray:"".concat(t,", 100"),d:"M18 2.0845 a 15.9155 15.9155 0 0 1 0 31.831 a 15.9155 15.9155 0 0 1 0 -31.831"}),T().createElement("text",{x:"18",y:"20.70",className:"percentageOrNumber"},"".concat(t).concat(s?" %":""))))};oy.propTypes={value:L().number.isRequired,isPercentage:L().bool.isRequired,width:L().number.isRequired,height:L().number.isRequired,type:L().oneOf(["info","warning","error","success"]).isRequired};const ly=oy,dy=e=>{let{chips:t,title:s,description:a,chartValue:n}=e;const i=s||T().createElement(N.FormattedMessage,{id:"admin.reporting.workspace_optimization.overall_workspace_score",defaultMessage:"Overall Score"}),r=a||T().createElement(N.FormattedMessage,{id:"admin.reporting.workspace_optimization.overall_workspace_score_description",defaultMessage:"Stay on top of optimizing your Mattermost workspace by reviewing your overall score below based on our recommended indicators of health and growth. Ensure your workspace is running smoothly so your users can get the most out of Mattermost."});let o;switch(n){case 0:o=T().createElement("div",{className:"alertImageScore"},T().createElement(w.ExclamationThickIcon,{size:48,color:"var(--sys-dnd-indicator)"}));break;case 100:o=T().createElement("div",{className:"successImageScore"},T().createElement(w.CheckIcon,{size:48,color:"var(--sys-online-indicator)"}));break;default:o=T().createElement(ly,{value:n,isPercentage:!1,width:140,height:140,type:"success"})}return T().createElement("div",{className:"OverallScore"},T().createElement("div",{className:"OverallScore__scoreEllipseSvg"},o),T().createElement("div",{className:"OverallScore__content"},T().createElement("div",{className:"OverallScore__content__title"},i),T().createElement("div",{className:"OverallScore__content__description"},r),T().createElement("div",{className:"OverallScore__content__chips"},t)))};dy.propTypes={title:L().node,description:L().node,chips:L().node.isRequired,chartValue:L().number.isRequired};const cy=dy,my=B().div.withConfig({displayName:"AccordionItem"})(["padding:12px;&:last-child{border-bottom:none;}h5{display:inline-flex;align-items:center;font-weight:bold;}"]),uy=T().createElement("div",{className:"success"},T().createElement(w.CheckIcon,{size:20,color:"var(--sys-online-indicator)"}));function py(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function gy(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?py(Object(s),!0).forEach((function(t){hy(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):py(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function hy(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const fy="local",Ey="amazons3",by=Math.pow(1024,2),vy={not:e=>(t,s,a,n,i,r,o)=>"function"==typeof e?!e(t,s,a,n,i,r,o):!e,all:function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return(e,s,a,n,i,r,o)=>{for(const l of t)if("function"==typeof l?!l(e,s,a,n,i,r,o):!l)return!1;return!0}},any:function(){for(var e=arguments.length,t=new Array(e),s=0;s<e;s++)t[s]=arguments[s];return(e,s,a,n,i,r,o)=>{for(const l of t)if("function"==typeof l?l(e,s,a,n,i,r,o):l)return!0;return!1}},stateMatches:(e,t)=>(s,a)=>a[e].match(t),stateEquals:(e,t)=>(s,a)=>a[e]===t,stateIsTrue:e=>(t,s)=>Boolean(s[e]),stateIsFalse:e=>(t,s)=>!s[e],configIsTrue:(e,t)=>s=>{var a;return Boolean(null===(a=s[e])||void 0===a?void 0:a[t])},configIsFalse:(e,t)=>s=>{var a;return!(null!==(a=s[e])&&void 0!==a&&a[t])},configContains:(e,t,s)=>a=>{var n,i;return Boolean(null===(n=a[e])||void 0===n||null===(i=n[t])||void 0===i?void 0:i.includes(s))},enterpriseReady:(e,t,s,a)=>Boolean(a),licensed:(e,t,s)=>"true"===(null==s?void 0:s.IsLicensed),cloudLicensed:(e,t,s)=>Boolean((null==s?void 0:s.IsLicensed)&&(0,Cs.P3)(s)),licensedForFeature:e=>(t,s,a)=>Boolean((null==a?void 0:a.IsLicensed)&&"true"===a[e]),licensedForSku:e=>(t,s,a)=>Boolean((null==a?void 0:a.IsLicensed)&&a.SkuShortName===e),licensedForCloudStarter:(e,t,s)=>Boolean((null==s?void 0:s.IsLicensed)&&(0,Cs.P3)(s)&&s.SkuShortName===x.gS.Starter),hidePaymentInfo:(e,t,s,a,n,i)=>{var r,o;return!i||!!(null==i||null===(r=i.subscription)||void 0===r?void 0:r.product_id)&&"true"===(null==i||null===(o=i.subscription)||void 0===o?void 0:o.is_free_trial)},userHasReadPermissionOnResource:e=>(t,s,a,n,i)=>{var r;return null==i||null===(r=i.read)||void 0===r?void 0:r[e]},userHasReadPermissionOnSomeResources:e=>Object.values(e).some((e=>vy.userHasReadPermissionOnResource(e))),userHasWritePermissionOnResource:e=>(t,s,a,n,i)=>{var r;return null==i||null===(r=i.write)||void 0===r?void 0:r[e]},isSystemAdmin:(e,t,s,a,n,i,r)=>Boolean(r)},My=e=>t=>new MM(Boolean(t),e),yy=(e,t)=>s=>new MM(s>=e,t),Sy=(e,t,s,a,n,i)=>!!(e.GitLabSettings&&e.GoogleSettings&&e.Office365Settings)&&vy.any(vy.all(vy.not(vy.configContains("GitLabSettings","Scope","openid")),vy.any(vy.configIsTrue("GitLabSettings","Id"),vy.configIsTrue("GitLabSettings","Secret"))),vy.all(vy.not(vy.configContains("GoogleSettings","Scope","openid")),vy.any(vy.configIsTrue("GoogleSettings","Id"),vy.configIsTrue("GoogleSettings","Secret"))),vy.all(vy.not(vy.configContains("Office365Settings","Scope","openid")),vy.any(vy.configIsTrue("Office365Settings","Id"),vy.configIsTrue("Office365Settings","Secret"))))(e,t,s,a,n,i),Ay=function(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:x.gS.Professional;return{value:s=>{var a;return T().createElement(As.A,{useModal:!1,blocked:e||!("true"===(null==s||null===(a=s.subscription)||void 0===a?void 0:a.is_free_trial)),minimumPlanRequiredForFeature:t,tooltipMessageBlocked:(0,N.defineMessage)({id:"admin.sidebar.restricted_indicator.tooltip.message.blocked",defaultMessage:"This is {article} {minimumPlanRequiredForFeature} feature, available with an upgrade or free {trialLength}-day trial"})})},shouldDisplay:(t,s)=>e||(0,Cs.P3)(t)&&(null==s?void 0:s.sku)===x.YE.STARTER}},Cy=(0,N.defineMessages)({data_retention_title:{id:"admin.data_retention.title",defaultMessage:"Data Retention Policy"},ip_filtering_title:{id:"admin.sidebar.ip_filtering",defaultMessage:"IP Filtering"},cache_settings_title:{id:"admin.cacheSettings.title",defaultMessage:"Cache Settings"},cache_type_title:{id:"admin.cacheSettings.cacheTypeTitle",defaultMessage:"Cache Type"},cache_type_desc:{id:"admin.cacheSettings.cacheTypeDesc",defaultMessage:'The type of the cache backend. E.g.: "redis" or "lru"'},redis_address_title:{id:"admin.cacheSettings.redisAddress",defaultMessage:"Redis Address"},redis_address_desc:{id:"admin.cacheSettings.redisAddressDesc",defaultMessage:'The hostname:port of the Redis server. E.g.: "localhost:6379"'},redis_address_placeholder:{id:"admin.cacheSettings.redisAddressPlaceholder",defaultMessage:"localhost:6379"},redis_password_title:{id:"admin.cacheSettings.redisPassword",defaultMessage:"Redis Password"},redis_password_desc:{id:"admin.cacheSettings.redisPasswordDesc",defaultMessage:"The password of the Redis server."},redis_db_title:{id:"admin.cacheSettings.redisDB",defaultMessage:"Redis DB"},redis_db_desc:{id:"admin.cacheSettings.redisDBDesc",defaultMessage:'The database of the Redis server. E.g.: "0"'},redis_db_placeholder:{id:"admin.cacheSettings.redisDBPlaceholder",defaultMessage:"0"},redis_clientcache_title:{id:"admin.cacheSettings.redisClientCache",defaultMessage:"Disable Client Cache"},redis_clientcache_desc:{id:"admin.cacheSettings.redisClientCacheDesc",defaultMessage:"When true, client-side caching is disabled."}}),_y={about:{icon:T().createElement(w.InformationOutlineIcon,{size:16,color:"currentColor"}),sectionTitle:(0,N.defineMessage)({id:"admin.sidebar.about",defaultMessage:"About"}),isHidden:vy.any(vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin"),vy.not(vy.userHasReadPermissionOnSomeResources(y.ABOUT))),subsections:{license:{url:"about/license",title:(0,N.defineMessage)({id:"admin.sidebar.license",defaultMessage:"Edition and License"}),searchableStrings:Id,isHidden:vy.not(vy.userHasReadPermissionOnResource(y.ABOUT.EDITION_AND_LICENSE)),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ABOUT.EDITION_AND_LICENSE)),schema:{id:"LicenseSettings",component:Pd}}}},billing:{icon:T().createElement(w.CreditCardOutlineIcon,{size:16,color:"currentColor"}),sectionTitle:(0,N.defineMessage)({id:"admin.sidebar.billing",defaultMessage:"Billing & Account"}),isHidden:vy.not(vy.licensedForFeature("Cloud")),subsections:{subscription:{url:"billing/subscription",title:(0,N.defineMessage)({id:"admin.sidebar.subscription",defaultMessage:"Subscription"}),searchableStrings:Qa,schema:{id:"BillingSubscriptions",component:()=>{const e=(0,a.useDispatch)(),t=(0,a.useSelector)(P.dw),s=(0,a.useSelector)((e=>{const t=(0,P.Zz)(e);return Boolean(t.limits||t.subscription||t.customer||t.products)})),n=(null==t?void 0:t.trial_end_at)||0,i=(0,Ta.I)().get("action"),r=(0,a.useSelector)(P.Pd),o=(0,_a.A)();let l=!1,d=0;return"true"===(null==t?void 0:t.is_free_trial)&&(l=!0,d=Math.min((0,H.RF)(t.trial_end_at),x.RC.TRIAL_30_DAYS)),(0,_.useEffect)((()=>{e((0,Zs.dw)()),e((0,Zs.Oy)(!0)),e((0,Zs.wX)()),(0,I.Yt)("cloud_admin","pageview_billing_subscription"),"show_pricing_modal"===i&&o({trackingLocation:"billing_subscriptions_external_direct_link"})}),[]),t&&r||s?T().createElement("div",{className:"wrapper--fixed BillingSubscriptions"},T().createElement(et,null,T().createElement(N.FormattedMessage,Ja.title)),T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},s&&T().createElement(Qs,null),!s&&T().createElement(T().Fragment,null,l&&T().createElement(Ca,{trialEndDate:n}),T().createElement("div",{className:"BillingSubscriptions__topWrapper"},T().createElement(Za,{isFreeTrial:l,subscriptionPlan:null==r?void 0:r.sku}),T().createElement(Ba,{isFreeTrial:l,daysLeftOnTrial:d})),T().createElement(Pa,{isFreeTrial:l,subscriptionPlan:null==r?void 0:r.sku,onUpgradeMattermostCloud:o}))))):null}},isHidden:vy.not(vy.licensedForFeature("Cloud")),isDisabled:vy.not(vy.userHasWritePermissionOnResource("billing"))},billing_history:{url:"billing/billing_history",title:(0,N.defineMessage)({id:"admin.sidebar.billing_history",defaultMessage:"Billing History"}),searchableStrings:ca,schema:{id:"BillingHistory",component:()=>{const e=(0,a.useDispatch)(),t=(0,a.useSelector)(P.I0),s=(0,a.useSelector)(P.MP),{invoices:n}=(0,a.useSelector)(P.Zz);(0,_.useEffect)((()=>{(0,I.Yt)("cloud_admin","pageview_billing_history")}),[]),(0,_.useEffect)((()=>{e((0,Zs.NP)())}),[t]);const i=s&&T().createElement(la,{invoices:s}),r=0===Object.keys(s||{}).length;return T().createElement("div",{className:"wrapper--fixed BillingHistory"},T().createElement(et,null,T().createElement(N.FormattedMessage,da.title)),T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},n&&T().createElement(Qs,null),!n&&T().createElement("div",{className:"BillingHistory__card"},T().createElement("div",{className:"BillingHistory__cardHeader"},T().createElement("div",{className:"BillingHistory__cardHeaderText"},T().createElement("div",{className:"BillingHistory__cardHeaderText-top"},T().createElement(N.FormattedMessage,{id:"admin.billing.history.transactions",defaultMessage:"Transactions"})),T().createElement("div",{"data-testid":"no-invoices",className:"BillingHistory__cardHeaderText-bottom"},T().createElement(N.FormattedMessage,{id:"admin.billing.history.allPaymentsShowHere",defaultMessage:"All of your invoices will be shown here"})))),T().createElement("div",{className:"BillingHistory__cardBody"},null!=s&&(r?T().createElement(ma,{selfHosted:!t}):i),null==s&&T().createElement("div",{className:"BillingHistory__spinner"},T().createElement($s.A,null)))))))}},isHidden:vy.not(vy.licensedForFeature("Cloud")),isDisabled:vy.not(vy.userHasWritePermissionOnResource("billing"))},company_info:{url:"billing/company_info",title:(0,N.defineMessage)({id:"admin.sidebar.company_info",defaultMessage:"Company Information"}),searchableStrings:an,schema:{id:"CompanyInfo",component:()=>{const e=(0,a.useDispatch)(),{customer:t}=(0,a.useSelector)(P.Zz);return(0,_.useEffect)((()=>{e((0,Zs.wX)()),(0,I.Yt)("cloud_admin","pageview_billing_company_info")}),[]),T().createElement("div",{className:"wrapper--fixed CompanyInfo"},T().createElement(et,null,T().createElement(N.FormattedMessage,sn.title)),T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},t?T().createElement(Qs,null):T().createElement(tn,null))))}},isHidden:vy.not(vy.licensedForFeature("Cloud")),isDisabled:vy.not(vy.userHasWritePermissionOnResource("billing"))},company_info_edit:{url:"billing/company_info_edit",schema:{id:"CompanyInfoEdit",component:()=>{var e,t,s,n,i,r,o,l,d,c,m,u,p,g,f,E,b;const v=(0,a.useDispatch)(),M=(0,R.useHistory)(),y=(0,a.useSelector)((e=>e.entities.cloud.customer)),[S,A]=(0,_.useState)(null==y?void 0:y.name),[C,w]=(0,_.useState)((null==y?void 0:y.num_employees)||void 0),[I,O]=(0,_.useState)(null==y||null===(e=y.company_address)||void 0===e?void 0:e.line1),[P,k]=(0,_.useState)(null==y||null===(t=y.company_address)||void 0===t?void 0:t.line2),[x,D]=(0,_.useState)(null==y||null===(s=y.company_address)||void 0===s?void 0:s.city),[L,F]=(0,_.useState)(null==y||null===(n=y.company_address)||void 0===n?void 0:n.postal_code),[B,H]=(0,_.useState)((null==y||null===(i=y.company_address)||void 0===i?void 0:i.country)||(0,nn.mG)("US")),[U,G]=(0,_.useState)(null==y||null===(r=y.company_address)||void 0===r?void 0:r.state),[j,q]=(0,_.useState)(!1),[W,V]=(0,_.useState)(Boolean(!(null!=y&&null!==(o=y.company_address)&&void 0!==o&&o.line1)&&(null==y||null===(l=y.billing_address)||void 0===l?void 0:l.line1))),[z,Y]=(0,_.useState)(void 0),[Z,J]=(0,_.useState)(!1),Q=(0,_.useCallback)((()=>{Y(W?Boolean(S):Boolean(S&&I&&x&&L&&B&&U))}),[W,S,I,x,L,B,U]),K=e=>t=>{e(t.target.value),Q(),q(!0)};if((0,_.useEffect)((()=>{v((0,Zs.wX)())}),[v]),(0,_.useEffect)((()=>{Q()}),[Q]),(0,_.useEffect)((()=>{j&&v((0,h.Jb)(!0))}),[j]),!y)return null;const X=T().createElement(T().Fragment,null,T().createElement("div",{className:"CompanyInfoEdit__companyInfo-addressTitle"},T().createElement(N.FormattedMessage,{id:"admin.billing.company_info.billingAddress",defaultMessage:"Billing Address"})),T().createElement("div",{className:"CompanyInfoEdit__companyInfo-address"},T().createElement("div",null,null==y||null===(d=y.billing_address)||void 0===d?void 0:d.line1),(null==y||null===(c=y.billing_address)||void 0===c?void 0:c.line2)&&T().createElement("div",null,null==y||null===(m=y.billing_address)||void 0===m?void 0:m.line2),T().createElement("div",null,"".concat(null==y||null===(u=y.billing_address)||void 0===u?void 0:u.city,", ").concat(null==y||null===(p=y.billing_address)||void 0===p?void 0:p.state,", ").concat(null==y||null===(g=y.billing_address)||void 0===g?void 0:g.postal_code)),T().createElement("div",null,null==y||null===(f=y.billing_address)||void 0===f?void 0:f.country))),$=T().createElement(T().Fragment,null,T().createElement(rn.A,{onChange:e=>{H(e.value),q(!0)},value:B||void 0}),T().createElement("div",{className:"form-row"},T().createElement(ln.A,{name:"address",type:"text",value:I,onChange:K(O),placeholder:(0,N.defineMessage)({id:"admin.billing.company_info.address",defaultMessage:"Address"}),required:!0})),T().createElement("div",{className:"form-row"},T().createElement(ln.A,{name:"address2",type:"text",value:P,onChange:K(k),placeholder:(0,N.defineMessage)({id:"admin.billing.company_info.address_2",defaultMessage:"Address 2"})})),T().createElement("div",{className:"form-row"},T().createElement(ln.A,{name:"city",type:"text",value:x,onChange:K(D),placeholder:(0,N.defineMessage)({id:"admin.billing.company_info.city",defaultMessage:"City"}),required:!0})),T().createElement("div",{className:"form-row"},T().createElement("div",{className:"form-row-third-1 selector"},T().createElement(mn,{country:B,state:U,onChange:e=>{G(e),q(!0)}})),T().createElement("div",{className:"form-row-third-2"},T().createElement(ln.A,{name:"postalCode",type:"text",value:L,onChange:K(F),placeholder:(0,N.defineMessage)({id:"admin.billing.company_info.zipcode",defaultMessage:"Zip/Postal Code"}),required:!0}))));return T().createElement("div",{className:"wrapper--fixed CompanyInfoEdit"},T().createElement(et,{withBackButton:!0},T().createElement("div",null,T().createElement(ka.A,{to:"/admin_console/billing/company_info",className:"fa fa-angle-left back"}),T().createElement(N.FormattedMessage,{id:"admin.billing.company_info_edit.title",defaultMessage:"Edit Company Information"}))),T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-console__content"},T().createElement("div",{className:"CompanyInfoEdit__card"},T().createElement("div",{className:"CompanyInfoEdit__form"},T().createElement("div",{className:"section-title"},T().createElement(N.FormattedMessage,{id:"admin.billing.company_info_edit.companyDetails",defaultMessage:"Company Details"})),T().createElement("div",{className:"form-row"},T().createElement(ln.A,{name:"companyName",type:"text",value:S,onChange:K(A),placeholder:(0,N.defineMessage)({id:"admin.billing.company_info.companyName",defaultMessage:"Company name"}),required:!0})),T().createElement("div",{className:"form-row"},T().createElement(ln.A,{name:"numEmployees",type:"number",value:C,onChange:e=>{e.target.value?w(parseInt(e.target.value,10)):w(void 0),q(!0)},placeholder:(0,N.defineMessage)({id:"admin.billing.company_info.numEmployees",defaultMessage:"Number of employees (optional)"})})),T().createElement("div",{className:"section-title"},T().createElement(N.FormattedMessage,{id:"admin.billing.company_info_edit.company_address",defaultMessage:"Company Address"})),(null==y||null===(E=y.billing_address)||void 0===E?void 0:E.line1)&&T().createElement("div",{className:"checkbox"},T().createElement("label",null,T().createElement("input",{type:"checkbox",checked:W,onChange:e=>{V(e.target.checked),q(!0)}}),T().createElement(N.FormattedMessage,{id:"admin.billing.company_info_edit.sameAsBillingAddress",defaultMessage:"Same as Billing Address"}))),W&&null!=y&&null!==(b=y.billing_address)&&void 0!==b&&b.line1?X:$)))),T().createElement("div",{className:"admin-console-save"},T().createElement($e.A,{saving:Z,disabled:!z,onClick:async()=>{J(!0),await v((0,Zs.jF)({name:S,num_employees:C||0})),W?await v((0,Zs.Tq)({city:"",country:"",line1:"",line2:"",postal_code:"",state:""})):await v((0,Zs.Tq)({city:x||"",country:B||"",line1:I||"",line2:P||"",postal_code:L||"",state:U||""})),J(!1),M.push("/admin_console/billing/company_info")},defaultMessage:T().createElement(N.FormattedMessage,{id:"admin.billing.company_info_edit.save",defaultMessage:"Save info"})}),T().createElement(ka.A,{className:"cancel-button",to:"/admin_console/billing/company_info"},T().createElement(N.FormattedMessage,{id:"admin.billing.company_info_edit.cancel",defaultMessage:"Cancel"}))))}},isHidden:vy.not(vy.licensedForFeature("Cloud")),isDisabled:vy.not(vy.userHasWritePermissionOnResource("billing"))}}},reporting:{icon:T().createElement(w.ChartBarIcon,{size:16,color:"currentColor"}),sectionTitle:(0,N.defineMessage)({id:"admin.sidebar.reporting",defaultMessage:"Reporting"}),isHidden:vy.not(vy.userHasReadPermissionOnSomeResources(y.REPORTING)),subsections:{workspace_optimization:{url:"reporting/workspace_optimization",title:(0,N.defineMessage)({id:"admin.sidebar.workspaceOptimization",defaultMessage:"Workspace Optimization"}),schema:{id:"WorkspaceOptimizationDashboard",component:e=>{const{data:t,loading:s}=(e=>{const[t,s]=(0,_.useState)(!0),[n,i]=(0,_.useState)(void 0),{formatMessage:r}=(0,N.useIntl)(),o=(0,a.useSelector)((e=>e.entities.admin.prevTrialLicense)),l=(0,a.useSelector)(c.Ay),d=(0,a.useSelector)((e=>(0,c.Sw)(e))),m=(0,a.useSelector)((e=>e.entities.admin.analytics)),u="true"!==(null==l?void 0:l.IsLicensed)&&"true"!==(null==o?void 0:o.IsLicensed),p=(0,Cs.vj)(l)||-1,g="true"===(null==l?void 0:l.IsLicensed)&&p>=0,h="true"===(null==l?void 0:l.Cloud),f=(0,Cs.RV)(l),E=(0,Cs.P9)(l),[,b]=(0,va.A)(),v=(0,_.useMemo)((()=>({configUrl:u?x.Uo.LICENSE:b,configText:r(u?{id:"admin.reporting.workspace_optimization.cta.startTrial",defaultMessage:"Start trial"}:{id:"admin.reporting.workspace_optimization.cta.upgradeLicense",defaultMessage:"Contact sales"})})),[u,b,r]),M=(0,_.useMemo)((()=>({isLicensed:g,isEnterpriseLicense:f,trialOrEnterpriseCtaConfig:v,isStarterLicense:E,isCloud:h,analytics:m,installedVersion:d})),[g,f,v,E,h,m,d]);return(0,_.useEffect)((()=>{s(!0),(async()=>({updates:await ty(e,r,M),configuration:await sy(e,r,M),access:await ay(e,r,M),performance:await ny(e,r,M),dataPrivacy:await iy(e,r,M),easyManagement:await ry(e,r,M)}))().then((e=>{i(e),s(!1)}))}),[e,r,M]),{data:n,loading:t}})(e.config),n={[CM.INFO]:0,[CM.WARNING]:0,[CM.ERROR]:0},i={max:0,current:0},r=t&&Object.entries(t).filter((e=>{let[t,s]=e;return!s.hide})).map((e=>{let[t,s]=e;const a={[CM.INFO]:0,[CM.WARNING]:0,[CM.ERROR]:0},r=[];s.items.forEach((e=>{void 0!==e.status&&(i.max+=e.scoreImpact,i.current+=e.scoreImpact*e.impactModifier,e.status!==CM.OK&&e.status!==CM.NONE&&(r.push(T().createElement(my,{key:"".concat(t,"-item_").concat(e.id)},T().createElement("h5",null,T().createElement("i",{className:re()("icon ".concat(e.status),{"icon-alert-outline":e.status===CM.WARNING,"icon-alert-circle-outline":e.status===CM.ERROR,"icon-information-outline":e.status===CM.INFO})}),e.title),T().createElement("p",null,e.description),T().createElement(RM,{learnMoreLink:e.infoUrl,learnMoreText:e.infoText,actionLink:e.configUrl,actionText:e.configText}))),a[e.status]+=1,n[e.status]+=1))}));const{title:o,description:l,descriptionOk:d,icon:c}=s;return{title:o,description:0===r.length?d:l,icon:0===r.length?uy:c,items:r,extraContent:T().createElement(TM,{chipsData:a,hideCountZeroChips:!0})}}));return s||!r?T().createElement(At.A,null):T().createElement("div",{className:"WorkspaceOptimizationDashboard wrapper--fixed"},T().createElement(et,null,T().createElement(N.FormattedMessage,{id:"admin.reporting.workspace_optimization.title",defaultMessage:"Workspace Optimization"})),T().createElement("div",{className:"admin-console__wrapper"},T().createElement(cy,{chips:T().createElement(TM,{chipsData:n,hideCountZeroChips:!1}),chartValue:Math.floor(i.current/i.max*100)}),T().createElement(SM,{accordionItemsData:r,expandMultiple:!0})))}},isHidden:vy.not(vy.userHasReadPermissionOnResource(y.REPORTING.SITE_STATISTICS)),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.REPORTING.SITE_STATISTICS))},system_analytics:{url:"reporting/system_analytics",title:(0,N.defineMessage)({id:"admin.sidebar.siteStatistics",defaultMessage:"Site Statistics"}),searchableStrings:rs,schema:{id:"SystemAnalytics",component:ls},isHidden:vy.not(vy.userHasReadPermissionOnResource(y.REPORTING.SITE_STATISTICS)),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.REPORTING.SITE_STATISTICS))},team_statistics:{url:"reporting/team_statistics",title:(0,N.defineMessage)({id:"admin.sidebar.teamStatistics",defaultMessage:"Team Statistics"}),searchableStrings:Ms,schema:{id:"TeamAnalytics",component:Ss},isHidden:vy.not(vy.userHasReadPermissionOnResource(y.REPORTING.TEAM_STATISTICS)),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.REPORTING.TEAM_STATISTICS))},server_logs:{url:"reporting/server_logs",title:(0,N.defineMessage)({id:"admin.sidebar.logs",defaultMessage:"Server Logs"}),isHidden:vy.any(vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin"),vy.not(vy.userHasReadPermissionOnResource(y.REPORTING.SERVER_LOGS))),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.REPORTING.SERVER_LOGS)),searchableStrings:Yp,schema:{id:"ServerLogs",component:Jp}}}},user_management:{icon:T().createElement(w.AccountMultipleOutlineIcon,{size:16,color:"currentColor"}),sectionTitle:(0,N.defineMessage)({id:"admin.sidebar.userManagement",defaultMessage:"User Management"}),isHidden:vy.not(vy.userHasReadPermissionOnSomeResources(y.USER_MANAGEMENT)),subsections:{system_users:{url:"user_management/users",title:(0,N.defineMessage)({id:"admin.sidebar.users",defaultMessage:"Users"}),searchableStrings:QE,isHidden:vy.not(vy.userHasReadPermissionOnResource(y.USER_MANAGEMENT.USERS)),schema:{id:"SystemUsers",component:$E}},system_user_detail:{url:"user_management/user/:user_id(".concat(_s.Zv,")"),isHidden:vy.not(vy.userHasReadPermissionOnResource(y.USER_MANAGEMENT.USERS)),schema:{id:"SystemUserDetail",component:yf}},group_detail:{url:"user_management/groups/:group_id(".concat(_s.Zv,")"),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.USER_MANAGEMENT.GROUPS)),isHidden:vy.not(vy.userHasReadPermissionOnResource(y.USER_MANAGEMENT.GROUPS)),schema:{id:"GroupDetail",component:il}},groups:{url:"user_management/groups",title:(0,N.defineMessage)({id:"admin.sidebar.groups",defaultMessage:"Groups"}),isHidden:vy.any(vy.not(vy.licensedForFeature("LDAPGroups")),vy.not(vy.userHasReadPermissionOnResource(y.USER_MANAGEMENT.GROUPS))),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.USER_MANAGEMENT.GROUPS)),schema:{id:"Groups",component:vl},restrictedIndicator:Ay()},groups_feature_discovery:{url:"user_management/groups",isDiscovery:!0,title:(0,N.defineMessage)({id:"admin.sidebar.groups",defaultMessage:"Groups"}),isHidden:vy.any(vy.licensedForFeature("LDAPGroups"),vy.not(vy.enterpriseReady)),schema:{id:"Groups",name:(0,N.defineMessage)({id:"admin.group_settings.groupsPageTitle",defaultMessage:"Groups"}),settings:[{type:"custom",component:()=>T().createElement(co,{featureName:"groups",minimumSKURequiredForFeature:x.gS.Enterprise,title:(0,N.defineMessage)({id:"admin.groups_feature_discovery.title",defaultMessage:"Synchronize your Active Directory/LDAP groups with Mattermost Enterprise"}),copy:(0,N.defineMessage)({id:"admin.groups_feature_discovery.copy",defaultMessage:"Use AD/LDAP groups to organize and apply actions to multiple users at once. Manage team and channel memberships, permissions, and more."}),learnMoreURL:"https://docs.mattermost.com/deployment/ldap-group-sync.html",featureDiscoveryImage:T().createElement(bo,{width:276,height:170})}),key:"GroupsFeatureDiscovery",isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ABOUT.EDITION_AND_LICENSE))}]},restrictedIndicator:Ay(!0,x.gS.Enterprise)},team_detail:{url:"user_management/teams/:team_id(".concat(_s.Zv,")"),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.USER_MANAGEMENT.TEAMS)),isHidden:vy.not(vy.userHasReadPermissionOnResource(y.USER_MANAGEMENT.TEAMS)),schema:{id:"TeamDetail",component:vM}},teams:{url:"user_management/teams",title:(0,N.defineMessage)({id:"admin.sidebar.teams",defaultMessage:"Teams"}),isHidden:vy.any(vy.not(vy.userHasReadPermissionOnResource(y.USER_MANAGEMENT.TEAMS))),schema:{id:"Teams",component:Uv}},channel_detail:{url:"user_management/channels/:channel_id(".concat(_s.Zv,")"),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.USER_MANAGEMENT.CHANNELS)),isHidden:vy.not(vy.userHasReadPermissionOnResource(y.USER_MANAGEMENT.CHANNELS)),schema:{id:"ChannelDetail",component:kv}},channel:{url:"user_management/channels",title:(0,N.defineMessage)({id:"admin.sidebar.channels",defaultMessage:"Channels"}),isHidden:vy.not(vy.userHasReadPermissionOnResource(y.USER_MANAGEMENT.CHANNELS)),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.USER_MANAGEMENT.CHANNELS)),schema:{id:"Channels",component:pb}},systemScheme:{url:"user_management/permissions/system_scheme",isHidden:vy.not(vy.userHasReadPermissionOnResource(y.USER_MANAGEMENT.PERMISSIONS)),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.USER_MANAGEMENT.PERMISSIONS)),schema:{id:"PermissionSystemScheme",component:em}},teamSchemeDetail:{url:"user_management/permissions/team_override_scheme/:scheme_id(".concat(_s.Zv,")"),isHidden:vy.not(vy.userHasReadPermissionOnResource(y.USER_MANAGEMENT.PERMISSIONS)),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.USER_MANAGEMENT.PERMISSIONS)),schema:{id:"PermissionSystemScheme",component:mm}},teamScheme:{url:"user_management/permissions/team_override_scheme",isHidden:vy.not(vy.userHasReadPermissionOnResource(y.USER_MANAGEMENT.PERMISSIONS)),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.USER_MANAGEMENT.PERMISSIONS)),schema:{id:"PermissionSystemScheme",component:mm}},permissions:{url:"user_management/permissions/",title:(0,N.defineMessage)({id:"admin.sidebar.permissions",defaultMessage:"Permissions"}),searchableStrings:pc,isHidden:vy.any(vy.not(vy.userHasReadPermissionOnResource(y.USER_MANAGEMENT.PERMISSIONS))),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.USER_MANAGEMENT.PERMISSIONS)),schema:{id:"PermissionSchemes",component:hc}},system_role:{url:"user_management/system_roles/:role_id(".concat(_s.Zv,")"),isHidden:vy.any(vy.not(vy.licensedForFeature("LDAPGroups")),vy.not(vy.userHasReadPermissionOnResource(y.USER_MANAGEMENT.SYSTEM_ROLES))),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.USER_MANAGEMENT.SYSTEM_ROLES)),schema:{id:"SystemRole",component:Bh}},system_roles:{url:"user_management/system_roles",title:(0,N.defineMessage)({id:"admin.sidebar.systemRoles",defaultMessage:"Delegated Granular Administration"}),isHidden:vy.any(vy.not(vy.licensedForFeature("LDAPGroups")),vy.not(vy.userHasReadPermissionOnResource(y.USER_MANAGEMENT.SYSTEM_ROLES))),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.USER_MANAGEMENT.SYSTEM_ROLES)),schema:{id:"SystemRoles",component:Yg},restrictedIndicator:Ay()},system_roles_feature_discovery:{url:"user_management/system_roles",isDiscovery:!0,title:(0,N.defineMessage)({id:"admin.sidebar.systemRoles",defaultMessage:"Delegated Granular Administration"}),isHidden:vy.any(vy.licensedForFeature("LDAPGroups"),vy.not(vy.enterpriseReady)),schema:{id:"SystemRoles",name:(0,N.defineMessage)({id:"admin.permissions.systemRoles",defaultMessage:"Delegated Granular Administration"}),settings:[{type:"custom",component:()=>T().createElement(co,{featureName:"system_roles",minimumSKURequiredForFeature:x.gS.Enterprise,title:(0,N.defineMessage)({id:"admin.system_roles_feature_discovery.title",defaultMessage:"Provide controlled access to the System Console with Mattermost Enterprise"}),copy:(0,N.defineMessage)({id:"admin.system_roles_feature_discovery.copy",defaultMessage:"Assign customizable admin roles to give designated users read and/or write access to select sections of System Console."}),learnMoreURL:"https://docs.mattermost.com/deployment/admin-roles.html",featureDiscoveryImage:T().createElement(yo.A,{width:294,height:180})}),key:"SystemRolesFeatureDiscovery",isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ABOUT.EDITION_AND_LICENSE))}]},restrictedIndicator:Ay(!0,x.gS.Enterprise)}}},environment:{icon:T().createElement(w.ServerVariantIcon,{size:16,color:"currentColor"}),sectionTitle:(0,N.defineMessage)({id:"admin.sidebar.environment",defaultMessage:"Environment"}),isHidden:vy.not(vy.userHasReadPermissionOnSomeResources(y.ENVIRONMENT)),subsections:{web_server:{url:"environment/web_server",title:(0,N.defineMessage)({id:"admin.sidebar.webServer",defaultMessage:"Web Server"}),isHidden:vy.any(vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin"),vy.not(vy.userHasReadPermissionOnResource(y.ENVIRONMENT.WEB_SERVER))),schema:{id:"ServiceSettings",name:(0,N.defineMessage)({id:"admin.environment.webServer",defaultMessage:"Web Server"}),settings:[{type:"banner",label:(0,N.defineMessage)({id:"admin.rate.noteDescription",defaultMessage:"Changing properties in this section will require a server restart before taking effect."}),banner_type:"info"},{type:"text",key:"ServiceSettings.SiteURL",label:(0,N.defineMessage)({id:"admin.service.siteURL",defaultMessage:"Site URL:"}),help_text:(0,N.defineMessage)({id:"admin.service.siteURLDescription",defaultMessage:"The URL that users will use to access Mattermost. Standard ports, such as 80 and 443, can be omitted, but non-standard ports are required. For example: http://example.com:8065. This setting is required. Mattermost may be hosted at a subpath. For example: http://example.com:8065/company/mattermost. A restart is required before the server will work correctly."}),help_text_markdown:!0,placeholder:(0,N.defineMessage)({id:"admin.service.siteURLExample",defaultMessage:'E.g.: "http://example.com:8065"'}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.WEB_SERVER))},{type:"button",key:"TestSiteURL",action:h.zg,label:(0,N.defineMessage)({id:"admin.service.testSiteURL",defaultMessage:"Test Live URL"}),loading:(0,N.defineMessage)({id:"admin.service.testSiteURLTesting",defaultMessage:"Testing..."}),error_message:(0,N.defineMessage)({id:"admin.service.testSiteURLFail",defaultMessage:"Test unsuccessful: {error}"}),success_message:(0,N.defineMessage)({id:"admin.service.testSiteURLSuccess",defaultMessage:"Test successful. This is a valid URL."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.WEB_SERVER))},{type:"text",key:"ServiceSettings.ListenAddress",label:(0,N.defineMessage)({id:"admin.service.listenAddress",defaultMessage:"Listen Address:"}),placeholder:(0,N.defineMessage)({id:"admin.service.listenExample",defaultMessage:'E.g.: ":8065"'}),help_text:(0,N.defineMessage)({id:"admin.service.listenDescription",defaultMessage:'The address and port to which to bind and listen. Specifying ":8065" will bind to all network interfaces. Specifying "127.0.0.1:8065" will only bind to the network interface having that IP address. If you choose a port of a lower level (called "system ports" or "well-known ports", in the range of 0-1023), you must have permissions to bind to that port. On Linux you can use: "sudo setcap cap_net_bind_service=+ep ./bin/mattermost" to allow Mattermost to bind to well-known ports.'}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.WEB_SERVER))},{type:"bool",key:"ServiceSettings.Forward80To443",label:(0,N.defineMessage)({id:"admin.service.forward80To443",defaultMessage:"Forward port 80 to 443:"}),help_text:(0,N.defineMessage)({id:"admin.service.forward80To443Description",defaultMessage:"Forwards all insecure traffic from port 80 to secure port 443. Not recommended when using a proxy server."}),disabled_help_text:(0,N.defineMessage)({id:"admin.service.forward80To443Description.disabled",defaultMessage:"Forwards all insecure traffic from port 80 to secure port 443. Not recommended when using a proxy server. This setting cannot be enabled until your server is [listening](#ServiceSettings.ListenAddress) on port 443."}),disabled_help_text_markdown:!0,isDisabled:vy.any(vy.cloudLicensed,vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.WEB_SERVER)),vy.not(vy.stateMatches("ServiceSettings.ListenAddress",/:443$/)))},{type:"dropdown",key:"ServiceSettings.ConnectionSecurity",label:(0,N.defineMessage)({id:"admin.connectionSecurityTitle",defaultMessage:"Connection Security:"}),help_text:Ps,options:[{value:"",display_name:(0,N.defineMessage)({id:"admin.connectionSecurityNone",defaultMessage:"None"})},{value:"TLS",display_name:(0,N.defineMessage)({id:"admin.connectionSecurityTls",defaultMessage:"TLS (Recommended)"})}],isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.WEB_SERVER))},{type:"text",key:"ServiceSettings.TLSCertFile",label:(0,N.defineMessage)({id:"admin.service.tlsCertFile",defaultMessage:"TLS Certificate File:"}),help_text:(0,N.defineMessage)({id:"admin.service.tlsCertFileDescription",defaultMessage:"The certificate file to use."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.WEB_SERVER)),vy.stateIsTrue("ServiceSettings.UseLetsEncrypt"))},{type:"text",key:"ServiceSettings.TLSKeyFile",label:(0,N.defineMessage)({id:"admin.service.tlsKeyFile",defaultMessage:"TLS Key File:"}),help_text:(0,N.defineMessage)({id:"admin.service.tlsKeyFileDescription",defaultMessage:"The private key file to use."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.WEB_SERVER)),vy.stateIsTrue("ServiceSettings.UseLetsEncrypt"))},{type:"bool",key:"ServiceSettings.UseLetsEncrypt",label:(0,N.defineMessage)({id:"admin.service.useLetsEncrypt",defaultMessage:"Use Let's Encrypt:"}),help_text:(0,N.defineMessage)({id:"admin.service.useLetsEncryptDescription",defaultMessage:"Enable the automatic retrieval of certificates from Let's Encrypt. The certificate will be retrieved when a client attempts to connect from a new domain. This will work with multiple domains."}),disabled_help_text:(0,N.defineMessage)({id:"admin.service.useLetsEncryptDescription.disabled",defaultMessage:"Enable the automatic retrieval of certificates from Let's Encrypt. The certificate will be retrieved when a client attempts to connect from a new domain. This will work with multiple domains. This setting cannot be enabled unless the [Forward port 80 to 443](#ServiceSettings.Forward80To443) setting is set to true."}),disabled_help_text_markdown:!0,isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.WEB_SERVER)),vy.stateIsFalse("ServiceSettings.Forward80To443"))},{type:"text",key:"ServiceSettings.LetsEncryptCertificateCacheFile",label:(0,N.defineMessage)({id:"admin.service.letsEncryptCertificateCacheFile",defaultMessage:"Let's Encrypt Certificate Cache File:"}),help_text:(0,N.defineMessage)({id:"admin.service.letsEncryptCertificateCacheFileDescription",defaultMessage:"Certificates retrieved and other data about the Let's Encrypt service will be stored in this file."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.WEB_SERVER)),vy.stateIsFalse("ServiceSettings.UseLetsEncrypt"))},{type:"number",key:"ServiceSettings.ReadTimeout",label:(0,N.defineMessage)({id:"admin.service.readTimeout",defaultMessage:"Read Timeout:"}),help_text:(0,N.defineMessage)({id:"admin.service.readTimeoutDescription",defaultMessage:"Maximum time allowed from when the connection is accepted to when the request body is fully read."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.WEB_SERVER))},{type:"number",key:"ServiceSettings.WriteTimeout",label:(0,N.defineMessage)({id:"admin.service.writeTimeout",defaultMessage:"Write Timeout:"}),help_text:(0,N.defineMessage)({id:"admin.service.writeTimeoutDescription",defaultMessage:"If using HTTP (insecure), this is the maximum time allowed from the end of reading the request headers until the response is written. If using HTTPS, it is the total time from when the connection is accepted until the response is written."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.WEB_SERVER))},{type:"number",key:"ServiceSettings.MaximumPayloadSizeBytes",label:(0,N.defineMessage)({id:"admin.service.maximumPayloadSize",defaultMessage:"Maximum Payload Size (Bytes):"}),help_text:(0,N.defineMessage)({id:"admin.service.maximumPayloadSizeDescription",defaultMessage:"The maximum number of bytes allowed in the payload of incoming HTTP calls"}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.WEB_SERVER))},{type:"dropdown",key:"ServiceSettings.WebserverMode",label:(0,N.defineMessage)({id:"admin.webserverModeTitle",defaultMessage:"Webserver Mode:"}),help_text:ks,options:[{value:"gzip",display_name:(0,N.defineMessage)({id:"admin.webserverModeGzip",defaultMessage:"gzip"})},{value:"uncompressed",display_name:(0,N.defineMessage)({id:"admin.webserverModeUncompressed",defaultMessage:"Uncompressed"})},{value:"disabled",display_name:(0,N.defineMessage)({id:"admin.webserverModeDisabled",defaultMessage:"Disabled"})}],isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.WEB_SERVER))},{type:"bool",key:"ServiceSettings.EnableInsecureOutgoingConnections",label:(0,N.defineMessage)({id:"admin.service.insecureTlsTitle",defaultMessage:"Enable Insecure Outgoing Connections: "}),help_text:(0,N.defineMessage)({id:"admin.service.insecureTlsDesc",defaultMessage:"When true, any outgoing HTTPS requests will accept unverified, self-signed certificates. For example, outgoing webhooks to a server with a self-signed TLS certificate, using any domain, will be allowed. Note that this makes these connections susceptible to man-in-the-middle attacks."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.WEB_SERVER))},{type:"text",key:"ServiceSettings.ManagedResourcePaths",label:(0,N.defineMessage)({id:"admin.service.managedResourcePaths",defaultMessage:"Managed Resource Paths:"}),help_text:(0,N.defineMessage)({id:"admin.service.managedResourcePathsDescription",defaultMessage:"A comma-separated list of paths on the Mattermost server that are managed by another service. See <link>here</link> for more information."}),help_text_markdown:!1,help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.Uk.DESKTOP_MANAGED_RESOURCES},e)},isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.WEB_SERVER))},{type:"button",action:h.Wf,key:"ReloadConfigButton",label:(0,N.defineMessage)({id:"admin.reload.button",defaultMessage:"Reload Configuration From Disk"}),help_text:(0,N.defineMessage)({id:"admin.reload.reloadDescription",defaultMessage:'Deployments using multiple databases can switch from one master database to another without restarting the Mattermost server by updating "config.json" to the new desired configuration and using the {featureName} feature to load the new settings while the server is running. The administrator should then use the {recycleDatabaseConnections} feature to recycle the database connections based on the new settings.'}),help_text_values:{featureName:T().createElement("b",null,T().createElement(N.FormattedMessage,{id:"admin.reload.reloadDescription.featureName",defaultMessage:"Reload Configuration from Disk"})),recycleDatabaseConnections:T().createElement("a",{href:"../environment/database"},T().createElement("b",null,T().createElement(N.FormattedMessage,{id:"admin.reload.reloadDescription.recycleDatabaseConnections",defaultMessage:"Environment > Database > Recycle Database Connections"})))},error_message:(0,N.defineMessage)({id:"admin.reload.reloadFail",defaultMessage:"Reload unsuccessful: {error}"}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.WEB_SERVER))},{type:"button",key:"PurgeButton",action:h.Cu,label:(0,N.defineMessage)({id:"admin.purge.button",defaultMessage:"Purge All Caches"}),help_text:(0,N.defineMessage)({id:"admin.purge.purgeDescription",defaultMessage:"This will purge all the in-memory caches for things like sessions, accounts, channels, etc. Deployments using High Availability will attempt to purge all the servers in the cluster. Purging the caches may adversely impact performance."}),error_message:(0,N.defineMessage)({id:"admin.purge.purgeFail",defaultMessage:"Purging unsuccessful: {error}"}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.WEB_SERVER))}]}},database:{url:"environment/database",title:(0,N.defineMessage)({id:"admin.sidebar.database",defaultMessage:"Database"}),searchableStrings:Vr,isHidden:vy.any(vy.cloudLicensed,vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin"),vy.not(vy.userHasReadPermissionOnResource(y.ENVIRONMENT.DATABASE))),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.DATABASE)),schema:{id:"DatabaseSettings",component:class extends Nt{constructor(e){super(e),qr(this,"getConfigFromState",(e=>(e.SqlSettings.MaxIdleConns=this.parseIntNonZero(this.state.maxIdleConns),e.SqlSettings.MaxOpenConns=this.parseIntNonZero(this.state.maxOpenConns),e.SqlSettings.Trace=this.state.trace,e.SqlSettings.DisableDatabaseSearch=this.state.disableDatabaseSearch,e.SqlSettings.QueryTimeout=this.parseIntNonZero(this.state.queryTimeout),e.SqlSettings.ConnMaxLifetimeMilliseconds=this.parseIntNonNegative(this.state.connMaxLifetimeMilliseconds),e.SqlSettings.ConnMaxIdleTimeMilliseconds=this.parseIntNonNegative(this.state.connMaxIdleTimeMilliseconds),e.ServiceSettings.MinimumHashtagLength=this.parseIntNonZero(this.state.minimumHashtagLength,3,2),e))),qr(this,"renderSettings",(()=>{const e="**********"+this.state.dataSource.substring(this.state.dataSource.indexOf("@"));let t=T().createElement("div",null);return"true"===this.props.license.IsLicensed&&(t=T().createElement(ke,{requestAction:h.X0,helpText:T().createElement(N.FormattedMessage,Object.assign({},Wr.recycleDescription,{values:{featureName:T().createElement("b",null,T().createElement(N.FormattedMessage,Wr.featureName)),reloadConfiguration:T().createElement("a",{href:"../environment/web_server"},T().createElement("b",null,T().createElement(N.FormattedMessage,Wr.reloadConfiguration)))}})),buttonText:T().createElement(N.FormattedMessage,Wr.button),showSuccessMessage:!1,errorMessage:(0,N.defineMessage)({id:"admin.recycle.reloadFail",defaultMessage:"Recycling unsuccessful: {error}"}),includeDetailedError:!0,disabled:this.props.isDisabled})),T().createElement(Ue,null,T().createElement("div",{className:"banner"},T().createElement(N.FormattedMessage,Wr.noteDescription)),T().createElement("div",{className:"form-group"},T().createElement("label",{className:"control-label col-sm-4",htmlFor:"DriverName"},T().createElement(N.FormattedMessage,Wr.driverName)),T().createElement("div",{className:"col-sm-8"},T().createElement("input",{type:"text",className:"form-control",value:this.state.driverName,disabled:!0}),T().createElement("div",{className:"help-text"},T().createElement(N.FormattedMessage,Wr.driverNameDescription)))),T().createElement("div",{className:"form-group"},T().createElement("label",{className:"control-label col-sm-4",htmlFor:"DataSource"},T().createElement(N.FormattedMessage,Wr.dataSource)),T().createElement("div",{className:"col-sm-8"},T().createElement("input",{type:"text",className:"form-control",value:e,disabled:!0}),T().createElement("div",{className:"help-text"},T().createElement(N.FormattedMessage,Wr.dataSourceDescription)))),T().createElement(We,{id:"maxIdleConns",label:T().createElement(N.FormattedMessage,Wr.maxConnectionsTitle),placeholder:(0,N.defineMessage)({id:"admin.sql.maxConnectionsExample",defaultMessage:'E.g.: "10"'}),helpText:T().createElement(N.FormattedMessage,Wr.maxConnectionsDescription),value:this.state.maxIdleConns,onChange:this.handleChange,setByEnv:this.isSetByEnv("SqlSettings.MaxIdleConns"),disabled:this.props.isDisabled,type:"text"}),T().createElement(We,{id:"maxOpenConns",label:T().createElement(N.FormattedMessage,Wr.maxOpenTitle),placeholder:(0,N.defineMessage)({id:"admin.sql.maxOpenExample",defaultMessage:'E.g.: "10"'}),helpText:T().createElement(N.FormattedMessage,Wr.maxOpenDescription),value:this.state.maxOpenConns,onChange:this.handleChange,setByEnv:this.isSetByEnv("SqlSettings.MaxOpenConns"),disabled:this.props.isDisabled,type:"text"}),T().createElement(We,{id:"queryTimeout",label:T().createElement(N.FormattedMessage,Wr.queryTimeoutTitle),placeholder:(0,N.defineMessage)({id:"admin.sql.queryTimeoutExample",defaultMessage:'E.g.: "30"'}),helpText:T().createElement(N.FormattedMessage,Wr.queryTimeoutDescription),value:this.state.queryTimeout,onChange:this.handleChange,setByEnv:this.isSetByEnv("SqlSettings.QueryTimeout"),disabled:this.props.isDisabled,type:"text"}),T().createElement(We,{id:"connMaxLifetimeMilliseconds",label:T().createElement(N.FormattedMessage,Wr.connMaxLifetimeTitle),placeholder:(0,N.defineMessage)({id:"admin.sql.connMaxLifetimeExample",defaultMessage:'E.g.: "3600000"'}),helpText:T().createElement(N.FormattedMessage,Wr.connMaxLifetimeDescription),value:this.state.connMaxLifetimeMilliseconds,onChange:this.handleChange,setByEnv:this.isSetByEnv("SqlSettings.ConnMaxLifetimeMilliseconds"),disabled:this.props.isDisabled,type:"text"}),T().createElement(We,{id:"connMaxIdleTimeMilliseconds",label:T().createElement(N.FormattedMessage,Wr.connMaxIdleTimeTitle),placeholder:(0,N.defineMessage)({id:"admin.sql.connMaxIdleTimeExample",defaultMessage:'E.g.: "300000"'}),helpText:T().createElement(N.FormattedMessage,Wr.connMaxIdleTimeDescription),value:this.state.connMaxIdleTimeMilliseconds,onChange:this.handleChange,setByEnv:this.isSetByEnv("SqlSettings.ConnMaxIdleTimeMilliseconds"),disabled:this.props.isDisabled,type:"text"}),T().createElement(We,{id:"minimumHashtagLength",label:T().createElement(N.FormattedMessage,Wr.minimumHashtagLengthTitle),placeholder:(0,N.defineMessage)({id:"admin.service.minimumHashtagLengthExample",defaultMessage:'E.g.: "3"'}),helpText:T().createElement(N.FormattedMessage,Object.assign({},Wr.minimumHashtagLengthDescription,{values:{link:e=>T().createElement(ce.A,{location:"database_settings",href:"https://dev.mysql.com/doc/refman/8.0/en/fulltext-fine-tuning.html"},e)}})),value:this.state.minimumHashtagLength,onChange:this.handleChange,setByEnv:this.isSetByEnv("ServiceSettings.MinimumHashtagLength"),disabled:this.props.isDisabled,type:"text"}),T().createElement(W,{id:"trace",label:T().createElement(N.FormattedMessage,Wr.traceTitle),helpText:T().createElement(N.FormattedMessage,Wr.traceDescription),value:this.state.trace,onChange:this.handleChange,setByEnv:this.isSetByEnv("SqlSettings.Trace"),disabled:this.props.isDisabled}),t,T().createElement(W,{id:"disableDatabaseSearch",label:T().createElement(N.FormattedMessage,Wr.disableDatabaseSearchTitle),helpText:T().createElement(N.FormattedMessage,Object.assign({},Wr.disableDatabaseSearchDescription,{values:{link:e=>T().createElement(ce.A,{location:"database_settings",href:x.Uk.ELASTICSEARCH},e)}})),value:this.state.disableDatabaseSearch,onChange:this.handleChange,setByEnv:this.isSetByEnv("SqlSettings.DisableDatabaseSearch"),disabled:this.props.isDisabled}),T().createElement(G,{label:T().createElement(N.FormattedMessage,{id:"admin.database.migrations_table.title",defaultMessage:"Schema Migrations:"})},T().createElement("div",{className:"migrations-table-setting"},T().createElement(Ur,{createHelpText:T().createElement(N.FormattedMessage,{id:"admin.database.migrations_table.help_text",defaultMessage:"All applied migrations."})}))),T().createElement("div",{className:"form-group"},T().createElement("label",{className:"control-label col-sm-4",htmlFor:"activeSearchBackend"},T().createElement(N.FormattedMessage,{id:"admin.database.search_backend.title",defaultMessage:"Active Search Backend:"})),T().createElement("div",{className:"col-sm-8"},T().createElement("input",{id:"activeSearchBackend",type:"text",className:"form-control",value:this.state.searchBackend,disabled:!0}),T().createElement("div",{className:"help-text"},T().createElement(N.FormattedMessage,{id:"admin.database.search_backend.help_text",defaultMessage:"Shows the currently active backend used for search. Values can be none, database, elasticsearch, bleve etc."})))))})),this.state=jr(jr({},this.state),{},{searchBackend:""})}componentDidMount(){this.getSearchBackend().then((e=>{this.setState({searchBackend:e})}))}async getSearchBackend(){return(await(0,h.hU)()()).ActiveSearchBackend}getStateFromConfig(e){return{driverName:e.SqlSettings.DriverName,dataSource:e.SqlSettings.DataSource,maxIdleConns:e.SqlSettings.MaxIdleConns,maxOpenConns:e.SqlSettings.MaxOpenConns,trace:e.SqlSettings.Trace,disableDatabaseSearch:e.SqlSettings.DisableDatabaseSearch,queryTimeout:e.SqlSettings.QueryTimeout,connMaxLifetimeMilliseconds:e.SqlSettings.ConnMaxLifetimeMilliseconds,connMaxIdleTimeMilliseconds:e.SqlSettings.ConnMaxIdleTimeMilliseconds,minimumHashtagLength:e.ServiceSettings.MinimumHashtagLength}}renderTitle(){return T().createElement(N.FormattedMessage,Wr.title)}}}},elasticsearch:{url:"environment/elasticsearch",title:(0,N.defineMessage)({id:"admin.sidebar.elasticsearch",defaultMessage:"Elasticsearch"}),isHidden:vy.any(vy.not(vy.licensedForFeature("Elasticsearch")),vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin"),vy.not(vy.userHasReadPermissionOnResource(y.ENVIRONMENT.ELASTICSEARCH))),searchableStrings:Zr,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.ELASTICSEARCH)),schema:{id:"ElasticSearchSettings",component:class extends Nt{constructor(){super(...arguments),zr(this,"getConfigFromState",(e=>(e.ElasticsearchSettings.ConnectionURL=this.state.connectionUrl,e.ElasticsearchSettings.Backend=this.state.backend,e.ElasticsearchSettings.SkipTLSVerification=this.state.skipTLSVerification,e.ElasticsearchSettings.CA=this.state.ca,e.ElasticsearchSettings.ClientCert=this.state.clientCert,e.ElasticsearchSettings.ClientKey=this.state.clientKey,e.ElasticsearchSettings.Username=this.state.username,e.ElasticsearchSettings.Password=this.state.password,e.ElasticsearchSettings.Sniff=this.state.sniff,e.ElasticsearchSettings.EnableIndexing=this.state.enableIndexing,e.ElasticsearchSettings.EnableSearching=this.state.enableSearching,e.ElasticsearchSettings.EnableAutocomplete=this.state.enableAutocomplete,e.ElasticsearchSettings.IgnoredPurgeIndexes=this.state.ignoredPurgeIndexes,e))),zr(this,"handleSettingChanged",((e,t)=>{"enableIndexing"===e&&(!1===t?this.setState({enableSearching:!1,enableAutocomplete:!1}):this.setState({canSave:!1,configTested:!1})),"connectionUrl"!==e&&"backend"!==e&&"skipTLSVerification"!==e&&"username"!==e&&"password"!==e&&"sniff"!==e&&"ca"!==e&&"clientCert"!==e&&"clientKey"!==e||this.setState({configTested:!1,canSave:!1}),"enableSearching"!==e&&"enableAutocomplete"!==e&&this.setState({canPurgeAndIndex:!1}),this.handleChange(e,t)})),zr(this,"handleSaved",(()=>{this.setState({canPurgeAndIndex:this.state.enableIndexing})})),zr(this,"canSave",(()=>this.state.canSave)),zr(this,"doTestConfig",((e,t)=>{const s=JSON.parse(JSON.stringify(this.props.config));this.getConfigFromState(s),(0,h.Cg)(s,(()=>{this.setState({configTested:!0,canSave:!0}),e()}),(e=>{this.setState({configTested:!1,canSave:!1}),t(e)}))})),zr(this,"renderSettings",(()=>T().createElement(Ue,null,T().createElement(W,{id:"enableIndexing",label:T().createElement(N.FormattedMessage,Yr.enableIndexingTitle),helpText:T().createElement(N.FormattedMessage,Object.assign({},Yr.enableIndexingDescription,{values:{link:e=>T().createElement(ce.A,{location:"elasticsearch_settings",href:x.Uk.ELASTICSEARCH},e)}})),value:this.state.enableIndexing,onChange:this.handleSettingChanged,setByEnv:this.isSetByEnv("ElasticsearchSettings.EnableIndexing"),disabled:this.props.isDisabled}),T().createElement(We,{id:"backend",label:T().createElement(N.FormattedMessage,{id:"admin.elasticsearch.backendTitle",defaultMessage:"Backend type:"}),placeholder:(0,N.defineMessage)({id:"admin.elasticsearch.backendExample",defaultMessage:'E.g.: "elasticsearch"'}),helpText:T().createElement(N.FormattedMessage,{id:"admin.elasticsearch.backendDescription",defaultMessage:"The type of the search backend."}),value:this.state.backend,disabled:this.props.isDisabled||!this.state.enableIndexing,onChange:this.handleSettingChanged,setByEnv:this.isSetByEnv("ElasticsearchSettings.Backend")}),T().createElement(We,{id:"connectionUrl",label:T().createElement(N.FormattedMessage,Yr.connectionUrlTitle),placeholder:(0,N.defineMessage)({id:"admin.elasticsearch.connectionUrlExample",defaultMessage:'E.g.: "https://elasticsearch.example.org:9200"'}),helpText:T().createElement(N.FormattedMessage,Object.assign({},Yr.connectionUrlDescription,{values:{link:e=>T().createElement(ce.A,{location:"elasticsearch_settings",href:x.Uk.ELASTICSEARCH},e)}})),value:this.state.connectionUrl,disabled:this.props.isDisabled||!this.state.enableIndexing,onChange:this.handleSettingChanged,setByEnv:this.isSetByEnv("ElasticsearchSettings.ConnectionURL")}),T().createElement(We,{id:"ca",label:T().createElement(N.FormattedMessage,{id:"admin.elasticsearch.caTitle",defaultMessage:"CA path:"}),placeholder:(0,N.defineMessage)({id:"admin.elasticsearch.caExample",defaultMessage:'E.g.: "./elasticsearch/ca.pem"'}),helpText:T().createElement(N.FormattedMessage,{id:"admin.elasticsearch.caDescription",defaultMessage:"(Optional) Custom Certificate Authority certificates for the Elasticsearch server. Leave this empty to use the default CAs from the operating system."}),value:this.state.ca,disabled:this.props.isDisabled||!this.state.enableIndexing,onChange:this.handleSettingChanged,setByEnv:this.isSetByEnv("ElasticsearchSettings.CA")}),T().createElement(We,{id:"clientCert",label:T().createElement(N.FormattedMessage,{id:"admin.elasticsearch.clientCertTitle",defaultMessage:"Client Certificate path:"}),placeholder:(0,N.defineMessage)({id:"admin.elasticsearch.clientCertExample",defaultMessage:'E.g.: "./elasticsearch/client-cert.pem"'}),helpText:T().createElement(N.FormattedMessage,{id:"admin.elasticsearch.clientCertDescription",defaultMessage:"(Optional) The client certificate for the connection to the Elasticsearch server in the PEM format."}),value:this.state.clientCert,disabled:this.props.isDisabled||!this.state.enableIndexing,onChange:this.handleSettingChanged,setByEnv:this.isSetByEnv("ElasticsearchSettings.ClientCert")}),T().createElement(We,{id:"clientKey",label:T().createElement(N.FormattedMessage,{id:"admin.elasticsearch.clientKeyTitle",defaultMessage:"Client Certificate Key path:"}),placeholder:(0,N.defineMessage)({id:"admin.elasticsearch.clientKeyExample",defaultMessage:'E.g.: "./elasticsearch/client-key.pem"'}),helpText:T().createElement(N.FormattedMessage,{id:"admin.elasticsearch.clientKeyDescription",defaultMessage:"(Optional) The key for the client certificate in the PEM format."}),value:this.state.clientKey,disabled:this.props.isDisabled||!this.state.enableIndexing,onChange:this.handleSettingChanged,setByEnv:this.isSetByEnv("ElasticsearchSettings.ClientKey")}),T().createElement(W,{id:"skipTLSVerification",label:T().createElement(N.FormattedMessage,Yr.skipTLSVerificationTitle),helpText:T().createElement(N.FormattedMessage,Yr.skipTLSVerificationDescription),value:this.state.skipTLSVerification,disabled:this.props.isDisabled||!this.state.enableIndexing,onChange:this.handleSettingChanged,setByEnv:this.isSetByEnv("ElasticsearchSettings.SkipTLSVerification")}),T().createElement(We,{id:"username",label:T().createElement(N.FormattedMessage,Yr.usernameTitle),placeholder:(0,N.defineMessage)({id:"admin.elasticsearch.usernameExample",defaultMessage:'E.g.: "elastic"'}),helpText:T().createElement(N.FormattedMessage,Yr.usernameDescription),value:this.state.username,disabled:this.props.isDisabled||!this.state.enableIndexing,onChange:this.handleSettingChanged,setByEnv:this.isSetByEnv("ElasticsearchSettings.Username")}),T().createElement(We,{id:"password",label:T().createElement(N.FormattedMessage,Yr.passwordTitle),placeholder:(0,N.defineMessage)({id:"admin.elasticsearch.password",defaultMessage:'E.g.: "yourpassword"'}),helpText:T().createElement(N.FormattedMessage,Yr.passwordDescription),value:this.state.password,disabled:this.props.isDisabled||!this.state.enableIndexing,onChange:this.handleSettingChanged,setByEnv:this.isSetByEnv("ElasticsearchSettings.Password")}),T().createElement(W,{id:"sniff",label:T().createElement(N.FormattedMessage,Yr.sniffTitle),helpText:T().createElement(N.FormattedMessage,Yr.sniffDescription),value:this.state.sniff,disabled:this.props.isDisabled||!this.state.enableIndexing,onChange:this.handleSettingChanged,setByEnv:this.isSetByEnv("ElasticsearchSettings.Sniff")}),T().createElement(ke,{id:"testConfig",requestAction:this.doTestConfig,helpText:T().createElement(N.FormattedMessage,Yr.testHelpText),buttonText:T().createElement(N.FormattedMessage,Yr.elasticsearch_test_button),successMessage:(0,N.defineMessage)({id:"admin.elasticsearch.testConfigSuccess",defaultMessage:"Test successful. Configuration saved."}),disabled:!this.state.enableIndexing}),T().createElement(G,{label:T().createElement(N.FormattedMessage,Yr.bulkIndexingTitle)},T().createElement("div",{className:"job-table-setting"},T().createElement(ve,{jobType:x.jj.ELASTICSEARCH_POST_INDEXING,disabled:!this.state.canPurgeAndIndex||this.props.isDisabled,createJobButtonText:T().createElement(N.FormattedMessage,{id:"admin.elasticsearch.createJob.title",defaultMessage:"Index Now"}),createJobHelpText:T().createElement(N.FormattedMessage,Yr.help),getExtraInfoText:this.getExtraInfo}))),T().createElement(ke,{id:"rebuildChannelsIndexButton",requestAction:h.wH,helpText:T().createElement(N.FormattedMessage,Object.assign({},Yr.rebuildChannelIndexHelpText,{values:{b:e=>T().createElement("b",null,e)}})),buttonText:T().createElement(N.FormattedMessage,Yr.rebuildChannelsIndexButtonText),successMessage:(0,N.defineMessage)({id:"admin.elasticsearch.rebuildIndexSuccessfully.success",defaultMessage:"Channels index rebuild job triggered successfully."}),errorMessage:(0,N.defineMessage)({id:"admin.elasticsearch.rebuildIndexSuccessfully.error",defaultMessage:"Failed to trigger channels index rebuild job: {error}"}),disabled:!this.state.canPurgeAndIndex||this.props.isDisabled,label:T().createElement(N.FormattedMessage,Yr.rebuildChannelsIndexButtonText)}),T().createElement(ke,{id:"purgeIndexesSection",requestAction:h.JQ,helpText:T().createElement(N.FormattedMessage,Yr.purgeIndexesHelpText),buttonText:T().createElement(N.FormattedMessage,Yr.purgeIndexesButton),successMessage:(0,N.defineMessage)({id:"admin.elasticsearch.purgeIndexesButton.success",defaultMessage:"Indexes purged successfully."}),errorMessage:(0,N.defineMessage)({id:"admin.elasticsearch.purgeIndexesButton.error",defaultMessage:"Failed to purge indexes: {error}"}),disabled:this.props.isDisabled||!this.state.canPurgeAndIndex,label:T().createElement(N.FormattedMessage,Yr.label)}),T().createElement(We,{id:"ignoredPurgeIndexes",label:T().createElement(N.FormattedMessage,{id:"admin.elasticsearch.ignoredPurgeIndexes",defaultMessage:"Indexes to skip while purging:"}),placeholder:(0,N.defineMessage)({id:"admin.elasticsearch.ignoredPurgeIndexesDescription.example",defaultMessage:"E.g.: .opendistro*,.security*"}),helpText:T().createElement(N.FormattedMessage,{id:"admin.elasticsearch.ignoredPurgeIndexesDescription",defaultMessage:"When filled in, these indexes will be ignored during the purge, separated by commas."}),value:this.state.ignoredPurgeIndexes,disabled:this.props.isDisabled||!this.state.enableIndexing,onChange:this.handleSettingChanged,setByEnv:this.isSetByEnv("ElasticsearchSettings.IgnoredPurgeIndexes")}),T().createElement(W,{id:"enableSearching",label:T().createElement(N.FormattedMessage,Yr.enableSearchingTitle),helpText:T().createElement(N.FormattedMessage,Yr.enableSearchingDescription),value:this.state.enableSearching,disabled:this.props.isDisabled||!this.state.enableIndexing||!this.state.configTested,onChange:this.handleSettingChanged,setByEnv:this.isSetByEnv("ElasticsearchSettings.EnableSearching")}),T().createElement(W,{id:"enableAutocomplete",label:T().createElement(N.FormattedMessage,{id:"admin.elasticsearch.enableAutocompleteTitle",defaultMessage:"Enable Elasticsearch for autocomplete queries:"}),helpText:T().createElement(N.FormattedMessage,{id:"admin.elasticsearch.enableAutocompleteDescription",defaultMessage:"Requires a successful connection to the Elasticsearch server. When true, Elasticsearch will be used for all autocompletion queries on users and channels using the latest index. Autocompletion results may be incomplete until a bulk index of the existing users and channels database is finished. When false, database autocomplete is used."}),value:this.state.enableAutocomplete,disabled:this.props.isDisabled||!this.state.enableIndexing||!this.state.configTested,onChange:this.handleSettingChanged,setByEnv:this.isSetByEnv("ElasticsearchSettings.EnableAutocomplete")}))))}getStateFromConfig(e){return{connectionUrl:e.ElasticsearchSettings.ConnectionURL,backend:e.ElasticsearchSettings.Backend,skipTLSVerification:e.ElasticsearchSettings.SkipTLSVerification,ca:e.ElasticsearchSettings.CA,clientCert:e.ElasticsearchSettings.ClientCert,clientKey:e.ElasticsearchSettings.ClientKey,username:e.ElasticsearchSettings.Username,password:e.ElasticsearchSettings.Password,sniff:e.ElasticsearchSettings.Sniff,enableIndexing:e.ElasticsearchSettings.EnableIndexing,enableSearching:e.ElasticsearchSettings.EnableSearching,enableAutocomplete:e.ElasticsearchSettings.EnableAutocomplete,configTested:!0,canSave:!0,canPurgeAndIndex:e.ElasticsearchSettings.EnableIndexing,ignoredPurgeIndexes:e.ElasticsearchSettings.IgnoredPurgeIndexes}}getExtraInfo(e){var t;let s=null;"channels_index_rebuild"===(null===(t=e.data)||void 0===t?void 0:t.sub_type)&&(s=T().createElement("span",null,". ",T().createElement(N.FormattedMessage,{id:"admin.elasticsearch.channelIndexRebuildJobTitle",defaultMessage:"Channels index rebuild job."})));let a=null;return e.status===x.Im.IN_PROGRESS&&(a=T().createElement(N.FormattedMessage,{id:"admin.elasticsearch.percentComplete",defaultMessage:"{percent}% Complete",values:{percent:Number(e.progress)}})),T().createElement("span",null,a,s)}renderTitle(){return T().createElement(N.FormattedMessage,Yr.title)}}}},storage:{url:"environment/file_storage",title:(0,N.defineMessage)({id:"admin.sidebar.fileStorage",defaultMessage:"File Storage"}),isHidden:vy.any(vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin"),vy.not(vy.userHasReadPermissionOnResource(y.ENVIRONMENT.FILE_STORAGE))),schema:{id:"FileSettings",name:(0,N.defineMessage)({id:"admin.environment.fileStorage",defaultMessage:"File Storage"}),settings:[{type:"dropdown",key:"FileSettings.DriverName",label:(0,N.defineMessage)({id:"admin.image.storeTitle",defaultMessage:"File Storage System:"}),help_text:(0,N.defineMessage)({id:"admin.image.storeDescription",defaultMessage:'Storage system where files and image attachments are saved. Selecting "Amazon S3" enables fields to enter your Amazon credentials and bucket details. Selecting "Local File System" enables the field to specify a local file directory.'}),help_text_markdown:!0,options:[{value:fy,display_name:(0,N.defineMessage)({id:"admin.image.storeLocal",defaultMessage:"Local File System"})},{value:Ey,display_name:(0,N.defineMessage)({id:"admin.image.storeAmazonS3",defaultMessage:"Amazon S3"})}],isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE))},{type:"text",key:"FileSettings.Directory",label:(0,N.defineMessage)({id:"admin.image.localTitle",defaultMessage:"Local Storage Directory:"}),help_text:(0,N.defineMessage)({id:"admin.image.localDescription",defaultMessage:"Directory to which files and images are written. If blank, defaults to ./data/."}),placeholder:(0,N.defineMessage)({id:"admin.image.localExample",defaultMessage:'E.g.: "./data/"'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE)),vy.not(vy.stateEquals("FileSettings.DriverName",fy)))},{type:"number",key:"FileSettings.MaxFileSize",label:(0,N.defineMessage)({id:"admin.image.maxFileSizeTitle",defaultMessage:"Maximum File Size:"}),help_text:(0,N.defineMessage)({id:"admin.image.maxFileSizeDescription",defaultMessage:"Maximum file size for message attachments in megabytes. Caution: Verify server memory can support your setting choice. Large file sizes increase the risk of server crashes and failed uploads due to network interruptions."}),placeholder:(0,N.defineMessage)({id:"admin.image.maxFileSizeExample",defaultMessage:"50"}),onConfigLoad:e=>e/by,onConfigSave:e=>e*by,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE))},{type:"bool",key:"FileSettings.ExtractContent",label:(0,N.defineMessage)({id:"admin.image.extractContentTitle",defaultMessage:"Enable document search by content:"}),help_text:(0,N.defineMessage)({id:"admin.image.extractContentDescription",defaultMessage:"When enabled, supported document types are searchable by their content. Search results for existing documents may be incomplete <link>until a data migration is executed</link>."}),help_text_markdown:!1,help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.Uk.CONFIGURE_DOCUMENT_CONTENT_SEARCH},e)},isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE)))},{type:"bool",key:"FileSettings.ArchiveRecursion",label:(0,N.defineMessage)({id:"admin.image.archiveRecursionTitle",defaultMessage:"Enable searching content of documents within ZIP files:"}),help_text:(0,N.defineMessage)({id:"admin.image.archiveRecursionDescription",defaultMessage:"When enabled, content of documents within ZIP files will be returned in search results. This may have an impact on server performance for large files. "}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE)),vy.configIsFalse("FileSettings","ExtractContent"))},{type:"text",key:"FileSettings.AmazonS3Bucket",label:(0,N.defineMessage)({id:"admin.image.amazonS3BucketTitle",defaultMessage:"Amazon S3 Bucket:"}),help_text:(0,N.defineMessage)({id:"admin.image.amazonS3BucketDescription",defaultMessage:"Name you selected for your S3 bucket in AWS."}),placeholder:(0,N.defineMessage)({id:"admin.image.amazonS3BucketExample",defaultMessage:'E.g.: "mattermost-media"'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE)),vy.not(vy.stateEquals("FileSettings.DriverName",Ey)))},{type:"text",key:"FileSettings.AmazonS3PathPrefix",label:(0,N.defineMessage)({id:"admin.image.amazonS3PathPrefixTitle",defaultMessage:"Amazon S3 Path Prefix:"}),help_text:(0,N.defineMessage)({id:"admin.image.amazonS3PathPrefixDescription",defaultMessage:"Prefix you selected for your S3 bucket in AWS."}),placeholder:(0,N.defineMessage)({id:"admin.image.amazonS3PathPrefixExample",defaultMessage:'E.g.: "subdir1/" or you can leave it .'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE)),vy.not(vy.stateEquals("FileSettings.DriverName",Ey)))},{type:"text",key:"FileSettings.AmazonS3Region",label:(0,N.defineMessage)({id:"admin.image.amazonS3RegionTitle",defaultMessage:"Amazon S3 Region:"}),help_text:(0,N.defineMessage)({id:"admin.image.amazonS3RegionDescription",defaultMessage:'AWS region you selected when creating your S3 bucket. If no region is set, Mattermost attempts to get the appropriate region from AWS, or sets it to "us-east-1" if none found.'}),placeholder:(0,N.defineMessage)({id:"admin.image.amazonS3RegionExample",defaultMessage:'E.g.: "us-east-1"'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE)),vy.not(vy.stateEquals("FileSettings.DriverName",Ey)))},{type:"text",key:"FileSettings.AmazonS3AccessKeyId",label:(0,N.defineMessage)({id:"admin.image.amazonS3IdTitle",defaultMessage:"Amazon S3 Access Key ID:"}),help_text:(0,N.defineMessage)({id:"admin.image.amazonS3IdDescription",defaultMessage:"(Optional) Only required if you do not want to authenticate to S3 using an <link>IAM role</link>. Enter the Access Key ID provided by your Amazon EC2 administrator."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html"},e)},help_text_markdown:!1,placeholder:(0,N.defineMessage)({id:"admin.image.amazonS3IdExample",defaultMessage:'E.g.: "AKIADTOVBGERKLCBV"'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE)),vy.not(vy.stateEquals("FileSettings.DriverName",Ey)))},{type:"text",key:"FileSettings.AmazonS3Endpoint",label:(0,N.defineMessage)({id:"admin.image.amazonS3EndpointTitle",defaultMessage:"Amazon S3 Endpoint:"}),help_text:(0,N.defineMessage)({id:"admin.image.amazonS3EndpointDescription",defaultMessage:'Hostname of your S3 Compatible Storage provider. Defaults to "s3.amazonaws.com".'}),placeholder:(0,N.defineMessage)({id:"admin.image.amazonS3EndpointExample",defaultMessage:'E.g.: "s3.amazonaws.com"'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE)),vy.not(vy.stateEquals("FileSettings.DriverName",Ey)))},{type:"text",key:"FileSettings.AmazonS3SecretAccessKey",label:(0,N.defineMessage)({id:"admin.image.amazonS3SecretTitle",defaultMessage:"Amazon S3 Secret Access Key:"}),help_text:(0,N.defineMessage)({id:"admin.image.amazonS3SecretDescription",defaultMessage:"(Optional) The secret access key associated with your Amazon S3 Access Key ID."}),placeholder:(0,N.defineMessage)({id:"admin.image.amazonS3SecretExample",defaultMessage:'E.g.: "jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY"'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE)),vy.not(vy.stateEquals("FileSettings.DriverName",Ey)))},{type:"bool",key:"FileSettings.AmazonS3SSL",label:(0,N.defineMessage)({id:"admin.image.amazonS3SSLTitle",defaultMessage:"Enable Secure Amazon S3 Connections:"}),help_text:(0,N.defineMessage)({id:"admin.image.amazonS3SSLDescription",defaultMessage:"When false, allow insecure connections to Amazon S3. Defaults to secure connections only."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE)),vy.not(vy.stateEquals("FileSettings.DriverName",Ey)))},{type:"bool",key:"FileSettings.AmazonS3SSE",label:(0,N.defineMessage)({id:"admin.image.amazonS3SSETitle",defaultMessage:"Enable Server-Side Encryption for Amazon S3:"}),help_text:(0,N.defineMessage)({id:"admin.image.amazonS3SSEDescription",defaultMessage:"When true, encrypt files in Amazon S3 using server-side encryption with Amazon S3-managed keys. See <link>documentation</link> to learn more."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.Uk.SESSION_LENGTHS},e)},help_text_markdown:!1,isHidden:vy.not(vy.licensedForFeature("Compliance")),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE)),vy.not(vy.stateEquals("FileSettings.DriverName",Ey)))},{type:"bool",key:"FileSettings.AmazonS3Trace",label:(0,N.defineMessage)({id:"admin.image.amazonS3TraceTitle",defaultMessage:"Enable Amazon S3 Debugging:"}),help_text:(0,N.defineMessage)({id:"admin.image.amazonS3TraceDescription",defaultMessage:"(Development Mode) When true, log additional debugging information to the system logs."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE)),vy.not(vy.stateEquals("FileSettings.DriverName",Ey)))},{type:"text",key:"FileSettings.AmazonS3StorageClass",label:(0,N.defineMessage)({id:"admin.image.amazonS3StorageClassTitle",defaultMessage:"Amazon S3 Storage Class:"}),help_text:(0,N.defineMessage)({id:"admin.image.amazonS3StorageClassDescription",defaultMessage:"Storage class for your S3 Compatible Storage provider. Defaults to empty."}),placeholder:(0,N.defineMessage)({id:"admin.image.amazonS3StorageClassExample",defaultMessage:'E.g.: "STANDARD" or "STANDARD_IA"'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE)),vy.not(vy.stateEquals("FileSettings.DriverName",Ey)))},{type:"button",action:h.zG,key:"TestS3Connection",label:(0,N.defineMessage)({id:"admin.s3.connectionS3Test",defaultMessage:"Test Connection"}),loading:(0,N.defineMessage)({id:"admin.s3.testing",defaultMessage:"Testing..."}),error_message:(0,N.defineMessage)({id:"admin.s3.s3Fail",defaultMessage:"Connection unsuccessful: {error}"}),success_message:(0,N.defineMessage)({id:"admin.s3.s3Success",defaultMessage:"Connection was successful"}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE))}]}},export_storage:{url:"environment/export_storage",title:(0,N.defineMessage)({id:"admin.sidebar.exportStorage",defaultMessage:"Export Storage"}),isHidden:vy.any(vy.not(vy.licensedForFeature("Cloud")),vy.not(vy.licensedForSku(x.gS.Enterprise)),vy.configIsFalse("FeatureFlags","CloudDedicatedExportUI")),schema:{id:"ExportFileSettings",name:(0,N.defineMessage)({id:"admin.sidebar.exportStorage",defaultMessage:"Export Storage"}),settings:[{type:"bool",key:"FileSettings.DedicatedExportStore",label:(0,N.defineMessage)({id:"admin.exportStorage.dedicatedExportStore",defaultMessage:"Enable Dedicated Export Store:"}),help_text:(0,N.defineMessage)({id:"admin.exportStorage.dedicatedExportStoreDescription",defaultMessage:"When enabled, Mattermost will use a dedicated export storage bucket for all export operations. This is required for Mattermost Cloud deployments."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE))},{type:"dropdown",key:"FileSettings.ExportDriverName",label:(0,N.defineMessage)({id:"admin.exportStorage.exportDriverName",defaultMessage:"Export Storage Driver:"}),isDisabled:!0,isHidden:vy.stateEquals("FileSettings.DedicatedExportStore",!1),options:[{value:Ey,display_name:(0,N.defineMessage)({id:"admin.image.storeAmazonS3",defaultMessage:"Amazon S3"})}]},{type:"text",key:"FileSettings.ExportDirectory",label:(0,N.defineMessage)({id:"admin.exportStorage.exportDirectory",defaultMessage:"Export Directory"}),help_text:(0,N.defineMessage)({id:"admin.image.exportDirectoryDescription",defaultMessage:"Directory to which files are written. If blank, defaults to ./data/."}),placeholder:(0,N.defineMessage)({id:"admin.image.localExample",defaultMessage:'E.g.: "./data/"'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE)),vy.stateEquals("FileSettings.DedicatedExportStore",!1)),isHidden:vy.any(vy.stateEquals("FileSettings.ExportDriverName","NONE"),vy.stateEquals("FileSettings.DedicatedExportStore",!1))},{type:"text",key:"FileSettings.ExportAmazonS3AccessKeyId",label:(0,N.defineMessage)({id:"admin.image.amazonS3IdTitle",defaultMessage:"Amazon S3 Access Key ID:"}),help_text:(0,N.defineMessage)({id:"admin.image.amazonS3IdDescription",defaultMessage:"(Optional) Only required if you do not want to authenticate to S3 using an <link>IAM role</link>. Enter the Access Key ID provided by your Amazon EC2 administrator."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:"https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html"},e)},help_text_markdown:!1,placeholder:(0,N.defineMessage)({id:"admin.image.amazonS3IdExample",defaultMessage:'E.g.: "AKIADTOVBGERKLCBV"'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE)),vy.stateEquals("FileSettings.DedicatedExportStore",!1)),isHidden:vy.any(vy.stateEquals("FileSettings.ExportDriverName","NONE"),vy.stateEquals("FileSettings.DedicatedExportStore",!1))},{type:"text",key:"FileSettings.ExportAmazonS3SecretAccessKey",label:(0,N.defineMessage)({id:"admin.image.amazonS3SecretTitle",defaultMessage:"Amazon S3 Secret Access Key:"}),help_text:(0,N.defineMessage)({id:"admin.image.amazonS3SecretDescription",defaultMessage:"(Optional) The secret access key associated with your Amazon S3 Access Key ID."}),placeholder:(0,N.defineMessage)({id:"admin.image.amazonS3SecretExample",defaultMessage:'E.g.: "jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY"'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE)),vy.stateEquals("FileSettings.DedicatedExportStore",!1)),isHidden:vy.any(vy.stateEquals("FileSettings.ExportDriverName","NONE"),vy.stateEquals("FileSettings.DedicatedExportStore",!1))},{type:"text",key:"FileSettings.ExportAmazonS3Bucket",label:(0,N.defineMessage)({id:"admin.image.amazonS3BucketTitle",defaultMessage:"Amazon S3 Bucket:"}),help_text:(0,N.defineMessage)({id:"admin.image.amazonS3BucketDescription",defaultMessage:"Name you selected for your S3 bucket in AWS."}),placeholder:(0,N.defineMessage)({id:"admin.image.amazonS3BucketExample",defaultMessage:'E.g.: "mattermost-export"'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE)),vy.stateEquals("FileSettings.DedicatedExportStore",!1)),isHidden:vy.any(vy.stateEquals("FileSettings.ExportDriverName","NONE"),vy.stateEquals("FileSettings.DedicatedExportStore",!1))},{type:"text",key:"FileSettings.ExportAmazonS3PathPrefix",label:(0,N.defineMessage)({id:"admin.image.amazonS3PathPrefixTitle",defaultMessage:"Amazon S3 Path Prefix:"}),help_text:(0,N.defineMessage)({id:"admin.image.amazonS3PathPrefixDescription",defaultMessage:"Prefix you selected for your S3 bucket in AWS."}),placeholder:(0,N.defineMessage)({id:"admin.image.amazonS3PathPrefixExample",defaultMessage:'E.g.: "subdir1/" or you can leave it .'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE)),vy.stateEquals("FileSettings.DedicatedExportStore",!1)),isHidden:vy.any(vy.stateEquals("FileSettings.ExportDriverName","NONE"),vy.stateEquals("FileSettings.DedicatedExportStore",!1))},{type:"text",key:"FileSettings.ExportAmazonS3Region",label:(0,N.defineMessage)({id:"admin.image.amazonS3RegionTitle",defaultMessage:"Amazon S3 Region:"}),help_text:(0,N.defineMessage)({id:"admin.image.amazonS3RegionDescription",defaultMessage:'AWS region you selected when creating your S3 bucket. If no region is set, Mattermost attempts to get the appropriate region from AWS, or sets it to "us-east-1" if none found.'}),placeholder:(0,N.defineMessage)({id:"admin.image.amazonS3RegionExample",defaultMessage:'E.g.: "us-east-1"'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE)),vy.stateEquals("FileSettings.DedicatedExportStore",!1)),isHidden:vy.any(vy.stateEquals("FileSettings.ExportDriverName","NONE"),vy.stateEquals("FileSettings.DedicatedExportStore",!1))},{type:"text",key:"FileSettings.ExportAmazonS3Endpoint",label:(0,N.defineMessage)({id:"admin.image.amazonS3EndpointTitle",defaultMessage:"Amazon S3 Endpoint:"}),help_text:(0,N.defineMessage)({id:"admin.image.amazonS3EndpointDescription",defaultMessage:'Hostname of your S3 Compatible Storage provider. Defaults to "s3.amazonaws.com".'}),placeholder:(0,N.defineMessage)({id:"admin.image.amazonS3EndpointExample",defaultMessage:'E.g.: "s3.amazonaws.com"'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE)),vy.stateEquals("FileSettings.DedicatedExportStore",!1)),isHidden:vy.any(vy.stateEquals("FileSettings.ExportDriverName","NONE"),vy.stateEquals("FileSettings.DedicatedExportStore",!1))},{type:"bool",key:"FileSettings.ExportAmazonS3SSL",label:(0,N.defineMessage)({id:"admin.image.amazonS3SSLTitle",defaultMessage:"Enable Secure Amazon S3 Connections:"}),help_text:(0,N.defineMessage)({id:"admin.image.amazonS3SSLDescription",defaultMessage:"When false, allow insecure connections to Amazon S3. Defaults to secure connections only."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE)),vy.stateEquals("FileSettings.DedicatedExportStore",!1)),isHidden:vy.any(vy.stateEquals("FileSettings.ExportDriverName","NONE"),vy.stateEquals("FileSettings.DedicatedExportStore",!1))},{type:"bool",key:"FileSettings.ExportAmazonSignV2",label:(0,N.defineMessage)({id:"admin.image.amazonS3SignV2",defaultMessage:"Enable Sign V2"}),help_text:(0,N.defineMessage)({id:"admin.image.amazonS3SignV2Description",defaultMessage:"When true, use Sign V2 for Amazon S3 connections"}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE)),vy.stateEquals("FileSettings.DedicatedExportStore",!1)),isHidden:vy.any(vy.stateEquals("FileSettings.ExportDriverName","NONE"),vy.stateEquals("FileSettings.DedicatedExportStore",!1))},{type:"bool",key:"FileSettings.ExportAmazonS3SSE",label:(0,N.defineMessage)({id:"admin.image.amazonS3SSETitle",defaultMessage:"Enable Server-Side Encryption for Amazon S3:"}),help_text:(0,N.defineMessage)({id:"admin.image.amazonS3SSEDescription",defaultMessage:"When true, encrypt files in Amazon S3 using server-side encryption with Amazon S3-managed keys. See <link>documentation</link> to learn more."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.Uk.SESSION_LENGTHS},e)},help_text_markdown:!1,isHidden:vy.any(vy.stateEquals("FileSettings.ExportDriverName","NONE"),vy.stateEquals("FileSettings.DedicatedExportStore",!1)),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE)),vy.stateEquals("FileSettings.DedicatedExportStore",!1))},{type:"text",key:"FileSettings.ExportAmazonS3StorageClass",label:(0,N.defineMessage)({id:"admin.image.amazonS3StorageClassTitle",defaultMessage:"Amazon S3 Storage Class:"}),help_text:(0,N.defineMessage)({id:"admin.image.amazonS3StorageClassDescription",defaultMessage:"Storage class for your S3 Compatible Storage provider. Defaults to empty."}),placeholder:(0,N.defineMessage)({id:"admin.image.amazonS3StorageClassExample",defaultMessage:'E.g.: "STANDARD" or "STANDARD_IA"'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE)),vy.not(vy.stateEquals("FileSettings.DriverName",Ey)))},{type:"button",action:h.zG,key:"TestS3Connection",label:(0,N.defineMessage)({id:"admin.s3.connectionS3Test",defaultMessage:"Test Connection"}),loading:(0,N.defineMessage)({id:"admin.s3.testing",defaultMessage:"Testing..."}),error_message:(0,N.defineMessage)({id:"admin.s3.s3Fail",defaultMessage:"Connection unsuccessful: {error}"}),success_message:(0,N.defineMessage)({id:"admin.s3.s3Success",defaultMessage:"Connection was successful"}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.FILE_STORAGE)),isHidden:vy.any(vy.stateEquals("FileSettings.ExportDriverName","NONE"),vy.stateEquals("FileSettings.DedicatedExportStore",!1))}]}},image_proxy:{url:"environment/image_proxy",title:(0,N.defineMessage)({id:"admin.sidebar.imageProxy",defaultMessage:"Image Proxy"}),isHidden:vy.any(vy.not(vy.userHasReadPermissionOnResource(y.ENVIRONMENT.IMAGE_PROXY)),vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin")),schema:{id:"ImageProxy",name:(0,N.defineMessage)({id:"admin.environment.imageProxy",defaultMessage:"Image Proxy"}),settings:[{type:"bool",key:"ImageProxySettings.Enable",label:(0,N.defineMessage)({id:"admin.image.enableProxy",defaultMessage:"Enable Image Proxy:"}),help_text:(0,N.defineMessage)({id:"admin.image.enableProxyDescription",defaultMessage:"When true, enables an image proxy for loading all Markdown images."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.IMAGE_PROXY))},{type:"dropdown",key:"ImageProxySettings.ImageProxyType",label:(0,N.defineMessage)({id:"admin.image.proxyType",defaultMessage:"Image Proxy Type:"}),help_text:(0,N.defineMessage)({id:"admin.image.proxyTypeDescription",defaultMessage:"Configure an image proxy to load all Markdown images through a proxy. The image proxy prevents users from making insecure image requests, provides caching for increased performance, and automates image adjustments such as resizing. See <link>documentation</link> to learn more."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.Uk.SETUP_IMAGE_PROXY},e)},help_text_markdown:!1,options:[{value:"atmos/camo",display_name:(0,N.defineMessage)({id:"atmos/camo",defaultMessage:"atmos/camo"})},{value:"local",display_name:(0,N.defineMessage)({id:"local",defaultMessage:"local"})}],isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.IMAGE_PROXY)),vy.stateIsFalse("ImageProxySettings.Enable"))},{type:"text",key:"ImageProxySettings.RemoteImageProxyURL",label:(0,N.defineMessage)({id:"admin.image.proxyURL",defaultMessage:"Remote Image Proxy URL:"}),help_text:(0,N.defineMessage)({id:"admin.image.proxyURLDescription",defaultMessage:"URL of your remote image proxy server."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.IMAGE_PROXY)),vy.stateIsFalse("ImageProxySettings.Enable"),vy.stateEquals("ImageProxySettings.ImageProxyType","local"))},{type:"text",key:"ImageProxySettings.RemoteImageProxyOptions",label:(0,N.defineMessage)({id:"admin.image.proxyOptions",defaultMessage:"Remote Image Proxy Options:"}),help_text:(0,N.defineMessage)({id:"admin.image.proxyOptionsDescription",defaultMessage:"Additional options such as the URL signing key. Refer to your image proxy documentation to learn more about what options are supported."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.IMAGE_PROXY)),vy.stateIsFalse("ImageProxySettings.Enable"),vy.stateEquals("ImageProxySettings.ImageProxyType","local"))}]}},smtp:{url:"environment/smtp",title:(0,N.defineMessage)({id:"admin.sidebar.smtp",defaultMessage:"SMTP"}),isHidden:vy.any(vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin"),vy.not(vy.userHasReadPermissionOnResource(y.ENVIRONMENT.SMTP))),schema:{id:"SMTP",name:(0,N.defineMessage)({id:"admin.environment.smtp",defaultMessage:"SMTP"}),settings:[{type:"text",key:"EmailSettings.SMTPServer",label:(0,N.defineMessage)({id:"admin.environment.smtp.smtpServer.title",defaultMessage:"SMTP Server:"}),placeholder:(0,N.defineMessage)({id:"admin.environment.smtp.smtpServer.placeholder",defaultMessage:'Ex: "smtp.yourcompany.com", "email-smtp.us-east-1.amazonaws.com"'}),help_text:(0,N.defineMessage)({id:"admin.environment.smtp.smtpServer.description",defaultMessage:"Location of SMTP email server."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.SMTP))},{type:"text",key:"EmailSettings.SMTPPort",label:(0,N.defineMessage)({id:"admin.environment.smtp.smtpPort.title",defaultMessage:"SMTP Server Port:"}),placeholder:(0,N.defineMessage)({id:"admin.environment.smtp.smtpPort.placeholder",defaultMessage:'Ex: "25", "465", "587"'}),help_text:(0,N.defineMessage)({id:"admin.environment.smtp.smtpPort.description",defaultMessage:"Port of SMTP email server."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.SMTP))},{type:"bool",key:"EmailSettings.EnableSMTPAuth",label:(0,N.defineMessage)({id:"admin.environment.smtp.smtpAuth.title",defaultMessage:"Enable SMTP Authentication:"}),help_text:(0,N.defineMessage)({id:"admin.environment.smtp.smtpAuth.description",defaultMessage:"When true, SMTP Authentication is enabled."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.SMTP))},{type:"text",key:"EmailSettings.SMTPUsername",label:(0,N.defineMessage)({id:"admin.environment.smtp.smtpUsername.title",defaultMessage:"SMTP Server Username:"}),placeholder:(0,N.defineMessage)({id:"admin.environment.smtp.smtpUsername.placeholder",defaultMessage:'Ex: "admin@yourcompany.com", "AKIADTOVBGERKLCBV"'}),help_text:(0,N.defineMessage)({id:"admin.environment.smtp.smtpUsername.description",defaultMessage:"Obtain this credential from administrator setting up your email server."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.SMTP)),vy.stateIsFalse("EmailSettings.EnableSMTPAuth"))},{type:"text",key:"EmailSettings.SMTPPassword",label:(0,N.defineMessage)({id:"admin.environment.smtp.smtpPassword.title",defaultMessage:"SMTP Server Password:"}),placeholder:(0,N.defineMessage)({id:"admin.environment.smtp.smtpPassword.placeholder",defaultMessage:'Ex: "yourpassword", "jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY"'}),help_text:(0,N.defineMessage)({id:"admin.environment.smtp.smtpPassword.description",defaultMessage:"Obtain this credential from administrator setting up your email server."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.SMTP)),vy.stateIsFalse("EmailSettings.EnableSMTPAuth"))},{type:"dropdown",key:"EmailSettings.ConnectionSecurity",label:(0,N.defineMessage)({id:"admin.environment.smtp.connectionSecurity.title",defaultMessage:"Connection Security:"}),help_text:Is,options:[{value:"",display_name:(0,N.defineMessage)({id:"admin.environment.smtp.connectionSecurity.option.none",defaultMessage:"None"})},{value:"TLS",display_name:(0,N.defineMessage)({id:"admin.environment.smtp.connectionSecurity.option.tls",defaultMessage:"TLS (Recommended)"})},{value:"STARTTLS",display_name:(0,N.defineMessage)({id:"admin.environment.smtp.connectionSecurity.option.starttls",defaultMessage:"STARTTLS"})}],isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.SMTP))},{type:"button",action:h.TH,key:"TestSmtpConnection",label:(0,N.defineMessage)({id:"admin.environment.smtp.connectionSmtpTest",defaultMessage:"Test Connection"}),loading:(0,N.defineMessage)({id:"admin.environment.smtp.testing",defaultMessage:"Testing..."}),error_message:(0,N.defineMessage)({id:"admin.environment.smtp.smtpFail",defaultMessage:"Connection unsuccessful: {error}"}),success_message:(0,N.defineMessage)({id:"admin.environment.smtp.smtpSuccess",defaultMessage:"No errors were reported while sending an email. Please check your inbox to make sure."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.SMTP))},{type:"bool",key:"EmailSettings.SkipServerCertificateVerification",label:(0,N.defineMessage)({id:"admin.environment.smtp.skipServerCertificateVerification.title",defaultMessage:"Skip Server Certificate Verification:"}),help_text:(0,N.defineMessage)({id:"admin.environment.smtp.skipServerCertificateVerification.description",defaultMessage:"When true, Mattermost will not verify the email server certificate."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.SMTP))},{type:"bool",key:"ServiceSettings.EnableSecurityFixAlert",label:(0,N.defineMessage)({id:"admin.environment.smtp.enableSecurityFixAlert.title",defaultMessage:"Enable Security Alerts:"}),help_text:(0,N.defineMessage)({id:"admin.environment.smtp.enableSecurityFixAlert.description",defaultMessage:"When true, System Administrators are notified by email if a relevant security fix alert has been announced in the last 12 hours. Requires email to be enabled."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.SMTP))}]}},push_notification_server:{url:"environment/push_notification_server",title:(0,N.defineMessage)({id:"admin.sidebar.pushNotificationServer",defaultMessage:"Push Notification Server"}),searchableStrings:Am,isHidden:vy.any(vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin"),vy.not(vy.userHasReadPermissionOnResource(y.ENVIRONMENT.PUSH_NOTIFICATION_SERVER))),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.PUSH_NOTIFICATION_SERVER)),schema:{id:"PushNotificationsSettings",component:Cm}},high_availability:{url:"environment/high_availability",title:(0,N.defineMessage)({id:"admin.sidebar.highAvailability",defaultMessage:"High Availability"}),isHidden:vy.any(vy.not(vy.licensedForFeature("Cluster")),vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin"),vy.not(vy.userHasReadPermissionOnResource(y.ENVIRONMENT.HIGH_AVAILABILITY))),searchableStrings:_n,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.HIGH_AVAILABILITY)),schema:{id:"ClusterSettings",component:class extends Nt{constructor(){super(...arguments),An(this,"getConfigFromState",(e=>(e.ClusterSettings.Enable=this.state.Enable,e.ClusterSettings.ClusterName=this.state.ClusterName,e.ClusterSettings.OverrideHostname=this.state.OverrideHostname,e.ClusterSettings.UseIPAddress=this.state.UseIPAddress,e.ClusterSettings.EnableExperimentalGossipEncryption=this.state.EnableExperimentalGossipEncryption,e.ClusterSettings.EnableGossipCompression=this.state.EnableGossipCompression,e.ClusterSettings.GossipPort=this.parseIntNonZero(this.state.GossipPort,8074),e))),An(this,"overrideHandleChange",((e,t)=>{this.setState({showWarning:!0}),this.handleChange(e,t)})),An(this,"renderSettings",(()=>{if("true"!==this.props.license.IsLicensed||"true"!==this.props.license.Cluster)return T().createElement(T().Fragment,null);let e=null;de.mT.clusterId&&(e=T().createElement("div",{style:Tn.configLoadedFromCluster,className:"alert alert-warning"},T().createElement(Ie.A,null),T().createElement(N.FormattedMessage,{id:"admin.cluster.loadedFrom",defaultMessage:"This configuration file was loaded from Node ID {clusterId}. Please see the Troubleshooting Guide in our <link>documentation</link> if you are accessing the System Console through a load balancer and experiencing issues.",values:{clusterId:de.mT.clusterId,link:e=>T().createElement(ce.A,{location:"cluster_settings",href:x.Uk.HIGH_AVAILABILITY_CLUSTER},e)}})));let t=null;this.state.showWarning&&(t=T().createElement("div",{style:Tn.warning,className:"alert alert-warning"},T().createElement(Ie.A,null),T().createElement(N.FormattedMessage,{id:"admin.cluster.should_not_change",defaultMessage:"WARNING: These settings may not sync with the other servers in the cluster. High Availability inter-node communication will not start until you modify the config.json to be identical on all servers and restart Mattermost. Please see the <link>documentation</link> on how to add or remove a server from the cluster. If you are accessing the System Console through a load balancer and experiencing issues, please see the Troubleshooting Guide in our <link>documentation</link>.",values:{link:e=>T().createElement(ce.A,{location:"cluster_settings",href:x.Uk.HIGH_AVAILABILITY_CLUSTER},e)}})));let s=null;return this.state.Enable&&(s=T().createElement(Sn,null)),T().createElement(Ue,null,e,s,T().createElement("div",{className:"banner"},T().createElement(N.FormattedMessage,Cn.noteDescription)),t,T().createElement(W,{id:"Enable",label:T().createElement(N.FormattedMessage,Cn.enableTitle),helpText:T().createElement(N.FormattedMessage,Object.assign({},Cn.enableDescription,{values:{link:e=>T().createElement(ce.A,{location:"cluster_settings",href:x.Uk.HIGH_AVAILABILITY_CLUSTER},e)}})),value:this.state.Enable,onChange:this.overrideHandleChange,setByEnv:this.isSetByEnv("ClusterSettings.Enable"),disabled:this.props.isDisabled}),T().createElement(We,{id:"ClusterName",label:T().createElement(N.FormattedMessage,Cn.clusterName),placeholder:(0,N.defineMessage)({id:"admin.cluster.ClusterNameEx",defaultMessage:'E.g.: "Production" or "Staging"'}),helpText:T().createElement(N.FormattedMessage,Cn.clusterNameDesc),value:this.state.ClusterName,onChange:this.overrideHandleChange,setByEnv:this.isSetByEnv("ClusterSettings.ClusterName"),disabled:this.props.isDisabled}),T().createElement(We,{id:"OverrideHostname",label:T().createElement(N.FormattedMessage,Cn.overrideHostname),placeholder:(0,N.defineMessage)({id:"admin.cluster.OverrideHostnameEx",defaultMessage:'E.g.: "app-server-01"'}),helpText:T().createElement(N.FormattedMessage,Cn.overrideHostnameDesc),value:this.state.OverrideHostname,onChange:this.overrideHandleChange,setByEnv:this.isSetByEnv("ClusterSettings.OverrideHostname"),disabled:this.props.isDisabled}),T().createElement(W,{id:"UseIPAddress",label:T().createElement(N.FormattedMessage,Cn.useIPAddress),helpText:T().createElement(N.FormattedMessage,Cn.useIPAddressDesc),value:this.state.UseIPAddress,onChange:this.overrideHandleChange,setByEnv:this.isSetByEnv("ClusterSettings.UseIPAddress"),disabled:this.props.isDisabled}),T().createElement(W,{id:"EnableExperimentalGossipEncryption",label:T().createElement(N.FormattedMessage,Cn.enableExperimentalGossipEncryption),helpText:T().createElement(N.FormattedMessage,Cn.enableExperimentalGossipEncryptionDesc),value:this.state.EnableExperimentalGossipEncryption,onChange:this.overrideHandleChange,setByEnv:this.isSetByEnv("ClusterSettings.EnableExperimentalGossipEncryption"),disabled:this.props.isDisabled}),T().createElement(W,{id:"EnableGossipCompression",label:T().createElement(N.FormattedMessage,Cn.enableGossipCompression),helpText:T().createElement(N.FormattedMessage,Cn.enableGossipCompressionDesc),value:this.state.EnableGossipCompression,onChange:this.overrideHandleChange,setByEnv:this.isSetByEnv("ClusterSettings.EnableGossipCompression"),disabled:this.props.isDisabled}),T().createElement(We,{id:"GossipPort",label:T().createElement(N.FormattedMessage,Cn.gossipPort),placeholder:(0,N.defineMessage)({id:"admin.cluster.GossipPortEx",defaultMessage:'E.g.: "8074"'}),helpText:T().createElement(N.FormattedMessage,Cn.gossipPortDesc),value:this.state.GossipPort,onChange:this.overrideHandleChange,setByEnv:this.isSetByEnv("ClusterSettings.GossipPort"),disabled:this.props.isDisabled}))}))}getStateFromConfig(e){const t=e.ClusterSettings;return{Enable:t.Enable,ClusterName:t.ClusterName,OverrideHostname:t.OverrideHostname,UseIPAddress:t.UseIPAddress,EnableExperimentalGossipEncryption:t.EnableExperimentalGossipEncryption,EnableGossipCompression:t.EnableGossipCompression,GossipPort:t.GossipPort,showWarning:!1}}renderTitle(){return T().createElement(N.FormattedMessage,Cn.cluster)}}}},cache_settings:{url:"environment/cache_settings",title:Cy.cache_settings_title,isHidden:vy.any(vy.not(vy.licensedForFeature("Cluster")),vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin"),vy.not(vy.userHasReadPermissionOnResource(y.ENVIRONMENT.HIGH_AVAILABILITY))),searchableStrings:[Cy.cache_settings_title,Cy.cache_type_title,Cy.cache_type_desc,Cy.redis_address_title,Cy.redis_address_desc,Cy.redis_password_title,Cy.redis_password_desc,Cy.redis_db_title,Cy.redis_db_desc,Cy.redis_clientcache_title,Cy.redis_clientcache_desc],isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.HIGH_AVAILABILITY)),schema:{id:"CacheSettings",name:Cy.cache_settings_title,settings:[{type:"banner",label:(0,N.defineMessage)({id:"admin.rate.noteDescription",defaultMessage:"Changing properties in this section will require a server restart before taking effect."}),banner_type:"info"},{type:"dropdown",key:"CacheSettings.CacheType",label:Cy.cache_type_title,help_text:Cy.cache_type_desc,help_text_markdown:!0,options:[{value:x.uV.LRU,display_name:(0,N.defineMessage)({id:"admin.cacheSettings.cacheType.lru",defaultMessage:"LRU"})},{value:x.uV.REDIS,display_name:(0,N.defineMessage)({id:"admin.cacheSettings.cacheType.redis",defaultMessage:"Redis"})}],isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.HIGH_AVAILABILITY))},{type:"text",key:"CacheSettings.RedisAddress",label:Cy.redis_address_title,help_text:Cy.redis_address_desc,placeholder:Cy.redis_address_placeholder,isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.HIGH_AVAILABILITY)),vy.not(vy.stateEquals("CacheSettings.CacheType",x.uV.REDIS)))},{type:"text",key:"CacheSettings.RedisPassword",label:Cy.redis_password_title,help_text:Cy.redis_password_desc,isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.HIGH_AVAILABILITY)),vy.not(vy.stateEquals("CacheSettings.CacheType",x.uV.REDIS)))},{type:"number",key:"CacheSettings.RedisDB",label:Cy.redis_db_title,help_text:Cy.redis_db_desc,placeholder:Cy.redis_db_placeholder,isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.HIGH_AVAILABILITY)),vy.not(vy.stateEquals("CacheSettings.CacheType",x.uV.REDIS)))},{type:"bool",key:"CacheSettings.DisableClientCache",label:Cy.redis_clientcache_title,help_text:Cy.redis_clientcache_desc,help_text_markdown:!1,isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.HIGH_AVAILABILITY)),vy.not(vy.stateEquals("CacheSettings.CacheType",x.uV.REDIS)))}]}},rate_limiting:{url:"environment/rate_limiting",title:(0,N.defineMessage)({id:"admin.sidebar.rateLimiting",defaultMessage:"Rate Limiting"}),isHidden:vy.any(vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin"),vy.not(vy.userHasReadPermissionOnResource(y.ENVIRONMENT.RATE_LIMITING))),schema:{id:"ServiceSettings",name:(0,N.defineMessage)({id:"admin.rate.title",defaultMessage:"Rate Limiting"}),settings:[{type:"banner",label:(0,N.defineMessage)({id:"admin.rate.noteDescription",defaultMessage:"Changing properties other than Site URL in this section will require a server restart before taking effect."}),banner_type:"info"},{type:"bool",key:"RateLimitSettings.Enable",label:(0,N.defineMessage)({id:"admin.rate.enableLimiterTitle",defaultMessage:"Enable Rate Limiting:"}),help_text:(0,N.defineMessage)({id:"admin.rate.enableLimiterDescription",defaultMessage:"When true, APIs are throttled at rates specified below. Rate limiting prevents server overload from too many requests. This is useful to prevent third-party applications or malicous attacks from impacting your server."}),help_text_markdown:!0,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.RATE_LIMITING))},{type:"number",key:"RateLimitSettings.PerSec",label:(0,N.defineMessage)({id:"admin.rate.queriesTitle",defaultMessage:"Maximum Queries per Second:"}),placeholder:(0,N.defineMessage)({id:"admin.rate.queriesExample",defaultMessage:'E.g.: "10"'}),help_text:(0,N.defineMessage)({id:"admin.rate.queriesDescription",defaultMessage:"Throttles API at this number of requests per second."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.RATE_LIMITING)),vy.stateEquals("RateLimitSettings.Enable",!1))},{type:"number",key:"RateLimitSettings.MaxBurst",label:(0,N.defineMessage)({id:"admin.rate.maxBurst",defaultMessage:"Maximum Burst Size:"}),placeholder:(0,N.defineMessage)({id:"admin.rate.maxBurstExample",defaultMessage:'E.g.: "100"'}),help_text:(0,N.defineMessage)({id:"admin.rate.maxBurstDescription",defaultMessage:"Maximum number of requests allowed beyond the per second query limit."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.RATE_LIMITING)),vy.stateEquals("RateLimitSettings.Enable",!1))},{type:"number",key:"RateLimitSettings.MemoryStoreSize",label:(0,N.defineMessage)({id:"admin.rate.memoryTitle",defaultMessage:"Memory Store Size:"}),placeholder:(0,N.defineMessage)({id:"admin.rate.memoryExample",defaultMessage:'E.g.: "10000"'}),help_text:(0,N.defineMessage)({id:"admin.rate.memoryDescription",defaultMessage:'Maximum number of users sessions connected to the system as determined by "Vary rate limit by remote address" and "Vary rate limit by HTTP header".'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.RATE_LIMITING)),vy.stateEquals("RateLimitSettings.Enable",!1))},{type:"bool",key:"RateLimitSettings.VaryByRemoteAddr",label:(0,N.defineMessage)({id:"admin.rate.remoteTitle",defaultMessage:"Vary rate limit by remote address:"}),help_text:(0,N.defineMessage)({id:"admin.rate.remoteDescription",defaultMessage:"When true, rate limit API access by IP address."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.RATE_LIMITING)),vy.stateEquals("RateLimitSettings.Enable",!1))},{type:"bool",key:"RateLimitSettings.VaryByUser",label:(0,N.defineMessage)({id:"admin.rate.varyByUser",defaultMessage:"Vary rate limit by user:"}),help_text:(0,N.defineMessage)({id:"admin.rate.varyByUserDescription",defaultMessage:"When true, rate limit API access by user athentication token."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.RATE_LIMITING)),vy.stateEquals("RateLimitSettings.Enable",!1))},{type:"text",key:"RateLimitSettings.VaryByHeader",label:(0,N.defineMessage)({id:"admin.rate.httpHeaderTitle",defaultMessage:"Vary rate limit by HTTP header:"}),placeholder:(0,N.defineMessage)({id:"admin.rate.httpHeaderExample",defaultMessage:'E.g.: "X-Real-IP", "X-Forwarded-For"'}),help_text:(0,N.defineMessage)({id:"admin.rate.httpHeaderDescription",defaultMessage:'When filled in, vary rate limiting by HTTP header field specified (e.g. when configuring NGINX set to "X-Real-IP", when configuring AmazonELB set to "X-Forwarded-For").'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.RATE_LIMITING)),vy.stateEquals("RateLimitSettings.Enable",!1),vy.stateEquals("RateLimitSettings.VaryByRemoteAddr",!0))}]}},logging:{url:"environment/logging",title:(0,N.defineMessage)({id:"admin.sidebar.logging",defaultMessage:"Logging"}),isHidden:vy.any(vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin"),vy.not(vy.userHasReadPermissionOnResource(y.ENVIRONMENT.LOGGING))),schema:{id:"LogSettings",name:(0,N.defineMessage)({id:"admin.general.log",defaultMessage:"Logging"}),settings:[{type:"bool",key:"LogSettings.EnableConsole",label:(0,N.defineMessage)({id:"admin.log.consoleTitle",defaultMessage:"Output logs to console: "}),help_text:(0,N.defineMessage)({id:"admin.log.consoleDescription",defaultMessage:"Typically set to false in production. Developers may set this field to true to output log messages to console based on the console level option. If true, server writes messages to the standard output stream (stdout). Changing this setting requires a server restart before taking effect."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.LOGGING))},{type:"dropdown",key:"LogSettings.ConsoleLevel",label:(0,N.defineMessage)({id:"admin.log.levelTitle",defaultMessage:"Console Log Level:"}),help_text:(0,N.defineMessage)({id:"admin.log.levelDescription",defaultMessage:"This setting determines the level of detail at which log events are written to the console. ERROR: Outputs only error messages. INFO: Outputs error messages and information around startup and initialization. DEBUG: Prints high detail for developers working on debugging issues."}),options:xs,isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.LOGGING)),vy.stateIsFalse("LogSettings.EnableConsole"))},{type:"bool",key:"LogSettings.ConsoleJson",label:(0,N.defineMessage)({id:"admin.log.consoleJsonTitle",defaultMessage:"Output console logs as JSON:"}),help_text:(0,N.defineMessage)({id:"admin.log.jsonDescription",defaultMessage:"When true, logged events are written in a machine readable JSON format. Otherwise they are printed as plain text. Changing this setting requires a server restart before taking effect."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.LOGGING)),vy.stateIsFalse("LogSettings.EnableConsole"))},{type:"bool",key:"LogSettings.EnableFile",label:(0,N.defineMessage)({id:"admin.log.fileTitle",defaultMessage:"Output logs to file: "}),help_text:(0,N.defineMessage)({id:"admin.log.fileDescription",defaultMessage:"Typically set to true in production. When true, logged events are written to the mattermost.log file in the directory specified in the File Log Directory field. The logs are rotated at 100 MB and archived to a file in the same directory, and given a name with a datestamp and serial number. For example, mattermost.2017-03-31.001. Changing this setting requires a server restart before taking effect."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.LOGGING))},{type:"dropdown",key:"LogSettings.FileLevel",label:(0,N.defineMessage)({id:"admin.log.fileLevelTitle",defaultMessage:"File Log Level:"}),help_text:(0,N.defineMessage)({id:"admin.log.fileLevelDescription",defaultMessage:"This setting determines the level of detail at which log events are written to the log file. ERROR: Outputs only error messages. INFO: Outputs error messages and information around startup and initialization. DEBUG: Prints high detail for developers working on debugging issues."}),options:xs,isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.LOGGING)),vy.stateIsFalse("LogSettings.EnableFile"))},{type:"bool",key:"LogSettings.FileJson",label:(0,N.defineMessage)({id:"admin.log.fileJsonTitle",defaultMessage:"Output file logs as JSON:"}),help_text:(0,N.defineMessage)({id:"admin.log.jsonDescription",defaultMessage:"When true, logged events are written in a machine readable JSON format. Otherwise they are printed as plain text. Changing this setting requires a server restart before taking effect."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.LOGGING)),vy.stateIsFalse("LogSettings.EnableFile"))},{type:"text",key:"LogSettings.FileLocation",label:(0,N.defineMessage)({id:"admin.log.locationTitle",defaultMessage:"File Log Directory:"}),help_text:(0,N.defineMessage)({id:"admin.log.locationDescription",defaultMessage:"The location of the log files. If blank, they are stored in the ./logs directory. The path that you set must exist and Mattermost must have write permissions in it. Changing this setting requires a server restart before taking effect."}),placeholder:(0,N.defineMessage)({id:"admin.log.locationPlaceholder",defaultMessage:"Enter your file location"}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.LOGGING)),vy.stateIsFalse("LogSettings.EnableFile"))},{type:"bool",key:"LogSettings.EnableWebhookDebugging",label:(0,N.defineMessage)({id:"admin.log.enableWebhookDebugging",defaultMessage:"Enable Webhook Debugging:"}),help_text:(0,N.defineMessage)({id:"admin.log.enableWebhookDebuggingDescription",defaultMessage:'When true, sends webhook debug messages to the server logs. To also output the request body of incoming webhooks, set {boldedLogLevel} to "DEBUG".'}),help_text_values:{boldedLogLevel:T().createElement("strong",null,T().createElement(N.FormattedMessage,{id:"admin.log.logLevel",defaultMessage:"Log Level"}))},isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.LOGGING))},{type:"bool",key:"LogSettings.EnableDiagnostics",label:(0,N.defineMessage)({id:"admin.log.enableDiagnostics",defaultMessage:"Enable Diagnostics and Error Reporting:"}),help_text:(0,N.defineMessage)({id:"admin.log.enableDiagnosticsDescription",defaultMessage:"Enable this feature to improve the quality and performance of Mattermost by sending error reporting and diagnostic information to Mattermost, Inc. Read our <link>privacy policy</link> to learn more."}),help_text_markdown:!1,help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.L0.PRIVACY_POLICY},e)},onConfigSave:(e,t)=>(t&&t!==e&&(0,I.sx)("ui","diagnostics_disabled"),e),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.LOGGING))},{type:"longtext",key:"LogSettings.AdvancedLoggingJSON",label:(0,N.defineMessage)({id:"admin.log.AdvancedLoggingJSONTitle",defaultMessage:"Advanced Logging:"}),help_text:(0,N.defineMessage)({id:"admin.log.AdvancedLoggingJSONDescription",defaultMessage:"The JSON configuration for Advanced Logging. Please see <link>documentation</link> to learn more about Advanced Logging and the JSON format it uses."}),help_text_markdown:!1,help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.Uk.ADVANCED_LOGGING},e)},placeholder:(0,N.defineMessage)({id:"admin.log.AdvancedLoggingJSONPlaceholder",defaultMessage:"Enter your JSON configuration"}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.LOGGING)),validate:e=>{const t=new MM(!0,"");if(!e)return t;try{return JSON.parse(e),t}catch(e){return new MM(!1,e.message)}},onConfigLoad:e=>JSON.stringify(e,null,"  "),onConfigSave:e=>e?JSON.parse(e):{undefined:void 0}}]}},session_lengths:{url:"environment/session_lengths",title:(0,N.defineMessage)({id:"admin.sidebar.sessionLengths",defaultMessage:"Session Lengths"}),isHidden:vy.any(vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin"),vy.not(vy.userHasReadPermissionOnResource(y.ENVIRONMENT.SESSION_LENGTHS))),searchableStrings:Xp,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.SESSION_LENGTHS)),schema:{id:"SessionLengths",component:class extends Nt{constructor(){super(...arguments),Qp(this,"getConfigFromState",(e=>(e.ServiceSettings.ExtendSessionLengthWithActivity=this.state.extendSessionLengthWithActivity,e.ServiceSettings.TerminateSessionsOnPasswordChange=this.state.terminateSessionsOnPasswordChange,e.ServiceSettings.SessionLengthWebInHours=this.parseIntNonZero(this.state.sessionLengthWebInHours),e.ServiceSettings.SessionLengthMobileInHours=this.parseIntNonZero(this.state.sessionLengthMobileInHours),e.ServiceSettings.SessionLengthSSOInHours=this.parseIntNonZero(this.state.sessionLengthSSOInHours),e.ServiceSettings.SessionCacheInMinutes=this.parseIntNonZero(this.state.sessionCacheInMinutes),e.ServiceSettings.SessionIdleTimeoutInMinutes=this.parseIntZeroOrMin(this.state.sessionIdleTimeoutInMinutes,5),e))),Qp(this,"renderSettings",(()=>{let e,t,s,a;return this.state.extendSessionLengthWithActivity?(e=T().createElement(N.FormattedMessage,Kp.webSessionHoursDesc_extendLength),t=T().createElement(N.FormattedMessage,Kp.mobileSessionHoursDesc_extendLength),s=T().createElement(N.FormattedMessage,Kp.ssoSessionHoursDesc_extendLength)):(e=T().createElement(N.FormattedMessage,Kp.webSessionHoursDesc),t=T().createElement(N.FormattedMessage,Kp.mobileSessionHoursDesc),s=T().createElement(N.FormattedMessage,Kp.ssoSessionHoursDesc)),this.props.license.Compliance&&!this.state.extendSessionLengthWithActivity&&(a=T().createElement(We,{id:"sessionIdleTimeoutInMinutes",type:"number",label:T().createElement(N.FormattedMessage,Kp.sessionIdleTimeout),placeholder:(0,N.defineMessage)({id:"admin.service.sessionIdleTimeoutEx",defaultMessage:'E.g.: "60"'}),helpText:T().createElement(N.FormattedMessage,Kp.sessionIdleTimeoutDesc),value:this.state.sessionIdleTimeoutInMinutes,onChange:this.handleChange,setByEnv:this.isSetByEnv("ServiceSettings.SessionIdleTimeoutInMinutes"),disabled:this.props.isDisabled})),T().createElement(Ue,null,T().createElement(W,{id:"extendSessionLengthWithActivity",label:T().createElement(N.FormattedMessage,Kp.extendSessionLengthActivity_label),helpText:T().createElement(N.FormattedMessage,Kp.extendSessionLengthActivity_helpText),value:this.state.extendSessionLengthWithActivity,onChange:this.handleChange,setByEnv:this.isSetByEnv("ServiceSettings.ExtendSessionLengthWithActivity"),disabled:this.props.isDisabled}),T().createElement(W,{id:"terminateSessionsOnPasswordChange",label:T().createElement(N.FormattedMessage,Kp.terminateSessionsOnPasswordChange_label),helpText:T().createElement(N.FormattedMessage,Kp.terminateSessionsOnPasswordChange_helpText),value:this.state.terminateSessionsOnPasswordChange,onChange:this.handleChange,setByEnv:this.isSetByEnv("ServiceSettings.TerminateSessionsOnPasswordChange"),disabled:this.props.isDisabled}),T().createElement(We,{id:"sessionLengthWebInHours",label:T().createElement(N.FormattedMessage,Kp.webSessionHours),placeholder:(0,N.defineMessage)(Kp.sessionHoursEx),helpText:e,value:this.state.sessionLengthWebInHours,onChange:this.handleChange,setByEnv:this.isSetByEnv("ServiceSettings.SessionLengthWebInHours"),disabled:this.props.isDisabled,type:"number"}),T().createElement(We,{id:"sessionLengthMobileInHours",label:T().createElement(N.FormattedMessage,Kp.mobileSessionHours),placeholder:(0,N.defineMessage)(Kp.sessionHoursEx),helpText:t,value:this.state.sessionLengthMobileInHours,onChange:this.handleChange,setByEnv:this.isSetByEnv("ServiceSettings.SessionLengthMobileInHours"),disabled:this.props.isDisabled,type:"number"}),T().createElement(We,{id:"sessionLengthSSOInHours",label:T().createElement(N.FormattedMessage,Kp.ssoSessionHours),placeholder:(0,N.defineMessage)(Kp.sessionHoursEx),helpText:s,value:this.state.sessionLengthSSOInHours,onChange:this.handleChange,setByEnv:this.isSetByEnv("ServiceSettings.SessionLengthSSOInHours"),disabled:this.props.isDisabled,type:"number"}),T().createElement(We,{id:"sessionCacheInMinutes",label:T().createElement(N.FormattedMessage,Kp.sessionCache),placeholder:(0,N.defineMessage)({id:"admin.service.sessionMinutesEx",defaultMessage:'E.g.: "10"'}),helpText:T().createElement(N.FormattedMessage,Kp.sessionCacheDesc),value:this.state.sessionCacheInMinutes,onChange:this.handleChange,setByEnv:this.isSetByEnv("ServiceSettings.SessionCacheInMinutes"),disabled:this.props.isDisabled,type:"number"}),a)}))}getStateFromConfig(e){return{extendSessionLengthWithActivity:e.ServiceSettings.ExtendSessionLengthWithActivity,terminateSessionsOnPasswordChange:e.ServiceSettings.TerminateSessionsOnPasswordChange,sessionLengthWebInHours:e.ServiceSettings.SessionLengthWebInHours,sessionLengthMobileInHours:e.ServiceSettings.SessionLengthMobileInHours,sessionLengthSSOInHours:e.ServiceSettings.SessionLengthSSOInHours,sessionCacheInMinutes:e.ServiceSettings.SessionCacheInMinutes,sessionIdleTimeoutInMinutes:e.ServiceSettings.SessionIdleTimeoutInMinutes}}renderTitle(){return T().createElement(N.FormattedMessage,Kp.title)}}}},metrics:{url:"environment/performance_monitoring",title:(0,N.defineMessage)({id:"admin.sidebar.metrics",defaultMessage:"Performance Monitoring"}),isHidden:vy.any(vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin"),vy.not(vy.userHasReadPermissionOnResource(y.ENVIRONMENT.PERFORMANCE_MONITORING))),schema:{id:"MetricsSettings",name:(0,N.defineMessage)({id:"admin.advance.metrics",defaultMessage:"Performance Monitoring"}),settings:[{type:"bool",key:"MetricsSettings.Enable",label:(0,N.defineMessage)({id:"admin.metrics.enableTitle",defaultMessage:"Enable Performance Monitoring:"}),help_text:(0,N.defineMessage)({id:"admin.metrics.enableDescription",defaultMessage:"When true, Mattermost will enable performance monitoring collection and profiling. Please see <link>documentation</link> to learn more about configuring performance monitoring for Mattermost."}),help_text_markdown:!1,help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.Uk.SETUP_PERFORMANCE_MONITORING},e)},isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.PERFORMANCE_MONITORING))},{type:"bool",key:"MetricsSettings.EnableClientMetrics",label:(0,N.defineMessage)({id:"admin.metrics.enableClientMetricsTitle",defaultMessage:"Enable Client Performance Monitoring:"}),help_text:(0,N.defineMessage)({id:"admin.metrics.enableClientMetricsDescription",defaultMessage:"When true, Mattermost will enable performance monitoring collection for web and desktop app users. Please see <link>documentation</link> to learn more about configuring performance monitoring for Mattermost."}),help_text_markdown:!1,help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.Uk.SETUP_PERFORMANCE_MONITORING},e)},isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.PERFORMANCE_MONITORING)),vy.configIsFalse("MetricsSettings","Enable"))},{type:"text",key:"MetricsSettings.ListenAddress",label:(0,N.defineMessage)({id:"admin.metrics.listenAddressTitle",defaultMessage:"Listen Address:"}),placeholder:(0,N.defineMessage)({id:"admin.metrics.listenAddressEx",defaultMessage:'E.g.: ":8067"'}),help_text:(0,N.defineMessage)({id:"admin.metrics.listenAddressDesc",defaultMessage:"The address the server will listen on to expose performance metrics."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.PERFORMANCE_MONITORING))}]}},developer:{url:"environment/developer",title:(0,N.defineMessage)({id:"admin.sidebar.developer",defaultMessage:"Developer"}),isHidden:vy.any(vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin"),vy.not(vy.userHasReadPermissionOnResource(y.ENVIRONMENT.DEVELOPER))),schema:{id:"ServiceSettings",name:(0,N.defineMessage)({id:"admin.developer.title",defaultMessage:"Developer Settings"}),settings:[{type:"bool",key:"ServiceSettings.EnableTesting",label:(0,N.defineMessage)({id:"admin.service.testingTitle",defaultMessage:"Enable Testing Commands:"}),help_text:(0,N.defineMessage)({id:"admin.service.testingDescription",defaultMessage:"When true, /test slash command is enabled to load test accounts, data and text formatting. Changing this requires a server restart before taking effect."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.DEVELOPER))},{type:"bool",key:"ServiceSettings.EnableDeveloper",label:(0,N.defineMessage)({id:"admin.service.developerTitle",defaultMessage:"Enable Developer Mode: "}),help_text:(0,N.defineMessage)({id:"admin.service.developerDesc",defaultMessage:"When true, JavaScript errors are shown in a purple bar at the top of the user interface. Not recommended for use in production. Changing this requires a server restart before taking effect."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.DEVELOPER))},{type:"bool",key:"ServiceSettings.EnableClientPerformanceDebugging",label:(0,N.defineMessage)({id:"admin.service.performanceDebuggingTitle",defaultMessage:"Enable Client Performance Debugging: "}),help_text:(0,N.defineMessage)({id:"admin.service.performanceDebuggingDescription",defaultMessage:"When true, users can access debugging settings for their account in **Settings > Advanced > Performance Debugging** to assist in diagnosing performance issues. Changing this requires a server restart before taking effect."}),help_text_markdown:!0,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.DEVELOPER))},{type:"text",key:"ServiceSettings.AllowedUntrustedInternalConnections",label:(0,N.defineMessage)({id:"admin.service.internalConnectionsTitle",defaultMessage:"Allow untrusted internal connections to: "}),placeholder:(0,N.defineMessage)({id:"admin.service.internalConnectionsEx",defaultMessage:"webhooks.internal.example.com 127.0.0.1 10.0.16.0/28"}),help_text:(0,N.defineMessage)({id:"admin.service.internalConnectionsDesc",defaultMessage:"A whitelist of local network addresses that can be requested by the Mattermost server on behalf of a client. Care should be used when configuring this setting to prevent unintended access to your local network. See <link>documentation</link> to learn more. Changing this requires a server restart before taking effect."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:"https://mattermost.com/pl/default-allow-untrusted-internal-connections"},e)},help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ENVIRONMENT.DEVELOPER))}]}}}},site:{icon:T().createElement(w.CogOutlineIcon,{size:16,color:"currentColor"}),sectionTitle:(0,N.defineMessage)({id:"admin.sidebar.site",defaultMessage:"Site Configuration"}),isHidden:vy.not(vy.userHasReadPermissionOnSomeResources(y.SITE)),subsections:{customization:{url:"site_config/customization",title:(0,N.defineMessage)({id:"admin.sidebar.customization",defaultMessage:"Customization"}),isHidden:vy.not(vy.userHasReadPermissionOnResource(y.SITE.CUSTOMIZATION)),schema:{id:"Customization",name:(0,N.defineMessage)({id:"admin.site.customization",defaultMessage:"Customization"}),settings:[{type:"text",key:"TeamSettings.SiteName",label:(0,N.defineMessage)({id:"admin.team.siteNameTitle",defaultMessage:"Site Name:"}),help_text:(0,N.defineMessage)({id:"admin.team.siteNameDescription",defaultMessage:'Name of service shown in login screens and UI. When not specified, it defaults to "Mattermost".'}),placeholder:(0,N.defineMessage)({id:"admin.team.siteNameExample",defaultMessage:'E.g.: "Mattermost"'}),max_length:x.YM.MAX_SITENAME_LENGTH,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.CUSTOMIZATION))},{type:"text",key:"TeamSettings.CustomDescriptionText",label:(0,N.defineMessage)({id:"admin.team.brandDescriptionTitle",defaultMessage:"Site Description: "}),help_text:(0,N.defineMessage)({id:"admin.team.brandDescriptionHelp",defaultMessage:'Displays as a title above the login form. When not specified, the phrase "Log in" is displayed.'}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.CUSTOMIZATION))},{type:"bool",key:"TeamSettings.EnableCustomBrand",label:(0,N.defineMessage)({id:"admin.team.brandTitle",defaultMessage:"Enable Custom Branding: "}),help_text:(0,N.defineMessage)({id:"admin.team.brandDesc",defaultMessage:"Enable custom branding to show an image of your choice, uploaded below, and some help text, written below, on the login page."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.CUSTOMIZATION))},{type:"custom",component:fn,key:"CustomBrandImage",isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.SITE.CUSTOMIZATION)),vy.stateIsFalse("TeamSettings.EnableCustomBrand"))},{type:"longtext",key:"TeamSettings.CustomBrandText",label:(0,N.defineMessage)({id:"admin.team.brandTextTitle",defaultMessage:"Custom Brand Text:"}),help_text:(0,N.defineMessage)({id:"admin.team.brandTextDescription",defaultMessage:"Text that will appear below your custom brand image on your login screen. Supports Markdown-formatted text. Maximum 500 characters allowed."}),max_length:x.YM.MAX_CUSTOM_BRAND_TEXT_LENGTH,isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.SITE.CUSTOMIZATION)),vy.stateIsFalse("TeamSettings.EnableCustomBrand"))},{type:"bool",key:"SupportSettings.EnableAskCommunityLink",label:(0,N.defineMessage)({id:"admin.support.enableAskCommunityTitle",defaultMessage:"Enable Ask Community Link:"}),help_text:(0,N.defineMessage)({id:"admin.support.enableAskCommunityDesc",defaultMessage:'When true, "Ask the community" link appears on the Mattermost user interface and Help Menu, which allows users to join the Mattermost Community to ask questions and help others troubleshoot issues. When false, the link is hidden from users.'}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.CUSTOMIZATION))},{type:"text",key:"SupportSettings.HelpLink",label:(0,N.defineMessage)({id:"admin.support.helpTitle",defaultMessage:"Help Link:"}),help_text:(0,N.defineMessage)({id:"admin.support.helpDesc",defaultMessage:"The URL for the Help link on the Mattermost login page, sign-up pages, and Help Menu. If this field is empty, the Help link is hidden from users."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.CUSTOMIZATION))},{type:"text",key:"SupportSettings.TermsOfServiceLink",label:(0,N.defineMessage)({id:"admin.support.termsTitle",defaultMessage:"Terms of Use Link:"}),help_text:(0,N.defineMessage)({id:"admin.support.termsDesc",defaultMessage:'Link to the terms under which users may use your online service. By default, this includes the "Mattermost Conditions of Use (End Users)" explaining the terms under which Mattermost software is provided to end users. If you change the default link to add your own terms for using the service you provide, your new terms must include a link to the default terms so end users are aware of the Mattermost Conditions of Use (End User) for Mattermost software.'}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.CUSTOMIZATION)),isHidden:vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin")},{type:"text",key:"SupportSettings.PrivacyPolicyLink",label:(0,N.defineMessage)({id:"admin.support.privacyTitle",defaultMessage:"Privacy Policy Link:"}),help_text:(0,N.defineMessage)({id:"admin.support.privacyDesc",defaultMessage:"The URL for the Privacy link on the login and sign-up pages. If this field is empty, the Privacy link is hidden from users."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.CUSTOMIZATION)),isHidden:vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin")},{type:"text",key:"SupportSettings.AboutLink",label:(0,N.defineMessage)({id:"admin.support.aboutTitle",defaultMessage:"About Link:"}),help_text:(0,N.defineMessage)({id:"admin.support.aboutDesc",defaultMessage:"The URL for the About link on the Mattermost login and sign-up pages. If this field is empty, the About link is hidden from users."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.CUSTOMIZATION)),isHidden:vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin")},{type:"text",key:"SupportSettings.ForgotPasswordLink",label:(0,N.defineMessage)({id:"admin.support.forgotPasswordTitle",defaultMessage:"Forgot Password Custom Link:"}),help_text:(0,N.defineMessage)({id:"admin.support.forgotPasswordDesc",defaultMessage:"The URL for the Forgot Password link on the Mattermost login page. If this field is empty the Forgot Password link takes users to the Password Reset page."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.CUSTOMIZATION)),isHidden:vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin")},{type:"text",key:"SupportSettings.ReportAProblemLink",label:(0,N.defineMessage)({id:"admin.support.problemTitle",defaultMessage:"Report a Problem Link:"}),help_text:(0,N.defineMessage)({id:"admin.support.problemDesc",defaultMessage:"The URL for the Report a Problem link in the Help Menu. If this field is empty, the link is removed from the Help Menu."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.CUSTOMIZATION)),isHidden:vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin")},{type:"text",key:"NativeAppSettings.AppDownloadLink",label:(0,N.defineMessage)({id:"admin.customization.appDownloadLinkTitle",defaultMessage:"Mattermost Apps Download Page Link:"}),help_text:(0,N.defineMessage)({id:"admin.customization.appDownloadLinkDesc",defaultMessage:'Add a link to a download page for the Mattermost apps. When a link is present, an option to "Download Mattermost Apps" will be added in the Product Menu so users can find the download page. Leave this field blank to hide the option from the Product Menu.'}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.CUSTOMIZATION)),isHidden:vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin")},{type:"text",key:"NativeAppSettings.AndroidAppDownloadLink",label:(0,N.defineMessage)({id:"admin.customization.androidAppDownloadLinkTitle",defaultMessage:"Android App Download Link:"}),help_text:(0,N.defineMessage)({id:"admin.customization.androidAppDownloadLinkDesc",defaultMessage:"Add a link to download the Android app. Users who access the site on a mobile web browser will be prompted with a page giving them the option to download the app. Leave this field blank to prevent the page from appearing."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.CUSTOMIZATION)),isHidden:vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin")},{type:"text",key:"NativeAppSettings.IosAppDownloadLink",label:(0,N.defineMessage)({id:"admin.customization.iosAppDownloadLinkTitle",defaultMessage:"iOS App Download Link:"}),help_text:(0,N.defineMessage)({id:"admin.customization.iosAppDownloadLinkDesc",defaultMessage:"Add a link to download the iOS app. Users who access the site on a mobile web browser will be prompted with a page giving them the option to download the app. Leave this field blank to prevent the page from appearing."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.CUSTOMIZATION)),isHidden:vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin")},{type:"bool",key:"ServiceSettings.EnableDesktopLandingPage",label:(0,N.defineMessage)({id:"admin.customization.enableDesktopLandingPageTitle",defaultMessage:"Enable Desktop App Landing Page:"}),help_text:(0,N.defineMessage)({id:"admin.customization.enableDesktopLandingPageDesc",defaultMessage:"Whether or not to prompt a user to use the Desktop App when they first use Mattermost."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.CUSTOMIZATION))}]}},system_properties:{url:"site_config/system_properties",title:(0,N.defineMessage)({id:"admin.sidebar.system_properties",defaultMessage:"System Properties"}),searchableStrings:jg,isHidden:vy.not(vy.all(vy.licensedForSku(x.gS.Enterprise),vy.configIsTrue("FeatureFlags","CustomProfileAttributes"))),schema:{id:"SystemProperties",component:qg}},localization:{url:"site_config/localization",title:(0,N.defineMessage)({id:"admin.sidebar.localization",defaultMessage:"Localization"}),isHidden:vy.not(vy.userHasReadPermissionOnResource(y.SITE.LOCALIZATION)),schema:{id:"LocalizationSettings",name:(0,N.defineMessage)({id:"admin.site.localization",defaultMessage:"Localization"}),settings:[{type:"language",key:"LocalizationSettings.DefaultServerLocale",label:(0,N.defineMessage)({id:"admin.general.localization.serverLocaleTitle",defaultMessage:"Default Server Language:"}),help_text:(0,N.defineMessage)({id:"admin.general.localization.serverLocaleDescription",defaultMessage:"Default language for system messages."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.LOCALIZATION))},{type:"language",key:"LocalizationSettings.DefaultClientLocale",label:(0,N.defineMessage)({id:"admin.general.localization.clientLocaleTitle",defaultMessage:"Default Client Language:"}),help_text:(0,N.defineMessage)({id:"admin.general.localization.clientLocaleDescription",defaultMessage:"Default language for newly created users and pages where the user hasn't logged in."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.LOCALIZATION))},{type:"language",key:"LocalizationSettings.AvailableLocales",label:(0,N.defineMessage)({id:"admin.general.localization.availableLocalesTitle",defaultMessage:"Available Languages:"}),help_text:(0,N.defineMessage)({id:"admin.general.localization.availableLocalesDescription",defaultMessage:"Set which languages are available for users in <strong>Settings > Display > Language</strong> (leave this field blank to have all supported languages available). If you're manually adding new languages, the <strong>Default Client Language</strong> must be added before saving this setting.\n \nWould like to help with translations? Join the <link>Mattermost Translation Server</link> to contribute."}),help_text_markdown:!1,help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:"http://translate.mattermost.com/"},e),strong:e=>T().createElement("strong",null,e)},multiple:!0,no_result:(0,N.defineMessage)({id:"admin.general.localization.availableLocalesNoResults",defaultMessage:"No results found"}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.LOCALIZATION))},{type:"bool",key:"LocalizationSettings.EnableExperimentalLocales",label:(0,N.defineMessage)({id:"admin.general.localization.enableExperimentalLocalesTitle",defaultMessage:"Enable Experimental Locales:"}),help_text:(0,N.defineMessage)({id:"admin.general.localization.enableExperimentalLocalesDescription",defaultMessage:"When true, it allows users to select experimental (e.g., in progress) languages."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.LOCALIZATION))}]}},users_and_teams:{url:"site_config/users_and_teams",title:(0,N.defineMessage)({id:"admin.sidebar.usersAndTeams",defaultMessage:"Users and Teams"}),isHidden:vy.not(vy.userHasReadPermissionOnResource(y.SITE.USERS_AND_TEAMS)),schema:{id:"UserAndTeamsSettings",name:(0,N.defineMessage)({id:"admin.site.usersAndTeams",defaultMessage:"Users and Teams"}),settings:[{type:"number",key:"TeamSettings.MaxUsersPerTeam",label:(0,N.defineMessage)({id:"admin.team.maxUsersTitle",defaultMessage:"Max Users Per Team:"}),help_text:(0,N.defineMessage)({id:"admin.team.maxUsersDescription",defaultMessage:"Maximum total number of users per team, including both active and inactive users."}),placeholder:(0,N.defineMessage)({id:"admin.team.maxUsersExample",defaultMessage:'E.g.: "25"'}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.USERS_AND_TEAMS))},{type:"number",key:"TeamSettings.MaxChannelsPerTeam",label:(0,N.defineMessage)({id:"admin.team.maxChannelsTitle",defaultMessage:"Max Channels Per Team:"}),help_text:(0,N.defineMessage)({id:"admin.team.maxChannelsDescription",defaultMessage:"Maximum total number of channels per team, including both active and archived channels."}),placeholder:(0,N.defineMessage)({id:"admin.team.maxChannelsExample",defaultMessage:'E.g.: "100"'}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.USERS_AND_TEAMS))},{type:"bool",key:"TeamSettings.EnableJoinLeaveMessageByDefault",label:(0,N.defineMessage)({id:"admin.team.enableJoinLeaveMessageTitle",defaultMessage:"Enable join/leave messages by default:"}),help_text:(0,N.defineMessage)({id:"admin.team.enableJoinLeaveMessageDescription",defaultMessage:"Choose the default configuration of system messages displayed when users join or leave channels. Users can override this default by configuring Join/Leave messages in Account Settings > Advanced."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.USERS_AND_TEAMS))},{type:"dropdown",key:"TeamSettings.RestrictDirectMessage",label:(0,N.defineMessage)({id:"admin.team.restrictDirectMessage",defaultMessage:"Enable users to open Direct Message channels with:"}),help_text:(0,N.defineMessage)({id:"admin.team.restrictDirectMessageDesc",defaultMessage:'"Any user on the Mattermost server" enables users to open a Direct Message channel with any user on the server, even if they are not on any teams together. "Any member of the team" limits the ability in the Direct Messages "More" menu to only open Direct Message channels with users who are in the same team. Note: This setting only affects the UI, not permissions on the server.'}),options:[{value:"any",display_name:(0,N.defineMessage)({id:"admin.team.restrict_direct_message_any",defaultMessage:"Any user on the Mattermost server"})},{value:"team",display_name:(0,N.defineMessage)({id:"admin.team.restrict_direct_message_team",defaultMessage:"Any member of the team"})}],isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.USERS_AND_TEAMS))},{type:"dropdown",key:"TeamSettings.TeammateNameDisplay",label:(0,N.defineMessage)({id:"admin.team.teammateNameDisplay",defaultMessage:"Teammate Name Display:"}),help_text:(0,N.defineMessage)({id:"admin.team.teammateNameDisplayDesc",defaultMessage:"Set how to display users' names in posts and the Direct Messages list."}),options:[{value:x.YM.TEAMMATE_NAME_DISPLAY.SHOW_USERNAME,display_name:(0,N.defineMessage)({id:"admin.team.showUsername",defaultMessage:"Show username (default)"})},{value:x.YM.TEAMMATE_NAME_DISPLAY.SHOW_NICKNAME_FULLNAME,display_name:(0,N.defineMessage)({id:"admin.team.showNickname",defaultMessage:"Show nickname if one exists, otherwise show first and last name"})},{value:x.YM.TEAMMATE_NAME_DISPLAY.SHOW_FULLNAME,display_name:(0,N.defineMessage)({id:"admin.team.showFullname",defaultMessage:"Show first and last name"})}],isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.USERS_AND_TEAMS))},{type:"bool",key:"TeamSettings.LockTeammateNameDisplay",label:(0,N.defineMessage)({id:"admin.lockTeammateNameDisplay",defaultMessage:"Lock Teammate Name Display for all users: "}),help_text:(0,N.defineMessage)({id:"admin.lockTeammateNameDisplayHelpText",defaultMessage:"When true, disables users' ability to change settings under <strong>Account Menu > Account Settings > Display > Teammate Name Display</strong>."}),help_text_values:{strong:e=>T().createElement("strong",null,e)},isHidden:vy.not(vy.licensedForFeature("LockTeammateNameDisplay")),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.USERS_AND_TEAMS))},{type:"bool",key:"TeamSettings.ExperimentalViewArchivedChannels",label:(0,N.defineMessage)({id:"admin.viewArchivedChannelsTitle",defaultMessage:"Allow users to view archived channels: "}),help_text:(0,N.defineMessage)({id:"admin.viewArchivedChannelsHelpText",defaultMessage:"When true, allows users to view, share and search for content of channels that have been archived. Users can only view the content in channels of which they were a member before the channel was archived."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.USERS_AND_TEAMS)),isHidden:vy.licensedForFeature("Cloud")},{type:"bool",key:"PrivacySettings.ShowEmailAddress",label:(0,N.defineMessage)({id:"admin.privacy.showEmailTitle",defaultMessage:"Show Email Address:"}),help_text:(0,N.defineMessage)({id:"admin.privacy.showEmailDescription",defaultMessage:"When false, hides the email address of members from everyone except System Administrators and the System Roles with read/write access to Compliance, Billing, or User Management."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.USERS_AND_TEAMS))},{type:"bool",key:"PrivacySettings.ShowFullName",label:(0,N.defineMessage)({id:"admin.privacy.showFullNameTitle",defaultMessage:"Show Full Name:"}),help_text:(0,N.defineMessage)({id:"admin.privacy.showFullNameDescription",defaultMessage:"When false, hides the full name of members from everyone except System Administrators. Username is shown in place of full name."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.USERS_AND_TEAMS))},{type:"bool",key:"TeamSettings.EnableCustomUserStatuses",label:(0,N.defineMessage)({id:"admin.team.customUserStatusesTitle",defaultMessage:"Enable Custom Statuses: "}),help_text:(0,N.defineMessage)({id:"admin.team.customUserStatusesDescription",defaultMessage:"When true, users can set a descriptive status message and status emoji visible to all users."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.USERS_AND_TEAMS))},{type:"bool",key:"TeamSettings.EnableLastActiveTime",label:(0,N.defineMessage)({id:"admin.team.lastActiveTimeTitle",defaultMessage:"Enable last active time: "}),help_text:(0,N.defineMessage)({id:"admin.team.lastActiveTimeDescription",defaultMessage:"When enabled, last active time allows users to see when someone was last online."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.USERS_AND_TEAMS))},{type:"bool",key:"ServiceSettings.EnableCustomGroups",label:(0,N.defineMessage)({id:"admin.team.customUserGroupsTitle",defaultMessage:"Enable Custom User Groups: "}),help_text:(0,N.defineMessage)({id:"admin.team.customUserGroupsDescription",defaultMessage:"When true, users with appropriate permissions can create custom user groups and enables at-mentions for those groups."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.USERS_AND_TEAMS)),isHidden:vy.not(vy.any(vy.licensedForSku(x.gS.Enterprise),vy.licensedForSku(x.gS.Professional)))},{type:"text",key:"ServiceSettings.RefreshPostStatsRunTime",label:(0,N.defineMessage)({id:"admin.team.refreshPostStatsRunTimeTitle",defaultMessage:"User Statistics Update Time:"}),help_text:(0,N.defineMessage)({id:"admin.team.refreshPostStatsRunTimeDescription",defaultMessage:"Set the server time for updating the user post statistics, including each user's total post count and the timestamp of their most recent post. Must be a 24-hour time stamp in the form HH:MM based on the local time of the server."}),placeholder:(0,N.defineMessage)({id:"admin.team.refreshPostStatsRunTimeExample",defaultMessage:'E.g.: "00:00"'}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.USERS_AND_TEAMS))}]}},notifications:{url:"environment/notifications",title:(0,N.defineMessage)({id:"admin.sidebar.notifications",defaultMessage:"Notifications"}),isHidden:vy.not(vy.userHasReadPermissionOnResource(y.SITE.NOTIFICATIONS)),schema:{id:"notifications",name:(0,N.defineMessage)({id:"admin.environment.notifications",defaultMessage:"Notifications"}),settings:[{type:"bool",key:"TeamSettings.EnableConfirmNotificationsToChannel",label:(0,N.defineMessage)({id:"admin.environment.notifications.enableConfirmNotificationsToChannel.label",defaultMessage:"Show @channel, @all, @here and group mention confirmation dialog:"}),help_text:(0,N.defineMessage)({id:"admin.environment.notifications.enableConfirmNotificationsToChannel.help",defaultMessage:"When true, users will be prompted to confirm when posting @channel, @all, @here and group mentions in channels with over five members. When false, no confirmation is required."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.NOTIFICATIONS))},{type:"bool",key:"EmailSettings.SendEmailNotifications",label:(0,N.defineMessage)({id:"admin.environment.notifications.enable.label",defaultMessage:"Enable Email Notifications:"}),help_text:(0,N.defineMessage)({id:"admin.environment.notifications.enable.help",defaultMessage:"Typically set to true in production. When true, Mattermost attempts to send email notifications. When false, email invitations and user account setting change emails are still sent as long as the SMTP server is configured. Developers may set this field to false to skip email setup for faster development."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.NOTIFICATIONS)),isHidden:vy.licensedForFeature("Cloud")},{type:"bool",key:"EmailSettings.EnablePreviewModeBanner",label:(0,N.defineMessage)({id:"admin.environment.notifications.enablePreviewModeBanner.label",defaultMessage:"Enable Preview Mode Banner:"}),help_text:(0,N.defineMessage)({id:"admin.environment.notifications.enablePreviewModeBanner.help",defaultMessage:"When true, the Preview Mode banner is displayed so users are aware that email notifications are disabled. When false, the Preview Mode banner is not displayed to users."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.SITE.NOTIFICATIONS)),vy.stateIsTrue("EmailSettings.SendEmailNotifications")),isHidden:vy.licensedForFeature("Cloud")},{type:"bool",key:"EmailSettings.EnableEmailBatching",label:(0,N.defineMessage)({id:"admin.environment.notifications.enableEmailBatching.label",defaultMessage:"Enable Email Batching:"}),help_text:(0,N.defineMessage)({id:"admin.environment.notifications.enableEmailBatching.help",defaultMessage:"When true, users will have email notifications for multiple direct messages and mentions combined into a single email. Batching will occur at a default interval of 15 minutes, configurable in Settings > Notifications."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.SITE.NOTIFICATIONS)),vy.stateIsFalse("EmailSettings.SendEmailNotifications"),vy.configIsTrue("ClusterSettings","Enable"),vy.configIsFalse("ServiceSettings","SiteURL")),isHidden:vy.licensedForFeature("Cloud")},{type:"dropdown",key:"EmailSettings.EmailNotificationContentsType",label:(0,N.defineMessage)({id:"admin.environment.notifications.contents.label",defaultMessage:"Email Notification Contents:"}),help_text:(0,N.defineMessage)({id:"admin.environment.notifications.contents.help",defaultMessage:"**Send full message contents** - Sender name and channel are included in email notifications. **Send generic description with only sender name** - Only the name of the person who sent the message, with no information about channel name or message contents are included in email notifications. Typically used for compliance reasons if Mattermost contains confidential information and policy dictates it cannot be stored in email."}),help_text_markdown:!0,options:[{value:"full",display_name:(0,N.defineMessage)({id:"admin.environment.notifications.contents.full",defaultMessage:"Send full message contents"})},{value:"generic",display_name:(0,N.defineMessage)({id:"admin.environment.notifications.contents.generic",defaultMessage:"Send generic description with only sender name"})}],isHidden:vy.not(vy.licensedForFeature("EmailNotificationContents")),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.NOTIFICATIONS))},{type:"text",key:"EmailSettings.FeedbackName",label:(0,N.defineMessage)({id:"admin.environment.notifications.notificationDisplay.label",defaultMessage:"Notification Display Name:"}),placeholder:(0,N.defineMessage)({id:"admin.environment.notifications.notificationDisplay.placeholder",defaultMessage:'Ex: "Mattermost Notification", "System", "No-Reply"'}),help_text:(0,N.defineMessage)({id:"admin.environment.notifications.notificationDisplay.help",defaultMessage:"Display name on email account used when sending notification emails from Mattermost."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.SITE.NOTIFICATIONS)),vy.stateIsFalse("EmailSettings.SendEmailNotifications")),validate:My((0,N.defineMessage)({id:"admin.environment.notifications.notificationDisplay.required",defaultMessage:'"Notification Display Name" is required'}))},{type:"text",key:"EmailSettings.FeedbackEmail",label:(0,N.defineMessage)({id:"admin.environment.notifications.feedbackEmail.label",defaultMessage:"Notification From Address:"}),placeholder:(0,N.defineMessage)({id:"admin.environment.notifications.feedbackEmail.placeholder",defaultMessage:'Ex: "mattermost@yourcompany.com", "admin@yourcompany.com"'}),help_text:(0,N.defineMessage)({id:"admin.environment.notifications.feedbackEmail.help",defaultMessage:"Email address displayed on email account used when sending notification emails from Mattermost."}),isHidden:vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin"),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.SITE.NOTIFICATIONS)),vy.stateIsFalse("EmailSettings.SendEmailNotifications")),validate:My((0,N.defineMessage)({id:"admin.environment.notifications.feedbackEmail.required",defaultMessage:'"Notification From Address" is required'}))},{type:"text",key:"SupportSettings.SupportEmail",label:(0,N.defineMessage)({id:"admin.environment.notifications.supportEmail.label",defaultMessage:"Support Email Address:"}),placeholder:(0,N.defineMessage)({id:"admin.environment.notifications.supportAddress.placeholder",defaultMessage:'Ex: "support@yourcompany.com", "admin@yourcompany.com"'}),help_text:(0,N.defineMessage)({id:"admin.environment.notifications.supportEmail.help",defaultMessage:"Email address displayed on support emails."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.CUSTOMIZATION)),validate:My((0,N.defineMessage)({id:"admin.environment.notifications.supportEmail.required",defaultMessage:'"Support Email Address" is required'}))},{type:"text",key:"EmailSettings.ReplyToAddress",label:(0,N.defineMessage)({id:"admin.environment.notifications.replyToAddress.label",defaultMessage:"Notification Reply-To Address:"}),placeholder:(0,N.defineMessage)({id:"admin.environment.notifications.replyToAddress.placeholder",defaultMessage:'Ex: "mattermost@yourcompany.com", "admin@yourcompany.com"'}),help_text:(0,N.defineMessage)({id:"admin.environment.notifications.replyToAddress.help",defaultMessage:"Email address used in the Reply-To header when sending notification emails from Mattermost."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.SITE.NOTIFICATIONS)),vy.stateIsFalse("EmailSettings.SendEmailNotifications"))},{type:"text",key:"EmailSettings.FeedbackOrganization",label:(0,N.defineMessage)({id:"admin.environment.notifications.feedbackOrganization.label",defaultMessage:"Notification Footer Mailing Address:"}),placeholder:(0,N.defineMessage)({id:"admin.environment.notifications.feedbackOrganization.placeholder",defaultMessage:'Ex: "© ABC Corporation, 565 Knight Way, Palo Alto, California, 94305, USA"'}),help_text:(0,N.defineMessage)({id:"admin.environment.notifications.feedbackOrganization.help",defaultMessage:'Organization name and address displayed on email notifications from Mattermost, such as "© ABC Corporation, 565 Knight Way, Palo Alto, California, 94305, USA". If the field is left empty, the organization name and address will not be displayed.'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.SITE.NOTIFICATIONS)),vy.stateIsFalse("EmailSettings.SendEmailNotifications"))},{type:"dropdown",key:"EmailSettings.PushNotificationContents",label:(0,N.defineMessage)({id:"admin.environment.notifications.pushContents.label",defaultMessage:"Push Notification Contents:"}),help_text:(0,N.defineMessage)({id:"admin.environment.notifications.pushContents.help",defaultMessage:"**Generic description with only sender name** - Includes only the name of the person who sent the message in push notifications, with no information about channel name or message contents. **Generic description with sender and channel names** - Includes the name of the person who sent the message and the channel it was sent in, but not the message contents. **Full message content sent in the notification payload** - Includes the message contents in the push notification payload that is relayed through Apple's Push Notification Service (APNS) or Google's Firebase Cloud Messaging (FCM). It is **highly recommended** this option only be used with an \"https\" protocol to encrypt the connection and protect confidential information sent in messages."}),help_text_markdown:!0,options:[{value:"generic_no_channel",display_name:(0,N.defineMessage)({id:"admin.environment.notifications.pushContents.genericNoChannel",defaultMessage:"Generic description with only sender name"})},{value:"generic",display_name:(0,N.defineMessage)({id:"admin.environment.notifications.pushContents.generic",defaultMessage:"Generic description with sender and channel names"})},{value:"full",display_name:(0,N.defineMessage)({id:"admin.environment.notifications.pushContents.full",defaultMessage:"Full message content sent in the notification payload"})}],isHidden:vy.licensedForFeature("IDLoadedPushNotifications"),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.NOTIFICATIONS))},{type:"dropdown",key:"EmailSettings.PushNotificationContents",label:(0,N.defineMessage)({id:"admin.environment.notifications.pushContents.label",defaultMessage:"Push Notification Contents:"}),help_text:(0,N.defineMessage)({id:"admin.environment.notifications.pushContents.withIdLoaded.help",defaultMessage:"**Generic description with only sender name** - Includes only the name of the person who sent the message in push notifications, with no information about channel name or message contents. **Generic description with sender and channel names** - Includes the name of the person who sent the message and the channel it was sent in, but not the message contents. **Full message content sent in the notification payload** - Includes the message contents in the push notification payload that is relayed through Apple's Push Notification Service (APNS) or Google's Firebase Cloud Messaging (FCM). It is **highly recommended** this option only be used with an \"https\" protocol to encrypt the connection and protect confidential information sent in messages. **Full message content fetched from the server on receipt** - The notification payload relayed through APNS or FCM contains no message content, instead it contains a unique message ID used to fetch message content from the server when a push notification is received by a device. If the server cannot be reached, a generic notification will be displayed."}),help_text_markdown:!0,options:[{value:"generic_no_channel",display_name:(0,N.defineMessage)({id:"admin.environment.notifications.pushContents.genericNoChannel",defaultMessage:"Generic description with only sender name"})},{value:"generic",display_name:(0,N.defineMessage)({id:"admin.environment.notifications.pushContents.generic",defaultMessage:"Generic description with sender and channel names"})},{value:"full",display_name:(0,N.defineMessage)({id:"admin.environment.notifications.pushContents.full",defaultMessage:"Full message content sent in the notification payload"})},{value:"id_loaded",display_name:(0,N.defineMessage)({id:"admin.environment.notifications.pushContents.idLoaded",defaultMessage:"Full message content fetched from the server on receipt"})}],isHidden:vy.not(vy.licensedForFeature("IDLoadedPushNotifications")),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.NOTIFICATIONS))},{type:"bool",key:"MetricsSettings.EnableNotificationMetrics",label:(0,N.defineMessage)({id:"admin.metrics.enableNotificationMetricsTitle",defaultMessage:"Enable Notification Monitoring:"}),help_text:(0,N.defineMessage)({id:"admin.metrics.enableNotificationMetricsDescription",defaultMessage:"When true, Mattermost will enable notification data collection for web and Desktop App users."}),isDisabled:vy.any(vy.configIsFalse("MetricsSettings","Enable")),isHidden:vy.configIsFalse("FeatureFlags","NotificationMonitoring")}]}},announcement_banner:{url:"site_config/announcement_banner",title:(0,N.defineMessage)({id:"admin.sidebar.announcement",defaultMessage:"System-wide Notifications"}),isHidden:vy.any(vy.not(vy.licensedForFeature("Announcement")),vy.not(vy.userHasReadPermissionOnResource(y.SITE.ANNOUNCEMENT_BANNER))),schema:{id:"AnnouncementSettings",name:(0,N.defineMessage)({id:"admin.site.announcementBanner",defaultMessage:"System-wide Notifications"}),settings:[{type:"bool",key:"AnnouncementSettings.EnableBanner",label:(0,N.defineMessage)({id:"admin.customization.announcement.enableBannerTitle",defaultMessage:"Enable System-wide Notifications:"}),help_text:(0,N.defineMessage)({id:"admin.customization.announcement.enableBannerDesc",defaultMessage:"Enable an announcement banner across all teams."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.ANNOUNCEMENT_BANNER))},{type:"text",key:"AnnouncementSettings.BannerText",label:(0,N.defineMessage)({id:"admin.customization.announcement.bannerTextTitle",defaultMessage:"Banner Text:"}),help_text:(0,N.defineMessage)({id:"admin.customization.announcement.bannerTextDesc",defaultMessage:"Text that will appear in the announcement banner."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.SITE.ANNOUNCEMENT_BANNER)),vy.stateIsFalse("AnnouncementSettings.EnableBanner"))},{type:"color",key:"AnnouncementSettings.BannerColor",label:(0,N.defineMessage)({id:"admin.customization.announcement.bannerColorTitle",defaultMessage:"Banner Color:"}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.SITE.ANNOUNCEMENT_BANNER)),vy.stateIsFalse("AnnouncementSettings.EnableBanner"))},{type:"color",key:"AnnouncementSettings.BannerTextColor",label:(0,N.defineMessage)({id:"admin.customization.announcement.bannerTextColorTitle",defaultMessage:"Banner Text Color:"}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.SITE.ANNOUNCEMENT_BANNER)),vy.stateIsFalse("AnnouncementSettings.EnableBanner"))},{type:"bool",key:"AnnouncementSettings.AllowBannerDismissal",label:(0,N.defineMessage)({id:"admin.customization.announcement.allowBannerDismissalTitle",defaultMessage:"Allow Banner Dismissal:"}),help_text:(0,N.defineMessage)({id:"admin.customization.announcement.allowBannerDismissalDesc",defaultMessage:"When true, users can dismiss the banner until its next update. When false, the banner is permanently visible until it is turned off by the System Admin."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.SITE.ANNOUNCEMENT_BANNER)),vy.stateIsFalse("AnnouncementSettings.EnableBanner"))}]},restrictedIndicator:Ay()},announcement_banner_feature_discovery:{url:"site_config/announcement_banner",isDiscovery:!0,title:(0,N.defineMessage)({id:"admin.sidebar.announcement",defaultMessage:"System-wide Notifications"}),isHidden:vy.any(vy.licensedForFeature("Announcement"),vy.not(vy.enterpriseReady)),schema:{id:"AnnouncementSettings",name:(0,N.defineMessage)({id:"admin.site.announcementBanner",defaultMessage:"System-wide Notifications"}),settings:[{type:"custom",component:()=>T().createElement(co,{featureName:"announcement_banner",minimumSKURequiredForFeature:x.gS.Professional,title:(0,N.defineMessage)({id:"admin.announcement_banner_feature_discovery.title",defaultMessage:"Create custom announcement banners with Mattermost Professional"}),copy:(0,N.defineMessage)({id:"admin.announcement_banner_feature_discovery.copy",defaultMessage:"Create announcement banners to notify all members of important information."}),learnMoreURL:"https://docs.mattermost.com/administration/announcement-banner.html",featureDiscoveryImage:T().createElement(Qr,{width:294,height:170})}),key:"AnnouncementBannerFeatureDiscovery",isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ABOUT.EDITION_AND_LICENSE))}]},restrictedIndicator:Ay(!0)},emoji:{url:"site_config/emoji",title:(0,N.defineMessage)({id:"admin.sidebar.emoji",defaultMessage:"Emoji"}),isHidden:vy.not(vy.userHasReadPermissionOnResource(y.SITE.EMOJI)),schema:{id:"EmojiSettings",name:(0,N.defineMessage)({id:"admin.site.emoji",defaultMessage:"Emoji"}),settings:[{type:"bool",key:"ServiceSettings.EnableEmojiPicker",label:(0,N.defineMessage)({id:"admin.customization.enableEmojiPickerTitle",defaultMessage:"Enable Emoji Picker:"}),help_text:(0,N.defineMessage)({id:"admin.customization.enableEmojiPickerDesc",defaultMessage:"The emoji picker allows users to select emoji to add as reactions or use in messages. Enabling the emoji picker with a large number of custom emoji may slow down performance."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.EMOJI))},{type:"bool",key:"ServiceSettings.EnableCustomEmoji",label:(0,N.defineMessage)({id:"admin.customization.enableCustomEmojiTitle",defaultMessage:"Enable Custom Emoji:"}),help_text:(0,N.defineMessage)({id:"admin.customization.enableCustomEmojiDesc",defaultMessage:"Enable users to create custom emoji for use in messages. When enabled, custom emoji settings can be accessed in Channels through the emoji picker."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.EMOJI))}]}},posts:{url:"site_config/posts",title:(0,N.defineMessage)({id:"admin.sidebar.posts",defaultMessage:"Posts"}),isHidden:vy.not(vy.userHasReadPermissionOnResource(y.SITE.POSTS)),schema:{id:"PostSettings",name:(0,N.defineMessage)({id:"admin.site.posts",defaultMessage:"Posts"}),settings:[{type:"bool",key:"ServiceSettings.ThreadAutoFollow",label:(0,N.defineMessage)({id:"admin.experimental.threadAutoFollow.title",defaultMessage:"Automatically Follow Threads"}),help_text:(0,N.defineMessage)({id:"admin.experimental.threadAutoFollow.desc",defaultMessage:"This setting must be enabled in order to enable Threaded Discussions. When enabled, threads a user starts, participates in, or is mentioned in are automatically followed. A new `Threads` table is added in the database that tracks threads and thread participants, and a `ThreadMembership` table tracks followed threads for each user and the read or unread state of each followed thread. When false, all backend operations to support Threaded Discussions are disabled."}),help_text_markdown:!0,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES)),isHidden:vy.licensedForFeature("Cloud")},{type:"dropdown",key:"ServiceSettings.CollapsedThreads",label:(0,N.defineMessage)({id:"admin.experimental.collapsedThreads.title",defaultMessage:"Threaded Discussions"}),help_text:(0,N.defineMessage)({id:"admin.experimental.collapsedThreads.desc",defaultMessage:"When enabled (default off), users must enable Threaded Discussions in Settings. When disabled, users cannot access Threaded Discussions. Please review our <linkKnownIssues>documentation for known issues</linkKnownIssues> and help provide feedback in our <linkCommunityChannel>Community Channel</linkCommunityChannel>."}),help_text_values:{linkKnownIssues:e=>T().createElement(ce.A,{location:"admin_console",href:"https://support.mattermost.com/hc/en-us/articles/4413183568276"},e),linkCommunityChannel:e=>T().createElement(ce.A,{location:"admin_console",href:"https://community-daily.mattermost.com/core/channels/folded-reply-threads"},e)},help_text_markdown:!1,options:[{value:"disabled",display_name:(0,N.defineMessage)({id:"admin.experimental.collapsedThreads.off",defaultMessage:"Disabled"})},{value:"default_off",display_name:(0,N.defineMessage)({id:"admin.experimental.collapsedThreads.default_off",defaultMessage:"Enabled (Default Off)"})},{value:"default_on",display_name:(0,N.defineMessage)({id:"admin.experimental.collapsedThreads.default_on",defaultMessage:"Enabled (Default On)"})},{value:"always_on",display_name:(0,N.defineMessage)({id:"admin.experimental.collapsedThreads.always_on",defaultMessage:"Always On"})}],isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"bool",key:"ServiceSettings.PostPriority",label:(0,N.defineMessage)({id:"admin.posts.postPriority.title",defaultMessage:"Message Priority"}),help_text:(0,N.defineMessage)({id:"admin.posts.postPriority.desc",defaultMessage:"When enabled, users can configure a visual indicator to communicate messages that are important or urgent. Learn more about message priority in our <link>documentation</link>."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:"https://mattermost.com/pl/message-priority/"},e)},help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.POSTS))},{type:"bool",key:"ServiceSettings.AllowPersistentNotifications",label:(0,N.defineMessage)({id:"admin.posts.persistentNotifications.title",defaultMessage:"Persistent Notifications"}),help_text:(0,N.defineMessage)({id:"admin.posts.persistentNotifications.desc",defaultMessage:"When enabled, users can trigger repeating notifications for the recipients of urgent messages. Learn more about message priority and persistent notifications in our <link>documentation</link>."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:"https://mattermost.com/pl/message-priority/"},e)},help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.POSTS)),isHidden:vy.configIsFalse("ServiceSettings","PostPriority")},{type:"bool",key:"ServiceSettings.ScheduledPosts",label:(0,N.defineMessage)({id:"admin.posts.scheduledPosts.title",defaultMessage:"Scheduled Posts"}),help_text:(0,N.defineMessage)({id:"admin.posts.scheduledPosts.description",defaultMessage:"When enabled, users can schedule and send messages in the future."}),help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.POSTS)),isHidden:vy.not(vy.licensed)},{type:"number",key:"ServiceSettings.PersistentNotificationMaxRecipients",label:(0,N.defineMessage)({id:"admin.posts.persistentNotificationsMaxRecipients.title",defaultMessage:"Maximum number of recipients for persistent notifications"}),help_text:(0,N.defineMessage)({id:"admin.posts.persistentNotificationsMaxRecipients.desc",defaultMessage:"Configure the maximum number of recipients to which users may send persistent notifications. Learn more about message priority and persistent notifications in our <link>documentation</link>."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:"https://mattermost.com/pl/message-priority/"},e)},help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.POSTS)),isHidden:vy.any(vy.configIsFalse("ServiceSettings","PostPriority"),vy.configIsFalse("ServiceSettings","AllowPersistentNotifications"))},{type:"number",key:"ServiceSettings.PersistentNotificationIntervalMinutes",label:(0,N.defineMessage)({id:"admin.posts.persistentNotificationsInterval.title",defaultMessage:"Frequency of persistent notifications"}),help_text:(0,N.defineMessage)({id:"admin.posts.persistentNotificationsInterval.desc",defaultMessage:"Configure the number of minutes between repeated notifications for urgent messages send with persistent notifications. Learn more about message priority and persistent notifications in our <link>documentation</link>."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:"https://mattermost.com/pl/message-priority/"},e)},help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.POSTS)),isHidden:vy.any(vy.configIsFalse("ServiceSettings","PostPriority"),vy.configIsFalse("ServiceSettings","AllowPersistentNotifications")),validate:yy(2,(0,N.defineMessage)({id:"admin.posts.persistentNotificationsInterval.minValue",defaultMessage:"Frequency cannot not be set to less than 2 minutes"}))},{type:"number",key:"ServiceSettings.PersistentNotificationMaxCount",label:(0,N.defineMessage)({id:"admin.posts.persistentNotificationsMaxCount.title",defaultMessage:"Total number of persistent notification per post"}),help_text:(0,N.defineMessage)({id:"admin.posts.persistentNotificationsMaxCount.desc",defaultMessage:"Configure the maximum number of times users may receive persistent notifications. Learn more about message priority and persistent notifications in our <link>documentation</link>."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:"https://mattermost.com/pl/message-priority/"},e)},help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.POSTS)),isHidden:vy.any(vy.configIsFalse("ServiceSettings","PostPriority"),vy.configIsFalse("ServiceSettings","AllowPersistentNotifications"))},{type:"bool",key:"ServiceSettings.AllowPersistentNotificationsForGuests",label:(0,N.defineMessage)({id:"admin.posts.persistentNotificationsGuests.title",defaultMessage:"Allow guests to send persistent notifications"}),help_text:(0,N.defineMessage)({id:"admin.posts.persistentNotificationsGuests.desc",defaultMessage:"Whether a guest is able to require persistent notifications. Learn more about message priority and persistent notifications in our <link>documentation</link>."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:"https://mattermost.com/pl/message-priority/"},e)},help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.POSTS)),isHidden:vy.any(vy.configIsFalse("GuestAccountsSettings","Enable"),vy.configIsFalse("ServiceSettings","PostPriority"),vy.configIsFalse("ServiceSettings","AllowPersistentNotifications"))},{type:"bool",key:"ServiceSettings.EnableLinkPreviews",label:(0,N.defineMessage)({id:"admin.customization.enableLinkPreviewsTitle",defaultMessage:"Enable website link previews:"}),help_text:(0,N.defineMessage)({id:"admin.customization.enableLinkPreviewsDesc",defaultMessage:"Display a preview of website content, image links and YouTube links below the message when available. The server must be connected to the internet and have access through the firewall (if applicable) to the websites from which previews are expected. Users can disable these previews from Settings > Display > Website Link Previews."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.POSTS))},{type:"text",key:"ServiceSettings.RestrictLinkPreviews",label:(0,N.defineMessage)({id:"admin.customization.restrictLinkPreviewsTitle",defaultMessage:"Disable website link previews from these domains:"}),help_text:(0,N.defineMessage)({id:"admin.customization.restrictLinkPreviewsDesc",defaultMessage:"Link previews and image link previews will not be shown for the above list of comma-separated domains."}),placeholder:(0,N.defineMessage)({id:"admin.customization.restrictLinkPreviewsExample",defaultMessage:'E.g.: "internal.mycompany.com, images.example.com"'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.SITE.POSTS)),vy.configIsFalse("ServiceSettings","EnableLinkPreviews"))},{type:"bool",key:"ServiceSettings.EnablePermalinkPreviews",label:(0,N.defineMessage)({id:"admin.customization.enablePermalinkPreviewsTitle",defaultMessage:"Enable message link previews:"}),help_text:(0,N.defineMessage)({id:"admin.customization.enablePermalinkPreviewsDesc",defaultMessage:"When enabled, links to Mattermost messages will generate a preview for any users that have access to the original message. Please review our <link>documentation</link> for details."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.Uk.SHARE_LINKS_TO_MESSAGES},e)},help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.POSTS))},{type:"bool",key:"ServiceSettings.EnableSVGs",label:(0,N.defineMessage)({id:"admin.customization.enableSVGsTitle",defaultMessage:"Enable SVGs:"}),help_text:(0,N.defineMessage)({id:"admin.customization.enableSVGsDesc",defaultMessage:"Enable previews for SVG file attachments and allow them to appear in messages. Enabling SVGs is not recommended in environments where not all users are trusted."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.POSTS))},{type:"bool",key:"ServiceSettings.EnableLatex",label:(0,N.defineMessage)({id:"admin.customization.enableLatexTitle",defaultMessage:"Enable Latex Rendering:"}),help_text:(0,N.defineMessage)({id:"admin.customization.enableLatexDesc",defaultMessage:"Enable rendering of Latex in code blocks. If false, Latex code will be highlighted only. Enabling Latex is not recommended in environments where not all users are trusted."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.POSTS))},{type:"bool",key:"ServiceSettings.EnableInlineLatex",label:(0,N.defineMessage)({id:"admin.customization.enableInlineLatexTitle",defaultMessage:"Enable Inline Latex Rendering:"}),help_text:(0,N.defineMessage)({id:"admin.customization.enableInlineLatexDesc",defaultMessage:"Enable rendering of inline Latex code. If false, Latex can only be rendered in a code block using syntax highlighting. Please review our <link>documentation</link> for details about text formatting."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.Uk.FORMAT_MESSAGES},e)},help_text_markdown:!1,isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.SITE.POSTS)),vy.stateIsFalse("ServiceSettings.EnableLatex"))},{type:"custom",component:Dn,key:"DisplaySettings.CustomURLSchemes",isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.POSTS))},{type:"number",key:"DisplaySettings.MaxMarkdownNodes",label:(0,N.defineMessage)({id:"admin.customization.maxMarkdownNodesTitle",defaultMessage:"Max Markdown Nodes:"}),help_text:(0,N.defineMessage)({id:"admin.customization.maxMarkdownNodesDesc",defaultMessage:"When rendering Markdown text in the mobile app, controls the maximum number of Markdown elements (eg. emojis, links, table cells, etc) that can be in a single piece of text. If set to 0, a default limit will be used."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.POSTS))},{type:"text",key:"ServiceSettings.GoogleDeveloperKey",label:(0,N.defineMessage)({id:"admin.service.googleTitle",defaultMessage:"Google API Key:"}),placeholder:(0,N.defineMessage)({id:"admin.service.googleExample",defaultMessage:'E.g.: "7rAh6iwQCkV4cA1Gsg3fgGOXJAQ43QV"'}),help_text:(0,N.defineMessage)({id:"admin.service.googleDescription",defaultMessage:"Set this key to enable the display of titles for embedded YouTube video previews. Without the key, YouTube previews will still be created based on hyperlinks appearing in messages or comments but they will not show the video title. View a <link>Google Developers Tutorial</link> for instructions on how to obtain a key and add YouTube Data API v3 as a service to your key."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:"https://www.youtube.com/watch?v=Im69kzhpR3I"},e)},help_text_markdown:!1,isHidden:vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin"),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.POSTS))},{type:"bool",key:"ServiceSettings.AllowSyncedDrafts",label:(0,N.defineMessage)({id:"admin.customization.allowSyncedDrafts",defaultMessage:"Enable server syncing of message drafts:"}),help_text:(0,N.defineMessage)({id:"admin.customization.allowSyncedDraftsDesc",defaultMessage:"When enabled, users message drafts will sync with the server so they can be accessed from any device. Users may opt out of this behaviour in Account settings."}),help_text_markdown:!1},{type:"number",key:"ServiceSettings.UniqueEmojiReactionLimitPerPost",label:(0,N.defineMessage)({id:"admin.customization.uniqueEmojiReactionLimitPerPost",defaultMessage:"Unique Emoji Reaction Limit:"}),placeholder:(0,N.defineMessage)({id:"admin.customization.uniqueEmojiReactionLimitPerPostPlaceholder",defaultMessage:"E.g.: 25"}),help_text:(0,N.defineMessage)({id:"admin.customization.uniqueEmojiReactionLimitPerPostDesc",defaultMessage:"The number of unique emoji reactions that can be added to a post. Increasing this limit could lead to poor client performance. Maximum is 500."}),help_text_markdown:!1,validate:e=>{const t=(s=500,a=(0,N.defineMessage)({id:"admin.customization.uniqueEmojiReactionLimitPerPost.maxValue",defaultMessage:"Cannot increase the limit to a value above 500."}),e=>new MM(e<=s,a))(e);var s,a;if(!t.isValid())return t;const n=yy(0,(0,N.defineMessage)({id:"admin.customization.uniqueEmojiReactionLimitPerPost.minValue",defaultMessage:"Cannot decrease the limit below 0."}))(e);return n.isValid()?new MM(!0,""):n}}]}},wrangler:{url:"site_config/wrangler",title:(0,N.defineMessage)({id:"admin.sidebar.move_thread",defaultMessage:"Move Thread (Beta)"}),isHidden:vy.any(vy.not(vy.userHasReadPermissionOnResource(y.SITE.POSTS)),vy.configIsFalse("FeatureFlags","MoveThreadsEnabled"),vy.not(vy.licensed)),schema:{id:"WranglerSettings",name:(0,N.defineMessage)({id:"admin.site.move_thread",defaultMessage:"Move Thread (Beta)"}),settings:[{type:"roles",multiple:!0,key:"WranglerSettings.PermittedWranglerRoles",label:(0,N.defineMessage)({id:"admin.experimental.PermittedMoveThreadRoles.title",defaultMessage:"Permitted Roles"}),help_text:(0,N.defineMessage)({id:"admin.experimental.PermittedMoveThreadRoles.desc",defaultMessage:"Choose who is allowed to move threads to other channels based on roles. (Other permissions below still apply)."}),help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"text",key:"WranglerSettings.AllowedEmailDomain",multiple:!0,label:(0,N.defineMessage)({id:"admin.experimental.allowedEmailDomain.title",defaultMessage:"Allowed Email Domain"}),help_text:(0,N.defineMessage)({id:"admin.experimental.allowedEmailDomain.desc",defaultMessage:"(Optional) When set, users must have an email ending in this domain to move threads. Multiple domains can be specified by separating them with commas."}),help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"number",key:"WranglerSettings.MoveThreadMaxCount",label:(0,N.defineMessage)({id:"admin.experimental.moveThreadMaxCount.title",defaultMessage:"Max Thread Count Move Size"}),help_text:(0,N.defineMessage)({id:"admin.experimental.moveThreadMaxCount.desc",defaultMessage:"The maximum number of messages in a thread that the plugin is allowed to move. Leave empty for unlimited messages."}),help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"bool",key:"WranglerSettings.MoveThreadToAnotherTeamEnable",label:(0,N.defineMessage)({id:"admin.experimental.moveThreadToAnotherTeamEnable.title",defaultMessage:"Enable Moving Threads To Different Teams"}),help_text:(0,N.defineMessage)({id:"admin.experimental.moveThreadToAnotherTeamEnable.desc",defaultMessage:"Control whether Wrangler is permitted to move message threads from one team to another or not."}),help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"bool",key:"WranglerSettings.MoveThreadFromPrivateChannelEnable",label:(0,N.defineMessage)({id:"admin.experimental.moveThreadFromPrivateChannelEnable.title",defaultMessage:"Enable Moving Threads From Private Channels"}),help_text:(0,N.defineMessage)({id:"admin.experimental.moveThreadFromPrivateChannelEnable.desc",defaultMessage:"Control whether Wrangler is permitted to move message threads from private channels or not."}),help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"bool",key:"WranglerSettings.MoveThreadFromDirectMessageChannelEnable",label:(0,N.defineMessage)({id:"admin.experimental.moveThreadFromDirectMessageChannelEnable.title",defaultMessage:"Enable Moving Threads From Direct Message Channels"}),help_text:(0,N.defineMessage)({id:"admin.experimental.moveThreadFromDirectMessageChannelEnable.desc",defaultMessage:"Control whether Wrangler is permitted to move message threads from direct message channels or not."}),help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"bool",key:"WranglerSettings.MoveThreadFromGroupMessageChannelEnable",label:(0,N.defineMessage)({id:"admin.experimental.moveThreadFromGroupMessageChannelEnable.title",defaultMessage:"Enable Moving Threads From Group Message Channels"}),help_text:(0,N.defineMessage)({id:"admin.experimental.moveThreadFromGroupMessageChannelEnable.desc",defaultMessage:"Control whether Wrangler is permitted to move message threads from group message channels or not."}),help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))}]}},file_sharing_downloads:{url:"site_config/file_sharing_downloads",title:(0,N.defineMessage)({id:"admin.sidebar.fileSharingDownloads",defaultMessage:"File Sharing and Downloads"}),isHidden:vy.any(vy.not(vy.userHasReadPermissionOnResource(y.SITE.FILE_SHARING_AND_DOWNLOADS))),schema:{id:"FileSharingDownloads",name:(0,N.defineMessage)({id:"admin.site.fileSharingDownloads",defaultMessage:"File Sharing and Downloads"}),settings:[{type:"bool",key:"FileSettings.EnableFileAttachments",label:(0,N.defineMessage)({id:"admin.file.enableFileAttachments",defaultMessage:"Allow File Sharing:"}),help_text:(0,N.defineMessage)({id:"admin.file.enableFileAttachmentsDesc",defaultMessage:"When false, disables file sharing on the server. All file and image uploads on messages are forbidden across clients and devices, including mobile."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.FILE_SHARING_AND_DOWNLOADS))},{type:"bool",key:"FileSettings.EnableMobileUpload",label:(0,N.defineMessage)({id:"admin.file.enableMobileUploadTitle",defaultMessage:"Allow File Uploads on Mobile:"}),help_text:(0,N.defineMessage)({id:"admin.file.enableMobileUploadDesc",defaultMessage:"When false, disables file uploads on mobile apps. If Allow File Sharing is set to true, users can still upload files from a mobile web browser."}),isHidden:vy.not(vy.licensedForFeature("Compliance")),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.FILE_SHARING_AND_DOWNLOADS))},{type:"bool",key:"FileSettings.EnableMobileDownload",label:(0,N.defineMessage)({id:"admin.file.enableMobileDownloadTitle",defaultMessage:"Allow File Downloads on Mobile:"}),help_text:(0,N.defineMessage)({id:"admin.file.enableMobileDownloadDesc",defaultMessage:"When false, disables file downloads on mobile apps. Users can still download files from a mobile web browser."}),isHidden:vy.not(vy.licensedForFeature("Compliance")),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.FILE_SHARING_AND_DOWNLOADS))}]}},public_links:{url:"site_config/public_links",title:(0,N.defineMessage)({id:"admin.sidebar.publicLinks",defaultMessage:"Public Links"}),isHidden:vy.any(vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin"),vy.not(vy.userHasReadPermissionOnResource(y.SITE.PUBLIC_LINKS))),schema:{id:"PublicLinkSettings",name:(0,N.defineMessage)({id:"admin.site.public_links",defaultMessage:"Public Links"}),settings:[{type:"bool",key:"FileSettings.EnablePublicLink",label:(0,N.defineMessage)({id:"admin.image.shareTitle",defaultMessage:"Enable Public File Links: "}),help_text:(0,N.defineMessage)({id:"admin.image.shareDescription",defaultMessage:"Allow users to share public links to files and images."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.PUBLIC_LINKS))},{type:"generated",key:"FileSettings.PublicLinkSalt",label:(0,N.defineMessage)({id:"admin.image.publicLinkTitle",defaultMessage:"Public Link Salt:"}),help_text:(0,N.defineMessage)({id:"admin.image.publicLinkDescription",defaultMessage:'32-character salt added to signing of public links. Randomly generated on install. Select "Regenerate" to create new salt.'}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.PUBLIC_LINKS))}]}},notices:{url:"site_config/notices",title:(0,N.defineMessage)({id:"admin.sidebar.notices",defaultMessage:"Notices"}),isHidden:vy.not(vy.userHasReadPermissionOnResource(y.SITE.NOTICES)),schema:{id:"NoticesSettings",name:(0,N.defineMessage)({id:"admin.site.notices",defaultMessage:"Notices"}),settings:[{type:"bool",key:"AnnouncementSettings.AdminNoticesEnabled",label:(0,N.defineMessage)({id:"admin.notices.enableAdminNoticesTitle",defaultMessage:"Enable Admin Notices: "}),help_text:(0,N.defineMessage)({id:"admin.notices.enableAdminNoticesDescription",defaultMessage:"When enabled, System Admins will receive notices about available server upgrades and relevant system administration features. <link>Learn more about notices</link> in our documentation."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.Uk.IN_PRODUCT_NOTICES},e)},help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.NOTICES))},{type:"bool",key:"AnnouncementSettings.UserNoticesEnabled",label:(0,N.defineMessage)({id:"admin.notices.enableEndUserNoticesTitle",defaultMessage:"Enable End User Notices: "}),help_text:(0,N.defineMessage)({id:"admin.notices.enableEndUserNoticesDescription",defaultMessage:"When enabled, all users will receive notices about available client upgrades and relevant end user features to improve user experience. <link>Learn more about notices</link> in our documentation."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.Uk.IN_PRODUCT_NOTICES},e)},help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.NOTICES))}]}},ip_filtering:{url:"site_config/ip_filtering",title:Cy.ip_filtering_title,isHidden:vy.not(vy.all(vy.configIsTrue("FeatureFlags","CloudIPFiltering"),vy.licensedForSku("enterprise"))),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.SITE.IP_FILTERING)),searchableStrings:[Cy.ip_filtering_title],schema:{id:"IPFiltering",component:()=>{const e=(0,a.useDispatch)(),{formatMessage:t}=(0,N.useIntl)(),[s,n]=(0,_.useState)(null),[i,r]=(0,_.useState)(null),[o,l]=(0,_.useState)(!1),[d,c]=(0,_.useState)(null),[m,u]=(0,_.useState)(!1),[p,g]=(0,_.useState)(!1),[f,E]=(0,_.useState)(""),[b,v]=(0,_.useState)(""),[M,y]=(0,_.useState)(null),S={SAVING_PREVIOUS_CHANGE:t({id:"admin.ip_filtering.saving_previous_change",defaultMessage:"Other changes being applied..."}),SAVING_CHANGES:t({id:"admin.ip_filtering.saving_changes",defaultMessage:"Applying changes..."})},A={SAVING_PREVIOUS_CHANGE:t({id:"admin.ip_filtering.saving_previous_change_description",defaultMessage:"Please wait while changes from another admin are applied."}),SAVING_CHANGES:t({id:"admin.ip_filtering.saving_changes_description",defaultMessage:"Please wait while your changes are applied."})};(0,_.useEffect)((()=>{R(),(0,h.pg)((e=>{n(e),r(e)})),(0,h.nn)((e=>{c(e.ip)}))}),[]),(0,_.useEffect)((()=>{if(null===s||null===i)return;const e=JSON.stringify(s)!==JSON.stringify(i);l(e)}),[s,i]);const C=()=>!p||null==s||!s.length||null!==s&&null!==d&&function(e,t){const s=yl().parse(e);for(const e of t){const t=e.cidr_block,[a,n]=yl().parseCIDR(t);if(s.kind()===a.kind()&&s.match([a,n]))return!0}return!1}(d,s);async function R(){const s=await e((0,Js.JN)());if(s.data){const{data:a}=s;E(a.state),""===f&&"stable"!==a.state&&(u(!0),v(S.SAVING_PREVIOUS_CHANGE),I(A.SAVING_PREVIOUS_CHANGE)),"stable"!==a.state&&function(){let s=0;const a=setInterval((async()=>{if(s>15)return y(T().createElement(T().Fragment,null,T().createElement(w.AlertOutlineIcon,{size:16})," ",t({id:"admin.ip_filtering.failed_to_fetch_installation_state",defaultMessage:"Failed to fetch your workspace's status. Please try again later or contact support."}))),void clearInterval(a);const n=await e((0,Js.JN)());if(s++,n.data){const{data:e}=n;"stable"===e.state&&(u(!1),y(null),clearInterval(a)),E(e.state)}}),5e3)}()}}function I(e){y(T().createElement("div",{className:"saving-message-description"},e))}function O(e,t){n((s=>{if(!s)return[e];const a=s.findIndex((e=>e.cidr_block===(null==t?void 0:t.cidr_block)));if(-1===a)return null;const n=[...s];return n[a]=e,n})),l(!0)}function P(t){e((0,ea.O)(x.IQ.IP_FILTERING_DELETE_CONFIRMATION_MODAL)),n((e=>{var s;return null!==(s=null==e?void 0:e.filter((e=>e.cidr_block!==t.cidr_block)))&&void 0!==s?s:null})),l(!0)}function k(t){e((0,ea.O)(x.IQ.IP_FILTERING_ADD_EDIT_MODAL)),n((e=>[...null!=e?e:[],t])),l(!0)}function D(){E("update-requested"),u(!0),v(S.SAVING_CHANGES),I(A.SAVING_CHANGES),e((0,ea.O)(x.IQ.IP_FILTERING_SAVE_CONFIRMATION_MODAL)),(0,h.R6)(null!=s?s:[],(e=>{n(e),r(e),R()}))}return(0,_.useEffect)((()=>{var e;null!=s&&s.length&&g(null!==(e=null==s?void 0:s.some((e=>!0===e.enabled)))&&void 0!==e&&e)}),[s]),(0,_.useEffect)((()=>{n(!1===p?(null==s?void 0:s.map((e=>Ul(Ul({},e),{},{enabled:!1}))))||[]:(null==s?void 0:s.map((e=>Ul(Ul({},e),{},{enabled:!0}))))||[])}),[p]),T().createElement("div",{className:"IPFiltering wrapper--fixed"},T().createElement(et,null,t({id:"admin.ip_filtering.ip_filtering",defaultMessage:"IP Filtering"})),T().createElement("div",{className:"MainPanel admin-console__wrapper"},T().createElement(T().Fragment,null,T().createElement(Fl,{filterToggle:p,setFilterToggle:g}),null!==s&&null!==d&&p&&T().createElement(Dl,{ipFilters:s,currentUsersIP:d,setShowAddModal:function(){e((0,ea.q)({modalId:x.IQ.IP_FILTERING_ADD_EDIT_MODAL,dialogType:Sl,dialogProps:{currentIP:d,onSave:k}}))},setEditFilter:function(t){e((0,ea.q)({modalId:x.IQ.IP_FILTERING_ADD_EDIT_MODAL,dialogType:Sl,dialogProps:{currentIP:d,onSave:O,existingRange:t}}))},handleConfirmDeleteFilter:function(t){e((0,ea.q)({modalId:x.IQ.IP_FILTERING_DELETE_CONFIRMATION_MODAL,dialogType:Al,dialogProps:{onConfirm:P,filterToDelete:t}}))},currentIPIsInRange:C()}))),T().createElement(tl,{saving:m,saveNeeded:o||"stable"!==f,isDisabled:!C()||"stable"!==f,onClick:function(){const a={onConfirm:D};null!=s&&s.length||!p?null!=s&&s.length&&!p||(null==s||!s.length)&&!p?(a.title=t({id:"admin.ip_filtering.disable_ip_filtering",defaultMessage:"Disable IP Filtering"}),a.subtitle=T().createElement(N.FormattedMessage,{id:"admin.ip_filtering.turn_off_ip_filtering",defaultMessage:"Are you sure you want to turn off IP Filtering? <strong>All IP addresses will have access to the workspace.</strong>",values:{strong:e=>T().createElement("strong",null,e)}}),a.buttonText=t({id:"admin.ip_filtering.yes_disable_ip_filtering",defaultMessage:"Yes, disable IP Filtering"}),a.includeDisclaimer=!1):(a.title=t({id:"admin.ip_filtering.apply_ip_filter_changes",defaultMessage:"Apply IP Filter Changes"}),a.subtitle=T().createElement(N.FormattedMessage,{id:"admin.ip_filtering.apply_ip_filter_changes_are_you_sure",defaultMessage:"Are you sure you want to apply these IP Filter changes? <strong>Users with IP addresses outside of the IP ranges provided will no longer have access to the workspace.</strong>",values:{strong:e=>T().createElement("strong",null,e)}}),a.buttonText=t({id:"admin.ip_filtering.apply_changes",defaultMessage:"Yes, apply changes"}),a.includeDisclaimer=!0):(a.title=t({id:"admin.ip_filtering.apply_ip_filter_changes",defaultMessage:"Apply IP Filter Changes"}),a.subtitle=T().createElement(N.FormattedMessage,{id:"admin.ip_filtering.no_filters_added",defaultMessage:"Are you sure you want to apply these IP filter changes? There are currently no filters added, so <strong>all IP addresses will have access to the workspace.</strong>",values:{strong:e=>T().createElement("strong",null,e)}}),a.buttonText=t({id:"admin.ip_filtering.apply_changes",defaultMessage:"Yes, apply changes"}),a.includeDisclaimer=!1),e((0,ea.q)({modalId:x.IQ.IP_FILTERING_SAVE_CONFIRMATION_MODAL,dialogType:Bl,dialogProps:a}))},serverError:null!==M?M:C()?void 0:T().createElement(T().Fragment,null,T().createElement(w.AlertOutlineIcon,{size:16})," ",t({id:"admin.ip_filtering.error_on_page",defaultMessage:"Your IP address is not included in your filters"})),savingMessage:b,cancelLink:""}))}}},secure_connection_detail:{url:"site_config/secure_connections/:connection_id(create|".concat(_s.Zv,")"),isHidden:vy.not(vy.all(vy.configIsTrue("ConnectedWorkspacesSettings","EnableSharedChannels"),vy.configIsTrue("ConnectedWorkspacesSettings","EnableRemoteClusterService"),vy.licensedForFeature("SharedChannels"))),schema:{id:"SecureConnectionDetail",component:Cp}},secure_connections:{url:"site_config/secure_connections",title:(0,N.defineMessage)({id:"admin.sidebar.secureConnections",defaultMessage:"Connected Workspaces (Beta)"}),searchableStrings:rp,isHidden:vy.not(vy.all(vy.configIsTrue("ConnectedWorkspacesSettings","EnableSharedChannels"),vy.configIsTrue("ConnectedWorkspacesSettings","EnableRemoteClusterService"),vy.licensedForFeature("SharedChannels"))),schema:{id:"SecureConnections",component:function(){var e;const[t,{loading:s,error:a,fetch:n}]=(()=>{const[e,t]=(0,_.useState)(),[s,a]=(0,_.useState)(!0),{loading:n,error:i}=(e=>{const t=Bm(e);return{error:Hm(e)?e:void 0,loading:t}})(s),r=async()=>{a(!0);try{const e=await de.mT.getRemoteClusters({excludePlugins:!0});t(null!=e&&e.length?e:void 0),a(!1)}catch(e){a(e)}};return(0,_.useEffect)((()=>{r()}),[]),[e,{loading:n,fetch:r,error:i}]})(),i="api.remote_cluster.service_not_enabled.app_error"===(null==a?void 0:a.server_error_id),r=s||i,o=s?T().createElement(At.A,null):T().createElement(sp,{disabled:r,serviceNotRunning:i});return T().createElement("div",{className:"wrapper--fixed","data-testid":"secureConnectionsSection"},T().createElement(et,null,T().createElement(N.FormattedMessage,ip.pageTitle)),T().createElement(tp,null,T().createElement(Vm,null,T().createElement(jm,null,T().createElement("hgroup",null,T().createElement(N.FormattedMessage,Object.assign({tagName:Um},ip.title)),T().createElement(N.FormattedMessage,ip.subtitle)),T().createElement(np,{disabled:r})),null!==(e=null==t?void 0:t.map((e=>T().createElement(Ju,{key:e.remote_id,remoteCluster:e,onDeleteSuccess:n,disabled:r}))))&&void 0!==e?e:o)))}}}}},authentication:{icon:T().createElement(w.ShieldOutlineIcon,{size:16,color:"currentColor"}),sectionTitle:(0,N.defineMessage)({id:"admin.sidebar.authentication",defaultMessage:"Authentication"}),isHidden:vy.not(vy.userHasReadPermissionOnSomeResources(y.AUTHENTICATION)),subsections:{signup:{url:"authentication/signup",title:(0,N.defineMessage)({id:"admin.sidebar.signup",defaultMessage:"Signup"}),isHidden:vy.not(vy.userHasReadPermissionOnResource(y.AUTHENTICATION.SIGNUP)),schema:{id:"SignupSettings",name:(0,N.defineMessage)({id:"admin.authentication.signup",defaultMessage:"Signup"}),settings:[{type:"bool",key:"TeamSettings.EnableUserCreation",label:(0,N.defineMessage)({id:"admin.team.userCreationTitle",defaultMessage:"Enable Account Creation: "}),help_text:(0,N.defineMessage)({id:"admin.team.userCreationDescription",defaultMessage:"When false, the ability to create accounts is disabled, and selecting Create Account displays an error. Applies to Email, OpenID Connect, and OAuth 2.0 user account authentication."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SIGNUP))},{type:"text",key:"TeamSettings.RestrictCreationToDomains",label:(0,N.defineMessage)({id:"admin.team.restrictTitle",defaultMessage:"Restrict new system and team members to specified email domains:"}),help_text:(0,N.defineMessage)({id:"admin.team.restrictDescription",defaultMessage:'New user accounts are restricted to the above specified email domain (e.g. "mattermost.com") or list of comma-separated domains (e.g. "corp.mattermost.com, mattermost.com"). New teams can only be created by users from the above domain(s). This setting only affects email login for users.'}),placeholder:(0,N.defineMessage)({id:"admin.team.restrictExample",defaultMessage:'E.g.: "corp.mattermost.com, mattermost.com"'}),isHidden:vy.all(vy.licensed,vy.not(vy.licensedForSku("starter"))),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SIGNUP))},{type:"text",key:"TeamSettings.RestrictCreationToDomains",label:(0,N.defineMessage)({id:"admin.team.restrictTitle",defaultMessage:"Restrict new system and team members to specified email domains:"}),help_text:(0,N.defineMessage)({id:"admin.team.restrictGuestDescription",defaultMessage:'New user accounts are restricted to the above specified email domain (e.g. "mattermost.com") or list of comma-separated domains (e.g. "corp.mattermost.com, mattermost.com"). New teams can only be created by users from the above domain(s). This setting affects email login for users. For Guest users, please add domains under Signup > Guest Access.'}),placeholder:(0,N.defineMessage)({id:"admin.team.restrictExample",defaultMessage:'E.g.: "corp.mattermost.com, mattermost.com"'}),isHidden:vy.any(vy.not(vy.licensed),vy.licensedForSku("starter")),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SIGNUP))},{type:"bool",key:"TeamSettings.EnableOpenServer",label:(0,N.defineMessage)({id:"admin.team.openServerTitle",defaultMessage:"Enable Open Server: "}),help_text:(0,N.defineMessage)({id:"admin.team.openServerDescription",defaultMessage:"When true, anyone can sign up for a user account on this server without the need to be invited. Applies to Email-based signups only."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SIGNUP))},{type:"bool",key:"ServiceSettings.EnableEmailInvitations",label:(0,N.defineMessage)({id:"admin.team.emailInvitationsTitle",defaultMessage:"Enable Email Invitations: "}),help_text:(0,N.defineMessage)({id:"admin.team.emailInvitationsDescription",defaultMessage:"When true users can invite others to the system using email."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SIGNUP)),isHidden:vy.licensedForFeature("Cloud")},{type:"button",key:"InvalidateEmailInvitesButton",action:h.d2,label:(0,N.defineMessage)({id:"admin.team.invalidateEmailInvitesTitle",defaultMessage:"Invalidate pending email invites"}),help_text:(0,N.defineMessage)({id:"admin.team.invalidateEmailInvitesDescription",defaultMessage:"This will invalidate active email invitations that have not been accepted by the user. By default email invitations expire after 48 hours."}),error_message:(0,N.defineMessage)({id:"admin.team.invalidateEmailInvitesFail",defaultMessage:"Unable to invalidate pending email invites: {error}"}),success_message:(0,N.defineMessage)({id:"admin.team.invalidateEmailInvitesSuccess",defaultMessage:"Pending email invitations invalidated successfully"}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SIGNUP))}]}},email:{url:"authentication/email",title:(0,N.defineMessage)({id:"admin.sidebar.email",defaultMessage:"Email"}),isHidden:vy.not(vy.userHasReadPermissionOnResource(y.AUTHENTICATION.EMAIL)),schema:{id:"EmailSettings",name:(0,N.defineMessage)({id:"admin.authentication.email",defaultMessage:"Email"}),settings:[{type:"bool",key:"EmailSettings.EnableSignUpWithEmail",label:(0,N.defineMessage)({id:"admin.email.allowSignupTitle",defaultMessage:"Enable account creation with email:"}),help_text:(0,N.defineMessage)({id:"admin.email.allowSignupDescription",defaultMessage:"When true, Mattermost allows account creation using email and password. This value should be false only when you want to limit sign up to a single sign-on service like AD/LDAP, SAML or GitLab."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.EMAIL))},{type:"bool",key:"EmailSettings.RequireEmailVerification",label:(0,N.defineMessage)({id:"admin.email.requireVerificationTitle",defaultMessage:"Require Email Verification: "}),help_text:(0,N.defineMessage)({id:"admin.email.requireVerificationDescription",defaultMessage:"Typically set to true in production. When true, Mattermost requires email verification after account creation prior to allowing login. Developers may set this field to false to skip sending verification emails for faster development."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.EMAIL)),isHidden:vy.licensedForFeature("Cloud")},{type:"bool",key:"EmailSettings.EnableSignInWithEmail",label:(0,N.defineMessage)({id:"admin.email.allowEmailSignInTitle",defaultMessage:"Enable sign-in with email:"}),help_text:(0,N.defineMessage)({id:"admin.email.allowEmailSignInDescription",defaultMessage:"When true, Mattermost allows users to sign in using their email and password."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.EMAIL))},{type:"bool",key:"EmailSettings.EnableSignInWithUsername",label:(0,N.defineMessage)({id:"admin.email.allowUsernameSignInTitle",defaultMessage:"Enable sign-in with username:"}),help_text:(0,N.defineMessage)({id:"admin.email.allowUsernameSignInDescription",defaultMessage:"When true, users with email login can sign in using their username and password. This setting does not affect AD/LDAP login."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.EMAIL))}]}},password:{url:"authentication/password",title:(0,N.defineMessage)({id:"admin.sidebar.password",defaultMessage:"Password"}),searchableStrings:zd,isHidden:vy.not(vy.userHasReadPermissionOnResource(y.AUTHENTICATION.PASSWORD)),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.PASSWORD)),schema:{id:"PasswordSettings",component:class extends Nt{constructor(e){super(e),Wd(this,"getConfigFromState",(e=>{var t,s;return e.PasswordSettings&&(e.PasswordSettings.MinimumLength=this.parseIntNonZero(null!==(t=this.state.passwordMinimumLength)&&void 0!==t?t:"",x.Ay.MIN_PASSWORD_LENGTH),e.PasswordSettings.Lowercase=this.state.passwordLowercase,e.PasswordSettings.Uppercase=this.state.passwordUppercase,e.PasswordSettings.Number=this.state.passwordNumber,e.PasswordSettings.Symbol=this.state.passwordSymbol,e.PasswordSettings.EnableForgotLink=this.state.passwordEnableForgotLink),e.ServiceSettings&&(e.ServiceSettings.MaximumLoginAttempts=this.parseIntNonZero(null!==(s=this.state.maximumLoginAttempts)&&void 0!==s?s:"",x.Ay.MAXIMUM_LOGIN_ATTEMPTS_DEFAULT)),e})),Wd(this,"getSampleErrorMsg",(()=>this.props.config.PasswordSettings.MinimumLength>x.Ay.MAX_PASSWORD_LENGTH||this.props.config.PasswordSettings.MinimumLength<x.Ay.MIN_PASSWORD_LENGTH?T().createElement(N.FormattedMessage,Vd.passwordMinLength):T().createElement(N.FormattedMessage,Object.assign({},Yd(this.state.passwordLowercase,this.state.passwordUppercase,this.state.passwordNumber,this.state.passwordSymbol),{values:{min:this.state.passwordMinimumLength||x.Ay.MIN_PASSWORD_LENGTH,max:x.Ay.MAX_PASSWORD_LENGTH}})))),Wd(this,"handleBooleanChange",(e=>(t,s)=>{this.handleChange(e,s)})),Wd(this,"renderSettings",(()=>{var e,t,s,a;return T().createElement(Ue,null,T().createElement("div",null,T().createElement(We,{id:"passwordMinimumLength",label:T().createElement(N.FormattedMessage,Vd.minimumLength),placeholder:(0,N.defineMessage)({id:"admin.password.minimumLengthExample",defaultMessage:'E.g.: "5"'}),helpText:T().createElement(N.FormattedMessage,Object.assign({},Vd.minimumLengthDescription,{values:{min:x.Ay.MIN_PASSWORD_LENGTH,max:x.Ay.MAX_PASSWORD_LENGTH}})),value:null!==(e=this.state.passwordMinimumLength)&&void 0!==e?e:"",onChange:this.handleChange,setByEnv:this.isSetByEnv("PasswordSettings.MinimumLength"),disabled:this.props.isDisabled}),T().createElement(G,{label:T().createElement(N.FormattedMessage,Vd.passwordRequirements)},T().createElement("ul",{className:"admin-console__checkbox-list"},T().createElement("div",null,T().createElement(qd,{id:"admin.password.lowercase",label:T().createElement(N.FormattedMessage,Vd.lowercase),defaultChecked:this.state.passwordLowercase,onChange:this.handleBooleanChange("passwordLowercase"),setByEnv:this.isSetByEnv("PasswordSettings.Lowercase"),disabled:this.props.isDisabled})),T().createElement("div",null,T().createElement(qd,{id:"admin.password.uppercase",label:T().createElement(N.FormattedMessage,Vd.uppercase),defaultChecked:this.state.passwordUppercase,onChange:this.handleBooleanChange("passwordUppercase"),setByEnv:this.isSetByEnv("PasswordSettings.Uppercase"),disabled:this.props.isDisabled})),T().createElement("div",null,T().createElement(qd,{id:"admin.password.number",label:T().createElement(N.FormattedMessage,Vd.number),defaultChecked:this.state.passwordNumber,onChange:this.handleBooleanChange("passwordNumber"),setByEnv:this.isSetByEnv("PasswordSettings.Number"),disabled:this.props.isDisabled})),T().createElement("div",null,T().createElement(qd,{id:"admin.password.symbol",label:T().createElement(N.FormattedMessage,Vd.symbol),defaultChecked:this.state.passwordSymbol,onChange:this.handleBooleanChange("passwordSymbol"),setByEnv:this.isSetByEnv("PasswordSettings.Symbol"),disabled:this.props.isDisabled}))),T().createElement("div",null,T().createElement("br",null),T().createElement("div",{className:"password-settings__preview-heading"},T().createElement(N.FormattedMessage,Vd.preview)),this.getSampleErrorMsg()))),!(null!==(t=this.props.config.ExperimentalSettings)&&void 0!==t&&t.RestrictSystemAdmin)&&T().createElement(We,{id:"maximumLoginAttempts",label:T().createElement(N.FormattedMessage,Vd.attemptTitle),placeholder:(0,N.defineMessage)({id:"admin.service.attemptExample",defaultMessage:'E.g.: "10"'}),helpText:T().createElement(N.FormattedMessage,Vd.attemptDescription),value:null!==(s=this.state.maximumLoginAttempts)&&void 0!==s?s:"",onChange:this.handleChange,setByEnv:this.isSetByEnv("ServiceSettings.MaximumLoginAttempts"),disabled:this.props.isDisabled}),T().createElement(W,{id:"passwordEnableForgotLink",label:T().createElement(N.FormattedMessage,{id:"admin.password.enableForgotLink.title",defaultMessage:"Enable Forgot Password Link:"}),helpText:T().createElement(N.FormattedMessage,{id:"admin.password.enableForgotLink.description",defaultMessage:"When true, “Forgot password” link appears on the Mattermost login page, which allows users to reset their password. When false, the link is hidden from users. This link can be customized to redirect to a URL of your choice from <a>Site Configuration > Customization.</a>",values:{a:e=>T().createElement(ka.A,{to:"/admin_console/site_config/customization"},e)}}),value:null!==(a=this.state.passwordEnableForgotLink)&&void 0!==a&&a,setByEnv:!1,onChange:this.handleChange,disabled:this.props.isDisabled}))})),this.state=Object.assign(this.state,{passwordMinimumLength:e.config.PasswordSettings.MinimumLength,passwordLowercase:e.config.PasswordSettings.Lowercase,passwordNumber:e.config.PasswordSettings.Number,passwordUppercase:e.config.PasswordSettings.Uppercase,passwordSymbol:e.config.PasswordSettings.Symbol,passwordEnableForgotLink:e.config.PasswordSettings.EnableForgotLink,maximumLoginAttempts:e.config.ServiceSettings.MaximumLoginAttempts}),this.sampleErrorMsg=T().createElement(N.FormattedMessage,Object.assign({},Yd(e.config.PasswordSettings.Lowercase,e.config.PasswordSettings.Uppercase,e.config.PasswordSettings.Number,e.config.PasswordSettings.Symbol),{values:{min:this.state.passwordMinimumLength||x.Ay.MIN_PASSWORD_LENGTH,max:x.Ay.MAX_PASSWORD_LENGTH}}))}getStateFromConfig(e){var t,s,a,n,i,r,o;return{passwordMinimumLength:String(null===(t=e.PasswordSettings)||void 0===t?void 0:t.MinimumLength),passwordLowercase:null===(s=e.PasswordSettings)||void 0===s?void 0:s.Lowercase,passwordNumber:null===(a=e.PasswordSettings)||void 0===a?void 0:a.Number,passwordUppercase:null===(n=e.PasswordSettings)||void 0===n?void 0:n.Uppercase,passwordSymbol:null===(i=e.PasswordSettings)||void 0===i?void 0:i.Symbol,passwordEnableForgotLink:null===(r=e.PasswordSettings)||void 0===r?void 0:r.EnableForgotLink,maximumLoginAttempts:String(null===(o=e.ServiceSettings)||void 0===o?void 0:o.MaximumLoginAttempts)}}renderTitle(){return T().createElement(N.FormattedMessage,Vd.password)}}}},mfa:{url:"authentication/mfa",title:(0,N.defineMessage)({id:"admin.sidebar.mfa",defaultMessage:"MFA"}),isHidden:vy.not(vy.userHasReadPermissionOnResource(y.AUTHENTICATION.MFA)),schema:{id:"ServiceSettings",name:(0,N.defineMessage)({id:"admin.authentication.mfa",defaultMessage:"Multi-factor Authentication"}),settings:[{type:"banner",label:(0,N.defineMessage)({id:"admin.mfa.bannerDesc",defaultMessage:"<link>Multi-factor authentication</link> is available for accounts with AD/LDAP or email login. If other login methods are used, MFA should be configured with the authentication provider."}),label_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.Uk.MULTI_FACTOR_AUTH},e)},banner_type:"info"},{type:"bool",key:"ServiceSettings.EnableMultifactorAuthentication",label:(0,N.defineMessage)({id:"admin.service.mfaTitle",defaultMessage:"Enable Multi-factor Authentication:"}),help_text:(0,N.defineMessage)({id:"admin.service.mfaDesc",defaultMessage:"When true, users with AD/LDAP or email login can add multi-factor authentication to their account using Google Authenticator."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.MFA))},{type:"bool",key:"ServiceSettings.EnforceMultifactorAuthentication",label:(0,N.defineMessage)({id:"admin.service.enforceMfaTitle",defaultMessage:"Enforce Multi-factor Authentication:"}),help_text:(0,N.defineMessage)({id:"admin.service.enforceMfaDesc",defaultMessage:"When true, <link>multi-factor authentication</link> is required for login. New users will be required to configure MFA on signup. Logged in users without MFA configured are redirected to the MFA setup page until configuration is complete.\n \nIf your system has users with login methods other than AD/LDAP and email, MFA must be enforced with the authentication provider outside of Mattermost."}),help_text_markdown:!1,help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.Uk.MULTI_FACTOR_AUTH},e)},isHidden:vy.not(vy.licensedForFeature("MFA")),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.MFA)),vy.stateIsFalse("ServiceSettings.EnableMultifactorAuthentication"))}]}},ldap:{url:"authentication/ldap",title:(0,N.defineMessage)({id:"admin.sidebar.ldap",defaultMessage:"AD/LDAP"}),isHidden:vy.any(vy.not(vy.licensedForFeature("LDAP")),vy.not(vy.userHasReadPermissionOnResource(y.AUTHENTICATION.LDAP))),schema:{id:"LdapSettings",name:(0,N.defineMessage)({id:"admin.authentication.ldap",defaultMessage:"AD/LDAP"}),sections:[{key:"admin.authentication.ldap.connection",title:"Connection",subtitle:"Connection and security level to your AD/LDAP server.",settings:[{type:"bool",key:"LdapSettings.Enable",label:(0,N.defineMessage)({id:"admin.ldap.enableTitle",defaultMessage:"Enable sign-in with AD/LDAP:"}),help_text:(0,N.defineMessage)({id:"admin.ldap.enableDesc",defaultMessage:"When true, Mattermost allows login using AD/LDAP"}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP))},{type:"bool",key:"LdapSettings.EnableSync",label:(0,N.defineMessage)({id:"admin.ldap.enableSyncTitle",defaultMessage:"Enable Synchronization with AD/LDAP:"}),help_text:(0,N.defineMessage)({id:"admin.ldap.enableSyncDesc",defaultMessage:"When true, Mattermost periodically synchronizes users from AD/LDAP. When false, user attributes are updated from AD/LDAP during user login only."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP))},{type:"text",key:"LdapSettings.LoginFieldName",label:(0,N.defineMessage)({id:"admin.ldap.loginNameTitle",defaultMessage:"Login Field Name:"}),placeholder:(0,N.defineMessage)({id:"admin.ldap.loginNameEx",defaultMessage:'E.g.: "AD/LDAP Username"'}),help_text:(0,N.defineMessage)({id:"admin.ldap.loginNameDesc",defaultMessage:'The placeholder text that appears in the login field on the login page. Defaults to "AD/LDAP Username".'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.all(vy.stateIsFalse("LdapSettings.Enable"),vy.stateIsFalse("LdapSettings.EnableSync")))},{type:"text",key:"LdapSettings.LdapServer",label:(0,N.defineMessage)({id:"admin.ldap.serverTitle",defaultMessage:"AD/LDAP Server:"}),help_text:(0,N.defineMessage)({id:"admin.ldap.serverDesc",defaultMessage:"The domain or IP address of AD/LDAP server."}),placeholder:(0,N.defineMessage)({id:"admin.ldap.serverEx",defaultMessage:'E.g.: "10.0.0.23"'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.all(vy.stateIsFalse("LdapSettings.Enable"),vy.stateIsFalse("LdapSettings.EnableSync")))},{type:"number",key:"LdapSettings.LdapPort",label:(0,N.defineMessage)({id:"admin.ldap.portTitle",defaultMessage:"AD/LDAP Port:"}),help_text:(0,N.defineMessage)({id:"admin.ldap.portDesc",defaultMessage:"The port Mattermost will use to connect to the AD/LDAP server. Default is 389."}),placeholder:(0,N.defineMessage)({id:"admin.ldap.portEx",defaultMessage:'E.g.: "389"'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.all(vy.stateIsFalse("LdapSettings.Enable"),vy.stateIsFalse("LdapSettings.EnableSync")))},{type:"dropdown",key:"LdapSettings.ConnectionSecurity",label:(0,N.defineMessage)({id:"admin.connectionSecurityTitle",defaultMessage:"Connection Security:"}),help_text:Os,options:[{value:"",display_name:(0,N.defineMessage)({id:"admin.connectionSecurityNone",defaultMessage:"None"})},{value:"TLS",display_name:(0,N.defineMessage)({id:"admin.connectionSecurityTls",defaultMessage:"TLS (Recommended)"})},{value:"STARTTLS",display_name:(0,N.defineMessage)({id:"admin.connectionSecurityStart",defaultMessage:"STARTTLS"})}],isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.all(vy.stateIsFalse("LdapSettings.Enable"),vy.stateIsFalse("LdapSettings.EnableSync")))},{type:"bool",key:"LdapSettings.SkipCertificateVerification",label:(0,N.defineMessage)({id:"admin.ldap.skipCertificateVerification",defaultMessage:"Skip Certificate Verification:"}),help_text:(0,N.defineMessage)({id:"admin.ldap.skipCertificateVerificationDesc",defaultMessage:"Skips the certificate verification step for TLS or STARTTLS connections. Skipping certificate verification is not recommended for production environments where TLS is required."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.stateIsFalse("LdapSettings.ConnectionSecurity"))},{type:"fileupload",key:"LdapSettings.PrivateKeyFile",label:(0,N.defineMessage)({id:"admin.ldap.privateKeyFileTitle",defaultMessage:"Private Key:"}),help_text:(0,N.defineMessage)({id:"admin.ldap.privateKeyFileFileDesc",defaultMessage:"The private key file for TLS Certificate. If using TLS client certificates as primary authentication mechanism. This will be provided by your LDAP Authentication Provider."}),remove_help_text:(0,N.defineMessage)({id:"admin.ldap.privateKeyFileFileRemoveDesc",defaultMessage:"Remove the private key file for TLS Certificate."}),remove_button_text:(0,N.defineMessage)({id:"admin.ldap.remove.privKey",defaultMessage:"Remove TLS Certificate Private Key"}),removing_text:(0,N.defineMessage)({id:"admin.ldap.removing.privKey",defaultMessage:"Removing Private Key..."}),uploading_text:(0,N.defineMessage)({id:"admin.ldap.uploading.privateKey",defaultMessage:"Uploading Private Key..."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.all(vy.stateIsFalse("LdapSettings.Enable"),vy.stateIsFalse("LdapSettings.EnableSync"))),fileType:".key",upload_action:h.rh,remove_action:h.U3},{type:"fileupload",key:"LdapSettings.PublicCertificateFile",label:(0,N.defineMessage)({id:"admin.ldap.publicCertificateFileTitle",defaultMessage:"Public Certificate:"}),help_text:(0,N.defineMessage)({id:"admin.ldap.publicCertificateFileDesc",defaultMessage:"The public certificate file for TLS Certificate. If using TLS client certificates as primary authentication mechanism. This will be provided by your LDAP Authentication Provider."}),remove_help_text:(0,N.defineMessage)({id:"admin.ldap.publicCertificateFileRemoveDesc",defaultMessage:"Remove the public certificate file for TLS Certificate."}),remove_button_text:(0,N.defineMessage)({id:"admin.ldap.remove.sp_certificate",defaultMessage:"Remove Service Provider Certificate"}),removing_text:(0,N.defineMessage)({id:"admin.ldap.removing.certificate",defaultMessage:"Removing Certificate..."}),uploading_text:(0,N.defineMessage)({id:"admin.ldap.uploading.certificate",defaultMessage:"Uploading Certificate..."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.all(vy.stateIsFalse("LdapSettings.Enable"),vy.stateIsFalse("LdapSettings.EnableSync"))),fileType:".crt,.cer",upload_action:h.bW,remove_action:h.o5},{type:"text",key:"LdapSettings.BindUsername",label:(0,N.defineMessage)({id:"admin.ldap.bindUserTitle",defaultMessage:"Bind Username:"}),help_text:(0,N.defineMessage)({id:"admin.ldap.bindUserDesc",defaultMessage:"The username used to perform the AD/LDAP search. This should typically be an account created specifically for use with Mattermost. It should have access limited to read the portion of the AD/LDAP tree specified in the Base DN field."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.all(vy.stateIsFalse("LdapSettings.Enable"),vy.stateIsFalse("LdapSettings.EnableSync")))},{type:"text",key:"LdapSettings.BindPassword",label:(0,N.defineMessage)({id:"admin.ldap.bindPwdTitle",defaultMessage:"Bind Password:"}),help_text:(0,N.defineMessage)({id:"admin.ldap.bindPwdDesc",defaultMessage:'Password of the user given in "Bind Username".'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.all(vy.stateIsFalse("LdapSettings.Enable"),vy.stateIsFalse("LdapSettings.EnableSync")))}]},{key:"admin.authentication.ldap.dn_and_filters",title:"Base DN & Filters",settings:[{type:"text",key:"LdapSettings.BaseDN",label:(0,N.defineMessage)({id:"admin.ldap.baseTitle",defaultMessage:"Base DN:"}),help_text:(0,N.defineMessage)({id:"admin.ldap.baseDesc",defaultMessage:"The Base DN is the Distinguished Name of the location where Mattermost should start its search for user and group objects in the AD/LDAP tree."}),placeholder:(0,N.defineMessage)({id:"admin.ldap.baseEx",defaultMessage:'E.g.: "ou=Unit Name,dc=corp,dc=example,dc=com"'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.all(vy.stateIsFalse("LdapSettings.Enable"),vy.stateIsFalse("LdapSettings.EnableSync")))},{type:"text",key:"LdapSettings.UserFilter",label:(0,N.defineMessage)({id:"admin.ldap.userFilterTitle",defaultMessage:"User Filter:"}),help_text:(0,N.defineMessage)({id:"admin.ldap.userFilterDisc",defaultMessage:"(Optional) Enter an AD/LDAP filter to use when searching for user objects. Only the users selected by the query will be able to access Mattermost. For Active Directory, the query to filter out disabled users is (&(objectCategory=Person)(!(UserAccountControl:1.2.840.113556.1.4.803:=2)))."}),placeholder:(0,N.defineMessage)({id:"admin.ldap.userFilterEx",defaultMessage:'Ex. "(objectClass=user)"'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.all(vy.stateIsFalse("LdapSettings.Enable"),vy.stateIsFalse("LdapSettings.EnableSync")))},{type:"text",key:"LdapSettings.GroupFilter",label:(0,N.defineMessage)({id:"admin.ldap.groupFilterTitle",defaultMessage:"Group Filter:"}),help_text:(0,N.defineMessage)({id:"admin.ldap.groupFilterFilterDesc",defaultMessage:"(Optional) Enter an AD/LDAP filter to use when searching for group objects. Only the groups selected by the query will be available to Mattermost. From [User Management > Groups]({siteURL}/admin_console/user_management/groups), select which AD/LDAP groups should be linked and configured."}),help_text_markdown:!0,help_text_values:{siteURL:(0,Ts.vV)()},placeholder:(0,N.defineMessage)({id:"admin.ldap.groupFilterEx",defaultMessage:'E.g.: "(objectClass=group)"'}),isHidden:vy.not(vy.licensedForFeature("LDAPGroups")),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.stateIsFalse("LdapSettings.EnableSync"))},{type:"bool",key:"LdapSettings.EnableAdminFilter",label:(0,N.defineMessage)({id:"admin.ldap.enableAdminFilterTitle",defaultMessage:"Enable Admin Filter:"}),isDisabled:vy.any(vy.not(vy.isSystemAdmin),vy.all(vy.stateIsFalse("LdapSettings.Enable"),vy.stateIsFalse("LdapSettings.EnableSync")))},{type:"text",key:"LdapSettings.AdminFilter",label:(0,N.defineMessage)({id:"admin.ldap.adminFilterTitle",defaultMessage:"Admin Filter:"}),help_text:(0,N.defineMessage)({id:"admin.ldap.adminFilterFilterDesc",defaultMessage:"(Optional) Enter an AD/LDAP filter to use for designating System Admins. The users selected by the query will have access to your Mattermost server as System Admins. By default, System Admins have complete access to the Mattermost System Console. Existing members that are identified by this attribute will be promoted from member to System Admin upon next login. The next login is based upon Session lengths set in **System Console > Session Lengths**. It is highly recommend to manually demote users to members in **System Console > User Management** to ensure access is restricted immediately. Note: If this filter is removed/changed, System Admins that were promoted via this filter will be demoted to members and will not retain access to the System Console. When this filter is not in use, System Admins can be manually promoted/demoted in **System Console > User Management**."}),help_text_markdown:!0,placeholder:(0,N.defineMessage)({id:"admin.ldap.adminFilterEx",defaultMessage:'E.g.: "(objectClass=user)"'}),isDisabled:vy.any(vy.not(vy.isSystemAdmin),vy.stateIsFalse("LdapSettings.EnableAdminFilter"),vy.all(vy.stateIsFalse("LdapSettings.Enable"),vy.stateIsFalse("LdapSettings.EnableSync")))},{type:"text",key:"LdapSettings.GuestFilter",label:(0,N.defineMessage)({id:"admin.ldap.guestFilterTitle",defaultMessage:"Guest Filter:"}),help_text:(0,N.defineMessage)({id:"admin.ldap.guestFilterFilterDesc",defaultMessage:"(Optional) Requires Guest Access to be enabled before being applied. Enter an AD/LDAP filter to use when searching for guest objects. Only the users selected by the query will be able to access Mattermost as Guests. Guests are prevented from accessing teams or channels upon logging in until they are assigned a team and at least one channel. Note: If this filter is removed/changed, active guests will not be promoted to a member and will retain their Guest role. Guests can be promoted in **System Console > User Management**. Existing members that are identified by this attribute as a guest will be demoted from a member to a guest when they are asked to login next. The next login is based upon Session lengths set in **System Console > Session Lengths**. It is highly recommend to manually demote users to guests in **System Console > User Management ** to ensure access is restricted immediately."}),help_text_markdown:!0,placeholder:(0,N.defineMessage)({id:"admin.ldap.guestFilterEx",defaultMessage:'E.g.: "(objectClass=user)"'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.configIsFalse("GuestAccountsSettings","Enable"),vy.all(vy.stateIsFalse("LdapSettings.Enable"),vy.stateIsFalse("LdapSettings.EnableSync")))}]},{key:"admin.authentication.ldap.account_synchronization",title:"Account Synchronization",settings:[{type:"text",key:"LdapSettings.IdAttribute",label:(0,N.defineMessage)({id:"admin.ldap.idAttrTitle",defaultMessage:"ID Attribute: "}),placeholder:(0,N.defineMessage)({id:"admin.ldap.idAttrEx",defaultMessage:'E.g.: "objectGUID" or "uid"'}),help_text:(0,N.defineMessage)({id:"admin.ldap.idAttrDesc",defaultMessage:"The attribute in the AD/LDAP server used as a unique identifier in Mattermost. It should be an AD/LDAP attribute with a value that does not change such as `uid` for LDAP or `objectGUID` for Active Directory. If a user's ID Attribute changes, it will create a new Mattermost account unassociated with their old one. If you need to change this field after users have already logged in, use the <link>mattermost ldap idmigrate</link> CLI tool."}),help_text_markdown:!1,help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:"https://docs.mattermost.com/manage/command-line-tools.html#mattermost-ldap-idmigrate"},e)},isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.all(vy.stateEquals("LdapSettings.Enable",!1),vy.stateEquals("LdapSettings.EnableSync",!1)))},{type:"text",key:"LdapSettings.LoginIdAttribute",label:(0,N.defineMessage)({id:"admin.ldap.loginAttrTitle",defaultMessage:"Login ID Attribute: "}),placeholder:(0,N.defineMessage)({id:"admin.ldap.loginIdAttrEx",defaultMessage:'E.g.: "sAMAccountName"'}),help_text:(0,N.defineMessage)({id:"admin.ldap.loginAttrDesc",defaultMessage:'The attribute in the AD/LDAP server used to log in to Mattermost. Normally this attribute is the same as the "Username Attribute" field above. If your team typically uses domain/username to log in to other services with AD/LDAP, you may enter domain/username in this field to maintain consistency between sites.'}),help_text_markdown:!1,isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.all(vy.stateIsFalse("LdapSettings.Enable"),vy.stateIsFalse("LdapSettings.EnableSync")))},{type:"text",key:"LdapSettings.UsernameAttribute",label:(0,N.defineMessage)({id:"admin.ldap.usernameAttrTitle",defaultMessage:"Username Attribute:"}),placeholder:(0,N.defineMessage)({id:"admin.ldap.usernameAttrEx",defaultMessage:'E.g.: "sAMAccountName"'}),help_text:(0,N.defineMessage)({id:"admin.ldap.usernameAttrDesc",defaultMessage:"The attribute in the AD/LDAP server used to populate the username field in Mattermost. This may be the same as the Login ID Attribute."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.all(vy.stateIsFalse("LdapSettings.Enable"),vy.stateIsFalse("LdapSettings.EnableSync")))},{type:"text",key:"LdapSettings.EmailAttribute",label:(0,N.defineMessage)({id:"admin.ldap.emailAttrTitle",defaultMessage:"Email Attribute:"}),placeholder:(0,N.defineMessage)({id:"admin.ldap.emailAttrEx",defaultMessage:'E.g.: "mail" or "userPrincipalName"'}),help_text:(0,N.defineMessage)({id:"admin.ldap.emailAttrDesc",defaultMessage:"The attribute in the AD/LDAP server used to populate the email address field in Mattermost."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.all(vy.stateIsFalse("LdapSettings.Enable"),vy.stateIsFalse("LdapSettings.EnableSync")))},{type:"text",key:"LdapSettings.FirstNameAttribute",label:(0,N.defineMessage)({id:"admin.ldap.firstnameAttrTitle",defaultMessage:"First Name Attribute:"}),placeholder:(0,N.defineMessage)({id:"admin.ldap.firstnameAttrEx",defaultMessage:'E.g.: "givenName"'}),help_text:(0,N.defineMessage)({id:"admin.ldap.firstnameAttrDesc",defaultMessage:"(Optional) The attribute in the AD/LDAP server used to populate the first name of users in Mattermost. When set, users cannot edit their first name, since it is synchronized with the LDAP server. When left blank, users can set their first name in <strong>Account Menu > Account Settings > Profile</strong>."}),help_text_values:{strong:e=>T().createElement("strong",null,e)},isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.all(vy.stateIsFalse("LdapSettings.Enable"),vy.stateIsFalse("LdapSettings.EnableSync")))},{type:"text",key:"LdapSettings.LastNameAttribute",label:(0,N.defineMessage)({id:"admin.ldap.lastnameAttrTitle",defaultMessage:"Last Name Attribute:"}),placeholder:(0,N.defineMessage)({id:"admin.ldap.lastnameAttrEx",defaultMessage:'E.g.: "sn"'}),help_text:(0,N.defineMessage)({id:"admin.ldap.lastnameAttrDesc",defaultMessage:"(Optional) The attribute in the AD/LDAP server used to populate the last name of users in Mattermost. When set, users cannot edit their last name, since it is synchronized with the LDAP server. When left blank, users can set their last name in <strong>Account Menu > Account Settings > Profile</strong>."}),help_text_values:{strong:e=>T().createElement("strong",null,e)},isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.all(vy.stateIsFalse("LdapSettings.Enable"),vy.stateIsFalse("LdapSettings.EnableSync")))},{type:"text",key:"LdapSettings.NicknameAttribute",label:(0,N.defineMessage)({id:"admin.ldap.nicknameAttrTitle",defaultMessage:"Nickname Attribute:"}),placeholder:(0,N.defineMessage)({id:"admin.ldap.nicknameAttrEx",defaultMessage:'E.g.: "nickname"'}),help_text:(0,N.defineMessage)({id:"admin.ldap.nicknameAttrDesc",defaultMessage:"(Optional) The attribute in the AD/LDAP server used to populate the nickname of users in Mattermost. When set, users cannot edit their nickname, since it is synchronized with the LDAP server. When left blank, users can set their nickname in <strong>Account Menu > Account Settings > Profile</strong>."}),help_text_values:{strong:e=>T().createElement("strong",null,e)},isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.all(vy.stateIsFalse("LdapSettings.Enable"),vy.stateIsFalse("LdapSettings.EnableSync")))},{type:"text",key:"LdapSettings.PositionAttribute",label:(0,N.defineMessage)({id:"admin.ldap.positionAttrTitle",defaultMessage:"Position Attribute:"}),placeholder:(0,N.defineMessage)({id:"admin.ldap.positionAttrEx",defaultMessage:'E.g.: "title"'}),help_text:(0,N.defineMessage)({id:"admin.ldap.positionAttrDesc",defaultMessage:"(Optional) The attribute in the AD/LDAP server used to populate the position field in Mattermost. When set, users cannot edit their position, since it is synchronized with the LDAP server. When left blank, users can set their position in <strong>Account Menu > Account Settings > Profile</strong>."}),help_text_values:{strong:e=>T().createElement("strong",null,e)},isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.all(vy.stateIsFalse("LdapSettings.Enable"),vy.stateIsFalse("LdapSettings.EnableSync")))},{type:"text",key:"LdapSettings.PictureAttribute",label:(0,N.defineMessage)({id:"admin.ldap.pictureAttrTitle",defaultMessage:"Profile Picture Attribute:"}),placeholder:(0,N.defineMessage)({id:"admin.ldap.pictureAttrEx",defaultMessage:'E.g.: "thumbnailPhoto" or "jpegPhoto"'}),help_text:(0,N.defineMessage)({id:"admin.ldap.pictureAttrDesc",defaultMessage:"(Optional) The attribute in the AD/LDAP server used to populate the profile picture in Mattermost."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.all(vy.stateIsFalse("LdapSettings.Enable"),vy.stateIsFalse("LdapSettings.EnableSync")))}]},{key:"admin.authentication.ldap.group_synchronization",title:"Group Synchronization",settings:[{type:"text",key:"LdapSettings.GroupDisplayNameAttribute",label:(0,N.defineMessage)({id:"admin.ldap.groupDisplayNameAttributeTitle",defaultMessage:"Group Display Name Attribute:"}),help_text:(0,N.defineMessage)({id:"admin.ldap.groupDisplayNameAttributeDesc",defaultMessage:"The attribute in the AD/LDAP server used to populate the group display names."}),placeholder:(0,N.defineMessage)({id:"admin.ldap.groupDisplayNameAttributeEx",defaultMessage:'E.g.: "cn"'}),isHidden:vy.not(vy.licensedForFeature("LDAPGroups")),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.stateIsFalse("LdapSettings.EnableSync"))},{type:"text",key:"LdapSettings.GroupIdAttribute",label:(0,N.defineMessage)({id:"admin.ldap.groupIdAttributeTitle",defaultMessage:"Group ID Attribute:"}),help_text:(0,N.defineMessage)({id:"admin.ldap.groupIdAttributeDesc",defaultMessage:"The attribute in the AD/LDAP server used as a unique identifier for Groups. This should be a AD/LDAP attribute with a value that does not change such as `entryUUID` for LDAP or `objectGUID` for Active Directory."}),help_text_markdown:!0,placeholder:(0,N.defineMessage)({id:"admin.ldap.groupIdAttributeEx",defaultMessage:'E.g.: "objectGUID" or "entryUUID"'}),isHidden:vy.not(vy.licensedForFeature("LDAPGroups")),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.stateIsFalse("LdapSettings.EnableSync"))}]},{key:"admin.authentication.ldap.synchronization_performance",title:"Synchronization Performance",settings:[{type:"number",key:"LdapSettings.SyncIntervalMinutes",label:(0,N.defineMessage)({id:"admin.ldap.syncIntervalTitle",defaultMessage:"Synchronization Interval (minutes):"}),help_text:(0,N.defineMessage)({id:"admin.ldap.syncIntervalHelpText",defaultMessage:'AD/LDAP Synchronization updates Mattermost user information to reflect updates on the AD/LDAP server. For example, when a user\'s name changes on the AD/LDAP server, the change updates in Mattermost when synchronization is performed. Accounts removed from or disabled in the AD/LDAP server have their Mattermost accounts set to "Inactive" and have their account sessions revoked. Mattermost performs synchronization on the interval entered. For example, if 60 is entered, Mattermost synchronizes every 60 minutes.'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.all(vy.stateIsFalse("LdapSettings.Enable"),vy.stateIsFalse("LdapSettings.EnableSync")))},{type:"number",key:"LdapSettings.MaxPageSize",label:(0,N.defineMessage)({id:"admin.ldap.maxPageSizeTitle",defaultMessage:"Maximum Page Size:"}),placeholder:(0,N.defineMessage)({id:"admin.ldap.maxPageSizeEx",defaultMessage:'E.g.: "2000"'}),help_text:(0,N.defineMessage)({id:"admin.ldap.maxPageSizeHelpText",defaultMessage:"The maximum number of users the Mattermost server will request from the AD/LDAP server at one time. 0 is unlimited."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.all(vy.stateIsFalse("LdapSettings.Enable"),vy.stateIsFalse("LdapSettings.EnableSync")))},{type:"number",key:"LdapSettings.QueryTimeout",label:(0,N.defineMessage)({id:"admin.ldap.queryTitle",defaultMessage:"Query Timeout (seconds):"}),placeholder:(0,N.defineMessage)({id:"admin.ldap.queryEx",defaultMessage:'E.g.: "60"'}),help_text:(0,N.defineMessage)({id:"admin.ldap.queryDesc",defaultMessage:"The timeout value for queries to the AD/LDAP server. Increase if you are getting timeout errors caused by a slow AD/LDAP server."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.all(vy.stateIsFalse("LdapSettings.Enable"),vy.stateIsFalse("LdapSettings.EnableSync")))},{type:"button",action:h.QD,key:"LdapSettings.LdapTest",label:(0,N.defineMessage)({id:"admin.ldap.ldap_test_button",defaultMessage:"AD/LDAP Test"}),help_text:(0,N.defineMessage)({id:"admin.ldap.testHelpText",defaultMessage:'Tests if the Mattermost server can connect to the AD/LDAP server specified. Please review "System Console > Logs" and <link>documentation</link> to troubleshoot errors.'}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.Uk.CONFIGURE_AD_LDAP_QUERY_TIMEOUT},e)},help_text_markdown:!1,error_message:(0,N.defineMessage)({id:"admin.ldap.testFailure",defaultMessage:"AD/LDAP Test Failure: {error}"}),success_message:(0,N.defineMessage)({id:"admin.ldap.testSuccess",defaultMessage:"AD/LDAP Test Successful"}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.all(vy.stateIsFalse("LdapSettings.Enable"),vy.stateIsFalse("LdapSettings.EnableSync")))}]},{key:"admin.authentication.ldap.synchronization_history",title:"Synchronization History",subtitle:"See the table below for the status of each synchronization",settings:[{type:"jobstable",job_type:x.YM.JobTypes.LDAP_SYNC,label:(0,N.defineMessage)({id:"admin.ldap.sync_button",defaultMessage:"AD/LDAP Synchronize Now"}),help_text:(0,N.defineMessage)({id:"admin.ldap.syncNowHelpText",defaultMessage:'Initiates an AD/LDAP synchronization immediately. See the table below for status of each synchronization. Please review "System Console > Logs" and <link>documentation</link> to troubleshoot errors.'}),help_text_markdown:!1,help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.Uk.SETUP_LDAP},e)},isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.LDAP)),vy.stateIsFalse("LdapSettings.EnableSync")),render_job:e=>{if("pending"===e.status)return T().createElement("span",null,"--");let t,s=0,a=0,n=0,i=0,r=0,o=0,l=0;return e&&e.data&&(e.data.ldap_users_count&&e.data.ldap_users_count.length>0&&(s=e.data.ldap_users_count),e.data.delete_count&&e.data.delete_count.length>0&&(a=e.data.delete_count),e.data.update_count&&e.data.update_count.length>0&&(n=e.data.update_count),e.data.ldap_groups_count&&(t=e.data.ldap_groups_count),e.data.total_ldap_groups_count&&(i=e.data.total_ldap_groups_count),e.data.group_delete_count&&(r=e.data.group_delete_count),e.data.group_member_delete_count&&(o=e.data.group_member_delete_count),e.data.group_member_add_count&&(l=e.data.group_member_add_count)),T().createElement("span",null,T().createElement(N.FormattedMessage,{id:t?"admin.ldap.jobExtraInfo":"admin.ldap.jobExtraInfoTotal",defaultMessage:t?"Scanned {ldapUsers, number} LDAP users and {ldapGroups, number} linked groups.":"Scanned {ldapUsers, number} LDAP users and {ldapGroups, number} groups.",values:{ldapUsers:s,ldapGroups:t||i}}),T().createElement("ul",null,n>0&&T().createElement("li",null,T().createElement(N.FormattedMessage,{id:"admin.ldap.jobExtraInfo.updatedUsers",defaultMessage:"Updated {updateCount, number} users.",values:{updateCount:n}})),a>0&&T().createElement("li",null,T().createElement(N.FormattedMessage,{id:"admin.ldap.jobExtraInfo.deactivatedUsers",defaultMessage:"Deactivated {deleteCount, number} users.",values:{deleteCount:a}})),r>0&&T().createElement("li",null,T().createElement(N.FormattedMessage,{id:"admin.ldap.jobExtraInfo.deletedGroups",defaultMessage:"Deleted {groupDeleteCount, number} groups.",values:{groupDeleteCount:r}})),o>0&&T().createElement("li",null,T().createElement(N.FormattedMessage,{id:"admin.ldap.jobExtraInfo.deletedGroupMembers",defaultMessage:"Deleted {groupMemberDeleteCount, number} group members.",values:{groupMemberDeleteCount:o}})),l>0&&T().createElement("li",null,T().createElement(N.FormattedMessage,{id:"admin.ldap.jobExtraInfo.addedGroupMembers",defaultMessage:"Added {groupMemberAddCount, number} group members.",values:{groupMemberAddCount:l}}))))}}]}]},restrictedIndicator:Ay()},ldap_feature_discovery:{url:"authentication/ldap",isDiscovery:!0,title:(0,N.defineMessage)({id:"admin.sidebar.ldap",defaultMessage:"AD/LDAP"}),isHidden:vy.any(vy.licensedForFeature("LDAP"),vy.not(vy.enterpriseReady)),schema:{id:"LdapSettings",name:(0,N.defineMessage)({id:"admin.authentication.ldap",defaultMessage:"AD/LDAP"}),settings:[{type:"custom",component:()=>T().createElement(co,{featureName:"ldap",minimumSKURequiredForFeature:x.gS.Professional,title:(0,N.defineMessage)({id:"admin.ldap_feature_discovery.title",defaultMessage:"Integrate Active Directory/LDAP with Mattermost Professional"}),copy:(0,N.defineMessage)({id:"admin.ldap_feature_discovery.copy",defaultMessage:"When you connect Mattermost with your organization's Active Directory/LDAP, users can log in without having to create new usernames and passwords."}),learnMoreURL:"https://www.mattermost.com/docs-adldap/?utm_medium=product&utm_source=product-feature-discovery&utm_content=adldap",featureDiscoveryImage:T().createElement(bo,{width:276,height:170})}),key:"LDAPFeatureDiscovery",isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ABOUT.EDITION_AND_LICENSE))}]},restrictedIndicator:Ay(!0)},saml:{url:"authentication/saml",title:(0,N.defineMessage)({id:"admin.sidebar.saml",defaultMessage:"SAML 2.0"}),isHidden:vy.any(vy.not(vy.licensedForFeature("SAML")),vy.not(vy.userHasReadPermissionOnResource(y.AUTHENTICATION.SAML))),schema:{id:"SamlSettings",name:(0,N.defineMessage)({id:"admin.authentication.saml",defaultMessage:"SAML 2.0"}),settings:[{type:"bool",key:"SamlSettings.Enable",label:(0,N.defineMessage)({id:"admin.saml.enableTitle",defaultMessage:"Enable Login With SAML 2.0:"}),help_text:(0,N.defineMessage)({id:"admin.saml.enableDescription",defaultMessage:"When true, Mattermost allows login using SAML 2.0. Please see <link>documentation</link> to learn more about configuring SAML for Mattermost."}),help_text_markdown:!1,help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:"http://docs.mattermost.com/deployment/sso-saml.html"},e)},isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML))},{type:"bool",key:"SamlSettings.EnableSyncWithLdap",label:(0,N.defineMessage)({id:"admin.saml.enableSyncWithLdapTitle",defaultMessage:"Enable Synchronizing SAML Accounts With AD/LDAP:"}),help_text:(0,N.defineMessage)({id:"admin.saml.enableSyncWithLdapDescription",defaultMessage:"When true, Mattermost periodically synchronizes SAML user attributes, including user deactivation and removal, from AD/LDAP. Enable and configure synchronization settings at <strong>Authentication > AD/LDAP</strong>. When false, user attributes are updated from SAML during user login. See <link>documentation</link> to learn more."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.Uk.SETUP_LDAP},e),strong:e=>T().createElement("strong",null,e)},help_text_markdown:!1,isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.stateIsFalse("SamlSettings.Enable"))},{type:"bool",key:"SamlSettings.IgnoreGuestsLdapSync",label:(0,N.defineMessage)({id:"admin.saml.ignoreGuestsLdapSyncTitle",defaultMessage:"Ignore Guest Users when Synchronizing with AD/LDAP"}),help_text:(0,N.defineMessage)({id:"admin.saml.ignoreGuestsLdapSyncDesc",defaultMessage:"When true, Mattermost will ignore Guest Users who are identified by the Guest Attribute, when synchronizing with AD/LDAP for user deactivation and removal and Guest deactivation will need to be managed manually via System Console > Users."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.configIsFalse("GuestAccountsSettings","Enable"),vy.stateIsFalse("SamlSettings.EnableSyncWithLdap"),vy.stateIsFalse("SamlSettings.Enable"))},{type:"bool",key:"SamlSettings.EnableSyncWithLdapIncludeAuth",label:(0,N.defineMessage)({id:"admin.saml.enableSyncWithLdapIncludeAuthTitle",defaultMessage:"Override SAML bind data with AD/LDAP information:"}),help_text:(0,N.defineMessage)({id:"admin.saml.enableSyncWithLdapIncludeAuthDescription",defaultMessage:"When true, Mattermost will override the SAML ID attribute with the AD/LDAP ID attribute if configured or override the SAML Email attribute with the AD/LDAP Email attribute if SAML ID attribute is not present. This will allow you automatically migrate users from Email binding to ID binding to prevent creation of new users when an email address changes for a user. Moving from true to false, will remove the override from happening. <strong>Note:</strong> SAML IDs must match the LDAP IDs to prevent disabling of user accounts. Please review <link>documentation</link> for more information."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.Uk.CONFIGURE_OVERRIDE_SAML_BIND_DATA_WITH_LDAP},e),strong:e=>T().createElement("strong",null,e)},help_text_markdown:!1,isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.stateIsFalse("SamlSettings.Enable"),vy.stateIsFalse("SamlSettings.EnableSyncWithLdap"))},{type:"text",key:"SamlSettings.IdpMetadataURL",label:(0,N.defineMessage)({id:"admin.saml.idpMetadataUrlTitle",defaultMessage:"Identity Provider Metadata URL:"}),help_text:(0,N.defineMessage)({id:"admin.saml.idpMetadataUrlDesc",defaultMessage:"The Metadata URL for the Identity Provider you use for SAML requests"}),placeholder:(0,N.defineMessage)({id:"admin.saml.idpMetadataUrlEx",defaultMessage:'E.g.: "https://idp.example.org/SAML2/saml/metadata"'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.stateIsFalse("SamlSettings.Enable"))},{type:"button",key:"getSamlMetadataFromIDPButton",action:h.mX,label:(0,N.defineMessage)({id:"admin.saml.getSamlMetadataFromIDPUrl",defaultMessage:"Get SAML Metadata from IdP"}),loading:(0,N.defineMessage)({id:"admin.saml.getSamlMetadataFromIDPFetching",defaultMessage:"Fetching..."}),error_message:(0,N.defineMessage)({id:"admin.saml.getSamlMetadataFromIDPFail",defaultMessage:"SAML Metadata URL did not connect and pull data successfully"}),success_message:(0,N.defineMessage)({id:"admin.saml.getSamlMetadataFromIDPSuccess",defaultMessage:"SAML Metadata retrieved successfully. Two fields below have been updated"}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.stateIsFalse("SamlSettings.Enable"),vy.stateEquals("SamlSettings.IdpMetadataURL","")),sourceUrlKey:"SamlSettings.IdpMetadataURL",skipSaveNeeded:!0},{type:"text",key:"SamlSettings.IdpURL",label:(0,N.defineMessage)({id:"admin.saml.idpUrlTitle",defaultMessage:"SAML SSO URL:"}),help_text:(0,N.defineMessage)({id:"admin.saml.idpUrlDesc",defaultMessage:"The URL where Mattermost sends a SAML request to start login sequence."}),placeholder:(0,N.defineMessage)({id:"admin.saml.idpUrlEx",defaultMessage:'E.g.: "https://idp.example.org/SAML2/SSO/Login"'}),setFromMetadataField:"idp_url",isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.stateIsFalse("SamlSettings.Enable"))},{type:"text",key:"SamlSettings.IdpDescriptorURL",label:(0,N.defineMessage)({id:"admin.saml.idpDescriptorUrlTitle",defaultMessage:"Identity Provider Issuer URL:"}),help_text:(0,N.defineMessage)({id:"admin.saml.idpDescriptorUrlDesc",defaultMessage:"The issuer URL for the Identity Provider you use for SAML requests."}),placeholder:(0,N.defineMessage)({id:"admin.saml.idpDescriptorUrlEx",defaultMessage:'E.g.: "https://idp.example.org/SAML2/issuer"'}),setFromMetadataField:"idp_descriptor_url",isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.stateIsFalse("SamlSettings.Enable"))},{type:"fileupload",key:"SamlSettings.IdpCertificateFile",label:(0,N.defineMessage)({id:"admin.saml.idpCertificateFileTitle",defaultMessage:"Identity Provider Public Certificate:"}),help_text:(0,N.defineMessage)({id:"admin.saml.idpCertificateFileDesc",defaultMessage:"The public authentication certificate issued by your Identity Provider."}),remove_help_text:(0,N.defineMessage)({id:"admin.saml.idpCertificateFileRemoveDesc",defaultMessage:"Remove the public authentication certificate issued by your Identity Provider."}),remove_button_text:(0,N.defineMessage)({id:"admin.saml.remove.idp_certificate",defaultMessage:"Remove Identity Provider Certificate"}),removing_text:(0,N.defineMessage)({id:"admin.saml.removing.certificate",defaultMessage:"Removing Certificate..."}),uploading_text:(0,N.defineMessage)({id:"admin.saml.uploading.certificate",defaultMessage:"Uploading Certificate..."}),fileType:".crt,.cer,.cert,.pem",upload_action:h.HP,set_action:h.r5,remove_action:h.kF,setFromMetadataField:"idp_public_certificate",isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.stateIsFalse("SamlSettings.Enable"))},{type:"bool",key:"SamlSettings.Verify",label:(0,N.defineMessage)({id:"admin.saml.verifyTitle",defaultMessage:"Verify Signature:"}),help_text:(0,N.defineMessage)({id:"admin.saml.verifyDescription",defaultMessage:"When false, Mattermost will not verify that the signature sent from a SAML Response matches the Service Provider Login URL. Disabling verification is not recommended for production environments."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.stateIsFalse("SamlSettings.Enable"))},{type:"text",key:"SamlSettings.AssertionConsumerServiceURL",label:(0,N.defineMessage)({id:"admin.saml.assertionConsumerServiceURLTitle",defaultMessage:"Service Provider Login URL:"}),help_text:(0,N.defineMessage)({id:"admin.saml.assertionConsumerServiceURLPopulatedDesc",defaultMessage:"This field is also known as the Assertion Consumer Service URL."}),placeholder:(0,N.defineMessage)({id:"admin.saml.assertionConsumerServiceURLEx",defaultMessage:'E.g.: "<urlChunk>your-mattermost-url</urlChunk>"'}),placeholder_values:{urlChunk:e=>"https://'<".concat(e,">'/login/sso/saml")},onConfigLoad:(e,t)=>{var s;const a=(null===(s=t.ServiceSettings)||void 0===s?void 0:s.SiteURL)||"";if(a.length>0&&0===e.length){const e="/"===a[a.length-1]?"":"/";return"".concat(a).concat(e,"login/sso/saml")}return e},isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.stateIsFalse("SamlSettings.Enable"))},{type:"text",key:"SamlSettings.ServiceProviderIdentifier",label:(0,N.defineMessage)({id:"admin.saml.serviceProviderIdentifierTitle",defaultMessage:"Service Provider Identifier:"}),help_text:(0,N.defineMessage)({id:"admin.saml.serviceProviderIdentifierDesc",defaultMessage:"The unique identifier for the Service Provider, usually the same as Service Provider Login URL. In ADFS, this MUST match the Relying Party Identifier."}),placeholder:(0,N.defineMessage)({id:"admin.saml.serviceProviderIdentifierEx",defaultMessage:'E.g.: "<urlChunk>your-mattermost-url</urlChunk>"'}),placeholder_values:{urlChunk:e=>"https://'<".concat(e,">'/login/sso/saml")},isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.stateIsFalse("SamlSettings.Enable"))},{type:"bool",key:"SamlSettings.Encrypt",label:(0,N.defineMessage)({id:"admin.saml.encryptTitle",defaultMessage:"Enable Encryption:"}),help_text:(0,N.defineMessage)({id:"admin.saml.encryptDescription",defaultMessage:"When false, Mattermost will not decrypt SAML Assertions encrypted with your Service Provider Public Certificate. Disabling encryption is not recommended for production environments."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.stateIsFalse("SamlSettings.Enable"))},{type:"fileupload",key:"SamlSettings.PrivateKeyFile",label:(0,N.defineMessage)({id:"admin.saml.privateKeyFileTitle",defaultMessage:"Service Provider Private Key:"}),help_text:(0,N.defineMessage)({id:"admin.saml.privateKeyFileFileDesc",defaultMessage:"The private key used to decrypt SAML Assertions from the Identity Provider."}),remove_help_text:(0,N.defineMessage)({id:"admin.saml.privateKeyFileFileRemoveDesc",defaultMessage:"Remove the private key used to decrypt SAML Assertions from the Identity Provider."}),remove_button_text:(0,N.defineMessage)({id:"admin.saml.remove.privKey",defaultMessage:"Remove Service Provider Private Key"}),removing_text:(0,N.defineMessage)({id:"admin.saml.removing.privKey",defaultMessage:"Removing Private Key..."}),uploading_text:(0,N.defineMessage)({id:"admin.saml.uploading.privateKey",defaultMessage:"Uploading Private Key..."}),fileType:".key",upload_action:h.xA,remove_action:h.C6,isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.stateIsFalse("SamlSettings.Enable"),vy.stateIsFalse("SamlSettings.Encrypt"))},{type:"fileupload",key:"SamlSettings.PublicCertificateFile",label:(0,N.defineMessage)({id:"admin.saml.publicCertificateFileTitle",defaultMessage:"Service Provider Public Certificate:"}),help_text:(0,N.defineMessage)({id:"admin.saml.publicCertificateFileDesc",defaultMessage:"The certificate used to generate the signature on a SAML request to the Identity Provider for a service provider initiated SAML login, when Mattermost is the Service Provider."}),remove_help_text:(0,N.defineMessage)({id:"admin.saml.publicCertificateFileRemoveDesc",defaultMessage:"Remove the certificate used to generate the signature on a SAML request to the Identity Provider for a service provider initiated SAML login, when Mattermost is the Service Provider."}),remove_button_text:(0,N.defineMessage)({id:"admin.saml.remove.sp_certificate",defaultMessage:"Remove Service Provider Certificate"}),removing_text:(0,N.defineMessage)({id:"admin.saml.removing.certificate",defaultMessage:"Removing Certificate..."}),uploading_text:(0,N.defineMessage)({id:"admin.saml.uploading.certificate",defaultMessage:"Uploading Certificate..."}),fileType:".crt,.cer",upload_action:h.bY,remove_action:h.wL,isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.stateIsFalse("SamlSettings.Enable"),vy.stateIsFalse("SamlSettings.Encrypt"))},{type:"bool",key:"SamlSettings.SignRequest",label:(0,N.defineMessage)({id:"admin.saml.signRequestTitle",defaultMessage:"Sign Request:"}),help_text:(0,N.defineMessage)({id:"admin.saml.signRequestDescription",defaultMessage:"When true, Mattermost will sign the SAML request using your private key. When false, Mattermost will not sign the SAML request."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.stateIsFalse("SamlSettings.Encrypt"),vy.stateIsFalse("SamlSettings.PrivateKeyFile"),vy.stateIsFalse("SamlSettings.PublicCertificateFile"))},{type:"dropdown",key:"SamlSettings.SignatureAlgorithm",label:(0,N.defineMessage)({id:"admin.saml.signatureAlgorithmTitle",defaultMessage:"Signature Algorithm"}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.stateIsFalse("SamlSettings.Encrypt"),vy.stateIsFalse("SamlSettings.SignRequest")),options:[{value:"RSAwithSHA1",display_name:(0,N.defineMessage)({id:"admin.saml.signatureAlgorithmDisplay.sha1",defaultMessage:"RSAwithSHA1"}),help_text:(0,N.defineMessage)({id:"admin.saml.signatureAlgorithmDescription.sha1",defaultMessage:"Specify the Signature algorithm used to sign the request (RSAwithSHA1). Please see more information provided at http://www.w3.org/2000/09/xmldsig#rsa-sha1"})},{value:"RSAwithSHA256",display_name:(0,N.defineMessage)({id:"admin.saml.signatureAlgorithmDisplay.sha256",defaultMessage:"RSAwithSHA256"}),help_text:(0,N.defineMessage)({id:"admin.saml.signatureAlgorithmDescription.sha256",defaultMessage:"Specify the Signature algorithm used to sign the request (RSAwithSHA256). Please see more information provided at http://www.w3.org/2001/04/xmldsig-more#rsa-sha256 [section 6.4.2 RSA (PKCS#1 v1.5)]"})},{value:"RSAwithSHA512",display_name:(0,N.defineMessage)({id:"admin.saml.signatureAlgorithmDisplay.sha512",defaultMessage:"RSAwithSHA512"}),help_text:(0,N.defineMessage)({id:"admin.saml.signatureAlgorithmDescription.sha512",defaultMessage:"Specify the Signature algorithm used to sign the request (RSAwithSHA512). Please see more information provided at http://www.w3.org/2001/04/xmldsig-more#rsa-sha512"})}]},{type:"dropdown",key:"SamlSettings.CanonicalAlgorithm",label:(0,N.defineMessage)({id:"admin.saml.canonicalAlgorithmTitle",defaultMessage:"Canonicalization Algorithm"}),options:[{value:"Canonical1.0",display_name:(0,N.defineMessage)({id:"admin.saml.canonicalAlgorithmDisplay.n10",defaultMessage:"Exclusive XML Canonicalization 1.0 (omit comments)"}),help_text:(0,N.defineMessage)({id:"admin.saml.canonicalAlgorithmDescription.exc",defaultMessage:"Specify the Canonicalization algorithm (Exclusive XML Canonicalization 1.0). Please see more information provided at http://www.w3.org/2001/10/xml-exc-c14n#"})},{value:"Canonical1.1",display_name:(0,N.defineMessage)({id:"admin.saml.canonicalAlgorithmDisplay.n11",defaultMessage:"Canonical XML 1.1 (omit comments)"}),help_text:(0,N.defineMessage)({id:"admin.saml.canonicalAlgorithmDescription.c14",defaultMessage:"Specify the Canonicalization algorithm (Canonical XML 1.1). Please see more information provided at http://www.w3.org/2006/12/xml-c14n11"})}],isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.stateIsFalse("SamlSettings.Encrypt"),vy.stateIsFalse("SamlSettings.SignRequest"))},{type:"text",key:"SamlSettings.EmailAttribute",label:(0,N.defineMessage)({id:"admin.saml.emailAttrTitle",defaultMessage:"Email Attribute:"}),placeholder:(0,N.defineMessage)({id:"admin.saml.emailAttrEx",defaultMessage:'E.g.: "Email" or "PrimaryEmail"'}),help_text:(0,N.defineMessage)({id:"admin.saml.emailAttrDesc",defaultMessage:"The attribute in the SAML Assertion that will be used to populate the email addresses of users in Mattermost."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.stateIsFalse("SamlSettings.Enable"))},{type:"text",key:"SamlSettings.UsernameAttribute",label:(0,N.defineMessage)({id:"admin.saml.usernameAttrTitle",defaultMessage:"Username Attribute:"}),placeholder:(0,N.defineMessage)({id:"admin.saml.usernameAttrEx",defaultMessage:'E.g.: "Username"'}),help_text:(0,N.defineMessage)({id:"admin.saml.usernameAttrDesc",defaultMessage:"The attribute in the SAML Assertion that will be used to populate the username field in Mattermost."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.stateIsFalse("SamlSettings.Enable"))},{type:"text",key:"SamlSettings.IdAttribute",label:(0,N.defineMessage)({id:"admin.saml.idAttrTitle",defaultMessage:"Id Attribute:"}),placeholder:(0,N.defineMessage)({id:"admin.saml.idAttrEx",defaultMessage:'E.g.: "Id"'}),help_text:(0,N.defineMessage)({id:"admin.saml.idAttrDesc",defaultMessage:"(Optional) The attribute in the SAML Assertion that will be used to bind users from SAML to users in Mattermost."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.stateIsFalse("SamlSettings.Enable"))},{type:"text",key:"SamlSettings.GuestAttribute",label:(0,N.defineMessage)({id:"admin.saml.guestAttrTitle",defaultMessage:"Guest Attribute:"}),placeholder:(0,N.defineMessage)({id:"admin.saml.guestAttrEx",defaultMessage:'E.g.: "usertype=Guest" or "isGuest=true"'}),help_text:(0,N.defineMessage)({id:"admin.saml.guestAttrDesc",defaultMessage:"(Optional) Requires Guest Access to be enabled before being applied. The attribute in the SAML Assertion that will be used to apply a guest role to users in Mattermost. Guests are prevented from accessing teams or channels upon logging in until they are assigned a team and at least one channel. Note: If this attribute is removed/changed from your guest user in SAML and the user is still active, they will not be promoted to a member and will retain their Guest role. Guests can be promoted in **System Console > User Management**. Existing members that are identified by this attribute as a guest will be demoted from a member to a guest when they are asked to login next. The next login is based upon Session lengths set in **System Console > Session Lengths**. It is highly recommend to manually demote users to guests in **System Console > User Management ** to ensure access is restricted immediately."}),help_text_markdown:!0,isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.configIsFalse("GuestAccountsSettings","Enable"),vy.stateIsFalse("SamlSettings.Enable"))},{type:"bool",key:"SamlSettings.EnableAdminAttribute",label:(0,N.defineMessage)({id:"admin.saml.enableAdminAttrTitle",defaultMessage:"Enable Admin Attribute:"}),isDisabled:vy.any(vy.not(vy.isSystemAdmin),vy.stateIsFalse("SamlSettings.Enable"))},{type:"text",key:"SamlSettings.AdminAttribute",label:(0,N.defineMessage)({id:"admin.saml.adminAttrTitle",defaultMessage:"Admin Attribute:"}),placeholder:(0,N.defineMessage)({id:"admin.saml.adminAttrEx",defaultMessage:'E.g.: "usertype=Admin" or "isAdmin=true"'}),help_text:(0,N.defineMessage)({id:"admin.saml.adminAttrDesc",defaultMessage:"(Optional) The attribute in the SAML Assertion for designating System Admins. The users selected by the query will have access to your Mattermost server as System Admins. By default, System Admins have complete access to the Mattermost System Console. Existing members that are identified by this attribute will be promoted from member to System Admin upon next login. The next login is based upon Session lengths set in **System Console > Session Lengths.** It is highly recommend to manually demote users to members in **System Console > User Management** to ensure access is restricted immediately. Note: If this filter is removed/changed, System Admins that were promoted via this filter will be demoted to members and will not retain access to the System Console. When this filter is not in use, System Admins can be manually promoted/demoted in **System Console > User Management**."}),help_text_markdown:!0,isDisabled:vy.any(vy.not(vy.isSystemAdmin),vy.stateIsFalse("SamlSettings.EnableAdminAttribute"),vy.stateIsFalse("SamlSettings.Enable"))},{type:"text",key:"SamlSettings.FirstNameAttribute",label:(0,N.defineMessage)({id:"admin.saml.firstnameAttrTitle",defaultMessage:"First Name Attribute:"}),placeholder:(0,N.defineMessage)({id:"admin.saml.firstnameAttrEx",defaultMessage:'E.g.: "FirstName"'}),help_text:(0,N.defineMessage)({id:"admin.saml.firstnameAttrDesc",defaultMessage:"(Optional) The attribute in the SAML Assertion that will be used to populate the first name of users in Mattermost."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.stateIsFalse("SamlSettings.Enable"))},{type:"text",key:"SamlSettings.LastNameAttribute",label:(0,N.defineMessage)({id:"admin.saml.lastnameAttrTitle",defaultMessage:"Last Name Attribute:"}),placeholder:(0,N.defineMessage)({id:"admin.saml.lastnameAttrEx",defaultMessage:'E.g.: "LastName"'}),help_text:(0,N.defineMessage)({id:"admin.saml.lastnameAttrDesc",defaultMessage:"(Optional) The attribute in the SAML Assertion that will be used to populate the last name of users in Mattermost."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.stateIsFalse("SamlSettings.Enable"))},{type:"text",key:"SamlSettings.NicknameAttribute",label:(0,N.defineMessage)({id:"admin.saml.nicknameAttrTitle",defaultMessage:"Nickname Attribute:"}),placeholder:(0,N.defineMessage)({id:"admin.saml.nicknameAttrEx",defaultMessage:'E.g.: "Nickname"'}),help_text:(0,N.defineMessage)({id:"admin.saml.nicknameAttrDesc",defaultMessage:"(Optional) The attribute in the SAML Assertion that will be used to populate the nickname of users in Mattermost."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.stateIsFalse("SamlSettings.Enable"))},{type:"text",key:"SamlSettings.PositionAttribute",label:(0,N.defineMessage)({id:"admin.saml.positionAttrTitle",defaultMessage:"Position Attribute:"}),placeholder:(0,N.defineMessage)({id:"admin.saml.positionAttrEx",defaultMessage:'E.g.: "Role"'}),help_text:(0,N.defineMessage)({id:"admin.saml.positionAttrDesc",defaultMessage:"(Optional) The attribute in the SAML Assertion that will be used to populate the position of users in Mattermost."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.stateIsFalse("SamlSettings.Enable"))},{type:"text",key:"SamlSettings.LocaleAttribute",label:(0,N.defineMessage)({id:"admin.saml.localeAttrTitle",defaultMessage:"Preferred Language Attribute:"}),placeholder:(0,N.defineMessage)({id:"admin.saml.localeAttrEx",defaultMessage:'E.g.: "Locale" or "PrimaryLanguage"'}),help_text:(0,N.defineMessage)({id:"admin.saml.localeAttrDesc",defaultMessage:"(Optional) The attribute in the SAML Assertion that will be used to populate the language of users in Mattermost."}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.stateIsFalse("SamlSettings.Enable"))},{type:"text",key:"SamlSettings.LoginButtonText",label:(0,N.defineMessage)({id:"admin.saml.loginButtonTextTitle",defaultMessage:"Login Button Text:"}),placeholder:(0,N.defineMessage)({id:"admin.saml.loginButtonTextEx",defaultMessage:'E.g.: "OKTA"'}),help_text:(0,N.defineMessage)({id:"admin.saml.loginButtonTextDesc",defaultMessage:'(Optional) The text that appears in the login button on the login page. Defaults to "SAML".'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.SAML)),vy.stateIsFalse("SamlSettings.Enable"))}]},restrictedIndicator:Ay()},saml_feature_discovery:{url:"authentication/saml",isDiscovery:!0,title:(0,N.defineMessage)({id:"admin.sidebar.saml",defaultMessage:"SAML 2.0"}),isHidden:vy.any(vy.licensedForFeature("SAML"),vy.not(vy.enterpriseReady)),schema:{id:"SamlSettings",name:(0,N.defineMessage)({id:"admin.authentication.saml",defaultMessage:"SAML 2.0"}),settings:[{type:"custom",component:()=>T().createElement(co,{featureName:"saml",minimumSKURequiredForFeature:x.gS.Professional,title:(0,N.defineMessage)({id:"admin.saml_feature_discovery.title",defaultMessage:"Integrate SAML 2.0 with Mattermost Professional"}),copy:(0,N.defineMessage)({id:"admin.saml_feature_discovery.copy",defaultMessage:"When you connect Mattermost with your organization's single sign-on provider, users can access Mattermost without having to re-enter their credentials."}),learnMoreURL:"https://www.mattermost.com/docs-saml/?utm_medium=product&utm_source=product-feature-discovery&utm_content=saml",featureDiscoveryImage:T().createElement(bo,{width:276,height:170})}),key:"SAMLFeatureDiscovery",isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ABOUT.EDITION_AND_LICENSE))}]},restrictedIndicator:Ay(!0)},gitlab:{url:"authentication/gitlab",title:(0,N.defineMessage)({id:"admin.sidebar.gitlab",defaultMessage:"GitLab"}),isHidden:vy.any(vy.licensed,vy.not(vy.userHasReadPermissionOnResource(y.AUTHENTICATION.OPENID))),schema:{id:"GitLabSettings",name:(0,N.defineMessage)({id:"admin.authentication.gitlab",defaultMessage:"GitLab"}),onConfigLoad:e=>{var t,s;const a={};return a["GitLabSettings.Url"]=null===(t=e.GitLabSettings)||void 0===t||null===(s=t.UserAPIEndpoint)||void 0===s?void 0:s.replace("/api/v4/user",""),a},onConfigSave:e=>{const t=gy({},e);return t.GitLabSettings.UserAPIEndpoint=e.GitLabSettings.Url.replace(/\/$/,"")+"/api/v4/user",t},settings:[{type:"bool",key:"GitLabSettings.Enable",label:(0,N.defineMessage)({id:"admin.gitlab.enableTitle",defaultMessage:"Enable authentication with GitLab: "}),help_text:(0,N.defineMessage)({id:"admin.gitlab.enableDescription",defaultMessage:'When true, Mattermost allows team creation and account signup using GitLab OAuth.{lineBreak} {lineBreak}1. Log in to your GitLab account and go to Profile Settings -> Applications.{lineBreak}2. Enter Redirect URIs "<loginUrlChunk>your-mattermost-url</loginUrlChunk>" (example: http://localhost:8065/login/gitlab/complete) and "<signupUrlChunk>your-mattermost-url</signupUrlChunk>".\n3. Then use "Application Secret Key" and "Application ID" fields from GitLab to complete the options below.\n4. Complete the Endpoint URLs below.'}),help_text_values:{lineBreak:"\n",loginUrlChunk:e=>"<".concat(e,'>/login/gitlab/complete"'),signupUrlChunk:e=>"<".concat(e,'>/signup/gitlab/complete"')},help_text_markdown:!0,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))},{type:"text",key:"GitLabSettings.Id",label:(0,N.defineMessage)({id:"admin.gitlab.clientIdTitle",defaultMessage:"Application ID:"}),help_text:(0,N.defineMessage)({id:"admin.gitlab.clientIdDescription",defaultMessage:"Obtain this value via the instructions above for logging into GitLab."}),placeholder:(0,N.defineMessage)({id:"admin.gitlab.clientIdExample",defaultMessage:'E.g.: "jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY"'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID)),vy.stateIsFalse("GitLabSettings.Enable"))},{type:"text",key:"GitLabSettings.Secret",label:(0,N.defineMessage)({id:"admin.gitlab.clientSecretTitle",defaultMessage:"Application Secret Key:"}),help_text:(0,N.defineMessage)({id:"admin.gitlab.clientSecretDescription",defaultMessage:"Obtain this value via the instructions above for logging into GitLab."}),placeholder:(0,N.defineMessage)({id:"admin.gitlab.clientSecretExample",defaultMessage:'E.g.: "jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY"'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID)),vy.stateIsFalse("GitLabSettings.Enable"))},{type:"text",key:"GitLabSettings.Url",label:(0,N.defineMessage)({id:"admin.gitlab.siteUrl",defaultMessage:"GitLab Site URL:"}),help_text:(0,N.defineMessage)({id:"admin.gitlab.siteUrlDescription",defaultMessage:"Enter the URL of your GitLab instance, e.g. https://example.com:3000. If your GitLab instance is not set up with SSL, start the URL with http:// instead of https://."}),placeholder:(0,N.defineMessage)({id:"admin.gitlab.siteUrlExample",defaultMessage:"E.g.: https://"}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID)),vy.stateIsFalse("GitLabSettings.Enable"))},{type:"text",key:"GitLabSettings.UserAPIEndpoint",label:(0,N.defineMessage)({id:"admin.gitlab.userTitle",defaultMessage:"User API Endpoint:"}),dynamic_value:(e,t,s)=>s["GitLabSettings.Url"]?s["GitLabSettings.Url"].replace(/\/$/,"")+"/api/v4/user":"",isDisabled:!0},{type:"text",key:"GitLabSettings.AuthEndpoint",label:(0,N.defineMessage)({id:"admin.gitlab.authTitle",defaultMessage:"Auth Endpoint:"}),dynamic_value:(e,t,s)=>s["GitLabSettings.Url"]?s["GitLabSettings.Url"].replace(/\/$/,"")+"/oauth/authorize":"",isDisabled:!0},{type:"text",key:"GitLabSettings.TokenEndpoint",label:(0,N.defineMessage)({id:"admin.gitlab.tokenTitle",defaultMessage:"Token Endpoint:"}),dynamic_value:(e,t,s)=>s["GitLabSettings.Url"]?s["GitLabSettings.Url"].replace(/\/$/,"")+"/oauth/token":"",isDisabled:!0}]}},oauth:{url:"authentication/oauth",title:(0,N.defineMessage)({id:"admin.sidebar.oauth",defaultMessage:"OAuth 2.0"}),isHidden:vy.any(vy.any(vy.not(vy.licensed),vy.licensedForSku("starter")),vy.all(vy.licensedForFeature("OpenId"),vy.not(Sy)),vy.not(vy.userHasReadPermissionOnResource(y.AUTHENTICATION.OPENID))),schema:{id:"OAuthSettings",name:(0,N.defineMessage)({id:"admin.authentication.oauth",defaultMessage:"OAuth 2.0"}),onConfigLoad:e=>{var t,s,a,n,i;const r={};return null!==(t=e.GitLabSettings)&&void 0!==t&&t.Enable&&(r.oauthType=x.YM.GITLAB_SERVICE),null!==(s=e.Office365Settings)&&void 0!==s&&s.Enable&&(r.oauthType=x.YM.OFFICE365_SERVICE),null!==(a=e.GoogleSettings)&&void 0!==a&&a.Enable&&(r.oauthType=x.YM.GOOGLE_SERVICE),r["GitLabSettings.Url"]=null===(n=e.GitLabSettings)||void 0===n||null===(i=n.UserAPIEndpoint)||void 0===i?void 0:i.replace("/api/v4/user",""),r},onConfigSave:e=>{const t=gy({},e);return t.GitLabSettings=e.GitLabSettings||{},t.Office365Settings=e.Office365Settings||{},t.GoogleSettings=e.GoogleSettings||{},t.OpenIdSettings=e.OpenIdSettings||{},t.GitLabSettings.Enable=!1,t.Office365Settings.Enable=!1,t.GoogleSettings.Enable=!1,t.OpenIdSettings.Enable=!1,t.GitLabSettings.UserAPIEndpoint=e.GitLabSettings.Url.replace(/\/$/,"")+"/api/v4/user",e.oauthType===x.YM.GITLAB_SERVICE&&(t.GitLabSettings.Enable=!0),e.oauthType===x.YM.OFFICE365_SERVICE&&(t.Office365Settings.Enable=!0),e.oauthType===x.YM.GOOGLE_SERVICE&&(t.GoogleSettings.Enable=!0),delete t.oauthType,t},settings:[{type:"custom",component:Ud,key:"OpenIdConvert",isHidden:vy.any(vy.all(vy.not(vy.licensedForFeature("OpenId")),vy.not(vy.cloudLicensed)),vy.not(Sy)),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))},{type:"dropdown",key:"oauthType",label:(0,N.defineMessage)({id:"admin.openid.select",defaultMessage:"Select service provider:"}),options:[{value:"off",display_name:(0,N.defineMessage)({id:"admin.oauth.off",defaultMessage:"Do not allow sign-in via an OAuth 2.0 provider."})},{value:x.YM.GITLAB_SERVICE,display_name:(0,N.defineMessage)({id:"admin.oauth.gitlab",defaultMessage:"GitLab"}),help_text:(0,N.defineMessage)({id:"admin.gitlab.EnableMarkdownDesc",defaultMessage:'1. Log in to your GitLab account and go to Profile Settings -> Applications.\n2. Enter Redirect URIs "<loginUrlChunk>your-mattermost-url</loginUrlChunk>" (example: http://localhost:8065/login/gitlab/complete) and "<signupUrlChunk>your-mattermost-url</signupUrlChunk>".\n3. Then use "Application Secret Key" and "Application ID" fields from GitLab to complete the options below.\n4. Complete the Endpoint URLs below.'}),help_text_values:{loginUrlChunk:e=>"<".concat(e,">/login/gitlab/complete"),signupUrlChunk:e=>"<".concat(e,">/signup/gitlab/complete")},help_text_markdown:!0},{value:x.YM.GOOGLE_SERVICE,display_name:(0,N.defineMessage)({id:"admin.oauth.google",defaultMessage:"Google Apps"}),isHidden:vy.all(vy.not(vy.licensedForFeature("GoogleOAuth")),vy.not(vy.cloudLicensed)),help_text:(0,N.defineMessage)({id:"admin.google.EnableMarkdownDesc",defaultMessage:'1. <linkLogin>Log in</linkLogin> to your Google account.\n2. Go to <linkConsole>https://console.developers.google.com</linkConsole>, click <strong>Credentials</strong> in the left hand sidebar and enter "Mattermost - your-company-name" as the <strong>Project Name</strong>, then click <strong>Create</strong>.\n3. Click the <strong>OAuth consent screen</strong> header and enter "Mattermost" as the <strong>Product name shown to users</strong>, then click <strong>Save</strong>.\n4. Under the <strong>Credentials</strong> header, click <strong>Create credentials</strong>, choose <strong>OAuth client ID</strong> and select <strong>Web Application</strong>.\n5. Under <strong>Restrictions</strong> and <strong>Authorized redirect URIs</strong> enter <strong>"your-mattermost-url/signup/google/complete"</strong> (example: http://localhost:8065/signup/google/complete). Click <strong>Create</strong>.\n6. Paste the <strong>Client ID</strong> and <strong>Client Secret</strong> to the fields below, then click <strong>Save</strong>.\n7. Go to the <linkAPI>Google People API</linkAPI> and click <strong>Enable</strong>.'}),help_text_markdown:!1,help_text_values:{linkLogin:e=>T().createElement(ce.A,{location:"admin_console",href:"https://accounts.google.com/login"},e),linkConsole:e=>T().createElement(ce.A,{location:"admin_console",href:"https://console.developers.google.com"},e),linkAPI:e=>T().createElement(ce.A,{location:"admin_console",href:"https://console.developers.google.com/apis/library/people.googleapis.com"},e),strong:e=>T().createElement("strong",null,e)}},{value:x.YM.OFFICE365_SERVICE,display_name:(0,N.defineMessage)({id:"admin.oauth.office365",defaultMessage:"Entra ID"}),isHidden:vy.all(vy.not(vy.licensedForFeature("Office365OAuth")),vy.not(vy.cloudLicensed)),help_text:(0,N.defineMessage)({id:"admin.office365.EnableMarkdownDesc",defaultMessage:'1. <linkLogin>Log in</linkLogin> to your Microsoft account. \n2. In Microsoft, go to <strong>Applications</strong> and <strong>App Registrations</strong> in the left pane.\n3. Select <strong>New registration</strong>, then enter "Mattermost - your-company-name" as the <strong>Application Name</strong>. \n4. Under <strong>Redirect URI</strong>, select <strong>Web</strong>, and enter "your-mattermost-url/signup/office365/complete" as the <strong>Redirect URI</strong>. Select <strong>Register</strong>.\n5. Copy the Microsoft <strong>Application (client) ID</strong> value, and paste it below as the <strong>Client ID</strong> value. \n6. Copy the Microsoft <strong>Directory (tenant) ID</strong> value, and paste it below as the <strong>Directory (tenant) ID</strong> value. \n7. In Microsoft, create a new client secret. Copy the resulting client secret value, and paste it below as the <strong>Client Secret</strong> value. Select <strong>Save</strong>.'}),help_text_markdown:!1,help_text_values:{linkLogin:e=>T().createElement(ce.A,{location:"admin_console",href:"https://entra.microsoft.com"},e),linkTenant:e=>T().createElement(ce.A,{location:"admin_console",href:"https://msdn.microsoft.com/en-us/library/azure/jj573650.aspx#Anchor_0"},e),linkApps:e=>T().createElement(ce.A,{location:"admin_console",href:"https://entra.microsoft.com"},e),strong:e=>T().createElement("strong",null,e)}}],isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))},{type:"text",key:"GitLabSettings.Id",label:(0,N.defineMessage)({id:"admin.gitlab.clientIdTitle",defaultMessage:"Application ID:"}),help_text:(0,N.defineMessage)({id:"admin.gitlab.clientIdDescription",defaultMessage:"Obtain this value via the instructions above for logging into GitLab."}),placeholder:(0,N.defineMessage)({id:"admin.gitlab.clientIdExample",defaultMessage:'E.g.: "jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY"'}),isHidden:vy.not(vy.stateEquals("oauthType","gitlab")),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))},{type:"text",key:"GitLabSettings.Secret",label:(0,N.defineMessage)({id:"admin.gitlab.clientSecretTitle",defaultMessage:"Application Secret Key:"}),help_text:(0,N.defineMessage)({id:"admin.gitlab.clientSecretDescription",defaultMessage:"Obtain this value via the instructions above for logging into GitLab."}),placeholder:(0,N.defineMessage)({id:"admin.gitlab.clientSecretExample",defaultMessage:'E.g.: "jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY"'}),isHidden:vy.not(vy.stateEquals("oauthType","gitlab")),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))},{type:"text",key:"GitLabSettings.Url",label:(0,N.defineMessage)({id:"admin.gitlab.siteUrl",defaultMessage:"GitLab Site URL:"}),help_text:(0,N.defineMessage)({id:"admin.gitlab.siteUrlDescription",defaultMessage:"Enter the URL of your GitLab instance, e.g. https://example.com:3000. If your GitLab instance is not set up with SSL, start the URL with http:// instead of https://."}),placeholder:(0,N.defineMessage)({id:"admin.gitlab.siteUrlExample",defaultMessage:"E.g.: https://"}),isHidden:vy.not(vy.stateEquals("oauthType","gitlab")),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))},{type:"text",key:"GitLabSettings.UserAPIEndpoint",label:(0,N.defineMessage)({id:"admin.gitlab.userTitle",defaultMessage:"User API Endpoint:"}),dynamic_value:(e,t,s)=>s["GitLabSettings.Url"]?s["GitLabSettings.Url"].replace(/\/$/,"")+"/api/v4/user":"",isDisabled:!0,isHidden:vy.not(vy.stateEquals("oauthType","gitlab"))},{type:"text",key:"GitLabSettings.AuthEndpoint",label:(0,N.defineMessage)({id:"admin.gitlab.authTitle",defaultMessage:"Auth Endpoint:"}),dynamic_value:(e,t,s)=>s["GitLabSettings.Url"]?s["GitLabSettings.Url"].replace(/\/$/,"")+"/oauth/authorize":"",isDisabled:!0,isHidden:vy.not(vy.stateEquals("oauthType","gitlab"))},{type:"text",key:"GitLabSettings.TokenEndpoint",label:(0,N.defineMessage)({id:"admin.gitlab.tokenTitle",defaultMessage:"Token Endpoint:"}),dynamic_value:(e,t,s)=>s["GitLabSettings.Url"]?s["GitLabSettings.Url"].replace(/\/$/,"")+"/oauth/token":"",isDisabled:!0,isHidden:vy.not(vy.stateEquals("oauthType","gitlab"))},{type:"text",key:"GoogleSettings.Id",label:(0,N.defineMessage)({id:"admin.google.clientIdTitle",defaultMessage:"Client ID:"}),help_text:(0,N.defineMessage)({id:"admin.google.clientIdDescription",defaultMessage:"The Client ID you received when registering your application with Google."}),placeholder:(0,N.defineMessage)({id:"admin.google.clientIdExample",defaultMessage:'E.g.: "7602141235235-url0fhs1mayfasbmop5qlfns8dh4.apps.googleusercontent.com"'}),isHidden:vy.not(vy.stateEquals("oauthType","google")),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))},{type:"text",key:"GoogleSettings.Secret",label:(0,N.defineMessage)({id:"admin.google.clientSecretTitle",defaultMessage:"Client Secret:"}),help_text:(0,N.defineMessage)({id:"admin.google.clientSecretDescription",defaultMessage:"The Client Secret you received when registering your application with Google."}),placeholder:(0,N.defineMessage)({id:"admin.google.clientSecretExample",defaultMessage:'E.g.: "H8sz0Az-dDs2p15-7QzD231"'}),isHidden:vy.not(vy.stateEquals("oauthType","google")),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))},{type:"text",key:"GoogleSettings.UserAPIEndpoint",label:(0,N.defineMessage)({id:"admin.google.userTitle",defaultMessage:"User API Endpoint:"}),dynamic_value:()=>"https://people.googleapis.com/v1/people/me?personFields=names,emailAddresses,nicknames,metadata",isDisabled:!0,isHidden:vy.not(vy.stateEquals("oauthType","google"))},{type:"text",key:"GoogleSettings.AuthEndpoint",label:(0,N.defineMessage)({id:"admin.google.authTitle",defaultMessage:"Auth Endpoint:"}),dynamic_value:()=>"https://accounts.google.com/o/oauth2/v2/auth",isDisabled:!0,isHidden:vy.not(vy.stateEquals("oauthType","google"))},{type:"text",key:"GoogleSettings.TokenEndpoint",label:(0,N.defineMessage)({id:"admin.google.tokenTitle",defaultMessage:"Token Endpoint:"}),dynamic_value:()=>"https://www.googleapis.com/oauth2/v4/token",isDisabled:!0,isHidden:vy.not(vy.stateEquals("oauthType","google"))},{type:"text",key:"Office365Settings.Id",label:(0,N.defineMessage)({id:"admin.office365.clientIdTitle",defaultMessage:"Application ID:"}),help_text:(0,N.defineMessage)({id:"admin.office365.clientIdDescription",defaultMessage:"The Application/Client ID you received when registering your application with Microsoft."}),placeholder:(0,N.defineMessage)({id:"admin.office365.clientIdExample",defaultMessage:'E.g.: "adf3sfa2-ag3f-sn4n-ids0-sh1hdax192qq"'}),isHidden:vy.not(vy.stateEquals("oauthType","office365")),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))},{type:"text",key:"Office365Settings.Secret",label:(0,N.defineMessage)({id:"admin.office365.clientSecretTitle",defaultMessage:"Application Secret Password:"}),help_text:(0,N.defineMessage)({id:"admin.office365.clientSecretDescription",defaultMessage:"The Application Secret Password you generated when registering your application with Microsoft."}),placeholder:(0,N.defineMessage)({id:"admin.office365.clientSecretExample",defaultMessage:'E.g.: "shAieM47sNBfgl20f8ci294"'}),isHidden:vy.not(vy.stateEquals("oauthType","office365")),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))},{type:"text",key:"Office365Settings.DirectoryId",label:(0,N.defineMessage)({id:"admin.office365.directoryIdTitle",defaultMessage:"Directory (tenant) ID:"}),help_text:(0,N.defineMessage)({id:"admin.office365.directoryIdDescription",defaultMessage:"The Directory (tenant) ID you received when registering your application with Microsoft."}),placeholder:(0,N.defineMessage)({id:"admin.office365.directoryIdExample",defaultMessage:'E.g.: "adf3sfa2-ag3f-sn4n-ids0-sh1hdax192qq"'}),isHidden:vy.not(vy.stateEquals("oauthType","office365")),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))},{type:"text",key:"Office365Settings.UserAPIEndpoint",label:(0,N.defineMessage)({id:"admin.office365.userTitle",defaultMessage:"User API Endpoint:"}),dynamic_value:()=>"https://graph.microsoft.com/v1.0/me",isDisabled:!0,isHidden:vy.not(vy.stateEquals("oauthType","office365"))},{type:"text",key:"Office365Settings.AuthEndpoint",label:(0,N.defineMessage)({id:"admin.office365.authTitle",defaultMessage:"Auth Endpoint:"}),dynamic_value:(e,t,s)=>s["Office365Settings.DirectoryId"]?"https://login.microsoftonline.com/"+s["Office365Settings.DirectoryId"]+"/oauth2/v2.0/authorize":"https://login.microsoftonline.com/{directoryId}/oauth2/v2.0/authorize",isDisabled:!0,isHidden:vy.not(vy.stateEquals("oauthType","office365"))},{type:"text",key:"Office365Settings.TokenEndpoint",label:(0,N.defineMessage)({id:"admin.office365.tokenTitle",defaultMessage:"Token Endpoint:"}),dynamic_value:(e,t,s)=>s["Office365Settings.DirectoryId"]?"https://login.microsoftonline.com/"+s["Office365Settings.DirectoryId"]+"/oauth2/v2.0/token":"https://login.microsoftonline.com/{directoryId}/oauth2/v2.0/token",isDisabled:!0,isHidden:vy.not(vy.stateEquals("oauthType","office365"))}]}},openid:{url:"authentication/openid",title:(0,N.defineMessage)({id:"admin.sidebar.openid",defaultMessage:"OpenID Connect"}),isHidden:vy.any(vy.all(vy.not(vy.licensedForFeature("OpenId")),vy.not(vy.cloudLicensed)),vy.not(vy.userHasReadPermissionOnResource(y.AUTHENTICATION.OPENID))),schema:{id:"OpenIdSettings",name:(0,N.defineMessage)({id:"admin.authentication.openid",defaultMessage:"OpenID Connect"}),onConfigLoad:e=>{var t,s,a,n,i,r;const o={};return null!==(t=e.Office365Settings)&&void 0!==t&&t.Enable&&(o.openidType=x.YM.OFFICE365_SERVICE),null!==(s=e.GoogleSettings)&&void 0!==s&&s.Enable&&(o.openidType=x.YM.GOOGLE_SERVICE),null!==(a=e.GitLabSettings)&&void 0!==a&&a.Enable&&(o.openidType=x.YM.GITLAB_SERVICE),null!==(n=e.OpenIdSettings)&&void 0!==n&&n.Enable&&(o.openidType=x.YM.OPENID_SERVICE),null!==(i=e.GitLabSettings)&&void 0!==i&&i.UserAPIEndpoint?o["GitLabSettings.Url"]=e.GitLabSettings.UserAPIEndpoint.replace("/api/v4/user",""):null!==(r=e.GitLabSettings)&&void 0!==r&&r.DiscoveryEndpoint&&(o["GitLabSettings.Url"]=e.GitLabSettings.DiscoveryEndpoint.replace("/.well-known/openid-configuration","")),o},onConfigSave:e=>{const t=gy({},e);t.Office365Settings=e.Office365Settings||{},t.GoogleSettings=e.GoogleSettings||{},t.GitLabSettings=e.GitLabSettings||{},t.OpenIdSettings=e.OpenIdSettings||{},t.Office365Settings.Enable=!1,t.GoogleSettings.Enable=!1,t.GitLabSettings.Enable=!1,t.OpenIdSettings.Enable=!1;let s="";return e.openidType===x.YM.OFFICE365_SERVICE?s="Office365Settings":e.openidType===x.YM.GOOGLE_SERVICE?s="GoogleSettings":e.openidType===x.YM.GITLAB_SERVICE?s="GitLabSettings":e.openidType===x.YM.OPENID_SERVICE&&(s="OpenIdSettings"),""!==s&&(t[s].Enable=!0,t[s].Scope=x.YM.OPENID_SCOPES,t[s].UserAPIEndpoint="",t[s].AuthEndpoint="",t[s].TokenEndpoint=""),delete t.openidType,t},settings:[{type:"custom",component:Ud,key:"OpenIdConvert",isHidden:vy.any(vy.not(Sy)),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))},{type:"dropdown",key:"openidType",label:(0,N.defineMessage)({id:"admin.openid.select",defaultMessage:"Select service provider:"}),isHelpHidden:vy.all(vy.stateEquals("openidType",x.YM.OPENID_SERVICE),vy.licensedForCloudStarter),options:[{value:"off",display_name:(0,N.defineMessage)({id:"admin.openid.off",defaultMessage:"Do not allow sign-in via an OpenID provider."})},{value:x.YM.GITLAB_SERVICE,display_name:(0,N.defineMessage)({id:"admin.openid.gitlab",defaultMessage:"GitLab"}),help_text:(0,N.defineMessage)({id:"admin.gitlab.EnableMarkdownDesc",defaultMessage:'1. Log in to your GitLab account and go to Profile Settings -> Applications.\n2. Enter Redirect URIs "<loginUrlChunk>your-mattermost-url</loginUrlChunk>" (example: http://localhost:8065/login/gitlab/complete) and "<signupUrlChunk>your-mattermost-url</signupUrlChunk>".\n3. Then use "Application Secret Key" and "Application ID" fields from GitLab to complete the options below.\n4. Complete the Endpoint URLs below.'}),help_text_values:{loginUrlChunk:e=>"<".concat(e,">/login/gitlab/complete"),signupUrlChunk:e=>"<".concat(e,">/signup/gitlab/complete")},help_text_markdown:!1},{value:x.YM.GOOGLE_SERVICE,display_name:(0,N.defineMessage)({id:"admin.openid.google",defaultMessage:"Google Apps"}),help_text:(0,N.defineMessage)({id:"admin.google.EnableMarkdownDesc",defaultMessage:'1. <linkLogin>Log in</linkLogin> to your Google account.\n2. Go to <linkConsole>https://console.developers.google.com]</linkConsole>, click <strong>Credentials</strong> in the left hand side.\n 3. Under the <strong>Credentials</strong> header, click <strong>Create credentials</strong>, choose <strong>OAuth client ID</strong> and select <strong>Web Application</strong>.\n 4. Enter "Mattermost - your-company-name" as the <strong>Name</strong>.\n 5. Under <strong>Authorized redirect URIs</strong> enter <strong>"your-mattermost-url/signup/google/complete"</strong> (example: http://localhost:8065/signup/google/complete). Click <strong>Create</strong>.\n 6. Paste the <strong>Client ID</strong> and <strong>Client Secret</strong> to the fields below, then click <strong>Save</strong>.\n 7. Go to the <linkAPI>Google People API</linkAPI> and click <strong>Enable</strong>.'}),help_text_markdown:!1,help_text_values:{linkLogin:e=>T().createElement(ce.A,{location:"admin_console",href:"https://accounts.google.com/login"},e),linkConsole:e=>T().createElement(ce.A,{location:"admin_console",href:"https://console.developers.google.com"},e),linkAPI:e=>T().createElement(ce.A,{location:"admin_console",href:"https://console.developers.google.com/apis/library/people.googleapis.com"},e),strong:e=>T().createElement("strong",null,e)}},{value:x.YM.OFFICE365_SERVICE,display_name:(0,N.defineMessage)({id:"admin.openid.office365",defaultMessage:"Entra ID"}),help_text:(0,N.defineMessage)({id:"admin.office365.EnableMarkdownDesc",defaultMessage:'1. <linkLogin>Log in</linkLogin> to your Microsoft account. \n2. In Microsoft, go to <strong>Applications</strong> and <strong>App Registrations</strong> in the left pane.\n3. Select <strong>New registration</strong>, then enter "Mattermost - your-company-name" as the <strong>Application Name</strong>. \n4. Under <strong>Redirect URI</strong>, select <strong>Web</strong>, and enter "your-mattermost-url/signup/office365/complete" as the <strong>Redirect URI</strong>. Select <strong>Register</strong>.\n5. Copy the Microsoft <strong>Application (client) ID</strong> value, and paste it below as the <strong>Client ID</strong> value. \n6. Copy the Microsoft <strong>Directory (tenant) ID</strong> value, and paste it below as the <strong>Directory (tenant) ID</strong> value. \n7. In Microsoft, create a new client secret. Copy the resulting client secret value, and paste it below as the <strong>Client Secret</strong> value. Select <strong>Save</strong>.'}),help_text_markdown:!1,help_text_values:{linkLogin:e=>T().createElement(ce.A,{location:"admin_console",href:"https://entra.microsoft.com"},e),linkTenant:e=>T().createElement(ce.A,{location:"admin_console",href:"https://msdn.microsoft.com/en-us/library/azure/jj573650.aspx#Anchor_0"},e),linkApps:e=>T().createElement(ce.A,{location:"admin_console",href:"https://entra.microsoft.com"},e),strong:e=>T().createElement("strong",null,e)}},{value:x.YM.OPENID_SERVICE,display_name:(0,N.defineMessage)({id:"admin.oauth.openid",defaultMessage:"OpenID Connect (Other)"}),help_text:(0,N.defineMessage)({id:"admin.openid.EnableMarkdownDesc",defaultMessage:'Follow provider directions for creating an OpenID Application. Most OpenID Connect providers require authorization of all redirect URIs. In the appropriate field, enter "your-mattermost-url/signup/openid/complete" (example: http://domain.com/signup/openid/complete)'}),help_text_markdown:!1}],isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))},{type:"text",key:"GitLabSettings.Url",label:(0,N.defineMessage)({id:"admin.gitlab.siteUrl",defaultMessage:"GitLab Site URL:"}),help_text:(0,N.defineMessage)({id:"admin.gitlab.siteUrlDescription",defaultMessage:"Enter the URL of your GitLab instance, e.g. https://example.com:3000. If your GitLab instance is not set up with SSL, start the URL with http:// instead of https://."}),placeholder:(0,N.defineMessage)({id:"admin.gitlab.siteUrlExample",defaultMessage:"E.g.: https://"}),isHidden:vy.not(vy.stateEquals("openidType",x.YM.GITLAB_SERVICE)),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))},{type:"text",key:"GitLabSettings.DiscoveryEndpoint",label:(0,N.defineMessage)({id:"admin.openid.discoveryEndpointTitle",defaultMessage:"Discovery Endpoint:"}),help_text:(0,N.defineMessage)({id:"admin.gitlab.discoveryEndpointDesc",defaultMessage:"The URL of the discovery document for OpenID Connect with GitLab."}),help_text_markdown:!1,dynamic_value:(e,t,s)=>s["GitLabSettings.Url"]?s["GitLabSettings.Url"].replace(/\/$/,"")+"/.well-known/openid-configuration":"",isDisabled:!0,isHidden:vy.not(vy.stateEquals("openidType",x.YM.GITLAB_SERVICE))},{type:"text",key:"GitLabSettings.Id",label:(0,N.defineMessage)({id:"admin.openid.clientIdTitle",defaultMessage:"Client ID:"}),help_text:(0,N.defineMessage)({id:"admin.openid.clientIdDescription",defaultMessage:"Obtaining the Client ID differs across providers. Please check you provider's documentation"}),placeholder:(0,N.defineMessage)({id:"admin.gitlab.clientIdExample",defaultMessage:'E.g.: "jcuS8PuvcpGhpgHhlcpT1Mx42pnqMxQY"'}),isHidden:vy.not(vy.stateEquals("openidType",x.YM.GITLAB_SERVICE)),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))},{type:"text",key:"GitLabSettings.Secret",label:(0,N.defineMessage)({id:"admin.openid.clientSecretTitle",defaultMessage:"Client Secret:"}),help_text:(0,N.defineMessage)({id:"admin.openid.clientSecretDescription",defaultMessage:"Obtaining the Client Secret differs across providers. Please check you provider's documentation"}),placeholder:(0,N.defineMessage)({id:"admin.gitlab.clientSecretExample",defaultMessage:'E.g.: "jcuS8PuvcpGhpgHhlcpT1Mx442pnqMxQY"'}),isHidden:vy.not(vy.stateEquals("openidType",x.YM.GITLAB_SERVICE)),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))},{type:"text",key:"GoogleSettings.DiscoveryEndpoint",label:(0,N.defineMessage)({id:"admin.openid.discoveryEndpointTitle",defaultMessage:"Discovery Endpoint:"}),help_text:(0,N.defineMessage)({id:"admin.google.discoveryEndpointDesc",defaultMessage:"The URL of the discovery document for OpenID Connect with Google."}),help_text_markdown:!1,dynamic_value:()=>"https://accounts.google.com/.well-known/openid-configuration",isDisabled:!0,isHidden:vy.not(vy.stateEquals("openidType",x.YM.GOOGLE_SERVICE))},{type:"text",key:"GoogleSettings.Id",label:(0,N.defineMessage)({id:"admin.openid.clientIdTitle",defaultMessage:"Client ID:"}),help_text:(0,N.defineMessage)({id:"admin.openid.clientIdDescription",defaultMessage:"Obtaining the Client ID differs across providers. Please check you provider's documentation"}),placeholder:(0,N.defineMessage)({id:"admin.google.clientIdExample",defaultMessage:'E.g.: "7602141235235-url0fhs1mayfasbmop5qlfns8dh4.apps.googleusercontent.com"'}),isHidden:vy.not(vy.stateEquals("openidType",x.YM.GOOGLE_SERVICE)),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))},{type:"text",key:"GoogleSettings.Secret",label:(0,N.defineMessage)({id:"admin.openid.clientSecretTitle",defaultMessage:"Client Secret:"}),help_text:(0,N.defineMessage)({id:"admin.openid.clientSecretDescription",defaultMessage:"Obtaining the Client Secret differs across providers. Please check you provider's documentation"}),placeholder:(0,N.defineMessage)({id:"admin.google.clientSecretExample",defaultMessage:'E.g.: "H8sz0Az-dDs2p15-7QzD231"'}),isHidden:vy.not(vy.stateEquals("openidType",x.YM.GOOGLE_SERVICE)),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))},{type:"text",key:"Office365Settings.DirectoryId",label:(0,N.defineMessage)({id:"admin.office365.directoryIdTitle",defaultMessage:"Directory (tenant) ID:"}),help_text:(0,N.defineMessage)({id:"admin.office365.directoryIdDescription",defaultMessage:"The Directory (tenant) ID you received when registering your application with Microsoft."}),placeholder:(0,N.defineMessage)({id:"admin.office365.directoryIdExample",defaultMessage:'E.g.: "adf3sfa2-ag3f-sn4n-ids0-sh1hdax192qq"'}),isHidden:vy.not(vy.stateEquals("openidType",x.YM.OFFICE365_SERVICE)),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))},{type:"text",key:"Office365Settings.DiscoveryEndpoint",label:(0,N.defineMessage)({id:"admin.openid.discoveryEndpointTitle",defaultMessage:"Discovery Endpoint:"}),help_text:(0,N.defineMessage)({id:"admin.office365.discoveryEndpointDesc",defaultMessage:"The URL of the discovery document for OpenID Connect with Entra ID."}),help_text_markdown:!1,dynamic_value:(e,t,s)=>s["Office365Settings.DirectoryId"]?"https://login.microsoftonline.com/"+s["Office365Settings.DirectoryId"]+"/v2.0/.well-known/openid-configuration":"https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration",isDisabled:!0,isHidden:vy.not(vy.stateEquals("openidType",x.YM.OFFICE365_SERVICE))},{type:"text",key:"Office365Settings.Id",label:(0,N.defineMessage)({id:"admin.openid.clientIdTitle",defaultMessage:"Client ID:"}),help_text:(0,N.defineMessage)({id:"admin.openid.clientIdDescription",defaultMessage:"Obtaining the Client ID differs across providers. Please check you provider's documentation"}),placeholder:(0,N.defineMessage)({id:"admin.office365.clientIdExample",defaultMessage:'E.g.: "adf3sfa2-ag3f-sn4n-ids0-sh1hdax192qq"'}),isHidden:vy.not(vy.stateEquals("openidType",x.YM.OFFICE365_SERVICE)),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))},{type:"text",key:"Office365Settings.Secret",label:(0,N.defineMessage)({id:"admin.openid.clientSecretTitle",defaultMessage:"Client Secret:"}),help_text:(0,N.defineMessage)({id:"admin.openid.clientSecretDescription",defaultMessage:"Obtaining the Client Secret differs across providers. Please check you provider's documentation"}),placeholder:(0,N.defineMessage)({id:"admin.office365.clientSecretExample",defaultMessage:'E.g.: "shAieM47sNBfgl20f8ci294"'}),isHidden:vy.not(vy.stateEquals("openidType",x.YM.OFFICE365_SERVICE)),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))},{type:"text",key:"OpenIdSettings.ButtonText",label:(0,N.defineMessage)({id:"admin.openid.buttonTextTitle",defaultMessage:"Button Name:"}),placeholder:(0,N.defineMessage)({id:"admin.openid.buttonTextEx",defaultMessage:"Custom Button Name"}),help_text:(0,N.defineMessage)({id:"admin.openid.buttonTextDesc",defaultMessage:"The text that will show on the login button."}),isHidden:vy.any(vy.not(vy.stateEquals("openidType",x.YM.OPENID_SERVICE)),vy.licensedForCloudStarter),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))},{type:"color",key:"OpenIdSettings.ButtonColor",label:(0,N.defineMessage)({id:"admin.openid.buttonColorTitle",defaultMessage:"Button Color:"}),help_text:(0,N.defineMessage)({id:"admin.openid.buttonColorDesc",defaultMessage:"Specify the color of the OpenID login button for white labeling purposes. Use a hex code with a #-sign before the code."}),help_text_markdown:!1,isHidden:vy.any(vy.not(vy.stateEquals("openidType",x.YM.OPENID_SERVICE)),vy.licensedForCloudStarter),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))},{type:"text",key:"OpenIdSettings.DiscoveryEndpoint",label:(0,N.defineMessage)({id:"admin.openid.discoveryEndpointTitle",defaultMessage:"Discovery Endpoint:"}),placeholder:(0,N.defineMessage)({id:"admin.openid.discovery.placeholder",defaultMessage:"https://id.mydomain.com/.well-known/openid-configuration"}),help_text:(0,N.defineMessage)({id:"admin.openid.discoveryEndpointDesc",defaultMessage:"Enter the URL of the discovery document of the OpenID Connect provider you want to connect with."}),help_text_markdown:!1,isHidden:vy.any(vy.not(vy.stateEquals("openidType",x.YM.OPENID_SERVICE)),vy.licensedForCloudStarter),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))},{type:"text",key:"OpenIdSettings.Id",label:(0,N.defineMessage)({id:"admin.openid.clientIdTitle",defaultMessage:"Client ID:"}),help_text:(0,N.defineMessage)({id:"admin.openid.clientIdDescription",defaultMessage:"Obtaining the Client ID differs across providers. Please check you provider's documentation"}),placeholder:(0,N.defineMessage)({id:"admin.openid.clientIdExample",defaultMessage:'E.g.: "adf3sfa2-ag3f-sn4n-ids0-sh1hdax192qq"'}),isHidden:vy.any(vy.not(vy.stateEquals("openidType",x.YM.OPENID_SERVICE)),vy.licensedForCloudStarter),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))},{type:"text",key:"OpenIdSettings.Secret",label:(0,N.defineMessage)({id:"admin.openid.clientSecretTitle",defaultMessage:"Client Secret:"}),help_text:(0,N.defineMessage)({id:"admin.openid.clientSecretDescription",defaultMessage:"Obtaining the Client Secret differs across providers. Please check you provider's documentation"}),placeholder:(0,N.defineMessage)({id:"admin.openid.clientSecretExample",defaultMessage:'E.g.: "H8sz0Az-dDs2p15-7QzD231"'}),isHidden:vy.any(vy.not(vy.stateEquals("openidType",x.YM.OPENID_SERVICE)),vy.licensedForCloudStarter),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))},{type:"custom",key:"OpenIDCustomFeatureDiscovery",component:()=>T().createElement(co,{featureName:"openid",minimumSKURequiredForFeature:x.gS.Professional,title:(0,N.defineMessage)({id:"admin.openid_custom_feature_discovery.title",defaultMessage:"Integrate OpenID Connect with Mattermost Professional"}),copy:(0,N.defineMessage)({id:"admin.openid_custom_feature_discovery.copy",defaultMessage:"Use OpenID Connect for authentication and single sign-on (SSO) with any service that supports the OIDC specification such as Apple, Okta, OneLogin, and more."}),learnMoreURL:"https://docs.mattermost.com/cloud/cloud-administration/sso-openid-connect.html",featureDiscoveryImage:T().createElement(bo,{width:276,height:170})}),isHidden:vy.not(vy.all(vy.stateEquals("openidType",x.YM.OPENID_SERVICE),vy.licensedForCloudStarter)),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.OPENID))}]},restrictedIndicator:Ay()},openid_feature_discovery:{url:"authentication/openid",isDiscovery:!0,title:(0,N.defineMessage)({id:"admin.sidebar.openid",defaultMessage:"OpenID Connect"}),isHidden:vy.any(vy.any(vy.licensedForFeature("OpenId"),vy.cloudLicensed),vy.not(vy.enterpriseReady)),schema:{id:"OpenIdSettings",name:(0,N.defineMessage)({id:"admin.authentication.openid",defaultMessage:"OpenID Connect"}),settings:[{type:"custom",component:()=>T().createElement(co,{featureName:"openid",minimumSKURequiredForFeature:x.gS.Professional,title:(0,N.defineMessage)({id:"admin.openid_feature_discovery.title",defaultMessage:"Integrate OpenID Connect with Mattermost Professional"}),copy:(0,N.defineMessage)({id:"admin.openid_feature_discovery.copy",defaultMessage:"Use OpenID Connect for authentication and single sign-on (SSO) with any service that supports the OIDC specification such as Google, Entra ID, Apple, Okta, OneLogin, and more."}),learnMoreURL:"https://docs.mattermost.com/cloud/cloud-administration/sso-openid-connect.html",featureDiscoveryImage:T().createElement(bo,{width:276,height:170})}),key:"OpenIDFeatureDiscovery",isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ABOUT.EDITION_AND_LICENSE))}]},restrictedIndicator:Ay(!0)},guest_access:{url:"authentication/guest_access",title:(0,N.defineMessage)({id:"admin.sidebar.guest_access",defaultMessage:"Guest Access"}),isHidden:vy.any(vy.not(vy.licensedForFeature("GuestAccounts")),vy.not(vy.userHasReadPermissionOnResource(y.AUTHENTICATION.GUEST_ACCESS))),schema:{id:"GuestAccountsSettings",name:(0,N.defineMessage)({id:"admin.authentication.guest_access",defaultMessage:"Guest Access"}),settings:[{type:"custom",component:Rn,key:"GuestAccountsSettings.Enable",isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.GUEST_ACCESS))},{type:"bool",key:"GuestAccountsSettings.HideTags",label:(0,N.defineMessage)({id:"admin.guest_access.hideTags",defaultMessage:"Hide guest tag"}),help_text:(0,N.defineMessage)({id:"admin.guest_access.hideTagsDescription",defaultMessage:'When true, the "guest" tag will not be shown next to the name of all guest users in the Mattermost chat interface.'}),help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.GUEST_ACCESS))},{type:"text",key:"GuestAccountsSettings.RestrictCreationToDomains",label:(0,N.defineMessage)({id:"admin.guest_access.whitelistedDomainsTitle",defaultMessage:"Whitelisted Guest Domains:"}),help_text:(0,N.defineMessage)({id:"admin.guest_access.whitelistedDomainsDescription",defaultMessage:"(Optional) Guest accounts can be created at the system level from this list of allowed guest domains."}),help_text_markdown:!0,placeholder:(0,N.defineMessage)({id:"admin.guest_access.whitelistedDomainsExample",defaultMessage:'E.g.: "company.com, othercorp.org"'}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.GUEST_ACCESS))},{type:"bool",key:"GuestAccountsSettings.EnforceMultifactorAuthentication",label:(0,N.defineMessage)({id:"admin.guest_access.mfaTitle",defaultMessage:"Enforce Multi-factor Authentication: "}),help_text:(0,N.defineMessage)({id:"admin.guest_access.mfaDescriptionMFANotEnabled",defaultMessage:"[Multi-factor authentication](./mfa) is currently not enabled."}),help_text_markdown:!0,isHidden:vy.configIsTrue("ServiceSettings","EnableMultifactorAuthentication"),isDisabled:()=>!0},{type:"bool",key:"GuestAccountsSettings.EnforceMultifactorAuthentication",label:(0,N.defineMessage)({id:"admin.guest_access.mfaTitle",defaultMessage:"Enforce Multi-factor Authentication: "}),help_text:(0,N.defineMessage)({id:"admin.guest_access.mfaDescriptionMFANotEnforced",defaultMessage:"[Multi-factor authentication](./mfa) is currently not enforced."}),help_text_markdown:!0,isHidden:vy.any(vy.configIsFalse("ServiceSettings","EnableMultifactorAuthentication"),vy.configIsTrue("ServiceSettings","EnforceMultifactorAuthentication")),isDisabled:()=>!0},{type:"bool",key:"GuestAccountsSettings.EnforceMultifactorAuthentication",label:(0,N.defineMessage)({id:"admin.guest_access.mfaTitle",defaultMessage:"Enforce Multi-factor Authentication: "}),help_text:(0,N.defineMessage)({id:"admin.guest_access.mfaDescription",defaultMessage:"When true, <link>multi-factor authentication</link> for guests is required for login. New guest users will be required to configure MFA on signup. Logged in guest users without MFA configured are redirected to the MFA setup page until configuration is complete.\n \nIf your system has guest users with login methods other than AD/LDAP and email, MFA must be enforced with the authentication provider outside of Mattermost."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.Uk.MULTI_FACTOR_AUTH},e)},help_text_markdown:!1,isHidden:vy.any(vy.configIsFalse("ServiceSettings","EnableMultifactorAuthentication"),vy.configIsFalse("ServiceSettings","EnforceMultifactorAuthentication")),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.AUTHENTICATION.GUEST_ACCESS))}]},restrictedIndicator:Ay()},guest_access_feature_discovery:{isDiscovery:!0,url:"authentication/guest_access",title:(0,N.defineMessage)({id:"admin.sidebar.guest_access",defaultMessage:"Guest Access"}),isHidden:vy.any(vy.licensedForFeature("GuestAccounts"),vy.not(vy.enterpriseReady)),schema:{id:"GuestAccountsSettings",name:(0,N.defineMessage)({id:"admin.authentication.guest_access",defaultMessage:"Guest Access"}),settings:[{type:"custom",component:()=>T().createElement(co,{featureName:"guest_access",minimumSKURequiredForFeature:x.gS.Professional,title:(0,N.defineMessage)({id:"admin.guest_access_feature_discovery.title",defaultMessage:"Enable guest accounts with Mattermost Professional"}),copy:(0,N.defineMessage)({id:"admin.guest_access_feature_discovery.copy",defaultMessage:"Collaborate with users outside of your organization while tightly controlling their access channels and team members."}),learnMoreURL:"https://docs.mattermost.com/deployment/guest-accounts.html",featureDiscoveryImage:T().createElement(Mo,null)}),key:"GuestAccessFeatureDiscovery",isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ABOUT.EDITION_AND_LICENSE))}]},restrictedIndicator:Ay(!0)}}},plugins:{icon:T().createElement(w.PowerPlugOutlineIcon,{size:16,color:"currentColor"}),sectionTitle:(0,N.defineMessage)({id:"admin.sidebar.plugins",defaultMessage:"Plugins"}),id:"plugins",isHidden:vy.not(vy.userHasReadPermissionOnResource("plugins")),subsections:{plugin_management:{url:"plugins/plugin_management",title:(0,N.defineMessage)({id:"admin.plugins.pluginManagement",defaultMessage:"Plugin Management"}),searchableStrings:Pt,isDisabled:vy.not(vy.userHasWritePermissionOnResource("plugins")),schema:{id:"PluginManagementSettings",component:Dt}},custom:{url:"plugins/plugin_:plugin_id",isDisabled:vy.not(vy.userHasWritePermissionOnResource("plugins")),schema:{id:"CustomPluginSettings",component:Mt}}}},integrations:{icon:T().createElement(w.SitemapIcon,{size:16,color:"currentColor"}),sectionTitle:(0,N.defineMessage)({id:"admin.sidebar.integrations",defaultMessage:"Integrations"}),id:"integrations",isHidden:vy.not(vy.userHasReadPermissionOnSomeResources(y.INTEGRATIONS)),subsections:{integration_management:{url:"integrations/integration_management",title:(0,N.defineMessage)({id:"admin.integrations.integrationManagement",defaultMessage:"Integration Management"}),isHidden:vy.all(vy.not(vy.userHasReadPermissionOnResource(y.INTEGRATIONS.INTEGRATION_MANAGEMENT))),schema:{id:"CustomIntegrationSettings",name:(0,N.defineMessage)({id:"admin.integrations.integrationManagement.title",defaultMessage:"Integration Management"}),settings:[{type:"bool",key:"ServiceSettings.EnableIncomingWebhooks",label:(0,N.defineMessage)({id:"admin.service.webhooksTitle",defaultMessage:"Enable Incoming Webhooks: "}),help_text:(0,N.defineMessage)({id:"admin.service.webhooksDescription",defaultMessage:"When true, incoming webhooks will be allowed. To help combat phishing attacks, all posts from webhooks will be labelled by a BOT tag. See <link>documentation</link> to learn more."}),help_text_values:{link:e=>T().createElement(ce.A,{href:x.i3.INCOMING_WEBHOOKS,location:"admin_console"},e)},help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.INTEGRATIONS.INTEGRATION_MANAGEMENT))},{type:"bool",key:"ServiceSettings.EnableOutgoingWebhooks",label:(0,N.defineMessage)({id:"admin.service.outWebhooksTitle",defaultMessage:"Enable Outgoing Webhooks: "}),help_text:(0,N.defineMessage)({id:"admin.service.outWebhooksDesc",defaultMessage:"When true, outgoing webhooks will be allowed. See <link>documentation</link> to learn more."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.i3.OUTGOING_WEBHOOKS},e)},help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.INTEGRATIONS.INTEGRATION_MANAGEMENT))},{type:"bool",key:"ServiceSettings.EnableOutgoingOAuthConnections",label:(0,N.defineMessage)({id:"admin.service.outgoingOAuthConnectionsTitle",defaultMessage:"Enable Outgoing OAuth Connections: "}),help_text:(0,N.defineMessage)({id:"admin.service.outgoingOAuthConnectionsDesc",defaultMessage:"When true, outgoing webhooks and slash commands will use set up oauth connections to authenticate with third party services. See <link>documentation</link> to learn more."}),help_text_values:{link:e=>T().createElement("a",{href:"https://mattermost.com/pl/outgoing-oauth-connections"},e)},help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.INTEGRATIONS.INTEGRATION_MANAGEMENT))},{type:"bool",key:"ServiceSettings.EnableCommands",label:(0,N.defineMessage)({id:"admin.service.cmdsTitle",defaultMessage:"Enable Custom Slash Commands: "}),help_text:(0,N.defineMessage)({id:"admin.service.cmdsDesc",defaultMessage:"When true, custom slash commands will be allowed. See <link>documentation</link> to learn more."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.i3.SETUP_CUSTOM_SLASH_COMMANDS},e)},help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.INTEGRATIONS.INTEGRATION_MANAGEMENT))},{type:"bool",key:"ServiceSettings.EnableOAuthServiceProvider",label:(0,N.defineMessage)({id:"admin.oauth.providerTitle",defaultMessage:"Enable OAuth 2.0 Service Provider: "}),help_text:(0,N.defineMessage)({id:"admin.oauth.providerDescription",defaultMessage:"When true, Mattermost can act as an OAuth 2.0 service provider allowing Mattermost to authorize API requests from external applications. See <link>documentation</link> to learn more."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.i3.ENABLE_OAUTH2},e)},help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.INTEGRATIONS.INTEGRATION_MANAGEMENT)),isHidden:vy.licensedForFeature("Cloud")},{type:"number",key:"ServiceSettings.OutgoingIntegrationRequestsTimeout",label:(0,N.defineMessage)({id:"admin.service.integrationRequestTitle",defaultMessage:"Integration request timeout: "}),help_text:(0,N.defineMessage)({id:"admin.service.integrationRequestDesc",defaultMessage:"The number of seconds to wait for Integration requests. That includes <slashCommands>Slash Commands</slashCommands>, <outgoingWebhooks>Outgoing Webhooks</outgoingWebhooks>, <interactiveMessages>Interactive Messages</interactiveMessages> and <interactiveDialogs>Interactive Dialogs</interactiveDialogs>."}),help_text_values:{slashCommands:e=>T().createElement(ce.A,{location:"admin_console",href:x.i3.CUSTOM_SLASH_COMMANDS},e),outgoingWebhooks:e=>T().createElement(ce.A,{location:"admin_console",href:x.i3.OUTGOING_WEBHOOKS},e),interactiveMessages:e=>T().createElement(ce.A,{location:"admin_console",href:x.i3.INTERACTIVE_MESSAGES},e),interactiveDialogs:e=>T().createElement(ce.A,{location:"admin_console",href:x.i3.INTERACTIVE_DIALOGS},e)},help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.INTEGRATIONS.INTEGRATION_MANAGEMENT))},{type:"bool",key:"ServiceSettings.EnablePostUsernameOverride",label:(0,N.defineMessage)({id:"admin.service.overrideTitle",defaultMessage:"Enable integrations to override usernames:"}),help_text:(0,N.defineMessage)({id:"admin.service.overrideDescription",defaultMessage:"When true, webhooks, slash commands and other integrations will be allowed to change the username they are posting as. Note: Combined with allowing integrations to override profile picture icons, users may be able to perform phishing attacks by attempting to impersonate other users."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.INTEGRATIONS.INTEGRATION_MANAGEMENT))},{type:"bool",key:"ServiceSettings.EnablePostIconOverride",label:(0,N.defineMessage)({id:"admin.service.iconTitle",defaultMessage:"Enable integrations to override profile picture icons:"}),help_text:(0,N.defineMessage)({id:"admin.service.iconDescription",defaultMessage:"When true, webhooks, slash commands and other integrations will be allowed to change the profile picture they post with. Note: Combined with allowing integrations to override usernames, users may be able to perform phishing attacks by attempting to impersonate other users."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.INTEGRATIONS.INTEGRATION_MANAGEMENT))},{type:"bool",key:"ServiceSettings.EnableUserAccessTokens",label:(0,N.defineMessage)({id:"admin.service.userAccessTokensTitle",defaultMessage:"Enable User Access Tokens: "}),help_text:(0,N.defineMessage)({id:"admin.service.userAccessTokensDescription",defaultMessage:"When true, users can create <link>user access tokens</link> for integrations in <strong>Account Menu > Account Settings > Security</strong>. They can be used to authenticate against the API and give full access to the account.\n\n To manage who can create personal access tokens or to search users by token ID, go to the <strong>User Management > Users</strong> page."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.i3.PERSONAL_ACCESS_TOKENS},e),strong:e=>T().createElement("strong",null,e)},help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.INTEGRATIONS.INTEGRATION_MANAGEMENT))}]}},bot_accounts:{url:"integrations/bot_accounts",title:(0,N.defineMessage)({id:"admin.integrations.botAccounts",defaultMessage:"Bot Accounts"}),isHidden:vy.all(vy.not(vy.userHasReadPermissionOnResource(y.INTEGRATIONS.BOT_ACCOUNTS))),schema:{id:"BotAccountSettings",name:(0,N.defineMessage)({id:"admin.integrations.botAccounts.title",defaultMessage:"Bot Accounts"}),settings:[{type:"bool",key:"ServiceSettings.EnableBotAccountCreation",label:(0,N.defineMessage)({id:"admin.service.enableBotTitle",defaultMessage:"Enable Bot Account Creation: "}),help_text:(0,N.defineMessage)({id:"admin.service.enableBotAccountCreation",defaultMessage:"When true, System Admins can create bot accounts for integrations in <linkBots>Integrations > Bot Accounts</linkBots>. Bot accounts are similar to user accounts except they cannot be used to log in. See <linkDocumentation>documentation</linkDocumentation> to learn more."}),help_text_markdown:!1,help_text_values:{siteURL:(0,Ts.vV)(),linkDocumentation:e=>T().createElement(ce.A,{location:"admin_console",href:"https://mattermost.com/pl/default-bot-accounts"},e),linkBots:e=>T().createElement(ce.A,{location:"admin_console",href:"".concat((0,Ts.vV)(),"/_redirect/integrations/bots")},e)},isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.INTEGRATIONS.BOT_ACCOUNTS))},{type:"bool",key:"ServiceSettings.DisableBotsWhenOwnerIsDeactivated",label:(0,N.defineMessage)({id:"admin.service.disableBotOwnerDeactivatedTitle",defaultMessage:"Disable bot accounts when owner is deactivated:"}),help_text:(0,N.defineMessage)({id:"admin.service.disableBotWhenOwnerIsDeactivated",defaultMessage:"When a user is deactivated, disables all bot accounts managed by the user. To re-enable bot accounts, go to [Integrations > Bot Accounts]({siteURL}/_redirect/integrations/bots)."}),help_text_markdown:!0,help_text_values:{siteURL:(0,Ts.vV)()},isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.INTEGRATIONS.BOT_ACCOUNTS))}]}},gif:{url:"integrations/gif",title:(0,N.defineMessage)({id:"admin.sidebar.gif",defaultMessage:"GIF"}),isHidden:vy.all(vy.not(vy.userHasReadPermissionOnResource(y.INTEGRATIONS.GIF))),schema:{id:"GifSettings",name:(0,N.defineMessage)({id:"admin.integrations.gif",defaultMessage:"GIF"}),settings:[{type:"bool",key:"ServiceSettings.EnableGifPicker",label:(0,N.defineMessage)({id:"admin.customization.enableGifPickerTitle",defaultMessage:"Enable GIF Picker:"}),help_text:(0,N.defineMessage)({id:"admin.customization.enableGifPickerDesc",defaultMessage:"Allows users to select GIFs from the emoji picker."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.INTEGRATIONS.GIF))}]}},cors:{url:"integrations/cors",title:(0,N.defineMessage)({id:"admin.sidebar.cors",defaultMessage:"CORS"}),isHidden:vy.any(vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin"),vy.not(vy.userHasReadPermissionOnResource(y.INTEGRATIONS.CORS))),schema:{id:"CORS",name:(0,N.defineMessage)({id:"admin.integrations.cors",defaultMessage:"CORS"}),settings:[{type:"text",key:"ServiceSettings.AllowCorsFrom",label:(0,N.defineMessage)({id:"admin.service.corsTitle",defaultMessage:"Enable cross-origin requests from:"}),placeholder:(0,N.defineMessage)({id:"admin.service.corsEx",defaultMessage:"http://example.com"}),help_text:(0,N.defineMessage)({id:"admin.service.corsDescription",defaultMessage:'Enable HTTP Cross origin request from a specific domain. Use "*" if you want to allow CORS from any domain or leave it blank to disable it. Should not be set to "*" in production.'}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.INTEGRATIONS.CORS))},{type:"text",key:"ServiceSettings.CorsExposedHeaders",label:(0,N.defineMessage)({id:"admin.service.corsExposedHeadersTitle",defaultMessage:"CORS Exposed Headers:"}),placeholder:(0,N.defineMessage)({id:"admin.service.corsHeadersEx",defaultMessage:"X-My-Header"}),help_text:(0,N.defineMessage)({id:"admin.service.corsExposedHeadersDescription",defaultMessage:"Whitelist of headers that will be accessible to the requester."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.INTEGRATIONS.CORS))},{type:"bool",key:"ServiceSettings.CorsAllowCredentials",label:(0,N.defineMessage)({id:"admin.service.corsAllowCredentialsLabel",defaultMessage:"CORS Allow Credentials:"}),help_text:(0,N.defineMessage)({id:"admin.service.corsAllowCredentialsDescription",defaultMessage:"When true, requests that pass validation will include the Access-Control-Allow-Credentials header."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.INTEGRATIONS.CORS))},{type:"bool",key:"ServiceSettings.CorsDebug",label:(0,N.defineMessage)({id:"admin.service.CorsDebugLabel",defaultMessage:"CORS Debug:"}),help_text:(0,N.defineMessage)({id:"admin.service.corsDebugDescription",defaultMessage:'When true, prints messages to the logs to help when developing an integration that uses CORS. These messages will include the structured key value pair "source":"cors".'}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.INTEGRATIONS.CORS))}]}}}},compliance:{icon:T().createElement(w.FormatListBulletedIcon,{size:16,color:"currentColor"}),sectionTitle:(0,N.defineMessage)({id:"admin.sidebar.compliance",defaultMessage:"Compliance"}),isHidden:vy.not(vy.userHasReadPermissionOnSomeResources(y.COMPLIANCE)),subsections:{custom_policy_form_edit:{url:"compliance/data_retention_settings/custom_policy/:policy_id(".concat(_s.Zv,")"),isHidden:vy.any(vy.not(vy.licensedForFeature("DataRetention")),vy.not(vy.userHasReadPermissionOnSomeResources(y.COMPLIANCE.DATA_RETENTION_POLICY))),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.COMPLIANCE.DATA_RETENTION_POLICY)),schema:{id:"CustomDataRetentionForm",component:kr}},custom_policy_form:{url:"compliance/data_retention_settings/custom_policy",isHidden:vy.any(vy.not(vy.licensedForFeature("DataRetention")),vy.not(vy.userHasReadPermissionOnSomeResources(y.COMPLIANCE.DATA_RETENTION_POLICY))),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.COMPLIANCE.DATA_RETENTION_POLICY)),schema:{id:"CustomDataRetentionForm",component:kr}},global_policy_form:{url:"compliance/data_retention_settings/global_policy",isHidden:vy.any(vy.not(vy.licensedForFeature("DataRetention")),vy.not(vy.userHasReadPermissionOnResource(y.COMPLIANCE.DATA_RETENTION_POLICY))),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.COMPLIANCE.DATA_RETENTION_POLICY)),schema:{id:"GlobalDataRetentionForm",component:Fr}},data_retention:{url:"compliance/data_retention_settings",title:(0,N.defineMessage)({id:"admin.sidebar.dataRetentionSettingsPolicies",defaultMessage:"Data Retention Policies"}),searchableStrings:[Cy.data_retention_title,...yi],isHidden:vy.any(vy.not(vy.licensedForFeature("DataRetention")),vy.not(vy.userHasReadPermissionOnResource(y.COMPLIANCE.DATA_RETENTION_POLICY))),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.COMPLIANCE.DATA_RETENTION_POLICY)),schema:{id:"DataRetentionSettings",component:Ci},restrictedIndicator:Ay()},data_retention_feature_discovery:{url:"compliance/data_retention",isDiscovery:!0,title:(0,N.defineMessage)({id:"admin.sidebar.dataRetentionPolicy",defaultMessage:"Data Retention Policy"}),isHidden:vy.any(vy.licensedForFeature("DataRetention"),vy.not(vy.enterpriseReady)),schema:{id:"DataRetentionSettings",name:Cy.data_retention_title,settings:[{type:"custom",component:()=>T().createElement(co,{featureName:"data_retention",minimumSKURequiredForFeature:x.gS.Enterprise,title:(0,N.defineMessage)({id:"admin.data_retention_feature_discovery.title",defaultMessage:"Create data retention schedules with Mattermost Enterprise"}),copy:(0,N.defineMessage)({id:"admin.data_retention_feature_discovery.copy",defaultMessage:"Hold on to your data only as long as you need to. Create data retention jobs for select channels and teams to automatically delete disposable data."}),learnMoreURL:"https://docs.mattermost.com/administration/data-retention.html",featureDiscoveryImage:T().createElement(fo,{width:213,height:156})}),key:"DataRetentionFeatureDiscovery",isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ABOUT.EDITION_AND_LICENSE))}]},restrictedIndicator:Ay(!0,x.gS.Enterprise)},message_export:{url:"compliance/export",title:(0,N.defineMessage)({id:"admin.sidebar.complianceExport",defaultMessage:"Compliance Export"}),searchableStrings:Dd,isHidden:vy.any(vy.not(vy.licensedForFeature("MessageExport")),vy.not(vy.userHasReadPermissionOnResource(y.COMPLIANCE.COMPLIANCE_EXPORT))),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.COMPLIANCE.COMPLIANCE_EXPORT)),schema:{id:"MessageExportSettings",component:Ld},restrictedIndicator:Ay()},compliance_export_feature_discovery:{isDiscovery:!0,url:"compliance/export",title:(0,N.defineMessage)({id:"admin.sidebar.complianceExport",defaultMessage:"Compliance Export"}),isHidden:vy.any(vy.licensedForFeature("MessageExport"),vy.not(vy.enterpriseReady)),schema:{id:"MessageExportSettings",name:(0,N.defineMessage)({id:"admin.complianceExport.title",defaultMessage:"Compliance Export"}),settings:[{type:"custom",component:()=>T().createElement(co,{featureName:"compliance_export",minimumSKURequiredForFeature:x.gS.Enterprise,title:(0,N.defineMessage)({id:"admin.compliance_export_feature_discovery.title",defaultMessage:"Run compliance exports with Mattermost Enterprise"}),copy:(0,N.defineMessage)({id:"admin.compliance_export_feature_discovery.copy",defaultMessage:"Run daily compliance reports and export them to a variety of formats consumable by third-party integration tools such as Smarsh (Actiance)."}),learnMoreURL:x.Uk.COMPILANCE_EXPORT,featureDiscoveryImage:T().createElement(uo,{width:283,height:174})}),key:"ComplianceExportFeatureDiscovery",isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ABOUT.EDITION_AND_LICENSE))}]},restrictedIndicator:Ay(!0,x.gS.Enterprise)},audits:{url:"compliance/monitoring",title:(0,N.defineMessage)({id:"admin.sidebar.complianceMonitoring",defaultMessage:"Compliance Monitoring"}),isHidden:vy.any(vy.not(vy.licensedForFeature("Compliance")),vy.not(vy.userHasReadPermissionOnResource(y.COMPLIANCE.COMPLIANCE_MONITORING))),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.COMPLIANCE.COMPLIANCE_MONITORING)),searchableStrings:Vs,schema:{id:"Audits",name:(0,N.defineMessage)({id:"admin.compliance.complianceMonitoring",defaultMessage:"Compliance Monitoring"}),component:Ys,isHidden:vy.not(vy.licensedForFeature("Compliance")),settings:[{type:"banner",label:(0,N.defineMessage)({id:"admin.compliance.newComplianceExportBanner",defaultMessage:"This feature is replaced by a new <link>Compliance Export</link> feature, and will be removed in a future release. We recommend migrating to the new system."}),label_values:{link:e=>T().createElement(R.Link,{to:"/admin_console/compliance/export"},e)},banner_type:"info",isHidden:vy.not(vy.licensedForFeature("Compliance"))},{type:"bool",key:"ComplianceSettings.Enable",label:(0,N.defineMessage)({id:"admin.compliance.enableTitle",defaultMessage:"Enable Compliance Reporting:"}),help_text:(0,N.defineMessage)({id:"admin.compliance.enableDesc",defaultMessage:"When true, Mattermost allows compliance reporting from the <strong>Compliance and Auditing</strong> tab. See <link>documentation</link> to learn more."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.Uk.COMPILANCE_MONITORING},e),strong:e=>T().createElement("strong",null,e)},help_text_markdown:!1,isHidden:vy.not(vy.licensedForFeature("Compliance")),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.COMPLIANCE.COMPLIANCE_MONITORING))},{type:"text",key:"ComplianceSettings.Directory",label:(0,N.defineMessage)({id:"admin.compliance.directoryTitle",defaultMessage:"Compliance Report Directory:"}),help_text:(0,N.defineMessage)({id:"admin.compliance.directoryDescription",defaultMessage:"Directory to which compliance reports are written. If blank, will be set to ./data/."}),placeholder:(0,N.defineMessage)({id:"admin.compliance.directoryExample",defaultMessage:'E.g.: "./data/"'}),isHidden:vy.not(vy.licensedForFeature("Compliance")),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.COMPLIANCE.COMPLIANCE_MONITORING)),vy.stateIsFalse("ComplianceSettings.Enable"))},{type:"bool",key:"ComplianceSettings.EnableDaily",label:(0,N.defineMessage)({id:"admin.compliance.enableDailyTitle",defaultMessage:"Enable Daily Report:"}),help_text:(0,N.defineMessage)({id:"admin.compliance.enableDailyDesc",defaultMessage:"When true, Mattermost will generate a daily compliance report."}),isHidden:vy.not(vy.licensedForFeature("Compliance")),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.COMPLIANCE.COMPLIANCE_MONITORING)),vy.stateIsFalse("ComplianceSettings.Enable"))}]}},custom_terms_of_service:{url:"compliance/custom_terms_of_service",title:(0,N.defineMessage)({id:"admin.sidebar.customTermsOfService",defaultMessage:"Custom Terms of Service"}),searchableStrings:Pn,isHidden:vy.any(vy.not(vy.licensedForFeature("CustomTermsOfService")),vy.not(vy.userHasReadPermissionOnResource(y.COMPLIANCE.CUSTOM_TERMS_OF_SERVICE))),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.COMPLIANCE.CUSTOM_TERMS_OF_SERVICE)),schema:{id:"TermsOfServiceSettings",component:kn},restrictedIndicator:Ay()},custom_terms_of_service_feature_discovery:{url:"compliance/custom_terms_of_service",isDiscovery:!0,title:(0,N.defineMessage)({id:"admin.sidebar.customTermsOfService",defaultMessage:"Custom Terms of Service"}),isHidden:vy.any(vy.licensedForFeature("CustomTermsOfService"),vy.not(vy.enterpriseReady)),schema:{id:"TermsOfServiceSettings",name:On.termsOfServiceTitle,settings:[{type:"custom",component:()=>T().createElement(co,{featureName:"custom_terms_of_service",minimumSKURequiredForFeature:x.gS.Enterprise,title:(0,N.defineMessage)({id:"admin.custom_terms_of_service_feature_discovery.title",defaultMessage:"Create custom terms of service with Mattermost Enterprise"}),copy:(0,N.defineMessage)({id:"admin.custom_terms_of_service_feature_discovery.copy",defaultMessage:"Create your own terms of service that new users must accept before accessing your Mattermost instance on desktop, web, or mobile."}),learnMoreURL:"https://docs.mattermost.com/cloud/cloud-administration/custom-terms-of-service.html",featureDiscoveryImage:T().createElement(go,{width:289,height:166})}),key:"CustomTermsOfServiceFeatureDiscovery",isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.ABOUT.EDITION_AND_LICENSE))}]},restrictedIndicator:Ay(!0,x.gS.Enterprise)}}},experimental:{icon:T().createElement(w.FlaskOutlineIcon,{size:16,color:"currentColor"}),sectionTitle:(0,N.defineMessage)({id:"admin.sidebar.experimental",defaultMessage:"Experimental"}),isHidden:vy.not(vy.userHasReadPermissionOnSomeResources(y.EXPERIMENTAL)),subsections:{experimental_features:{url:"experimental/features",title:(0,N.defineMessage)({id:"admin.sidebar.experimentalFeatures",defaultMessage:"Features"}),isHidden:vy.not(vy.userHasReadPermissionOnResource(y.EXPERIMENTAL.FEATURES)),schema:{id:"ExperimentalSettings",name:(0,N.defineMessage)({id:"admin.experimental.experimentalFeatures",defaultMessage:"Experimental Features"}),settings:[{type:"color",key:"LdapSettings.LoginButtonColor",label:(0,N.defineMessage)({id:"admin.experimental.ldapSettingsLoginButtonColor.title",defaultMessage:"AD/LDAP Login Button Color:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.ldapSettingsLoginButtonColor.desc",defaultMessage:"Specify the color of the AD/LDAP login button for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile apps."}),help_text_markdown:!1,isHidden:vy.not(vy.licensedForFeature("LDAP")),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"color",key:"LdapSettings.LoginButtonBorderColor",label:(0,N.defineMessage)({id:"admin.experimental.ldapSettingsLoginButtonBorderColor.title",defaultMessage:"AD/LDAP Login Button Border Color:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.ldapSettingsLoginButtonBorderColor.desc",defaultMessage:"Specify the color of the AD/LDAP login button border for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile apps."}),help_text_markdown:!1,isHidden:vy.not(vy.licensedForFeature("LDAP")),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"color",key:"LdapSettings.LoginButtonTextColor",label:(0,N.defineMessage)({id:"admin.experimental.ldapSettingsLoginButtonTextColor.title",defaultMessage:"AD/LDAP Login Button Text Color:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.ldapSettingsLoginButtonTextColor.desc",defaultMessage:"Specify the color of the AD/LDAP login button text for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile apps."}),help_text_markdown:!1,isHidden:vy.not(vy.licensedForFeature("LDAP")),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"bool",key:"ServiceSettings.ExperimentalEnableAuthenticationTransfer",label:(0,N.defineMessage)({id:"admin.experimental.experimentalEnableAuthenticationTransfer.title",defaultMessage:"Allow Authentication Transfer:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.experimentalEnableAuthenticationTransfer.desc",defaultMessage:"When true, users can change their sign-in method to any that is enabled on the server, any via Account Settings or the APIs. When false, Users cannot change their sign-in method, regardless of which authentication options are enabled."}),help_text_markdown:!1,isHidden:vy.any(vy.not(vy.licensed),vy.licensedForSku("starter")),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"number",key:"ExperimentalSettings.LinkMetadataTimeoutMilliseconds",label:(0,N.defineMessage)({id:"admin.experimental.linkMetadataTimeoutMilliseconds.title",defaultMessage:"Link Metadata Timeout:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.linkMetadataTimeoutMilliseconds.desc",defaultMessage:"The number of milliseconds to wait for metadata from a third-party link. Used with Post Metadata."}),help_text_markdown:!1,placeholder:(0,N.defineMessage)({id:"admin.experimental.linkMetadataTimeoutMilliseconds.example",defaultMessage:'E.g.: "5000"'}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"number",key:"EmailSettings.EmailBatchingBufferSize",label:(0,N.defineMessage)({id:"admin.experimental.emailBatchingBufferSize.title",defaultMessage:"Email Batching Buffer Size:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.emailBatchingBufferSize.desc",defaultMessage:"Specify the maximum number of notifications batched into a single email."}),help_text_markdown:!1,placeholder:(0,N.defineMessage)({id:"admin.experimental.emailBatchingBufferSize.example",defaultMessage:'E.g.: "256"'}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"number",key:"EmailSettings.EmailBatchingInterval",label:(0,N.defineMessage)({id:"admin.experimental.emailBatchingInterval.title",defaultMessage:"Email Batching Interval:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.emailBatchingInterval.desc",defaultMessage:"Specify the maximum frequency, in seconds, which the batching job checks for new notifications. Longer batching intervals will increase performance."}),help_text_markdown:!1,placeholder:(0,N.defineMessage)({id:"admin.experimental.emailBatchingInterval.example",defaultMessage:'E.g.: "30"'}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"color",key:"EmailSettings.LoginButtonColor",label:(0,N.defineMessage)({id:"admin.experimental.emailSettingsLoginButtonColor.title",defaultMessage:"Email Login Button Color:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.emailSettingsLoginButtonColor.desc",defaultMessage:"Specify the color of the email login button for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile apps."}),help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"color",key:"EmailSettings.LoginButtonBorderColor",label:(0,N.defineMessage)({id:"admin.experimental.emailSettingsLoginButtonBorderColor.title",defaultMessage:"Email Login Button Border Color:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.emailSettingsLoginButtonBorderColor.desc",defaultMessage:"Specify the color of the email login button border for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile apps."}),help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"color",key:"EmailSettings.LoginButtonTextColor",label:(0,N.defineMessage)({id:"admin.experimental.emailSettingsLoginButtonTextColor.title",defaultMessage:"Email Login Button Text Color:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.emailSettingsLoginButtonTextColor.desc",defaultMessage:"Specify the color of the email login button text for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile apps."}),help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"bool",key:"TeamSettings.EnableUserDeactivation",label:(0,N.defineMessage)({id:"admin.experimental.enableUserDeactivation.title",defaultMessage:"Enable Account Deactivation:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.enableUserDeactivation.desc",defaultMessage:"When true, users may deactivate their own account from **Settings > Advanced**. If a user deactivates their own account, they will get an email notification confirming they were deactivated. When false, users may not deactivate their own account."}),help_text_markdown:!0,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"bool",key:"TeamSettings.ExperimentalEnableAutomaticReplies",label:(0,N.defineMessage)({id:"admin.experimental.experimentalEnableAutomaticReplies.title",defaultMessage:"Enable Automatic Replies:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.experimentalEnableAutomaticReplies.desc",defaultMessage:"When true, users can enable Automatic Replies in **Settings > Notifications**. Users set a custom message that will be automatically sent in response to Direct Messages. When false, disables the Automatic Direct Message Replies feature and hides it from Settings."}),help_text_markdown:!0,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"bool",key:"ServiceSettings.EnableChannelViewedMessages",label:(0,N.defineMessage)({id:"admin.experimental.enableChannelViewedMessages.title",defaultMessage:"Enable Channel Viewed WebSocket Messages:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.enableChannelViewedMessages.desc",defaultMessage:"This setting determines whether `channel_viewed` WebSocket events are sent, which synchronize unread notifications across clients and devices. Disabling the setting in larger deployments may improve server performance."}),help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"bool",key:"ExperimentalSettings.ClientSideCertEnable",label:(0,N.defineMessage)({id:"admin.experimental.clientSideCertEnable.title",defaultMessage:"Enable Client-Side Certification:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.clientSideCertEnable.desc",defaultMessage:"Enables client-side certification for your Mattermost server. See <link>documentation</link> to learn more."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.Uk.ENABLE_CLIENT_SIDE_CERTIFICATION},e)},help_text_markdown:!1,isHidden:vy.not(vy.any(vy.licensedForSku(x.gS.Enterprise),vy.licensedForSku(x.gS.E20))),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"dropdown",key:"ExperimentalSettings.ClientSideCertCheck",label:(0,N.defineMessage)({id:"admin.experimental.clientSideCertCheck.title",defaultMessage:"Client-Side Certification Login Method:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.clientSideCertCheck.desc",defaultMessage:"When **primary**, after the client side certificate is verified, user’s email is retrieved from the certificate and is used to log in without a password. When **secondary**, after the client side certificate is verified, user’s email is retrieved from the certificate and matched against the one supplied by the user. If they match, the user logs in with regular email/password credentials."}),help_text_markdown:!0,options:[{value:"primary",display_name:(0,N.defineMessage)({id:"admin.experimental.clientSideCertCheck.options.primary",defaultMessage:"primary"})},{value:"secondary",display_name:(0,N.defineMessage)({id:"admin.experimental.clientSideCertCheck.options.secondary",defaultMessage:"secondary"})}],isHidden:vy.not(vy.any(vy.licensedForSku(x.gS.Enterprise),vy.licensedForSku(x.gS.E20))),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES)),vy.stateIsFalse("ExperimentalSettings.ClientSideCertEnable"))},{type:"bool",key:"ServiceSettings.ExperimentalEnableDefaultChannelLeaveJoinMessages",label:(0,N.defineMessage)({id:"admin.experimental.experimentalEnableDefaultChannelLeaveJoinMessages.title",defaultMessage:"Enable Default Channel Leave/Join System Messages:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.experimentalEnableDefaultChannelLeaveJoinMessages.desc",defaultMessage:"This setting determines whether team leave/join system messages are posted in the default town-square channel."}),help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"bool",key:"ServiceSettings.ExperimentalEnableHardenedMode",label:(0,N.defineMessage)({id:"admin.experimental.experimentalEnableHardenedMode.title",defaultMessage:"Enable Hardened Mode:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.experimentalEnableHardenedMode.desc",defaultMessage:"Enables a hardened mode for Mattermost that makes user experience trade-offs in the interest of security. See <link>documentation</link> to learn more."}),help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console",href:x.Uk.ENABLE_HARDENED_MODE},e)},help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"bool",key:"ThemeSettings.EnableThemeSelection",label:(0,N.defineMessage)({id:"admin.experimental.enableThemeSelection.title",defaultMessage:"Enable Theme Selection:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.enableThemeSelection.desc",defaultMessage:"Enables the **Display > Theme** tab in Settings so users can select their theme."}),help_text_markdown:!0,isHidden:vy.any(vy.not(vy.licensed),vy.licensedForSku("starter")),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"bool",key:"ThemeSettings.AllowCustomThemes",label:(0,N.defineMessage)({id:"admin.experimental.allowCustomThemes.title",defaultMessage:"Allow Custom Themes:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.allowCustomThemes.desc",defaultMessage:"Enables the **Display > Theme > Custom Theme** section in Settings."}),help_text_markdown:!0,isHidden:vy.any(vy.not(vy.licensed),vy.licensedForSku("starter")),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES)),vy.stateIsFalse("ThemeSettings.EnableThemeSelection"))},{type:"dropdown",key:"ThemeSettings.DefaultTheme",label:(0,N.defineMessage)({id:"admin.experimental.defaultTheme.title",defaultMessage:"Default Theme:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.defaultTheme.desc",defaultMessage:"Set a default theme that applies to all new users on the system."}),help_text_markdown:!0,options:[{value:"denim",display_name:(0,N.defineMessage)({id:"admin.experimental.defaultTheme.options.denim",defaultMessage:"Denim"})},{value:"sapphire",display_name:(0,N.defineMessage)({id:"admin.experimental.defaultTheme.options.sapphire",defaultMessage:"Sapphire"})},{value:"quartz",display_name:(0,N.defineMessage)({id:"admin.experimental.defaultTheme.options.quartz",defaultMessage:"Quartz"})},{value:"indigo",display_name:(0,N.defineMessage)({id:"admin.experimental.defaultTheme.options.indigo",defaultMessage:"Indigo"})},{value:"onyx",display_name:(0,N.defineMessage)({id:"admin.experimental.defaultTheme.options.onyx",defaultMessage:"Onyx"})}],isHidden:vy.any(vy.not(vy.licensed),vy.licensedForSku("starter")),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"bool",key:"ServiceSettings.EnableTutorial",label:(0,N.defineMessage)({id:"admin.experimental.enableTutorial.title",defaultMessage:"Enable Tutorial:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.enableTutorial.desc",defaultMessage:"When true, users are prompted with a tutorial when they open Mattermost for the first time after account creation. When false, the tutorial is disabled, and users are placed in Town Square when they open Mattermost for the first time after account creation."}),help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"bool",key:"ServiceSettings.EnableOnboardingFlow",label:(0,N.defineMessage)({id:"admin.experimental.enableOnboardingFlow.title",defaultMessage:"Enable Onboarding:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.enableOnboardingFlow.desc",defaultMessage:"When true, new users are shown steps to complete as part of an onboarding process"}),help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"bool",key:"ServiceSettings.EnableUserTypingMessages",label:(0,N.defineMessage)({id:"admin.experimental.enableUserTypingMessages.title",defaultMessage:"Enable User Typing Messages:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.enableUserTypingMessages.desc",defaultMessage:'This setting determines whether "user is typing..." messages are displayed below the message box. Disabling the setting in larger deployments may improve server performance.'}),help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"number",key:"ServiceSettings.TimeBetweenUserTypingUpdatesMilliseconds",label:(0,N.defineMessage)({id:"admin.experimental.timeBetweenUserTypingUpdatesMilliseconds.title",defaultMessage:"User Typing Timeout:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.timeBetweenUserTypingUpdatesMilliseconds.desc",defaultMessage:"The number of milliseconds to wait between emitting user typing websocket events."}),help_text_markdown:!1,placeholder:(0,N.defineMessage)({id:"admin.experimental.timeBetweenUserTypingUpdatesMilliseconds.example",defaultMessage:'E.g.: "5000"'}),isDisabled:vy.any(vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES)),vy.stateIsFalse("ServiceSettings.EnableUserTypingMessages"))},{type:"number",key:"ExperimentalSettings.UsersStatusAndProfileFetchingPollIntervalMilliseconds",label:(0,N.defineMessage)({id:"admin.experimental.UsersStatusAndProfileFetchingPollIntervalMilliseconds.title",defaultMessage:"User's Status and Profile Fetching Poll Interval:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.UsersStatusAndProfileFetchingPollIntervalMilliseconds.desc",defaultMessage:"The number of milliseconds to wait between fetching user statuses and profiles periodically."}),help_text_markdown:!1,placeholder:(0,N.defineMessage)({id:"admin.experimental.timeBetweenUserTypingUpdatesMilliseconds.example",defaultMessage:'E.g.: "5000"'}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"text",key:"TeamSettings.ExperimentalPrimaryTeam",label:(0,N.defineMessage)({id:"admin.experimental.experimentalPrimaryTeam.title",defaultMessage:"Primary Team:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.experimentalPrimaryTeam.desc",defaultMessage:"The primary team of which users on the server are members. When a primary team is set, the options to join other teams or leave the primary team are disabled."}),help_text_markdown:!0,placeholder:(0,N.defineMessage)({id:"admin.experimental.experimentalPrimaryTeam.example",defaultMessage:'E.g.: "teamname"'}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"color",key:"SamlSettings.LoginButtonColor",label:(0,N.defineMessage)({id:"admin.experimental.samlSettingsLoginButtonColor.title",defaultMessage:"SAML Login Button Color:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.samlSettingsLoginButtonColor.desc",defaultMessage:"Specify the color of the SAML login button for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile apps."}),help_text_markdown:!1,isHidden:vy.not(vy.licensedForFeature("SAML")),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"color",key:"SamlSettings.LoginButtonBorderColor",label:(0,N.defineMessage)({id:"admin.experimental.samlSettingsLoginButtonBorderColor.title",defaultMessage:"SAML Login Button Border Color:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.samlSettingsLoginButtonBorderColor.desc",defaultMessage:"Specify the color of the SAML login button border for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile apps."}),help_text_markdown:!1,isHidden:vy.not(vy.licensedForFeature("SAML")),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"color",key:"SamlSettings.LoginButtonTextColor",label:(0,N.defineMessage)({id:"admin.experimental.samlSettingsLoginButtonTextColor.title",defaultMessage:"SAML Login Button Text Color:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.samlSettingsLoginButtonTextColor.desc",defaultMessage:"Specify the color of the SAML login button text for white labeling purposes. Use a hex code with a #-sign before the code. This setting only applies to the mobile apps."}),help_text_markdown:!1,isHidden:vy.not(vy.licensedForFeature("SAML")),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"bool",key:"EmailSettings.UseChannelInEmailNotifications",label:(0,N.defineMessage)({id:"admin.experimental.useChannelInEmailNotifications.title",defaultMessage:"Use Channel Name in Email Notifications:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.useChannelInEmailNotifications.desc",defaultMessage:"When true, channel and team name appears in email notification subject lines. Useful for servers using only one team. When false, only team name appears in email notification subject line."}),help_text_markdown:!1,isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"number",key:"TeamSettings.UserStatusAwayTimeout",label:(0,N.defineMessage)({id:"admin.experimental.userStatusAwayTimeout.title",defaultMessage:"User Status Away Timeout:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.userStatusAwayTimeout.desc",defaultMessage:'This setting defines the number of seconds after which the user’s status indicator changes to "Away", when they are away from Mattermost.'}),help_text_markdown:!1,placeholder:(0,N.defineMessage)({id:"admin.experimental.userStatusAwayTimeout.example",defaultMessage:'E.g.: "300"'}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"bool",key:"ExperimentalSettings.DisableAppBar",label:(0,N.defineMessage)({id:"admin.experimental.disableAppBar.title",defaultMessage:"Disable Apps Bar:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.disableAppBar.desc",defaultMessage:"When false, all integrations move from the channel header to the Apps Bar. Channel header plugin icons that haven't explicitly registered an Apps Bar icon will be moved to the Apps Bar which may result in rendering issues."}),help_text_markdown:!0,isHidden:vy.licensedForFeature("Cloud"),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"bool",key:"ExperimentalSettings.DisableRefetchingOnBrowserFocus",label:(0,N.defineMessage)({id:"admin.experimental.disableRefetchingOnBrowserFocus.title",defaultMessage:"Disable data refetching on browser refocus:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.disableRefetchingOnBrowserFocus.desc",defaultMessage:"When true, Mattermost will not refetch channels and channel members when the browser regains focus. This may result in improved performance for users with many channels and channel members."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"bool",key:"ExperimentalSettings.DisableWakeUpReconnectHandler",label:(0,N.defineMessage)({id:"admin.experimental.disableWakeUpReconnectHandler.title",defaultMessage:"Disable Wake Up Reconnect Handler:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.disableWakeUpReconnectHandler.desc",defaultMessage:"When true, Mattermost will not attempt to detect when the computer has woken up and refetch data. This might reduce the amount of regular network traffic the app is sending."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"bool",key:"ExperimentalSettings.DelayChannelAutocomplete",label:(0,N.defineMessage)({id:"admin.experimental.delayChannelAutocomplete.title",defaultMessage:"Delay Channel Autocomplete:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.delayChannelAutocomplete.desc",defaultMessage:"When true, the autocomplete for channel links (such as ~town-square) will only trigger after typing a tilde followed by a couple letters. When false, the autocomplete will appear as soon as the user types a tilde."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))},{type:"bool",key:"ExperimentalSettings.YoutubeReferrerPolicy",label:(0,N.defineMessage)({id:"admin.experimental.youtubeReferrerPolicy.title",defaultMessage:"YouTube Referrer Policy:"}),help_text:(0,N.defineMessage)({id:"admin.experimental.youtubeReferrerPolicy.desc",defaultMessage:'When true, the referrer policy for embedded YouTube videos will be set to "strict-origin-when-cross-origin" which resolves issues where YouTube video previews display as unavailable, while balancing the need to protect user privacy with some degree of referral data to support web functionalities, like analytics, logging, and third-party integrations. When false, the referrer policy will be set to "no-referrer" which enhances user privacy by not disclosing the source URL, but limits the ability to track user engagement and traffic sources in analytics tools.'}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES))}]}},feature_flags:{url:"experimental/feature_flags",title:So.title,isHidden:vy.any(vy.not(vy.userHasReadPermissionOnResource(y.EXPERIMENTAL.FEATURE_FLAGS))),isDisabled:!0,searchableStrings:[So.title],schema:{id:"Feature Flags",component:e=>{const t=e.config.FeatureFlags;let s=null;return t&&(s=Object.keys(t).map((e=>T().createElement("tr",{key:e},T().createElement("td",{width:"20px"}),T().createElement("td",{className:"whitespace--nowrap"},e),T().createElement("td",{className:"whitespace--nowrap"},String(t[e])))))),T().createElement("div",{className:"wrapper--admin"},T().createElement(et,null,T().createElement(N.FormattedMessage,So.title)),T().createElement("div",{className:"admin-console__wrapper"},T().createElement("div",{className:"admin-logs-content admin-console__content"},T().createElement("div",{className:"banner info"},T().createElement("div",{className:"banner__content"},T().createElement(N.FormattedMessage,{id:"admin.feature_flags.introBanner",defaultMessage:"Feature flag values displayed here show the status of features enabled on this server. The values here are used only for troubleshooting by the Mattermost support team."}))),T().createElement("div",{className:"job-table__panel"},T().createElement("div",{className:"job-table__table"},T().createElement("table",{className:"table"},T().createElement("thead",null,T().createElement("tr",null,T().createElement("th",null),T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.feature_flags.flag",defaultMessage:"Flag"})),T().createElement("th",null,T().createElement(N.FormattedMessage,{id:"admin.feature_flags.flag_value",defaultMessage:"Value"})))),T().createElement("tbody",null,s)))))))}}},bleve:{url:"experimental/blevesearch",title:(0,N.defineMessage)({id:"admin.sidebar.blevesearch",defaultMessage:"Bleve"}),isHidden:vy.any(vy.configIsTrue("ExperimentalSettings","RestrictSystemAdmin"),vy.not(vy.userHasReadPermissionOnResource(y.EXPERIMENTAL.BLEVE))),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.BLEVE)),searchableStrings:gn,schema:{id:"BleveSettings",component:class extends Nt{constructor(){super(...arguments),un(this,"getConfigFromState",(e=>(e&&e.BleveSettings&&(e.BleveSettings.IndexDir=this.state.indexDir,e.BleveSettings.EnableIndexing=this.state.enableIndexing,e.BleveSettings.EnableSearching=this.state.enableSearching,e.BleveSettings.EnableAutocomplete=this.state.enableAutocomplete),e))),un(this,"handleSettingChanged",((e,t)=>{"enableIndexing"===e&&!1===t&&this.setState({enableSearching:!1,enableAutocomplete:!1}),"enableSearching"!==e&&"enableAutocomplete"!==e&&this.setState({canPurgeAndIndex:!1}),this.handleChange(e,t)})),un(this,"handleSaved",(()=>{this.setState({canPurgeAndIndex:this.state.enableIndexing&&""!==this.state.indexDir})})),un(this,"canSave",(()=>this.state.canSave)),un(this,"renderSettings",(()=>T().createElement(Ue,null,T().createElement(W,{id:"enableIndexing",label:T().createElement(N.FormattedMessage,pn.enableIndexingTitle),helpText:T().createElement(N.FormattedMessage,Object.assign({},pn.enableIndexingDescription,{values:{link:e=>T().createElement(ce.A,{href:"https://docs.mattermost.com/deploy/bleve-search.html",location:"bleve_settings"},e)}})),value:this.state.enableIndexing,onChange:this.handleSettingChanged,setByEnv:this.isSetByEnv("BleveSettings.EnableIndexing"),disabled:this.props.isDisabled}),T().createElement(We,{id:"indexDir",label:T().createElement(N.FormattedMessage,{id:"admin.bleve.indexDirTitle",defaultMessage:"Index Directory:"}),helpText:T().createElement(N.FormattedMessage,{id:"admin.bleve.indexDirDescription",defaultMessage:"Directory path to use for store bleve indexes."}),value:this.state.indexDir,onChange:this.handleSettingChanged,setByEnv:this.isSetByEnv("BleveSettings.IndexDir"),disabled:this.props.isDisabled}),T().createElement(G,{label:T().createElement(N.FormattedMessage,pn.bulkIndexingTitle)},T().createElement("div",{className:"job-table-setting"},T().createElement(ve,{jobType:x.jj.BLEVE_POST_INDEXING,disabled:!this.state.canPurgeAndIndex||Boolean(this.props.isDisabled),createJobButtonText:T().createElement(N.FormattedMessage,{id:"admin.bleve.createJob.title",defaultMessage:"Index Now"}),createJobHelpText:T().createElement(N.FormattedMessage,pn.createJob_help),getExtraInfoText:this.getExtraInfo}))),T().createElement(ke,{id:"purgeIndexesSection",requestAction:h.yn,helpText:T().createElement(N.FormattedMessage,pn.purgeIndexesHelpText),buttonText:T().createElement(N.FormattedMessage,pn.purgeIndexesButton),successMessage:(0,N.defineMessage)({id:"admin.bleve.purgeIndexesButton.success",defaultMessage:"Indexes purged successfully."}),errorMessage:(0,N.defineMessage)({id:"admin.bleve.purgeIndexesButton.error",defaultMessage:"Failed to purge indexes: {error}"}),disabled:!this.state.canPurgeAndIndex||this.props.isDisabled,label:T().createElement(N.FormattedMessage,pn.purgeIndexesButton_label)}),T().createElement(W,{id:"enableSearching",label:T().createElement(N.FormattedMessage,pn.enableSearchingTitle),helpText:T().createElement(N.FormattedMessage,pn.enableSearchingDescription),value:this.state.enableSearching,disabled:!this.state.enableIndexing||this.props.isDisabled,onChange:this.handleSettingChanged,setByEnv:this.isSetByEnv("BleveSettings.EnableSearching")}),T().createElement(W,{id:"enableAutocomplete",label:T().createElement(N.FormattedMessage,{id:"admin.bleve.enableAutocompleteTitle",defaultMessage:"Enable Bleve for autocomplete queries:"}),helpText:T().createElement(N.FormattedMessage,{id:"admin.bleve.enableAutocompleteDescription",defaultMessage:"When true, Bleve will be used for all autocompletion queries on users and channels using the latest index. Autocompletion results may be incomplete until a bulk index of the existing users and channels database is finished. When false, database autocomplete is used."}),value:this.state.enableAutocomplete,disabled:!this.state.enableIndexing||this.props.isDisabled,onChange:this.handleSettingChanged,setByEnv:this.isSetByEnv("BleveSettings.EnableAutocomplete")}))))}getStateFromConfig(e){return{enableIndexing:e.BleveSettings.EnableIndexing,indexDir:e.BleveSettings.IndexDir,enableSearching:e.BleveSettings.EnableSearching,enableAutocomplete:e.BleveSettings.EnableAutocomplete,canSave:!0,canPurgeAndIndex:e.BleveSettings.EnableIndexing}}getExtraInfo(e){return e.status===x.Im.IN_PROGRESS?T().createElement(N.FormattedMessage,{id:"admin.bleve.percentComplete",defaultMessage:"{percent}% Complete",values:{percent:Number(e.progress)}}):T().createElement(T().Fragment,null)}renderTitle(){return T().createElement(N.FormattedMessage,pn.title)}}}},audit_logging:{url:"experimental/audit_logging",title:(0,N.defineMessage)({id:"admin.sidebar.audit_logging_experimental",defaultMessage:"Audit Logging"}),isHidden:vy.any(vy.not(vy.userHasReadPermissionOnResource(y.EXPERIMENTAL.FEATURES)),vy.configIsFalse("FeatureFlags","ExperimentalAuditSettingsSystemConsoleUI"),vy.not(vy.licensedForSku("enterprise"))),schema:{id:"ExperimentalAuditSettings",name:"Audit Log Settings (Experimental)",settings:[{type:"bool",key:"ExperimentalAuditSettings.FileEnabled",label:(0,N.defineMessage)({id:"admin.audit_logging_experimental.file_enabled.title",defaultMessage:"File Enabled"}),help_text:(0,N.defineMessage)({id:"admin.audit_logging_experimental.file_enabled.help_text",defaultMessage:"Choose whether audit logs are written locally to a file or not."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES)),isHidden:vy.licensedForFeature("Cloud")},{type:"text",key:"ExperimentalAuditSettings.FileName",label:(0,N.defineMessage)({id:"admin.audit_logging_experimental.file_name.title",defaultMessage:"File Name"}),help_text:(0,N.defineMessage)({id:"admin.audit_logging_experimental.file_name.help_text",defaultMessage:"The name of the file to write to. NOTE: If ExperimentalAuditSettings.FileEnabled is set to TRUE, this field is required."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES)),isHidden:vy.licensedForFeature("Cloud")},{type:"number",key:"ExperimentalAuditSettings.FileMaxSizeMB",label:(0,N.defineMessage)({id:"admin.audit_logging_experimental.file_max_size.title",defaultMessage:"Max File Size (MB)"}),help_text:(0,N.defineMessage)({id:"admin.audit_logging_experimental.file_max_size.help_text",defaultMessage:"The maximum size of a single exported file, in MB."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES)),isHidden:vy.licensedForFeature("Cloud")},{type:"number",key:"ExperimentalAuditSettings.FileMaxAgeDays",label:(0,N.defineMessage)({id:"admin.audit_logging_experimental.file_max_age.title",defaultMessage:"Max File Age (Days)"}),help_text:(0,N.defineMessage)({id:"admin.audit_logging_experimental.file_max_age.help_text",defaultMessage:"The maximum age of an exported file, in days."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES)),isHidden:vy.licensedForFeature("Cloud")},{type:"number",key:"ExperimentalAuditSettings.FileMaxBackups",label:(0,N.defineMessage)({id:"admin.audit_logging_experimental.file_max_backups.title",defaultMessage:"Maximum File Backups"}),help_text:(0,N.defineMessage)({id:"admin.audit_logging_experimental.file_max_backups.help_text",defaultMessage:"The maximum number of backup files to retain"}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES)),isHidden:vy.licensedForFeature("Cloud")},{type:"bool",key:"ExperimentalAuditSettings.FileCompress",label:(0,N.defineMessage)({id:"admin.audit_logging_experimental.file_compress.title",defaultMessage:"File Compression"}),help_text:(0,N.defineMessage)({id:"admin.audit_logging_experimental.file_compress.help_text",defaultMessage:"Choose whether enable or disable file compression."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES)),isHidden:vy.licensedForFeature("Cloud")},{type:"number",key:"ExperimentalAuditSettings.FileMaxQueueSize",label:(0,N.defineMessage)({id:"admin.audit_logging_experimental.file_max_queue_size.title",defaultMessage:"Maximum File Queue"}),help_text:(0,N.defineMessage)({id:"admin.audit_logging_experimental.file_max_queue_size.help_text",defaultMessage:"The maximum number of files to be retained in the queue."}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES)),isHidden:vy.licensedForFeature("Cloud")},{type:"longtext",key:"ExperimentalAuditSettings.AdvancedLoggingJSON",label:(0,N.defineMessage)({id:"admin.log.AdvancedLoggingJSONTitle",defaultMessage:"Advanced Logging:"}),help_text:(0,N.defineMessage)({id:"admin.log.AdvancedLoggingJSONDescription",defaultMessage:"The JSON configuration for Advanced Audit Logging. Please see <link>documentation</link> to learn more about Advanced Logging and the JSON format it uses."}),help_text_markdown:!1,help_text_values:{link:e=>T().createElement(ce.A,{location:"admin_console.experimental_audit_settings",href:x.Uk.ADVANCED_LOGGING},e)},placeholder:(0,N.defineMessage)({id:"admin.log.AdvancedLoggingJSONPlaceholder",defaultMessage:"Enter your JSON configuration"}),isDisabled:vy.not(vy.userHasWritePermissionOnResource(y.EXPERIMENTAL.FEATURES)),validate:e=>{const t=new MM(!0,"");if(!e)return t;try{return JSON.parse(e),t}catch(e){return new MM(!1,e.message)}},onConfigLoad:e=>JSON.stringify(e,null,"  "),onConfigSave:e=>e?JSON.parse(e):{undefined:void 0}}]}}}}},Ty=_y,Ny=(0,A.Mz)("getAdminDefinition",(()=>Ty),(e=>e.plugins.adminConsoleReducers),((e,t)=>{let s=v()(Ty);for(const e of Object.values(t))s=e(s);return s})),Ry=(e,t)=>e.plugins.adminConsoleCustomComponents[t]||{},wy=(e,t)=>e.plugins.adminConsoleCustomSections[t]||{},Iy=(0,A.Mz)("getConsoleAccess",Ny,C.ec,((e,t)=>{const s={read:{},write:{}},a=e=>{const a=S[e].filter((e=>t.has(e)));s.read[e]=0!==a.length,s.write[e]=a.some((e=>e.startsWith("sysconsole_write_")))};return Object.entries(e).forEach((e=>{let[t]=e;"object"==typeof y[t.toUpperCase()]?Object.values(y[t.toUpperCase()]).forEach((e=>{a(e)})):a(t)})),s})),Oy=(0,A.Mz)("showManageUserSettings",c.Ay,(e=>e),((e,t)=>{const s=(0,C.y4)(t,{permission:M.A.SYSCONSOLE_WRITE_USERMANAGEMENT_USERS}),a=(0,Cs.RV)(e);return s&&a})),Py=(0,A.Mz)("showLockedManageUserSettings",c.Ay,(e=>e),((e,t)=>{const s=(0,C.y4)(t,{permission:M.A.SYSCONSOLE_WRITE_USERMANAGEMENT_USERS}),a=(0,Cs.RV)(e);return s&&!a}));var ky=s(30388),xy=(s(54823),s(29012),s(66173)),Dy=s.n(xy);function Ly(e){let{keyword:t="",pathname:s,children:a}=e;const n=(0,_.useRef)(null),i=(0,_.useRef)();function r(e,t){i.current=new(Dy())(t),i.current.mark(e,{accuracy:"complementary",exclude:[".ignore-marking *"]})}const o=(0,_.useMemo)((()=>wi()(((e,t,s)=>{e&&s&&(t?t.unmark({done:()=>r(e,s)}):r(e,s))}),200)),[]);return(0,_.useEffect)((()=>(o(t,i.current,n.current),()=>{o.cancel(),i.current&&i.current.unmark()})),[t,s]),T().createElement("div",{ref:n},a)}var Fy=s(96423),By=s(81806);const Hy=e=>{let{show:t,onConfirm:s,onCancel:a}=e;const n=T().createElement(N.FormattedMessage,{id:"discard_changes_modal.title",defaultMessage:"Discard Changes?"}),i=T().createElement(N.FormattedMessage,{id:"discard_changes_modal.message",defaultMessage:"You have unsaved changes, are you sure you want to discard them?"}),r=T().createElement(N.FormattedMessage,{id:"discard_changes_modal.leave",defaultMessage:"Yes, Discard"});return T().createElement(St.A,{show:t,title:n,message:i,modalClass:"discard-changes-modal",confirmButtonClass:"btn btn-primary",confirmButtonText:r,onConfirm:s,onCancel:a})};Hy.propTypes={show:L().bool.isRequired,onConfirm:L().func.isRequired,onCancel:L().func.isRequired};const Uy=T().memo(Hy);var Gy=s(60729),jy=s(26676),qy=s(93725),Wy=s(7380),Vy=s(53791),zy=s(35880);const Yy=e=>{let{icon:t,title:s,action:a,children:n,definitionKey:i,name:r,parentLink:o="",sectionClass:l}=e,d=o,c=T().createElement("div",{className:"category-title category-title--active"},T().createElement("span",{className:"category-icon"},t),T().createElement("span",{className:"category-title__text"},s),a);r&&(d+="/"+r,c=T().createElement(R.NavLink,{to:d,className:"category-title",activeClassName:"category-title category-title--active"},s));let m=null;const u=re()("sections",l);if(n){const e=()=>T().createElement("ul",{className:u},T().Children.map(n,(e=>(0,_.isValidElement)(e)?T().cloneElement(e,{parentLink:d}):null)));m=T().createElement(R.Route,{path:d,render:e})}return T().createElement("li",{className:"sidebar-category","data-testid":i},c,m)};Yy.propTypes={icon:L().element.isRequired,title:L().oneOfType([L().string,L().element]).isRequired,action:L().element,children:L().arrayOf(L().element),definitionKey:L().string,name:L().string,parentLink:L().string,sectionClass:L().string};const Zy=Yy,Jy=e=>{let{name:t,title:s,action:a,children:n=[],definitionKey:i,type:r,parentLink:o="",subsection:l=!1,tag:d,restrictedIndicator:c}=e;const m=o+"/"+t;let u=null;n&&(u=T().createElement("ul",{className:"nav nav__sub-menu subsections"},T().Children.map(n,(e=>null===e?null:T().cloneElement(e,{parentLink:m,subsection:!0})))));const p=re()("sidebar-section",{"sidebar-subsection":l}),g=d?T().createElement("span",{className:"".concat(p,"-tag")},d):null,h=c&&T().createElement("span",{className:"".concat(p,"-indicator")},c),f=(0,H.rH)(t);let E=T().createElement(ka.A,{id:f,className:"".concat(p,"-title"),activeClassName:"".concat(p,"-title ").concat(p,"-title--active"),to:m,onClick:()=>(0,I.sx)("admin",f)},T().createElement("span",{className:"".concat(p,"-title__text")},s,g),h,a);return"text"===r&&(E=T().createElement("div",{className:"".concat(p,"-title")},T().createElement("span",{className:"".concat(p,"-title__text")},s),a)),T().createElement("li",{className:p,"data-testid":i},E,u)};Jy.propTypes={name:L().string.isRequired,title:L().oneOfType([L().string,L().element]).isRequired,action:L().element,children:L().oneOfType([L().element,L().arrayOf(L().element)]),definitionKey:L().string,type:L().string,parentLink:L().string,subsection:L().bool,tag:L().oneOfType([L().string,L().element]),restrictedIndicator:L().oneOfType([L().string,L().element])};const Qy=Jy;var Ky=s(38724);function Xy(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),s.push.apply(s,a)}return s}function $y(e){for(var t=1;t<arguments.length;t++){var s=null!=arguments[t]?arguments[t]:{};t%2?Xy(Object(s),!0).forEach((function(t){eS(e,t,s[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):Xy(Object(s)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(s,t))}))}return e}function eS(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}s(60473);class tS extends T().PureComponent{constructor(e){super(e),eS(this,"componentDidUpdate",(e=>{this.props.showBannerWarning!==e.showBannerWarning&&this.updateBannerWarning(this.props.showBannerWarning)})),eS(this,"doHide",(()=>{this.setState({show:!1})})),eS(this,"updateBannerWarning",(e=>{this.setState({showBannerWarning:e})})),eS(this,"hideBannerWarning",(()=>{this.updateBannerWarning(!1)})),eS(this,"updateCheckStatus",(e=>{this.setState({packetContents:this.state.packetContents.map(((t,s)=>s!==e||t.mandatory?t:$y($y({},t),{},{selected:!t.selected})))})})),eS(this,"genereateDownloadURLWithParams",(()=>{const e=new URL(de.mT.getSystemRoute()+"/support_packet");return this.state.packetContents.forEach((t=>{"basic.server.logs"===t.id?e.searchParams.set("basic_server_logs",String(t.selected)):!t.mandatory&&t.selected&&e.searchParams.append("plugin_packets",t.id)})),e.toString()})),eS(this,"extractFilename",(e=>{const t=ha()(new Date).format("YYYY-MM-DDTHH-mm"),s="mm_support_packet_".concat(t,".zip");if(null===e)return s;const a=/filename\*?=["']?((?:\\.|[^"'\s])+)(?=["']?)/g.exec(e);return a?a[1]:s})),eS(this,"downloadSupportPacket",(async()=>{this.setState({loading:!0});const e=await fetch(this.genereateDownloadURLWithParams(),{method:"GET",headers:{"Content-Type":"application/zip"}}),t=await e.blob();this.setState({loading:!1});const s=window.URL.createObjectURL(t),a=document.createElement("a");a.href=s,a.setAttribute("download",this.extractFilename(e.headers.get("content-disposition"))),document.body.appendChild(a),a.click(),document.body.removeChild(a)})),this.state={show:!0,showBannerWarning:e.showBannerWarning,packetContents:e.packetContents,loading:!1}}render(){const{showBannerWarning:e}=this.state,{isCloud:t,currentUser:s}=this.props,a=t?"https://customers.mattermost.com/cloud/contact-us?name=".concat(s.first_name," ").concat(s.last_name,"&email=").concat(s.email,"&inquiry=technical"):"https://support.mattermost.com/hc/en-us/requests/new";return T().createElement(ta.Modal,{id:"commercialSupportModal",dialogClassName:"a11y__modal more-modal more-direct-channels",show:this.state.show,onHide:this.doHide,onExited:this.props.onExited},T().createElement(ta.Modal.Header,{closeButton:!0},T().createElement(ta.Modal.Title,null,T().createElement(N.FormattedMessage,{id:"commercial_support.title",defaultMessage:"Commercial Support"}))),T().createElement(ta.Modal.Body,null,T().createElement("div",{className:"CommercialSupportModal"},T().createElement(N.FormattedMessage,{id:"commercial_support_modal.description",defaultMessage:"If you're experiencing issues, <supportLink>submit a support ticket</supportLink>. To help with troubleshooting, it's recommended to download the Support Packet below that includes more details about your Mattermost environment.",values:{supportLink:e=>T().createElement(ce.A,{href:a,location:"commercialSupportModal"},e)}}),e&&T().createElement(ba.A,{mode:"info",message:T().createElement(N.FormattedMessage,{id:"commercial_support_modal.warning.banner",defaultMessage:"Before downloading the Support Packet, set <strong>Output Logs to File</strong> to <strong>true</strong> and set <strong>File Log Level</strong> to <strong>DEBUG</strong> <debugLink>here</debugLink>.",values:{strong:e=>T().createElement("strong",null,e),debugLink:e=>T().createElement(R.Link,{to:"/admin_console/environment/logging"},e)}}),onDismiss:this.hideBannerWarning}),T().createElement("div",{className:"CommercialSupportModal__packet_contents_download"},T().createElement("strong",null,T().createElement(N.FormattedMessage,{id:"commercial_support_modal.download_contents",defaultMessage:"Select your Support Packet contents to download"}))),this.state.packetContents.map(((e,t)=>T().createElement("div",{className:"CommercialSupportModal__option",key:e.id},T().createElement("input",{className:"CommercialSupportModal__options__checkbox",id:e.id,name:e.id,type:"checkbox",checked:e.selected,disabled:e.mandatory,onChange:()=>this.updateCheckStatus(t)}),T().createElement(N.FormattedMessage,{id:"mettormost.plugin.metrics.support.packet",defaultMessage:e.label},(t=>T().createElement("label",{className:"CommercialSupportModal__options_checkbox_label",htmlFor:e.id},t)))))),T().createElement("div",{className:"CommercialSupportModal__download"},T().createElement("a",{className:"btn btn-primary DownloadSupportPacket",onClick:this.downloadSupportPacket,rel:"noopener noreferrer"},this.state.loading?T().createElement($s.A,null):T().createElement("i",{className:"icon icon-download-outline"}),T().createElement(N.FormattedMessage,{id:"commercial_support.download_support_packet",defaultMessage:"Download Support Packet"}))))))}}eS(tS,"propTypes",{onExited:L().func.isRequired,showBannerWarning:L().bool.isRequired,isCloud:L().bool.isRequired,packetContents:L().array.isRequired});const sS=(0,a.connect)((function(e){const t=(0,c.zj)(e),s="true"===(0,c.Ay)(e).Cloud,a=(0,g.HW)(e),n=("true"!==t.EnableFile||"DEBUG"!==t.FileLevel)&&!s,i=[{id:"basic.contents",label:"Basic contents",selected:!0,mandatory:!0},{id:"basic.server.logs",label:"Server logs",selected:!0,mandatory:!1}];for(const[t,s]of Object.entries(e.entities.admin.plugins))s.active&&void 0!==s.props&&void 0!==s.props.support_packet&&i.push({id:t,label:s.props.support_packet,selected:!1,mandatory:!1});return{isCloud:s,currentUser:a,showBannerWarning:n,packetContents:i}}))(tS);var aS=s(5565);const nS=e=>{const{to:t,text:s}=e;return T().createElement(ka.A,{to:t},s)};nS.propTypes={to:L().string.isRequired,text:L().oneOfType([L().string,L().node]).isRequired};const iS=(0,aS.A)(nS);iS.displayName="MenuItemBlockableLinkImpl";const rS=iS;function oS(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class lS extends T().PureComponent{constructor(){super(...arguments),oS(this,"handleLogout",(e=>{this.props.navigationBlocked?(e.preventDefault(),this.props.actions.deferNavigation(If.BN)):If.BN()}))}render(){const{locale:e,teams:t,siteName:s,isLicensed:a,isCloud:n}=this.props,{formatMessage:i}=this.props.intl,r=[];let o;if(t&&t.length>0){const s=(0,zh.y)(t,e);for(const e of s)r.push(T().createElement(rS,{key:"team_"+e.name,to:"/"+e.name,text:i({id:"navbar_dropdown.switchTo",defaultMessage:"Switch to "})+" "+e.display_name}))}else o=T().createElement(rS,{to:"/select_team",icon:T().createElement("i",{className:"fa fa-exchange",title:i({id:"select_team.icon",defaultMessage:"Select Team Icon"})}),text:i({id:"admin.nav.switch",defaultMessage:"Team Selection"})});let l=T().createElement(gi.A.ItemExternalLink,{onClick:()=>(0,I.sx)("admin","click_administrators_support"),url:"https://mattermost.com/support/",text:i({id:"admin.nav.commercialSupport",defaultMessage:"Commercial Support"})});a&&(l=T().createElement(gi.A.ItemToggleModalRedux,{modalId:x.IQ.COMMERCIAL_SUPPORT,dialogType:sS,text:i({id:"admin.nav.commercialSupport",defaultMessage:"Commercial Support"})}));let d="https://docs.mattermost.com/guides/administration.html";return n&&(d="https://docs.mattermost.com/guides/administration.html#cloud-workspace-management"),T().createElement(gi.A,{ariaLabel:i({id:"admin.nav.menuAriaLabel",defaultMessage:"Admin Console Menu"})},T().createElement(gi.A.Group,null,r,o),T().createElement(gi.A.Group,null,T().createElement(gi.A.ItemExternalLink,{onClick:()=>(0,I.sx)("admin","click_administrators_guide"),url:d,text:i({id:"admin.nav.administratorsGuide",defaultMessage:"Administrator Guide"})}),T().createElement(gi.A.ItemExternalLink,{onClick:()=>(0,I.sx)("admin","click_administrators_forum"),url:"https://forum.mattermost.com/t/how-to-use-the-troubleshooting-forum/150",text:i({id:"admin.nav.troubleshootingForum",defaultMessage:"Troubleshooting Forum"})}),l,T().createElement(gi.A.ItemToggleModalRedux,{onClick:()=>(0,I.sx)("admin","click_administrators_about"),modalId:x.IQ.ABOUT,dialogType:Ky.A,text:i({id:"navbar_dropdown.about",defaultMessage:"About {appTitle}"},{appTitle:s||"Mattermost"})})),T().createElement(gi.A.Group,null,T().createElement(gi.A.ItemAction,{onClick:this.handleLogout,text:i({id:"navbar_dropdown.logout",defaultMessage:"Log Out"})})))}}oS(lS,"propTypes",{locale:L().string.isRequired,siteName:L().string,navigationBlocked:L().bool,teams:L().array.isRequired,actions:L().shape({deferNavigation:L().func.isRequired}).isRequired,isLicensed:L().bool.isRequired,isCloud:L().bool.isRequired});const dS=(0,N.injectIntl)(lS),cS=(0,a.connect)((function(e){const t=(0,c.Ay)(e),s="true"===t.IsLicensed,a="true"===t.Cloud;return{locale:(0,ms.k)(e),teams:(0,p.vt)(e),siteName:(0,c.zj)(e).SiteName,navigationBlocked:(0,Jo.$S)(e),isLicensed:s,isCloud:a}}),(function(e){return{actions:(0,n.bindActionCreators)({deferNavigation:h.Ld},e)}}))(dS);var mS=s(19477);const uS=e=>{let{currentUser:t}=e;const s=(0,N.useIntl)();let a=null;return t?(t.last_picture_update&&(a=T().createElement(qo.A,{username:t.username,url:de.mT.getProfilePictureUrl(t.id,t.last_picture_update),size:"lg"})),T().createElement(hi.A,{className:"AdminSidebarHeader"},T().createElement("div",null,a,T().createElement("div",{className:"header__info"},T().createElement("div",{className:"team__name"},T().createElement(N.FormattedMessage,{id:"admin.sidebarHeader.systemConsole",defaultMessage:"System Console"})),T().createElement("div",{className:"user__name overflow--ellipsis whitespace--nowrap"},"@"+t.username)),T().createElement("button",{type:"button",className:"style--none","aria-label":s.formatMessage({id:"generic_icons.menu",defaultMessage:"Menu Icon"})},T().createElement(mS.A,{className:"menu-icon"}))),T().createElement(cS,null))):null},pS=(0,_.memo)(uS),gS=(0,a.connect)((function(e){return{currentUser:(0,g.HW)(e)}}))(pS);var hS=s(86255),fS=s(55161),ES=s.n(fS);function bS(e,t){const s=MS(ft(e),t);if(e.name&&s.push(e.name),e.id&&s.push(e.id),e.settings_schema&&(e.settings_schema.footer&&s.push((0,$r.eA)(e.settings_schema.footer)),e.settings_schema.header&&s.push((0,$r.eA)(e.settings_schema.header)),e.settings_schema.settings)){const a=Object.values(e.settings_schema.settings);for(const e of a){const a=MS(e,t);s.push(...a)}}return s}function vS(e,t,s,a){let n;t&&(n="string"==typeof t?t:s.formatMessage(t)),n&&a&&(n=(0,$r.eA)(n)),n&&e.push(n)}function MS(e,t){const s=[];return vS(s,e.label,t),vS(s,e.display_name,t),vS(s,e.help_text,t,!0),vS(s,e.key,t),s}function yS(e,t,s,a){"string"==typeof t?e.push(t):"id"in t&&e.push(s.formatMessage(t,a))}function SS(e,t){const s=[];if(e.title&&yS(s,e.title,t),"name"in e.schema&&e.schema.name&&yS(s,e.schema.name,t),e.searchableStrings)for(const a of e.searchableStrings)Array.isArray(a)?s.push(t.formatMessage(a[0],a[1])):yS(s,a,t);return e.schema&&("settings"in e.schema&&e.schema.settings?s.push(...AS(e.schema.settings,t)):"sections"in e.schema&&e.schema.sections&&e.schema.sections.forEach((e=>{s.push(...AS(e.settings,t))}))),s}function AS(e,t){const s=[];for(const a of Object.values(e))a.label&&yS(s,a.label,t,a.label_values),a.help_text&&yS(s,a.help_text,t,a.help_text_values),"remove_help_text"in a&&a.remove_help_text&&yS(s,a.remove_help_text,t),"remove_button_text"in a&&a.remove_button_text&&yS(s,a.remove_button_text,t);return s}function CS(e,t,s){const a=new(ES());return _S(function(e,t){const s={},a=[e.about,e.reporting,e.user_management,e.environment,e.site,e.authentication,e.plugins,e.integrations,e.compliance,e.experimental,e.billing];for(const e of a)for(const a of Object.values(e.subsections))a.isDiscovery||(s[a.url]=SS(a,t));return s}(e,t),a),_S(function(e,t){const s={},a=e||{};for(const e of Object.keys(a))s["plugin_".concat(e)]=bS(a[e],t);return s}(s,t),a),a}function _S(e,t){for(const s of Object.keys(e)){let a="";for(const t of e[s])a+=" "+t;t.add(s,a)}}function TS(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const NS=e=>T().createElement("div",Object.assign({},e,{className:"scrollbar--view"})),RS=e=>T().createElement("div",Object.assign({},e,{className:"scrollbar--horizontal"})),wS=e=>T().createElement("div",Object.assign({},e,{className:"scrollbar--vertical"}));class IS extends T().PureComponent{constructor(e){super(e),TS(this,"handleSearchChange",(e=>{const t=e.target.value;if(""===t)return this.setState({sections:null,filter:t}),void this.props.onSearchChange(t);null===this.idx&&(this.idx=CS(this.props.adminDefinition,this.props.intl,this.props.plugins));let s="";for(const e of t.split(" "))e.trim(),""!==e&&(s+=e+" ",s+=e+"* ");const a=this.idx.search(s);if(this.setState({sections:a,filter:t}),this.props.onSearchChange(t),!this.props.navigationBlocked&&-1===a.indexOf((0,fi.J)().location.pathname.replace("/admin_console/",""))){const e=this.visibleSections();for(const t of a)if(e.has(t)){(0,fi.J)().replace("/admin_console/"+t);break}}})),TS(this,"updateTitle",(()=>{let e="";this.props.siteName&&(e=" - "+this.props.siteName),document.title=this.props.intl.formatMessage({id:"sidebar_right_menu.console",defaultMessage:"System Console"})+e})),TS(this,"visibleSections",(()=>{const{config:e,license:t,buildEnterpriseReady:s,consoleAccess:a,adminDefinition:n,cloud:i}=this.props,r=n=>!(!n.schema||!n.title||n.isHidden&&n.isHidden(e,this.state,t,s,a,i)),o=new Set;for(const e of Object.values(n))for(const t of Object.values(e.subsections))r(t)&&o.add(t.url);return o})),TS(this,"renderRootMenu",(e=>{const{config:t,license:s,buildEnterpriseReady:a,consoleAccess:n,cloud:i,subscriptionProduct:r}=this.props,o=[];return Object.entries(e).forEach((e=>{let[l,d]=e,c=!1;if(d.isHidden&&(c="function"==typeof d.isHidden?d.isHidden(t,this.state,s,a,n,i):Boolean(d.isHidden)),!c){const e=[];if(Object.entries(d.subsections).forEach((o=>{var d;let[c,m]=o;if(!m.title)return;if(m.isHidden&&("function"==typeof m.isHidden?m.isHidden(t,this.state,s,a,n,i):Boolean(m.isHidden)))return;if(null!==this.state.sections){let e=!1;for(const t of this.state.sections)t===m.url&&(e=!0);if(!e)return}const u="".concat(l,".").concat(c);e.push(T().createElement(Qy,{key:u,definitionKey:u,name:m.url,restrictedIndicator:null!==(d=m.restrictedIndicator)&&void 0!==d&&d.shouldDisplay(s,r)?m.restrictedIndicator.value(i):void 0,title:"string"==typeof m.title?m.title:T().createElement(N.FormattedMessage,m.title)}))})),"plugins"===d.id){const t=this.renderPluginsMenu();e.push(...t)}if(0===e.length)return null;o.push(T().createElement(Zy,{key:l,definitionKey:l,parentLink:"/admin_console",icon:d.icon,sectionClass:"",title:"string"==typeof d.sectionTitle?d.sectionTitle:T().createElement(N.FormattedMessage,d.sectionTitle)},e))}return null})),o})),TS(this,"isPluginPresentInSections",(e=>this.state.sections&&this.state.sections.indexOf("plugin_".concat(e.id))>=0)),TS(this,"renderPluginsMenu",(()=>{var e;const{config:t,plugins:s}=this.props;return null!==(e=t.PluginSettings)&&void 0!==e&&e.Enable&&s?Object.values(s).sort(((e,t)=>{const s=e.name.localeCompare(t.name);return 0!==s?s:e.id.localeCompare(t.id)})).filter((e=>null===this.state.sections||this.isPluginPresentInSections(e))).map((e=>T().createElement(Qy,{key:"customplugin"+e.id,name:"plugins/plugin_"+e.id,title:e.name}))):[]})),TS(this,"handleClearFilter",(()=>{this.setState({sections:null,filter:""}),this.props.onSearchChange("")})),this.state={sections:null,filter:""},this.idx=null,this.searchRef=T().createRef()}componentDidMount(){var e;null!==(e=this.props.config.PluginSettings)&&void 0!==e&&e.Enable&&this.props.actions.getPlugins(),this.searchRef.current&&this.searchRef.current.focus(),this.updateTitle()}componentDidUpdate(e){null===this.idx||Oi()(this.props.plugins,e.plugins)&&Oi()(this.props.adminDefinition,e.adminDefinition)||(this.idx=CS(this.props.adminDefinition,this.props.intl,this.props.plugins))}render(){const{showTaskList:e}=this.props;return T().createElement("div",{className:"admin-sidebar"},T().createElement(gS,null),T().createElement("div",{className:"filter-container"},T().createElement(dl.A,{className:"search__icon","aria-hidden":"true"}),T().createElement(hS.A,{className:"filter "+(this.state.filter?"active":""),type:"text",onChange:this.handleSearchChange,value:this.state.filter,placeholder:this.props.intl.formatMessage({id:"admin.sidebar.filter",defaultMessage:"Find settings"}),ref:this.searchRef,id:"adminSidebarFilter",clearable:!0,onClear:this.handleClearFilter})),T().createElement(zy.Ay,{autoHide:!0,autoHideTimeout:500,autoHideDuration:500,renderThumbHorizontal:RS,renderThumbVertical:wS,renderView:NS},T().createElement("div",{className:"nav-pills__container"},T().createElement(Ly,{keyword:this.state.filter},T().createElement("ul",{className:re()("nav nav-pills nav-stacked",{"task-list-shown":e})},this.renderRootMenu(this.props.adminDefinition))))))}}TS(IS,"propTypes",{onSearchChange:L().func.isRequired}),TS(IS,"defaultProps",{plugins:{}});const OS=(0,N.injectIntl)(IS),PS=(0,a.connect)((function(e){const t=(0,c.Ay)(e),s=(0,c.zj)(e),a="true"===s.BuildEnterpriseReady,n=s.SiteName,i=Ny(e),r=Iy(e),o=(0,m.Jz)(e,Vy.XV,Vy.f5.ONBOARDING_TASK_LIST_SHOW),l=(0,g.OK)(e),d=(0,Wy.w3)(e),u=l&&o&&!d,p=(0,P.Pd)(e);return{license:t,config:e.entities.admin.config,plugins:e.entities.admin.plugins,navigationBlocked:(0,Jo.$S)(e),buildEnterpriseReady:a,siteName:n,adminDefinition:i,consoleAccess:r,cloud:e.entities.cloud,showTaskList:u,subscriptionProduct:p}}),(function(e){return{actions:(0,n.bindActionCreators)({getPlugins:i.xy},e)}}),null,{pure:!1})(OS);function kS(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class xS extends T().PureComponent{constructor(e){super(e),kS(this,"handleSearchChange",(e=>{this.setState({search:e})})),kS(this,"renderRoutes",(e=>{const{adminDefinition:t,config:s,license:a,buildEnterpriseReady:n,consoleAccess:i,cloud:r,isCurrentUserSystemAdmin:o}=this.props,l=Object.values(t).flatMap((e=>{let t=!1;return t="function"==typeof e.isHidden?e.isHidden(s,this.state,a,n,i,r,o):Boolean(e.isHidden),t?[]:Object.values(e.subsections)}));let d="";const c=l.map(((t,c)=>{if(void 0!==t.isHidden&&("function"==typeof t.isHidden?t.isHidden(s,this.state,a,n,i,r,o):Boolean(t.isHidden)))return!1;let m;if(m="function"==typeof t.isDisabled?t.isDisabled(s,this.state,a,n,i,r,o):Boolean(t.isDisabled),!m&&""===d){const{url:e}=l[c];e.includes(":")||(d=e)}return T().createElement(R.Route,{key:t.url,path:"".concat(this.props.match.url,"/").concat(t.url),render:s=>T().createElement(gt,Object.assign({},e,s,{consoleAccess:this.props.consoleAccess,schema:t.schema,isDisabled:m}))})}));return T().createElement(R.Switch,null,c,T().createElement(R.Redirect,{to:"".concat(this.props.match.url,"/").concat(d)}))})),this.state={search:""}}componentDidMount(){var e;this.props.actions.getConfig(),this.props.actions.getEnvironmentConfig(),this.props.actions.loadRolesIfNeeded(["channel_user","team_user","system_user","channel_admin","team_admin","system_admin","system_user_manager","system_custom_group_admin","system_read_only_admin","system_manager"]),this.props.actions.selectLhsItem(qy.L.None),this.props.actions.selectTeam(""),document.body.classList.add("console__body"),null===(e=document.getElementById("root"))||void 0===e||e.classList.add("console__root"),(0,H.hm)()}componentWillUnmount(){var e;document.body.classList.remove("console__body"),null===(e=document.getElementById("root"))||void 0===e||e.classList.remove("console__root"),(0,H.AZ)(this.props.currentTheme),this.props.actions.setAdminConsoleUsersManagementTableProperties()}mainRolesLoaded(e){return e&&e.channel_admin&&e.channel_user&&e.team_admin&&e.team_user&&e.system_admin&&e.system_user&&e.system_user_manager&&e.system_read_only_admin&&e.system_custom_group_admin&&e.system_manager}render(){const{license:e,config:t,environmentConfig:s,showNavigationPrompt:a,roles:n}=this.props,{setNavigationBlocked:i,cancelNavigation:r,confirmNavigation:o,editRole:l,patchConfig:d}=this.props.actions;if(!this.props.currentUserHasAnAdminRole)return T().createElement(R.Redirect,{to:this.props.unauthorizedRoute});if(!this.mainRolesLoaded(this.props.roles))return null;if(0===Object.keys(t).length)return T().createElement("div",null);if(t&&0===Object.keys(t).length&&t.constructor===Object)return T().createElement("div",{className:"admin-console__wrapper admin-console"});const c={enterpriseReady:this.props.buildEnterpriseReady,license:e,config:t,environmentConfig:s,setNavigationBlocked:i,roles:n,editRole:l,patchConfig:d,cloud:this.props.cloud,isCurrentUserSystemAdmin:this.props.isCurrentUserSystemAdmin};return T().createElement(T().Fragment,null,T().createElement(Fy.default,null),T().createElement(jy.default,null),T().createElement(By.A,{team:this.props.team}),T().createElement(PS,{onSearchChange:this.handleSearchChange}),T().createElement("div",{className:"admin-console__wrapper admin-console",id:"adminConsoleWrapper"},T().createElement(Ly,{keyword:this.state.search,pathname:this.props.location.pathname},this.renderRoutes(c))),T().createElement(Uy,{show:a,onConfirm:o,onCancel:r}),T().createElement(Gy.default,null))}}const DS=xS,LS=(0,a.connect)((function(e){const t="true"===(0,c.zj)(e).BuildEnterpriseReady,s=Ny(e),a=ky.A.getPreviousTeamId((0,g.WR)(e)),n=(0,p.Uo)(e,a||""),i=n?"/".concat(n.name,"/channels/").concat(l.Bz.DEFAULT_CHANNEL):"/",r=Iy(e);return{config:d.zj(e),environmentConfig:d.Qq(e),license:(0,c.Ay)(e),buildEnterpriseReady:t,unauthorizedRoute:i,showNavigationPrompt:(0,Jo.kB)(e),isCurrentUserSystemAdmin:(0,g.J1)(e),currentUserHasAnAdminRole:(0,g.Z5)(e),roles:(0,u.O0)(e),adminDefinition:s,consoleAccess:r,cloud:e.entities.cloud,team:n,currentTheme:(0,m.O4)(e)}}),(function(e){return{actions:(0,n.bindActionCreators)({getConfig:i.zj,getEnvironmentConfig:i.Qq,patchConfig:i.tn,setNavigationBlocked:h.Jb,deferNavigation:h.Ld,cancelNavigation:h.zL,confirmNavigation:h.vn,loadRolesIfNeeded:r.cF,editRole:r.D3,selectLhsItem:E.bT,selectTeam:o.Uv,setAdminConsoleUsersManagementTableProperties:f.p$},e)}})),FS=LS(DS)},81806:(e,t,s)=>{s.d(t,{A:()=>m});var a=s(62688),n=s.n(a),i=s(97023),r=s.n(i),o=s(14778),l=s(81911);function d(){const{formatMessage:e}=(0,o.useIntl)();return r().createElement("i",{className:"fa fa-angle-left",title:e({id:"generic_icons.back",defaultMessage:"Back Icon"})})}const c=e=>{let{team:t,siteName:s}=e;const a=0===(null==t?void 0:t.delete_at);return r().createElement("div",{className:"backstage-navbar"},r().createElement(l.Link,{className:"backstage-navbar__back",to:"/".concat(a?null==t?void 0:t.name:"")},r().createElement(d,null),r().createElement("span",null,a?r().createElement(o.FormattedMessage,{id:"backstage_navbar.backToMattermost",defaultMessage:"Back to {siteName}",values:{siteName:null!=s?s:null==t?void 0:t.name}}):r().createElement(o.FormattedMessage,{id:"backstage_navbar.back",defaultMessage:"Back"}))))};c.propTypes={siteName:n().string};const m=c},61293:(e,t,s)=>{s.d(t,{A:()=>r,D:()=>o}),s(17046);var a=s(97023),n=s(14778);const i=4e3;function r(e){let{text:t,successCopyTimeout:s,trackCallback:n}=e;const[r,o]=(0,a.useState)(!1),[l,d]=(0,a.useState)(!1),c=(0,a.useRef)(null);let m=i;return(s||0===s)&&(m=s),{copiedRecently:r,copyError:l,onClick:(0,a.useCallback)((()=>{null==n||n(),c.current&&(clearTimeout(c.current),c.current=null);const e=navigator.clipboard;if(e)e.writeText(t).then((()=>{o(!0),d(!1)})).catch((()=>{o(!1),d(!0)}));else{const e=document.createElement("textarea");e.innerText=t,e.style.position="fixed",e.style.opacity="0",document.body.appendChild(e),e.select();try{const e=document.execCommand("copy");o(e),d(!e)}catch(e){o(!1),d(!0)}e.remove()}c.current=setTimeout((()=>{o(!1),d(!1)}),m)}),[m,t,n])}}const o=(0,n.defineMessages)({copy:{id:"copy_text.copy",defaultMessage:"Copy"},copied:{id:"copy_text.copied",defaultMessage:"Copied"}})},30135:(e,t,s)=>{s.d(t,{A:()=>o}),s(17046);var a=s(97023),n=s(11039),i=s(35412);const r=(e,t)=>t&&null!=e?e:Number.MAX_VALUE;function o(){const e=(0,i.A)(),[t,s]=(0,n.A)();return(0,a.useMemo)((()=>{var a,n,i;return{files:{totalStorage:e.files.totalStorage-r(null===(a=t.files)||void 0===a?void 0:a.total_storage,s),totalStorageLoaded:e.files.totalStorageLoaded},messages:{history:e.messages.history-r(null===(n=t.messages)||void 0===n?void 0:n.history,s),historyLoaded:e.messages.historyLoaded},teams:{active:e.teams.active-r(null===(i=t.teams)||void 0===i?void 0:i.active,s),cloudArchived:e.teams.cloudArchived,teamsLoaded:e.teams.teamsLoaded}}}),[e,t,s])}},85507:(e,t,s)=>{s.d(t,{A:()=>l});var a=s(62688),n=s.n(a),i=(s(10844),s(97023)),r=s.n(i);const o=e=>r().createElement("svg",{width:e.width?e.width.toString():"87",height:e.height?e.height.toString():"70",viewBox:"0 0 87 70",fill:"none",xmlns:"http://www.w3.org/2000/svg"},r().createElement("rect",{x:"8.00098",y:"7",width:"72",height:"24",rx:"3.75",fill:"var(--button-bg)",fillOpacity:"0.12"}),r().createElement("rect",{x:"0.000976562",y:"34",width:"87",height:"25",rx:"3.75",fill:"var(--button-bg)",fillOpacity:"0.12"}),r().createElement("path",{d:"M38.3214 2.31098C39.4303 0.112261 42.5697 0.112256 43.6786 2.31098L71.7146 57.899C72.7209 59.8943 71.2707 62.25 69.0359 62.25H12.9641C10.7294 62.25 9.27912 59.8943 10.2854 57.899L38.3214 2.31098Z",fill:"var(--center-channel-bg)"}),r().createElement("path",{d:"M40.3214 4.31098C41.4303 2.11226 44.5697 2.11226 45.6786 4.31098L73.7146 59.899C74.7209 61.8943 73.2707 64.25 71.0359 64.25H14.9641C12.7294 64.25 11.2791 61.8943 12.2854 59.899L40.3214 4.31098Z",fill:"#FFBC1F"}),r().createElement("path",{d:"M43.2322 2.53614L71.2681 58.1242C72.1067 59.7869 70.8982 61.75 69.0359 61.75H12.9641C11.1018 61.75 9.89327 59.7869 10.7319 58.1242L38.7678 2.53614C39.6919 0.703873 42.3081 0.703871 43.2322 2.53614Z",stroke:"var(--center-channel-color)"}),r().createElement("path",{d:"M49.542 4.23999L52.8888 10.72M74.922 53.38L68.5073 40.96L66.8339 37.72L64.6027 33.4L61.5348 27.46M59.3036 23.14L55.12 15.04",stroke:"var(--center-channel-color)",strokeOpacity:"0.56",strokeWidth:"1.08",strokeLinecap:"round"}),r().createElement("path",{d:"M38.0164 25.2833L40.2971 39.9301C40.3191 40.2208 40.4554 40.4927 40.6786 40.6912C40.9018 40.8897 41.1954 41 41.5002 41C41.8051 41 42.0986 40.8897 42.3219 40.6912C42.5451 40.4927 42.6814 40.2208 42.7034 39.9301L44.984 25.2833C45.3987 19.5722 37.5955 19.5722 38.0164 25.2833Z",fill:"#3F4350"}),r().createElement("path",{d:"M41.0072 47C41.798 47.0014 42.5706 47.2372 43.2275 47.6776C43.8843 48.118 44.396 48.7432 44.6976 49.4742C44.9993 50.2053 45.0774 51.0093 44.9222 51.7848C44.7671 52.5602 44.3856 53.2723 43.8259 53.831C43.2662 54.3897 42.5535 54.7699 41.7777 54.9237C41.002 55.0774 40.1981 54.9978 39.4676 54.6948C38.7371 54.3919 38.1128 53.8792 37.6736 53.2215C37.2344 52.5639 37 51.7908 37 51C37 50.4741 37.1036 49.9534 37.3051 49.4676C37.5066 48.9818 37.8019 48.5406 38.1741 48.169C38.5463 47.7975 38.9881 47.503 39.4743 47.3024C39.9604 47.1018 40.4813 46.9991 41.0072 47Z",fill:"#3F4350"}),r().createElement("path",{d:"M48.4619 68.5H70.0619",stroke:"var(--center-channel-color)",strokeOpacity:"0.56",strokeWidth:"1.08",strokeLinecap:"round"}),r().createElement("path",{d:"M10.001 50L26.001 19",stroke:"var(--center-channel-color)",strokeOpacity:"0.56",strokeWidth:"1.08",strokeLinecap:"round"}));o.propTypes={width:n().number.isRequired,height:n().number.isRequired};const l=o},92600:(e,t,s)=>{s.d(t,{A:()=>g});var a=s(23453),n=s(26614),i=s(68124),r=s(62688),o=s.n(r),l=s(97023),d=s.n(l),c=s(14778),m=s(85873);const u=e=>{let{fileInfo:t,fileUrl:s,canDownloadFiles:a}=e;const n=(0,c.useIntl)(),i=[];""!==t.extension&&i.push(n.formatMessage({id:"file_info_preview.type",defaultMessage:"File type "})+t.extension.toUpperCase()),t.size&&i.push(n.formatMessage({id:"file_info_preview.size",defaultMessage:"Size "})+m.O1(t.size));const r=i.join(", ");let o=null;return o=a?d().createElement("a",{className:"file-details__preview",href:s},d().createElement("span",{className:"file-details__preview-helper"}),d().createElement("img",{alt:"file preview",src:m.Xm(t)})):d().createElement("span",{className:"file-details__preview"},d().createElement("span",{className:"file-details__preview-helper"}),d().createElement("img",{alt:"file preview",src:m.Xm(t)})),d().createElement("div",{className:"file-details__container"},o,d().createElement("div",{className:"file-details"},d().createElement("div",{className:"file-details__name"},t.name),d().createElement("div",{className:"file-details__info"},r)))};u.propTypes={fileUrl:o().string.isRequired,canDownloadFiles:o().bool.isRequired};const p=d().memo(u),g=(0,a.connect)((function(e){const t=(0,n.zj)(e);return{canDownloadFiles:(0,i.En)(t)}}))(p)},30491:(e,t,s)=>{s.d(t,{A:()=>l}),s(29206),s(57406),s(55448);var a=s(97023),n=s.n(a),i=s(14778);const r=["placeholder"],o=n().forwardRef(((e,t)=>{let{placeholder:s}=e,a=function(e,t){if(null==e)return{};var s,a,n=function(e,t){if(null==e)return{};var s={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(t.includes(a))continue;s[a]=e[a]}return s}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(a=0;a<i.length;a++)s=i[a],t.includes(s)||{}.propertyIsEnumerable.call(e,s)&&(n[s]=e[s])}return n}(e,r);const o=(0,i.useIntl)();return n().createElement("input",Object.assign({ref:t,placeholder:o.formatMessage(s)},a))}));o.displayName="LocalizedPlaceholderInput";const l=o},60729:(e,t,s)=>{s.r(t),s.d(t,{default:()=>u});var a=s(23453),n=s(52602),i=s(79751),r=s(62688),o=s.n(r),l=(s(29206),s(97023)),d=s.n(l);const c=e=>{let{modals:t,actions:s}=e;if(!t)return null;const{modalState:a}=t,n=[];for(const e in a)if(Object.hasOwn(a,e)){const t=a[e];if(t.open){const a=d().createElement(t.dialogType,Object.assign({},t.dialogProps,{onExited:()=>{var a,n;s.closeModal(e),null===(a=t.dialogProps)||void 0===a||null===(n=a.onExited)||void 0===n||n.call(a)},onHide:s.closeModal.bind(void 0,e),key:"".concat(e,"_modal")}));n.push(a)}}return d().createElement(d().Fragment,null,n)};c.propTypes={modals:o().shape({modalState:o().objectOf(o().shape({open:o().bool.isRequired,dialogType:o().elementType.isRequired,dialogProps:o().objectOf(o().any)})).isRequired}).isRequired,actions:o().shape({closeModal:o().func.isRequired}).isRequired};const m=c,u=(0,a.connect)((function(e){return{modals:e.views.modals}}),(function(e){return{actions:(0,n.bindActionCreators)({closeModal:i.O},e)}}))(m)},25660:(e,t,s)=>{s.r(t),s.d(t,{default:()=>h});var a=s(62688),n=s.n(a),i=(s(43813),s(29206),s(4290),s(46177)),r=s.n(i),o=s(97792),l=(s(23100),s(97023)),d=s.n(l),c=s(31655),m=s(92600),u=s(53654),p=s(63155);function g(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class h extends d().PureComponent{constructor(e){super(e),g(this,"parentNode",null),g(this,"pdfCanvasRef",{}),g(this,"downloadFile",(e=>{const t=this.props.fileInfo.link||(0,c.S1)(this.props.fileInfo.id);e.preventDefault(),window.location.href=t})),g(this,"isInViewport",(e=>{var t,s,a,n;const i=e.getBoundingClientRect(),r=null!==(t=null===(s=this.container.current)||void 0===s?void 0:s.scrollTop)&&void 0!==t?t:0,o=r+(null!==(a=null===(n=this.parentNode)||void 0===n?void 0:n.clientHeight)&&void 0!==a?a:0);return i.top>=r&&i.top<=o||i.bottom>=r&&i.bottom<=o||i.top<=r&&i.bottom>=o})),g(this,"renderPDFPage",(async e=>{const t=this.pdfCanvasRef["pdfCanvasRef-".concat(e)].current;if(!t)return;if(e>=3&&!this.isInViewport(t))return;if(this.pdfPagesRendered[e])return;const s=await this.loadPage(this.state.pdf,e),a=t.getContext("2d"),n=s.getViewport({scale:this.props.scale});t.height=n.height,t.width=n.width;const i={canvasContext:a,viewport:n};await s.render(i).promise,this.pdfPagesRendered[e]=!0})),g(this,"getPdfDocument",(async()=>{try{const e=await o.YE({url:this.props.fileUrl,cMapUrl:(0,p.vV)()+"/static/cmaps/",cMapPacked:!0}).promise;this.onDocumentLoad(e)}catch(e){this.onDocumentLoadError(e)}})),g(this,"onDocumentLoad",(e=>{this.setState({pdf:e,numPages:e.numPages});for(let t=0;t<e.numPages;t++)this.pdfCanvasRef["pdfCanvasRef-".concat(t)]=d().createRef();this.setState({loading:!1,success:!0})})),g(this,"onDocumentLoadError",(e=>{console.log("Unable to load PDF preview: "+e),this.setState({loading:!1,success:!1})})),g(this,"loadPage",(async(e,t)=>{if(this.state.pdfPagesLoaded[t])return this.state.pdfPages[t];const s=await e.getPage(t+1),a=Object.assign({},this.state.pdfPages);a[t]=s;const n=Object.assign({},this.state.pdfPagesLoaded);return n[t]=!0,this.setState({pdfPages:a,pdfPagesLoaded:n}),s})),g(this,"handleScroll",r()((()=>{if(this.state.success)for(let e=0;e<this.state.numPages;e++)this.renderPDFPage(e)}),100)),this.pdfPagesRendered={},this.container=d().createRef(),this.state={pdf:null,pdfPages:[],pdfPagesLoaded:{},numPages:0,loading:!0,success:!1,prevFileUrl:""}}componentDidMount(){var e;this.getPdfDocument(),this.container.current&&(this.parentNode=this.container.current.parentElement,null===(e=this.parentNode)||void 0===e||e.addEventListener("scroll",this.handleScroll))}componentWillUnmount(){this.parentNode&&this.parentNode.removeEventListener("scroll",this.handleScroll)}static getDerivedStateFromProps(e,t){return e.fileUrl!==t.prevFileUrl?{pdf:null,pdfPages:{},pdfPagesLoaded:{},numPages:0,loading:!0,success:!1,prevFileUrl:e.fileUrl}:null}componentDidUpdate(e,t){if(this.props.fileUrl!==e.fileUrl&&(this.getPdfDocument(),this.pdfPagesRendered={}),this.props.scale!==e.scale&&(this.pdfPagesRendered={},this.state.success))for(let e=0;e<this.state.numPages;e++)this.renderPDFPage(e);if(!t.success&&this.state.success)for(let e=0;e<this.state.numPages;e++)this.renderPDFPage(e)}render(){if(this.state.loading)return d().createElement("div",{ref:this.container,className:"view-image__loading"},d().createElement(u.A,null));if(!this.state.success)return d().createElement(m.A,{fileInfo:this.props.fileInfo,fileUrl:this.props.fileUrl});const e=[];for(let t=0;t<this.state.numPages;t++)e.push(d().createElement("canvas",{ref:this.pdfCanvasRef["pdfCanvasRef-".concat(t)],key:"previewpdfcanvas"+t})),t<this.state.numPages-1&&this.state.numPages>1&&e.push(d().createElement("div",{key:"previewpdfspacer"+t,className:"pdf-preview-spacer"}));return d().createElement("div",{ref:this.container,className:"post-code",onClick:this.props.handleBgClose},e)}}g(h,"propTypes",{fileUrl:n().string.isRequired,scale:n().number.isRequired,handleBgClose:n().func.isRequired})},26676:(e,t,s)=>{s.r(t),s.d(t,{default:()=>O});var a=s(23453),n=s(52602),i=s(97282),r=s(35631),o=s(57898),l=s(8361),d=s(65952),c=s(26614),m=s(77440),u=s(80635),p=s(63647),g=s(97023),h=s.n(g),f=s(14778),E=s(85406),b=s(17518),v=s(78451),M=s(75644),y=s(4715);const S=[{name:"apiv3_deprecation",adminOnly:!0,title:h().createElement(f.FormattedMessage,{id:"system_notice.title",defaultMessage:"Notice from Mattermost"}),body:h().createElement(f.FormattedMessage,{id:"system_notice.body.api3",defaultMessage:"If you’ve created or installed integrations in the last two years, find out how <link>recent changes</link> may have affected them.",values:{link:e=>h().createElement(b.A,{href:"https://api.mattermost.com/#tag/APIv3-Deprecation",location:"system_notices"},e)}}),allowForget:!0,show:(e,t)=>!(t.InstallationDate>=new Date(2018,5,16,0,0,0,0).getTime())},{name:"advanced_permissions",adminOnly:!0,title:h().createElement(f.FormattedMessage,{id:"system_notice.title",defaultMessage:"Notice from Mattermost"}),body:h().createElement(f.FormattedMessage,{id:"system_notice.body.permissions",defaultMessage:"Some policy and permission System Console settings have moved with the release of <link>advanced permissions</link> into Mattermost Free and Professional.",values:{link:e=>h().createElement(b.A,{href:v.Uk.ONBOARD_ADVANCED_PERMISSIONS,location:"system_notices"},e)}}),allowForget:!0,show:(e,t,s)=>!("false"===s.IsLicensed||t.InstallationDate>new Date(2018,5,16,0,0,0,0).getTime()||"true"===s.IsLicensed&&s.IssuedAt>new Date(2018,5,16,0,0,0,0).getTime())},{name:"ee_upgrade_advice",adminOnly:!0,title:h().createElement(f.FormattedMessage,{id:"system_notice.title",defaultMessage:"Notice from Mattermost"}),body:h().createElement(f.FormattedMessage,{id:"system_notice.body.ee_upgrade_advice",defaultMessage:"Enterprise Edition is recommended to ensure optimal operation and reliability. <link>Learn more</link>.",values:{link:e=>h().createElement(b.A,{href:"https://mattermost.com/performance",location:"system_notices"},e)}}),allowForget:!1,show:(e,t,s,a)=>!(!a||Object.hasOwn(a,"TOTAL_USERS")||a.TOTAL_USERS&&a.TOTAL_USERS<1e4||"true"===s.IsLicensed&&"true"===s.Cluster)},{name:"ie11_deprecation",title:h().createElement(f.FormattedMessage,{id:"system_notice.title",defaultMessage:"Notice from Mattermost"}),allowForget:!1,body:h().createElement(f.FormattedMessage,{id:"system_notice.body.ie11_deprecation",defaultMessage:"Your browser, IE11, will no longer be supported in an upcoming release. <link>Find out how to move to another browser in one simple step</link>.",values:{link:e=>h().createElement(b.A,{href:"https://forum.mattermost.com/t/mattermost-is-dropping-support-for-internet-explorer-ie11-in-v5-16/7575",location:"system_notices"},e)}}),show:e=>!M.l(e,"5.16.0")&&!!y.VN()},{name:"GMasDM",allowForget:!0,title:h().createElement(f.FormattedMessage,{id:"system_notice.title.gm_as_dm",defaultMessage:"Updates to Group Messages"}),icon:h().createElement(E.InformationOutlineIcon,null),body:h().createElement(f.FormattedMessage,{id:"system_noticy.body.gm_as_dm",defaultMessage:"You will now be notified for all activity in your group messages along with a notification badge for every new message.{br}{br}You can configure this in notification preferences for each group message.",values:{br:h().createElement("br",null)}}),show:(e,t,s,a,n)=>"G"===(null==n?void 0:n.type)}];var A=s(62688),C=s.n(A),_=(s(17046),s(4290),s(37266));function T(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class N extends h().PureComponent{constructor(){var e;super(...arguments),e=this,T(this,"getCurrentNotice",(()=>{for(const t of this.props.notices){var e;if(!this.props.dismissedNotices[t.name]&&!this.props.preferences[t.name]&&(!t.adminOnly||this.props.isSystemAdmin)&&null!==(e=t.show)&&void 0!==e&&e.call(t,this.props.serverVersion,this.props.config,this.props.license,this.props.analytics,this.props.currentChannel))return t}return null})),T(this,"hide",(function(){let t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];const s=e.getCurrentNotice();s&&(t||e.props.actions.savePreferences(e.props.currentUserId,[{user_id:e.props.currentUserId,category:v.pm.CATEGORY_SYSTEM_NOTICE,name:s.name,value:"dismissed"}]),e.props.actions.dismissNotice(s.name))})),T(this,"hideAndRemind",(()=>{this.hide(!0)})),T(this,"hideAndForget",(()=>{this.hide(!1)}))}componentDidMount(){this.props.isSystemAdmin&&this.props.actions.getStandardAnalytics()}componentDidUpdate(e){e.isSystemAdmin!==this.props.isSystemAdmin&&this.props.isSystemAdmin&&this.props.actions.getStandardAnalytics()}render(){const e=this.getCurrentNotice();if(null==e)return null;let t;e.adminOnly&&(t=h().createElement("div",{className:"system-notice__info"},h().createElement("i",{className:"fa fa-eye",title:this.props.intl.formatMessage({id:"system_notice.adminVisible.icon",defaultMessage:"Only visible to System Admins Icon"})}),h().createElement(f.FormattedMessage,{id:"system_notice.adminVisible",defaultMessage:"Only visible to System Admins"})));const s=e.icon||h().createElement(_.A,null);return h().createElement("div",{className:"system-notice bg--white"},h().createElement("div",{className:"system-notice__logo"},s),h().createElement("div",{className:"system-notice__body"},h().createElement("div",{className:"system-notice__title"},e.title),e.body,t,h().createElement("div",{className:"system-notice__footer"},h().createElement("button",{id:"systemnotice_remindme",className:"btn btn-sm btn-primary",onClick:this.hideAndRemind},h().createElement(f.FormattedMessage,{id:"system_notice.remind_me",defaultMessage:"Remind Me Later"})),e.allowForget&&h().createElement("button",{id:"systemnotice_dontshow",className:"btn btn-sm btn-tertiary",onClick:this.hideAndForget},h().createElement(f.FormattedMessage,{id:"system_notice.dont_show",defaultMessage:"Don't Show Again"})))))}}T(N,"propTypes",{currentUserId:C().string.isRequired,notices:C().array.isRequired,preferences:C().objectOf(C().any).isRequired,dismissedNotices:C().any.isRequired,isSystemAdmin:C().bool,serverVersion:C().string.isRequired,actions:C().shape({}).isRequired});const R=(0,f.injectIntl)(N),w=(0,m.dI)("getSystemNoticePreferences",v.pm.CATEGORY_SYSTEM_NOTICE),I=(0,l.Mz)("getPreferenceNameMap",w,(e=>{const t={};return e.forEach((e=>{t[e.name]=e})),t})),O=(0,a.connect)((function(e){const t=(0,c.Ay)(e),s=(0,c.zj)(e),a=e.entities.general.serverVersion,n=e.entities.admin.analytics;return{currentUserId:e.entities.users.currentUserId,preferences:I(e),dismissedNotices:e.views.notice.hasBeenDismissed,isSystemAdmin:(0,u.y4)(e,{permission:o.xB.MANAGE_SYSTEM}),notices:S,config:s,license:t,serverVersion:a,analytics:n,currentChannel:(0,d.Lw)(e)}}),(function(e){return{actions:(0,n.bindActionCreators)({savePreferences:r.SF,dismissNotice:p.L,getStandardAnalytics:i.ur},e)}}))(R)},90617:(e,t,s)=>{s.d(t,{A:()=>r});var a=s(97023),n=s.n(a);const i=()=>n().createElement("svg",{width:"18px",height:"18px",viewBox:"0 0 18 18"},n().createElement("g",{id:"Developer-Export",stroke:"none",strokeWidth:"1",fillRule:"evenodd"},n().createElement("g",{transform:"translate(-285.000000, -933.000000)",id:"All-Team-Members"},n().createElement("g",{transform:"translate(245.000000, 698.000000)"},n().createElement("g",{id:"Channel-Administrators",transform:"translate(0.000000, 106.000000)"},n().createElement("g",{id:"data-table/column-1",transform:"translate(11.000000, 86.000000)"},n().createElement("g",{id:"row-checkbox---Public-Channels",transform:"translate(12.000000, 35.000000)"},n().createElement("g",{id:"Stacked-Group",transform:"translate(0.000000, 5.000000)"},n().createElement("g",{id:"data-table/1st/row-checkbox-label-base"},n().createElement("g",{id:"check-on-copy-11",transform:"translate(14.000000, 0.000000)"},n().createElement("path",{d:"M19,3 L5,3 C3.9,3 3,3.9 3,5 L3,19 C3,20.1 3.9,21 5,21 L19,21 C20.1,21 21,20.1 21,19 L21,5 C21,3.9 20.1,3 19,3 L19,3 Z M10,17 L5,12.1923077 L6.4,10.8461538 L10,14.3076923 L17.6,7 L19,8.34615385 L10,17 L10,17 Z",id:"checkbox---checked"}))))))))))),r=(0,a.memo)(i)},5955:(e,t,s)=>{s.d(t,{A:()=>m});var a=s(62688),n=s.n(a),i=s(71633),r=s.n(i),o=s(97023),l=s.n(o),d=s(14778);const c=e=>{let{additionalClassName:t}=e;const{formatMessage:s}=(0,d.useIntl)();return l().createElement("i",{className:r()("icon icon-chevron-right",t),title:s({id:"generic_icons.next",defaultMessage:"Next Icon"})})};c.propTypes={additionalClassName:n().string};const m=l().memo(c)},57891:(e,t,s)=>{s.d(t,{A:()=>m});var a=s(62688),n=s.n(a),i=s(71633),r=s.n(i),o=s(97023),l=s.n(o),d=s(14778);const c=e=>{let{additionalClassName:t}=e;const{formatMessage:s}=(0,d.useIntl)();return l().createElement("i",{className:r()("icon icon-chevron-left",t),title:s({id:"generic_icons.previous",defaultMessage:"Previous Icon"})})};c.propTypes={additionalClassName:n().string};const m=l().memo(c)},12082:(e,t,s)=>{s.d(t,{A:()=>r});var a=s(97023),n=s.n(a),i=s(14778);function r(){const{formatMessage:e}=(0,i.useIntl)();return n().createElement("i",{className:"fa fa-search",title:e({id:"generic_icons.search",defaultMessage:"Search Icon"})})}},59181:(e,t,s)=>{s.d(t,{A:()=>r});var a=s(97023),n=s.n(a),i=s(14778);function r(e){const{formatMessage:t}=(0,i.useIntl)();return n().createElement("span",e,n().createElement("svg",{width:"13px",height:"13px",viewBox:"0 0 16 16",role:"presentation","aria-label":t({id:"generic_icons.channel.public",defaultMessage:"Public Channel Icon"})},n().createElement("path",{d:"M8 -2.47955e-05C6.56 -2.47955e-05 5.216 0.367975 3.968 1.10398C2.76267 1.80798 1.808 2.76264 1.104 3.96797C0.368 5.21598 0 6.55998 0 7.99998C0 9.43998 0.368 10.784 1.104 12.032C1.808 13.2373 2.76267 14.192 3.968 14.896C5.216 15.632 6.56 16 8 16C9.44 16 10.784 15.632 12.032 14.896C13.2373 14.192 14.192 13.2373 14.896 12.032C15.632 10.784 16 9.43998 16 7.99998C16 6.55998 15.632 5.21598 14.896 3.96797C14.192 2.76264 13.2373 1.80798 12.032 1.10398C10.784 0.367975 9.44 -2.47955e-05 8 -2.47955e-05ZM14.4 8.39998C14.2507 8.59198 13.92 8.80531 13.408 9.03998C12.768 9.31731 12.032 9.53064 11.2 9.67998V6.95998C12.288 6.77864 13.168 6.53864 13.84 6.23998C13.872 6.20798 13.9253 6.18131 14 6.15998C14.0853 6.12798 14.1387 6.10131 14.16 6.07998C14.32 6.63464 14.4 7.27464 14.4 7.99998V8.39998ZM6.8 11.52C6.93867 11.52 7.14133 11.536 7.408 11.568C7.67467 11.5893 7.872 11.6 8 11.6C8.53333 11.6 8.93333 11.5733 9.2 11.52C9.008 12.2773 8.8 12.912 8.576 13.424C8.36267 13.8933 8.17067 14.192 8 14.32C7.808 14.1813 7.61067 13.8826 7.408 13.424C7.152 12.8906 6.94933 12.256 6.8 11.52ZM8 9.99998C7.63733 9.99998 7.376 9.99464 7.216 9.98398C6.93867 9.97331 6.69333 9.95198 6.48 9.91998C6.48 9.74931 6.46933 9.46664 6.448 9.07198C6.416 8.61331 6.4 8.25598 6.4 7.99998V7.11998C6.77333 7.17331 7.30667 7.19998 8 7.19998C8.69333 7.19998 9.22667 7.17331 9.6 7.11998V7.99998C9.6 8.25598 9.584 8.61331 9.552 9.07198C9.53067 9.46664 9.52 9.74931 9.52 9.91998C9.30667 9.95198 9.06133 9.97331 8.784 9.98398C8.624 9.99464 8.36267 9.99998 8 9.99998ZM9.44 5.51998C9.12 5.57331 8.64 5.59998 8 5.59998C7.36 5.59998 6.88 5.57331 6.56 5.51998C6.656 4.82664 6.8 4.18131 6.992 3.58397C7.14133 3.07198 7.31733 2.62931 7.52 2.25597C7.69067 1.93598 7.85067 1.71731 8 1.59997C8.14933 1.71731 8.30933 1.93598 8.48 2.25597C8.68267 2.62931 8.85867 3.07198 9.008 3.58397C9.2 4.18131 9.344 4.82664 9.44 5.51998ZM13.44 4.63998C12.5867 5.00264 11.7867 5.24264 11.04 5.35997C10.9653 4.71997 10.848 4.11198 10.688 3.53598C10.5387 2.95998 10.3627 2.44798 10.16 1.99998C11.5573 2.49064 12.6507 3.37064 13.44 4.63998ZM2.56 4.63998C2.976 4.02131 3.456 3.49331 4 3.05597C4.576 2.58664 5.216 2.23464 5.92 1.99998C5.52533 2.87464 5.20533 3.99464 4.96 5.35997C3.92533 5.11464 3.12533 4.87464 2.56 4.63998ZM1.92 6.07998C1.952 6.11198 2.00533 6.14398 2.08 6.17598L2.24 6.23998C2.96533 6.55998 3.84533 6.79998 4.88 6.95998C4.848 7.09864 4.82667 7.26398 4.816 7.45598C4.80533 7.56264 4.8 7.74398 4.8 7.99998C4.8 8.74664 4.82667 9.30664 4.88 9.67998C4.048 9.53064 3.31733 9.31731 2.688 9.03998C2.16533 8.80531 1.82933 8.59198 1.68 8.39998V7.99998C1.63733 7.67998 1.63733 7.34931 1.68 7.00798C1.72267 6.66664 1.80267 6.35731 1.92 6.07998ZM2.16 10.56C3.14133 10.9546 4.128 11.2213 5.12 11.36C5.248 12.2133 5.51467 13.0933 5.92 14C5.088 13.7226 4.34133 13.2853 3.68 12.688C3.02933 12.08 2.52267 11.3706 2.16 10.56ZM13.84 10.56C13.4773 11.3706 12.9653 12.08 12.304 12.688C11.6533 13.2853 10.912 13.7226 10.08 14C10.4853 13.0933 10.752 12.2133 10.88 11.36C12.1493 11.1786 13.136 10.912 13.84 10.56Z"})))}},74381:(e,t,s)=>{s.d(t,{A:()=>r});var a=s(97023),n=s.n(a),i=s(14778);function r(e){const{formatMessage:t}=(0,i.useIntl)();return n().createElement("span",e,n().createElement("svg",{width:"12px",height:"13px",viewBox:"0 0 13 15",role:"presentation","aria-label":t({id:"generic_icons.channel.private",defaultMessage:"Private Channel Icon"})},n().createElement("g",{stroke:"none",strokeWidth:"1",fill:"inherit",fillRule:"evenodd"},n().createElement("g",{transform:"translate(-116.000000, -175.000000)",fillRule:"nonzero",fill:"inherit"},n().createElement("g",{transform:"translate(95.000000, 0.000000)"},n().createElement("g",{transform:"translate(20.000000, 113.000000)"},n().createElement("g",{transform:"translate(1.000000, 62.000000)"},n().createElement("path",{d:"M12.0714286,6.5 L11.1428571,6.5 L11.1428571,4.64285714 C11.1428571,2.07814286 9.06471429,0 6.5,0 C3.93528571,0 1.85714286,2.07814286 1.85714286,4.64285714 L1.85714286,6.5 L0.928571429,6.5 C0.415071429,6.5 0,7.00792857 0,7.52142857 L0,13.9285714 C0,14.4420714 0.415071429,14.8571429 0.928571429,14.8571429 L12.0714286,14.8571429 C12.5849286,14.8571429 13,14.4420714 13,13.9285714 L13,7.52142857 C13,7.00792857 12.5849286,6.5 12.0714286,6.5 Z M6.5,1.85714286 C8.03585714,1.85714286 9.28571429,3.107 9.28571429,4.64285714 L9.28571429,6.5 L8.35714286,6.5 L4.64285714,6.5 L3.71428571,6.5 L3.71428571,4.64285714 C3.71428571,3.107 4.96414286,1.85714286 6.5,1.85714286 Z"}))))))))}},31229:(e,t,s)=>{s.d(t,{A:()=>r});var a=s(97023),n=s.n(a),i=s(14778);function r(e){const{formatMessage:t}=(0,i.useIntl)();return n().createElement("span",e,n().createElement("svg",{width:"12px",height:"12px",viewBox:"0 0 18 18",version:"1.1",role:"img","aria-label":t({id:"generic_icons.mention",defaultMessage:"Mention Icon"}),fill:"inherit"},n().createElement("path",{d:"M9 11.7C9.72 11.7 10.35 11.43 10.89 10.89C11.43 10.35 11.7 9.71999 11.7 8.99999C11.7 8.27999 11.43 7.64999 10.89 7.10999C10.35 6.56999 9.72 6.29999 9 6.29999C8.28 6.29999 7.65 6.56999 7.11 7.10999C6.57 7.64999 6.3 8.27999 6.3 8.99999C6.3 9.71999 6.57 10.35 7.11 10.89C7.65 11.43 8.28 11.7 9 11.7ZM9 -1.26362e-05C11.46 -1.26362e-05 13.56 0.869987 15.3 2.60999C16.176 3.48599 16.842 4.45199 17.298 5.50799C17.766 6.59999 18 7.76399 18 8.99999V10.26C18 10.692 17.916 11.118 17.748 11.538C17.592 11.922 17.376 12.276 17.1 12.6C16.788 12.912 16.446 13.14 16.074 13.284C15.714 13.428 15.306 13.5 14.85 13.5C13.746 13.5 12.876 13.05 12.24 12.15C11.34 13.05 10.26 13.5 9 13.5C7.716 13.5 6.666 13.05 5.85 12.15C4.95 11.25 4.5 10.2 4.5 8.99999C4.5 7.70399 4.95 6.65399 5.85 5.84999C6.666 4.94999 7.716 4.49999 9 4.49999C10.296 4.49999 11.346 4.94999 12.15 5.84999C13.05 6.74999 13.5 7.79999 13.5 8.99999V10.26C13.5 10.44 13.536 10.614 13.608 10.782C13.692 10.95 13.8 11.106 13.932 11.25C14.076 11.382 14.232 11.49 14.4 11.574C14.568 11.658 14.718 11.7 14.85 11.7C15.03 11.7 15.204 11.664 15.372 11.592C15.54 11.508 15.696 11.394 15.84 11.25C16.08 11.01 16.2 10.68 16.2 10.26V8.99999C16.2 7.01999 15.48 5.30999 14.04 3.86999C13.332 3.16199 12.564 2.63999 11.736 2.30399C10.908 1.96799 9.996 1.79999 9 1.79999C7.056 1.79999 5.346 2.48999 3.87 3.86999C3.174 4.52999 2.652 5.30399 2.304 6.19199C1.968 7.04399 1.8 7.97999 1.8 8.99999C1.8 9.98399 1.974 10.902 2.322 11.754C2.67 12.594 3.186 13.356 3.87 14.04C4.554 14.724 5.328 15.252 6.192 15.624C7.092 16.008 8.028 16.2 9 16.2H13.5V18H9C7.752 18 6.6 17.772 5.544 17.316C4.488 16.872 3.51 16.2 2.61 15.3C1.71 14.4 1.05 13.44 0.63 12.42C0.21 11.4 0 10.266 0 9.01799C0 7.75799 0.222 6.59399 0.666 5.52599C1.098 4.49399 1.746 3.52199 2.61 2.60999C4.266 0.869987 6.396 -1.26362e-05 9 -1.26362e-05Z"})))}},19477:(e,t,s)=>{s.d(t,{A:()=>r});var a=s(97023),n=s.n(a),i=s(14778);function r(e){const{formatMessage:t}=(0,i.useIntl)();return n().createElement("span",e,n().createElement("svg",{width:"16px",height:"10px",viewBox:"0 0 16 10",version:"1.1",role:"img","aria-label":t({id:"generic_icons.menu",defaultMessage:"Menu Icon"})},n().createElement("g",{stroke:"none",strokeWidth:"1",fill:"inherit",fillRule:"evenodd"},n().createElement("g",{transform:"translate(-188.000000, -38.000000)",fillRule:"nonzero",fill:"inherit"},n().createElement("g",null,n().createElement("g",null,n().createElement("g",{transform:"translate(188.000000, 38.000000)"},n().createElement("path",{d:"M15.5,0 C15.776,0 16,0.224 16,0.5 L16,1.5 C16,1.776 15.776,2 15.5,2 L0.5,2 C0.224,2 0,1.776 0,1.5 L0,0.5 C0,0.224 0.224,0 0.5,0 L15.5,0 Z M15.5,4 C15.776,4 16,4.224 16,4.5 L16,5.5 C16,5.776 15.776,6 15.5,6 L0.5,6 C0.224,6 0,5.776 0,5.5 L0,4.5 C0,4.224 0.224,4 0.5,4 L15.5,4 Z M15.5,8 C15.776,8 16,8.224 16,8.5 L16,9.5 C16,9.776 15.776,10 15.5,10 L0.5,10 C0.224,10 0,9.776 0,9.5 L0,8.5 C0,8.224 0.224,8 0.5,8 L15.5,8 Z"}))))))))}},97314:(e,t,s)=>{s.d(t,{A:()=>r});var a=s(97023),n=s.n(a),i=s(14778);function r(e){const{formatMessage:t}=(0,i.useIntl)();return n().createElement("span",e,n().createElement("svg",{width:"16px",height:"16px",viewBox:"0 0 17 17",role:"img","aria-label":t({id:"generic_icons.search",defaultMessage:"Search Icon"})},n().createElement("path",{d:"M16.398 15.138L13.014 11.754C13.458 11.178 13.8 10.548 14.04 9.86399C14.28 9.14399 14.4 8.40599 14.4 7.64999C14.4 6.42599 14.094 5.29199 13.482 4.24799C12.882 3.22799 12.072 2.41799 11.052 1.81799C10.008 1.20599 8.874 0.899988 7.65 0.899988C6.426 0.899988 5.292 1.20599 4.248 1.81799C3.228 2.41799 2.418 3.22799 1.818 4.24799C1.206 5.29199 0.9 6.42599 0.9 7.64999C0.9 8.87399 1.206 10.008 1.818 11.052C2.418 12.072 3.228 12.882 4.248 13.482C5.292 14.094 6.426 14.4 7.65 14.4C8.406 14.4 9.138 14.274 9.846 14.022C10.53 13.794 11.16 13.458 11.736 13.014L15.138 16.398C15.306 16.566 15.516 16.65 15.768 16.65C16.02 16.65 16.23 16.56 16.398 16.38C16.566 16.212 16.65 16.008 16.65 15.768C16.65 15.528 16.566 15.318 16.398 15.138ZM2.7 7.64999C2.7 6.74999 2.922 5.92199 3.366 5.16599C3.81 4.40999 4.41 3.80999 5.166 3.36599C5.922 2.92199 6.75 2.69999 7.65 2.69999C8.55 2.69999 9.378 2.92199 10.134 3.36599C10.89 3.80999 11.49 4.40999 11.934 5.16599C12.378 5.92199 12.6 6.74999 12.6 7.64999C12.6 8.54999 12.378 9.37799 11.934 10.134C11.49 10.89 10.89 11.49 10.134 11.934C9.378 12.378 8.55 12.6 7.65 12.6C6.75 12.6 5.922 12.378 5.166 11.934C4.41 11.49 3.81 10.89 3.366 10.134C2.922 9.37799 2.7 8.54999 2.7 7.64999Z"})))}},34005:(e,t,s)=>{s.d(t,{A:()=>b}),s(17046),s(29206),s(4290);var a=s(71633),n=s.n(a),i=s(97023),r=s.n(i),o=s(14778),l=s(23959),d=s(67480),c=s(71127),m=s(94231),u=s(59181),p=s(74381),g=s(53654),h=s(78451);function f(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}const E=(0,o.defineMessages)({loading:{id:"widgets.channels_input.loading",defaultMessage:"Loading"},noOptions:{id:"widgets.channels_input.empty",defaultMessage:"No channels found"}});class b extends r().PureComponent{constructor(e){super(e),f(this,"getOptionValue",(e=>e.id)),f(this,"handleInputChange",((e,t)=>{if("input-blur"===t.action&&""!==e)for(const e of this.state.options)if(this.props.inputValue===e.name)return this.onChange([...this.props.value,e],{}),void this.props.onInputChange("");"input-blur"!==t.action&&"menu-close"!==t.action&&this.props.onInputChange(e)})),f(this,"optionsLoader",((e,t)=>{const s=e=>{this.setState({options:e}),t(e)},a=this.props.channelsLoader(this.props.inputValue,s);a&&a.then&&a.then(s)})),f(this,"loadingMessage",(()=>{const e=r().createElement(o.FormattedMessage,this.props.loadingMessage);return r().createElement(g.A,{text:e})})),f(this,"NoOptionsMessage",(e=>{const t=e.selectProps.inputValue;if(!t)return null;const s=l.H.NoOptionsMessage;return r().createElement("div",{className:"channels-input__option channels-input__option--no-matches"},r().createElement(s,e,r().createElement(c.A,Object.assign({},this.props.noOptionsMessage,{values:{text:t}}))))})),f(this,"formatOptionLabel",(e=>{let t=r().createElement(u.A,{className:"public-channel-icon"});return e.type===h.YM.PRIVATE_CHANNEL&&(t=r().createElement(p.A,{className:"private-channel-icon"})),r().createElement(r().Fragment,null,t,e.display_name,r().createElement("span",{className:"channel-name"},e.name))})),f(this,"onChange",((e,t)=>{this.props.onChange&&this.props.onChange(e)})),f(this,"MultiValueRemove",(e=>{let{children:t,innerProps:s}=e;return r().createElement("div",s,t||r().createElement(m.A,null))})),f(this,"components",{NoOptionsMessage:this.NoOptionsMessage,MultiValueRemove:this.MultiValueRemove,IndicatorsContainer:()=>null}),f(this,"onFocus",(()=>{var e;null===(e=this.selectRef.current)||void 0===e||e.handleInputChange(this.props.inputValue,{action:"custom"})})),this.selectRef=r().createRef(),this.state={options:[]}}render(){var e;return r().createElement(d.Ay,{ref:this.selectRef,onChange:this.onChange,loadOptions:this.optionsLoader,isMulti:!0,isClearable:!1,className:n()("ChannelsInput",{empty:""===this.props.inputValue}),classNamePrefix:"channels-input",placeholder:this.props.placeholder,components:this.components,getOptionValue:this.getOptionValue,formatOptionLabel:null!==(e=this.props.formatOptionLabel)&&void 0!==e?e:this.formatOptionLabel,loadingMessage:this.loadingMessage,defaultOptions:!1,defaultMenuIsOpen:!1,openMenuOnClick:!1,onInputChange:this.handleInputChange,inputValue:this.props.inputValue,openMenuOnFocus:!0,onFocus:this.onFocus,tabSelectsValue:!0,value:this.props.value,"aria-label":this.props.ariaLabel,autoFocus:this.props.autoFocus})}}f(b,"defaultProps",{loadingMessage:E.loading,noOptionsMessage:E.noOptions})},85236:(e,t,s)=>{s.d(t,{A:()=>p});var a=s(62688),n=s.n(a),i=(s(3188),s(59297),s(4290),s(71633)),r=s.n(i),o=s(97023),l=s.n(o),d=s(14778),c=s(85873);function m(e,t,s){return(t=function(e){var t=function(e){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var s=t.call(e,"string");if("object"!=typeof s)return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==typeof t?t:t+""}(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}class u extends l().PureComponent{render(){const{content:e,url:t,size:s,withHover:a,className:n}=this.props,i=a?"":"no-hover",{formatMessage:o}=this.props.intl,d=t||(0,c.lt)({display_name:e});let m;return m="string"==typeof e?d?l().createElement("div",{"data-testid":"teamIconImage",className:"TeamIcon__image TeamIcon__".concat(s),"aria-label":o({id:"sidebar.team_menu.button.teamImage",defaultMessage:"{teamName} Team Image"},{teamName:e}),style:{backgroundImage:"url('".concat(d,"')")},role:"img"}):l().createElement("div",{"data-testid":"teamIconInitial",className:"TeamIcon__initials TeamIcon__initials__".concat(s),"aria-label":o({id:"sidebar.team_menu.button.teamInitials",defaultMessage:"{teamName} Team Initials"},{teamName:e}),role:"img"},e?e.replace(/\s/g,"").substring(0,2):"??"):e,l().createElement("div",{className:r()("TeamIcon TeamIcon__".concat(s),{withImage:d},n,i)},l().createElement("div",{className:"TeamIcon__content ".concat(i)},m))}}m(u,"propTypes",{url:n().oneOfType([n().string,n().oneOf([null])]),content:n().node.isRequired,size:n().oneOf(["sm","lg"]),withHover:n().bool,className:n().string}),m(u,"defaultProps",{size:"sm"});const p=(0,d.injectIntl)(u)},74290:(e,t,s)=>{s.d(t,{jd:()=>o,s9:()=>r}),s(57406);var a=s(8361),n=s(3569);const i=["mattermost-advisor"];function r(e){return e.entities.bots.accounts}const o=(0,a.Mz)("getExternalBotAccounts",r,n.lo,((e,t)=>{const s={};return Object.values(e).forEach((e=>{const a=t[e.user_id];a&&!i.includes(a.username)&&(s[e.user_id]=e)})),s}))},83949:(e,t,s)=>{function a(e){return"data"in e&&!n(e)}function n(e){return Boolean(e.error)}s.d(t,{b:()=>n,o:()=>a})},54302:(e,t,s)=>{s.d(t,{I:()=>n}),s(17046),s(36169),s(3188),s(30973);var a=s(81911);function n(){return new URLSearchParams((0,a.useLocation)().search)}},72526:(e,t)=>{var s,a;t.dQ=void 0,function(e){e.SILLY="silly",e.DEBUG="debug",e.INFO="info",e.WARN="warn",e.ERROR="error"}(s||(s={})),function(e){e.Count="count",e.LineChart="line_chart",e.DoughnutChart="doughnut_chart"}(a||(t.dQ=a={}))},9944:(e,t)=>{t.nv=void 0,t.nv={Full:"full",Partial:"partial",OnPremise:"onpremise",Metered:"metered"}},69729:(e,t)=>{t.U=function(e){return void 0!==e.display_name&&""!==e.display_name||void 0!==e.default_team_id}}}]);
//# sourceMappingURL=226.0e4a288ca7c7b45acf03.js.map

VaKeR 2022