PageSourceSearch

https://popp.net/interface/output/site-v-639240611280000000.js

js popp.net collected 2026-10-04 13:26:40 UTC 2,646,908 bytes, 643 lines download raw bytes

1!function(){t.$inject=["$translateProvider","$mdInkRippleProvider","tmhDynamicLocaleProvider"];var e=!1;try{e="true"==localStorage.getItem("digesthud")}catch(e){}function t(e,t,n){e.useStaticFilesLoader({prefix:stSiteRoot+"translations/",suffix:".json?"+languageCacheBustQs}),e.registerAvailableLanguageKeys(window.angularLangList,window.angularLangMap),"true"!==localStorage.noLanguageFallback&&e.fallbackLanguage("en"),e.determinePreferredLanguage(),e.useSanitizeValueStrategy("escape"),n.localeLocationPattern(stSiteRoot+"interface/output/angular-i18n/angular-locale_{{locale}}.js")}angular.module("smartertools",[]),angular.module("smartermail",["ngAnimate","ngMaterial","ngSanitize","ngStorage","ui.router","color.picker","angular-timeline","LocalStorageModule","pascalprecht.translate","angularBootstrapNavTree","toaster","smartertools","froala","ngMessages","tmh.dynamicLocale","mdPickers","ngTable","angular.filter","digestHud"]).config(["$qProvider",function(e){e.errorOnUnhandledRejections(!0)}]).config(t).config(["$locationProvider",function(e){e.hashPrefix("")}]).config(["$mdAriaProvider",function(e){e.disableWarnings()}]).config(["$mdInkRippleProvider",function(e){e.disableInkRipple()}]).config(["$compileProvider",function(e){debugMode?(console.log("Running in DEBUG mode. Hello o/"),console.log("To enable the Angular Digest HUD, add a localstorage variable named 'digesthud' and set it to 'true', then refresh this window."),e.debugInfoEnabled(!0)):e.debugInfoEnabled(!1)}]).config(["digestHudProvider",function(t){e&&debugMode&&(t.enable(),t.setHudPosition("bottom right"),t.numTopWatches=30,t.numDigestStats=50)}]).run(["$rootScope","$location","spinnerFactory","modalService","$transitions","$translate","claimsService","$http","$mdDialog","coreDataSettings",function(e,t,n,o,a,r,i,s,l,c){function u(e,t,n){if(e.key in t){var o=localStorage.getItem("FeatureVersionOverride");if(null!==o||i.stVersion()>t[e.key]){var a=n+e.section+(null===o?"":"/"+o);s.get(a).then(g,(function(){}))}}else s.get(n+e.section).then(g,(function(){}))}function g(t){var n=t.data.newFeatures;if(n.length>0){e.$broadcast("user-settings:changed");var o=n.length>4&&window.innerWidth>736?"~/interface/app/shared/modals/whats-new-double.dlg.html":"~/interface/app/shared/modals/whats-new-narrow.dlg.html";l.show({locals:{items:n},controller:"whatsNewDialogController",controllerAs:"ctrl",templateUrl:o,clickOutsideToClose:!1}).then((function(){}),(function(){}))}}function d(e){return e.data&&e.data.auth?e.data.auth:e.parent?d(e.parent):null}function f(){var e=localStorage.getItem("userTokens");if(!e)return!1;try{var t=JSON.parse(e),n=null,o=localStorage.getItem("ngStorage-currentUser");if(o)try{var a=JSON.parse(o);n=a&&a.username}catch(e){console.warn("[tryRestoreClaimsFromLocalStorage] bad ngStorage-currentUser",e)}if(n||(n=sessionStorage.username||null),!n)return!1;var r=(new Date).getTime(),s=t[n];return!!(s&&s.accessToken&&s.refreshToken)&&(!(!s.accessTokenExpiration||r>new Date(s.accessTokenExpiration).getTime())&&(!(!s.refreshTokenExpiration||r>new Date(s.refreshTokenExpiration).getTime())&&(sessionStorage.username=n,i.setClaims(s.accessToken),!0)))}catch(e){console.error("[tryRestoreClaimsFromLocalStorage]",e)}return!1}sessionStorage.getItem("claims")||f(),e.spinner||(e.spinner=new n),e.determinateSpinner||(e.determinateSpinner=new n,e.determinateSpinnerValue=0),window.smRsHook=e,e.$on("$locationChangeSuccess",(function(){e.actualLocation=t.path()})),a.onBefore({},(function(){return r.onReady()})),a.onBefore({to:function(e){const t=d(e);if(t){sessionStorage.getItem("claims")||f();const n="function"==typeof t?t(i,e.params):i.checkAuthFromState(t);return n||console.log(`[stateChange Redirect] Authorization required for route:${e.name} user:${i.getEmailAddress()}`),!n}return!1}},(function(e){const t=i.getDefaultRouteForUser();return e.router.stateService.target(t)})),a.onSuccess({},(function(e){const t=e.to();t.data&&t.data.whatsNew&&function(e,t){if(i.impersonating())return;if(t&&t.id)return;if(e.sysAdmin)return void s.get("~/api/v1/settings/sysadmin/user-login").then((function(t){const n=t.data.systemLogin.sysAdminSeenWhatsNew;u(e,n,"~/api/v1/settings/sysadmin/new-features/")}),(function(){}));c.init().then((function(){if(!c.userSettings||!c.userSettings.seenWhatsNew)return;const t="~/api/v1/settings/new-features/";u(e,c.userSettings.seenWhatsNew,t)}))}(t.data.whatsNew,e.params())})),a.onError({},(function(t){const n=t.error();if(!n||6!==n.type)return;const a=n.detail,r=a&&a.status?a.status+" "+a.statusText:a&&a.message||"unknown";console.error("[transition error] target:"+(t.to()&&t.to().name)+" type:"+n.type,r),e.spinner.reset(),e.determinateSpinner.reset(),o.cancelModal()})),e.$watch((function(){return t.path()}),(function(t,n){e.actualLocation===t&&o.cancelModal()}));if(/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream){var m=window.innerHeight;function h(){$("html").height("100vh"),$("html").height(window.innerHeight),m=window.innerHeight}setInterval((function(){m!=window.innerHeight&&h()}),200),$(window).on("focus",(function(){m!=window.innerHeight&&h()})),$(window).on("blur",(function(){m!=window.innerHeight&&h()}))}function p(e){sessionStorage.mouseAvailable="false",$("html").addClass("touch-only"),$("html").off("touchstart",p)}function w(e){sessionStorage.mouseAvailable="true",$("html").removeClass("touch-only"),$("html").off("pointermove",w),$("html").off("touchstart",p)}$("html").on("touchstart",p),$("html").on("pointermove",w),"false"===sessionStorage.mouseAvailable?p():"true"===sessionStorage.mouseAvailable&&w();try{!function(){for(var e=document.cookie.split(";"),t=0;t<e.length;t++){n(e[t].split("=")[0])}function n(e){var t=new Date;t.setDate(t.getDate()-1);var n=";expires="+t,o=e,a="";document.cookie=o+"="+a+n+"; path=/"}}()}catch(S){}}]).run(["customNgMessages",function(e){e.ensureTemplateCreated()}])}();
2!function(){function t(t){return t.decorator("$http",["$delegate","$log",function(t,e){var a=t.get;return t.get=function(t,e){var s=t.indexOf("app/"),i=t.indexOf("interface/app/");return 0!=s&&1!=s&&0!=i&&1!=i||-1==t.indexOf(".html")||(t+=-1===t.indexOf("?")?"?":"&",t+=htmlCacheBustQs),a(t,e)},t}])}function e(t,e,a){const s={hasDomain:!0,roles:[],claims:["nameid"]},i={roles:["DomainAdmin"],claims:[]},n={roles:["SysAdmin"],claims:[]};try{var l=window.navigator.userLanguage||window.navigator.language||"en_US";moment.locale((p=l)?p.toLowerCase().replace("_","-"):p)}catch(t){}var p;a.interceptors.push("siteRootPathInterceptor"),a.interceptors.push("authInterceptor"),e.rules.otherwise("/login"),function(t){const e=function(t,e){if(!t)return!1;const a={hasDomain:!0,roles:"domain"===e.type?["DomainAdmin"]:[],claims:["nameid"]};return t.checkAuthFromState(a)};t.state("index.settings",{url:"/settings/{type}",data:{pageTitle:"SETTINGS",auth:e}
2,views:{"mainContentView@index":{templateUrl:"app/settings/settings-main.html"}},params:{type:null}}),t.state("index.settings.user-account-profile",{url:"/account-profile",data:{pageTitle:"ACCOUNT_PROFILE"},views:{"[email protected]":{templateUrl:"app/settings/user-settings/account-profile/account-profile.html"}}}),t.state("index.settings.user-account-settings",{url:"/account-settings",data:{pageTitle:"ACCOUNT"},views:{settingsContentView:{templateUrl:"app/settings/user-settings/account-settings/account-settings.html"}}}),t.state("index.settings.user-sharing",{url:"/sharing",data:{pageTitle:"SHARING"},views:{"[email protected]":{templateUrl:"app/settings/user-settings/sharing/sharing.html"}}}),t.state("index.settings.signatures",{url:"/signatures",data:{pageTitle:"SIGNATURES"},views:{settingsContentView:{templateUrl:"app/settings/user-settings/signatures/signatures.html"}}}),t.state("index.settings.user-auto-responder",{url:"/auto-responder",data:{pageTitle:"AUTO_RESPONDER"},views:{settingsContentView:{templateUrl:"app/settings/user-settings/auto-responder/auto-responder.html"}}}),t.state("index.settings.user-trusted-senders",{url:"/trusted-senders",data:{pageTitle:"TRUSTED_SENDERS"},views:{settingsContentView:{templateUrl:"app/settings/user-settings/trusted-senders/trusted-senders.html"}}}),t.state("index.settings.user-events",{url:"/events",data:{pageTitle:"EVENTS"},views:{settingsContentView:{templateUrl:"app/settings/user-settings/events/events.html"}}}),t.state("index.settings.user-events.specific",{url:"/{id}",data:{pageTitle:"EVENT"},views:{"[email protected]":{templateUrl:"app/settings/user-settings/events/event.html"}}}),t.state("index.settings.user-calendar-settings",{url:"/calendar-settings",data:{pageTitle:"CALENDAR_SETTINGS"},views:{settingsContentView:{templateUrl:"app/settings/user-settings/calendar-settings/calendar-settings.html"}}}),t.state("index.settings.user-scheduling-settings",{url:"/scheduling-settings",data:{pageTitle:"SCHEDULING_SETTINGS"},views:{settingsContentView:{templateUrl:"app/settings/user-settings/scheduling-settings/scheduling-settings.html"}}}),t.state("index.settings.user-content-filters",{url:"/content-filters",data:{pageTitle:"CONTENT_FILTERING"},views:{settingsContentView:{templateUrl:"app/settings/user-settings/content-filters/content-filters.html"}}}),t.state("index.settings.user-content-filters.specific",{url:"/{id}",data:{pageTitle:"USER_CONTENT_FILTER"},views:{"[email protected]":{templateUrl:"app/settings/user-settings/content-filters/content-filter.html"}}}),t.state("index.settings.user-spam-filters",{url:"/spam-filters",data:{pageTitle:"SPAM_FILTERING"},views:{settingsContentView:{templateUrl:"app/settings/user-settings/spam-filters/spam-filters.html"}}}),t.state("index.settings.user-external-accounts",{url:"/connectivity",data:{pageTitle:"CONNECTIVITY"},views:{settingsContentView:{templateUrl:"app/settings/user-settings/external-accounts/external-accounts.html"}}}),t.state("index.settings.mailing-lists",{url:"/mailing-lists",data:{pageTitle:"MAILING_LISTS"},views:{settingsContentView:{templateUrl:"app/settings/shared/mailing-lists/mailing-lists.html"}}}),t.state("index.settings.mailing-lists.specific-list",{url:"/list/{mailingListId}",data:{pageTitle:"MAILINGLIST"},views:{"[email protected]":{templateUrl:"app/settings/shared/mailing-lists/list.html"}}}),t.state("index.settings.mailing-lists.specific.subscribers",{url:"/subscribers",data:{pageTitle:"SUBSCRIBERS"},views:{"[email protected]":{templateUrl:"app/settings/shared/mailing-lists/list-subscribers.html"}}}),t.state("index.settings.mailing-lists.specific.digest-subscribers",{url:"/digest-subscribers",data:{pageTitle:"DIGEST_SUBSCRIBERS"},views:{"[email protected]":{templateUrl:"app/settings/shared/mailing-lists/list-subscribers-digest.html"}}}),t.state("index.settings.mailing-lists.specific.posters",{url:"/posters",data:{pageTitle:"POSTERS"},views:{"[email protected]":{templateUrl:"app/settings/shared/mailing-lists/list-posters.html"}}}),t.state("index.settings.mailing-lists.specific.banned-users",{url:"/banned-users",data:{pageTitle:"BANNED_POSTERS"},views:{"[email protected]":{templateUrl:"app/settings/shared/mailing-lists/list-banned-users.html"}}}),t.state("index.settings.mailing-lists.specific.system-messages",{url:"/system-messages",data:{pageTitle:"MESSAGES"},views:{"[email protected]":{templateUrl:"app/settings/shared/mailing-lists/list-messages.html"}}})}(t),function(t){t.state("index.settings.domain-users-connections",{url:"/domain-users-connections",data:{pageTitle:"USER_CONNECTIONS"},views:{settingsContentView:{templateUrl:"app/settings/domain-settings/users-connections/users-connections.html"}}}),t.state("index.settings.domain-users-statuses",{url:"/domain-users-statuses",data:{pageTitle:"USER_STATUSES"},views:{settingsContentView:{templateUrl:"app/settings/domain-settings/users-statuses/users-statuses.html"}}}
2),t.state("index.settings.domain-general-settings",{url:"/domain-general-settings",data:{pageTitle:"DOMAIN_SETTINGS"},views:{"[email protected]":{templateUrl:"app/settings/domain-settings/general-settings/general-settings.html"}}}),t.state("index.settings.domain-email-customization",{url:"/domain-email-customization",data:{pageTitle:"DOMAIN_SIGNATURES"},views:{settingsContentView:{templateUrl:"app/settings/domain-settings/email-customization/email-customization.html"}}}),t.state("index.settings.domain-spam-filtering",{url:"/domain-spam-filtering",data:{pageTitle:"DOMAIN_SPAM_FILTERING"},views:{settingsContentView:{templateUrl:"app/settings/domain-settings/spam-filtering/spam-filtering.html"}}}),t.state("index.settings.domain-content-filtering",{url:"/domain-content-filtering",data:{pageTitle:"DOMAIN_CONTENT_FILTERING"},views:{settingsContentView:{templateUrl:"app/settings/domain-settings/content-filters/content-filters.html"}}}),t.state("index.settings.domain-content-filtering.specific",{url:"/{contentfilterid}",data:{pageTitle:"DOMAIN_CONTENT_FILTER"},views:{"[email protected]":{templateUrl:"app/settings/domain-settings/content-filters/content-filter.html"}}}),t.state("index.settings.domain-activesync",{url:"/domain-activesync",data:{pageTitle:"EAS_MAILBOXES"},views:{settingsContentView:{templateUrl:"app/settings/domain-settings/activesync/activesync.html"}}}),t.state("index.settings.domain-users",{url:"/domain-accounts",data:{pageTitle:"ACCOUNTS"},views:{settingsContentView:{templateUrl:"app/settings/domain-settings/users/accounts.html"}}}),t.state("index.settings.user-defaults",{url:"/defaults",data:{pageTitle:"USER_DEFAULTS"},views:{settingsContentView:{templateUrl:"app/settings/domain-settings/user-defaults/defaults.html"}}}),t.state("index.settings.domain-users.specific",{url:"/user/{selectedUserId}?isNew",data:{pageTitle:"USER"},views:{"[email protected]":{templateUrl:"app/settings/domain-settings/users/user.html"}}}),t.state("index.settings.domain-users.specific-list",{url:"/list/{mailingListId}",data:{pageTitle:"MAILINGLIST"},views:{"[email protected]":{templateUrl:"app/settings/shared/mailing-lists/list.html"}}}),t.state("index.settings.domain-user-aliases",{url:"/domain-user-aliases",data:{pageTitle:"ALIASES"},views:{settingsContentView:{templateUrl:"app/settings/domain-settings/user-aliases/aliases.html"}}}),t.state("index.settings.domain-message-archive",{url:"/message-archive-search",data:{pageTitle:"MESSAGE_ARCHIVE_SEARCH"},views:{settingsContentView:{templateUrl:"app/settings/shared/message-archiving/message-archive-section.html"}}}),t.state("index.settings.domain-message-archive.search",{url:"/message-archive-search/{searchGuid}",data:{pageTitle:"MESSAGE_ARCHIVE_SEARCH_RESULTS"},views:{"[email protected]":{templateUrl:"app/settings/shared/message-archiving/message-archive-search-view.html"}}}),t.state("index.settings.domain-password-requirements",{url:"/password-requirements",data:{pageTitle:"SYSADMIN_SECURITY_PASSWORD_REQUIREMENTS"},views:{settingsContentView:{templateUrl:"app/settings/shared/password-requirements/password-requirements.html"}}}),t.state("index.domain-marketplace",{url:"/domain-marketplace",data:{pageTitle:"MARKET_PLACE",auth:{roles:["DomainAdmin"],claims:["nameid"]}},views:{"mainContentView@index":{templateUrl:"app/marketplace/marketplace-main.html",controller:"domainSettingsMarketplaceSettingsController",controllerAs:"mainSetCtrl"}},params:{type:null}}).state("index.domain-marketplace.overview",{url:"/admin",data:{pageTitle:"MARKET_PLACE_SETTINGS"},views:{"[email protected]":{templateUrl:"app/marketplace/marketplace-admin.html"}},params:{type:null,sort:0}}).state("index.domain-marketplace.ai_integration",{url:"/ai",data:{pageTitle:"MARKET_PLACE_SETTINGS"},views:{"[email protected]":{templateUrl:"app/marketplace/marketplace-admin.html"}},params:{type:null,sort:1}}).state("index.domain-marketplace.document_management",{url:"/document_management",data:{pageTitle:"MARKET_PLACE_SETTINGS"},views:{"[email protected]":{templateUrl:"app/marketplace/marketplace-admin.html"}},params:{type:null,sort:2}}).state("index.domain-marketplace.file_storage",{url:"/file_storage",data:{pageTitle:"MARKET_PLACE_SETTINGS"},views:{"[email protected]":{templateUrl:"app/marketplace/marketplace-admin.html"}},params:{type:null,sort:3}}).state("index.domain-marketplace.email_client",{url:"/email_client",data:{pageTitle:"MARKET_PLACE_SETTINGS"},views:{"[email protected]":{templateUrl:"app/marketplace/marketplace-admin.html"}},params:{type:null,sort:4}}).state("index.domain-marketplace.conferencing",{url:"/conferencing",data:{pageTitle:"MARKET_PLACE_SETTINGS"},views:{"[email protected]":{templateUrl:"app/marketplace/marketplace-admin.html"}},params:{type:null,sort:5}}).state("index.domain-marketplace.chat_providers",{url:"/chat_providers",data:{pageTitle:"MARKET_PLACE_SETTINGS"},views:{"[email protected]":{templateUrl:"app/marketplace/marketplace-admin.html"}},params:{type:null,sort:6}}),t.state("index.settings.domain-emclient-licenses",{url:"/emclient-licenses",data:{pageTitle:"EMCLIENT",auth:{roles:["DomainAdmin"],claims:["eMClientAdmin"]}},views:{settingsContentView:{templateUrl:"app/settings/domain-settings/emclient/emclient-licenses.html"}}}),t.state("index.settings.domain-events",{url:"/domain-events",data:{pageTitle:"EVENTS_DOMAIN_EVENTS"},views:{settingsContentView:{templateUrl:"app/settings/domain-settings/events/events.html"}}}),t.state("index.settings.domain-events.specific",{url:"/{domainEventId}",data:{pageTitle:"EVENTS_DOMAIN_EVENT"},views:{"[email protected]":{templateUrl:"app/settings/domain-settings/events/event.html"}}}),t.state("index.settings.domain-sharing",{url:"/domain-sharing",data:{pageTitle:"SHARING"},views:{settingsContentView:{templateUrl:"app/settings/domain-settings/shared-resources/shared-resources.html"}}}),t.state("index.settings.domain-chat-search",{url:"/domain-chat-search",views:{settingsContentView:{templateUrl:"app/settings/domain-settings/c
2hat-search/chat-search.html",data:{pageTitle:"CHAT"}}}})}(t),t.state("login",{url:"/login",templateUrl:"app/authentication/login.html",data:{pageTitle:"LOGIN"}}),t.state("impersonation-bootstrap",{url:"/impersonation/bootstrap",template:"<div ng-controller='impersonationBootstrapController'></div>",data:{pageTitle:"LOGIN"}}),t.state("disconnected",{url:"/disconnected",template:"<div ng-controller='disconnectedController as vm'><div class='login-wrapper full-screen-bg-image'><div class='login-backdrop'><div class='login-modal'><div class='maintainance'><div class='container'><i class='toolsicon toolsicon-warning_fill'></i></div></div><p>{{::'LOGIN_PAGE_MAINTENANCE_BODY'|translate}}</p></div></div></div></div>"}),t.state("popout",{abstract:!0,url:"",templateUrl:"app/root/popout.html"}),t.state("popout.emailCompose",{url:"/popout/email/compose/{packet}",templateUrl:"app/email/compose/popout.html",data:{pageTitle:"EMAIL",auth:s}}),t.state("popout.emailView",{url:"/popout/email/view/{packet}",templateUrl:"app/email/email-popout.html",data:{pageTitle:"EMAIL",auth:s}}),t.state("popout.emailSpoolView",{url:"/popout/email/view-spool/{packet}",templateUrl:"app/email/spool/popout.html",data:{pageTitle:"EMAIL",auth:n}}),t.state("popout.emailArchiveView",{url:"/popout/email/view-archive/{packet}",templateUrl:"app/email/archive/popout.html",data:{pageTitle:"EMAIL",auth:i}}),t.state("popout.noteNew",{url:"/popout/note/new",templateUrl:"app/notes/note-view.html",data:{pageTitle:"NOTE",auth:s}}),t.state("popout.note",{url:"/popout/note/{id}/{sourceId}/{sourceOwner}",templateUrl:"app/notes/note-view.html",data:{pageTitle:"NOTE",auth:s}}),t.state("popout.newOnlyOfficedoc",{url:"/popout/filestorage/newOnlyOfficeDoc/",templateUrl:"app/file-storage/newOnlyOfficeDoc.html",data:{pageTitle:"New Document",auth:s}}),t.state("popout.taskNew",{url:"/popout/task/new",templateUrl:"app/tasks/task-view.html",data:{pageTitle:"TASK",auth:s}}),t.state("popout.task",{url:"/popout/task/{taskId}/{sourceId}/{owner}",templateUrl:"app/tasks/task-view.html",data:{pageTitle:"TASK",auth:s}}),t.state("popout.chat",{url:"/popout/chat",templateUrl:"app/chats/chat-view.html",data:{pageTitle:"CHAT",auth:s}}),t.state("popout.viewNew",{url:"/popout/appointment/new",params:{owner:null,calId:null,id:null,data:{start:null}},templateUrl:"app/calendars/event-view.html",data:{pageTitle:"CALENDAR",auth:s}}),t.state("popout.calEvent",{url:"/popout/appointment/{owner}/{calId}/{id:any}",params:{data:{start:null}},templateUrl:"app/calendars/event-view.html",data:{pageTitle:"APPOINTMENT",auth:s}}),t.state("popout.scheduleAppoint",{url:"/popout/schedule/appointment",params:{data:{start:null}},templateUrl:"app/sections/schedule-appointment/modals/schedule-appointment.dlg.html",data:{pageTitle:"SCHEDULE"}}),t.state("popout.contact",{url:"/popout/contact/{id}/{sourceOwner}/{sourceId}",templateUrl:"app/contacts/contact-view.html",data:{pageTitle:"CONTACT",auth:s}}),t.state("popout.contactNew",{url:"/popout/contact/{id}",templateUrl:"app/contacts/contact-view.html",data:{pageTitle:"CONTACT",auth:s}}),t.state("popout.contactGroup",{url:"/popout/contactGroup/{id}/{sourceOwner}/{sourceId}",templateUrl:"app/contacts/contact-group-view.html",data:{pageTitle:"CONTACT",auth:s}}),t.state("popout.contactGroupNew",{url:"/popout/contactGroup/{id}",templateUrl:"app/contacts/contact-group-view.html",data:{pageTitle:"CONTACT",auth:s}}),t.state("popout.chattranscript",{url:"/popout/chat-search/transcript/{username}/{id}/{dtStart}/{dtStop}",templateUrl:"app/settings/domain-settings/chat-search/chat-transcript.html",data:{pageTitle:"CHAT",auth:s}}),t.state("popout.meetingNew",{url:"/popout/meeting/{id}",templateUrl:"app/meetings/meeting-view.html",data:{pageTitle:"MEETING",auth:s}}),t.state("popout.notifications",{url:"/popout/notifications",templateUrl:"app/notifications/notifications.html",data:{pageTitle:"NOTIFICATIONS",auth:{roles:[],claims:["nameid"]}}}),t.state("index.sysadmin-notifications",{url:"/notifications",data:{pageTitle:"NOTIFICATIONS",auth:n},views:{"mainContentView@index":{templateUrl:"app/notifications/notifications.html",data:{pageTitle:"NOTIFICATIONS"}}}}),t.state("popout.loginPreview",{url:"/popout/login-preview",templateUrl:"app/shared/login-preview.html",data:{pageTitle:"LOGIN_PREVIEW",auth:i}}),t.state("popout.emailSearch",{url:"/popout/email-search",templateUrl:"app/search/search-view.html",data:{pageTitle:"ADVANCED_SEARCH",auth:s}}),t.state("index",{abstract:!0,url:"",views:{"@":{templateUrl:"app/root/main.html"}},data:{auth:s}}),t.state("index.email",{url:"/email",views:{"mainContentView@index":{templateUrl:"app/email/email-section.html",data:{pageTitle:"EMAIL"}}}}),t.state("index.chat",{url:"/chat",views:{"mainContentView@index":{templateUrl:"app/chats/chat-section.html",data:{pageTitle:"CHAT"}}}}),t.state("index.meetings",{url:"/meetings",views:{"mainContentView@index":{templateUrl:"app/meetings/meetings-section.html",data:{pageTitle:"MEETINGS"}}}}),t.state("index.contacts",{url:"/contacts",views:{"mainContentView@index":{templateUrl:"app/contacts/contacts.html",data:{pageTitle:"CONTACTS",selectedCard:{}}}}}),t.state("index.contacts.view",{url:"/{id}/{source}",views:{"mainContentView@index":{templateUrl:"app/contacts/contact-view.html",data:{pageTitle:"CONTACTS"}}}}),t.state("index.calendar",{url:"/calendar",views:{"mainContentView@index":{templateUrl:"app/calendars/calendar.html",data:{pageTitle:"CALENDAR"}}}}),t.state("index.calendar.view",{url:"/:owner/:calId/:id",params:{data:{start:null}},views:{"mainContentView@index":{templateUrl:"app/calendars/event-view.html",data:{pageTitle:"CALENDAR"}}}}),t.state("index.calendar.viewNew",{url:"/new",params:{owner:null,calId:null,id:null,data:{start:null}},views:{"mainContentView@index":{templateUrl:"app/calendars/event-view.html",data:{pageTitle:"CALENDAR"}}}}),t.state("index.calendar.viewTask",{url:"/task/{id}",views:{"mainContentView@index":{templateUrl:"app/tasks/task-view.html",data:{pageTitle:"TASKS"}}}}),t.state("index.tasks",{url:"/tasks",views:{"mainContentView@index":{templateUrl:"app/tasks/tasks.html",data:{pageTitle:"TASKS"}}}}),t.state("index.tasks.view",{url:"/{id}",views:{"mainContentView@index":{templateUrl:"app/tasks/task-view.html",data:{pageTitle:"TASKS"}}}}),t.state("index.notes",{url:"/notes",views:{"mainContentView@index":{templateUrl:"app/notes/notes.html",data:{pageTitle:"NOTES"}}}}),t.state("index.notes.view",{url:"/{id}",views:{"mainContentView@index":{templateUrl:"app/notes/note-view.html",data:{pageTitle:"NOTES"}}}}),t.state("index.rss-feeds",{url:"/rss-feeds",views:{"mainContentView@index":{templateUrl:"app/rss-feeds/rss-feeds.html",data:{pageTitle:"RSS_FEEDS"}}}}),t.state("index.file-storage",{url:"/file-storage",views:{"mainContentView@index":{templateUrl:"app/file-storage/file-storage.html",data:{pageTitle:"FILE_STORAGE"}}}}),t.state("index.reports",{url:"/reports",data:{pageTitle:"REPORTS",auth:{roles:[],claims:["nameid"]}},views:{"mainContentView@index":{templateUrl:"app/reports/reports.html"}}}),t.state("index.reports.reports-summary",{url:"/{type}",data:{pageTitle:"REPORTS"},views:{"[email protected]":{templateUrl:"app/reports/reports-summary.html"}},params:{type:null}}),t.state("index.reports.reports-details",{url:"/{type}/{report}?return={returnpath}",views:{"[email protected]":{templateUrl:"app/reports/report-details.html",data:{pageTitle:"REPORTS"}}},params:{type:null,report:null}}),t.state("index.reports.reports-details-sources",{url:"/{type}/{report}/{source}",views:{"[email protected]":{templateUrl:"app/reports/report-details.html",data:{pageTitle:"REPORTS"}}},params:{type:null,report:null}}),t.state("index.reports.domain-reports-summary",{url:"/domain/{type}",data:{pageTitle:"REPORTS"},views:{"[email protected]":{templateUrl:"app/reports/reports-summary.html"}},params:{type:null}}),t.state("index.reports.domain-reports-details",{url:"/{type}/{report}?return={returnpath}",views:{"[email protected]":{templateUrl:"app/reports/report-details.html",data:{pageTitle:"REPORTS"}}},params:{type:null,report:null}}),t.state("index.reports.dashboard-server",{url:"/dashboard/server",views:{"[email protected]":{templateUrl:"app/reports/dashboard.html",data:{pageTitle:"SERVER_HEALTH"}}},params:{type:null}}),t.state("index.marketplace",{url:"/marketplace",data:{pageTitle:"MARKET_PLACE",auth:{roles:[],claims:["nameid"]}},views:{"mainContentView@index":{templateUrl:"app/marketplace/marketplace-main.html",controller:"domainSettingsMarketplaceController",controllerAs:"mainSetCtrl"}},params:{type:null}}).state("index.marketplace.overview",{url:"/overview",data:{pageTitle:"MARKET_PLACE"},views:{"[email protected]":{templateUrl:"app/marketplace/marketplace.html"}},params:{type:null}}).state("index.marketplace.ai_integration",{url:"/AI",data:{pageTitle:"MARKET_PLACE_SETTINGS"},views:{"[email protected]":{templateUrl:"app/marketplace/marketplace.html"}},params:{type:null,sort:1}}).state("index.marketplace.document_management",{url:"/document_management",data:{pageTitle:"MARKET_PLACE_SETTINGS"},views:{"[email protected]":{templateUrl:"app/marketplace/marketplace.html"}},params:{type:null,sort:2}}).state("index.marketplace.file_storage",{url:"/file_storage",data:{pageTitle:"MARKET_PLACE_SETTINGS"},views:{"[email protected]":{templateUrl:"app/marketplace/marketplace.html"}},params:{type:null,sort:3}}).state("index.marketplace.email_client",{url:"/email_client",data:{pageTitle:"MARKET_PLACE_SETTINGS"},views:{"[email protected]":{templateUrl:"app/marketplace/marketplace.html"}},params:{type:null,sort:4}}).state("index.marketplace.conferencing",{url:"/conferencing",data:{pageTitle:"MARKET_PLACE_SETTINGS"},views:{"[email protected]":{templateUrl:"app/marketplace/marketplace.html"}},params:{type:null,sort:5}}).state("index.marketplace.chat_providers",{url:"/chat_providers",data:{pageTitle:"MARKET_PLACE_SETTINGS"},views:{"[email protected]":{templateUrl:"app/marketplace/marketplace.html"}},params:{type:null,sort:6}})}e.$inject=["$stateProvider","$urlServiceProvider","$httpProvider"],t.$inject=["$provide"],angular.module("smartermail").config(e).config(t).run(["$rootScope","$state",function(t,e){t.$
2state=e}])}();
3jQuery.fn.extend({insertAtCaret:function(e,t){return this.each((function(n){if(document.selection)this.focus(),sel=document.selection.createRange(),sel.text=e,this.focus();else if(this.selectionStart||"0"==this.selectionStart){var r=this.selectionStart,o=this.selectionEnd,i=this.scrollTop;this.value=this.value.substring(0,r-t)+e+this.value.substring(o,this.value.length),this.focus(),this.selectionStart=r+e.length-t,this.selectionEnd=r+e.length-t,this.scrollTop=i}else this.value+=e,this.focus()}))}}),jQuery.fn.extend({htmlToPlainText:function(e){return e.replace(/<br\s*[\/]?>/gi,"\n").replace(/<\/div>/gi,"\n").replace(/<\/li>/gi,"\n").replace(/<\/ul>/gi,"\n").replace(/<\/p>/gi,"\n").replace(/<li>/gi,"  *  ").replace(/<[^>]*>/g,"")}}),jQuery.fn.extend({getSelectionCoords:function(e){var t,n,r,o=(e=e||window).document,i=o.selection,a=0,s=0;try{if(i)"Control"!=i.type&&((t=i.createRange()).collapse(!0),a=t.boundingLeft,s=t.boundingTop);else if(e.getSelection&&(i=e.getSelection()).rangeCount&&((t=i.getRangeAt(0).cloneRange()).getClientRects&&(t.collapse(!0),(n=t.getClientRects()).length>0&&(r=n[0]),a=r.left,s=r.top),0==a&&0==s)){var l=o.createElement("span");if(l.getClientRects){l.appendChild(o.createTextNode("​")),t.insertN
3ode(l),a=(r=l.getClientRects()[0]).left,s=r.top;var m=l.parentNode;m.removeChild(l),m.normalize()}}return{x:a,y:s}}catch(e){return{x:0,y:0}}}}),jQuery.extend({shadeColor:function(e,t){var n=parseInt(e.slice(1),16),r=t<0?0:255,o=t<0?-1*t:t,i=n>>16,a=n>>8&255,s=255&n;return"#"+(16777216+65536*(Math.round((r-i)*o)+i)+256*(Math.round((r-a)*o)+a)+(Math.round((r-s)*o)+s)).toString(16).slice(1)}}),jQuery.extend({getFriendlyDate:function(e){return moment.utc(e,"YYYY-MM-DD HH:mm").local().calendar(null,{sameDay:"[Today] h:mma - M.D.YYYY",nextDay:"[Tomorrow] h:mma - M.D.YYYY",nextWeek:"dddd h:mma - M.D.YYYY",lastDay:"[Yesterday] h:mma - M.D.YYYY",lastWeek:"[Last] dddd h:mma - M.D.YYYY",sameElse:"dddd h:mma - M.D.YYYY"})}}),jQuery.extend({getFriendlyTimespan:function(e,t){var n=moment(e,"YYYY-MM-DD HH:mm:ss"),r=(null!=t?moment(e,"YYYY-MM-DD HH:mm:ss"):moment(),n.diff(t));r<0&&(r*=-1);var o=moment.duration(r);return o.years()>0?moment.duration(o).format("y[y] M[M]"):o.months()>0?moment.duration(o).format("M[M] d[d]"):o.days()>0?moment.duration(o).format("d[d] h[h]"):o.hours()>0?moment.duration(o).format("h[h] m[m]"):moment.duration(o).format("m[m] s[s]")}}),_.mixin({trim:function(e,t){return e.replace(new RegExp("^["+t+"]+|["+t+"]+$","g"),"")},clean:function(e){return e.trim().replace(/\s\s+/g," ")}});
4function getTimeSpanString(o,e){var n=864e5,t=36e5,a=o-e,r=Math.floor(a/n);a-=r*n;var c=Math.floor(a/t);a-=c*t;var f=Math.floor(a/6e4);a-=6e4*f;var s=Math.floor(a/1e3);a-=1e3*s;return r>0?r+"d "+c+"h "+f+"m":c>0?c+"h "+f+"m "+s+"s":f>0?f+"m "+s+"s":s+"s"}function utf8ToBase64(o){const e=encodeURIComponent(o),n=unescape(e);return window.btoa(n)}function base64ToUtf8(o){const e=window.atob(o),n=escape(e);return decodeURIComponent(n)}
5!function(){"use strict";function e(e,n,i,o,a,t,r,d,s,l,g,c,m,u){var f=this;function v(){f.started&&(m.userLogout(),f.started=!1)}async function R(){l.reset(),u.invalidateCategories(),u.init(),e.$broadcast("categoriesUpdated")}f.started=!1,f.start=async function(n){if(f.started)return;f.started=!0,m.coreDataListener=f;try{await m.init(),n&&i.loadMailTree(null,!0).then((()=>e.$broadcast("mail.reloadSources")),(()=>{})),c.setSignalRCallback(v)}catch(e){console.warn("SignalR Failure",e),f.started=!1}},f.onDisconnected=()=>f.started=!1,e.$on("signalR.mailHub.client.categoriesModified",R),e.$on("signalR.mailHub.client.contactsDeleted",(function(e,n){var i=moment().diff(r.ignoreContactRemoved.requested);i<2e3||i<1e3&&r.ignoreContactRemoved.requested>r.ignoreContactRemoved.ignored?r.ignoreContactRemoved.ignored=moment():r.deleteContacts(n.owner,n.contactIds)})),e.$on("signalR.mailHub.client.contactsModified",(function(e,n){var i=moment().diff(r.ignoreContactModified.requested);if(i<2e3||i<1e3&&r.ignoreContactModified.requested>r.ignoreContactModified.ignored)return void(r.ignoreContactModified.ignored=moment());var o=[];angular.forEach(n,(function(e){-1===o.indexOf(e.source)&&(o.push(e.source),r.modifyContact(e.source,e.id))}))})),e.$on("signalR.mailHub.client.disposableAddressModified",(function(){e.$broadcast("disposableAddressModified")})),e.$on("signalR.mailHub.client.eventDeleted",(function(e,n){var i=moment().diff(o.ignoreCalendarEventRemoved.requested);i<2e3||i<1e3&&o.ignoreCalendarEventRemoved.requested>o.ignoreCalendarEventRemoved.ignored?o.ignoreCalendarEventRemoved.ignored=moment():o.removeCalendarEvents(n)})),e.$on("signalR.mailHub.client.eventModified",(function(e,n){var i=moment().diff(o.ignoreCalendarEventModified.requested);i<2e3||i<1e3&&o.ignoreCalendarEventModified.requested>o.ignoreCalendarEventModified.ignored?o.ignoreCalendarEventModified.ignored=moment():angular.forEach(n,(function(e){o.loadCalendarEvents(e.source,e.id)}))})),e.$on("signalR.mailHub.client.filesAdded",(function(e,n){var i=moment().diff(s.ignoreFileAdds.requested);i<2e3||i<1e3&&s.ignoreFileAdds.requested>s.ignoreFileAdds.ignored?s.ignoreFileAdds.ignored=moment():s.addFiles(n)})),e.$on("signalR.mailHub.client.filesDeleted",(function(e,n){var i=moment().diff(s.ignoreFileDeletes.requested);i<2e3||i<1e3&&s.ignoreFileDeletes.requested>s.ignoreFileDeletes.ignored?s.ignoreFileDeletes.ignored=moment():s.removeFiles(n)})),e.$on("signalR.mailHub.client.filesModified",(function(e,n){var i=moment().diff(s.ignoreFileChanges.requested);i<2e3||i<1e3&&s.ignoreFileChanges.requested>s.ignoreFileChanges.ignored?s.ignoreFileChanges.ignored=moment():s.modifyFiles(n)})),e.$on("signalR.mailHub.client.fileStorageFolderChange",(function(e,n){
5n&&s.folderChange(n)})),e.$on("signalR.mailHub.client.folderChange",(function(n){Date.now()-i.ignoreFolderUpdate.requested<1e4&&i.ignoreFolderUpdate.requested>i.ignoreFolderUpdate.ignored?i.ignoreFolderUpdate.ignored=Date.now():i.loadMailTree(null,!0).then((()=>e.$broadcast("mail.reloadSources")),(()=>{}))})),e.$on("signalR.mailHub.client.galUpdate",(function(e,i){i.forEach((function(e){e.email==n.user.emailAddress&&n.user.refreshPictureUrl()})),r.modifyGalContact("gal")})),e.$on("signalR.mailHub.client.logout",(function(){c.Logout("core data service (onLogout)")})),e.$on("signalR.mailHub.client.mailAdded",(function(n,o){i.addMailItem(o),e.$broadcast("mailListAdded",o)})),e.$on("signalR.mailHub.client.mailMigrationUpdate",(function(e,n){g.settingsData.migrationStatus=n})),e.$on("signalR.mailHub.client.mailModified",(function(n,o){i.modifiedMailItem(o),e.$broadcast("mailListModified",o)})),e.$on("signalR.mailHub.client.mailRemoved",(function(n,o){i.removedMailItem(o),e.$broadcast("mailListRemoved",o)})),e.$on("signalR.mailHub.client.meetingDeleted",(function(e,n){var i=moment().diff(s.ignoreFolderChanges.requested);i<2e3||i<1e3&&s.ignoreFolderChanges.requested>s.ignoreFolderChanges.ignored?s.ignoreFolderChanges.ignored=moment():n&&s.removeMeetingFolders([n])})),e.$on("signalR.mailHub.client.messageFlagChange",(function(e,n){})),e.$on("signalR.mailHub.client.notesDeleted",(function(e,n){var i=moment().diff(a.ignoreNoteRemoved.requested);i<2e3||i<1e3&&a.ignoreNoteRemoved.requested>a.ignoreNoteRemoved.ignored?a.ignoreNoteRemoved.ignored=moment():a.deleteNotes(n.owner,n.uids)})),e.$on("signalR.mailHub.client.notesModified",(function(e,n){var i=moment().diff(a.ignoreNoteModified.requested);if(i<2e3||i<1e3&&a.ignoreNoteModified.requested>a.ignoreNoteModified.ignored)return void(a.ignoreNoteModified.ignored=moment());angular.forEach(n,(function(e){a.modifyNote(e.source,e.sourceId,e.id)}))})),e.$on("signalR.mailHub.client.rssContentsUpdated",(function(e,n){t.fireRssContentsUpdated(n)})),e.$on("signalR.mailHub.client.settingsModified",(function(e,n){o.resetSources()})),e.$on("signalR.mailHub.client.settingsModified_byAdmin",(function(n,i){if(e.$broadcast("user-settings:changed"),!i.language)return;location.reload()})),e.$on("signalR.mailHub.client.sharesChanged",(function(e,n){switch(n.shareType){case"calendar":o.reloadOnEnterCalendar=!0;break;case"mail":i.reloadMailTreeOnEnter=!0;break;case"contacts":r.reloadOnEnter=!0;break;case"tasks":d.reloadOnEnter=!0;break;case"notes":a.reloadOnEnter=!0;break;default:n.shareType||(o.reloadOnEnterCalendar=!0,i.reloadMailTreeOnEnter=!0,r.reloadOnEnter=!0,a.reloadOnEnter=!0,d.reloadOnEnter=!0)}R()})),e.$on("signalR.mailHub.client.tasksDeleted",(function(n,i){var a=moment().diff(d.ignoreTaskRemoved.requested);a<2e3||a<1e3&&d.ignoreTaskRemoved.requested>d.ignoreTaskRemoved.ignored?d.ignoreTaskRemoved.ignored=moment():(o.removeCalendarTasks(i.owner,i.taskIds),d.removeTasksSignal(i.owner,i.taskIds));e.$broadcast("mail.refreshEmailTask")})),e.$on("signalR.mailHub.client.tasksModified",(function(n,i){var a=moment().diff(d.ignoreTaskModified.requested);a<2e3||a<1e3&&d.ignoreTaskModified.requested>d.ignoreTaskModified.ignored?d.ignoreTaskModified.ignored=moment():(o.loadCalendarTasks(i.source,i.id),d.modifyTasksSignal(i.source,i.id));e.$broadcast("mail.refreshEmailTask")}))}e.$inject=["$rootScope","userDataService","coreDataMail","coreDataCalendar","coreDataNotes","coreDataRss","coreDataContacts","coreDataTasks","coreDataFileStorage","coreDataCategories","coreDataSettings","AuthenticationService","signalrHubManager","apiCategories"],angular.module("smartermail").service("coreDataListener",e)}();
6!function(){"use strict";function t(t,e,n,i,o,s,r,a,u,h,l,p,c,f,d,m,g,D,w,S,C){var v,x=this,O=!1;this.isInitialized=function(){return O},x.generateGuid=function(){function t(t){let e="";for(let n=0;n<t;n++)e+="0123456789abcdef"[Math.floor(16*Math.random())];return e}return t(8)+"-"+t(4)+"-"+t(4)+"-"+t(4)+"-"+t(12)},x.customHelpInfo={text:"",url:""},this.init=function(e){if(e=e||{},v)return v.promise;if(O)return n.when();var S=(v=n.defer()).promise;t.isPopout=-1!=window.location.href.indexOf("#/popout/"),t.isPopout||i.getPopoutData(),e.showSpinner&&(t.spinner.reset(),t.spinner.show()),x.reset();var A=[];return A.push(y()),A.push(o.init()),n.all(A).then((function(){A.length=0,o.user.isSysAdmin?(A.push(m.init()),A.push(g.init(
6)),A.push(D.init()),n.all(A).then((function(){e.showSpinner&&t.spinner.hide(),d.start(),O=!0,v.resolve(),v=null}),(function(n){e.showSpinner&&t.spinner.hide(),v.reject(n),v=null}))):(window.location.href.indexOf("/popout/note")>0?(A.push(a.init()),A.push(w.init())):window.location.href.indexOf("/popout/task")>0?(A.push(h.init()),A.push(w.init())):window.location.href.indexOf("/popout/appointment")>0?(A.push(s.init()),A.push(w.init())):window.location.href.indexOf("/popout/contact")>0?(A.push(c.init()),A.push(r.init()),A.push(C.init())):window.location.href.indexOf("/popout/settings/connect")>0||window.location.href.indexOf("/popout/chat/transcript")>0||(A.push(c.init()),o.user.isDomainAdmin&&A.push(f.init()),n.all(A).then((function(){A.length=0,A.push(s.init()),A.push(r.init()),A.push(a.init()),A.push(u.init()),A.push(h.init()),A.push(l.init()),A.push(p.init()),A.push(C.init())}),(function(n){e.showSpinner&&t.spinner.hide(),v.reject(n),v=null}))),n.all(A).then((function(){e.showSpinner&&t.spinner.hide(),d.start(),O=!0,v.resolve(),v=null}),(function(n){e.showSpinner&&t.spinner.hide(),v.reject(n),v=null})))}),(function(t){v.reject(t),v=null})),t.$on("customHelpUpdated",F),S},this.reset=function(){o.reset(),c.reset(),f.reset(),s.reset(),r.reset(),a.reset(),u.reset(),h.reset(),l.reset(),m.reset(),g.reset(),D.reset(),p.reset(),w.reset(),t.unreadEmailCount=-1,O=!1},this.highAvailabilityId=()=>c.settingsData.highAvailabilityId,this.user=o.user,this.baseUrl=window.location.href.substring(0,window.location.href.indexOf("/interface/root#")),this.defaultColors=["#C6DE70","#F6ED6E","#7FC56F","#FDC66C","#8AD1CB","#F59668","#559CD4","#F4818E","#A9A6D3","#E695C0"];var A=Math.floor(Math.random()*this.defaultColors.length);function y(){return e.get("~/api/v1/settings/company-help").then((function(e){x.customHelpInfo={text:e.data.results[0],url:e.data.results[1]},t.$broadcast("loadCustomHelp")}),(function(t){x.customHelpInfo={text:"",url:""}}))}function F(t){y()}this.nextCalendarColor=function(){return A=(A+1)%x.defaultColors.length,x.defaultColors[A]},this.getToken=function(){return i.getToken()},S.onStart({},(function(){$(".dz-hidden-input").remove()})),this.getPendingDomainOffers=function(){const t=this.user.isSysAdmin?m.getPendingDomainOffers(this.user.username).map((t=>t.type)):this.user.isDomainAdmin?f.domainData.offersStatus.filter((t=>!t.configured&&!t.dismissedUsers.includes(this.user.username))).map((t=>t.type)):[],e=sessionStorage.offersLoaded?JSON.parse(sessionStorage.offersLoaded):{};return t.filter((t=>!e[t]))}}t.$inject=["$rootScope","$http","$q","authStorage","userDataService","coreDataCalendar","coreDataContacts","coreDataNotes","coreDataMail","coreDataTasks","coreDataFileStorage","coreDataRss","coreDataSettings","coreDataDomainSettings","coreDataListener","coreDataSysAdminSettings","coreDataLicensing","coreDataSpool","coreDataCategories","$transitions","apiCategories"],angular.module("smartermail").service("coreData",t)}();
7!function(){"use strict";function t(t,e,i,a,n,s){this.invalidateAll=function(){s.$reset()}}t.$inject=["$rootScope","$log","$translate","$http","$q","$sessionStorage"],angular.module("smartermail").service("apiBase",t)}();
8!function(){"use strict";function e(e,t,n,o,i,a,s,r,l,c,u,d,g,f,v,p,h,m,S,w){var T=null,A=null,L=null,k=null,C=null;a.$on("Interceptor:ServiceDown",(function(e){P.loginSettings=null}));var P={loginSettings:null,loadLoginSettings:function(){return T?T.promise:P.loginSettings?s.when(P.loginSettings):(T=s.defer(),e.get("~/api/v1/auth/login-settings").then((function(e){"loading"!==e.data?(P.loginSettings=e.data,T.resolve(P.loginSettings)):T.resolve(e.data)}),(function(e){T.reject(e)})).finally((function(){T=null})),T.promise)},Login:function(t,n,o,i,a){var s,r=l.getClientId();i?s={username:"null",password:"null",autoLoginToken:i,twoFactorCode:o,clientId:r}:(s={username:t,password:n,twoFactorCode:o,clientId:r},y()&&(s.authStepToken=k));e.post("~/api/v1/auth/authenticate-user",s).then((function(e){I(e,a)}),(function(e){null==e||null==e.data||null==e.data.isLicensed||e.data.isLicensed?null!=a&&(null===P.loginSettings||null!=e&&"Internal Server Error"===e.statusText?a(!1,"","serverDown"):a(!1,"",null!=e&&null!=e.data?e.data.message:"")):null!=a&&a(!1,"","notLicensed")}))},OnSuccessLogin:I,Logout:function(t){console.debug("Logout Called from "+t),L=d.user.isSysAdmin&&u.settings.globalMailSettings&&u.settings.globalMailSettings.sysAdminSettings&&u.settings.globalMailSettings.sysAdminSettings.serverUrl?u.settings.globalMailSettings.sysAdminSettings.serverUrl:d.user.settings.logoutUrl;e.post("~/api/v1/auth/logout-user").then(R,R)},getCaptcha:function(){var t=s.defer();return e.get("~/api/v1/auth/captcha").then((function(e){t.resolve(e)}),(function(e){t.reject(e)})),t.promise},submitCaptcha:function(t,n){var o=s.defer();return e.post("~/api/v1/auth/captcha/",{EmailAddress:t,CaptchaText:n}).then((function(e){o.resolve(e)}),(function(e){o.reject(e)})),o.promise},resetPassword:function(t,n,o,i){var a=s.defer(),r=E();return e.post("~/api/v1/auth/reset-password",{Username:t,Id:n,NewPassword:o,ConfirmPassword:i},r).then((function(e){a.resolve(e)}),(function(e){a.reject(e)})),a.promise},resetPasswordRequest:function(t){var n=s.defer();return e.post("~/api/v1/auth/reset-password-request",{id:t}).then((function(e){e.data&&e.data.accessToken&&$(e.data.accessToken,e.data.accessTokenExpiration),n.resolve(e)}),(function(e){n.reject(e)})),n.promise},forceResetPassword:function(t,n,o,i){var a=s.defer(),r=E();return e.post("~/api/v1/auth/force-reset-password",{Username:t,NewPassword:n,ConfirmPassword:o,HostName:window.location.hostname,isSysAdmin:i},r).then((function(e){a.resolve(e)}),(function(e){a.reject(e)})),a.promise},authenticateTwoFactorCode:function(t,n){var o=l.getClientId(),i=E();e.post("~/api/v1/auth/authenticate-two-factor-code",{TwoFactorCode:t,ClientId:o},i).then((function(e){I(e,n)}),(function(e){void 0!==n&&n(!1,"",void 0!==e&&void 0!==e.data?e.data.message:"")}
8))},refreshToken:function(){return l.refreshToken()},setSignalRCallback:function(e){A=e},doLogout:D,navigateOnLoginSuccess:c.navigateOnLoginSuccess,hasValidAuthStepToken:y,clearAuthStepToken:function(){k=null,C=null},setAuthStepToken:$,getAuthStepConfig:E};return P;function I(e,t){var n=e.data;if(n.accessToken&&!n.refreshToken)return $(n.accessToken,n.accessTokenExpiration),n.changePasswordNeeded?(n.requirements&&l.savePasswordRequirements(n.requirements),void(null!=t&&(n.passwordExpired?t(!1,"forcePasswordExpired",void 0,void 0,void 0,n.emailAddress):t(!1,"forcePasswordReset",void 0,void 0,n.isAdmin,n.emailAddress)))):n.message&&-1!==n.message.indexOf("TWO_FACTOR_REQUIRED")?void(null!=t&&t(!1,"",n.message,n.autoLoginToken)):void(null!=t&&t(!1));if(n.accessToken&&n.refreshToken)if(l.saveToken(n,!1,"authentication.service.Login()"),n.displayWelcomeWizard&&n.isAdmin)i.location.href=stSiteRoot+"interface/setup";else if(n.displayWelcomeWizard&&!n.isAdmin){o.get("coreData").init().then((function(){n.localeId&&S.setLocale(n.localeId),null!=t&&t(!0,"userSetup")}),(function(){}))}else{o.get("coreData").init().then((function(){n.showAppPasswords?null!=t&&t(!0,"appPasswordsReset"):c.navigateOnLoginSuccess(t).then((function(){delete sessionStorage.loginNavigationRetried}),(function(e){a.$broadcast("login:navigationFailed",e)}))}),(function(){null!=t&&t(!1)}))}else null!=t&&t(!1)}function R(){l.deleteTokens();var e=D("auth (afterLogout)");A&&(A(),A=null),r((function(){h.setSortingFilteringParam("chat","doLogout",void 0),h.setSessionSortingFilteringParam("email","treeSelectedBranchData",{}),h.setSessionSortingFilteringParam("email","shortTreeSelectedBranchData",{}),h.cleanForLogout(),e&&function(){const e=localStorage.getItem("logoutRoute");window.location.href=e?"/"+e:stSiteRoot+"interface/root",a.$destroy()}()}),300)}function D(e,t,n){console.debug("DoLogout Called: Source: "+e+" Error: "+t+" FailedUsername: "+n);var i=!1,s=o.get("coreData");return a.pageTitle="",v.reset(),s.reset(),g.cancelModal(),f.invalidateAll(),p.userLogout(),c.impersonating()?w.stopImpersonating():(l.deleteTokens(),null!=n?l.deleteAllWithUser(n,"authentication.service doLogout"):l.getPasswordResetId()?l.deleteAllExceptPasswordResetInfo("authentication.service doLogout"):l.deleteAll("authentication.service doLogout"),c.deleteClaims(),a.spinner&&a.spinner.hide(),L&&!t?(window.location.href=L,window.redirectingtoExternalSite=!0):i=!0),i}function $(e,t){k=e,C=t?new Date(t):null}function y(){return!(!k||!C)&&new Date<C}function E(){var e={};return k&&(e.headers={Authorization:"Bearer "+k}),e}}e.$inject=["$http","$location","$state","$injector","$window","$rootScope","$q","$timeout","authStorage","claimsService","coreDataSysAdminSettings","userDataService","modalService","apiBase","notifications","signalrHubManager","preferencesStorage","localStorageService","localeInfoService","impersonationService"],angular.module("smartermail").factory("AuthenticationService",e)}();
9!function(){"use strict";function e(e,r,s,n,t,o){var a=r,i=localStorage,u={};u.saveToken=g,u.deleteTokens=function(){var r=sessionStorage.username;if(null!=r&&i.userTokens){(n=JSON.parse(i.userTokens))[r]={},delete n[r],i.setItem("userTokens",JSON.stringify(n))}if(i.userTokens){var s=(new Date).getTime(),n=JSON.parse(i.userTokens);for(let e in n){var t=n[e];t&&t.refreshTokenExpiration&&s>new Date(t.refreshTokenExpiration)&&delete n[e]}i.setItem("userTokens",JSON.stringify(n))}a.currentUser===r&&delete a.currentUser;e.$applyAsync()},u.getToken=T,u.getTokenWithPromise=function(){let e=T();if(!e)return n.when(e);let r=(new Date).getTime(),s=new Date(d()).getTime();if(r<s-6e4)return n.when(e);return U()},u.getUserEmail=I,u.getDomain=function(){var e=I();if(""===e)return"";var r=e.split("@");return 2===r.length?r[1]:""},u.saveRememberMe=function(e){void 0!==e&&(sessionStorage.rememberMe=e)},u.getCurrentUser=function(){return a.currentUser?a.currentUser:null},u.deleteAll=function(e){a.currentUser&&S()&&delete a.currentUser;a.impUser&&x()&&delete a.impUser;w("deleteAll")},u.getRefreshToken=v,u.refreshToken=U,u.isLocalStorageForCurrentUser=h,u.localStorageHasValue=function(){return!!a.currentUser&&!!a.currentUser.token},u.saveImpersonateToken=function(r){var s={accessToken:r.impersonateAccessToken,refreshToken:r.impersonateRefreshToken,username:r.username,email:r.email,accessTokenExpiration:r.impersonateAccessTokenExpiration,refreshTokenExpiration:r.impersonateRefreshTokenExpiration};i.setItem("impUser",JSON.stringify(s)),e.$applyAsync()},u.deleteImpersonateToken=function(){i.removeItem("impUser")},u.impersonationTokens=k,u.deleteSessionStorage=w,u.savePasswordResetId=function(e){sessionStorage.passwordResetId=e},u.savePasswordResetUsername=function(e){sessionStorage.passwordResetUsername=e},u.getPasswordResetId=function(){return sessionStorage.passwordResetId},u.getPasswordResetUsername=function(){return sessionStorage.passwordResetUsername},u.setPopoutData=function(e,r){sessionStorage.popoutData=JSON.stringify(e),s((function(){delete sessionStorage.popoutData}))},u.getPopoutData=function(){if(sessionStorage.popoutData){var e=JSON.parse(sessionStorage.popoutData);return delete sessionStorage.popoutData,e}return{}},u.savePasswordRequirements=function(e){sessionStorage.passwordRequirements=JSON.stringify(e)},u.getPasswordRequirements=function(){if(sessionStorage.passwordRequirements){const e=JSON.parse(sessionStorage.passwordRequirements);return delete sessionStorage.passwordRequirements,e}return null},u.getAccessTokenExpiration=d,u.initiatedImpersonation=function(e){a.initiatedImpersonation=e},u.hasInitiatedImpersonation=function(e){if(null==a.initiatedImpersonation)return!1;return a.initiatedImpersonation==e},u.deleteInitiatedImpersonation=function(){delete a.initiatedImpersonation},u.deleteAllExceptPasswordResetInfo=function(e){a.currentUser&&S()&&delete a.currentUser;a.impUser&&x()&&delete a.impUser;delete sessionStorage.username,delete sessionStorage.rememberMe,delete sessionStorage.popoutData}
9,u.deleteAllWithUser=function(e,r){a.currentUser&&a.currentUser.username&&e&&delete a.currentUser;a.impUser&&a.impUser.username&&e&&delete a.impUser;w("deleteAllWithUser")},u.updatingToken=p,u.isTokenCurrentlyUpdating=f,u.getClientId=function(){null==i.clientId&&(i.clientId="WEBMAIL-"+"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var r=16*Math.random()|0;return("x"==e?r:3&r|8).toString(16)})));return i.clientId};let c=null,m=null;const l=3e4;return u;function p(r){var s=sessionStorage.username;if(s&&i.userTokens){var n=JSON.parse(i.userTokens);n[s]=n[s]||{},n[s].updateInProgress=r?(new Date).getTime():null,i.setItem("userTokens",JSON.stringify(n))}e.$applyAsync()}function f(){var e=sessionStorage.username;if(e&&i.userTokens){var r=JSON.parse(i.userTokens);if(!r[e]?.updateInProgress)return!1;let s=new Date(r[e].updateInProgress).getTime();return isNaN(s)?(p(!1),!1):s>(new Date).getTime()-l}return!1}function g(r,s,n){if(!r)return;r.email?sessionStorage.username=r.email:sessionStorage.username=r.username,(!o.impersonating()&&("true"===sessionStorage.rememberMe||o.getUsername()&&a.currentUser&&o.getUsername()===a.currentUser.username)||h())&&(a.currentUser||(a.currentUser={}),r.username&&(a.currentUser.username=r.username));let t=sessionStorage.username||a.currentUser.username;var u={};i.userTokens&&void 0!==t&&(u=JSON.parse(i.userTokens)),u[t]={},u[t].accessToken=r.accessToken,u[t].refreshToken=r.refreshToken,u[t].accessTokenExpiration=r.accessTokenExpiration,u[t].refreshTokenExpiration=r.refreshTokenExpiration,u[t].updateInProgress=!1,i.setItem("userTokens",JSON.stringify(u)),e.$applyAsync()}function d(){var e="",r=sessionStorage.username;if(r&&i.userTokens){var s=JSON.parse(i.userTokens);e=s[r]?.accessTokenExpiration||""}return e}function k(){var e=i.getItem("impUser");if(e)return JSON.parse(e)}function T(e){var r=sessionStorage.username;if(!e){var s=k();if(s)return s.accessToken}if(a.currentUser&&S()&&(r=a.currentUser.username),r&&i.userTokens){var n=JSON.parse(i.userTokens),t=n[r]?.accessToken;return t||""}return""}function U(){if(c)return c.promise;let e=c=n.defer();if(f())return m||(m=s((function r(){if(f())return void(m=s(r,20));m=null,c=null,e.resolve(T())}),20)),e.promise;let r=v();return r?(p(!0),t.get("$http").post("~/api/v1/auth/refresh-token",{token:r,isWebmailRefresh:!0},{timeout:l}).then((function(r){c=null,console.debug("Token refreshed."),r.data&&r.data.accessToken&&r.data.refreshToken&&r.data.username?(g(r.data),e.resolve(r.data.accessToken)):e.reject("Invalid refresh-token response.")}),(function(r){console.warn("Token refresh failed."),c=null,e.reject(r)})).finally((()=>p(!1))),e.promise):(c=null,e.reject("Blank refresh token in authStorage."),e.promise)}function S(){if(k())return!1;if(a.currentUser&&a.currentUser.username){var e=o.getUsername();return void 0!==e&&0!=e.length&&(o.getUsername()+"@"+o.getDomain()===sessionStorage.username&&(a.currentUser.username===(o.getEmailAddress()||"")||(a.currentUser.username===(o.getUsername()||"")||a.currentUser.username===o.getUsername()+"@"+o.getDomain())))}}function x(){if(a.impUser){if(a.impUser.email===o.getEmailAddress())return!0;if(a.impUser.email===o.getUsername())return!0;if(a.impUser.email===o.getUsername()+"@"+o.getDomain())return!0}}function v(){var e="";if(sessionStorage.username?e=sessionStorage.username:a.currentUser&&a.currentUser.username&&(e=a.currentUser.username),e&&i.userTokens){var r=JSON.parse(i.userTokens),s=r[e]&&r[e].refreshToken;return s||""}return""}function h(){if(a.currentUser&&S()){var e=a.currentUser.username,r=JSON.parse(i.userTokens);return!!(r[e]&&r[e].accessToken)}return!1}function I(){var e=o.getEmailAddress();return e||(e=a.currentUser?a.currentUser.username:void 0),e}function w(e){delete sessionStorage.username,delete sessionStorage.rememberMe,delete sessionStorage.passwordResetId,delete sessionStorage.passwordResetUsername,delete sessionStorage.popoutData}}e.$inject=["$rootScope","$localStorage","$timeout","$q","$injector","claimsService"],angular.module("smartermail").service("authStorage",e)}();
10!function(){"use strict";function e(e,n,t){var r=this;function o(){var e=(r.getEmailAddress()||"").split("@");return 2==e.length?e[1]:""}function i(){var e=sessionStorage.getItem("claims");if(e)return s(JSON.parse(e).Impersonating);var n=localStorage.getItem("claims");return!!n&&s(JSON.parse(n).Impersonating)}function a(e){var n=e.split(".");if(3===n.length){var t=function(e){var n=e.replace(/-/g,"+").replace(/_/g,"/");switch(n.length%4){case 0:break;case 1:n+="===";break;case 2:n+="==";break;case 3:n+="="}return base64ToUtf8(n)}(n[1]);return angular.fromJson(t)}}function s(e){return"true"===(e+"").toLowerCase()}function u(e){const n=m().role||[];for(let t=0;t<n.length;t++)if(n[t]===e)return!0;return!1}function m(){const e=c().getItem("claims"),n=e?JSON.parse(e):[];return e&&n&&n.length>0&&!n.claimVersion?(r.deleteClaims(),delete c().token,[]):n}function c(){return sessionStorage}r.isClaimCurrent=function(){return"1"==m().claimVersion},r.canImpersonate=function(){return s(m().CanImpersonate)},r.canViewPasswords=function(){return s(m().CanViewPasswords)},r.deleteClaims=function(){delete c().claims},r.getDisplayName=function(){return m().name},r.getDomain=o,r.getEmailAddress=function(){return m().nameid},r.getRootEmail=function(){return m().rootemail},r.getUsername=function(){return m().username},r.impersonating=i,r.getImpersonatorUsername=function(){return m().ImpersonatingAdmin},r.getImpersonatorLocale=function(){return m().ImpersonatingAdminLocale},r.isDomainAdmin=function(){return u("DomainAdmin")},r.isPrimarySysAdmin=function(){return u("PrimarySysAdmin")},r.isSysAdmin=function(){return u("SysAdmin")},r.stFullVersion=function(){return m().Version},r.stVersion=function(){return parseInt(m().Version.split(".")[2])},r.setClaims=function(e,n){var t=sessionStorage;n||(t=c());var r=a(e);t.setItem("claims",JSON.stringify(r))},r.setDisplayName=function(e){var n=function(e){return unescape(encodeURIComponent(e))}(e),t=m();t.name=n,c().setItem("claims",JSON.stringify(t))},r.decodeToken=function(e){return a(e)},r.redirectToDefaultPageForUser=function(){r.isSysAdmin()?n.go("index.sysadmin-manage.dashboard"):r.getUsername()?n.go("index.email"):e.location.href="true"===sessionStorage.getItem("HAMode")?stSiteRoot+"hub/":stSiteRoot+"interface/root"},r.hasDomain=function(){return o().length>1||n.params.id},r.isEmClientAdmin=function(){return s(m().eMClientAdmin)},r.checkAuthFromState=function(e){return!e||(!(!sessionStorage.getItem("isImpersonationWindow")||!r.isSysAdmin()||i())||e.claims.every((e=>m()[e]))&&e.roles.every((e=>u(e)))&&(!e.hasDomain||r.hasDomain()))},r.getDefaultRouteForUser=function(){return r.isSysAdmin()?"index.sysadmin-manage.dashboard":r.getUsername()?"index.email":"login"},r.navigateOnLoginSuccess=function(o){const i=localStorage.getItem("smAutoLoginTokenRedirect"),a=r.isSysAdmin(),s=r.isDomainAdmin();localStorage.removeItem("smAutoLoginTokenRedirect");const u="true"===localStorage.getItem("hubManageNodeWindow")&&null===window.opener;function m(n){u?e.location.replace(e.location.pathname+e.location.search+"#"+n):e.location.hash=n}var c;return i?i.startsWith("/sysadmin")?a?m(i):c=n.go(r.getDefaultRouteForUser()):i.startsWith("/settings/domain")?s?m(i):c=n.go(r.getDefaultRouteForUser()):a||i.startsWith("/popout")?c=n.go(r.getDefaultRouteForUser()):m(i):c=n.go(r.getDefaultRouteForUser()),null!=o&&o(!0),c||t.resolve()},localStorage&&localStorage.claims&&delete localStorage.claims}e.$inject=["$window","$state","$q"],angular.module("smartermail").service("claimsService",e)}();
11!function(){"use strict";function o(o){function n(){"#/disconnected"===window.location.hash&&(navigator.onLine&&(window.location.hash="#/email"),setTimeout(n,2e3))}n(),o.$on("destroy",(function(){$(window).off("online")}))}o.$inject=["$rootScope"],angular.module("smartermail").controller("disconnectedController",o)}();
12!function(){"use strict";function e(e,t){var n={showErrorMessage:function(n){var a=!1;(n.data.message.indexOf("No connection could be made because the target machine actively refused it")>-1||n.data.message.indexOf("An existing connection was forcibly closed by the remote host")>-1||n.data.message.indexOf("EndpointNotFoundException")>-1||n.data.message.indexOf("CommunicationObjectFaultedException")>-1||-1===n.status)&&(a=!0);a?t.report(e("translate")("LOGIN_PAGE_MAINTENANCE_BODY")):n.data&&n.data.message?t.report(n.data.message):t.report()},isServiceDown:function e(t){(t.data.message.indexOf("No connection could be made because the target machine actively refused it")>-1||t.data.message.indexOf("An existing connection was forcibly closed by the remote host")>-1||t.data.message.indexOf("EndpointNotFoundException")>-1||t.data.message.indexOf("CommunicationObjectFaultedException")>-1||-1===t.status)&&!0;return e},showErrorMessageFromString:function(n){var a=!1;(n.indexOf("No connection could be made because the target machine actively refused it")>-1||n.indexOf("An existing connection was forcibly closed by the remote host")>-1||n.indexOf("EndpointNotFoundException")>-1||n.indexOf("CommunicationObjectFaultedException")>-1)&&(a=!0);a?t.report(e("translate")("LOGIN_PAGE_MAINTENANCE_BODY")):n?t.report(n):t.report()}};return n}e.$inject=["$filter","errorHandling"],angular.module("smartermail").service("errorMessageService",e)}();
13!function(){"use strict";function e(e,t,n,o,s,a,r){const i=new BroadcastChannel("impersonation-bootstrap");let c=!1;function l(a){var m;c||a.data&&"IMPERSONATION_BOOTSTRAP_INIT"===a.data.type&&(c=!0,i.removeEventListener("message",l),i.close(),(m=n.impersonationTokens())&&(sessionStorage.setItem("username",""),sessionStorage.setItem("rememberMe","false"),n.saveToken(m,!0,"impersonation-bootstrap"),n.deleteImpersonateToken(),o.setClaims(m.accessToken,!0),sessionStorage.setItem("isImpersonationWindow","1"),r.startHeartbeat(),e.$applyAsync((()=>{s.isInitialized()?(s.reset(),s.init().then((()=>{t.go("index.settings.user-account-settings",{type:"user"},{location:"replace"})}),(()=>{}))):t.go("index.settings.user-account-settings",{type:"user"},{location:"replace"})}))))}!function(){window.name||(window.name="ImpersonatedWindow");i.addEventListener("message",l),e.$on("$destroy",(function(){i.removeEventListener("message",l),i.close()})),i.postMessage({type:"IMPERSONATION_BOOTSTRAP_READY"})}()}e.$inject=["$scope","$state","authStorage","claimsService","coreData","userDataService","coreDataManageDomain"],angular.module("smartermail").controller("impersonationBootstrapController",e).run(["$transitions",function(e){var t=-1!==window.location.hash.indexOf("/impersonation/bootstrap"),n="true"===localStorage.getItem("hubManageNodeWindow");if(!t&&!n)return;if(null!==window.opener)return;history.pushState=function(e,t,n){history.replaceState(e,t,n)},e.onBefore({},(function(e){if("replace"!==e.options().location)return e.router.stateService.target(e.to().name,e.params("to"),Object.assign({},e.options(),{location:"replace"}))}))}])}();
14!function(){"use strict";function e(e,t,n,o,i,s,a){const r=this;r.impersonateUser=function(n,s){const a=!!(s=s||o.getLiveImpersonatingWindow())||o.hasLivePopup();t.deleteImpersonateToken(),function(){if(c){try{c.close()}catch(e){}c=null}}();const r=window.location.href.substring(0,window.location.href.indexOf("#/"));var l=!1;if(a){const e=window.open("","_blank");if(e){const t=new BroadcastChannel("impersonation-control");t.postMessage({type:"CLOSE_FOR_REIMPERSONATE"}),t.close(),o.impersonatingWindow=e}else o.impersonatingWindow=s,l=!0}else{if(!o.createImpersonationWindow())return void i.report("PERMISSION_DENIED_POPUP_BLOCKED")}const p=t.getClientId();e.post("~/api/v1/settings/domain/impersonate-user",JSON.stringify({email:n,clientId:p})).then((function(){const e=o.impersonatingWindow;if(c=new BroadcastChannel("impersonation-bootstrap"),c.addEventListener("message",(function(e){e.data&&"IMPERSONATION_BOOTSTRAP_READY"===e.data.type&&c.postMessage({type:"IMPERSONATION_BOOTSTRAP_INIT"})})),l){const e=new BroadcastChannel("impersonation-control");e.postMessage({type:"NAVIGATE_BOOTSTRAP"}),e.close()}else e.location.replace(r+"#/impersonation/bootstrap")}),(function(e){o.impersonatingWindow.close(),i.report(e)}))},r.impersonateUserReplaceCurrent=function(n){const o=t.getClientId();e.post("~/api/v1/settings/domain/impersonate-user",JSON.stringify({email:n,clientId:o})).then((function(){delete s.categoryDataCache,delete s.sortingFiltering,a.go("impersonation-bootstrap",{},{location:"replace"})}),i.report)};let c=null;r.stopImpersonating=e=>{o.stopHeartbeat(),t.deleteTokens(),n.deleteClaims(),sessionStorage.removeItem("isImpersonationWindow"),localStorage.removeItem("impUser"),setTimeout((function(){try{window.open("","_self")}catch(e){}try{window.close()}catch(e){}}),100)}}e.$inject=["$http","authStorage","claimsService","coreDataManageDomain","errorHandling","$sessionStorage","$state"],angular.module("smartermail").service("impersonationService",e)}();
15!function(){"use strict";function e(e,t,r,n,a,o,i,s,c,d){var u=stSiteRoot+"api/v1",f=!1;return $(window).on("beforeunload",(function(){f=!0})),e.$on("destroy",(function(){$(window).off("offline"),$(window).off("beforeunload")})),{request:function(r){if(-1!==["/login","/interface/app/sections/setup-wizard/setup-wizard.html","/disconnected"].indexOf(r.url)||-1!==r.url.indexOf("/translations/")||-1!==r.url.indexOf("/Interface/output/"))return r.headers.Authorization=`Bearer ${s.getToken()}`,n.when(r);if(!navigator.onLine&&"localhost"!==window.location.hostname&&"127.0.0.1"!==window.location.hostname&&!window.location.hostname.startsWith("10.")&&!window.location.hostname.startsWith("192.168."))return console.log("Not connected to the internet, performing logout..."),t.path("/disconnected"),n.reject(r);var a=e.secondaryImpersonationDomain;a&&i&&i.$current&&i.$current.name&&i.$current.name.toLowerCase().startsWith("index.sysadmin-manage.dashboard.domain-specific")&&(r.headers["X-SmarterMailDomain"]=a);var o=t.search().id;null!=o&&(s.savePasswordResetId(o),t.search("id",null),c.deleteClaims(),s.deleteAllExceptPasswordResetInfo("interceptor.service request"));if(r.headers&&r.headers.Authorization)return n.when(r);let d=s.getToken(c.isSysAdmin());if(!d)return n.when(r);if("app/authentication/login.html"===r.url||-1===r.url.indexOf(u)||r.url.indexOf("refresh-token")>-1||r.url.indexOf("auth/logout-user")>-1)return r.headers.Authorization=`Bearer ${d}`,n.when(r);var f=(new Date).getTime(),l=s.getAccessTokenExpiration(),h=new Date(l),m=h.getTime()-6e4;if(f>m){let e=n.defer();return s.refreshToken().then((function(){r.headers.Authorization=`Bearer ${s.getToken()}`,e.resolve(r)}),(()=>e.reject(r))),e.promise}return r.headers.Authorization=`Bearer ${d}`,n.when(r)},response:function(t){t.config.url.indexOf(u)>-1&&(t.data.accessToken?(c.setClaims(t.data.accessToken),t.data.refreshToken&&(t.data.email||t.data.username)&&(s.saveToken(t.data,!1,"intercepter.service.response()"),e.$broadcast("auth:tokenRefreshed"))):t.data.impersonateAccessToken&&t.data.impersonateRefreshToken&&s.saveImpersonateToken(t.data,!0));return t},responseError:function(t){var i=!1;if(-1!=window.location.href.indexOf("popout/email")||-1!=window.location.href.indexOf("popout/contact")||-1!=window.location.href.indexOf("popout/appointment")||-1!=window.location.href.indexOf("popout/task")||-1!=window.location.href.indexOf("popout/note"))return i=!1,n.reject(t);switch(t.status){case-1:if(t.config&&t.config.timeout&&t.config.timeout.isResolved)return n.reject(t);if("abort"===t.xhrStatus||"error"===t.xhrStatus)return n.reject(t);if(f)return n.reject(t);e.$emit("Interceptor:ServiceDown",t.data?t.data.message:"NO_INTERNET"),i=!0;break;case 401:t.config.url.indexOf(u)>-1&&(i=!0,s.updatingToken(!1));break;case 403:return n.reject(t);case 400:if(t.data instanceof ArrayBuffer)try{var c=new TextDecoder;t.data=JSON.parse(c.decode(t.data))}catch(e){}var d=t.data&&"string"==typeof t.data.message?t.data.message:"";if(!(d.indexOf("No connection could be made because the target machine actively refused it")>-1||d.indexOf("An existing connection was forcibly closed by the remote host")>-1))return n.reject(t);e.$emit("Interceptor:ServiceDown",d),i=!0;break;case 500:if(!t.data.message||!(t.data.message.indexOf("EndpointNotFoundException")>-1||t.data.message.inde
15xOf("cannot be used for communication because it is in the Faulted state")>-1))return t.data.message&&t.data.message.indexOf("An error has occurred")>-1?(t.data.message=a("translate")("ERROR_HAS_OCCURRED"),n.reject(t)):n.reject(t);e.$emit("Interceptor:ServiceDown",t.data.message),i=!0;break;case 503:e.$emit("Interceptor:ServiceDown",t.data.message),i=!0;break;default:return n.reject(t)}if(1==i&&!window.redirectingtoExternalSite){var l=r.get("AuthenticationService"),h=!1;h=t.data&&t.data.username?l.doLogout("interceptor (responseError)",!0,t.data.username):l.doLogout("interceptor (responseError)",!0);var m=t.config.url.indexOf("auth/authenticate-user"),p=o.location.hash.startsWith("#/login");if(h&&-1==m&&!p){const t=localStorage.getItem("logoutRoute");return o.location.href=t?"/"+t:stSiteRoot+"interface/root",e.$destroy(),n.when()}return n.reject(t)}}}}e.$inject=["$rootScope","$location","$injector","$q","$filter","$window","$state","authStorage","claimsService","toaster"],angular.module("smartermail").factory("authInterceptor",e)}();
16!function(){"use strict";function e(e,t,a,o,s,n,r,i,c,l,d,u,g,p,f,m,w,S,v,h,T,E,R){var P=this;P.stHAID=window.stHAID,P.rememberMe=a.isLocalStorageForCurrentUser(),P.hideCookieNotice=!1,P.showPasswordRetrieval=!1,P.settingsLoaded=!1,P.serverUnderMaintanance=!1,P.loading=!1,P.badPasswordResetId=!1,P.imageUrl=null,P.imageContent=null,P.state="login",P.initializing=!1,P.displayName=null,P.availableLocales=[],P.imageFile=null,P.customTitle="";for(var y=0;y<angularLangNames.length;y++)P.availableLocales.push(angularLangNames[y]);P.notificationsSupported=c.supported&&"default"===c.permission,P.hasTranslations=!1,P.isInit=!1,P.isIOS=/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream,P.twoFactorCode="",P.needsTwoFactor=!1,P.recoveryCodeSent=!1,P.recoveryEmailAddressMasked="",P.appPasswordTypes=["UNUSED","APP_PASSWORD_PSI","APP_PASSWORD_EAS","APP_PASSWORD_MAPI_EWS","APP_PASSWORD_WEBDAV","INTERNAL","INTERNAL","SERVICES","WEBMAIL","APP_PASSWORD_MAPI","APP_PASSWORD_LDAP","SHAREPOINT","APP_PASSWORD_XMPP"],P.resetAppPasswords=[],P.resetAppPasswordsShow={},P.resetAppPasswordsUnavailable=!1,P.aupHtml="",P.passwordExpiredMessage=void 0;var A=null;function C(e){w.setLocale(e),l.set("login.language.changed",!0)}function F(e){!e.data||e.data.wappalyzer||"string"==typeof e.data&&e.data.toUpperCase().indexOf("SETIMMEDIATE")>-1||e.data.source&&e.data.source.toUpperCase().contains("REACT-DEVTOOLS")||(e.data.username||e.data.password||e.data.autoLogin)&&(window.parent===window?(P.password=e.data.password,P.username=e.data.username,e.data.autoLogin?M():t.$applyAsync()):(a.deleteAll("login.controller setSessionAutoLoginData"),delete localStorage.claims,sessionStorage.setItem("username",e.data.username),sessionStorage.setItem("password",e.data.password),sessionStorage.setItem("autoLoginFromSession",e.data.autoLogin),d((function(){window.parent.postMessage({},"*")}),100)))}function I(){if(sessionStorage.loginNavigationFailedNotice&&(delete sessionStorage.loginNavigationFailedNotice,P.error=r("translate")("ERROR_HAS_OCCURRED")),P.autologinToken=localStorage.getItem("smAutoLoginToken"),window.stHA&&window.stSystemHostname&&!P.autologinToken){a.getCurrentUser()||a.getUserEmail()||(window.location.href="https://"+window.stSystemHostname)}var e,o,s,i,c,d,u;window.addEventListener("message",F),t.$on("$destroy",(function(){window.removeEventListener("message",F)})),e=!!window.opr&&!!opr.addons||!!window.opera||navigator.userAgent.indexOf(" OPR/")>=0,o="undefined"!=typeof InstallTrigger,s=/constructor/i.test(window.HTMLElement)||"[object SafariRemoteNotification]"===(!window.safari||safari.pushNotification).toString(),i=!!document.documentMode,c=!i&&!!window.StyleMedia,d=!!window.chrome&&!!window.chrome.webstore,u=(d||e)&&!!window.CSS,e?P.imageFile=null:o?P.imageFile=(stSiteRoot||"/")+"interface/img/browser-messages/browser-notifications-firefox.jpg":s||i?P.imageFile=null:c?P.imageFile=(stSiteRoot||"/")+
16"interface/img/browser-messages/browser-notifications-edge.jpg":(d||u)&&(P.imageFile=(stSiteRoot||"/")+"interface/img/browser-messages/browser-notifications-chrome.jpg"),z(),P.hideCookieNotice=!!l.get("login.cookie-notice-dismissed"),P.autologinToken?(localStorage.removeItem("smAutoLoginToken"),(A=n.loadLoginSettings()).finally((function(){M().then((function(e){e&&e.navigatedAway||O()}))}))):O()}function O(){(A&&n.loginSettings?A:n.loadLoginSettings()).then(N,_),a.getPasswordResetId()&&(P.state="passwordReset",P.resetPasswordSuccess=r("translate")("PASSWORD_RESET_RESET_PASSWORD_MESSAGE"),function(){function e(e){return e.data.username?(P.username=e.data.username,e.data.username):""}function t(e){return"PASSWORD_RESET_RESET_ID_NOT_FOUND"===e.data.message&&(P.badPasswordResetId=!0),P.resetPasswordError=V(e.data.message),""}n.resetPasswordRequest(a.getPasswordResetId()).then(e,t)}(),d((function(){$("input[name=newPassword]").trigger("focus")}))),i.search().recover&&(P.tfRecover=i.search().recover,P.state="twoFactorRecover"),P.isInit=!0}function _(e){P.settingsLoaded=!1,P.serverUnderMaintanance=!0,P.serverErrorCode=e?e.message:"",e&&e.data&&e.data.message&&"convert"===e.data.message&&(window.location.href=window.location.origin+"/interface/convert-notice")}P.dismissCookieNotice=function(){l.set("login.cookie-notice-dismissed",!0),P.hideCookieNotice=!0},P.login=M,P.loginWithTwoFactor=function(){return n.hasValidAuthStepToken()?(P.loading=!0,v.invalidateAll(),a.saveRememberMe(P.rememberMe),P.oldInit=P.initializing,P.showLoggingIn=d((function(){P.initializing=!0,P.showLoggingIn=void 0}),500),P.loginDefer=g.defer(),n.authenticateTwoFactorCode(P.twoFactorCode,x),P.loginDefer.promise):M(P.twoFactorCode)},P.twoFactorNextStep=function(){if(0===P.twoFactorSetupStep&&!P.tfRecoveryMail&&"sysadmin"!==P.tfSetupUserType)return;if(0===P.twoFactorSetupStep){var e=n.getAuthStepConfig(),t=function(){s.post("~/api/v1/settings/user-generate-two-factor/"+(1==P.tfSetupType?"email":"rfc6238"),null,e).then((function(e){switch(P.tfSecretKey=e.data.clientSecret,P.tfSetupType){case 1:P.twoFactorSetupStep=2,d((function(){$("input[name=checkFactorCodeMail]").trigger("focus")}));break;case 2:P.twoFactorSetupStep=1,P.tfQrCode=(t=e.data.clientSecret,a=e.data.accountName,o=e.data.issuer,"otpauth://totp/"+encodeURIComponent((o||"")+":"+(a||""))+"?secret="+encodeURIComponent(t||"")+"&issuer="+encodeURIComponent(o||"")),setTimeout((function(){var e=document.getElementById("qrcode");e&&new QRCode(e,{text:P.tfQrCode,width:150,height:150}),$("input[name=checkFactorCode]").trigger("focus")}),250)}var t,a,o}),(function(){}))};"sysadmin"==P.tfSetupUserType?s.post("~/api/v1/settings/admin-set-two-factor-recovery",null,e).then(t):s.post("~/api/v1/settings/user-set-two-factor-recovery/"+P.tfRecoveryMail,null,e).then(t)}else if(1!==P.twoFactorSetupStep||1===P.tfSetupType||P.hasVerifiedTwoFactor)if(1===P.twoFactorSetupStep&&1!==P.tfSetupType&&P.hasVerifiedTwoFactor)Z();else if(2===P.twoFactorSetupStep&&1!==P.tfSetupType){if(!P.hasVerifiedTwoFactor)return;P.twoFactorSetupStep=3}else 2===P.twoFactorSetupStep&&1===P.tfSetupType?Z():3!==P.twoFactorSetupStep&&4!==P.twoFactorSetupStep||p.init().then((function(){u.navigateOnLoginSuccess().then(k,U)}));else W()},P.twoFactorBackStep=function(){P.hasVerifiedTwoFactor=!1,P.tfCodeError=!1,P.twoFactorCode="",1===P.twoFactorSetupStep?P.tfCantScan?(P.tfCantScan=!1,d((function(){$("input[name=checkFactorCode]").trigger("focus")}))):(P.tfQrCode="",P.tfSecretKey="",$("#qrcode").empty(),P.twoFactorSetupStep=0):2===P.twoFactorSetupStep&&1===P.tfSetupType?P.twoFactorSetupStep=0:2===P.twoFactorSetupStep&&1!==P.tfSetupType&&(P.twoFactorSetupStep=1)},P.checkTwoFactorCode=W,P.twoFactorCantAccess=function(e,t){if(P.recoveryCodeSent)return;P.tfCodeError=!1;var a=n.getAuthStepConfig();s.post("~/api/v1/settings/user-recover-two-factor",null,a).then((function(t){e&&e.currentTarget&&e.currentTarget.classList.add("disabled"),P.recoveryCodeSent=!0,P.recoveryEmailAddressMasked=t.data.result,P.captchaSuccess=r("translate")("TWO_FACTOR_SENT_RECOVERY",{email:P.re
16coveryEmailAddressMasked})}),(function(){}))},P.recoverTwoFactorReset=function(){s.post("~/api/v1/settings/user-reset-two-factor/",{input:P.tfRecover}).then((function(e){if(-1===e.data.result.indexOf("|"))P.error=r("translate")(e.data.result);else{P.tfRecover="",P.hasResetTwoFactor=!0;var t=e.data.result.split("|");P.requireTwoFactorReset="REQUIRED"===t[0],P.tempTypes=t[1].split(","),P.twoFactorSetupTypes=[];for(var a=0;a<P.tempTypes.length;++a)switch(P.tempTypes[a]){case"email":case 1:P.twoFactorSetupTypes.push({value:1,translation:"RECOVERY_EMAIL"});break;case"rfc6238":case 2:P.twoFactorSetupTypes.push({value:2,translation:"AUTHENTICATION_APP"})}P.tfSetupType=P.twoFactorSetupTypes[0].value,P.tfUserEmail=t[3],P.tfRecoveryMail=t[4]}}),(function(e){P.error=V(e.data.message)}))},P.recoverSetupTwoFactor=function(){P.state="twoFactorSetup",P.twoFactorSetupStep=0,d((function(){$("input[name=tfrecoverymail]").trigger("focus")}))},P.cancelTwoFactorLogin=H,P.cancelTwoFactorEntry=function(){P.needsTwoFactor=!1,P.recoveryCodeSent=!1,P.twoFactorCode="",P.error="",P.captchaSuccess="",P.recoveryEmailAddressMasked="",P.username="",P.password="",P.autologinToken="",n.clearAuthStepToken(),d((function(){$("input[name=username]").trigger("focus")}))},P.cancelTwoFactorSetup=B,P.cantScan=function(){P.tfCantScan=!0,d((function(){$("input[name=checkFactorCode]").trigger("focus")}))}
16,P.copySecretKey=function(){var e=$("#copy-key")[0],t=document.createRange();t.selectNode(e),window.getSelection().removeAllRanges(),window.getSelection().addRange(t),document.execCommand("copy"),window.getSelection().removeAllRanges(),T.report(S.instant("COPIED_TO_CLIPBOARD"))},P.copyText=async function(e){if(navigator.clipboard)await navigator.clipboard.writeText(e);else{const t=document.createElement("input");t.value=e,document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)}},P.toggleResetAppPassword=function(e){P.resetAppPasswordsShow[e]=!P.resetAppPasswordsShow[e]},P.finishResetAppPasswords=function(){if(P.loading=!0,P.resetAppPasswordsUnavailable)return void u.navigateOnLoginSuccess(x).then(k,U);s.post("~/api/v1/settings/acknowledge-app-passwords",JSON.stringify({})).finally((function(){u.navigateOnLoginSuccess(x).then(k,U)}))},P.forgotPasswordClicked=function(){P.state="passwordRequest",P.captchaError=void 0,n.getCaptcha().then((function(e){P.imageContent=e.data.captchaImage,$("input[name=email]").trigger("focus")}),(function(e){P.captchaError=V(e.data.message)}))},P.cancelForgotPassword=function(){z()},P.cancelForcePasswordReset=function(){P.state="login",d((function(){$("input[name=username]").trigger("focus")}))},P.captchaCheck=function(){P.email&&P.captchaText&&P.email.length>0&&P.captchaText.length>0&&n.submitCaptcha(P.email,P.captchaText).then((function(e){z(),P.captchaSuccess=r("translate")(e.data.message)}),(function(e){(function(){function e(e){P.imageContent=e.data.captchaImage}function t(e){P.captchaError=V(e.data.message)}P.captchaText=void 0,P.imageContent=void 0,n.getCaptcha().then(e,t)})(),P.captchaError=V(e.data.message)}))},P.resetPasswordCheck=function(){P.newPassword&&P.confirmPassword&&P.newPassword.length>0&&P.confirmPassword.length>0?n.resetPassword(a.getPasswordResetUsername(),a.getPasswordResetId(),P.newPassword,P.confirmPassword).then((function(e){if(e.data.username&&e.data.errorCode){var t;a.savePasswordResetUsername(e.data.username),t="PASSWORD_RESET_REQUIRE_LENGTH"===e.data.errorCode?r("translate")(e.data.errorCode,{num:e.data.errorData}):r("translate")(e.data.errorCode);var o=r("translate")("PASSWORD_RESET_REQUIRE",{msg:t});P.resetPasswordError=o}else a.savePasswordResetId(null),a.savePasswordResetUsername(null),z(),i.path("/login")}),e):e("ERROR");function e(e){P.resetPasswordError=V(e.data.message)}},P.forceResetPasswordCheck=function(){n.forceResetPassword(P.username,P.newPassword,P.confirmPassword,P.isSysAdmin).then((function(e){if(e.data.username&&e.data.errorCode){var t;t="PASSWORD_RESET_REQUIRE_LENGTH"===e.data.errorCode?r("translate")(e.data.errorCode,{num:e.data.errorData}):r("translate")(e.data.errorCode);var a=r("translate")("PASSWORD_RESET_REQUIRE",{msg:t});P.resetPasswordError=a}else P.forceResetEmailAddress&&(P.username=P.forceResetEmailAddress),P.password=P.newPassword,M()}),(function(e){e.data.message.indexOf("PASSWORD_RESET_REQUIRE")>-1?t.$broadcast("passwordCheckCallback",e):P.resetPasswordError=e.data.message}))},P.cancelResetPassword=function(){window.close(),a.savePasswordResetId(""),P.state="login",I()},P.saveUserSetup=function(){var e={userMailSettings:{timeZoneIndex:P.timeZone.index,backupEmailAddress:P.recoveryEmail,welcomeWizardProgress:3,localeId:w.language}};s.post("~/api/v1/settings/user-mail",e).then((function(){f.userSettings.timeZoneIndex=P.timeZone.index,f.userSettings.backupEmailAddress=P.recoveryEmail,f.userSettings.welcomeWizardProgress=3,R.reset(),R.init().then((function(){i.path("/email")}),(function(){}))}),(function(){}))},P.setLocale=C,P.userSetupBack=function(){P.twoFactorSetupStep?(P.oldState="userSetup",P.state="twoFactorSetup"):P.state="login"},P.digestCount=0,P.userAcceptedPolicy=function(){s.post("~/api/v1/settings/user-aup-accepted-version",JSON.stringify({email:P.username})).then((function(){M(P.twoFactorCode)}),(function(){}))},P.userDeclinedPolicy=function(){P.username=void 0,P.password=void 0,P.state="login",d((function(){$("input[name=username]").trigger("focus")}))},sessionStorage.removeItem("locale.oneTime"),sessionStorage.setItem("HAMode",!1),function(){function e(){P.hasTranslations=!0,I()}w.onReady().then(e,e)}(),P.scaffoldMode=!1,-1!==window.location.hash.indexOf("?scaffold")&&(P.scaffoldMode=!0);var b=0,D=[500,500,500,1e3,1e3,2e3,2e3,5e3];function N(s){if(s&&"loading"===s){P.loading=!0;let e=b>=D.length?D.length-1:b,t=D[e];b++,console.log("waiting "+t),d((function(){n.loadLoginSettings().then(N,_)}),t)}else{P.loading=!1,C(w.getValidLocale(P.availableLocales)),P.customTitle=s.customTitle,P.showPasswordRetrieval=s.allowPasswordRecovery,P.imageUrl=s.customLogo,P.welcomeMessage="",s.interfaceShowGettingStartedPrompt?localStorage.setItem("interface_show_getting_started_prompt","true"):localStorage.removeItem("interface_show_getting_started_prompt"),S("WELCOME_TO_SMARTERMAIL").then((function(){}),(function(){})),P.helpText=s.customHelpText,P.helpText||(P.helpText=S.instant("OPEN_HELP")),P.helpUrl=s.customHelpUrl,P.helpUrl||(P.helpUrl="https://help.smartertools.com/SmarterMail/current/?page=login&v=17"),P.customHtmlBlock=o.trustAsHtml(s.customHtmlBlock),P.backgroundColor=s.backgroundColor,$(window).width()<737?(P.backgroundColor="#444",P.backgroundImage=null):P.backgroundImage=s.backgroundStillImage,e.$broadcast("pageTitleUpdated",s.customPageTitle);var r=a.getRefreshToken(),i=sessionStorage.autoLoginFromSession;(r||i)&&window.parent===window?(P.initializing=!0,w.applyTextDirectionCss(),i?(P.username=sessionStorage.username,P.password=sessionStorage.password,delete sessionStorage.autoLoginFromSession,delete sessionStorage.username,delete sessionStorage.password,"true"===i?M().then((function(e){e.displayWelcomeWizard&&(P.initializing=!1,P.settingsLoaded=!0,t.$applyAsync())}),L):L()):n.refreshToken().then((function(e){u.impersonating()||(P.displayName=u.getDisplayName()),function(){function e(){u.navigateOnLoginSuccess().then(k,U),P.settingsLoaded=!0}function t(){P.initializing=!1,P.settingsLoaded=!0}p.init({showSpinner:!1}).then(e,t)}()}),L)):(P.rememberMe=!1,L())}}function L(){P.initializing=!1,P.settingsLoaded=!0,d((function(){w.applyTextDirectionCss(),P.loginForm&&"login"===P.state&&(P.manualEmailInput=document.getElementById("loginUsernameBox"),P.manualPasswordInput=document.getElementById("loginPasswordBox"),d((function(){P.username=P.manualEmailInput?P.manualEmailInput.value:null,P.password=P.manualPasswordInput?P.manualPasswordInput.value:null,P.username?$("#loginPasswordBox").trigger("focus"):$("#loginUsernameBox").trigger("focus"),P.loginForm.$setPristine(),P.loginForm.$setUntouched(),t.$applyAsync()}),200,!1))}),100)}function k(){delete sessionStorage.loginNavigationRetried}function U(e){if(e&&6===e.type){if(sessionStorage.loginNavigationRetried)return delete sessionStorage.loginNavigationRetried,sessionStorage.loginNavigationFailedNotice=!0,void n.Logout("login controller (onNavigationFailure persistent failure)");sessionStorage.loginNavigationRetried=!0,window.location.reload()}}t.$on("login:navigationFailed",(function(e,t){U(t)}));const x=function(e,t,a,n,i,c){if(P.showLoggingIn&&(d.cancel(P.showLoggingIn),P.showLoggingIn=void 0),P.autologinToken=n||"",t){switch(t){case"forcePasswordReset":P.previousPassword=P.password,P.password="",P.isSysAdmin=i,!i&&c?(P.username=c.split("@")[0],P.forceResetEmailAddress=c,P.forceResetIsEmail=!0,P.forceResetDisplayValue=c):(P.forceResetIsEmail=!1,P.forceResetDisplayValue=P.username),d((function(){$("input[name=newPassword]").trigger("focus")}));break;case"forcePasswordExpired":t="forcePasswordReset",P.previousPassword=P.password,P.password="",P.passwordExpiredMessage=r("translate")("PASSWORD_RESET_DESCRIPTION_EXPIRED"),c?(P.username=c.split("@")[0],P.forceResetEmailAddress=c,P.forceResetIsEmail=!0,P.forceResetDisplayValue=c):(P.forceResetIsEmail=!1,P.forceResetDisplayValue=P.username),d((function(){$("input[name=newPassword]").trigger("focus")}));break;case"userSetup":f.settingsData.availiableTimeZones.then((function(e){P.timeZoneSearch="",P.availableTimeZones=e;var t=new Date,a=t.getTimezoneOffset(),o=t.getFullYear(),s=new Date(o,0,1),n=new Date(o,6,1),i=!0;s.getTimezoneOffset()===n.getTimezoneOffset()&&(i=!1);var c=null,l=!1;if(f&&f.userSettings){var d=$.grep(P.availableTimeZones,(function(e){return e.index===f.userSettings.timeZoneIndex}));d.length>0&&(c=d[0],l=!0)}for(var u=0;u<P.availableTimeZones.length;++u)P.availableTimeZones[u].translated=r("translate")(P.availableTimeZones[u].displayName),l||(null==c&&P.availableTimeZones[u].utcBias===a?i&&0!==P.availableTimeZones[u].utcBiasDaylight?c=P.availableTimeZones[u]:i||0!==P.availableTimeZones[u].utcBiasDaylight||(c=P.availableTimeZones[u]):P.availableTimeZones[u].utcBias===a&&(i&&0!==P.availableTimeZones[u].utcBiasDaylight?(!c.translated.indexOf("US")>-1||!c.daylightName.indexOf("US")>-1)&&(P.availableTimeZones[u].translated.indexOf("US")>-1||P.availableTimeZones[u].daylightName.indexOf("US")>-1)&&(c=P.availableTimeZones[u]):i||0!==P.availableTimeZones[u].utcBiasDaylight||(!c.translated.indexOf("US")>-1||!c.daylightName.indexOf("US")>-1)&&(P.availableTimeZones[u].translated.indexOf("US")>-1||P.availableTimeZones[u].daylightName.indexOf("US")>-1)&&(c=P.availableTimeZones[u])));P.timeZone=null!=c?c:P.availableTimeZones[0]}
16),h.report),P.recoveryEmail=f.userSettings.backupEmailAddress,P.showRecoveryEmail=f.userPermissions.passwordSettingsEnablePasswordRetrieval&&!f.userSettings.backupEmailAddress;break;case"appPasswordsReset":P.resetAppPasswords=[],P.resetAppPasswordsShow={},P.resetAppPasswordsUnavailable=!1,s.post("~/api/v1/settings/app-passwords",JSON.stringify({})).then((function(e){P.resetAppPasswords=e.data.devices||[],P.resetAppPasswordsUnavailable=0===P.resetAppPasswords.length}),(function(){P.resetAppPasswordsUnavailable=!0}))}return P.state=t,P.loading=!1,P.initializing=P.oldInit,P.isInit=!0,P.twoFactorCode="",P.loginDefer.resolve({displayWelcomeWizard:"userSetup"===P.state})}if(P.displayName=u.getDisplayName(),"twoFactorLogin"!==P.state&&"aupAgreement"!==P.state&&z(),!1===e){switch(P.initializing=P.oldInit,a){case"notLicensed":P.error=r("translate")("LOGIN_PAGE_NOT_LICENSED"),P.loading=!1,$("#loginPasswordBox").select().trigger("focus");break;case"serverDown":P.error=r("translate")("LOGIN_PAGE_MAINTENANCE_BODY"),P.loading=!1,I();break;default:if(a&&-1!==a.indexOf("POLICY_NOT_ACCEPTED")){let e=a.split("|");P.aupHtml=o.trustAsHtml(e[1]),P.state="aupAgreement",P.loading=!1;break}if(a&&-1!==a.indexOf("TWO_FACTOR_REQUIRED")){!function(e){if(P.error="",-1!==e.indexOf("DOMAIN_FORCED_NOT_SETUP")||-1!==e.indexOf("SYSADMIN_NOT_SETUP")){var t=e.split("|");P.tempTypes=t[2].split(","),P.twoFactorSetupTypes=[];for(var a=0;a<P.tempTypes.length;++a)switch(P.tempTypes[a]){case"email":case 1:P.twoFactorSetupTypes.push({value:1,translation:"RECOVERY_EMAIL"});break;case"rfc6238":case 2:P.twoFactorSetupTypes.unshift({value:2,translation:"AUTHENTICATION_APP"})}P.tfSetupType=P.twoFactorSetupTypes[0].value,P.tfSetupUserType=-1!==e.indexOf("SYSADMIN_NOT_SETUP")?"sysadmin":"user",P.tfUserEmail=t[4],P.tfRecoveryMail=t[5],P.state="twoFactorSetup",P.twoFactorSetupStep=0,"sysadmin"!==P.tfSetupUserType&&d((function(){$("input[name=tfrecoverymail]").trigger("focus")}))}else{switch(P.tfUserEmail=e.split("|")[2],P.tfSetupType=e.split("|")[1],P.needsTwoFactor=!0,P.username||(P.username=P.tfUserEmail),P.tfSetupType){case"email":case 1:P.error=S.instant("TWO_FACTOR_SETUP_2_MAIL");break;case"rfc6238":case 2:P.error=S.instant("TWO_FACTOR_SETUP_2_RFC")}d((function(){$("input[name=twofactorcode]").trigger("focus")}))}}(a),P.loading=!1;let e=a.split("|");e.length>=7&&C(e[6]);break}if(void 0!==a&&""!==a)if(a.contains(" ")){for(var l=a.split(" "),g="",p=0;p<l.length;p++)g+=" "+r("translate")(l[p]);P.error=g.trim()}else P.error=r("translate")(a);else P.error=r("translate")("USERNAME_OR_PASSWORD_INCORRECT");P.loading=!1,$("#loginPasswordBox").select().trigger("focus")}P.isInit=!0,P.initializing&&L()}return E.setSortingFilteringParam("chat","doLogout",void 0),E.setSortingFilteringParam("system","doLogout",void 0),P.loginDefer.resolve({navigatedAway:!0===e})};function M(e){return P.loginDefer=g.defer(),
17//! TODO:: [SMAIL-2439] If it causes problems, delete remember me data for old user from localStorage
18null==e&&(e=""),!e&&P.twoFactorCode&&(e=P.twoFactorCode),P.username&&P.password&&P.username.trim().length>0&&P.password.trim().length>0||P.autologinToken?(P.loading=!0,v.invalidateAll(),a.saveRememberMe(P.rememberMe),P.oldInit=P.initializing,P.showLoggingIn=d((function(){P.initializing=!0,P.showLoggingIn=void 0}),500),n.Login(P.username,P.password,e,P.autologinToken,x)):(P.error=r("translate")("USERNAME_OR_PASSWORD_INCORRECT"),$("#loginPasswordBox").select().trigger("focus")),P.loginDefer.promise}function W(){if(P.twoFactorCode){var e=1===P.tfSetupType?"email":"rfc6238",t=n.getAuthStepConfig();s.post("~/api/v1/settings/user-check-two-factor-code/"+P.twoFactorCode,JSON.stringify({secret:P.tfSecretKey||"",type:e}),t).then((function(o){!0===o.data.result?(P.tfCodeError=!1,s.post("~/api/v1/settings/user-set-two-factor-secret",JSON.stringify({secret:P.tfSecretKey,type:e,code:P.twoFactorCode}),t).then((function(e){e.data&&e.data.accessToken&&n.setAuthStepToken(e.data.accessToken,e.data.accessTokenExpiration);const t=n.getAuthStepConfig(),o=a.getClientId();s.post("~/api/v1/auth/authenticate-two-factor-code",{TwoFactorCode:P.twoFactorCode,ClientId:o},t).then((function(e){var t=e.data;t.accessToken&&t.refreshToken?(a.saveToken(t,!1,"login.controller.checkTwoFactorCode"),n.clearAuthStepToken(),P.hasVerifiedT
18woFactor=!0,Z()):(P.error=r("translate")("INVALID_TWO_FACTOR_CODE"),H())}),(function(e){const t=e&&e.data?e.data.message:"";P.error=t?r("translate")(t):r("translate")("INVALID_TWO_FACTOR_CODE"),H()}))}),(function(e){const t=e&&e.data?e.data.message:"";P.error=t?r("translate")(t):r("translate")("INVALID_TWO_FACTOR_CODE"),P.tfCodeError=!0}))):P.tfCodeError=!0}),(function(){P.tfCodeError=!0}))}}function Z(){"sysadmin"!==P.tfSetupUserType?s.post("~/api/v1/settings/app-passwords",JSON.stringify({email:P.tfUserEmail})).then((function(e){P.tfAppPasswords=e.data.devices||[],P.twoFactorSetupStep=4}),(function(){})):p.init().then((function(){u.navigateOnLoginSuccess().then(k,U)}))}function B(){P.twoFactorSetupStep=0,P.twoFactorCode="",P.tfSecretKey="",P.tfRecoveryMail="",P.tfConfirmRecoveryMail="",P.tfCantScan=!1,P.tfUserEmail="",P.error="",P.tfCodeError=!1,P.tfSetupType="",P.hasVerifiedTwoFactor=!1,P.state="login",P.tfRecover="",P.hasResetTwoFactor=!1,P.requireTwoFactorReset=!1,P.tfAppPasswords=[]}function H(){B()}function V(e){if(null==e)return"";for(var t="",a=e.split(" "),o=0;o<a.length;++o)o>0&&(t+=" "),t+=r("translate")(a[o]);return t}function z(){P.captchaSuccess=void 0,P.captchaError=void 0,P.email=void 0,P.captchaText=void 0,P.imageContent=void 0,P.resetPasswordError=void 0,P.resetPasswordSuccess=void 0,P.newPassword=void 0,P.confirmPassword=void 0,P.state="login",d((function(){$("input[name=username]").trigger("focus")}))}P.getImageSource=function(e){return e||"img/email.svg"},P.permissionsFetched=!1}e.$inject=["$rootScope","$scope","authStorage","$sce","$http","AuthenticationService","$filter","$location","browserNotifications","localStorageService","$timeout","claimsService","$q","coreData","coreDataSettings","$state","localeInfoService","$translate","apiBase","errorHandling","successHandling","preferencesStorage","userDataService"],angular.module("smartermail").controller("loginController",e)}();
19!function(){"use strict";function l(l,n,c){var a=null;this.setModalCallback=function(l){a=l},this.cancelModal=function(){null==a?(c.cancel(),null):(a(),a=null,null)}}l.$inject=["$rootScope","$location","$mdDialog"],angular.module("smartermail").service("modalService",l)}();
20!function(){"use strict";function t(t){return{request:function(t){if(t&&t.url&&0==t.url.indexOf("~/")){t.url;t.url=stSiteRoot+t.url.substr(2)}return t}}}t.$inject=["$log"],angular.module("smartermail").factory("siteRootPathInterceptor",t)}();
21!function(){"use strict";function e(e,r,l,a,t,o,n,c){var s=this;s.showCreateFolderModal=async function(e){try{return await l.show({locals:{},controller:"createCalendarFolderController",controllerAs:"ctrl",templateUrl:"app/calendars/modals/create-folder.dlg.html",targetEvent:e,clickOutsideToClose:!1}),!0}catch(e){}},s.showRenameFolderModal=async function(e,r){if(!r)return;try{let a;return a=r.isSharedItem&&"gal"!==r.itemID?await l.show({controller:"editSharedFolderDialogController",controllerAs:"ctrl",templateUrl:"app/shared/modals/edit-shared-folder.dlg.html",targetEvent:e,locals:{folderId:r.folderId,webcalLink:null,folder:null}}):await l.show({locals:{source:r},controller:"renameCalendarFolderController",controllerAs:"ctrl",templateUrl:"app/calendars/modals/rename-folder.dlg.html",targetEvent:e,clickOutsideToClose:!1}),a&&a.detached&&n.removeSourceVisibility("calendars",r),!0}catch(e){}},s.showDeleteFolderModal=async function(e,s){if(!s||s.isPrimary||s.isResource)return;const d=s.displayName?a.instant(s.displayName):s.name,i=l.confirmDeletion().htmlContent(t("translate")("CONFIRMATIONS_DELETE_FOLDER",{name:d})).targetEvent(e);try{await l.show(i)}catch(e){return}try{return await r.post("~/api/v1/calendars/calendar-delete/"+s.id),n.removeSourceVisibility("calendars",s),await c.removeCalendarSource(s.id),!0}catch(e){o.report(e)}},s.showShareFolderModal=async function(e,r){try{return await l.show({locals:{source:r},controller:"shareCalendarFolderController",controllerAs:"ctrl",templateUrl:"app/calendars/modals/share-folder.dlg.html",targetEvent:e,clickOutsideToClose:!1}),!0}catch(e){}},s.showSharedFolderPropertiesModal=async function(e,r){try{let a=await l.show({controller:"editSharedFolderDialogController",controllerAs:"ctrl",templateUrl:"app/shared/modals/edit-shared-folder.dlg.html",targetEvent:e,locals:{folderId:r.folderId,webcalLink:null,folder:null}});return a&&a.detached&&n.removeSourceVisibility("calendars",r),!0}catch(e){}},s.showDeleteSchedulingFolderModal=async function(e,s){if(!s||s.isPrimary||s.isResource)return;const d=s.displayName?a.instant(s.displayName):s.name,i=l.confirmDeletion().htmlContent(t("translate")("SCHEDULING_CALENDAR_DELETE",{name:d})).targetEvent(e);try{await l.show(i)}catch(e){return}try{return await r.post("~/api/v1/calendars/calendar-delete/"+s.id),n.removeSourceVisibility("calendars",s),await c.removeCalendarSource(s.id),!0}catch(e){o.report(e)}},s.showSubscribedCalendarModal=async function(e,r){const a={locals:{source:r},controller:"subscribeToCalendarController",controllerAs:"ctrl",templateUrl:"app/calendars/modals/subscribe-to-calendar.dlg.html",targetEvent:e,clickOutsideToClose:!1};try{return await l.show(a)}catch(e){}}}e.$inject=["$rootScope","$http","$mdDialog","$translate","$filter","errorHandling","preferencesStorage","coreDataCalendar"],angular.module("smartermail").service("calendarActions",e)}();
22!function(){"use strict";function e(e,n,i,a,t,r,l,o,c,s){var d=this,u=n.isPopout;function f(){s.ensureActivated();var e=t.getPopoutData();l.editingEvent=e.originalEvInfo,l.editingEvent.popoutData=e.eventDetails,d.initializeCoreDataCalendar(
22),n.isInit=!0}function v(n,i,t,r){e.spinner.show();var l="";null!=r&&(l=JSON.stringify({instanceStart:moment(r).toDate()})),a.post("~/api/v1/calendars/events/delete/"+n+"/"+i+"/"+t.id,l).then(window.close,c.showErrorMessage).finally(e.spinner.hide)}function g(){u=!1,window.close()}function p(t,r){u=!1;var o,s,d,f=l.editingEvent;r.deleteEvent?null!=r.instance?v(f.owner,f.calId,f.info,r.instance):v(f.owner,f.calId,f.info):r.acceptInvite?(o=f.owner,s=f.calId,d=f.info.id,e.spinner.show(),a.post("~/api/v1/calendars/meeting-accept/"+o+"/"+s+"/"+d).then(window.close,(function(){})).finally(e.spinner.hide)):r.declineInvite?function(n,i,t){e.spinner.show(),a.post("~/api/v1/calendars/meeting-decline/"+n+"/"+i+"/"+t).then(window.close,(function(){})).finally(e.spinner.hide)}(f.owner,f.calId,f.info.id):null!=r.changes&&r.changes.length>0&&function(n,i,t,r,l){if(l&&!(l.length<0)){var o=$.extend(!0,{},r);for(var s in l){var d=l[s];null!=d.calId?o.calendarId=d.calId:null!=d.owner?o.calendarOwner=d.owner:null!=d.subject?o.subject=d.subject:null!=d.location?o.location=d.location:null!=d.resourceId?o.resourceId=d.resourceId:null!=d.start?o.start=d.start:null!=d.end?o.end=d.end:null!=d.allDay?o.allDay=d.allDay:null!=d.availability?o.availability=d.availability:null!=d.reminderIndex?o.reminderIndex=d.reminderIndex:null!=d.emailNotificationEnabled?o.emailNotificationEnabled=d.emailNotificationEnabled:null!=d.emailNotification?o.emailNotification=d.emailNotification:null!=d.description?o.description=d.description:null!=d.isPrivate?o.isPrivate=d.isPrivate:null!=d.organizerName?o.organizerName=d.organizerName:null!=d.organizerEmail?o.organizerEmail=d.organizerEmail:null!=d.attendees?o.attendees=d.attendees:null!=d.categories?o.categories=d.categories:null!=d.recurrence&&(o.recurrence=d.recurrence)}e.spinner.show();var u=JSON.stringify(o);a.post("~/api/v1/calendars/events/save/"+n+"/"+i+"/"+t,u).then(window.close,c.showErrorMessage).finally(e.spinner.hide)}}(f.owner,f.calId,f.info?f.info.id:null,f.info,r.changes),n.editingCalEvent=!1,l.editingEvent=void 0,i((function(){$(window).trigger("resize")}))}function w(){if(u)return u=!1,!0}n.calendars=[],n.conferenceRooms=[],n.isInit=!1,e.spinner.show(),r.init().then(f,o.report).finally(e.spinner.hide),e.$on("cancelEditingEvent",g),e.$on("saveEditingEvent",p),window.onbeforeunload=w,d.initializeCoreDataCalendar=function(){n.calendars=l.getCalendars(),n.conferenceRooms=l.getResources(),e.spinner.hide()}}e.$inject=["$rootScope","$scope","$timeout","$http","authStorage","coreData","coreDataCalendar","errorHandling","errorMessageService","themesService"],angular.module("smartermail").controller("calendarEventPopoutController",e)}();
23!function(){"use strict";function e(e,t,n,r,a,s,o,i,l,d,c,u,p,h,f,m,w,v,g,y,T,E,x,P,C,R,D,k,b,S,I,A,O,M,N,V,W){var L=this,F=!1;const z=a("translate")("CALENDAR"),U=a("translate")("NO_ITEMS_TO_SHOW"),Y=a("translate")("RECURRING"),H=a("translate")("TENTATIVE");function G(){r((function(){Me()}))}function K(e,n){t.treeExpanded=n.expanded,r((function(){$(window).trigger("resize")}),250)}function B(){t.edition=b.edition}function Z(){L.locale=h.getValidLocale(),e.spinner.show(),Ve(),L.tableParams=new C({sorting:{start:"desc"}},{getData:he,counts:e.commonTableCounts,defaultSort:"desc"}),L.checkboxes.table=L.tableParams,t.currentView=function(){switch(v.parameters.currentView){case"month":case"listMonth":v.parameters.currentView="dayGridMonth";break;case"agendaWeek":v.parameters.currentView="timeGridWeek";break;case"agendaDay":v.parameters.currentView="timeGridDay"}return v.parameters.currentView}(),window.innerWidth<=736&&"listTwoWeek"!==t.currentView&&"allview"!==t.currentView&&(v.parameters.currentView="listTwoWeek",t.currentView="listTwoWeek"),h.onReady().then((()=>{L.locale=h.language,L.fullCalendar&&L.fullCalendar.setOption("locale",L.locale)}),(()=>{})),v.setDateRange(moment().add(-1,"month"),moment().add(1,"month")).then((function(){(function(){const e=v.getResources(),n=[];if(e)for(let t=0;t<e.length;t++)e[t].isMapped&&n.push(e[t]);t.resources=n})(),Oe(),g.init(),t.showTasksTree=y.userSettings.calendarSettings.showTaskStarts||y.userSettings.calendarSettings.showTaskDues,r((function(){!function(){const e=[v.loadSourcesTree(t.sourcesTreeController,!1),v.loadTasksTree(t.tasksTreeController,!1)];function n(e){!1===e[0]&&ue(),xe()}d.all(e).then(n,(function(){}))}()})),t.isInitialized=!0,r((function(){!function(){const e=E.userTimeZone.location,n=document.getElementById("calendarView"),r=()=>{t.$applyAsync((()=>L.hoveredEvent=null)),t.$applyAsync((()=>L.reminderText=null))},a=_.debounce(r,50);L.fullCalendar=new FullCalendar.Calendar(n,{allDayText:s.instant("ALL_DAY"),businessHours:v.parameters.visibleHours(),dateClick:_.debounce(le,500,!0),dragScroll:"scrollFix",editable:!0,eventClick:L.onEventClick,eventDidMount:oe,eventDisplay:"block",eventDrop:de,eventResize:ce,events:ne,eventMouseEnter:function(e){a.cancel();const n=document.getElementById("calendarHoverPane");if(null!=n){if(e.jsEvent.clientY>window.innerHeight/2?(n.style.bottom=window.innerHeight-e.jsEvent.clientY+20+"px",n.style.top=null):(n.style.top=e.jsEvent.clientY+20+"px",n.style.bottom=null),e.jsEvent.clientX>window.innerWidth/1.2?(n.style.right=window.innerWidth-e.jsEvent.clientX+20+"px",n.style.left=null):(n.style.left=e.jsEvent.clientX+20+"px",n.style.right=null),L.hoveredEvent=e.event,function(e){if(null!=e){const n=moment.duration(1e3*e),r=Math.floor(n.asWeeks()),a=Math.floor(n.asDays()-7*r),o=Math.floor(n.as
23Hours()-(a+24*r*7)),i=Math.floor(n.asMinutes()-(o+24*a+7*r*24*60)),l=Math.floor(n.asSeconds()-(60*i+60*o*60+24*a*60*60+24*r*7*60*60));r?t.$applyAsync((()=>L.reminderText=W.reactPluralize("REMINDER_WEEKS",{count:r}))):a?t.$applyAsync((()=>L.reminderText=W.reactPluralize("REMINDER_DAYS",{count:a}))):o?t.$applyAsync((()=>L.reminderText=W.reactPluralize("REMINDER_HOURS",{count:o}))):i?t.$applyAsync((()=>L.reminderText=W.reactPluralize("REMINDER_MINUTES",{count:i}))):l?t.$applyAsync((()=>L.reminderText=W.reactPluralize("REMINDER_SECONDS",{count:l}))):t.$applyAsync((()=>L.reminderText=s.instant("AT_APPOINTMENT_TIME")))}else t.$applyAsync((()=>L.reminderText=s.instant("NO_REMINDER_SET")))}(e.event.extendedProps.firstReminder),null!=e.event.end){var r=function(e,t){let n=new Date(e);n.setHours(0,0,0,0);let r=new Date(t);r.setHours(0,0,0,0);let a=(r-n)/864e5;return Math.abs(a)}(moment(e.event.start),moment(e.event.end));let t=moment(e.event.end).tz(E.userTimeZone.location);e.event.allDay&&r>1?(t=t.subtract(1,"days"),L.endDateText=t.format("MM/DD/YY")+" "):e.event.allDay&&r<=1?L.endDateText=null:L.endDateText=r<1?t.format("h:mm a")+" ":t.format("MM/DD/YY h:mm a")+" "}if(null!=e.event.start){let t=moment(e.event.start).tz(E.userTimeZone.location);e.event.allDay?L.startDateText=t.format("MM/DD/YY")+" ":L.startDateText=t.format("MM/DD/YY h:mm a")+" "}t.$applyAsync()}},eventMouseLeave:function(){a()},loading:Fe,fixedWeekCount:!1,headerToolbar:!1,initialDate:moment().toDate(),initialView:"allview"!==t.currentView?t.currentView:L.defaultView,firstDay:y.userSettings.calendarSettings.firstDayOfWeek,locale:L.locale.toLowerCase(),listDaySideFormat:{weekday:"long"},navLinks:!1,noEventsContent:ie,nowIndicator:!0,rerenderDelay:100,selectable:!1,resourceAreaWidth:"15%",slotEventOverlap:!0,resourceAreaHeaderContent:s.instant("CALENDARS"),resourceOrder:"type,sortIndex",schedulerLicenseKey:"0805104588-fcs-1785904489",timeZone:e,resources:ee,dayMaxEvents:!0,viewDidMount:function(e){j(e.view.type,L.resourceCount)},views:{listTwoWeek:{type:"list",duration:{days:14},displayEventTime:!0},week:{eventMaxStack:2,slotEventOverlap:!1,displayEventTime:!1},day:{eventMaxStack:6,slotEventOverlap:!1,displayEventTime:!1},resourceTimelineDay:{resourceAreaWidth:"15%",expandRows:!0,eventMaxStack:6,slotEventOverlap:!1,displayEventTime:!1,slotMinWidth:60},resourceTimeGridDay:{eventMaxStack:3,slotEventOverlap:!1,displayEventTime:!1}},weekends:v.parameters.useWeekends()})}(),t.updateDateTitle(),L.fullCalendar.render(),L.fullCalendar.scrollToTime(moment().format("HH:mm:ss"))}),100)}),D.report).finally(e.spinner.hide)}function j(e,t){switch(L.fullCalendar.setOption("dayMaxEventRows",!1),e){case"timeGridWeek":L.fullCalendar.setOption("eventMaxStack",2);break;case"timeGridDay":L.fullCalendar.setOption("eventMaxStack",6);break;case"resourceTimelineDay":var n=t>8?2:t>6?4:t>3?5:t>2?6:10;L.fullCalendar.setOption("eventMaxStack",n);break;case"resourceTimeGridDay":var r=t>6?2:t>4?3:t>3?4:t>2?5:6;L.fullCalendar.setOption("eventMaxStack",r);break;default:L.fullCalendar.setOption("eventMaxStack",null)}}t.treeExpanded=I.isExpanded,t.isLoaded=!0,t.recurringStr=Y,t.isInitialized=!1,t.resources=[],t.calendarSourcesAll=[],t.needsAllRefresh=!0,t.activeSearch=!1,L.resourceCount=1,t.totalCount=0,L.searchParams={skip:0,take:0,search:null,sortField:null,sortDescending:!0},L.tableParams=new C({}),L.checkboxes=R.init(),L.checkboxes.table=L.tableParams,L.checkboxes.ignoreItemDelegate=function(e){return be(e)},L.checkboxes.specialKey=function(e){return e.owner+"|"+e.calId+"|"+e.id},t.currentView="listTwoWeek",t.currentViewDisplay="",t.dateTitle="",t.dateTitleShort="",t.currentViewDate=moment(),L.params=v.parameters,L.searchText=v.parameters.searchText,L.sortField=v.parameters.sortField,t.noSourcesSelected=!1,L.userTimeZone=void 0,L.fullCalendar=void 0,t.hasCategoryFilter=v.parameters.hasCategoryFilter,L.viewOptions=[{id:"dayGridMonth",name:"MONTH",icon:"toolsicon-calendar_view_month"},{id:"timeGridWeek",name:"WEEK",icon:"toolsicon-calendar_view_week"},{id:"timeGridDay",name:"DAY",icon:"toolsicon-calendar_view_day"}
23,{id:"listTwoWeek",name:"CALENDAR_AGENDA",icon:"toolsicon-view_agenda"},{id:"resourceTimeGridDay",name:"SCHEDULE",icon:"toolsicon-overview"},{id:"resourceTimelineDay",name:"TIMELINE",icon:"toolsicon-view_timeline"},{id:"allview",name:"GRID_VIEW",icon:"toolsicon-list_alt"}],L.mobileViewOptions=[{id:"listTwoWeek",name:"CALENDAR_AGENDA",icon:"toolsicon-view_agenda"},{id:"timeGridDay",name:"DAY",icon:"toolsicon-calendar_view_day"}],L.isVisibleRenameFolder=!1,L.isVisibleDeleteFolder=!1,L.isVisibleShareFolder=!1,L.isVisibleFolderProperties=!1,L.isVisibleSubscribedFolderProperties=!1,L.showManageShares=y.userDomainSettings.enableSharing,t.branchMouseUp=function(e,n){if(n.stopPropagation(),n.preventDefault(),n.cancelbubble=!0,!n||3!==n.which)return;if(e.data.unclickable)return;t.dropdownEvent=$.extend(!0,{},n),t.dropdownOptions=function(e,t){return[{key:"newFolder",click:Ke,params:{event:t,branch:e},translateKey:"NEW_FOLDER"},{key:"renameFolder",click:Be,params:{event:t,branch:e},translateKey:"EDIT_FOLDER",show:ze(e)},{key:"deleteFolder",click:Ze,params:{branch:e,event:t},translateKey:"DELETE_FOLDER",show:Ue(e)},{key:"shareFolder",click:je,params:{branch:e,event:t},translateKey:"SHARE_FOLDER",show:Ye(e)},{key:"sharedFolderProperties",click:Je,params:{branch:e,event:t},translateKey:"PROPERTIES",show:He(e)},{key:"subscribedFolderProperties",click:Xe,params:{branch:e,event:t},translateKey:"PROPERTIES",show:Ge(e)}]}(e,n);let r=!1;for(let e=0;e<t.dropdownOptions.length;e++)(t.dropdownOptions[e].show||void 0===t.dropdownOptions[e].show)&&(r=!0);if(!r)return;var a=$("#context-menu-area");if(a){var s=o('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']" menu-like="true" menu-class="\'abn-tree-row\'"></st-context-menu>')(t);a.append(s)}},t.calendarMoveBack=function(){L.fullCalendar.prev(),t.updateDateTitle()},t.calendarMoveForward=function(){L.fullCalendar.next(),t.updateDateTitle()},t.contextMenuGridItem=function(e,n){if(!n||"touchstart"!==n.type&&"touchend"!==n.type&&3!==n.which||e.criticallyErrored)return;if(n.stopPropagation(),n.preventDefault(),e.isDomainResource)return;var r=L.checkboxes.getCheckedItems(),a=!1;if(r.length<=1||!_.some(r,(t=>t.split("|")[2]==e.id))){if(e.extendedProps.isPrivate&&!Le(e.extendedProps.owner,w.user.username)&&!e.extendedProps.hasPrivatePermission)return;L.checkboxes.reset(),L.checkboxes.checkCheckbox(n,e),r=[e.owner+"|"+e.calId+"|"+e.id],a=e.permission<8&&!Le(e.owner,w.user.username)}t.dropdownEvent=$.extend(!0,{},n),t.dropdownOptions=[],a||t.dropdownOptions.push({key:"deleteEvents",click:function(e){Ce(e.events,null,e.item)},params:{events:r,item:e},translateKey:"DELETE"});t.dropdownOptions.push({key:"exportIcsFile",click:function(){Pe()},translateKey:"EXPORT_ICS_FILE"});const s=$("#context-menu-area");if(s){const e=o('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(t);s.append(e)}},t.deleteEvents=Ce,t.editItem=_.debounce((function(e,t){if(e.isDomainResource||e.permission<=2)return void Ie(e,t);if(e.isPrivate&&!Le(e.owner,w.user.username)&&!e.hasPrivatePermission)return void Se(e,t);localStorage.apptPopout=JSON.stringify({owner:e.owner,calId:e.calId,id:e.id,data:{start:e.start,allDay:e.allDay}});const n=`/popout/appointment/${e.owner}/${e.calId}/${e.id}`;window.open(window.location.href.replace("/calendar",n),"_blank",`resizable=1, ${O.dimensions.calendar}`)}),500,!0),t.getCardDate=function(e){return e.toDate()},t.goToToday=function(){L.fullCalendar.today(),t.updateDateTitle(),L.fullCalendar.refetchEvents()},t.isSourceSelected=Re,t.onBranchSelect=async function(n,a,s){for(let e=0;e<t.sourcesTree.data.length;e++){t.sourcesTree.data[e].selected=!1}for(let e=0;e<t.tasksTree.data.length;e++){t.tasksTree.data[e].selected=!1}L.selectedBranch=n,n.selected=!0;let o=n.data.isVisible;n.data.isVisible=!s||!n.data.isVisible;n.data.source.isVisible=n.data.isVisible,o!=n.data.isVisible&&await async function(n){try{e.spinner.show();var a=t.noSourcesSelected;if(n.data.source.isCalendar)await We("calendars",n.data.source);else if(n.data.source.isTask)await We("calendartask",n.data.source);else{if(!n.data.source.isDomainResource)return;await We("resource",n.data.source)}t.searchUpdate(),a&&r((function(){fe(t.currentView,t.currentView)}))}catch(e){D.report(e)}
23finally{e.spinner.hide()}}(n);L.isVisibleRenameFolder=ze(n),L.isVisibleDeleteFolder=Ue(n),L.isVisibleShareFolder=Ye(n),L.isVisibleFolderProperties=He(n),L.isVisibleSubscribedFolderProperties=Ge(n)},t.openManageCategoriesModal=async function(e){try{await i.show({controller:"manageCategoriesDialogController",controllerAs:"manageCategoriesCtrl",templateUrl:"app/shared/modals/manage.categories.dlg.html",targetEvent:e})}catch(e){}},t.searchUpdate=function(){L.searchParams.search=L.searchText,""!==L.searchText?t.activeSearch=!0:t.activeSearch=!1;v.parameters.searchText=L.searchText,ue()},t.showDatePicker=function(e){l(L.fullCalendar.getDate()||t.currentViewDate.toDate(),{targetEvent:e}).then((function(e){t.currentViewDate=moment(e),L.fullCalendar.gotoDate(e),t.updateDateTitle()}))},t.translateCategory=function(e){var t=s.instant(e);return $("<div>").html(t).text()},t.updateDateTitle=function(){t.dateTitle=L.fullCalendar.view.title,t.dataTitleShort=L.fullCalendar.view.title},L.addToOutlook=function(){i.show({locals:{calendars:v.getCalendars().filter((e=>!e.isDomainResource))},controller:"calendarOutlookDialogController",controllerAs:"ctrl",templateUrl:"app/calendars/modals/calendar-outlook.dlg.html",clickOutsideToClose:!1}).then((function(t){e.spinner.show();const r={outlookVersion:t.outlookVersion,addType:"calendar",calendarName:t.calendar.id,addId:t.calendar.id,owner:t.calendar.owner,displayName:t.displayName};n.post("~/api/v1/outlook/add-to-url",r).then((function(t){e.spinner.hide(),window.open(t.data,"_self")}),(function(t){e.spinner.hide(),D.report(t)}))}),(function(){}))},L.isRestrictedPrivate=be,L.exportIcsFile=Pe,L.hideCalendar=function(){return"allview"===t.currentView||"listTwoWeek"===t.currentView&&$(".fc-view-container .fc-list-empty").length},L.importIcsFile=function(){for(var e=v.getCalendars(),t=[],n=0;n<e.length;++n)(8==e[n].permission||10==e[n].permission)&&t.push(e[n]);i.show({locals:{calendars:t},controller:"calendarIcsDialogController",controllerAs:"ctrl",templateUrl:"app/calendars/modals/calendar-ics.dlg.html",clickOutsideToClose:!1})},L.modifyEvent=function(e,t){const n=e.extendedProps.owner,r=e.extendedProps.calId;if(e.extendedProps.isPrivate&&!e.extendedProps.hasPrivatePermission&&!Le(n,w.user.username))return void Se(e,t);localStorage.apptPopout=JSON.stringify({owner:n,calId:r,id:e.id,duplicate:e.extendedProps.duplicate,data:{start:e.start,allDay:e.allDay}});var a=`/popout/appointment/${n}/${r}/${e.id}`;if(e.extendedProps.isRecurring){a+=`?instanceId=${moment(e.extendedProps.occurrenceId).utc().format("YYYYMMDDHHmmss")}`,a+=`&instanceStart=${moment(e.start).format("YYYYMMDDHHmmss")}`,a+=`&instanceEnd=${moment(e.end).format("YYYYMMDDHHmmss")}`}else if(e.extendedProps.occurrenceId){a+=`?instanceId=${moment(e.extendedProps.occurrenceId).utc().format("YYYYMMDDHHmmss")}`}window.open(window.location.href.replace("/calendar",a),"_blank",`resizable=1, ${O.dimensions.calendar}`)},L.modifyTask=function(e,t){if(e.extendedProps.permission<8&&e.extendedProps.isPrivate)return void function(e){if(!e)return;i.show({locals:{titleText:s.instant("PRIVATE_TASK"),bodyText:s.instant("CALENDAR_ITEM_WITH_AVAILABILITY_ONLY_PERMISSIONS")},controller:"calendarAvailOnlyDialogController",controllerAs:"ctrl",templateUrl:"app/calendars/modals/calendar-availonly.dlg.html",clickOutsideToClose:!1})}(e);f.getPopoutData();const n=e.id.replace("START_","").replace("DUE_","");window.open(window.location.href.replace("/calendar",`/popout/task/${n}/${e.extendedProps.sourceId}/${e.extendedProps.owner}`),n,`resizable=1, ${O.dimensions.task}`)},L.onCategoryFilterChanged=function(){me()},L.onContextDeleteFolder=Ze,L.onContextNewFolder=Ke,L.onContextRenameFolder=Be,L.onContextSharedFolderProperties=Je,L.onContextShareFolder=je,L.onContextEditSubscribedFolder=Xe,L.onEventClick=_.debounce((function(t){const r=t.event,a=t.jsEvent;!function(t,r){if(r.preventDefault(),t.extendedProps.permission>2)!1===t.extendedProps.isTask?L.modifyEvent(t,r):L.modifyTask(t,r);else if(t.extendedProps.isDomainResource&&t.extendedProps.reservedBy){if(t.extendedProps.reservedBy){let e=t.extendedProps.reservedBy,n=e.indexOf("(");if(n>-1&&(e=e.substring(n+1),n=e.indexOf("@"),n>-1&&(e=e.substring(0,n),e.toUpperCase()!==t.currentUser.toUpperCase())))return void Ie(t,r)}(a=t,e.spinner.show(),n.get(`~/api/v1/calendars/resource/org-info/${a.calId}/${a.id}/${a.organizer.address}`).finally(e.spinner.hide)).then(s,o)}else Ie(t,r);var a;function s(e){if(e.data.found&&e.data.user.toUpperCase()===t.currentUser.toUpperCase()){var n=angular.copy(t);n.source.owner=e.data.user,n.source.id=e.data.calId,n.source.uid=e.data.calId,L.modifyEvent(n,r)}else Ie(t,r)}function o(){Ie(t,r)}}(r,a)}),500,!0),L.onViewChanged=function(e,n){L.tableParams.settings({dataset:[]});const r=t.currentView;t.currentView=v.parameters.currentView=e||L.defaultView,t.updateDateTitle(),Oe(),"allview"===t.currentView?t.searchUpdate():fe(e,r)},L.print=function(){window.print()},L.searchItems=function(){L.searchParams.search=L.searchText,ue()},L.subscribe=async function(e){let t=await u.showSubscribedCalendarModal(e,null);t&&(t.detached&&Ve(!0),$e(),L.fullCalendar.refetchEvents())},L.onFilterChanged=function(e){switch(e){case"all":L.params.filterType=void 0;break;case"attachments":L.params.filterType=1}me()},function(){B(),b.watchForChanges(t,B),w.init().then((function(){E.init().then(
23Z,D.report)}),D.report),L.windowWidth=L.lastWindowWidth=$(window).width(),L.defaultView=window.innerWidth<=736?"listTwoWeek":"timeGridWeek",t.currentView=v.parameters.currentView?v.parameters.currentView:v.parameters.currentView=L.defaultView,window.addEventListener("focus",G),window.addEventListener("resize",Ae,!0);var e=_.debounce((function(){t.$applyAsync((function(){if(window.innerWidth<=736&&"listTwoWeek"!==t.currentView&&"allview"!==t.currentView){const e=t.currentView;t.currentView=v.parameters.currentView="listTwoWeek",Oe(),fe(t.currentView,e)}Me()}))}),100,!1);$(window).on("resize.doResize",e),t.$on("$destroy",(function(){window.removeEventListener("resize",Ae,!0),window.removeEventListener("focus",G),$(window).off("resize.doResize",e)})),v.reloadOnEnterCalendar&&_e();t.$on("treeState:stateChange",K),t.$on("calendarRefresh",Ne),t.$on("signalR.mailHub.client.sharesChanged",_e),t.$on("signalR.mailHub.client.folderChange",_e),t.sourcesTreeController={},t.tasksTreeController={},t.sourcesTree=v.getSourcesTree(),t.tasksTree=v.getTasksTree(),t.showTasksTree=!0,Me()}();var J=[];function X(e,t){return J[e]||(J[e]=[]),J[e][t]||(J[e][t]=d.defer(),n.get(encodeURI(t)).then(J[e][t].resolve,J[e][t].reject).finally((function(){J[e][t]=null}))),J[e][t].promise}var q=[];function Q(e,t,r){return q[e]||(q[e]=[]),q[e][{url:t,params:r}]||(q[e][{url:t,params:r}]=d.defer(),n.post(encodeURI(t),r).then(q[e][{url:t,params:r}].resolve,q[e][{url:t,params:r}].reject).finally((function(){q[e][{url:t,params:r}]=null}))),q[e][{url:t,params:r}].promise}function ee(e,t,n){const r=v.getCalendars(),o=v.getTasks(),i=v.getResources(),l=[];r&&r.forEach(((e,t)=>{e.isVisible&&l.push({id:e.id,title:a("folderTranslate")(e.name,e.owner),eventOverlap:!0,owner:e.owner,sortIndex:t,typeLabel:s.instant("CALENDAR"),type:0,extendedProps:{owner:e.owner,type:0,editable:e.permission>=8}})})),i&&i.forEach(((e,t)=>{if(e.isVisible){var n=ae(e.color);l.push({id:e.id,title:a("folderTranslate")(e.name),eventOverlap:!0,owner:null,eventBackgroudColor:e.color,eventTextColor:n.text,eventBorderColor:n.border,sortIndex:t,typeLabel:s.instant("ROOM"),type:1,extendedProps:{owner:e.owner,type:1,editable:!1}})}})),o&&o.forEach(((e,t)=>{if(e.isVisible){var n=ae(e.color);l.push({id:e.id,title:a("folderTranslate")(e.name,e.owner),owner:e.owner,eventBackgroudColor:e.color,eventTextColor:n.text,eventBorderColor:n.border,type:2,typeLabel:s.instant("TASK"),sortIndex:t,extendedProps:{owner:e.owner,type:2,editable:e.permission>=8}})}})),L.resourceCount=l.length,L.fullCalendar&&j(L.fullCalendar.view.type,L.resourceCount),t(l)}let te=!0;function ne(n,r,s){const o=v.getCalendars(),i=v.getTasks(),l=v.getResources(),c=[],u=[];let p=0;for(let e=0;e<o.length;++e){const t=o[e];if(t.isVisible){var h=JSON.stringify({startDate:E.convertLocalToUserTimeMoment(n.start).toISOString(),endDate:E.convertLocalToUserTimeMoment(n.end).toISOString()});u.push(Q(`${t.owner}|${t.id}`,`~/api/v1/calendars/events/${t.owner}/${t.id}`,h)),c[p++]={type:"cal",color:t.color,owner:t.owner,resourceId:t.id}}}for(let e=0;e<i.length;++e){const t=i[e];t.isVisible&&(u.push(X(`${t.owner}|${t.id}`,`~/api/v1/calendars/tasks/${t.owner}/${t.id}/`)),c[p++]={type:"task",color:t.color,owner:t.owner,resourceId:t.id})}for(let e=0;e<l.length;++e){const t=l[e];if(!t.isVisible)continue;let r=JSON.stringify({startDate:E.convertLocalToUserTimeMoment(n.start).toISOString(),endDate:E.convertLocalToUserTimeMoment(n.end).toISOString()});u.push(Q(`resource|${t.id}`,`~/api/v1/calendars/resource/${t.id}/`,r)),c[p++]={type:"resource",color:t.color,owner:null,resourceId:t.id}}function f(e,t,n){const r=[];if(!e)return r;var s=v.getResources().find((e=>e.id===n));const o=ae(t);return e.forEach((e=>{e.owner&&N.addRgbColorsToCategories(e.owner,e.categories),e.categoriesString=N.generateNameString(e.categories),r.push({id:e.id,allDay:e.allDay,start:re(e.startWithTZ),end:re(e.endWithTZ),title:(new DOMParser).parseFromString(a("translate")(e.title),"text/html").documentElement.textContent,editable:e.editable,resourceEditable:e.editable,color:t,resourceId:n,textColor:o.text,borderColor:o.border,extendedProps:{attendeeCount:e.attendeeCount,resourceCount:e.resourceCount,calId:e.calId,categories:e.categories,duplicate:e.duplicate,isPrivate:e.isPrivate,isRecurring:e.isRecurring,isTask:e.isTask,isTaskComplete:e.isTaskComplete,isTentative:e.isTentative,allowReplies:e.allowReplies,location:e.location,occurrenceId:e.occurrenceId,orgCalInfo:e.orgCalInfo,organizer:e.organizer,owner:e.owner,permission:e.permission,hasPrivatePermission:e.hasPrivatePermission,reservedBy:e.reservedBy,resourceId:e.resourceId,firstReminder:e.firstReminder,originalStart:e.startWithTZ,originalEnd:e.endWithTZ,resourceType:s?s.sharedResourceType:0,isCanceled:2===e.status,isOnlineMeeting:e.isOnlineMeeting,hasAttachments:e.hasAttachments,uid:e.uid}})})),r}function m(e,t,n){const r=[];if(!e)return r;const s=ae(t);return e.forEach((e=>{const o=i.find((t=>t.owner===e.owner&&t.id===e.calId));let l=4;o&&(l=o.permission);var d=e.uid.indexOf("START_")>-1?a("translate")("START")+": "+e.title:a("translate")("DUE")+": "+e.title;e.isPrivate&&(d=e.uid.indexOf("START_")>-1?a("translate")("START")+": "+a("translate")(e.title):a("translate")("DUE")+": "+a("translate")(e.title)),r.push({id:e.id,uid:e.uid,start:re(e.startWithTZ),end:re(e.endWithTZ),title:d,editable:l>
23=8,resourceEditable:!1,color:t,textColor:s.text,borderColor:s.border,resourceId:n,extendedProps:{categories:e.categories,isTask:!0,isPrivate:e.isPrivate,owner:e.owner,permission:l,hasPrivatePermission:e.hasPrivatePermission,status:e.status,sourceId:e.calId,originalStart:e.startWithTZ,originalEnd:e.endWithTZ,isCanceled:2===e.status,isComplete:e.isTaskComplete,isRecurring:!1,isTentative:!1,uid:e.uid}})})),r}e.spinner.show(),d.all(u).then((function(n){const a=[];for(let e=0;e<n.length;++e)n[e].data.owner=c[e].owner,"cal"===c[e].type||"resource"===c[e].type?Array.prototype.push.apply(a,f(n[e].data.events,c[e].color,c[e].resourceId)):"task"===c[e].type&&Array.prototype.push.apply(a,m(n[e].data.events,c[e].color,c[e].resourceId));e.spinner.hide(),te&&(te=!1);"allview"!==t.currentView&&r(a)}),(function(){e.spinner.hide(),s()})).finally((function(){t.updateDateTitle()}))}function re(e){return function(e){if(e.has_time){const t=moment.tz.zone(e.tz)?e.tz:E.userTimeZone.location;return moment.tz(e.dt,t).tz(E.userTimeZone.location)}{const t=moment(e.dt.substr(0,19));return moment.tz({year:t.year(),month:t.month(),date:t.date()},E.userTimeZone.location)}}(e).toDate()}function ae(e,t,n,r,a){return null==t&&(t="#333333"),null==n&&(n="#ffffff"),null==r&&(r="#353535"),null==a&&(a="#aaaaaa"),function(e,t){null==t&&(t=.57);const n=parseInt("0x"+e.substring(1)),r=.2126*(n>>16&255)+.7152*(n>>8&255)+.0722*(255&n)<255*t;return r}(e)?{text:n,border:a}:{text:t,border:r}}const se=function(e){const t=L.fullCalendar.view.getOption("eventDisplay"),n=1===L.params.filterType;if(!L.params.hasCategoryFilter&&!n)return void(e.display!==t&&e.setProp("display",t));if(1===L.params.filterType&&(e.setProp("display",e.extendedProps.hasAttachments?t:"none"),!e.extendedProps.hasAttachments||!L.params.hasCategoryFilter))return;const r=L.params.categoryFilters,a=r.some((e=>e.noCategory&&e.selected));if(!e.extendedProps.categories||e.extendedProps.categories.every((e=>!e.selected)))return void e.setProp("display",a?t:"none");const s=e.extendedProps.categories.some((e=>e.selected&&r.some((t=>t.selected&&t.name===e.name))));e.setProp("display",s?t:"none")};function oe(r){var l=r.event,c=r.el,u=r.view;se(l);var p=$(c);if("listTwoWeek"===u.type){var h=l.backgroundColor||"#000",f=p.find(".fc-list-event-dot");f.length>0&&f.css("border-color",h)}switch(l.extendedProps.isTask&&l.extendedProps.isComplete&&p.addClass("complete-task"),l.allDay&&p.addClass("all-day"),l.extendedProps.isTentative&&p.addClass("tentative-event"),u.type){case"dayGridMonth":o(p)(t),v(p,r);break;case"timeGridWeek":case"timeGridDay":case"resourceTimelineDay":case"resourceTimeGridDay":v(p,r);break;case"listTwoWeek":!function(e,t){var n=l.extendedProps.isTentative?`<span>(${H})</span>${m(t.event)}`:m(t.event);e.find(".fc-list-event-title").find("a").append(n)}(p,r)}function m(e){let t="";return!e.extendedProps.hasAttachments||"listTwoWeek"!==u.type&&"allview"!==u.type||(t+="<i class='toolsicon toolsicon-attach_file'></i>"),(e.extendedProps.isRecurring||e.extendedProps.isOnlineMeeting)&&(e.extendedProps.isOnlineMeeting&&(t+="<i class='toolsicon toolsicon-video-camera-front'></i>"),e.extendedProps.isRecurring&&(t+="<i class='toolsicon toolsicon-repeat'></i>")),`<div class='event-icons'>${t}</div>`}function v(e,t){e.find(".fc-event-main-frame").append(`${m(t.event)}`)}p.on("mousedown",(function(r){!function(r,l){if(3===r.which){var c=l.extendedProps.allowReplies;if(r.stopPropagation(),r.preventDefault(),l.extendedProps.permission<8&&!Le(l.extendedProps.owner,w.user.username))return;if(l.extendedProps.isPrivate&&!Le(l.extendedProps.owner,w.user.username)&&!l.extendedProps.hasPrivatePermission)return;var u=l.extendedProps.isTask;if(t.dropdownOptions=[{key:"delete",click:function(){p(!0)},translateKey:"DELETE",show:!l.extendedProps.isRecurring&&(De(l)||ke(l)||Le(l.extendedProps.owner,w.user.username))},{key:"deleteAll",click:function(){p(!0)},translateKey:"DELETE",show:l.extendedProps.isRecurring&&(De(l)||ke(l)||Le(l.extendedProps.owner,w.user.username))},{key:"accept",click:h,translateKey:"ACCEPT",show:!u&&!l.extendedProps.isRecurring&&!l.extendedProps.isCanceled&&c},{key:"acceptSeries",click:function(){h(!0)},translateKey:"ACCEPT",show:!u&&l.extendedProps.isRecurring&&!l.extendedProps.isCanceled&&c},{key:"tentativeAccept",click:f,translateKey:"TENTATIVE",show:!u&&!l.extendedProps.isRecurring&&!l.extendedProps.isCanceled&&c},{key:"tentativeAcceptSeries",click:function(){f(!0)},translateKey:"TENTATIVE",show:!u&&l.extendedProps.isRecurring&&!l.extendedProps.isCanceled&&c},{key:"decline",click:m,translateKey:"DECLINE",show:!u&&!l.extendedProps.isRecurring&&!l.extendedProps.isCanceled&&c},{key:"declineSeries",click:function(){m(!0)},translateKey:"DECLINE",show:!u&&l.extendedProps.isRecurring&&!l.extendedProps.isCanceled&&c},{divider:!0,show:!u&&(l.extendedProps.isRecurring||De(l)||ke(l)||Le(l.extendedProps.owner,w.user.username))&&(c&&!l.extendedProps.isCanceled||De(l)||ke(l)||Le(l.extendedProps.owner,w.user.username))},{key:"deleteInstance",click:function(){p(!1)},translateKey:"DELETE_INSTANCE",show:!u&&l.extendedProps.isRecurring&&(De(l)||ke(l)||Le(l.extendedProps.owner,w.user.username))},{key:"acceptOccurrence",click:h,translateKey:"ACCEPT_INSTANCE",show:!u&&l.extendedProps.isRecurring&&!l.extendedProps.isCanceled&&c},{key:"tentativeAcceptOccurrence",click:f,translateKey:"TENTATIVE_INSTANCE",show:!u&&l.extendedProps.isRecurring&&!l.extendedProps.isCanceled&&c},{key:"declineOccurrence",click:m,translateKey:"CALENDAR_DECLINE_INSTANCE",show:!u&&l.extendedProps.isRecurring&&!l.extendedProps.isCanceled&&c},{divider:!0,show:!u&&l.extendedProps.isRecurring&&(!l.extendedProps.isCanceled&&c||De(l)||ke(l))},{key:"exportIcs",click:function(){v()},translateKey:"EXPORT_ICS_FILE",show:!0}],t.dropdownOptions.filter((e=>e.show)).length>0){t.dropdownEvent=$.extend(!0,{},r);const e=$("#context-menu-area");if(e){const n=o('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(t);e.append(n)}}}
23function p(t){if(l.extendedProps.isTask)g.ensureTasksLoadedPromise().then((function(){var t=g.getCardById(l.extendedProps.uid.substr(l.extendedProps.uid.indexOf("_")+1))[0];t&&function(t,n){const r=i.confirmDeletion().title(s.instant("CONFIRMATION_REQUIRED")).textContent(n&&n.subject?a("translate")("CONFIRMATIONS_DELETE_ITEM_NAMED",{name:n.subject}):a("translate")("CONFIRMATIONS_DELETE_ITEMS_one")).targetEvent(t);function o(){e.spinner.show();try{g.removeTasks([n]).then(l,D.report).finally(e.spinner.hide)}catch(t){e.spinner.hide(),D.report(t.message)}}function l(){xe(),L.fullCalendar.refetchEvents()}i.show(r).then(o,(function(){}))}(l,t)}),(function(){}));else{var r=void 0;!t&&l.extendedProps.occurrenceId&&(r=l.extendedProps.occurrenceId),function(t,r,a,s){const o=De(a),l=function(e){return e.extendedProps.attendeeCount>0}(a);function c(o){e.spinner.show();var i="";null!=s&&(i=JSON.stringify({instanceStart:s})),n.post(`~/api/v1/calendars/events/delete/${t}/${r}/${a.id}/${o}`,i).then(u,D.report).finally(e.spinner.hide)}function u(){xe(),L.fullCalendar.refetchEvents()}(function(e,t,r,a){var s=d.defer();r.extendedProps.isRecurring&&!a?n.get(`~/api/v1/calendars/events/past/${e}/${t}/${r.id}`).then((function(e){s.resolve(e.data)}),s.reject):s.resolve(moment(r.end)<moment());return s.promise})(t,r,a,s).then((function(e){i.show({locals:{items:1,deleteNotify:l,notifyOrganizer:!1===o,isPast:e,itemName:a.title},controller:"calendarDeleteDialogController",controllerAs:"ctrl",templateUrl:"app/calendars/modals/calendar-delete.dlg.html",clickOutsideToClose:!1}).then((function(e){c(e.notify)}),(function(){}))}),D.report)}(l.extendedProps.owner,l.extendedProps.calId,l,r)}}function h(t){l.isTask||function(t,r){e.spinner.show();var a=!r&&t.extendedProps.occurrenceId?t.extendedProps.occurrenceId:null;n.post(`~/api/v1/calendars/meeting-accept/${t.extendedProps.owner}/${t.extendedProps.calId}/${t.id}/${a}`).then(xe,S.showErrorMessage).finally(e.spinner.hide)}(l,t)}function f(t){l.isTask||async function(t,r){e.spinner.show();var a=!r&&t.extendedProps.occurrenceId?t.extendedProps.occurrenceId:null;n.post(`~/api/v1/calendars/meeting-tentatively-accept/${t.extendedProps.owner}/${t.extendedProps.calId}/${t.id}/${a}`).then(xe,S.showErrorMessage).finally(e.spinner.hide)}(l,t)}function m(t){l.isTask||function(t,r){e.spinner.show();var a=!r&&t.extendedProps.occurrenceId?t.extendedProps.occurrenceId:null;n.post(`~/api/v1/calendars/meeting-decline/${t.extendedProps.owner}/${t.extendedProps.calId}/${t.id}/${a}`).then(xe,S.showErrorMessage).finally(e.spinner.hide)}(l,t)}function v(){if(l.extendedProps.isTask){let t=l.extendedProps.uid.substr(l.extendedProps.uid.indexOf("_")+1);!function(t){if(null!=t){const n=JSON.stringify([t]),r="~/api/v1/tasks/export/download",s=a("translate")("TASK")+".ics";e.spinner.show(),x.downloadFile(r,s,n).then((function(){}),D.report).finally(e.spinner.hide)}}(l.extendedProps.owner+"|"+l.extendedProps.sourceId+"|"+t)}else{let e=l.extendedProps.owner+"|"+l.extendedProps.calId+"|"+l.id;l.extendedProps.hasAttachments&&T.pop("warning",s.instant("WARN_ATTACH_NOT_EXPORTED")),Pe(e)}}}(r,l)})),se(l)}function ie(e){var t="";return!te&&L.fullCalendar.getEvents().length>=0&&0===$(".fc-list-table").length&&(t='<div layout="row" layout-align="center center" id="no-all-items" class="no-items-to-show"><div class="new-item-page-button"><div class="new-item-icon-wrapper"><i class="new-item-icon toolsicon toolsicon-calendar"></i></div><p class="new-item-section-title">'+z+'</p><p class="new-item-description">'+U+"</p></div></div>"),{html:t}}function le(e){const n=E.userTimeZone.location,r=moment.tz(e.date,n),a=moment.tz(n);"dayGridMonth"===t.currentView||t.currentView;"dayGridMonth"===t.currentView&&(r.hour(a.hour()),r.minute(a.minute()));var s=null,o=null,i=!1;if(e.resource){if(!e.resource.extendedProps.editable)return;s=e.resource.id,o=e.resource.extendedProps.owner||"null",i=2===e.resource.extendedProps.type}i?localStorage.taskPopout=JSON.stringify({owner:o,calId:s,id:null,data:{start:r.toDate(),allDay:"dayGridMonth"!==t.currentView&&e.allDay,currentView:t.currentView}}):localStorage.apptPopout=JSON.stringify({owner:o,calId:s,id:null,data:{start:r.toDate(),allDay:"dayGridMonth"!==t.currentView&&e.allDay,currentView:t.currentView}}),window.open(window.location.href.replace("/calendar",i?"/popout/task/new":"/popout/appointment/new"),"_blank",`resizable=1, ${O.dimensions.calendar}`)}function de(e){if(e.newResource&&e.oldResource&&e.newResource.id!==e.oldResource.id){if(e.event.extendedProps.permission<8||!e.newResource.extendedProps.editable||e.newResource.extendedProps.type!==e.oldResource.extendedProps.type)return void(e.revert&&e.revert());!1===e.event.extendedProps.isTask?ye(e.event,e.delta,e.delta,e.revert,e.newResource.extendedProps.owner,e.newResource.id):Ee(e.event,e.delta,e.delta,e.revert)}else!1===e.event.extendedProps.isTask?ye(e.event,e.delta,e.delta,e.revert):Ee(e.event,e.delta,e.delta,e.revert)}function ce(e){if(e.event.extendedProps.isTask)return;ye(e.event,e.startDelta,e.endDelta,e.revert)}function ue(){L.checkboxes.reset(),L.tableParams.reload()}var pe=null;function he(r){if(k.getFirstSwitcher()&&(k.getFirstSwitcher().allowCheckHide="allview"===t.currentView),"allview"!==t.currentView)return d.when();for(var s in L.searchParams.skip=(r.page()-1)*r.count(),L.searchParams.take=r.count(),L.searchParams.sortField=null,r.sorting())if(r.sorting().hasOwnProperty(s)&&r.sorting()[s]){L.searchParams.sortField=s,L.searchParams.sortDescending="desc"===r.sorting()[s];break}var o=v.getCalendars().filter((e=>!0===e.isVisible&&!0===e.isCalendar&&e.permission>=2));if(0===(o=o.concat(v.getResources().filter((e=>!0===e.isVisible&&e.sharedResourceType<2)))).length)return L.searchResults=[],L.searchResultCount=0,r.total(L.searchResultCount),d.when([]);var i=$.map(o,(function(e){return{owner:e.owner,id:e.id,isDomainResource:e.isDomainResource}})),l=v.parameters.hasCategoryFilter,c=v.parameters.categoryFilters,u={};return void 0!==L.params.filterType&&(u[L.params.filterType]=!0),L.searchParams.categories=l?$.map($.grep(c,(function(e){return e.selected&&!e.noCategory})),(function(e){return e.name})):void 0,L.searchParams.showNonCategorized=!l||c.some((e=>e.noCategory&&e.selected)),L.searchParams.filterFlags=u,pe||(pe=d.defer(),e.spinner.show(),n.post("~/api/v1/calendars/events-all2",JSON.stringify({sources:i,searchParams:L.searchParams})).then((function(e){L.searchResults=e.data.results;moment().utcOffset();for(var t=0;t<L.searchResults.length;++t){var n,s;L.searchResults[t].allDay?(n=moment(L.searchResults[t].startWithTZ.dt.substr(0,19)),s=moment(L.searchResults[t].endWithTZ.dt.substr(0,19))):(n=E.convertLocalToUserTimeMoment(moment.tz(L.searchResults[t].startWithTZ.dt,L.searchResults[t].startWithTZ.tz)),s=E.convertLocalToUserTimeMoment(moment.tz(L.searchResults[t].endWithTZ.dt,L.searchResults[t].endWithTZ.tz))),L.searchResults[t].start=n.format("YYYY-MM-DDTHH:mm:ss"),L.searchResults[t].end=s.format("YYYY-MM-DDTHH:mm:ss"),L.searchResults[t].isTentative&&(L.searchResults[t].title+=` (${H})`),"PRIVATE"===L.searchResults[t].title&&(L.searchResults[t].title=a("translate")("PRIVATE")),"ROOM_RESERVED"!==L.searchResults[t].title&&"CALENDAR_ROOM_RESERVED"!==L.searchResults[t].title||(L.searchResults[t].title=a("translate")("CALENDAR_ROOM_RESERVED"),L.searchResults[t].isDomainResource=!0),"EQUIPMENT_RESERVED"===L.searchResults[t].title&&(L.searchResults[t].title=a("translate")("CALENDAR_EQUIPMENT_RESERVED"),L.searchResults[t].isDomainResource=!0),2==L.searchResults[t].permission&&"CALENDAR_BUSY_TIME"===L.searchResults[t].title&&(L.searchResults[t].title=a("translate")("CALENDAR_BUSY_TIME")),L.searchResults[t].owner?N.addRgbColorsToCategories(L.searchResults[t].owner,L.searchResults[t].categories):L.searchResults[t].categories=[],L.searchResults[t].categoriesString=N.generateNameString(L.searchResults[t].categories),L.searchResults[t].extendedProps={attendeeCount:L.searchResults[t].attendeeCount,resourceCount:L.searchResults[t].resourceCount,calId:L.searchResults[t].calId,categories:L.searchResults[t].categories,duplicate:L.searchResults[t].duplicate,isPrivate:L.searchResults[t].isPrivate,isRecurring:L.searchResults[t].isRecurring,hasAttachments:L.searchResults[t].hasAttachments,isTask:L.searchResults[t].isTask,isTaskComplete:L.searchResults[t].isTaskComplete,isTentative:L.searchResults[t].isTentative,location:L.searchResults[t].location,occurrenceId:L.searchResults[t].occurrenceId,orgCalInfo:L.searchResults[t].orgCalInfo,organizer:L.searchResults[t].organizer,originalStart:L.searchResults[t].startWithTZ,originalEnd:L.searchResults[t].endWithTZ,owner:L.searchResults[t].owner,permission:L.searchResults[t].permission,hasPrivatePermission:L.searchResults[t].hasPrivatePermission,firstReminder:L.searchResults[t].firstReminder,reservedBy:L.searchResults[t].reservedBy,resourceId:L.searchResults[t].resourceId}}L.searchResultCount=e.data.totalCount,r.total(L.searchResultCount),pe.resolve(L.searchResults)}),(function(e){D.report(e),pe.reject(e)})).finally((function(){pe=null,e.spinner.hide()}))),pe.promise}function fe(e,n){if("allview"===e)ue();else{switch(e){case"month":case"listMonth":e="dayGridMonth";break;case"agendaWeek":e="timeGridWeek";break;case"agendaDay":e="timeGridDay"}L.fullCalendar.changeView(e),e.startsWith("timeGrid")&&j(e,L.resourceCount),n&&"allview"!==n||"allview"===e||r((function(){L.fullCalendar.render()}),100),t.updateDateTitle(),xe()}}const me=function(){L.fullCalendar?"allview"!==t.currentView?r((function(){L.fullCalendar.getEvents().forEac
23h((e=>se(e)))}),100):ue():r(me,25)};function we(e){return 0!==e.days||0!==e.hours||0!==e.milliseconds||0!==e.minutes||0!==e.months||0!==e.seconds||0!==e.years}function ve(e){return moment.duration({milliseconds:e.milliseconds,seconds:e.seconds,minutes:e.minutes,hours:e.hours,days:e.days,weeks:e.weeks,months:e.month,years:e.years})}var ge=null;function ye(t,r,a,o,i,l){if(t.extendedProps.isRecurring)return o&&o(),d.when();if(!t.allDay&&!we(r)&&!we(a))return o&&o(),d.when();if(ge)return o&&o(),ge.promise;ge=d.defer(),r=ve(r),a=ve(a);var c=t.extendedProps.owner,u=t.extendedProps.calId,p=t.id;return e.spinner.show(),n.get(`~/api/v1/calendars/events/${c}/${u}/${p}`).then((function(d){e.spinner.hide();try{const h=d.data.details;if(h.allDay!==t.allDay)return o&&o(),ge.reject(),void(ge=null);if(h.attendees.length>0){const e=h.organizerEmail.toLowerCase();if(e!==w.user.emailAddress.toLowerCase())return D.report(s.instant("ORGANIZED_READONLY",{organizer:e})),o&&o(),ge.reject(),void(ge=null)}let f,m;if(h.allDay)f=moment(h.start.dt).startOf("day").utc().add(r),m=moment(h.end.dt).startOf("day").utc().add(a);else{const e=moment.tz(h.start.dt,"UTC"),t=moment.tz(e,h.start.tz).utcOffset();f=e.add(t,"minutes").add(r);const n=moment.tz(h.end.dt,"UTC"),s=moment.tz(n,h.end.tz).utcOffset();m=n.add(s,"minutes").add(a)}const g=[];g.push({start:f}),g.push({end:m}),l&&(g.push({owner:i||"null"}),g.push({calId:l})),function(t,r,a,s,o,i){var l=$.extend(!0,{},s);for(var d in o){var c=o[d];null!=c.calId?l.calendarId=c.calId:null!=c.owner?l.calendarOwner="null"===c.owner?null:c.owner:null!=c.subject?l.subject=c.subject:null!=c.location?l.location=c.location:null!=c.resourceId?l.resourceId=c.resourceId:null!=c.start?l.start={dt:c.start.toISOString(),tz:s.start.tz}:null!=c.end?l.end={dt:c.end.toISOString(),tz:s.end.tz}:null!=c.allDay?l.allDay=c.allDay:null!=c.availability?l.availability=c.availability:null!=c.reminderIndex?l.reminderIndex=c.reminderIndex:null!=c.emailNotificationEnabled?l.emailNotificationEnabled=c.emailNotificationEnabled:null!=c.emailNotification?l.emailNotification=c.emailNotification:null!=c.description?l.description=c.description:null!=c.isPrivate?l.isPrivate=c.isPrivate:null!=c.organizerName?l.organizerName=c.organizerName:null!=c.organizerEmail?l.organizerEmail=c.organizerEmail:null!=c.attendees?l.attendees=c.attendees:null!=c.categories?l.categories=c.categories:null!=c.recurrence&&(l.recurrence=c.recurrence)}v.ignoreCalendarEventModified.requested=moment();var u=JSON.stringify(l);function p(e){ge&&(ge.resolve(),ge=null)}function h(e){D.report(e),i&&i(),ge&&(ge.reject(),ge=null)}e.spinner.show(),n.post(`~/api/v1/calendars/events/save/${t}/${r}/${a}`,u).then(p,h).finally(e.spinner.hide)}(c,u,p,h,g,o)}catch(e){D.report(e.message),o&&o(),ge.reject(),ge=null}}),(function(t){e.spinner.hide(),D.report(t),o&&o(),ge.reject(),ge=null})),ge.promise}var Te=null;function Ee(t,n,r,a,s,o){if(Te)return a&&a(),Te.promise;Te=d.defer();const i=t.extendedProps.owner,l=t.extendedProps.sourceId,c=t.uid,u=c.replace("START_","").replace("DUE_",""),p=0===c.indexOf("START_");return g.getTaskFromServer(i,l,u).then((function(i){const l=[t],d=$.extend(!0,{},i);let c,h;if(p){if(c=moment(i.start).add(n),h=moment(i.due),c>h){h=moment(c).add(1,"h");const e=L.fullCalendar.getEventById("DUE_"+u);e&&l.push(e)}}else if(c=moment(i.start),h=moment(i.due).add(r),c>h){c=moment(h).add(-1,"h");const e=L.fullCalendar.getEventById("START_"+u);e&&l.push(e)}return o&&(d.sourceId=o,d.owner=s),d.start=c,d.due=h,function(t,n,r){const a=function(){L.fullCalendar.refetchEvents(),Te&&(Te.resolve(),Te=null)},s=function(e){var t=e.data.message;null==t&&(t=e.status+" "+e.statusText),D.report(t),r&&r(),Te&&(Te.reject(),Te=null)};try{e.spinner.show(),g.saveTasks([n]).then(a,s).finally(e.spinner.hide)}catch(t){e.spinner.hide(),D.report(t.message)}}(0,d,a)}),D.report).then((function(e){Te.resolve(e)}),(function(e){D.report(e.message),a&&a(),Te.reject(e)})),Te.promise}function xe(){t.hasCategoryFilter=v.parameters.hasCategoryFilter,t.isSourceSelected()}function Pe(t){if(null!=t){const n=JSON.stringify([t]),r="~/api/v1/calendars/export/download",s=a("translate")("CALENDAR")+".ics";return e.spinner.show(),void x.downloadFile(r,s,n).then((function(){}),D.report).finally(e.spinner.hide)}{const t=L.checkboxes.getCheckedItems();for(let e=t.length-1;e>=0;e--){const n=t[e].split("|")[2];L.searchResults.find((e=>e.id===n&&e.isDomainResource))&&t.splice(e,1)}if(t.length<1)return;const n=t.some((function(e){const t=e.split("|")[2],n=L.searchResults.find((e=>e.id===t));return n&&n.hasAttachments})),r=JSON.stringify(t),o="~/api/v1/calendars/export/download",i=a("translate")("CALENDAR")+".ics";e.spinner.show(),n&&T.pop("warning",s.instant("WARN_ATTACH_NOT_EXPORTED")),x.downloadFile(o,i,r).then((function(){}),D.report).finally(e.spinner.hide)}}function Ce(t,r,a){if(t.length>0){var o=!a||a.extendedProps.attendeeCount>0,l=!!a&&!De(a),d=!!a&&moment(a.end)<moment();i.show({locals:{items:t.length,deleteNotify:o,notifyOrganizer:l,isPast:d,itemName:1===t.length&&a?a.title:null},controller:"calendarDeleteDialogController",controllerAs:"ctrl",templateUrl:"app/calendars/modals/calendar-delete.dlg.html",targetEvent:r,clickOutsideToClose:!1}).then((function(r){var a=[];angular.forEach(t,(function(e){const t=e.split("|");a.push({owner:t[0],calendarId:t[1],eventId:t[2],notify:r.notify})}));const o=JSON.stringify(a);v.ignoreCalendarEventRemoved.requested=moment(),v.ignoreCalendarEventModified.requested=v.ignoreCalendarEventRemoved.requested,e.spinner.show(),n.post("~/api/v1/calendars/events/delete-bulk/",o).then((function(e){var n=[];angular.forEach(t,(function(e){const t=e.split("|"),r=$.grep(L.searchResults,(function(e){return e.owner===t[0]&&e.calId===t[1]&&e.id===t[2]}))[0];n.push(r)})),L.fullCalendar.refetchEvents(),ue(),e.data.length>0&&D.warn(s.instant("WARN_SOME_ITEMS_NOT_DELETED"))}),D.report).finally(e.spinner.hide)}),(function(){}))}else D.report(s.instant("ERROR_NO_CARDS")),e.spinner.hide()}function Re(){t.noSourcesSelected=!0;const e=v.getCalendars(),n=v.getTasks();if(e&&0!==e.length){t.showCategoriesTree=e[0].isVisible||n&&n.length>0&&n[0].isVisible&&"allview"!==t.currentView;for(let n=0;n<e.length;n++)if(e[n].isVisible)return void(t.noSourcesSelected=!1);for(let e=0;e<n.length;e++)if(n[e].isVisible)return void(t.noSourcesSelected=!1);for(let e=0;e<t.resources.length;e++)if(t.resources[e].isVisible)return void(t.noSourcesSelected=!1)}}function De(e){if(e.extendedProps.isTask)return!0;
23if(e.extendedProps.permission<8)return!1;if(null===e.id)return!0;const t=e.extendedProps.owner&&Le(e.extendedProps.owner,w.user.username);return!(!t&&!e.extendedProps.hasPrivatePermission&&e.extendedProps.isPrivate)&&(e.extendedProps.attendeeCount>0?function(e){if(e.extendedProps.isTask)return!0;if(e.extendedProps.organizer&&e.extendedProps.organizer.isOrganizer)return!0;if(e.extendedProps.permission<8)return!1;const t=e.extendedProps.organizer.address.split("@")[0];return v.getCalendars().filter((e=>e.owner===t)).length,!1}(e):!!t||!e.extendedProps.organizer.address)}function ke(e){return!(e.extendedProps.isTentative&&!e.extendedProps.isCanceled)&&(!!Le(e.extendedProps.owner,w.user.username)||(!e.extendedProps.owner||e.extendedProps.permission>=8))}function be(e){return e.extendedProps.isPrivate&&!e.extendedProps.hasPrivatePermission&&!Le(e.extendedProps.owner,w.user.username)}function Se(e,t){e&&i.show({locals:{titleText:s.instant("PRIVATE_APPOINTMENT"),bodyText:s.instant("CALENDAR_ITEM_WITH_AVAILABILITY_ONLY_PERMISSIONS")},controller:"calendarAvailOnlyDialogController",controllerAs:"ctrl",templateUrl:"app/calendars/modals/calendar-availonly.dlg.html",clickOutsideToClose:!1})}function Ie(e,t){if(e){var n,r;if(e.extendedProps.owner===w.user.domain||e.extendedProps.isDomainResource){const t=e.extendedProps.organizer?e.extendedProps.organizer.name||e.extendedProps.organizer.address||s.instant("UNKNOWN_USER"):e.extendedProps.reservedBy||s.instant("UNKNOWN_USER");2==e.extendedProps.resourceType?(n=s.instant("CALENDAR_ROOM_RESERVED"),r=s.instant("CALENDAR_CONFERENCE_ROOM_RESERVATION_USER_MESSAGE",{userName:t})):3==e.extendedProps.resourceType&&(n=s.instant("CALENDAR_EQUIPMENT_RESERVED"),r=s.instant("CALENDAR_RESOURCE_RESERVATION_USER_MESSAGE",{userName:t}))}else n=s.instant("CALENDAR_BUSY_TIME"),r=s.instant("CALENDAR_ITEM_WITH_AVAILABILITY_ONLY_PERMISSIONS");i.show({locals:{titleText:n,bodyText:r},controller:"calendarAvailOnlyDialogController",controllerAs:"ctrl",templateUrl:"app/calendars/modals/calendar-availonly.dlg.html",clickOutsideToClose:!1})}}function Ae(){L.lastWindowWidth=L.windowWidth,L.windowWidth=$(window).width()}function Oe(){switch(t.currentView){default:case"month":t.currentViewDisplay="MONTH";break;case"agendaWeek":t.currentViewDisplay="WEEK";break;case"agendaDay":t.currentViewDisplay="DAY";break;case"allview":t.currentViewDisplay="GRID_VIEW";break;case"listMonth":case"listTwoWeek":t.currentViewDisplay="CALENDAR_AGENDA";break;case"resourceTimelineDay":t.currentViewDisplay="TIMELINE";break;case"resourceTimeGridDay":t.currentViewDisplay="SCHEDULE"}}function Me(){const e=$(".fc-time-grid");if(e.length>0){let n=$("#calendarPrintMedia");0===n.length&&($("head").append('<style id="calendarPrintMedia"></style>'),n=$("#calendarPrintMedia"));const r=$(".fc-scroller.fc-time-grid-container"),a=e.innerHeight()-1,s=window.navigator.userAgent.indexOf("Edge")>-1?r.innerHeight():0;n.text("@media print { \t\t\t\t\t\t\t\t.fc-nonbusiness { bottom: -"+a+"px !important; } \t\t\t\t\t\t\t\t.fc-body > tr { height: "+(Number(a)+84)+"px } \t\t\t\t\t\t\t\t#calendarView > div > div > table > tbody > tr > td > div.fc-scroller.fc-time-grid-container > div > div.fc-content-skeleton { top: -"+s+"px !important }\t\t\t\t\t\t\t\t"+("month"!==t.currentView?".fc-view-container { padding-top: 13px !important; }":"")+"\t\t\t\t\t\t\t}")}}function Ne(){L.fullCalendar.refetchEvents(),L.fullCalendar.refetchResources(),ue()}function _e(e,t){t&&t.shareType&&"calendar"!==t.shareType||(Ve(!0,t),$e(),v.reloadOnEnterCalendar=!1,void 0!==L.fullCalendar&&r((function(){L.fullCalendar.refetchEvents()}),100))}function Ve(e,t){e&&y.resetResources(),y.settingsData.mappedResources.then((function(e){(e||[]).filter((e=>3===e.shareType&&!e.mapped))}),(function(){}))}function $e(){if(F)return;F=!0,v.resetTasksTree(),v.resetSources(),g.resetSources(),g.resetSourcesTree();const e=[v.loadSourcesTree(t.sourcesTreeController,!0),v.loadTasksTree(t.tasksTreeController,!0)];function n(){void 0!==L.fullCalendar&&L.fullCalendar.refetchResources(),xe(),ue(),F=!1}function r(e){D.report(e),F=!1}d.all(e).then((function(){t.sourcesTree=v.getSourcesTree(),t.tasksTree=v.getTasksTree(),v.resetOtherEvents(),v.loadEvents().then(n,r)}),D.report)}async function We(n,r){try{m.setSourceVisibility(n,r),Re(),L.fullCalendar.refetchEvents(),L.fullCalendar.refetchResources(),"allview"!==t.currentView?xe():ue()}catch(e){D.report(e)}
23finally{e.spinner.hide()}}function Le(e,t){return!e&&!t||!(!e||!t)&&e.toLowerCase()===t.toLowerCase()}function Fe(e){$("md-tooltip").remove()}function ze(e){return e&&!e.data.source.isWebCalendar&&e.data.source.permission>=2&&!e.data.isSharedByOther&&!e.data.isDomainResource}function Ue(e){return e&&!e.data.source.isWebCalendar&&e.data.source.permission>=4&&!e.data.isSharedByOther&&!e.data.isDomainResource&&!e.data.isPrimary}function Ye(e){return e&&!e.data.source.isWebCalendar&&e.data.source.permission>=4&&!e.data.isSharedByOther&&!e.data.isDomainResource&&y.userDomainSettings.enableSharing}function He(e){return e&&!e.data.source.isWebCalendar&&e.data.isSharedByOther}function Ge(e){return e&&e.data.source.isWebCalendar}async function Ke(e){let t=!1;e.branch&&e.branch.data&&e.branch.data.source&&e.branch.data.source.isTask&&(t=!0),(t?p.showCreateFolderModal(e.event):u.showCreateFolderModal(e.event))&&(Ve(!0),$e(),r((function(){L.fullCalendar.refetchEvents()}),100))}async function Be(e){(e.branch.data.source.isTask?await p.showRenameFolderModal(e.event,e.branch.data.source):await u.showRenameFolderModal(e.event,e.branch.data.source))&&(Ve(!0),$e(),r((function(){L.fullCalendar.refetchEvents()}),100))}async function Ze(e){var t=!e.branch.data.source.isTask&&y.userSettings.schedulingSettings.calendarId==e.branch.data.source.id;(e.branch.data.source.isTask?await p.showDeleteFolderModal(e.event,e.branch.data.source):t?await u.showDeleteSchedulingFolderModal(e.event,e.branch.data.source):await u.showDeleteFolderModal(e.event,e.branch.data.source))&&(Ve(!0),$e(),r((function(){L.fullCalendar.refetchEvents()}),100))}async function je(e){(e.branch.data.source.isTask?await p.showShareFolderModal(e.event,e.branch.data.source):await u.showShareFolderModal(e.event,e.branch.data.source))&&($e(),r((function(){L.fullCalendar.refetchEvents()}),100))}async function Je(e){(e.branch.data.source.isTask?await p.showSharedFolderPropertiesModal(e.event,e.branch.data.source):await u.showSharedFolderPropertiesModal(e.event,e.branch.data.source))&&(Ve(!0),$e())}async function Xe(e){let t=await u.showSubscribedCalendarModal(e.event,e.branch.data.source);t&&(t.detached&&Ve(!0),$e(),L.fullCalendar.refetchEvents())}}e.$inject=["$rootScope","$scope","$http","$timeout","$filter","$translate","$compile","$mdDialog","$mdpDatePicker","$q","$state","calendarActions","taskActions","localeInfoService","authStorage","preferencesStorage","coreData","coreDataCalendar","coreDataTasks","coreDataSettings","toaster","userTimeService","coreDataFileStorage","$sanitize","NgTableParams","gridCheckboxes","errorHandling","tableColumnSwitching","coreLicensing","errorMessageService","treeState","claimsService","popupService","meetingWorksp
23aces","apiCategories","userDataService","i18n"],angular.module("smartermail").controller("calendarController",e)}();
24!function(){"use strict";function e(e,t,n,a,r,i,o,s,l,c,d,u,m,f,g,p,y,h,v,D,E,C,w,I,S,T,A,N,O,M,R){var b=this;b.availableEndBehaviors=[{id:0,desc:r.instant("ARCHIVE_MEETING")},{id:1,desc:r.instant("DELETE_MEETING")},{id:2,desc:r.instant("KEEP_ACTIVE")}],b.availableUploadPermissions=[{id:0,desc:r.instant("ORGANIZER_ONLY")},{id:1,desc:r.instant("AUTHENTICATED_ATTENDEES")},{id:2,desc:r.instant("EVERYONE")}],t.recurrenceType={ONCE:0,DAILY:4,WEEKLY:5,MONTHLY:6,YEARLY:7},t.meetingType={IsAMeeting:1,IsMeetingReceived:3},t.eventStatus={Tentative:0,Confirmed:1,Cancelled:2,NeedsAction:3,Completed:4,InProcess:5},t.isInitialized=!1,t.recurrenceChanged=!1,t.isWebCalendar=!1,t.participantStatus=0,b.availableTimeZones=[],b.showTimeZones=!1,b.showTimeZoneWarning=!1,b.editSeries=!1,b.isSourceOwner=!1,b.availabilitySet=!1,b.removedAttachedFiles=[],Object.defineProperty(b,"userTimeZone",{get:function(){return I.userTimeZone}}),b.timeZoneSearch="",b.showAvailability=!1,b.hasMeeting=!1,b.allowTeamWorkspaces=!1,b.meetingCreated=!1,b.meetingRemoved=!1,b.meetingMissing=!1,b.conferencingProviders=[],b.conferencingProviderType=null,b.conferencingOccurrenceOwned=!1,b.conferencingSeriesProviderType=null,b.meetingOptions={},b.meetingOptionsDirty=!1;var P=[{key:"enableLobby",valueType:"boolean",defaultValue:"false"},{key:"customPassword",valueType:"password",defaultValue:""},{key:"uploadPermissionLevel",valueType:"select",defaultValue:"0"},{key:"endMeetingBehavior",valueType:"select",defaultValue:"0"}],z={enableLobby:"CONFERENCING_ENABLE_LOBBY",passwordProtected:"CONFERENCING_PASSWORD_PROTECTED",customPassword:"ONLINE_MEETING_PASSWORD",uploadPermissionLevel:"FILE_UPLOAD_PERMISSIONS",endMeetingBehavior:"END_BEHAVIOR"};t.delete=function(a,r,i){var s=function(){var e=0;t.eventInfo&&t.eventInfo.info&&(e=$.grep(t.eventInfo.info.attendees,(function(e){return!1===e.isOrganizer&&!e.isResource})).length);return e>0}()&&t.details.status!==t.eventStatus.Cancelled,l=[];if(r&&t.isRecurring){var m=b.editSeries?b.originalDetails.start:b.originalDetails.firstInstanceStart,f=b.editSeries?b.originalDetails.end:b.originalDetails.firstInstanceEnd;l.push({start:moment.tz(m.dt,m.tz)}),l.push({end:moment.tz(f.dt,f.tz)})}var g=t.isRecurring&&r;(function(e,n){void 0===e&&(e=[]);var a=d.defer(),r=e.find((e=>e.allDay)),i=r&&r.allDay?r.allDay:b.originalDetails.allDay;r=e.find((e=>e.recurrence));var s=r&&r.recurrence?r.recurrence:b.originalDetails.recurrence;if(n&&s){var l={allDay:i,start:b.originalDetails.start,end:b.originalDetails.end,recurrence:s};(r=e.find((e=>e.start)))&&r.start&&(l.start={dt:moment.tz(moment(r.start),"UTC").add(moment(r.start).utcOffset(),"minutes"),tz:t.timeZoneStart.location}),(r=e.find((e=>e.end)))&&r.end&&(l.end={dt:moment.tz(moment(r.end),"UTC").add(moment(r.end).utcOffset(),"minutes"),tz:t.timeZoneEnd.location}),o.post("~/api/v1/calendars/event-past-checker",JSON.stringify(l)).then((function(e){a.resolve(e.data)}),a.reject)}else{var c=moment(),u=moment.tz(moment(t.start).format("YYYY-MM-DDTHH:mm:ss"),t.timeZoneStart.location),m=moment.tz(moment(t.end).format("YYYY-MM-DDTHH:mm:ss"),t.timeZoneEnd.location);a.resolve(u<c||m<c)}return a.promise})(l,g).then((function(i){var l={locals:{items:1,deleteNotify:s,notifyOrganizer:!1===t.details.isOrganizer,isPast:i,itemName:t.subject},controller:"calendarDeleteDialogController",controllerAs:"ctrl",templateUrl:"app/calendars/modals/calendar-delete.dlg.html",targetEvent:a,clickOutsideToClose:!1};n.show(l).then((function(n){!function(n){var a="";if(!r){var i=moment(c.search().instanceId,"YYYYMMDDHHmmss");a=JSON.stringify({instanceStart:i.format("YYYY-MM-DD")+"T"+i.format("HH:mm:ss")+"Z"})}p.ignoreCalendarEventRemoved.requested=moment(),p.ignoreCalendarEventModified.requested=p.ignoreCalendarEventRemoved.requested,t.details.status===t.eventStatus.Cancelled&&(n=!1),e.spinner.show(),o.post("~/api/v1/calendars/events/delete/"+b.owner+"/"+b.calId+"/"+b.id+"/"+n,a).then((function(){e.$broadcast("calendarRefresh"),b.eventForm.$setPristine(),window.close()}),w.showErrorMessage).finally(e.spinner.hide)}(n.notify)}),(function(){}))}),u.report)},t.acceptInvite=ye,t.tentativelyAcceptInvite=he,t.acceptProposal=Pe,t.addAttendee=ee,t.addResource=X,t.exportIcs=function(){let n=b.owner+"|"+(b.calId||t.currentCalendar.id)+"|"+b.id;const r=JSON.stringify([n]),i=a("translate")("CALENDAR")+".ics";return e.spinner.show(),void E.downloadFile("~/api/v1/calendars/export/download",i,r).then((function(){}),u.report).finally(e.spinner.hide)},t.removeAttendee=function(e,n){var a=t.attendees.indexOf(e);a>-1&&(t.attendees.splice(a,1),t.attendeesChanged=!0,t.onValueChanged(n),Te(),b.eventForm.$setDirty());(a=t.eventInfo.info.attendees.findIndex((t=>t.email===e.email)))>-1&&t.eventInfo.info.attendees.splice(a,1)},t.removeResource=function(e,n){var a=t.resources.indexOf(e);a>-1&&(re(e),t.resources.splice(a,1),t.attendeesChanged=!0,t.onValueChanged(n),Te(),b.eventForm.$setDirty());(a=t.eventInfo.info.attendees.findIndex((t=>t.email===e.email)))>-1&&t.eventInfo.info.attendees.splice(a,1)},t.changeAvailHour=function(e){t.availStartHour+=e,t.availStartHour<0?t.availStartHour=0:t.availStartHour>20&&(t.availStartHour=20)},t.changeAvailDate=function(e){t.availabilityDate=moment(t.availabilityDate).add(e,"d").toDate(),ie(t.availabilityDate)},t.createTempMeeting=Oe,t.editMeetingDisabled=Me,t.onConferencingProviderChanged=function(){if(Re())return b.meetingOptions={},b.meetingOptionsDirty=!1,void $e(b.eventForm);0===b.conferencingProviderType?b.hasMeeting&&!b.meetingMissing||Oe(b.meetingMissing):null===b.conferencingProviderType||b.hasMeeting?null===b.conferencingProviderType&&b.hasMeeting&&!b.meetingRemoved?be():null===b.conferencingProviderType&&(b.meetingOptions={},b.meetingOptionsDirty=!1):(b.meetingOptions=function(e){const t=Ae(e),n={confirmPassword:t.customPassword||""};return Ne(e).forEach((function(e){"boolean"===e.valueType?n[e.key]="true"===t[e.key]:"select"===e.valueType?n[e.key]=parseInt(t[e.key],10)||0:n[e.key]=t[e.key]||""})),n}(b.conferencingProviderType),b.meetingOptionsDirty=!0,$e(b.eventForm))},t.conferencingProviderLocked=function(){return!q()||b.meetingRemoved},t.conferencingProviderSelectable=function(e){return t.conferencingSwitchLocked()?e.providerType===b.conferencingProviderType:!t.editingOccurrence()||null===b.conferencingSeriesProviderType||e.providerType===b.conferencingSeriesProviderType},t.conferencingCapabilities=function(){return Ne(b.conferencingProviderType)},t.conferencingOptionLabel=function(e){return z[e]||e},t.conferencingSelectChoices=function(e){switch(e){case"uploadPermissionLevel":return b.availableUploadPermissions.filter((e=>2!==e.id||!1!==b.allowMeetingGuestUploads));case"endMeetingBehavior":return b.availableEndBehaviors;default:return[]}},t.isExternalConferencing=function(){return null!==b.conferencingProviderType&&0!==b.conferencingProviderType},t.conferencingSwitchLocked=function(){return b.hasMeeting&&!b.meetingRemoved},t.conferencingProviderName=function(){if(null===b.conferencingProviderType)return"";if(0===b.conferencingProviderType)return r.instant("ONLINE_MEETINGS");var e=b.conferencingProviders.find((function(e){return e.providerType===b.conferencingProviderType}));return e?e.name:""},t.conferencingOptionsChanged=function(){b.meetingOptionsDirty=!0},t.openConferencingMarketplace=function(){window.open(window.location.href.replace(/#\/.*$/,"#/marketplace/conferencing"),"_blank")},t.getAvailHour=function(e){var n=moment(t.availabilityDate);return moment([n.year(),n.month(),n.date()]).add(t.availStartHour+e,"h").toDate()}
24,t.isUnavailable=function(e,n){if(null==e||null===e.nonavail)return null;var a=moment().utcOffset(),r=t.availStartHour+n-a/60;r<0?r+=24:r>23&&(r%=24);return e.nonavail[r]},t.needEndBehavior=function(){if(b.meetingCreated)return!(!c.search().instanceId||b.editSeries)||t.currentRecurrence.id===t.recurrenceType.ONCE;return b.onlineMeeting.scheduledStart&&b.onlineMeeting.scheduledEnd},t.removeAutocompleteEntry=function(t,n,a){return n.preventDefault(),n.stopPropagation(),a.$parent.attendeeField="",function(){var n=JSON.stringify({username:g.user.username,idsToDelete:[t.id]});function a(){}e.spinner.show(),o.post("~/api/v1/settings/auto-complete-delete",n).then(a,u.report).finally(e.spinner.hide)}(),!1},t.onValueChanged=se,t.onCategoryChanged=function(e){e&&(e.selected=!e.selected);t.categoriesChanged=!0,b.eventForm.$setDirty(),se()},t.onClearAllCategories=function(){for(var e=0;e<t.categories.length;e++)t.categories[e].selected=!1;t.categoriesChanged=!0,b.eventForm.$setDirty(),se()},t.openManageCategoriesModal=function(e){n.show({controller:"manageCategoriesDialogController",controllerAs:"manageCategoriesCtrl",templateUrl:"app/shared/modals/manage.categories.dlg.html",targetEvent:e})},t.openProposeChangesModal=async function(e){await n.show({locals:{eventInfo:t.eventInfo,date:t.isRecurring&&void 0!==t.instanceStart?t.instanceStart:t.start,id:b.id,fromEmail:!1,replyingComment:""},controller:"calendarEventProposeController",controllerAs:"calendarEventProposeCtrl",templateUrl:"app/calendars/modals/calendar-event-propose.dlg.html",targetEvent:e}).then((function(e){Z=!0}),(function(){}))},t.hasSelectedCategory=function(){if(!t.categories)return!1;for(var e=0;e<t.categories.length;e++)if(t.categories[e].selected)return!0;return!1},t.categoryColorByName=function(e){const t=v.getCategoryByName(e);if(!t||-1==t.colorIndex)return null;const n=v.getCategoryColor(t.colorIndex);return n&&n.rgb?n.rgb:null},t.duplicate=function(e){b.originalDetails.uid=void 0,b.originalDetails.id=void 0,b.id="new",ge(e)},t.save=ge,t.cancel=function(){delete localStorage.apptPopout,window.close()},t.declineInvite=ve,t.timeZoneStart=void 0,t.timeZoneEnd=void 0,t.toggleRecurringDelete=function(){t.showRecurringDelete=!t.showRecurringDelete},t.onSourceChanged=function(e){b.isSourceOwner=e.owner===f.user.username,v.categoryOwner=`${e.owner}@${f.user.domain}`,de()},t.openRecipientsModal=function(e,a){function r(n){if(angular.forEach(n.selectedContacts,(function(e){function n(e){if(x(t.currentCalendar.owner,g.user.domain)||!x(e.email,t.currentCalendar.owner+"@"+g.user.domain)){var n=!1;for(let a=0;a<t.attendees.length;++a)if(t.attendees[a].email.toLowerCase()===e.email.toLowerCase()){n=!0;break}n||(t.attendees.push(e),t.attendeesChanged=!0)}}e.isGroup?o.get(`~/api/v1/contacts/unpack-group/${e.id}/${e.sourceAccount}`).then((function(e){for(let t=0;t<e.data.emailData.length;t++){const a=e.data.emailData[t];n({name:a.displayAs,email:a.emailAddress,status:0,conflict:!1,nonavail:null})}}),u.report):n({name:e.displayAs,email:e.emailAddressList[0],status:0,conflict:!1,nonavail:null})})),""===t.organizerName&&x(t.currentCalendar.owner,g.user.username))t.organizerName=g.user.displayName;else{var a=C.getContacts(),r=$.grep(a,(function(e){return x(e.userName,t.currentCalendar.owner)}));r.length>0&&(t.organizerName=r[0].fullName)}""===t.organizerEmail&&(t.organizerEmail=g.user.emailAddress,0!==t.organizerEmail.indexOf("@")||x(t.currentCalendar.owner,g.user.domain)||(t.organizerEmail+="@"+g.user.domain)),se(e),Te()}function i(){}d.all([D.init(),o.get("~/api/v1/contacts/sources")]).then((function(e){var t={locals:{sources:e[1].data.sharedLists.concat($.map(C.categories(),(function(e){return{itemID:"category",displayName:e.name}}))),type:"ATTENDEES",galData:null,galPromise:null,restrictedSenders:null},controller:"emailRecipientsController",controllerAs:"ctrl",templateUrl:"app/shared/modals/recipients.dlg.html",targetEvent:a,clickOutsideToClose:!1};n.show(t).then(r,i)}),i)},t.openResourceRecipeintsModal=function(e,a){var i=p.getResources(),o=[],s=[];i.forEach((function(e){2===e.sharedResourceType?o.push(e):3===e.sharedResourceType&&s.push(e)}));var l=[];o.length>0&&l.push({enabled:!0,access:0,displayName:r.instant("SHARED_RESOURCES_CONFERENCE_ROOMS"),domain:g.user.domain,itemID:"conferencerooms",isPrimary:!1,shareType:"",folderId:0,isSharedItem:!0});s.length>0&&l.push({enabled:!0,access:0,displayName:r.instant("SHARED_RESOURCES_EQUIPMENT"),domain:g.user.domain,itemID:"equipment",isPrimary:!1,shareType:"",folderId:0,isSharedItem:!0});var c={locals:{sources:l,type:"RESOURCES",galData:null,galPromise:null,restrictedSenders:null},controller:"emailRecipientsController",controllerAs:"ctrl",templateUrl:"app/shared/modals/recipients.dlg.html",targetEvent:a,clickOutsideToClose:!1};n.show(c).then((function(e){angular.forEach(e.selectedContacts,(function(e){!function(e){var n=!1;for(let a=0;a<t.resources.length;++a)if(t.resources[a].email.toLowerCase()===e.email.toLowerCase()){
24n=!0;break}n||(t.resources.push(e),t.attendeesChanged=!0),ne(e)}({name:e.displayAs,email:e.emailAddressList[0],status:0,conflict:!1,resourceType:e.sharedResourceType,isResource:!0})}))}),(function(e){}))},t.removeMeeting=be,t.viewAvailability=function(e){var a=angular.copy(t.eventInfo);if(a.info.attendees=t.attendees.concat(t.resources),a.info.allDay=t.allDay,!a.info.attendees.some((e=>e.email&&e.email.toUpperCase()===t.organizerEmail.toUpperCase()))){var r=t.organizerName||f.user.displayName,i=t.organizerEmail||f.user.emailAddress;t.currentCalendar.isSharedItem&&(0===t.currentCalendar.sharedResourceType?(r=f.user.displayName,i=f.user.emailAddress):(r=t.currentCalendar.owner,i=t.currentCalendar.owner+i.substring(i.indexOf("@"))));var o=[{name:r,email:i,status:1,conflict:!1,nonavail:Array(100).fill(!1)}];a.info.attendees=o.concat(a.info.attendees)}var s={locals:{eventInfo:a,date:t.isRecurring?t.instanceStart:t.start},controller:"calAvailabilityController",controllerAs:"ctrl",templateUrl:"app/calendars/modals/calendar-availability.dlg.html",targetEvent:e,clickOutsideToClose:!1};n.show(s)},t.querySearch=function(e){e.indexOf(";")>-1&&(e=e.split(";").pop().trim());e.indexOf(",")>-1&&(e=e.split(",").pop().trim());var t=d.defer(),n={search:e,requestLimit:200};return o.post("~/api/v1/settings/auto-complete-list-search/",n).then((function(e){var n=e.data.emailData,a={},r=/^[mM][aA][iI][lL][tT][oO]:/g;angular.forEach(n||[],(function(e){e.emailAddress=e.emailAddress.replace(r,"");var t=a[e.emailAddress];t?"CONTACT"===e.source&&"CONTACT"!==t.source||"GAL"===e.source&&"SENT_ITEM"===t.source?a[e.emailAddress]=e:t.emailAddress===t.displayAs&&e.displayAs&&e.displayAs!==e.emailAddress&&(t.displayAs=e.displayAs,t.formatted='"'+t.displayAs+'" <'+t.emailAddress+">"):a[e.emailAddress]=e}));var i=[];angular.forEach(a,(function(e){i.push(e)})),t.resolve(i)}),(function(){t.resolve([])})),t.promise},t.querySearchResources=function(e){var n=t.resources.map((e=>e.name.toLowerCase())),a=p.getResources().reduce((function(e,t){return n.includes(t.name.toLowerCase())||e.push(t),e}),[]);return e?a.filter((t=>new RegExp(e.replace(/\*/g,".*"),"i").test(t.name))):a},t.setForm=function(e){b.eventForm=e},t.setFormDirty=$e,b.allDayChanged=function(){b.availabilitySet||(!0===t.allDay?(t.currentAvailability=_.find(t.availabilityOptions,(function(e){return 0===e.id})),t.currentReminder=_.find(t.reminderOptions,(function(e){return 0===e.id})),b.showTimeZones=!1):(t.currentAvailability=_.find(t.availabilityOptions,(function(e){return 2===e.id})),t.currentReminder=_.find(t.reminderOptions,(function(e){return 2===e.id}))))},b.checkForConflicts=Te,b.copyLink=function(){$("#onlineMeetingLink").select().trigger("focus"),document.execCommand("copy"),m.report("COPIED_TO_CLIPBOARD")},b.goToSeries=function(){c.$$search=[],b.loadSeries()},b.isOwner=function(){return x(t.owner,g.user.username)},b.shouldShowEmailNotification=function(){if(!t.isInitialized)return!1;if(0===t.currentReminder.id)return!1;if(t.currentCalendar.isDomainResource)return!1;if(t.currentCalendar.isSharedItem)return!1;if(t.permission<8)return!1;if(!G())return!0;if(!x(t.organizerEmail,g.user.emailAddress))return!1;return!0},b.handleResourceAddAndLocation=ne,b.handleResourceRemoveAndLocation=re,b.addConfRoomToLoaction=ae,b.clearSearchTerm=function(){b.timeZoneSearch=""},b.removeAttachedFile=function(e,t){if(!q()&&!e)return;if(e.isNew&&"function"==typeof e.remove)return void e.remove();b.removedAttachedFiles.push(e.fileReference),b.eventForm&&b.eventForm.$setDirty()},t.afContext="user",function(){function n(){var n=null;if(l.data={},localStorage.apptPopout){var s=JSON.parse(localStorage.apptPopout);s.id===l.id&&((n=s.start||(s.data?s.data.start:void 0))&&(n=moment.tz(n,t.timeZoneStart.location)),s.data?(s.data.start=n?n.toDate():s.data.start,l.data=s.data,t.currentView=s.data.currentView,l.data.description&&(t.description=s.data.isHtml?l.data.description:Fe(l.data.description))):l.data={},s.calId&&(l.calId=s.calId),s.owner&&(l.owner=s.owner),delete localStorage.apptPopout,t.isDuplicating=s.duplicate)}var d=c.search(),m=b.owner=l.owner||g.user.username;"null"===m?m=null:v.categoryOwner=`${b.owner}@${f.user.domain}`;var y=b.calId=l.calId,h=b.id=l.id,D=p.getCalendars();if(null!==h&&"new"!==h){var E=$.grep(D,(function(e){return e.owner===m&&e.id===y}))[0];if(t.isWebCalendar=E&&E.isWebCalendar,e.spinner.show(),d&&d.instanceId){var C=moment.utc(d.instanceId,"YYYYMMDDHHmmss"),w=JSON.stringify({occurrenceId:C});o.post("~/api/v1/calendars/events/occurrence/"+m+"/"+y+"/"+h,w).then(M,u.report).finally(e.spinner.hide)}else o.get("~/api/v1/calendars/events/"+m+"/"+y+"/"+h).then(M,u.report).finally(e.spinner.hide)}else{D=$.grep(D,(function(e){return e.permission>=8}));var S=$.grep(D,(function(e){return!0===e.isPrimary&&e.owner===m}));S.length>0&&!S[0].isPrimary&&y!==S[0].id&&(y=b.calId=S[0].id);const e=function(e){e.seconds(0);const t=e.minute();return t>30?e=e.startOf("hour").add(1,"hour"):t>0&&(e=e.startOf("hour").add(30,"m")),e};let a=l.data.start||n?moment(l.data.start||n):moment.tz(moment().add(-moment().utcOffset(),"m").format("YYYY-MM-DDTHH:mm"),"UTC");a=e(a);var T=l.data.allDay||1440===p.calendarSettings.defaultDuration,N=p.calendarSettings.defaultDuration;T&&(N=60);
24var O={id:h,uid:null,calendarId:y,calendarOwner:m,allDay:T,start:{dt:a.toDate(),tz:t.timeZoneStart.location},end:{dt:moment(a).add(N,"m").toDate(),tz:t.timeZoneEnd.location},subject:l.data.subject||"",description:l.data.description||"",isHtml:l.data.isHtml,isPrivate:!1,location:"",availability:T?0:2,emailNotification:g.user.username+"@"+g.user.domain,emailNotificationEnabled:!1,reminderIndex:T?0:p.calendarSettings.defaultReminder,organizerName:l.data.organizerName||"",organizerEmail:l.data.organizerEmail||"",attendees:l.data.attendees||[],categories:v.getCategories(),recurrence:{type:0,untilCount:10,dailyInterval:1,weeklyInterval:1,weeklyDays:[!1,!1,!1,!1,!1,!1,!1],monthlyInterval:1,monthDay:a.date(),monthlySpecificDay:!0,monthlyPeriodIndex:Math.ceil(a.date()/7)-1,monthlyPeriodDayIndex:a.day(),yearlyInterval:1,yearlyMonthIndex:a.month(),yearlyDay:a.date(),yearlySpecificDate:!0,yearlyPeriodIndex:Math.ceil(a.date()/7)-1,yearlyPeriodDayIndex:a.day(),untilDate:a.add(1,"y").startOf("day").add(1,"d").add(-1,"s").utc()},resourceId:"",permission:8,isTentative:!1,attachedFiles:[],disallowCounters:l.data.disallowCounters,allowReplies:l.data.allowReplies,participantStatus:l.data.participantStatus};O.subject&&b.eventForm.$setDirty(),O.recurrence.weeklyDays[a.day()]=!0,M({data:{details:O}})}function M(n){if(F&&(k=!0,L=!0),b.originalDetails=angular.copy(n.data.details),b.originalDetails.id=b.id,null!=b.id&&"new"!==b.id)try{BigInt(b.id)}catch(e){b.originalDetails.id=0}"Universal"===b.originalDetails.start.tz&&(b.originalDetails.start.tz="UTC"),"Universal"===b.originalDetails.end.tz&&(b.originalDetails.end.tz="UTC"),"Russia Time Zone 11"===b.originalDetails.start.tz&&(b.startTzRussiaTimeZone11=!0,b.originalDetails.start.tz="Asia/Kamchatka"),"Russia Time Zone 11"===b.originalDetails.end.tz&&(b.endTzRussiaTimeZone11=!0,b.originalDetails.end.tz="Asia/Kamchatka"),moment.tz.zone(b.originalDetails.start.tz)||(b.originalDetails.start.tz=t.timeZoneStart.location||"UTC"),moment.tz.zone(b.originalDetails.end.tz)||(b.originalDetails.end.tz=t.timeZoneEnd.location||"UTC");var o=moment(b.originalDetails.start.dt).utcOffset(),s=moment.tz(moment(),b.originalDetails.start.tz).utcOffset();if(t.isRecurring=0!==b.originalDetails.recurrence.type,b.editSeries=!t.isRecurring||d&&!d.instanceId,!b.editSeries){const e=s-o;t.instanceStart=moment.tz(b.originalDetails.start.dt,b.originalDetails.start.tz).utc().add(e,"m").toDate(),t.instanceEnd=moment.tz(b.originalDetails.end.dt,b.originalDetails.end.tz).utc().add(e,"m").toDate()}if(v.categoryOwner=`${m}@${f.user.domain}`,n.data.details.categories=n.data.details&&n.data.details.categories?ue(v.getCategories(),n.data.details.categories):v.getCategories(),function(){var i=n.data.details.start;if(l.data.start)if(moment.isMoment(l.data.start))i=l.data.start.toDate();else if("string"==typeof l.data.start)if(b.originalDetails.allDay){var s=moment(l.data.start);i=moment.utc({year:s.year(),month:s.month(),date:s.date()}).toDate()}else i=new Date(l.data.start);switch(n.data.details.participantStatus){case"ACCEPTED":t.participantStatus=1;break;case"TENTATIVE":t.participantStatus=2;break;default:t.participantStatus=0}t.eventInfo={info:n.data.details,calendars:D,owner:m,calId:y,instanceStart:i,isNew:"new"===h||null===h},t.isNew=t.eventInfo.isNew,t.details=t.eventInfo.info,t.calendars=t.eventInfo.calendars,("my calendar"===t.calendars[0].name.toLowerCase()||"MY_CALENDAR"===t.calendars[0].untranslatedName)&&(t.calendars[0].name=r.instant("MY_CALENDAR"));t.owner=t.eventInfo.owner,t.calId=t.eventInfo.calId,t.showRecurringDelete=!1,t.availabilityOptions=function(){var e=[];return e.push({id:0,name:r.instant("AVAILABILITY_FREE")}),e.push({id:1,name:r.instant("AVAILABILITY_TENTATIVE")}),e.push({id:2,name:r.instant("AVAILABILITY_BUSY")}),e.push({id:3,name:r.instant("AVAILABILITY_OOF")}),e}(),t.daysOfWeek=function(){var e=[];return e.push({id:0,name:r.instant("SUNDAY")}),e.push({id:1,name:r.instant("MONDAY")}),e.push({id:2,name:r.instant("TUESDAY")}),e.push({id:3,name:r.instant("WEDNESDAY")}),e.push({id:4,name:r.instant("THURSDAY")}),e.push({id:5,name:r.instant("FRIDAY")}),e.push({id:6,name:r.instant("SATURDAY")}),e.push({id:7,name:r.instant("DAY")}
24),e.push({id:8,name:r.instant("CALENDAR_RECUR_WEEKDAY")}),e.push({id:9,name:r.instant("CALENDAR_RECUR_WEEKEND_DAY")}),e}(),t.months=function(){var e=[];return e.push({id:0,name:r.instant("MONTH_NAMES_JANUARY")}),e.push({id:1,name:r.instant("MONTH_NAMES_FEBRUARY")}),e.push({id:2,name:r.instant("MONTH_NAMES_MARCH")}),e.push({id:3,name:r.instant("MONTH_NAMES_APRIL")}),e.push({id:4,name:r.instant("MONTH_NAMES_MAY")}),e.push({id:5,name:r.instant("MONTH_NAMES_JUNE")}),e.push({id:6,name:r.instant("MONTH_NAMES_JULY")}),e.push({id:7,name:r.instant("MONTH_NAMES_AUGUST")}),e.push({id:8,name:r.instant("MONTH_NAMES_SEPTEMBER")}),e.push({id:9,name:r.instant("MONTH_NAMES_OCTOBER")}),e.push({id:10,name:r.instant("MONTH_NAMES_NOVEMBER")}),e.push({id:11,name:r.instant("MONTH_NAMES_DECEMBER")}),e}(),t.reminderOptions=function(){var e,t=[];t.push({id:0,name:r.instant("NONE")}),e=1;for(var n=0;n<=15;n+=5)t.push({id:e++,name:R.reactPluralize("REMINDER_MINUTES",{count:n})});t.push({id:5,name:R.reactPluralize("REMINDER_MINUTES",{count:30})}),e=6;for(var a=1;a<=12;++a)t.push({id:e++,name:R.reactPluralize("REMINDER_HOURS",{count:a})});t.push({id:18,name:R.reactPluralize("REMINDER_HOURS",{count:24})}),e=19;for(var i=2;i<=4;++i)t.push({id:e++,name:R.reactPluralize("REMINDER_DAYS",{count:i})});return t.push({id:22,name:R.reactPluralize("REMINDER_WEEKS",{count:1})}),t.push({id:23,name:R.reactPluralize("REMINDER_WEEKS",{count:2})}),t}(),t.recurrenceOptions=function(){var e=[];return e.push({id:t.recurrenceType.ONCE,name:r.instant("CALENDAR_RECURRENCE_ONCE")}),e.push({id:t.recurrenceType.DAILY,name:r.instant("DAILY")}),e.push({id:t.recurrenceType.WEEKLY,name:r.instant("WEEKLY")}),e.push({id:t.recurrenceType.MONTHLY,name:r.instant("MONTHLY")}),e.push({id:t.recurrenceType.YEARLY,name:r.instant("CALENDAR_RECURRENCE_YEARLY")}),e}(),t.recurPeriods=function(){var e=[];return e.push({id:0,name:r.instant("CALENDAR_FIRST")}),e.push({id:1,name:r.instant("CALENDAR_SECOND")}),e.push({id:2,name:r.instant("CALENDAR_THIRD")}),e.push({id:3,name:r.instant("CALENDAR_FOURTH")}),e.push({id:4,name:r.instant("CALENDAR_LAST")}),e}(),t.currentCalendar=function(){var e=$.grep(t.calendars,(function(e){return t.owner===e.owner&&t.calId===e.id}));return e.length>0||(e=$.grep(t.calendars,(function(e){return e.isPrimary}))).length>0?e[0]:t.calendars[0]}(),t.permission=t.currentCalendar.permission,t.uid=t.details.id,t.subject=t.details.subject,t.allDay=t.details.allDay,t.allowReplies=t.details.allowReplies,b.originalDetails.start.tz||(b.originalDetails.start.tz=t.timeZoneStart.location);b.originalDetails.end.tz||(b.originalDetails.end.tz=t.timeZoneEnd.location);b.hasMeeting=!!t.details.meetingUrl;var c=t.details.conferencing;b.conferencingOccurrenceOwned=!(!c||!c.occurrenceOwned),b.conferencingSeriesProviderType=c&&angular.isNumber(c.seriesProviderType)?c.seriesProviderType:null,b.conferencingProviderType=b.hasMeeting?c&&angular.isNumber(c.providerType)?c.providerType:0:null;var d=moment.tz(b.originalDetails.start.dt,b.originalDetails.start.tz).utcOffset()-o,f=moment.tz(b.originalDetails.start.dt,b.originalDetails.start.tz),g=moment.tz(b.originalDetails.end.dt,b.originalDetails.end.tz).utcOffset()-o,p=moment.tz(b.originalDetails.end.dt,b.originalDetails.end.tz);t.allDay?(b.momentStartJS=f.toDate(),b.momentStartJSDate=a("date")(b.momentStartJS,"shortDate"),b.momentStartJSTime=a("date")(b.momentStartJS,"shortTime")):I.convertLocalToUserTime(f).then((function(e){b.momentStartJS=e,b.momentStartJSDate=a("date")(e,"shortDate"),b.momentStartJSTime=a("date")(e,"shortTime")}),(function(e){u.report(e)}));t.allDay?t.isNew?(t.start=moment(f).add("m",d).utc().toDate(),t.end=moment(p).add("m",g).utc().toDate()):(t.start=moment(b.originalDetails.start.dt.substr(0,19)).toDate(),t.end=moment(b.originalDetails.end.dt.substr(0,19)).toDate()):(t.isNew,t.start=moment(f).add("m",d).utc().toDate(),t.end=moment(p).add("m",g).utc().toDate());if(t.isNew)t.timeZoneStart=$.grep(b.availableTimeZones,(function(e){return e.index===I.userTimeZone.index}))[0],t.timeZoneEnd=t.timeZoneStart;else{if(!0===b.startTzRussiaTimeZone11)t.timeZoneStart=$.grep(b.availableTimeZones,(function(e){return"Russia Time Zone 11"===e.id}))[0];else{let e=b.availableTimeZones.find((function(e){return e.location===b.originalDetails.start.tz}));e||!moment.tz.zone(b.originalDetails.start.tz)||t.isAllDay?t.timeZoneStart=e||I.userTimeZone:(t.start=I.convertLocalToUserTimeMoment(moment(b.originalDetails.start.dt).toDate()).toDate(),t.timeZoneStart=I.userTimeZone)}if(!0===b.endTzRussiaTimeZone11)t.timeZoneEnd=$.grep(b.availableTimeZones,(function(e){return"Russia Time Zone 11"===e.id}))[0];else{let e=b.availableTimeZones.find((function(e){return e.location===b.originalDetails.end.tz}));e||!moment.tz.zone(b.originalDetails.end.tz)||t.isAllDay?t.timeZoneEnd=e||I.userTimeZone:(t.end=I.convertLocalToUserTimeMoment(moment(b.originalDetails.end.dt).toDate()).toDate(),t.timeZoneEnd=I.userTimeZone)}}b.showTimeZoneWarning=!t.allDay&&(t.timeZoneStart?t.timeZoneStart.index:I.userTimeZone.index)!==I.userTimeZone.index,b.showTimeZones=!t.allDay&&(b.showTimeZoneWarning||(t.timeZoneEnd?t.timeZoneEnd.index:I.userTimeZone.index)!==I.userTimeZone.index),t.privateEvent=t.details.isPrivate,t.location=t.details.location,t.description=t.details.isHtml?t.details.description:Fe(t.details.description),t.currentAvailability=function(e){var n=$.grep(t.availabilityOptions,(function(t){return e===t.id}));return n.length>0?n[0]:t.availabilityOptions[1]}(t.details.availability),t.currentReminder=t.reminderOptions[t.details.reminderIndex],t.emailNotification=t.details.emailN
24otification,t.emailNotificationEnabled=t.details.emailNotificationEnabled,t.currentRecurrence=function(e){var n=$.grep(t.recurrenceOptions,(function(t){return e===t.id}));return n.length>0?n[0]:t.recurrenceOptions[0]}(t.details.recurrence.type),b.recurUntilOption=t.details.recurrence.untilCountEnabled?1:t.details.recurrence.untilDateEnabled?2:0,b.recurUntilCount=t.details.recurrence.untilCount,t.recurUntilDate=moment(t.details.recurrence.untilDate).toDate(),b.dailyFreq=t.details.recurrence.isWeekdaysOnly?1:0,b.dailyFreqDays=t.details.recurrence.dailyInterval,b.weeklyFreqWeeks=t.details.recurrence.weeklyInterval,b.weeklyDays=t.details.recurrence.weeklyDays,t.monthlyFreq=t.details.recurrence.monthlySpecificDay?0:1,t.monthlyFreqMonths=t.details.recurrence.monthlyInterval,t.monthlyFreqDay=t.details.recurrence.monthDay,2147483647===t.details.recurrence.monthlyPeriodIndex&&(t.details.recurrence.monthlyPeriodIndex=4);t.monthlyFreqPeriod=t.recurPeriods[t.details.recurrence.monthlyPeriodIndex],t.monthlyFreqPeriodDay=t.daysOfWeek[t.details.recurrence.monthlyPeriodDayIndex],t.yearlyFreq=t.details.recurrence.yearlySpecificDate?0:1,t.yearlyFreqYears=t.details.recurrence.yearlyInterval,t.yearlyFreqMonth=t.details.recurrence.yearlyMonthIndex,b.yearlyFreqMonthDate=t.details.recurrence.yearlyDay,t.yearlyFreqPeriod=t.details.recurrence.yearlyPeriodIndex,t.yearlyFreqPeriodDay=t.details.recurrence.yearlyPeriodDayIndex,t.yearlyFreqPeriodMonth=t.details.recurrence.yearlyMonthIndex,t.categories=t.details.categories,t.attendeeItem="",t.attendeeField="",t.resourceItem="",t.resourceField="",t.attendees=l.data.attendees?l.data.attendees:$.extend(!0,[],t.details.attendees.filter((e=>!e.isResource))),t.resources=l.data.attendees?[]:$.extend(!0,[],t.details.attendees.filter((e=>e.isResource))),1===t.attendees.length&&t.attendees[0].isOrganizer&&(t.attendees=[]);l.data.attendees&&(t.attendeesChanged=!0);t.organizerName=t.details.organizerName,t.organizerEmail=t.details.organizerEmail,ze(!0),l.data&&l.data.proposal&&Pe(l.data.proposal);t.isRecurrenceCompatible=J,t.canEdit=q,t.canEditAttachments=H,t.canEditRecurrence=B,t.hasProposals=V,t.hideResource=Y,t.isOrganizer=j,t.isMeeting=G,t.isMeetingEditable=K,t.isMeetingDeletable=Q,t.daysInMonth=fe,t.disallowCounters=t.details.disallowCounters,t.allowReplies=t.details.allowReplies,t.calendars=t.canEdit()?$.grep(t.calendars,(function(e){return e.permission>=8})):$.grep(D,(function(e){return e.owner===m&&e.id===y})),t.isNew||(t.recurrenceDescription=[U().join(", ")]);Te(),t.isInitialized=!0,e.$broadcast("masonry:contentsChanged")}(),b.attachedFiles=t.details.attachedFiles?JSON.parse(JSON.stringify(t.details.attachedFiles)):[],b.isSourceOwner=m===f.user.username,b.isSourceOwner&&b.originalDetails.meetingUrl){let e=null;const t=/\/interface\/meeting(?:#)?\/([^\/\s\r\n]+)/,n=b.originalDetails.meetingUrl.match(t);n&&n[1]&&(e=n[1]),e&&A.getMeetings().then((function(){const t=$.grep(A.meetings,(t=>t.fullId===e));t&&t.length>0?(b.onlineMeeting=t[0],b.onlineMeeting.uploadPermissionLevel=null===b.onlineMeeting.uploadPermissionLevel||void 0===b.onlineMeeting.uploadPermissionLevel?0:b.onlineMeeting.uploadPermissionLevel,b.onlineMeeting.endMeetingBehavior=null===b.onlineMeeting.endMeetingBehavior||void 0===b.onlineMeeting.endMeetingBehavior?0:b.onlineMeeting.endMeetingBehavior,b.onlineMeeting.occurenceSpecific=!!c.search().instanceId&&!!b.onlineMeeting.scheduledStart&&!!b.onlineMeeting.scheduledEnd,b.meetingOptions={enableLobby:!b.onlineMeeting.attendeesCanStart,customPassword:"",confirmPassword:"",uploadPermissionLevel:b.onlineMeeting.uploadPermissionLevel,endMeetingBehavior:b.onlineMeeting.endMeetingBehavior}):b.meetingMissing=!0}),(function(){}))}i((function(){$('[name="subject"]').trigger("focus")}))}}T.ensureActivated(),i((function(){$("#timeZoneSearchA").on("keydown",(function(e){e.stopPropagation()})),$("#timeZoneSearchB").on("keydown",(function(e){e.stopPropagation()})),$("#timeZoneSearchC").on("keydown",(function(e){e.stopPropagation()})),$("#timeZoneSearchD").on("keydown",(function(e){e.stopPropagation()}))})),f.init().then((function(){const e=f.user.settings.features;b.allowTeamWorkspaces=e.enableWebConferencing&&1!==S.edition}),(function(){})),N.loadProviders().then((function(e){b.conferencingProviders=e.filter((e=>e.enabled&&e.connected)),b.connectableProviders=e.filter((e=>e.enabled&&!e.connected&&0!==e.providerType))}),(function(){})),$(document).on("keydown",(function(e){var t=$(":focus");!function(){if(9===e.which&&t.is("input[type=search]")&&-1===t[0].id.indexOf("timeZoneSearch"))ee(e),e.preventDefault()}()})),o.get("~/api/v1/settings/permissions").then((function(e){b.showAvailability=e.data.permissions.calendarPublicAvailability}),(function(){})),g.init().then((function(){I.init().then((function(){t.timeZoneStart=I.userTimeZone,t.timeZoneEnd=I.userTimeZone,b.availableTimeZones=I.availableTimeZones,p.loadSources().then(n,u.report)}),(function(){}))}),u.report),y.init().then((function(){b.allowMeetingGuestUploads=!1!==y.userDomainSettings.allowMeetingGuestUploads}),(function(){})),t.$on("categoriesUpdated",de),b.loadSeries=function(){t.start=null,t.end=null,n()},b.attachmentGuid=g.generateGuid(),b.filesUploading=0}(),t.$on("$destroy",(function(){}));var F=!1,L=!1,k=!1,Z=!1;function U(){if(t.isNew)return[];let e={start:t.details.start,end:t.details.end,isRecurring:t.isRecurring},n=t.details?{recurrenceID:t.details.recurrenceId,isAllDay:t.details.allDay}:{},a=t.details&&t.details.recurrence?{seriesStart:t.details.firstInstanceStart,untilDateEnabled:t.details.recurrence.untilDateEnabled,untilDate:t.details.recurrence.untilDate,untilCountEnabled:t.details.recurrence.untilCountEnabled,untilCount:t.details.recurrence.untilCount,recurrenceType:t.details.recurrence.type,dailyInterval:t.details.recurrence.dailyFreqDays||t.details.recurrence.dailyInterval,isWeekdaysOnly:t.details.recurrence.isWeekdaysOnly,weeklyInterval:t.details.recurrence.weeklyInterval,monthlyInterval:t.details.recurrence.monthlyInterval,monthlySpecificDay:t.details.recurrence.monthlySpecificDay,monthDay:t.details.recurrence.monthDay,monthlyPeriodIndex:t.details.recurrence.monthlyPeriodIndex,monthlyPeriodDayIndex:t.details.recurrence.monthlyPeriodDayIndex,yearlyInterval:t.details.recurrence.yearlyInterval,yearlySpecificDate:t.details.recurrence.yearlySpecificDate,yearlyDay:t.details.recurrence.yearlyDay,yearlyMonthIndex:t.details.recurrence.yearlyMonthIndex,yearlyPeriodIndex:t.details.recurrence.yearlyPeriodIndex,yearlyPeriodDayIndex:t.details.recurrence.yearlyPeriodDayIndex,weeklyDays:t.details.recurrence.weeklyDays}:{},r=Object.assign({},e,n,a);return O.recurrenceDescriptionParts(r)}function x(e,t){return!e&&!t||!(!e||!t)&&e.toLowerCase()===t.toLowerCase()}function Y(){return!!t.organizerEmail&&(t.organizerEmail.indexOf("@")>-1?!x(g.user.domain,t.organizerEmail.split("@")[1]):!x(g.user.domain,t.organizerEmail))}function q(e){return e=e||!1,null===t.details.id||!t.isWebCalendar&&(G()&&!e?K():t.permission>=8)}function H(){return q()&&!t.editingOccurrence()}function B(e){return!!q(e)&&!(c.search().instanceId&&!b.editSeries)}function W(e,t){if(t)return moment((n=e.dt,n.replace(/([-+]+\d+\:\d+)?Z?$/,""))).toDate();var n,a=moment.tz(e.dt,e.tz).utcOffset()-moment().utcOffset();return moment.tz(e.dt,e.tz).add(a,"m").utc().toDate()}function V(){return b.originalDetails.proposals&&b.originalDetails.proposals.length}function j(e,t){return x(e,t)}function J(){if(0===t.currentRecurrence.id)return!0;var e=t.details.recurrence;
24return!(6===e.type&&e.monthlyPeriodDayIndex<0)&&!(7===e.type&&e.yearlyPeriodDayIndex<0)}function G(){return t.eventInfo.info.meetingStatus>=t.meetingType.IsAMeeting}function K(){return t.eventInfo.info.meetingStatus===t.meetingType.IsAMeeting&&t.permission>=8}function Q(){return t.eventInfo.info.meetingStatus>=t.meetingType.IsAMeeting&&!(t.eventInfo.info.isTentative&&t.details.status!==t.eventStatus.Cancelled)&&t.permission>=8}function X(e){if(13===e.which||9===e.which){if(t.resourceItem)te(e,{isResource:!0,name:t.resourceItem.name,email:t.resourceItem.emailAlias+"@"+g.user.domain,resourceType:t.resourceItem.sharedResourceType,status:0,conflict:!1,nonavail:null},!0);t.resourceItem=null,t.resourceField=""}}function ee(e){if(13===e.which||9===e.which){var n,a,r={isResource:!1,resourceType:0,status:0,conflict:!1,nonavail:null};if(null!==t.attendeeItem&&""!==t.attendeeItem){if("CONTACT_GROUP"===t.attendeeItem.source)return o.get(`~/api/v1/contacts/unpack-group/${t.attendeeItem.id}/${t.attendeeItem.sourceAccount}`).then((function(t){for(let n=0;n<t.data.emailData.length;n++){const a=t.data.emailData[n];a.emailAddress&&te(e,{name:a.displayAs,email:a.emailAddress},!1)}}),u.report),t.attendItem=null,void(t.attendeeField="");r.name=t.attendeeItem.displayAs,r.email=t.attendeeItem.emailAddress}else{if(!h.isValidEmail(t.attendeeField)||""===t.attendeeField)return u.warn("INVALID_EMAIL_ADDRESS"),void(e.stopPropagation&&e.stopPropagation());var i=null;n=C.getContacts(),(a=$.grep(n,(function(e){return x(e.emailAddress,t.attendeeField)}))).length>0&&(i=a[0].fullName),r.name=i,r.email=t.attendeeField}t.attendItem=null,t.attendeeField="",te(e,r,!0)}}function te(e,n,a){if(n.isResource?t.resources.some((e=>x(e.email,n.email))):t.attendees.some((e=>x(e.email,n.email))))return a&&u.warn(n.isResource?"CALENDAR_ALREADY_INVITED":"CALENDAR_ALREADY_ADDED_RESOURCE"),void(e.stopPropagation&&e.stopPropagation());if(!x(t.currentCalendar.owner,g.user.domain)&&x(n.email,t.currentCalendar.owner+"@"+g.user.domain))return a&&u.warn("CALENDAR_CANNOT_INVITE_SELF"),void(e.stopPropagation&&e.stopPropagation());if(n.isResource?(ne(n),t.resources.push(n)):t.attendees.push(n),t.attendeesChanged=!0,""===t.organizerName)t.currentCalendar.isSharedItem?0===t.currentCalendar.sharedResourceType?t.organizerName=g.user.displayName:t.organizerName=t.currentCalendar.owner+"@"+g.user.domain:x(t.currentCalendar.owner,g.user.username)&&(t.organizerName=g.user.displayName);else{var r=C.getContacts(),i=$.grep(r,(function(e){return x(e.userName,t.currentCalendar.owner)}));i.length>0&&(t.organizerName=i[0].fullName)}""===t.organizerEmail&&(t.currentCalendar.isSharedItem?0===t.currentCalendar.sharedResourceType?t.organizerEmail=f.user.emailAddress:t.organizerEmail=t.currentCalendar.owner+orgemail.substring(orgemail.indexOf("@")):(t.organizerEmail=g.user.emailAddress,0!==t.organizerEmail.indexOf("@")||x(t.currentCalendar.owner,g.user.domain)||(t.organizerEmail+="@"+g.user.domain))),se(),Te()}function ne(e){if(2===e.resourceType)if(void 0!==t.location){for(var a=$.grep(t.resources,(function(e){return 2===e.resourceType})),i=a.map((e=>e.name.toLowerCase())),o=t.location.split(";"),s=!1,l=0;l<o.length;l++){var c=o[l].trim().toLowerCase();if(0!==c.length){if(void 0===b.conferenceRoomDialog&&c===e.name.toLowerCase())return;i.includes(c)||(s=!0)}}s?void 0===b.conferenceRoomDialog&&(b.conferenceRoomDialog=n.confirm({title:r.instant("CONFIRMATION_REQUIRED"),textContent:r.instant("CONFERENCE_ROOM_UPDATE_CONFIRMATION_CONTENT"),ok:r.instant("OK"),cancel:r.instant("CANCEL")}),n.show(b.conferenceRoomDialog).then((function(){ae(!0,void 0),b.conferenceRoomDialog=void 0}),(function(){b.conferenceRoomDialog=void 0}))):ae(!1,e.name)}else ae(!1,e.name)}function ae(e,n){if(e){t.location="";var a=$.grep(t.resources,(function(e){return 2===e.resourceType}));angular.forEach(a.map((e=>e.name)),(function(e){ae(!1,e)}))}else void 0===t.location||0===t.location.length?t.location=n:t.location+="; "+n}function re(e){if(2===e.resourceType&&void 0!==t.location&&""!==t.location){for(var n=$.grep(t.resources,(function(e){return 2===e.resourceType})),a=n.map((e=>e.name.toLowerCase())),r=t.location.split(";"),i=!1,o=0;o<r.length;o++){var s=r[o].trim().toLowerCase();a.includes(s)||(i=!0)}if(i)return;t.location="";for(var l=0;l<r.length;l++){var c=r[l].trim();c!==e.name&&(0===t.location.length?t.location+=c:t.location+="; "+c)}t.location.trim(";")}}function ie(e){var n=$.map(t.attendees,(function(e){return e.email}));if(0!==n.length){var a={date:e.toISOString(),mailAddresses:n,uidToIgnore:"new"!==b.id&&null!==b.id?b.id:null};o.post("~/api/v1/calendars/user-availability",JSON.stringify(a)).then((function(e){angular.forEach(e.data,(function(e){var n=$.grep(t.attendees,(function(t){return t.email===e.emailAddress}));n.length>0&&(n[0].nonavail=e.busyHours)}))}),u.report)}}function oe(){var e=[],n=t.currentCalendar.id;t.calId===n&&t.owner===t.currentCalendar.owner||(e.push({calId:n}),e.push({owner:t.currentCalendar.owner})),t.details.subject!==t.subject&&e.push({subject:t.subject}),t.details.location!==t.location&&e.push({location:t.location}),t.details.start.tz===t.timeZoneStart.location&&moment.tz(t.details.start.dt,t.details.start.tz).format()===moment(t.start).format()||e.push({start:t.start}),t.details.end.tz===t.timeZoneEnd.location&&moment.tz(t.details.end.dt,t.details.end.tz).format()===moment(t.end).format()||e.push({end:t.end}),t.details.allDay!==t.allDay&&e.push({allDay:t.allDay}),t.details.availability!==t.currentAvailability.id&&e.push({availability:t.currentAvailability.id}),t.details.reminderIndex!==t.currentReminder.id&&e.push({reminderIndex:t.currentReminder.id}
24),t.details.emailNotificationEnabled!==t.emailNotificationEnabled&&e.push({emailNotificationEnabled:!t.currentCalendar.isDomainResource&&t.emailNotificationEnabled}),t.details.emailNotification!==t.emailNotification&&e.push({emailNotification:t.emailNotification}),t.details.participantStatus!==function(){switch(t.participantStatus){case 0:default:return"NEEDS-ACTION";case 1:return"ACCEPTED";case 2:return"TENTATIVE";case 3:return"DECLINED"}}()&&e.push({participantStatus:t.participantStatus});var a=t.editorScope.getHtml();if(t.details.description!==a&&e.push({description:a}),t.details.isPrivate!==t.privateEvent&&e.push({isPrivate:t.privateEvent}),t.details.organizerName!==t.organizerName&&e.push({organizerName:t.organizerName}),t.details.organizerEmail!==t.organizerEmail&&e.push({organizerEmail:t.organizerEmail}),b.attachedFiles&&b.attachedFiles.some((e=>!e.isNew))&&b.removedAttachedFiles&&e.push({removedFiles:b.removedAttachedFiles}),""!==t.attendeeField)for(var r=t.attendeeField.split(/\s*[;,]\s*/),i=0,o=r.length;i<o;++i)if(h.isValidEmail(r[i])&&!x(r[i],g.user.emailAddress)){var s={name:null,email:r[i],status:0,conflict:!1,nonavail:null};t.attendees.push(s),t.attendeesChanged=!0}if(!t.attendeesChanged&&t.details.resourceId&&t.resources.some((e=>2===e.resourceType))&&(t.attendeesChanged=!0),t.attendeesChanged&&e.push({attendees:t.attendees.concat(t.resources)}),t.categoriesChanged&&e.push({categories:t.categories.filter((e=>e.selected))}),!c.search().instanceId&&t.recurrenceChanged&&J()){var l=angular.copy(b.originalDetails.recurrence);switch(b.recurUntilOption){case 0:case"0":l.untilCountEnabled=!1,l.untilDateEnabled=!1;break;case 1:case"1":l.untilCount=b.recurUntilCount,l.untilCountEnabled=!0,l.untilDateEnabled=!1;break;case 2:case"2":l.untilDate=moment(t.recurUntilDate).startOf("day").add(1,"d").add(-1,"s").utc().toDate(),l.untilDateEnabled=!0,l.untilCountEnabled=!1}switch(l.type=t.currentRecurrence.id,l.type){default:case 0:break;case 4:0===b.dailyFreq?(l.dailyInterval=b.dailyFreqDays,l.isWeekdaysOnly=!1):l.isWeekdaysOnly=!0;break;case 5:l.weeklyInterval=b.weeklyFreqWeeks,l.weeklyDays=b.weeklyDays;break;case 6:l.monthlySpecificDay=0===t.monthlyFreq,l.monthlyInterval=t.monthlyFreqMonths,!0===l.monthlySpecificDay?l.monthDay=t.monthlyFreqDay:(l.monthlyPeriodIndex=t.monthlyFreqPeriod.id,l.monthlyPeriodDayIndex=t.monthlyFreqPeriodDay.id);break;case 7:l.yearlySpecificDate=0===t.yearlyFreq,l.yearlyInterval=t.yearlyFreqYears,!0===l.yearlySpecificDate?(l.yearlyDay=b.yearlyFreqMonthDate,l.yearlyMonthIndex=t.yearlyFreqMonth):(l.yearlyPeriodIndex=t.yearlyFreqPeriod,l.yearlyPeriodDayIndex=t.yearlyFreqPeriodDay,l.yearlyMonthIndex=t.yearlyFreqPeriodMonth)}e.push({recurrence:l})}return b.attachedFiles.some((e=>e.isNew))&&e.push({attachmentsAdded:!0}),e}function se(e){t.infoChanged=!0,e&&"function"==typeof e.$setDirty&&e.$setDirty()}function le(e,n){if(b.editSeries&&e!==n&&t.isRecurring&&(6===t.currentRecurrence.id&&0===t.monthlyFreq||7===t.currentRecurrence.id&&0===t.yearlyFreq)){if(!e)return;if(e<1)return;var a=moment(t.start),r=moment(t.end),i=moment.duration(r.diff(a));switch(a.month()+1){case 1:case 3:case 5:case 7:case 8:case 10:case 12:if(e>31)return;break;case 4:case 6:case 9:case 11:if(e>30)return;break;case 2:if(a.isLeapYear()&&e>29||e>28)return;break;default:return}a.date(e),r=moment(a).add(i),t.start=a.toDate(),t.end=r.toDate()}}t.editingOccurrence=function(){return c.search().instanceId&&!b.editSeries},t.occurrenceStart=function(){return b.originalDetails.firstInstanceStart?W(b.originalDetails.firstInstanceStart,t.allDay):t.start},t.occurrenceEnd=function(){return b.originalDetails.firstInstanceEnd?W(b.originalDetails.firstInstanceEnd,t.allDay):t.end},t.$watch("resourceItem",(function(){if(t.resourceItem&&""!==t.resourceItem){X({which:13})}})),t.$watch("attendeeItem",(function(){if(t.attendeeItem&&""!==t.attendeeItem){ee({which:13})}})),t.attendeesChanged=!1,b.conferenceRoomDialog=void 0,t.availabilityDate=t.start,t.availStartHour=Math.max(0,moment(t.start).hour()-1),ie(t.availabilityDate),t.$watch("recurUntilDate",(function(e,n){e&&n&&e!==n&&t.onRecurrenceChanged()})),t.onRecurrenceTypeChanged=function(e){if(null!=e&&(t.currentRecurrence=e),b.eventForm&&!b.eventForm.$pristine){var n=moment(t.start).day(),a=moment(t.start).date(),r=t.months[moment(t.start).month()].id,i=moment(t.start).date(),o=moment(t.start).add(1,"y").startOf("day").add(1,"d").add(-1,"s").utc().toDate();2===b.recurUntilOption?o>
24t.recurUntilDate&&(t.recurUntilDate=o,t.recurrenceChanged=!0):t.recurUntilDate=o,5===t.currentRecurrence.id&&(t.calEvCtrl.weeklyDays=[!1,!1,!1,!1,!1,!1,!1],t.calEvCtrl.weeklyDays[n]=!0,t.recurrenceChanged=!0),t.monthlyFreqDay!==a&&(t.monthlyFreqDay=a,t.recurrenceChanged=!0),t.yearlyFreqMonth!==r&&(t.yearlyFreqMonth=r,t.recurrenceChanged=!0),b.yearlyFreqMonthDate!==i&&(b.yearlyFreqMonthDate=i,t.recurrenceChanged=!0)}},t.infoChanged=!1,t.onKeyDown=function(e){null!=e&&8===e.keyCode&&se()},t.$watch("currentCalendar",(function(e,n){e&&n&&e!==n&&(e.isDomainResource?t.afContext="domainshare":(t.afContext="user",v.categoryOwner=`${e.owner}@${f.user.domain}`,de()),se(),Te())})),t.$watch("currentAvailability",(function(e,t){e&&t&&e!==t&&se()})),t.$watch("currentReminder",(function(e,t){e&&t&&e!==t&&se()})),t.onRecurrenceChanged=function(e){null!=e&&t.currentRecurrence!==e&&(t.currentRecurrence=e),t.recurrenceChanged=!0,se()},t.$watch("currentRecurrence",(function(e,n){e&&n&&e!==n&&(t.recurrenceChanged=!0,se(),Te())})),t.$watch("monthlyFreqDay",le),t.$watch((function(){return b.yearlyFreqMonthDate}),le),t.onWeeklyDaysChanged=function(){t.recurrenceChanged=!0,se(),ce()};const ce=_.debounce((function(){var e=t.start.getDay();if(b.weeklyDays[e])return;for(let n=1;n<7;n++){let a=(e+n)%7;if(b.weeklyDays[a]){let e=new Date(t.start);e.setDate(t.start.getDate()+n),t.start=e,t.$applyAsync();break}}}),750);function de(){try{const e=v.getCategories();t.categories=ue(e,$.grep(t.categories,(function(e){return e.selected})))}catch(e){u.report(e)}}function ue(e,t){return e.forEach((function(e){e.selected=!1})),t&&(e=t.reduce((function(e,t){const n=e.find((e=>e.name===t.name));return n?n.selected=t.selected:e.push({name:t.name,colorIndex:-1,master:!1,translatedName:a("translate")(t.name),selected:!0}),e}),e)),e}function me(){var e=!0;switch(t.isSubjectValid=t.subject&&t.subject.length>0,e&=t.isSubjectValid,void 0!==t.subject&&null!==t.subject||(e&=!1),e&=function(){if(!angular.isDate(t.start)||!angular.isDate(t.end)||!angular.isDate(t.recurUntilDate))return!1;var e=Ce(t.start,t.timeZoneStart).toDate();return!(Ce(t.end,t.timeZoneEnd).toDate()<e||t.isRecurring&&!t.editingOccurrence()&&t.recurUntilDate<t.start)}(),e&=!t.emailNotificationEnabled||t.emailNotification.length>0,e&=1!==parseInt(b.recurUntilOption,10)||parseInt(b.recurUntilCount,10)>0,t.currentRecurrence.id){default:case 0:break;case 7:e&=parseInt(t.yearlyFreqYears)>0,e&=function(){if(0!==parseInt(t.yearlyFreq))return!0;var e=parseInt(b.yearlyFreqMonthDate);if(e<=0)return!1;switch(t.yearlyFreqMonth+1){case 1:case 3:case 5:case 7:case 8:case 10:case 12:return e<=31;case 2:return e<=29;case 4:case 6:case 9:case 11:return e<=30;default:return!1}}();break;case 6:e&=parseInt(t.monthlyFreqMonths)>0,e&=0!==parseInt(t.monthlyFreq)||parseInt(t.monthlyFreqDay)>0&&parseInt(t.monthlyFreqDay)<=31;break;case 5:e&=parseInt(b.weeklyFreqWeeks)>0;break;case 4:e&=0!==parseInt(b.dailyFreq)||parseInt(b.dailyFreqDays)>0}return 0!==e}function fe(){switch(t.yearlyFreqMonth+1){case 2:return 29;case 4:case 6:case 9:case 11:return 30;default:return 31}}function ge(a){if(!(t.isValid=me()))return void(t.infoChanged=!0);var r=oe(),s="new"!==b.id&&null!==b.id?b.owner||b.originalDetails.owner:t.currentCalendar.owner,l=b.calId||t.currentCalendar.id,u=moment(),m=moment.tz(moment(t.start).format("YYYY-MM-DDTHH:mm:ss"),t.timeZoneStart.location),g=moment.tz(moment(t.end).format("YYYY-MM-DDTHH:mm:ss"),t.timeZoneEnd.location),y=b.originalDetails.allDay;for(var h in r)if(r.hasOwnProperty(h)){var v=r[h];if(null!=v.participantStatus)switch(v.participantStatus){case 1:ye();break;case 2:he();break;case 3:ve()}if(null!=v.allDay){y=v.allDay;continue}if(null!=v.attendees){var D,E,C,I=(s+"@"+f.user.domain).toLowerCase();if(!x(I,f.user.emailAddress))continue;var S=$.grep(v.attendees,(function(e){return x(e.email,I)}));if(!S||0===S.length)continue;(D=v.attendees.indexOf(S[0]))>-1&&v.attendees.splice(D,1),v.attendees.length>0&&(E=$.grep(r,(function(e){return e.organizerEmail})),C=$.grep(r,(function(e){return e.organizerName})),E&&E.length>0&&!x(E[0].organizerEmail,I)&&(E[0].organizerEmail=I,C&&C.length>0&&(C[0].organizerName=f.user.displayName)))}}y&&(u.startOf("day"),m=moment(t.start).startOf("day"),g=moment(t.end).endOf("day"));let T={controller:"calendarDateWarnDialogController",controllerAs:"ctrl",templateUrl:"app/calendars/modals/calendar-datewarn.dlg.html",targetEvent:a,clickOutsideToClose:!1,isMeeting:K()||r.some((e=>e.attendees)),isSeries:t.isRecurring&&b.editSeries,isRecurring:b.editSeries,isNew:t.isNew,isFinished:g<=u};function A(n){!function(n,a,r,s,l,u){var m=!1,f=!1,g=t.calendars.filter((e=>e.id==a))[0],y=$.extend(!0,{},s),h=[];for(var v in l)if(l.hasOwnProperty(v)){var D=l[v];
24if(null!=D.calId&&(y.calendarId=D.calId),null!==D.owner&&null==D.owner||(y.calendarOwner=D.owner),null!=D.subject&&(y.subject=D.subject),null!=D.location&&(y.location=D.location),null!=D.resourceId&&(y.resourceId=D.resourceId,""===y.resourceId&&(y.resourceName="")),null!=D.start&&(m=!0,y.start={dt:moment.tz(moment(D.start),"UTC").add(moment(D.start).utcOffset(),"minutes"),tz:t.timeZoneStart.location}),null!=D.end&&(f=!0,y.end={dt:moment.tz(moment(D.end),"UTC").add(moment(D.end).utcOffset(),"minutes"),tz:t.timeZoneEnd.location}),null!=D.allDay&&(y.allDay=D.allDay),null!=D.availability&&(y.availability=D.availability),null!=D.reminderIndex&&(y.reminderIndex=D.reminderIndex),null!=D.emailNotificationEnabled&&(y.emailNotificationEnabled=D.emailNotificationEnabled),null!=D.emailNotification&&(y.emailNotification=D.emailNotification),null!=D.description&&(y.description=D.description),null!=D.isPrivate&&(y.isPrivate=D.isPrivate),null!=D.organizerName)if(D.organizerName.indexOf(D.owner)>-1)y.organizerName=D.organizerName;else if(y.organizerName.indexOf("@")>-1){var E=y.organizerName.substring(y.organizerName.indexOf("@"));y.organizerName=D.organizerName+"@"+E}else y.organizerName=D.organizerName;null!=D.organizerEmail&&(y.organizerEmail=D.organizerEmail),null!=D.attendees&&(y.attendees=D.attendees,0==y.attendees.length&&(y.organizerName=null,y.organizerEmail=null)),null!=D.categories&&(y.categories=D.categories),null!=D.recurrence&&(y.recurrence=D.recurrence),D.removedFiles&&(h=D.removedFiles),D.attachmentsAdded&&t.canEditAttachments()&&(y.attachmentGuid=b.attachmentGuid)}m||(y.start.dt=moment.tz(moment(b.originalDetails.start.dt),"UTC").add(moment(b.originalDetails.start.dt).utcOffset(),"minutes"));f||(y.end.dt=moment.tz(moment(b.originalDetails.end.dt),"UTC").add(moment(b.originalDetails.end.dt).utcOffset(),"minutes"));y.allDay||(y.start.dt=y.start.dt.toISOString(),y.end.dt=y.end.dt.toISOString());if(c.search().instanceId){var C=moment.utc(c.search().instanceId,"YYYYMMDDHHmmss");y.recurrenceId=C}p.ignoreCalendarEventModified.requested=moment(),y.meetingUrl=b.hasMeeting&&!b.meetingRemoved?t.details.meetingUrl:null;var I=null!==b.conferencingProviderType&&0!==b.conferencingProviderType;y.conferencing={providerType:!b.meetingRemoved&&(y.meetingUrl||I||Re())?b.conferencingProviderType:null,removed:!!b.meetingRemoved,settings:null},b.meetingRemoved||Me()||Re()||(!I&&y.meetingUrl?y.conferencing.settings={customPassword:b.meetingOptions.customPassword||"",enableLobby:String(!0===b.meetingOptions.enableLobby),uploadPermissionLevel:String(b.meetingOptions.uploadPermissionLevel>=0?b.meetingOptions.uploadPermissionLevel:0),endMeetingBehavior:String(b.meetingOptions.endMeetingBehavior>=0?b.meetingOptions.endMeetingBehavior:0)}:!I||y.meetingUrl&&!b.meetingOptionsDirty||(y.conferencing.settings={},Ne(b.conferencingProviderType).forEach((function(e){var t=b.meetingOptions[e.key];y.conferencing.settings[e.key]=String(null==t?e.defaultValue:t)}))));y.id||(y.id=0);var S=JSON.stringify(y);function T(){b.eventForm.$setPristine(),e.$broadcast("calendarRefresh"),i((function(){Z=!0,window.close()}))}function A(){if(!h){var e=d.defer();return e.resolve(),e.promise}var t=JSON.stringify({folderId:g.folderId,owner:n,removeFileReferences:h});return o.post("~/api/v1/filestorage/remove-attached-file",t)}e.spinner.show(),A().then((()=>o.post(`~/api/v1/calendars/events/save/${n}/${a}/${r}/${u}`,S))).then(T,w.showErrorMessage).finally(e.spinner.hide)}(s,l,"new"!==b.id&&null!==b.id?b.id:null,b.originalDetails,r,n)}T.isFinished||m<=u?n.show(T).then((e=>A(e.notify)),(function(){})):A(!0)}function pe(){var e=null;c.search().instanceId&&(e=moment.utc(c.search().instanceId,"YYYYMMDDHHmmss").toISOString());return e}function ye(){e.spinner.show(),o.post(`~/api/v1/calendars/meeting-accept/${b.owner}/${b.calId}/${b.id}/${pe()}`).then((function(){b.eventForm.$setPristine(),Z=!0,window.close()}),w.showErrorMessage).finally(e.spinner.hide)}function he(){e.spinner.show(),o.post(`~/api/v1/calendars/meeting-tentatively-accept/${b.owner}/${b.calId}/${b.id}/${pe()}`).then((function(){b.eventForm.$setPristine(),Z=!0,window.close()}),w.showErrorMessage).finally(e.spinner.hide)}function ve(){e.spinner.show(),o.post(`~/api/v1/calendars/meeting-decline/${b.owner}/${b.calId}/${b.id}/${pe()}`).then((function(){b.eventForm.$setPristine(),Z=!0,window.close()}),u.report).finally(e.spinner.hide)}function De(e,n){if(t.start){var a,r=Ce(t.start,t.timeZoneStart);moment(r).add(15,"minutes"),moment(new Date).local().utcOffset();n?(a=t.timeZoneStart?moment.tz(r,t.timeZoneStart.location).utc().add(n):moment(r).utc().add(n),i(),a-r>
240&&(a=Ce(t.start,t.timeZoneEnd).add(n),i())):t.end?(a=Ce(t.end,t.timeZoneEnd),e&&a.toDate()<r.toDate()&&(a=Ce(r,t.timeZoneEnd).add(1,"hours"),i())):(a=Ce(r,t.timeZoneEnd).add(1,"hours"),i())}function i(){t.end=a.toDate()}}function Ee(){if(t.start){var e=Ce(t.start,t.timeZoneStart);if(t.timeZoneStart&&t.timeZoneEnd){var n=e.clone().utc().tz(t.timeZoneEnd.location),a=n.utcOffset()-e.utcOffset();t.minEndDate=n.add(a,"minutes").toDate()}else t.minEndDate=t.start;t.allDay||(t.minEndDate=moment(t.minEndDate).add(1,"minute").toDate())}}function Ce(e,t){if(!e)return e;if(e instanceof moment)return t?moment.tz(e,t.location):moment(e);var n=e.getFullYear()+"-"+("0"+(e.getMonth()+1)).slice(-2)+"-"+("0"+e.getDate()).slice(-2)+"T"+("0"+e.getHours()).slice(-2)+":"+("0"+e.getMinutes()).slice(-2)+":"+("0"+e.getSeconds()).slice(-2);return t?moment.tz(e,t.location):moment(n)}t.$watchCollection((function(){return b.weeklyDays}),(function(e,n){if((void 0!==e||void 0!==n)&&(t.weeklyDayStr="",e)){var r,i=[];for(r=0;r<e.length;++r)e[r]&&i.push(t.daysOfWeek[r].name);if(1===i.length)t.weeklyDayStr=i[0];else if(2===i.length)t.weeklyDayStr=i[0]+" "+a("translate")("AND").toLowerCase()+" "+i[1];else if(i.length>2){for(r=0;r<i.length-1;++r)t.weeklyDayStr+=i[r]+", ";t.weeklyDayStr+=a("translate")("AND").toLowerCase()+" "+i[i.length-1]}}})),t.$watch("allDay",(function(e,n){void 0===e&&void 0===n||t.attendees&&0!==t.attendees.length&&Te()})),t.categoriesChanged=!1,t.$watch("monthlyFreqPeriod",(function(e,n){e&&n&&e!==n&&(t.recurrenceChanged=!0,se())})),t.$watch("monthlyFreqPeriodDay",(function(e,n){e&&n&&e!==n&&(t.recurrenceChanged=!0,se())})),t.$watch("yearlyFreqMonth",(function(e,n){e&&n&&e!==n&&(t.recurrenceChanged=!0,se())})),t.$watch("yearlyFreqPeriod",(function(e,n){e&&n&&e!==n&&(t.recurrenceChanged=!0,se())})),t.$watch("yearlyFreqPeriodDay",(function(e,n){e&&n&&e!==n&&(t.recurrenceChanged=!0,se())})),t.$watch("yearlyFreqPeriodMonth",(function(e,n){e&&n&&e!==n&&(t.recurrenceChanged=!0,se())})),t.isSubjectValid=!0,t.isValid=!0,t.$watch("subject",(function(e,n){e!==n&&(t.subject&&t.subject.length>0?t.isSubjectValid=!0:t.isSubjectValid=!1,se())}));var we=moment("1900-01-01").toDate();t.$watch("start",(function(e,n){if(t.start){if(L)return L=!1,void Ee();t.start<we&&(t.start=we);var a=null;if(n){var r=Ce(n,t.timeZoneStart).tz("UTC"),i=Ce(t.end,t.timeZoneEnd).tz("UTC");a=moment.duration(i.diff(r))}if(De(!0,a),Ee(),t.recurUntilDate<t.start&&(t.recurUntilDate=moment(t.start).add(1,"y").startOf("day").add(1,"d").add(-1,"s").utc().toDate()),t.isRecurring&&b.editSeries)switch(t.currentRecurrence.id){default:case 0:case 4:break;case 5:var o=moment(n||t.start).day(),s=moment(t.start).day();t.calEvCtrl.weeklyDays[o]&&!t.calEvCtrl.weeklyDays[s]&&(t.calEvCtrl.weeklyDays[o]=!1),t.calEvCtrl.weeklyDays[s]=!0;break;case 6:if(0===t.monthlyFreq){var l=moment(t.start).date(),c=moment(t.start).date();t.monthlyFreqDay!==l&&(t.monthlyFreqDay=l,t.recurrenceChanged=!0)}else{t.monthlyFreqPeriodDay!=t.daysOfWeek[7]&&t.monthlyFreqPeriodDay!=t.daysOfWeek[8]&&t.monthlyFreqPeriodDay!=t.daysOfWeek[9]&&t.daysOfWeek[moment(t.start).day()]!==t.monthlyFreqPeriodDay&&(t.monthlyFreqPeriodDay=t.daysOfWeek[moment(t.start).day()],t.recurrenceChanged=!0)}break;case 7:var d=t.months[moment(t.start).month()].id;c=moment(t.start).date();b.yearlyFreqMonthDate!==c&&(b.yearlyFreqMonthDate=c,t.recurrenceChanged=!0),t.yearlyFreqMonth!==d&&(t.yearlyFreqMonth=d,t.recurrenceChanged=!0)}Te()}})),t.$watch("end",(function(e,n){(e||n)&&e!==n&&(e&&n&&e.getTime()===n.getTime()||(k?k=!1:t.start&&(De(),Te())))})),t.$watch("timeZoneStart.location",(function(e,n){if((e||n)&&n!==e){if(t.start){var a=null;
24if(n){var r=moment.tz(t.start,n).tz("UTC"),i=t.timeZoneEnd?moment.tz(t.end,t.timeZoneEnd.location).tz("UTC"):moment(t.end).tz("UTC");a=moment.duration(i.diff(r))}De(!1,a),Ee(),Te()}ze()}})),t.$watch("timeZoneEnd.location",(function(e,n){if((e||n)&&n!==e){if(t.start){var a=null;if(n){var r=t.timeZoneStart?moment.tz(t.start,t.timeZoneStart.location).tz("UTC"):moment(t.start).tz("UTC"),i=moment.tz(t.end,n).tz("UTC");a=moment.duration(i.diff(r))}De(!1,a),Ee(),Te()}ze()}})),t.$watch("currentResource",(function(e,t){e&&t&&e!==t&&(se(),Te())})),t.$watch("attendees",(function(e,t){e&&t&&e!==t&&Te()})),t.$watch("allDay",(function(e,t){e&&t&&e!==t&&Te()})),t.$watch("recurUntilDate",(function(){i(t.$applyAsync)})),F=!0,window.onbeforeunload=function(){if(b.eventForm.$dirty)return!0;window.opener&&"function"==typeof window.opener.onPopupEventChanged&&Z&&window.opener.onPopupEventChanged()},t.potentialConflict=!1;var Ie=!1;const Se=function(){t.proposals&&t.proposals.forEach((e=>{e.selected=e.start.toISOString()===t.start.toISOString()&&e.end.toISOString()===t.end.toISOString()}))};function Te(){if(!Ie&&t.eventInfo){Se(),Ie=!0;var n=angular.copy(t.attendees||[]);t.resources&&t.resources.forEach((e=>n.push(e)));for(var a=angular.copy(t.eventInfo),r=!1,i=0;i<a.info.attendees.length;i++)if(a.info.attendees[i].email.toUpperCase()===t.organizerEmail.toUpperCase()){r=!0;break}if(!r){var s=t.organizerName||f.user.displayName,l=t.organizerEmail||f.user.emailAddress;t.currentCalendar.isSharedItem&&(0===t.currentCalendar.sharedResourceType?(s=f.user.displayName,l=f.user.emailAddress):(s=t.currentCalendar.owner,l=t.currentCalendar.owner+l.substring(l.indexOf("@"))));var c={name:s,email:l,status:0,conflict:!1,nonavail:Array(100).fill(!1),isResource:0===t.currentCalendar.sharedResourceType};r=!0,n.push(c)}if(0!==n.length){var d=moment.tz([t.start.getYear()+1900,t.start.getMonth(),t.start.getDate(),t.start.getHours(),t.start.getMinutes(),0,0],I.userTimeZone.location),m=$.map(n,(function(e){return e.email}));t.allDay&&d.hour(0).minute(0).second(0);var g=JSON.stringify({date:d.toISOString(),emailAddresses:m,uidToIgnore:"new"!==b.id&&null!==b.id?b.id:null});e.spinner.show(1e3),o.post("~/api/v1/calendars/user-availability",g).then((function(e){!function(e,a){var r=moment.tz([t.start.getYear()+1900,t.start.getMonth(),t.start.getDate(),t.start.getHours(),t.start.getMinutes(),0,0],I.userTimeZone.location),i=moment.tz([t.end.getYear()+1900,t.end.getMonth(),t.end.getDate(),t.end.getHours(),t.end.getMinutes(),0,0],I.userTimeZone.location);i<r&&(i=r);var o=Array(100).fill(!1),s=Math.ceil(i.diff(r,"minutes")/15),l=r.hour();r.date()<a.date()&&(l-=24);var c=4*l+r.minute()/15;do{if(c>=0&&(o[c]=!0),++c>=o.length)break;--s}while(s>0);t.potentialConflict=!1;for(let a=0;a<o.length;++a)if(!1!==o[a])for(let r=0;r<e.data.length;++r)if(null!=e.data[r].busyHours){var d=n.find((t=>t.email===e.data[r].emailAddress));if(d&&1!==d.status&&!0===e.data[r].busyHours[a])return void(t.potentialConflict=!0)}}(e,d)}),u.report).finally((function(){e.spinner.hide(),Ie=!1}))}else t.potentialConflict=!1}}function Ae(e){const t=N.getProvider(e);if(t&&t.defaults)return t.defaults;const n={};return P.forEach((e=>n[e.key]=e.defaultValue)),n}function Ne(e){const t=N.getProvider(e);return t&&t.capabilities&&t.capabilities.length?t.capabilities:0===e?P:[]}function Oe(e){if(b.hasMeeting&&!b.meetingMissing||!b.allowTeamWorkspaces||!q())return;const n=Ae(0),r={title:t.subject,allowGuestUsers:!0,attendeesCanStart:"true"!==n.enableLobby,password:n.customPassword||void 0,endMeetingBehavior:{id:parseInt(n.endMeetingBehavior,10)||0},uploadPermissionLevel:parseInt(n.uploadPermissionLevel,10)||0,scheduleMeeting:t.currentRecurrence.id!==t.recurrenceType.ONCE,inProcess:!0};let i=moment(t.start).utcOffset()-moment.tz(t.start,t.timeZoneStart.location).utcOffset();r.scheduledStart=moment.tz(t.start,"UTC").add(i,"minutes").format(),r.timeZoneStart=t.timeZoneStart,i=moment(t.end).utcOffset()-moment.tz(t.end,t.timeZoneEnd.location).utcOffset(),r.scheduledEnd=moment.tz(t.end,"UTC").add(i,"minutes").format(),r.timeZoneEnd=t.t
24imeZoneEnd,A.createNew(r).then((function(r){A.getMeetingDetails(r.id).then((function(r){b.hasMeeting=b.meetingCreated=!0,b.meetingMissing=!1,b.conferencingProviderType=0,b.onlineMeeting=r,b.onlineMeeting.uploadPermissionLevel=null===b.onlineMeeting.uploadPermissionLevel||void 0===b.onlineMeeting.uploadPermissionLevel?0:b.onlineMeeting.uploadPermissionLevel,b.onlineMeeting.endMeetingBehavior=null===b.onlineMeeting.endMeetingBehavior||void 0===b.onlineMeeting.endMeetingBehavior?0:b.onlineMeeting.endMeetingBehavior,b.meetingOptions={enableLobby:"true"===n.enableLobby,customPassword:n.customPassword||"",confirmPassword:n.customPassword||"",uploadPermissionLevel:parseInt(n.uploadPermissionLevel,10)||0,endMeetingBehavior:parseInt(n.endMeetingBehavior,10)||0};const i=t.details.meetingUrl,o=window.location.href.substring(0,window.location.href.indexOf("/interface/"));t.details.meetingUrl=`${o}/interface/meeting/${b.onlineMeeting.fullId}`;let s=t.editorScope.getHtml()||"";if(e)s=s.replaceAll(i,t.details.meetingUrl);else{let e=a("translate")("CALENDAR_WORKSPACE_DESCRIPTION",{mtgUrl:t.details.meetingUrl});e=$("<div>").html(e).text(),e=$("<div>").append($(e).attr("id","meetingLink").attr("contenteditable","false")).html(),s=`${s}<div><br></div><hr id="meeting">${e}`}t.editorScope.setHtml(s),$e(b.eventForm)}),u.report)}),u.report)}function Me(){return!b.meetingCreated&&(!!t.editingOccurrence()&&(null!==b.conferencingProviderType&&0!==b.conferencingProviderType?b.hasMeeting&&!b.conferencingOccurrenceOwned:!b.onlineMeeting||!b.onlineMeeting.scheduledStart||!b.onlineMeeting.scheduledEnd))}function Re(){return t.editingOccurrence()&&!b.hasMeeting&&null!==b.conferencingProviderType&&b.conferencingProviderType===b.conferencingSeriesProviderType}function be(){const e=$("<div>").html(t.editorScope.getHtml());var n=e.find("#meetingLink");n.prev().filter("div").has("br").remove();var a=n.prev().filter("hr");a.prev().filter("div").has("br").remove(),n.remove(),a.remove(),t.editorScope.setHtml(e.html()),b.meetingCreated?(b.onlineMeeting=null,b.hasMeeting=!1,b.meetingMissing=!1,t.details.meetingUrl="",b.meetingCreated=!1):b.meetingRemoved=!0,b.conferencingProviderType=null,$e(b.eventForm)}function Pe(e){F&&(L=!0,k=!0);try{t.proposals.forEach((t=>{t.selected=t.name===e.name})),t.start=e.start,t.end=e.end}catch(e){}$e()}function ze(e){if(t.proposals=[],e&&l.data&&l.data.proposal&&(l.data.proposal.start=a(l.data.proposal.start,b.originalDetails.allDay),l.data.proposal.end=a(l.data.proposal.end,b.originalDetails.allDay)),!b.originalDetails||!b.originalDetails.proposals||!b.originalDetails.proposals.length)return;const n={};n.name=r.instant("ORIGINAL_TIME"),n.start=a(b.originalDetails.start,b.originalDetails.allDay),n.end=a(b.originalDetails.end,b.originalDetails.allDay),t.proposals.push(n);for(let e=0;e<b.originalDetails.proposals.length;e++){const n=$.extend({},b.originalDetails.proposals[e]);n.start=a({dt:n.start,tz:b.originalDetails.start.tz},b.originalDetails.allDay),n.end=a({dt:n.end,tz:b.originalDetails.start.tz},b.originalDetails.allDay),n.name=i(n.email),t.proposals.push(n)}function a(e,t){if(!e)return"";if(t){var n=moment(e.dt.substr(0,19)),a=moment.tz({year:n.year(),month:n.month(),date:n.date(),hour:n.hour(),minute:n.minute(),second:0},e.tz);return moment({year:a.year(),month:a.month(),date:a.date()}).toDate()}return I.convertLocalToUserTimeMoment(e.dt).toDate()}function i(e){e=e.toLowerCase();for(let n=0;n<t.attendees.length;n++)if(t.attendees[n].email.toLowerCase()===e)return t.attendees[n].name||e;return e}}function $e(e){b.eventForm.$setDirty(),t.$applyAsync()}function Fe(e){var t={},n="",a=/youtube\.com\/(?:watch\?v=|embed\/)([a-zA-Z0-9-_]+)/gi,r=/youtu\.be\/([a-zA-Z0-9-_]+)/gi,i=$("<div>").html(e).text(),o="",s=0;for(var l of i.matchAll(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gi)){var c=i.substr(s,l.index-s);o+=c=$("<div>").text(c).html();var d=l[0];if(void 0===t[d]){var u=a.exec(d);u&&(n+="<a href='"+d+"' target='_blank' rel='noopener noreferrer'><i class='toolsicon toolsicon-youtube sidelogo'></i><img src='http://img.youtube.com/vi/"+u[1]+"/0.jpg'></a>"),(u=r.exec(d))&&(n+="<a href='"+d+"' target='_blank' rel='noopener noreferrer'><i class='toolsicon toolsicon-youtube sidelogo'></i><img src='http://img.youtube.com/vi/"+u[1]+"/0.jpg'></a>"),t[d]=!0}o+='<a href="'+d+'" target="_blank" rel="noopener noreferrer">'+d+"</a>",s=l.index+l[0].length}return s<i.length&&(o+=$("<div>").text(i.substr(s)).html()),""+o+n}t.trustDescriptionHtml=function(e){return s.trustAsHtml(M.parseCss(e))},b.fileUploadedCallback=function(){b.eventForm&&b.eventForm.$setDirty()}}e.$inject=["$rootScope","$scope","$mdDialog","$filter","$translate","$timeout","$http","$sce","$stateParams","$location","$q","errorHandling","successHandling","userDataService","coreData","coreDataCalendar","coreDataSettings","emailValidationService","apiCategories","coreDataCategories","coreDataFileStorage","coreDataContacts","errorMessageService","userTimeService","coreLicensing","themesService","meetingWorksp
24aces","conferencing","calendarRecurrenceDescriptionService","htmlSandboxing","i18n"],angular.module("smartermail").controller("calendarEditEventController",e)}();
25!function(){"use strict";function e(e,t,s,r,n,a,c,i,o){let u;const l="popout.chat"===a.current.name,p={0:"SMARTERMAIL",1:"ROCKETCHAT"},d=()=>t.user&&t.user.settings&&t.user.settings.features&&t.user.settings.features.enableChat&&i.hasEnterpriseFunctionality&&!o.impersonating();try{const a={get enabled(){return d()},get chatStatusTypes(){return t.user&&t.user.settings&&t.user.settings.userMailSettings?1===t.user.settings.userMailSettings.chatProviderType?r.states:s.states:{}},get connected(){return!!d()&&(1===t.user.settings.userMailSettings.chatProviderType?r.service.connected:s.parameters.connected)},get provider(){return d()?p[t.user.settings.userMailSettings.chatProviderType]:"NONE"},get status(){return d()?1===t.user.settings.userMailSettings.chatProviderType?r.status:s.status:"none"},set status(e){switch(a.provider){case"SMARTERMAIL":"connecting"===s.status?(e=>{u&&clearInterval(u),u=setInterval((function(){s.connected&&(clearInterval(u),s.setStatus(e))}),300)})(e):s.setStatus(e);break;case"ROCKETCHAT":r.setStatus(e)}},setStatus:e=>{switch(a.provider){case"SMARTERMAIL":s.setStatus(e);break;case"ROCKETCHAT":r.setStatus(e)}},getUserStatus:e=>{let t=null;switch(a.provider){case"SMARTERMAIL":t=l?c.getUserStatus(e):s.getUserStatus(e);break;case"ROCKETCHAT":t=r.getUserStatus(e)}return t},connect:async e=>{if(await t.init(),d())switch(a.provider){case"SMARTERMAIL":e&&s.close(),r.service.connected&&r.close(),s.init();break;case"ROCKETCHAT":s.connected&&s.close(),e&&r.close(),await r.init();break;default:s.connected&&s.close(),r.service.connected&&r.close()}},close:async()=>{r.service.connected&&r.close(),s.parameters.connected&&s.close()},generateMenuItems:e=>{switch(a.provider){case"SMARTERMAIL":return s.getMenuItems(e);case"ROCKETCHAT":return r.getUnreadChatLinks(e)}return null},openMenuLink:e=>{switch(a.provider){case"SMARTERMAIL":"function"==typeof e?e():s.popout({jid:e});break;case"ROCKETCHAT":"function"==typeof e?e():window.open(e,"rocket.Chat","resizable=1, "+n.dimensions.rocketChat)}},openLink:(e,t)=>{switch(a.provider){case"SMARTERMAIL":"offline"===s.status&&s.setStatus("online"),t?s.popout({jid:t}):s.popout("recent");break;case"ROCKETCHAT":r.openLink(t)}}};return e.$on("signalR.chat.chatProviderChanged",(async e=>{await a.close(),console.log("chatProviderFactory - onUserSettingsChanged to: ",e),t.reset(),await t.init(),d()&&await a.connect()})),a}catch(e){return console.error(e),{connected:!1}}}angular.module("smartermail").factory("chatProviderFactory",e),e.$inject=["$rootScope","userDataService","simpleXmppService","rocketChatService","popupService","$state","xmppService","coreLicensing","claimsService"]}();
26!function(){"use strict";function e(e,n,t,o,i,a,r,c,s,l,d,u,m,f,C,g,v,A){const h=this;let E=!1;function b(){m.init().then((function(n){h.mailHub=n.mailHub,h.supportsRtc=e.browserCaps.webRtcSupport}),(function(){}))}function T(e){h.mailHub.invoke("disconnectCall",e)}function _(e,n){h.videoConnection.listeners[e]&&h.videoConnection.listeners[e].forEach((function(e){n?e(void 0,n):e(void 0)}))}h.supportsRtc=!1,h.mailHub=null,h.targetEmail="",h.callStart=void 0,h.callUser=function(e,n){h.audioOnly=n,h.targetEmail=e;const t=s.defer();return h.mailHub.invoke("callUser",e,n).then((function(e){if(e.error){const n="alreadyInCall"==e.error?"CHAT_ALREADY_IN_CALL_TEXT":"CHAT_TARGET_ALREADY_IN_CALL_TEXT",t=r.confirmDeletion({title:c.instant("CHAT_ALREADY_IN_CALL_TITLE"),textContent:c.instant(n),ok:c.instant("OK"),noWarn:!0,hideCancel:!0});r.show(t)}t.resolve(e)})),t.promise}
26,h.respondToCall=function(e,n){n&&(h.targetEmail=e);const t=s.defer();return h.mailHub.invoke("respondToCall",e,n).then((function(e){if(e.error&&n){const n=r.confirmDeletion({title:c.instant("CHAT_ALREADY_IN_CALL_TITLE"),textContent:c.instant("alreadyInCall"==e.error?"CHAT_ALREADY_IN_CALL_TEXT":"CHAT_CALL_UNAVAILABLE_TEXT"),ok:c.instant("OK"),noWarn:!0,hideCancel:!0});r.show(n)}t.resolve(e)})),t.promise},h.disconnectCall=T,h.joinCall=function(n){E=!1,h.callStart=moment(),navigator.mediaDevices.getUserMedia({audio:!0,video:!0}).then((async function(t){h.localAVStream=t;const o=$("#localVideo video");o.length&&(o[0].srcObject=t,h.audioOnly||o[0].play());h.videoPeer=await f.createConnection((async e=>{h.mailHub.invoke("RtcSendMessage",e)}),((e,n)=>{switch(e){case"video":const e=$("#remoteVideo video");e.length&&(e[0].srcObject=n,e[0].play());break;case"audio":const t=$("#remoteVideo audio");t.length&&(t[0].srcObject=n,t[0].play())}}),n,{iceServers:[{urls:"stun:stun.l.google.com:19302"}]},(e=>{e&&(h.videoPeer.videoEnabled=e.videoEnabled,h.videoPeer.isMuted=e.isMuted),"function"==typeof h.targetStateChangedCallback&&h.targetStateChangedCallback()}),h.audioOnly),t.getTracks().forEach((e=>{h.videoPeer.rtcConn.addTrack(e,t)})),n?await h.videoPeer.initiateNegotiation():h.respondToCall(h.receivingCallData.sourceEmail,!0).then((function(n){n.error&&(e.$broadcast("signalR.chatVideo.disconnectCall",{callTimedOut:!0}),T())}))})).catch((function(n){console.log(n),e.$broadcast("signalR.chatVideo.disconnectCall"),T(!0);const t=r.confirmDeletion({title:c.instant("UNABLE_TO_ACCESS_CAMERA"),textContent:c.instant("TEAM_WORKSPACE_NEED_DEVICE"),ok:c.instant("OK"),noWarn:!0,hideCancel:!0});r.show(t)}))},h.disconnectRtc=function(){E=!0,h.localAVStream&&h.localAVStream.getTracks().forEach((e=>{e.stop()}));if(h.videoPeer){const e=$("#localVideo video");e.length&&e[0].srcObject&&(e[0].srcObject=null),h.videoPeer.rtcConn&&h.videoPeer.rtcConn.close()}},h.setMuted=function(e){h.localAVStream&&h.localAVStream.getAudioTracks().forEach((n=>{n.enabled=!e}))},h.setVideoOn=function(e){h.localAVStream&&h.localAVStream.getVideoTracks().forEach((n=>{n.enabled=e}))},e.$on("signalR.chatVideo.rtcEmitReturn",(function(e,n){switch(n.name){case"join":n.attendeeId==u.user.emailAddress&&_("join",n.args);break;case"message":n.args.to===u.user.emailAddress&&h.videoConnection.listeners.message&&h.videoConnection.listeners.message.forEach((function(e){n.args.from=n.attendeeId,e(n.args)}));break;case"remove":n.attendeeId!=u.user.emailAddress&&h.videoConnection.listeners.remove&&h.videoConnection.listeners.remove.forEach((function(e){e({id:n.attendeeId,type:n.args})}));break;default:n.attendeeId!=u.user.emailAddress&&h.videoConnection.listeners[n.name]&&h.videoConnection.listeners[n.name].forEach((function(e){e(n.args)}))}})),e.$on("signalRHubManagerConnected",b),e.$on("signalRHubManagerReconnected",b),b(),h.videoConnection={listeners:{}
26,on:function(e,n){null==this.listeners[e]?this.listeners[e]=[n]:this.listeners[e].push(n)},emit:function(){const e=arguments;switch(arguments[0]){case"join":Object.keys(e).forEach((function(n){if("function"==typeof e[n]){const t={clients:{}};t.clients[h.targetEmail]={video:!0,audio:!1,screen:!1},e[n](void 0,t)}}));break;case"unshareScreen":case"shareScreen":case"message":default:h.mailHub.invoke("rtcEmit",e);break;case"remove":h.mailHub.invoke("rtcDisconnect",e[1].type)}},getSessionid:function(){return u.user.emailAddress},disconnect:function(){this.listeners={},h.mailHub.invoke("rtcDisconnect","")}}}e.$inject=["$rootScope","$filter","$timeout","$log","$sanitize","$localStorage","$mdDialog","$translate","$q","coreData","coreDataSettings","userDataService","signalrHubManager","simpleRtcConnectionFactory","authStorage","errorHandling","browserSupport","toaster"],angular.module("smartermail").service("chatVideoService",e)}();
27!function(){"use strict";function e(e,t,a,n,o,i,c,s,l,r,d,u,p,g,m,C,v,f,h,y,b,w,S,A,E,k,L){var D,_=this,P="large";_.isVisible=!1,_.overlayActive=!1,_.status="connecting",_.section="chat",_.unread=0,_.contactCategories=[],_.isInitialized=!1,_.userDataService=C,_.emailAddress=_.userDataService.user.emailAddress,_.emailPics={},_.isVisible=!1,_.showOffline=!0,_.historyLoaded=!1,_.loadedContacts=!1,_.fileStorageEnabled=!1,_.isMobile=!1,_.editorOptions={charCounterMax:2500},D=navigator.userAgent||navigator.vendor||window.opera,(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(D)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(D.substr(0,4)))&&(_.isMobile=!0),_.callState="notInCall",_.videoPosition="top-right",_.videoSize="",_.userVideoEnabled=!0,_.userAudioEnabled=!0,_.targetVideoEnabled=!0,_.targetAudioEnabled=!0,_.avatarName=u.user.displayName,_.avatarUrl=u.user.pictureUrl,_.targetAvatarName=void 0,_.targetAvatarUrl=void 0,_.targetSpeaking=!1,_.editorScope={},_.contentScope={},_.selectContact=O,_.closeContact=function(){e.$broadcast("chat.close-contact",{contact:_.selectedContact})},_.setChatStatus=function(e){"offline"===e&&(_.archived_conversation=[],_.conversation=[],_.selectedContact={},G(!1));I()?g.setStatus(e):(_.status="connecting",g.parameters.status=e,_.contactCategories=[],t.$applyAsync())},_.isDifferentTime=function(e,t){return!e||!t||(e.toDateString()!=t.toDateString()||(e.getHours()!=t.getHours()||e.getMinutes()!=t.getMinutes()))},_.sendMessage=T,_.downloadChatHistory=function(){var e=(this.selectedContact.jid.split("@")[0]||this.selectedContact.name)+"_transcript.zip",t=setTimeout((function(){S.pop("info",r.instant("RETRIEVE_PROCESS_RUNNING"))}),250);o.get("~/api/v1/chat/download-transcript/"+this.selectedContact.jid+"/"+y.language,{responseType:"arraybuffer"}).then((function(a){!function(e,t,a,n){var o="application/octet-stream",i=!1;(a=a())["x-filename"]=n;var c=a["x-filename"],s=a["content-type"]||o;try{var l=new Blob([e],{type:s});if(navigator.msSaveBlob)navigator.msSaveBlob(l,c);else{var r=navigator.webkitSaveBlob||navigator.mozSaveBlob||navigator.saveBlob;if(void 0===r)throw"Not supported";r(l,c)}i=!0}catch(e){}if(!i){var d=window.URL||window.webkitURL||window.mozURL||window.msURL;if(d){var u=document.createElement("a");if("download"in u)try{l=new Blob([e],{type:s});var p=d.createObjectURL(l);u.setAttribute("href",p),u.setAttribute("download",c);var g=document.createEvent("MouseEvents");
27g.initMouseEvent("click",!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,0,null),u.dispatchEvent(g),i=!0}catch(e){}if(!i)try{l=new Blob([e],{type:o}),p=d.createObjectURL(l);window.location=p,i=!0}catch(e){}}}i||window.open(httpPath,"_blank","")}(a.data,a.status,a.headers,e);t&&clearTimeout(t)}),(function(e){t&&clearTimeout(t)}))},_.startDocumentSharing=function(){var e=m.Crc32(_.selectedContact.jid),t=(new Date).getTime(),a="https://etherpad.wikimedia.org/p/"+e+"t"+t;g.sendMessage(_.selectedContact.jid,a)},_.isOnline=I,_.emailContact=function(e){const t=E.makeComposePacket({to:e.jid}),a=E.getPopoutComposeUrl(t);window.open(a,"","resizable=1, height=750, width=800")},_.contactClicked=function(e){_.section="chat",_.selectContact(e)},_.backToListClicked=function(){_.selectContact()},_.bindUploader=function e(){if(N)return;_.uploaderFunctions.bindBrowseControl(".file-upload-btn")?N=!0:setTimeout(e,200)},_.getAvatarSource=function(e){if(e&&e.pic)return e.pic;return _.emailPics[e.jid]?_.emailPics[e.jid]:""},_.startVideoChat=function(e){if("notInCall"!==_.callState)return;if(!b.supportsRtc){var n=d.confirmDeletion({title:r.instant("CHAT_ALREADY_IN_CALL_TITLE"),textContent:r.instant("CHAT_CALL_UNSUPPORTED"),ok:r.instant("OK"),noWarn:!0,hideCancel:!0});return void d.show(n)}_.targetAvatarName=_.selectedContact.name,_.targetAvatarUrl=_.selectedContact.pic,b.callUser(_.selectedContact.jid,e).then((function(e){e.error||(_.callState="calling",F(),t.$applyAsync(),J(),U=a((function(){G(!0)}),1e4))}))},_.disconnectCall=G,_.acceptCall=function(){_.selectedContact&&_.selectedContact.jid==b.receivingCallData.sourceEmail||O(g.findContact(b.receivingCallData.sourceEmail));b.audioOnly=b.receivingCallData.audioOnly,_.userVideoEnabled=!b.receivingCallData.audioOnly,_.targetVideoEnabled=!b.receivingCallData.audioOnly,a.cancel(H),B(!1)},_.cycleVideoPosition=function(){switch(_.videoPosition){case"top-right":_.videoPosition="bottom-right";break;case"bottom-right":_.videoPosition="bottom-left";break;case"bottom-left":_.videoPosition="top-left";break;case"top-left":_.videoPosition="top-right"}},_.toggleFullscreen=function(){switch(_.videoSize){case"fullscreen":_.videoSize="";break;case"":_.videoSize="fullscreen"}},_.toggleUserVideo=function(){_.userVideoEnabled=!_.userVideoEnabled,b.setVideoOn(_.userVideoEnabled),b.videoPeer.sendStateChange(_.userVideoEnabled,_.userAudioEnabled),b.videoPeer&&b.videoPeer.sendStateChange&&b.videoPeer.sendStateChange(_.userVideoEnabled,_.userAudioEnabled)},_.toggleUserAudio=function(){_.userAudioEnabled=!_.userAudioEnabled,b.setMuted(!_.userAudioEnabled),b.videoPeer&&b.videoPeer.sendStateChange&&b.videoPeer.sendStateChange(_.userVideoEnabled,_.userAudioEnabled)},u.init().then((function(){A.ensureActivated(),function(){function n(e,n){_.selectedContact&&_.selectedContact.jid==n.jid?(n.conversation&&(_.conversation=n.conversation),n.archived_conversation&&(_.archived_conversation=n.archived_conversation),a((function(){_.selectedContact.convoAtBottom&&x()}))):a((function(){t.$applyAsync()}))}function o(){e.spinner.isShown&&e.spinner.hide(),_.historyLoaded=!0;const t=h.getSortingFilteringParam("chat","selectContact");if(t&&!_.selectedContact){const e=g.findContact(t);e&&O(e)}function a(e,t,a){if(null==e||"sortingFiltering"!==e.key)return;const n=h.getSortingFilteringParam("chat","selectContact");if(n&&(!_.selectedContact||_.selectedContact.jid!==n)){const e=g.findContact(n);e&&O(e)}}window.addEventListener("storage",a)}_.contactCategories=g.contactCategories,e.spinner.show(),t.$on("xmpp.contacts-changed",(function(a,n){e.spinner.hide(),n&&(_.contactCategories=n.contactCategories,_.selectedContact&&_.selectedContact.jid&&_.selectContact(g.findContact(_.selectedContact.jid)),t.$applyAsync())})),t.$on("xmpp.property-changed",(function(e,a){a.status&&(_.status=a.status),I()||"connecting"==_.status||(_.contactCategories=[],_.selectedContact=null),t.$applyAsync()})),t.$on("xmpp.select-user",(function(e,t){const a=g.findContact(t.jid);a&&O(a);var n=h.getSortingFilteringParam("chat","receivingCall");n&&(h.setSortingFilteringParam("chat","receivingCall",void 0),q(e,n,!0))})),t.$on("xmpp.start-video-chat",(function(e,t){_.selectedContact=t.contact,_.selectedContact.picId=Math.floor(1e3*Math.random()),n(e,t),_.startVideoChat()})),t.$on("xmpp.start-shared-doc",(function(e,t){_.selectedContact=t.contact,_.selectedContact.picId=Math.floor(1e3*Math.random()),n(e,t),_.startDocumentSharing()})),t.$on("xmpp.conversation-changed",n),t.$on("xmpp.query-history-complete",o),t.$on("xmpp.typing-changed",(function(e,n){a((function(){t.$apply(),_.selectedContact&&_.selectedContact.convoAtBottom&&(V=0,j=0,M())}))})),t.$on("chat:navigateToChat",(function(e,t){if(i.go("index.chat"),t&&t.contact){const e=g.findContact(t.contact.jid);e&&O(e)}}
27)),t.$on("chat:openTree",(function(t,a){_.selectedContact&&_.selectedContact.name||(e.showMobileSlideMenu=!0)})),$(".chat-conversation").on("scroll",(function(){if(_.selectedContact){var e=_.selectedContact.convoAtBottom;_.selectedContact.convoAtBottom=$(".chat-conversation")[0].scrollHeight<=$(".chat-conversation").scrollTop()+$(".chat-conversation").innerHeight()+50,!e&&_.selectedContact.convoAtBottom&&_.selectedContact.unreadCount>0&&g.markRead(_.selectedContact)}}))}(),function(){function e(e){_.fileStorageEnabled=e.features&&e.features.enableFileStorage,_.isVisible=e.features&&e.features.enableChat,_.isVisible&&(g.init(),o.get("~/api/v1/contacts/gal-image-link?email="+C.user.emailAddress).then((function(e){_.emailPics[C.user.emailAddress]=e.data}),(function(e){})))}C.init().then((function(t){var n=C.user.settings;n&&n.features?e(n):a((function(){e(C.user.settings)}),200)})),$(window).on("resize.doResize",(function(){!(window.innerWidth<=736)||_.selectedContact&&_.selectedContact.jid||"large"!=P?window.innerWidth>736&&(P="large"):P="small",K()})),$("#localVideo .st-avatar-icon").css("transform","scale("+Math.min($("#localVideo").innerHeight()/130,1)+")"),t.$on("$destroy",(function(){$(window).off("resize.doResize")}))}()})),t.$on("signalR.chatVideo.receivingCall",q),t.$on("signalR.chatVideo.receiveResponse",(function(e,a){K(),J(),a.accepted?(_.userVideoEnabled=!b.audioOnly,_.targetVideoEnabled=!b.audioOnly,B(!0)):W();t.$applyAsync()})),t.$on("signalR.chatVideo.disconnectCall",W),t.$on("signalR.chatVideo.respondedToCall",(function(){"inCall"!=_.callState&&(_.callState="notInCall",z(),t.$applyAsync())})),t.$on("chatVideo.xmppDisconnected",(function(){G(!1)})),t.$on("chatVideo.userMuted",(function(e,a){switch(a){case"video":_.targetVideoEnabled=!1;break;case"audio":_.targetAudioEnabled=!1}t.$applyAsync()})),t.$on("chatVideo.userUnmuted",(function(e,a){switch(a){case"video":_.targetVideoEnabled=!0;break;case"audio":_.targetAudioEnabled=!0}t.$applyAsync()})),e.$on("chat.galUpdate",(function(e,a){a.forEach((function(e){e.email==C.user.emailAddress?(C.user.refreshPictureUrl(),t.$applyAsync()):_.selectedContact.jid&&e.email==_.selectedContact.jid&&o.get("~/api/v1/contacts/gal-image-link?email="+_.selectedContact.jid).then((function(e){if(e.data.imageLink){var a=stSiteRoot+e.data.imageLink+"?x="+Math.floor(1e3*Math.random());_.selectedContact.pic=a,_.emailPics[_.selectedContact.jid]=a,_.selectedContact.picId=Math.floor(1e3*Math.random()),t.$applyAsync()}}),(function(){_.selectedContact.pic=""}))}))})),e.$on("chatVideo.remoteSpeakerStart",(function(){_.targetSpeaking=!0,t.$applyAsync()})),e.$on("chatVideo.remoteSpeakerStop",(function(){_.targetSpeaking=!1,t.$applyAsync()})),_.sendComposing=()=>{g.notifyComposing(_.selectedContact.jid)},_.sendStopComposing=()=>{g.stopComposing(_.selectedContact.jid)};var V=0,j=8;function M(e){var t=$(".chat-conversation");if(t.length>0){var n=t.outerHeight();if((V!=t[0].scrollHeight||e)&&(V=t[0].scrollHeight,t.scrollTop(Math.max(0,V-n))),_.selectedContact&&(_.selectedContact.convoAtBottom=!0),j<=0)return;j--,a(M,250)}}function x(){V=0,j=8,M()}function I(e){switch(e||_.status){case"available":case"away":case"dnd":case"offline":return!0;default:return!1}}function T(){g.markRead(_.selectedContact),_.selectedContact.composeContents=_.contentScope.markdown,_.selectedContact.composeContents.trim().length>0&&g.sendMessage(_.selectedContact.jid,_.selectedContact.composeContents),_.contentScope.markdown=_.selectedContact.composeContents="",x()}async function O(n){if(!n)return document.querySelector("#wrapper .popout-view .chat-controller").classList.remove("chatting"),void(_.selectedContact=void 0);if(document.querySelector("#wrapper .popout-view .chat-controller").classList.add("chatting"),_.selectedContact&&n.jid===_.selectedContact.jid)return _.selectedContact=n,_.historyLoaded=g.historyLoaded,!_.historyLoaded||n.loadComplete||n.isLoadingHistory||(n.isLoadingHistory=!0,g.fetchContactNextPage(n).finally((()=>{n.isLoadingHistory=!1}))),_.conversation=n.conversation||[],_.archived_conversation=n.archived_conversation||[],g.markRead(_.selectedContact),void t.$applyAsync();if(_.selectedContact&&(_.selectedContact.composeContents=_.contentScope.html,_.selectedContact.convoAtBottom=!1),j=8,_.historyLoaded=g.historyLoaded,!_.historyLoaded||n.loadComplete||n.isLoadingHistory||(n.isLoadingHistory=!0,g.fetchContactNextPage(n).finally((()=>{n.isLoadingHistory=!1}))),_.selectedContact=n,_.conversation=_.selectedContact.conversation||[],_.archived_conversation=_.selectedContact.archived_conversation||[],_.contentScope.html=_.selectedContact.composeContents||"",_.selectedContact.picId=Math.floor(1e3*Math.random()),_.selectedContact.pic&&_.selectedContact.pic.indexOf("data=default")>0&&(_.selectedContact.pic=""),e.$broadcast("user-context-menu.options-changed"),_.selectedContact.pic)_.emailPics[_.selectedContact.jid]=_.selectedContact.pic;else{e.spinner.show();try{const e=await o.get("~/api/v1/contacts/gal-image-link?email="+_.selectedContact.jid);e.data.imageLink&&(_.selectedContact.pic=stSiteRoot+e.data.imageLink,_.emailPics[_.selectedContact.jid]=stSiteRoot+e.data.imageLink)}catch(e){_.selectedContact.pic=""}
27finally{e.spinner.hide()}}g.markRead(_.selectedContact),t.$applyAsync(),a((function(){$("#chat-overlay-compose").trigger("focus"),M(),e.$broadcast("user-context-menu.options-changed"),t.$applyAsync()}))}_.editMessageComplete=e=>{T()},_.loadMoreChatHistory=()=>{_.selectedContact&&!_.selectedContact.loadComplete&&(g.fetchContactNextPage(_.selectedContact),t.$applyAsync((()=>{_.conversation=_.selectedContact.conversation,_.historyLoaded=!0,_.archived_conversation=_.selectedContact.archived_conversation})))},_.getUrlForName=function(e){if(e.indexOf(C.user.domain)>0)return _.emailPics[e]?_.emailPics[e]:"";var t=e+"@"+C.user.domain;return _.emailPics[t]?_.emailPics[t]:""},_.uploaderData=JSON.stringify({folder:"PUBLIC_CHAT_FILES"}),_.uploaderInit=function(e){_.uploaderFunctions=e};var R=new WeakMap;_.uploadFile=function(e,t){if(e&&R.has(e)){var a=R.get(e);return R.delete(e),void o.get("~/api/v1/filestorage/"+t.id+"/getlink").then((function(e){var n=u.baseUrl+"/"+e.data.publicLink;t.type&&t.type.toLowerCase().match(/jpeg|jpg|png|bmp|gif|webp/)&&(n+="."+t.type),p.reloadFolders(),a(n)}),(function(){a(null)}))}o.get("~/api/v1/filestorage/"+t.id+"/getlink").then((function(e){var a=u.baseUrl+"/"+e.data.publicLink;t.publicDownloadLink=a,t.published=!0,t.type&&t.type.toLowerCase().match(/jpeg|jpg|png|bmp|gif/)&&(t.publicDownloadLink+="."+t.type),g.sendMessage(_.selectedContact.jid,t.publicDownloadLink),p.reloadFolders(),x()}),v.report)},_.handleImagePaste=function(e,t){if(_.fileStorageEnabled&&_.uploaderFunctions&&"function"==typeof _.uploaderFunctions.uploadFile){var a=e.type?e.type.split("/").pop():"png",n=e.name&&e.name.length>0?e.name:"pasted-image-"+Date.now()+"."+a,o=e.name&&e.name.length>0?e:new File([e],n,{type:e.type||"image/png"});R.set(o,t),_.uploaderFunctions.uploadFile(o)}else t(null)},_.fileAdded=function(e,t,a){_.uploaderFunctions.startUpload()},_.openSearch=function(){i.go("index.chat.search")};var U,H,N=!1;
27function F(){if(void 0===window.orientation){var e=$("#callTone")[0];e.currentTime=0,e.play()}}function z(){void 0===window.orientation&&$("#callTone")[0].pause()}function B(e){_.callState="inCall",z(),t.$applyAsync(),b.joinCall(e),b.targetStateChangedCallback=()=>{_.targetVideoEnabled=b.videoPeer.videoEnabled,_.targetAudioEnabled=b.videoPeer.isMuted,t.$applyAsync()}}function q(n,i,c){if(b.receivingCallData=i,b.supportsRtc){_.callState="receivingCall",H=a((function(){_.callState="notInCall",z(),t.$applyAsync()}),11e3);var s=g.findContact(b.receivingCallData.sourceEmail);if(!c&&!document.hasFocus()){var l=s.name||b.receivingCallData.sourceEmail;w.show(l,{body:r.instant("CHAT_CALL_FROM",{name:l}),tag:b.receivingCallData.sourceEmail,icon:(stSiteRoot||"/")+"interface/img/notifications/chat.png",notifyClick:function(t){window.focus(),e.$broadcast("xmpp.select-user",{jid:s.jid})}})}_.targetAvatarName=s.name,_.targetAvatarUrl=s.pic,o.get("~/api/v1/contacts/gal-image-link?email="+b.receivingCallData.sourceEmail).then((function(e){e.data.imageLink&&(_.targetAvatarUrl=stSiteRoot+e.data.imageLink)})),K(),F(),t.$applyAsync()}}function W(e,a){a=a||{};var n="inCall"===_.callState||"notInCall"===_.callState;if(_.callState="notInCall",_.videoPosition="top-right",_.videoSize="",_.userVideoEnabled=!0,_.userAudioEnabled=!0,_.targetVideoEnabled=!0,_.targetAudioEnabled=!0,_.targetSpeaking=!1,z(),t.$applyAsync(),n&&(b.targetStateChangedCallback=void 0,b.disconnectRtc(),e&&!a.callTimedOut&&!a.rtcConnectionFailed)){const e=moment(),t=moment.duration(e.diff(b.callStart));b.callStart=void 0;let a="";t.hours()>0&&(a=r.instant("ELAPSED_TIME_HR",{count:t.hours()})),t.minutes()>0&&(a+=" "+r.instant("ELAPSED_TIME_MIN",{count:t.minutes()})),t.seconds()>0&&(a+=" "+r.instant("ELAPSED_TIME_SEC",{count:t.seconds()})),a?g.sendMessage(b.targetEmail,r.instant(b.audioOnly?"CHAT_CALL_ENDED_AUDIO":"CHAT_CALL_ENDED_VIDEO",{elapsedTime:a})):g.sendMessage(b.targetEmail,r.instant(b.audioOnly?"CHAT_CALL_ENDED_AUDIO_PERIOD":"CHAT_CALL_ENDED_VIDEO_PERIOD")),x()}J()}function G(e){if("calling"==_.callState&&(g.sendMessage(b.targetEmail,r.instant(b.audioOnly?"CHAT_CALL_MISSED_AUDIO":"CHAT_CALL_MISSED_VIDEO",{audioOnly:b.audioOnly,name:_.targetAvatarName})),x()),"receivingCall"==_.callState)return g.sendMessage(b.receivingCallData.sourceEmail,r.instant(b.audioOnly?"CHAT_CALL_DECLINED_AUDIO":"CHAT_CALL_DECLINED_VIDEO",{name:_.avatarName})),b.respondToCall(b.receivingCallData.sourceEmail,!1),a.cancel(H),void W();b.disconnectCall(e),W()}function J(){U&&(a.cancel(U),U=void 0)}function K(){$("#localVideo .st-avatar-icon").css("transform","scale("+Math.max(Math.min($("#localVideo").innerHeight()/130,1),.2)+")")}c.onFinish({to:"index.chat"},(function(e){a((function(){a((function(){M(!0)}))}))}))}e.$inject=["$rootScope","$scope","$timeout","$interval","$http","$state","$transitions","$log","$localStorage","$translate","$mdDialog","coreData","coreDataFileStorage","xmppService","crc32Service","userDataService","errorHandling","treeState","preferencesStorage","localeInfoService","chatVideoService","browserNotifications","toaster","themesService","emailNavigation","authStorage","coreDataDomainSettings"],angular.module("smartermail").controller("chatViewController",e)}();
28!function(){"use strict";function e(e,t,s,r,n,a,o,c,i,u){const d=this;let l=null,g=null;const f=1,m=3;d.reconnect=!0,d.attempts=0,d.unreadCount=0,d.status="offline",d.states={1:{status:"online",label:"FLAGS_ONLINE",idx:0},2:{status:"away",label:"FLAGS_AWAY",idx:1},3:{status:"busy",label:"FLAGS_BUSY",idx:2},0:{status:"offline",label:"FLAGS_OFFLINE",idx:3}};const p=debugMode;d.service={get connected(){return!!l&&l.readyState===f}},d.init=async function(){await n.init(),await d.connect()},d.connect=function(){if(!n.userSettings.chatProvider||!n.userSettings.chatProvider.serverUrl||1!==n.userSettings.chatProvider.providerType)return t.resolve("ROCKETCHAT_NOT_CONFIGURED");const s=`${r=n.userSettings.chatProvider.serverUrl,r.startsWith("http:")?r.replace("http:","ws:"):r.startsWith("https:")?r.replace("https:","wss:"):r.startsWith("localhost")?"ws://"+r:"wss://"+r}/websocket`;var r;return d.userId=n.userSettings.chatProvider.serviceUserId,d.subGetId=`${d.userId}-sub-get`,d.createDirectMessageAndOpenLinkId=`${d.userId}-create-dm`,d.loginId=`${d.userId}-login`,d.connectDefer=t.defer(),l=new WebSocket(s),l.onopen=()=>{d.attempts=0,d.connectDefer.resolve(),u((function(){!function(){const e={msg:"
28connect",version:"1",support:["1","pre2.0","pre1"]};l.send(JSON.stringify(e))}()}),200)},l.onmessage=t=>{console.log("rocket.Chat message",t.data);var s=JSON.parse(t.data);switch(s.msg){case"ping":l.send(JSON.stringify({msg:"pong"}));break;case"connected":d.session=s.session,function(){const e={msg:"method",method:"login",id:d.loginId,params:[{resume:n.userSettings.chatProvider.personalAccessToken}]};l.send(JSON.stringify(e))}();break;case"result":d.handleMessageResult(s);break;case"changed":!function(t){switch(t.collection){case"stream-notify-user":if(2===t.fields.args.length&&d.roomCounts&&"updated"===t.fields.args[0]){const e=t.fields.args[1];d.roomCounts[e.rid]={unread:e.unread,type:e.t,name:e.name,fname:e.fname||e.name,ts:e.ts.$date},b()}else if(1===t.fields.args.length&&n.userSettings.notifyOnChatMessages){!function(e){const t=$("<div>"+e.text+"</div>").text(),s=S(e.payload.type,e.payload.rid);i.show(e.title,{body:t,icon:(stSiteRoot||"/")+"interface/img/notifications/chat.png",notifyClick:()=>{h(s)}})}(t.fields.args[0])}break;case"stream-notify-logged":let s;if([s]=t.fields.args,s.length>3&&d.roomCounts){let t,r,a;[t,r,a]=s,t===n.userSettings.chatProvider.serviceUserId&&e.$broadcast("xmpp.property-changed",{status:d.states[a].status});const o=d.rosterList.find((e=>e.userId===t));o&&(o.status=d.states[a].status,e.$broadcast("chat.user-status-changed",{email:o.email,status:o.status}))}break;default:console.log("unhandled change message data:",t)}}(s);break;case"updated":!function(t){t.methods.forEach((t=>{t===`${d.userId}-UserPresence`&&e.$broadcast("xmpp.property-changed",{status:d.status})}))}(s);break;default:console.log("Unknown message type ",s)}},l.onclose=e=>{d.reconnect&&d.attempts<3&&(d.connectDefer=void 0,d.attempts++,d.reconnectTask&&clearTimeout(d.reconnectTask),d.reconnectTask=u((async function(){await d.connect(),p&&console.log("rocketchat reconnecting... attempt: ",d.attempts)}),3e3*d.attempts)),p&&console.log("rocketchat connection closed: ",e)},l.onerror=e=>{p&&console.log("rocketchat connection error: ",e),d.connectDefer&&d.connectDefer.reject("ROCKETCHAT_CONNECTED_FAILED")},d.connectDefer.promise},d.setStatus=e=>{if(d.service.connected){const t={msg:"method",id:`${d.userId}-UserPresence`,method:"UserPresence:setDefaultStatus",params:[e]};d.status=e,l.send(JSON.stringify(t))}},d.close=function(){d.reconnect=!1,l&&l.readyState!==m&&(l.onclose=null,l.onerror=null,l.onmessage=null,l.close())};const h=e=>{!g||g.closed?g=window.open(e,"rocket.Chat","resizable=1, "+o.dimensions.rocketChat):g.location.href=e,g&&g.focus()};function S(e,t){const s=n.userSettings.chatProvider.serverUrl;let r=`${s}/home`;switch(e){case"p":r=`${s}/group/${t}`;break;case"c":r=`${s}/channel/${t}`;break;case"d":r=`${s}/direct/${t}`}return r}d.getUnreadChatLinks=e=>{if(!d.service.connected)return null;return Object.entries(d.roomCounts).reduce(((e,[s,r])=>{if(r.unread>0){const n=S(r.type,s);e.push({rid:s,label:r.fname,icon:t(r.type),unread:r.unread,link:()=>{h(n)},status:d.getUserStatus(r.name),ts:r.ts.$date})}return e}),[]).sort(((e,t)=>e.ts>t.ts?1:-1));function t(e){let t="tool-icon-hash";switch(e){case"p":t="toolsicon-group";break;case"c":t="toolsicon-forum";break;case"d":t="toolsicon-person"}return t}},d.openLink=e=>{if(!d.service.connected)return;const t=n.userSettings.chatProvider.serverUrl,s=d.getUserRoster(e);if(s){const e={msg:"method",method:"createDirectMessage",id:d.createDirectMessageAndOpenLinkId,params:[s.userName]};l.send(JSON.stringify(e))}else try{h(`${t}/home`)}catch(e){console.error("Invalid rocket.Chat Url:",t)}};function b(){e.$broadcast("xmpp.property-changed",{unreadCount:Object.values(d.roomCounts).reduce(((e,t)=>e+t.unread),0)})}d.loadUserStatusList=function(){n.userSettings.chatProvider&&1===n.userSettings.chatProvider.providerType&&r.get("~/api/v1/settings/rocket-chat/user-list").then((function(t){d.rosterList=t.data.chatUserStatusList;const s=d.rosterList.find((e=>e.userId===d.userId));s&&(d.status=s.status,e.$broadcast("xmpp.property-changed",{status:d.status})),e.$broadcast("chat.user-status-changed",{all:!0}),function(){const e={msg:"sub",id:`${d.userId}-notify-logged`,name:"stream-notify-logged",params:["user-status",!1]};l.send(JSON.stringify(e))}()}))},d.handleMessageResult=t=>{switch(t.id){case d.loginId:d.authenticated=!0,function(){const e={msg:"method",method:"subscriptions/get",id:d.subGetId,params:[]};l.send(JSON.stringify(e))}(),d.loadUserStatusList();break;case d.subGetId:d.roomCounts=t.result.reduce(((e,t)=>(t.unread>
280&&(e[t.rid]={unread:t.unread,type:t.t,name:t.name,fname:t.fname||t.name,ts:t.ts.$date}),e)),{}),b(),function(){const e={msg:"sub",id:`${d.userId}-notify-user`,name:"stream-notify-user",params:[`${d.userId}/subscriptions-changed`,!1]};l.send(JSON.stringify(e))}(),n.userSettings.notifyOnChatMessages&&function(){const e={msg:"sub",id:`${d.userId}-message-notification`,name:"stream-notify-user",params:[`${d.userId}/notification`,!1]};l.send(JSON.stringify(e))}();break;case`${d.userId}-UserPresence`:t.result&&e.$broadcast("xmpp.property-changed",{status:d.status});break;case d.createDirectMessageAndOpenLinkId:t.error?d.openLink():t.result&&t.result.rid&&(e=>{const t=n.userSettings.chatProvider.serverUrl;try{h(`${t}/direct/${e}`)}catch(e){console.error("Invalid rocket.Chat Url:",t)}})(t.result.rid)}},d.getUserRoster=e=>{if(!e||!d.rosterList)return null;const t=e.indexOf("@")<0?`${e}@${a.user.domain}`:e.toLowerCase();return d.rosterList.find((e=>e.email&&e.email.toLowerCase()===t))},d.getUserStatus=e=>{const t=d.getUserRoster(e);return t?t.status:null}}e.$inject=["$rootScope","$q","$filter","$http","coreDataSettings","userDataService","popupService","$state","browserNotifications","$timeout"],angular.module("smartermail").service("rocketChatService",e)}();
29!function(){"use strict";function e(e){return{createConnection:async function(t,n,a,o,c,i){const r={sendMessage:t,isCaller:a,isResponder:!a,iceCandidates:[],videoStream:null,audioStream:null,rtcConn:new RTCPeerConnection(o||{iceServers:[{urls:"stun:stun.l.google.com:19302"}]}),videoEnabled:!i,isMuted:!1};return r.rtcDataChannel=r.rtcConn.createDataChannel("both",{negotiated:!0,id:0}),r.rtcDataChannel.onmessage=e=>{const t=JSON.parse(e.data);t.state&&(r.videoEnabled=t.state.videoEnabled,r.isMuted=t.state.isMuted,"function"==typeof c&&c(t.state))},r.sendStateChange=function(e,t){"open"===r.rtcDataChannel.readyState&&r.rtcDataChannel.send(JSON.stringify({state:{videoEnabled:e,isMuted:t}}))},r.rtcConn.makingOffer=!1,r.rtcConn.ignoreOffer=!1,r.streamRequestSuccession=0,r.processRtcNegotiateMessage=async e=>{async function t(){for(;r.iceCandidates.length>0;){const e=r.iceCandidates.shift();try{await r.sendMessage({type:"ice-candidate",candidate:e})}catch(t){console.error("Error sending buffered ICE candidate",t,e)}}}try{if("closed"===r.rtcConn.signalingState)return;switch(e.type){case"offer":await async function(e){if("stable"!==r.rtcConn.signalingState&&r.isResponder)try{await r.rtcConn.setLocalDescription({type:"rollback"})}catch(e){console.error("[handleOfferMessage]","Rollback failed:",e)}try{if(await r.rtcConn.setRemoteDescription(e),"have-remote-offer"===r.rtcConn.signalingState){const e=await r.rtcConn.createAnswer();await r.rtcConn.setLocalDescription(e),await r.sendMessage(r.rtcConn.localDescription),await t()}}catch(e){console.log("[handleOfferMessage]","Failed to handle offer:",e)}}(e);break;case"answer":await async function(e){if("have-local-offer"===r.rtcConn.signalingState)try{await r.rtcConn.setRemoteDescription(e),await t()}catch(e){console.log("[handleAnswerMessage]","Failed to set remote answer:",e)}else console.warn("[handleAnswerMessage]","Attempted to set remote answer in wrong state:",r.rtcConn.signalingState)}(e);break;case"ice-candidate":if(e.candidate){r.iceCandidates.push({data:e.candidate});try{await r.rtcConn.addIceCandidate(e.candidate)}catch(t){console.error("[onRtcNegotiate]","AddIceCandidate exception.",t,e.candidate)}}}}catch(e){console.error(e)}},e.$on("signalR.chat.chatVideoRtcNegotiate",((e,t)=>r.processRtcNegotiateMessage(t))),r.initiateNegotiation=async()=>{try{r.rtcConn.makingOffer=!0;const e=await r.rtcConn.createOffer();await r.rtcConn.setLocalDescription(e),r.sendMessage(e)}catch(e){console.error("[RtcFactory] initiateNegotiation failed:",e)}finally{r.rtcConn.makingOffer=!1}},r.rtcConn.onicecandidate=e=>{e.candidate&&r.sendMessage({type:"ice-candidate",candidate:e.candidate})},r.rtcConn.onconnectionstatechange=()=>{const t=r.rtcConn.connectionState;console.log("[RtcFactory] RTC connection state change:",t),e.$broadcast("chatVideoStateChangeDetected",r.id,t)},r.rtcConn.onnegotiationneeded=async()=>
29{if("connected"===r.rtcConn.connectionState&&!r.rtcConn.makingOffer&&"stable"===r.rtcConn.signalingState)try{r.rtcConn.makingOffer=!0;const e=await r.rtcConn.createOffer();await r.rtcConn.setLocalDescription(e),r.sendMessage(e)}catch(e){console.error("[RtcFactory] Negotiation failed:",e)}finally{r.rtcConn.makingOffer=!1}},r.rtcConn.ontrack=e=>{const t=e.streams[0],a=e.track.kind;"function"==typeof n&&n(a,t),"audio"===a?r.audioStream=t:"video"===a&&(r.videoStream=t)},r}}}e.$inject=["$rootScope"],angular.module("smartermail").factory("simpleRtcConnectionFactory",e)}();
30!function(){"use strict";function e(e,t,n,r,a,o,s,i,c,u,d,l,m,p,g,f,h,C,y,S){var w=1,v=(moment().valueOf(),Object.create(null)),b=this;function J(){b.needsReconnect&&b.close(),y.connect(g.getToken()).then(x,S.report)}if(b.boshUrl=null,b.needsReconnect=!1,b.host=null,b.username=null,b.email=null,b.states=y.parameters.states,e.$on("signalRHubManagerReconnected",J),e.$on("xmpp.reconnect-needed",J),b.close=function(){y.parameters.connected&&y.disconnect()},b.contactCategories=[],b.logTraffic=!1,b.parameters={get connected(){return y.parameters.connected},get status(){return y.parameters.status},get prevStatus(){var e=l.getSortingFilteringParam("chat","prevStatus");return void 0===e&&(e="available",l.setSortingFilteringParam("chat","prevStatus",e)),e},set prevStatus(e){l.setSortingFilteringParam("chat","prevStatus",e)},get unreadCounts(){var e=l.getSortingFilteringParam("chat","unreadCounts");return void 0===e&&(e={},l.setSortingFilteringParam("chat","unreadCounts",e)),e},set unreadCounts(e){l.setSortingFilteringParam("chat","unreadCounts",e)}},b.markRead=R,b.setStatus=function(t){const n=y.parameters.status;y.parameters.status=t,e.$broadcast("xmpp.property-changed",{status:t}),"offline"===n&&"offline"!==t&&y.parameters.connected&&x()},b.findContact=T,b.popout=j,b.init=function(){if(p.isSysAdmin())return;e.$on("signalR.chatVideo.receivingCall",E),e.$on("signalR.chat.markRead",(function(e,t){L(t)})),m.init().then((function(){b.isVisible=m.user.settings.features&&m.user.settings.features.enableChat&&!p.impersonating(),b.isVisible&&(b.querying=!0,l.setSortingFilteringParam("chat","queryPopup",!0),b.querying=!1,b.parameters.unreadCounts={},y.connect(g.getToken()).then((function(e){x(),function(){var e=b.parameters.unreadCounts;b.parameters.unreadCounts=Object.keys(e).reduce(((t,n)=>(e[n].unread>0&&(t[n]=e[n]),t)),{})}(),b.needsReconnect=!0}),S.report))}),(function(){}))},b.getUserStatus=function(e){const t=T(e);return t?t.status:null},b.getMenuItems=function(){return b.contactCategories.reduce(((e,t)=>t.contacts.reduce(((t,n)=>(n.unreadCount>0&&e.push({rid:n.jid,label:n.name,link:n.jid,icon:"room"===n.status?"toolsicon-group":"toolsicon-person",unread:n.unreadCount,status:"room"===n.status?"":n.status,pic:n.pic,ts:n.dt}),e)),e)),[])},!(window.location.href.indexOf("popout")>0&&-1===window.location.href.indexOf("popout/email")||window.Strophe))throw new Error("Please make sure to include Strophe library. http://strophe.im/strophejs/");function R(e){const t=e&&e.unreadCount;e.unreadCount=0,L(),t&&"room"===e.status&&C.connection.invoke("chatMarkUserAsRead",g.getRefreshToken(),e.jid)}function j(t){if("recent"===t)l.setSortingFilteringParam("chat","selectRecentUnread",!0);else{l.setSortingFilteringParam("chat","selectContact",t.jid);var r=T(t.jid);r&&R(r)}b.querying=!0,n((function(){b.querying=!1}),5e3),e.$applyAsync();window.open((stSiteRoot||"/")+"interface/root#/popout/chat","chat","resizable=1, "+f.dimensions.chat).focus()}function x(){e.$broadcast("xmpp.property-changed",{unreadCount:0}),y.removeHandlers();const t=$iq({type:"get",id:"_roster_"+w++}).c("query",{xmlns:Strophe.NS.ROSTER});y.parameters.connection.sendIQ(t,O)}function P(e){try{const r=$(e).find("sent > forwarded > message");if(r&&r.length)return function(e){if($(e.innerMessage).children("body").text()&&"sent"===e.direction){var t=T(Strophe.getBareJidFromJid(e.to));t&&"chat"===e.type&&("room"===t.status?(t.unreadCount=Math.max(0,t.unreadCount-1),L()):R(t))}}({direction:"sent",type:$(r).attr("type"),to:$(r).attr("to"),from:$(r).attr("from"),innerMessage:r}),!0;var n=$(e).attr("from"),a=(n.split("/")[0],$(e).children("body").text()||""),o=($(e).find("active,composing,paused,gone")[0],Strophe.getBareJidFromJid(n)),s=$(e).attr("type"),c=T(o);if(c){var l=c.name||o;if(o===i.user.emailAddress&&(l=i.user.displayName?i.user.displayName:l),"chat"==s&&a){var m=$("html > body",e);m=m.length>0?$("<div>").append(m.contents()).html():null;if(m||(m=a),c.unreadCount++,c.dt=new Date,L(),u.userSettings.notifyOnChatMessages){var p=$("<div>"+m+"</div>").text();0!=p.toLowerCase().indexOf("http://")&&0!=p.toLowerCase().indexOf("https://")||(p=t("translate")("LINK_RECEIVED")),d.show(l,{body:p,tag:o,icon:(stSiteRoot||"/")+"interface/img/notifications/chat.png",notifyClick:function(e){j(c)}})}}}}catch(e){r.error(e)}return!0}function F(e){return!0}
30async function O(t){try{await c.ensureContactsLoadedPromise(),v=Object.create(null),y.parameters.connection.addHandler(q,null,"presence"),b.contactCategories=[];for(let e of $(t).find("item")){const t=($(e).attr("jid")||"").toLowerCase();if(!t)continue;const n=$(e).attr("name")||t,r=$(e).find("group").text()||"";r.endsWith("Aliases")?I({jid:t,bareJid:t,displayJid:t.split("@")[0]+"@"+i.user.domain,name:n,username:t.split("@")[0],subscription:"both",group:r,pic:null}):v[t]=e}try{const e=[k(2)],t=b.contactCategories.find((e=>e.name.endsWith("Aliases")));if(t&&t.contacts)for(const n of t.contacts)e.push(H(n,2));await Promise.all(e),L()}catch(e){console.error("failed to get message history: ",e)}y.parameters.connection.addHandler(M,Strophe.NS.ROSTER,"iq","set"),y.parameters.connection.addHandler(D,null,"iq"),y.parameters.connection.addHandler(P,null,"message","chat"),y.parameters.connection.addHandler(F,null,"message","groupchat"),y.parameters.connection.messageCarbons.enable(),b.setStatus(b.parameters.status),e.$broadcast("chat.user-status-changed",{all:!0})}catch(e){throw r.error(e),new Error(e)}}function q(t){try{!function(t){const n=$(t).attr("type"),r=$(t).attr("from"),a=Strophe.getBareJidFromJid(r),o=Strophe.getResourceFromJid(r),s=$(t).find("show").text();if("error"===n)return;const i=function(e,t){if("error"===t)return"error";var n;n="unavailable"===t?"offline":""===e||"chat"===e?"available":"dnd"===e?"dnd":"away";return n}(s,n);if(!i)return;if(a.toLowerCase()===m.user.emailAddress.toLowerCase())return void(o&&(l.setSortingFilteringParam("chat","status",i),e.$broadcast("xmpp.property-changed",{status:i})));if(b.roomJoining===r&&b.onRoomJoined){"error"===n&&b.onRoomJoined(!1,r),$(t).find("status[code='110']").length>0&&b.onRoomJoined(!0,r)}var c=T(a);if(c&&"room"!==c.status&&c.status!==i)c.status=i,e.$broadcast("xmpp.contacts-changed",{contactCategories:b.contactCategories,loaded:!0});else if(!c&&"offline"!==i&&v[a]){let t=A(v[a]);I(t),u=t.jid,d=t.name,p=$iq({type:"set"}).c("query",{xmlns:Strophe.NS.ROSTER}).c("item",{jid:u,name:d}),y.parameters.connection.sendIQ(p),y.parameters.connection.send($pres({to:u,type:"subscribe"}));const n=T(a);n&&(n.status=i),e.$broadcast("xmpp.contacts-changed",{contactCategories:b.contactCategories,loaded:!0})}var u,d,p}(t)}catch(e){console.error("Error in setPresence:",t,e)}return!0}async function M(e,t){await c.ensureContactsLoadedPromise();for(let t of $(e).find("item")){var n=A(t);"remove"==n.subscription?N(n):I(n)}return L(),!0}function D(e){return!0}function E(e,t){if(!b.parameters.isPopup){var n=T(t.sourceEmail),r=n.name||t.sourceEmail;d.show(r,{body:s.instant("CHAT_CALL_FROM",{name:r}),tag:t.sourceEmail,icon:(stSiteRoot||"/")+"interface/img/notifications/chat.png",notifyClick:function(e){l.setSortingFilteringParam("chat","receivingCall",t),j(n)}})}}async function H(e,t){if(!e)return Promise.resolve(!0);const n=new Date;n.setMonth(n.getMonth()-t);const a=n.toISOString().split(".")[0]+"Z",o=(new Date).toISOString().split(".")[0]+"Z",s=`${e.jid}-${(new Date).getTime()}`;e.unreadCount=0;const i=async t=>{try{if($(t).find('result[xmlns="urn:xmpp:mam:2"]').attr("queryid")!==s)return!0;const n=$(t).find("forwarded message"),r=$(n).find("unseen").length,a=$(t).find("forwarded delay"),o=a.length?new Date(a.attr("stamp")):new Date;r&&e.unreadCount++,(!e.dt||o>e.dt)&&(e.dt=o)}catch(e){r.error(e)}return!0},c=y.parameters.connection.addHandler(i,null,"message","group");return new Promise(((t,n)=>{y.parameters.connection.mam.query(b.username,{with:e.jid,start:a,end:o,unseen:!0,queryid:s,onMessage:i,onComplete:n=>t((async()=>(y.parameters.connection.deleteHandler(c),0===e.unreadCount&&C.connection.invoke("chatMarkUserAsRead",g.getRefreshToken(),(e.jid||"").toLowerCase()),!0))()),onError:e=>{n(e),y.parameters.connection.deleteHandler(c)}})}))}async function k(e){e=e||2;var t=new Date,n=new Date;n.setMonth(t.getMonth()-e);var a=n.toISOString().split(".")[0]+"Z",o=t.toISOString().split(".")[0]+"Z";const s=`dms-${(new Date).getTime()}`,i=async e=>{try{if($(e).find('result[xmlns="urn:xmpp:mam:2"]').attr("queryid")!==s)return!0;const t=$(e).find("forwarded delay"),n=t.length?new Date(t.attr("stamp")):new Date,r=$(e).find("forwarded message"),a=Strophe.getBareJidFromJid(r.attr("from")),o=(Strophe.getBareJidFromJid(r.attr("to")),$(e).find("unseen").length);if(a===m.user.emailAddress.toLowerCase())return!0;let i=b.findContact(a);if(!i&&v[a]&&(I(A(v[a])),i=b.findContact(a)),!i)return!0;o&&i.unreadCount++,(!i.dt||n>i.dt)&&(i.dt=n)}catch(e){r.error(e)}return!0},c=y.parameters.connection.addHandler(i,null,"message","chat");return new Promise(((e,t)=>{y.parameters.connection.mam.query(b.username,{start:a,end:o,queryid:s,unseen:!0,max:500,onMessage:i,onComplete:t=>e((async()=>(L(),y.parameters.connection.deleteHandler(c),!0))()),onError:e=>{t(e),y.parameters.connection.deleteHandler(c)}})}))}function L(t){const n=b.contactCategories.reduce(((e,n)=>n.contacts.reduce(((e,n)=>(t&&n.jid.toLowerCase()===t.toLowerCase()&&(n.unreadCount=0),e+(n.unreadCount||0))),e)),0);b.unread=n,e.$broadcast("xmpp.property-changed",{unreadCount:b.unread})}function A(e){var t=$(e).attr("jid"),n=Strophe.getBareJidFromJid(t),r=t.split("@")[0]+"@"+i.user.domain,a=$(e).attr("name")||n,o=$(e).attr("subscription"),s=$(e).find("group").text()||"",u=c.getContactByEmail(t),d=null;return u&&u.image&&!u.image.indexOf("data=default")>-1&&(d=u.image),{jid:t,bareJid:n,displayJid:r,name:a,username:u?u.userName:a,subscription:o,group:s,pic:d}}function T(e){return e?(e=e.toLowerCase(),b.contactCategories.flatMap((e=>e.contacts||[])).find((t=>t&&t.jid===e))||null):null}function I(e){if(!e||!b.contactCategories)return;let t=b.contactCategories.find((t=>t.name===e.group));t||(t={name:e.group,open:!0,contacts:[]},b.contactCategories.push(t));let n=t.contacts.find((t=>t.jid===e.bareJid));if(n){let{composeContents:t}=n;Object.assign(n,{name:e.name,jid:e.bareJid,displayJid:e.displayJid,status:n.status,unreadCount:n.unreadCount||0,pic:e.pic,username:e.username,composeContents:t})}else t.contacts.push({name:e.name,jid:e.bareJid,displayJid:e.displayJid,status:e.group.endsWith("Aliases")?"room":"offline",unreadCount:0,pic:e.pic,username:e.username})}function N(e){e&&b.contactCategories&&b.contactCategories.forEac
30h((t=>{t.contacts=t.contacts.filter((t=>t.jid!==e.bareJid))}))}}e.$inject=["$rootScope","$filter","$timeout","$log","$sanitize","$localStorage","$translate","coreData","coreDataContacts","coreDataSettings","browserNotifications","preferencesStorage","userDataService","claimsService","authStorage","popupService","chatVideoService","signalrHubManager","stropheConnectionService","errorHandling"],angular.module("smartermail").service("simpleXmppService",e)}();
31!function(){"use strict";function t(t,n,e,o,c,a,s,i){const r=this;r._connection=null,r._attempts=0;const l=stSiteRoot+"httpbind";r.connectionStatus=Strophe.Status.DISCONNECTED,r.messageCarbonCallback=null,r.rosterCallback=null,r.logTraffic=!1;let u,S=null;function d(){return new Strophe.Connection(l,null,s.connection)}r.parameters={get connection(){return r.connectionStatus===Strophe.Status.CONNECTED?r._connection:null},get states(){return{1:{status:"available",label:"FLAGS_AVAILABLE",idx:0},2:{status:"away",label:"FLAGS_AWAY",idx:1},3:{status:"dnd",label:"FLAGS_DO_NOT_DISTURB",idx:2},0:{status:"offline",label:"FLAGS_OFFLINE",idx:3}}},get status(){let t=a.getSortingFilteringParam("chat","status");switch(r.connectionStatus){case Strophe.Status.CONNECTING:t="connecting";break;case Strophe.Status.CONNECTED:void 0===t&&(t="available",a.setSortingFilteringParam("chat","status",t));break;case Strophe.Status.CONNFAIL:t="failed";break;case Strophe.Status.DISCONNECTING:t="disconnecting";break;default:t="offline"}return t},set status(n){const e=a.getSortingFilteringParam("chat","status");r.connectionStatus===Strophe.Status.CONNECTED?(a.setSortingFilteringParam("chat","status",n),g(n||e||"available")):r.connectionStatus!==Strophe.Status.DISCONNECTED&&r.connectionStatus!==Strophe.Status.CONNFAIL||"offline"===n||(a.setSortingFilteringParam("chat","status",n),"offline"===e&&t.$broadcast("xmpp.reconnect-needed",{status:n}),t.$broadcast("xmpp.property-changed",{status:r.parameters.status}))},get connected(){return r.connectionStatus===Strophe.Status.CONNECTED&&r._connection&&r._connection.authenticated}};const p=()=>{r.parameters.connected&&"offline"!==r.parameters.status&&g(r.parameters.status)};let f=!1;function h(t,n){switch(r.connectionStatus=t,r.logTraffic&&console.log("XMPP connection has received a status of "+t,n),t){case Strophe.Status.CONNECTING:case Strophe.Status.DISCONNECTING:break;case Strophe.Status.AUTHFAIL:r.logTraffic&&console.error("[Strophe connection callback] auth failed reason:",n),r._attempts++,r._attempts<3?(f=!0,o.refreshToken().then((function(t){r.logTraffic&&console.error("[Strophe connection reconnecting] attempt:",r._attempts),setTimeout((function(){r._connection=d(),r._connection.connect(c.getRootEmail(),t,h)}),1e3*r._attempts)}),(function(){_(),S.reject("XMPP Auth Failed.")}))):S&&S.reject("Connecting to XMPP failed. No login credentials found.");break;case Strophe.Status.CONNFAIL:case Strophe.Status.DISCONNECTED:r.logTraffic&&console.error("[Strophe connection callback] connection failed reason:",n),S&&!f&&(S.reject("Connection failed or disconnected"),S=null),_(),r._connection=null;break;case Strophe.Status.CONNECTED:f=!1,r._attempts=0,function(){if(r.connection&&r._connection.jid){const t=r._connection.jid,n=r._connection._proto.sid,e=r._connection._proto.rid;sessionStorage.setItem("xmppSession",JSON.stringify({jid:t,sid:n,rid:e}))}}(),r._connection.rawInput=function(t){r.logTraffic&&console.log("RECV:\r\n",t)},r._connection.rawOutput=function(t){r.logTraffic&&console.log("SENT:\r\n",t)},u=e(p,6e4),S&&r._connection&&S.resolve({status:a.getSortingFilteringParam("chat","status")||"available"})}}function g(t){switch(t){case"available":r._connection.send(window.$pres());break;case"away":r._connection.send(window.$pres().c("show").t("away"));break;case"dnd":r._connection.send(window.$pres().c("show").t("dnd"));break;case"offline":r._connection.send(window.$pres({type:"unavailable"}).c("show").t("unavailable"));break;default:return}r._connection.send($pres({to:i.user.emailAddress,type:"subscribe"}))}function _(){f=!1,sessionStorage.removeItem("xmppSession")}r.connect=function(t){try{r._connection&&r._connection.connected&&r.disconnect()}catch(t){}return r._connection=d(),S=S||n.defer(),r._connection.connect(c.getRootEmail(),t,h),S.promise},r.removeHandlers=function(){if(r._connection&&r._connection.handlers)for(var t=r._connection.handlers.length-1;t>=0;t--){var n=r._connection.handlers[t];r._connection.deleteHandler(n)}},r.disconnect=function(){r._connection&&(r._connection.connected&&r._connection.disconnect(),u&&(e.cancel(u),u=null),r._connection=null)}}t.$inject=["$rootScope","$q","$interval","authStorage","claimsService","preferencesStorage","signalrHubManager","userDataService"],angular.module("smartermail").service("stro
31pheConnectionService",t)}();
32!function(){"use strict";function e(e,o){const n={};let c=null,t=o.defer();return n.connect=function(o){return c=new WebSocket(o),c.onopen=function(){console.log("WebSocket connection opened"),t.resolve()},c.onmessage=function(o){e.$broadcast("ws:message",o)},c.onclose=function(){console.log("WebSocket connection closed")},c.onerror=function(e){console.log("WebSocket error",e),t.reject(e)},t.promise},n.send=function(e){c.send(JSON.stringify(e))},n}e.$inject=["$rootScope","$q"],angular.module("smartermail").service("webSocketService",e)}();
33!function(){"use strict";function e(e,t,n,r,a,o,s,i,c,d,u,m,l,p,g,f){var h=this;h.boshUrl=null,h.host=null,h.username=u.user.username,h.email=u.user.emailAddress,h.historyLoaded=!1,h.contactCategories=[],h.logTraffic=!1;var v=1;let y;h.firstConnection=!1,h.states=f.parameters.states,e.$on("signalRHubManagerReconnected",w),e.$on("xmpp.reconnect-needed",w);var C=Object.create(null);function w(){f.connected||h.init()}if(h.parameters={get connected(){return f.parameters.connected},get status(){return f.parameters.status},get prevStatus(){var e=d.getSortingFilteringParam("chat","prevStatus");return void 0===e&&(e="available",d.setSortingFilteringParam("chat","prevStatus",e)),e},set prevStatus(e){d.setSortingFilteringParam("chat","prevStatus",e)},get unreadCounts(){var e=d.getSortingFilteringParam("chat","unreadCounts");return void 0===e&&(e={},d.setSortingFilteringParam("chat","unreadCounts",e)),e},set unreadCounts(e){d.setSortingFilteringParam("chat","unreadCounts",e)},get isPopup(){return window.opener&&!window.opener.closed},get notify(){var e=d.getSortingFilteringParam("chat","notify");return void 0===e&&(e=i.userSettings.notifyOnChatMessages),e}},h.close=close,h.markRead=S,h.sendMessage=function(t,n){if(!n||!f.parameters.connected)return;b&&(f.parameters.connection.Messaging.active(t),b=!1);f.parameters.connection.send($msg({to:t,type:"chat"}).c("body").t(n).tree());var r=F(t);r.conversation||(r.conversation=[]);var a={text:T(n=$("<div/>").text(n).html(),!0),jid:t,name:u.user.displayName||u.user.username,pic:null,isMe:!0,dt:new Date};r.conversation.push(a),r.dt=new Date,e.$broadcast("xmpp.conversation-changed",{jid:t,conversation:r.conversation})},h.notifyComposing=function(e){if(!f.parameters.connected)return;if(b)return;b=!0,f.parameters.connection.Messaging.composing(e)},h.setStatus=x,h.stopComposing=function(e){if(!f.parameters.connected)return;if(!b)return;b=!1,f.parameters.connection.Messaging.paused(e)},h.findContact=F,h.init=function(){f.connect(p.getToken()).then(j,(()=>{}))},h.getUserStatus=function(e){const t=F(e);return t?t.status:null},!window.Strophe)throw new Error("Please make sure to include Strophe library. http://strophe.im/strophejs/");function S(e){const t=e&&e.unreadCount;e.unreadCount=0,q(),t&&g.connection.invoke("chatMarkUserAsRead",p.getRefreshToken(),(e.jid||"").toLowerCase())}var b=!1;function x(t){f.parameters.status=t,e.$broadcast("xmpp.property-changed",{status:t})}function j(){f.removeHandlers();var e=$iq({type:"get",id:"_roster_"+v++}).c("query",{xmlns:Strophe.NS.ROSTER});f.parameters.connection.sendIQ(e,_),f.parameters.connection.messageCarbons.enable()}async function _(t){try{C=Object.create(null),h.contactCategories||(h.contactCategories=[]);for(const e of h.contactCategories)for(const t of e.contacts||[])t&&"room"!==t.status&&(t.status="offline");f.parameters.connection.addHandler(J,null,"presence"),f.parameters.connection.addHandler(M,Strophe.NS.ROSTER,"iq","set"),f.parameters.connection.addHandler(D,null,"iq"),f.parameters.connection.addHandler(H,null,"message","chat"),f.parameters.connection.addHandler(E,null,"message","groupchat");for(let e of $(t).find("item")){const t=Strophe.getBareJidFromJid($(e).attr("jid"));C[t]=e;let n=await L(e);P(n),R(n.jid,n.name)}x(h.parameters.status);try{await async function(e){var t=new Date,n=new Date;n.setMonth(t.getMonth()-e);var a=n.toISOString().split(".")[0]+"Z",o=t.toISOString().split(".")[0]+"Z";const s=`dms-${(new Date).getTime()}`,i=async e=>{try{if($(e).find('result[xmlns="urn:xmpp:mam:2"]').attr("queryid")!==s)return!0;const t=$(e).find("forwarded delay"),n=t.length?new Date(t.attr("stamp")):new Date,r=$(e).find("forwarded message"),a=Strophe.getBareJidFromJid(r.attr("from")),o=Strophe.getBareJidFromJid(r.attr("to")),i=$(e).find("unseen").length;r.attr("type");let c=r.find("body").text();const d=a===u.user.emailAddress.toLowerCase(),m=h.findContact(d?o:a);if(!m)return!0;const l=d?u.user.displayName||u.user.username:m.name;m.archived_conversation=m.archived_conversation||[],c=$("<div/>").text(c).html();const p={text:T(c,!0),jid:a,name:l,pic:d?null:m.pic,isMe:d,dt:n};(!m.dt||n>m.dt)&&(m.dt=n),i&&!d&&"room"!==m.status&&m.unreadCount++,m.archived_conversation.push(p)}catch(e){r.error(e)}return!0},c=f.parameters.connection.addHandler(i,Strophe.NS.MAM,"message",null),d=async e=>(f.parameters.connection.deleteHandler(c),!0);return new Promise(((e,t)=>{f.parameters.connection.mam.query(h.username,{start:a,end:o,queryid:s,max:500,onComplete:t=>e(d(t)),onError:e=>{console.error("queryMessageHistoryAsync onError: ",e),f.parameters.connection.deleteHandler(y),t(e)}})}))}(3)}catch(e){console.error("failed to get message history: ",e)}const n=h.contactCategories.find((e=>e.name.endsWith("Aliases")));
33if(n&&n.contacts)for(const e of n.contacts)try{await A(e,3),await N(e,3,"group")}catch(t){console.error("failed to get group history: ",t,e)}h.historyLoaded=!0,e.$broadcast("xmpp.query-history-complete"),e.$broadcast("xmpp.contacts-changed",{contactCategories:h.contactCategories})}catch(e){throw r.error(e),new Error(e)}finally{h.firstConnection=!1}}async function M(t,n){for(let e of $(t).find("item")){var r=await L(e);"remove"==r.subscription?k(r):P(r)}return e.$broadcast("xmpp.contacts-changed",{contactCategories:h.contactCategories}),q(),!0}function J(t){try{!function(t){const n=$(t).attr("type"),r=$(t).attr("from"),a=Strophe.getBareJidFromJid(r),o=Strophe.getResourceFromJid(r),s=$(t).find("show").text();if("error"===n)return;const i=function(e,t){if("error"===t)return"error";var n;n="unavailable"===t?"offline":""===e||"chat"===e?"available":"dnd"===e?"dnd":"away";return n}(s,n);if(!i)return;if(a.toLowerCase()===u.user.emailAddress.toLowerCase())return void(o&&(d.setSortingFilteringParam("chat","status",i),e.$broadcast("xmpp.property-changed",{status:i})));if(h.roomJoining===r&&h.onRoomJoined){"error"===n&&h.onRoomJoined(!1,r),$(t).find("status[code='110']").length>0&&h.onRoomJoined(!0,r)}var c=F(a);c&&"room"!==c.status&&c.status!==i&&(c.status=i,e.$broadcast("xmpp.contacts-changed",{contactCategories:h.contactCategories,loaded:!0}))}(t)}catch(e){console.error("Error in setPresence:",t,e)}return!0}function D(e){return!0}h.joinRoom=function(e,t,n){h.onRoomJoined=n,h.roomJoining=e+"/"+t,f.parameters.connection.send($pres({to:e+"/"+t}).c("x",{xmlns:"http://jabber.org/protocol/muc"}))};const I=async(e,t,n,a)=>{try{if($(e).find('result[xmlns="urn:xmpp:mam:2"]').attr("queryid")!==t)return!0;const r=$(e).find("forwarded delay"),o=r.length?new Date(r.attr("stamp")):new Date,s=$(e).find("forwarded message"),i=$(s).find("unseen").length,c=Strophe.getBareJidFromJid(s.attr("from"));let d=s.find("body").text();const m=c===u.user.emailAddress.toLowerCase();let l=m?u.user.displayName||u.user.username:n.name;if("group"===a&&!m){const e=F(c);e&&(l=e.name||e.displayJid)}!m&&i&&"group"!==a&&n.unreadCount++,d=$("<div/>").text(d).html();const p={text:T(d,!0),jid:c,name:l,pic:m?null:n.pic,isMe:m,dt:o};(!n.dt||o>n.dt)&&(n.dt=o),n.archived_conversation.push(p)}catch(e){r.error(e)}return!0};async function A(e,t){if(!e)return;const n=new Date;n.setMonth(n.getMonth()-t);const a=n.toISOString().split(".")[0]+"Z",o=(new Date).toISOString().split(".")[0]+"Z",s=`${e.jid}-unseen-${(new Date).getTime()}`;e.unreadCount=0;const i=async t=>{try{if($(t).find('result[xmlns="urn:xmpp:mam:2"]').attr("queryid")!==s)return!0;const n=$(t).find("forwarded message");$(n).find("unseen").length&&e.unreadCount++}catch(e){r.error(e)}return!0};return new Promise(((t,n)=>{f.parameters.connection.mam.query(h.username,{with:e.jid,start:a,end:o,unseen:!0,queryid:s,onMessage:i,onComplete:n=>{0===e.unreadCount&&g.connection.invoke("chatMarkUserAsRead",p.getRefreshToken(),(e.jid||"").toLowerCase()),t(!0)},onError:e=>{n(e)}})}))}async function N(t,n,r){var a=new Date,o=new Date;o.setMonth(a.getMonth()-n),t.archived_conversation=t.archived_conversation||[];var s=o.toISOString().split(".")[0]+"Z",i=a.toISOString().split(".")[0]+"Z";const c=`${t.jid}-${(new Date).getTime()}`,d=f.parameters.connection.addHandler((async e=>I(e,c,t,r)),Strophe.NS.MAM,"message",null);return new Promise(((n,r)=>{f.parameters.connection.mam.query(h.username,{start:s,end:i,with:t.jid,max:50,queryid:c,onComplete:r=>n((async()=>(f.parameters.connection.deleteHandler(d),e.$broadcast("xmpp.conversation-changed",{jid:t.jid,archived_conversation:t.archived_conversation}),!0))()),onError:e=>{console.error("queryDirectMessageHistoryAsync onError: ",e),f.parameters.connection.deleteHandler(d),r(e)}})}))}async function O(e,t){e.archived_conversation=e.archived_conversation||[],e.conversation=e.conversation||[],e.loadComplete=e.loadComplete||!1;const n=e.archived_conversation.length+e.conversation.length;if(e.loadComplete)return m.resolve(!0);let r=(new Date).toISOString();if(e.archived_conversation&&e.archived_conversation.length>0){const t=e.archived_conversation.reduce((function(e,t){return t.dt<e?t.dt:e}),e.archived_conversation[0].dt);r=new Date(t.getTime()-100).toISOString()}else e.conversation&&e.conversation.length>0&&e.conversation[0].dt&&(r=new Date(e.conversation[0].dt.getTime()-100).toISOString());const a=`${e.jid}-${(new Date).getTime()}`,o=f.parameters.connection.addHandler((async n=>I(n,a,e,t)),Strophe.NS.MAM,"message",null);return new Promise(((t,s)=>{f.parameters.connection.mam.query(h.username,{with:e.jid,max:50,queryid:a,"before-id":e.firstMessageId,end:e.firstMessageId?null:r,onComplete:r=>t((async t=>{f.parameters.connection.deleteHandler(o);const r=$(t).find("fin").attr("complete"),a=$(t).find("set > first").text(),s=$(t).find("set > count").text();return a&&(e.firstMessageId=a),s&&(e.totalItems=e.totalItems||parseInt(s)+n),e.loadComplete="true"===r,e.archived_conversation.sort((function(e,t){return e.dt-t.dt})),!0})(r)),onError:t=>{console.error("onError "+e.jid+": ",t),f.parameters.connection.deleteHandler(y),s(t)}})}))}function H(n){try{const x=$(n).find('result[xmlns="urn:xmpp:mam:2"]').attr("queryid");if(x&&x.length>0)return!0;const j=$(n).find("sent > forwarded > message");if(j&&j.length)return function(t){var n=$(t.innerMessage).children("body").text()||"";if(n)if("sent"===t.direction){var r=Strophe.getBareJidFromJid(t.to),a=F(r);if(a&&"chat"==t.type){a.conversation=a.conversation||[];
33var o={text:T(n=$("<div/>").text(n).html(),!0),jid:r,name:u.user.displayName||u.user.username,pic:null,isMe:!0,dt:new Date};a.conversation.push(o),S(a),e.$broadcast("xmpp.conversation-changed",{jid:r,conversation:a.conversation})}}else H(t.innerMessage)}({direction:"sent",type:$(j).attr("type"),to:$(j).attr("to"),from:$(j).attr("from"),innerMessage:j}),!0;const _=$(n).find("received > forwarded > message");_&&_.length&&(n=_[0]);var s=$(n).attr("from"),d=$(n).children("body").text()||"",m=$(n).find("inactive,active,composing,paused,gone"),l=Strophe.getBareJidFromJid(s),p=$(n).attr("type"),g=F(l);if(!g&&C[l]){const e=C[l];return delete C[l],L(e).then((e=>{P(e),H(n)})).catch((e=>r.error(e))),!0}if(g){const r=l===u.user.emailAddress.toLowerCase();var f=r?u.user.displayName||u.user.username:g.name||l;if(l===o.user.emailAddress&&(f=o.user.displayName?o.user.displayName:f),"chat"===p&&d){var h=$("html > body",n),v=!(h=h.length>0?a($("<div>").append(h.contents()).html()):null);if(h||(h=$("<div/>").text(d).html()),"room"===g.status){const e=$(n).find("message > stanza-id[by]");if(e&&e.length){const t=F($(e).attr("by"));t&&(f=t.name)}}g.convoAtBottom&&document.hasFocus()||g.unreadCount++,g.conversation||(g.conversation=[]);var y={text:T(h,v),jid:l,name:f,pic:null,isMe:r,dt:new Date};if(g.dt=y.dt,g.conversation.push(y),e.$broadcast("xmpp.conversation-changed",{jid:l,conversation:g.conversation}),q(),i.userSettings.notifyOnChatMessages&&(!g.convoAtBottom||!document.hasFocus())){var w=$("<div>"+h+"</div>").text();0!=w.toLowerCase().indexOf("http://")&&0!=w.toLowerCase().indexOf("https://")||(w=t("translate")("LINK_RECEIVED")),c.show(f,{body:w,tag:l,icon:(stSiteRoot||"/")+"interface/img/notifications/chat.png",notifyClick:function(t){window.focus(),e.$broadcast("xmpp.select-user",{jid:l})}})}}if(m.length>0){var b=$(n).find("composing");g.isTyping=b.length>0,e.$broadcast("xmpp.typing-changed",{jid:l,contact:g})}}}catch(e){r.error(e)}return!0}function E(e){return!0}function T(e,n){var r={},a="",o="",s=e;return n||(s=s.replace(/(<a[^>]*href=)(('([^']*)'|"([^"]*)"|([\S]*))[^>]*>(.*?)<\/a>)/g,'<a target="blank_" href=$2')),s=(s=s.replace(/!\[[^\]]*\]\((https?:\/\/[^)]*)\)/g,(function(e,t){return t}))).replace(/(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gi,(function(e){if(void 0===r[e]){if(/\.(gif|png|jpe?g)$/i.test(e)){var s=e.split("/d/v2/"),i=s[0]+"/api/v1/filestorage/file-preview/"+s[1];i=i.replace("https:","http:"),a+="<a href='"+e+"' target='_blank' class='chat-image'><img class='st-loading-image' src='"+i+"'></a>"}(c=/youtube\.com\/(?:watch\?v=|embed\/)([a-zA-Z0-9-_]+)/gi.exec(e))&&(a+="<a href='"+e+"' target='_blank' rel='noopener noreferrer' class='chat-image'><i class='toolsicon toolsicon-youtube sidelogo'></i><img src='http://img.youtube.com/vi/"+c[1]+"/0.jpg'></a>");(c=/youtu\.be\/([a-zA-Z0-9-_]+)/gi.exec(e))&&(a+="<a href='"+e+"' target='_blank' rel='noopener noreferrer' class='chat-image'><i class='toolsicon toolsicon-youtube sidelogo'></i><img src='http://img.youtube.com/vi/"+c[1]+"/0.jpg'></a>"),(c=/https:\/\/appear.in\/.+/gi.exec(e))&&(o+=t("translate")("CHAT_SECTION_VIDEO_CHAT_LINK")+"<br/>"),(c=/https:\/\/meet.jit.si\/.+/gi.exec(e))&&(o+=t("translate")("CHAT_SECTION_VIDEO_CHAT_LINK")+"<br/>");var c;(c=/https:\/\/etherpad.wikimedia.org\/p\/.+/gi.exec(e))&&(o+=t("translate")("CHAT_SECTION_DOCUMENT_SHARING_LINK")+"<br/>"),r[e]=!0}return n?'<a href="'+e+'" rel="noopener noreferrer" target="_blank">'+e+"</a>":e})),o+s+a}function q(){var t=0;for(var n in h.contactCategories)for(var r in h.contactCategories[n].contacts){var a=h.contactCategories[n].contacts[r];a&&(t+=a.unreadCount)}h.unread!=t&&(h.unread=t,e.$broadcast("xmpp.property-changed",{unreadCount:t}))}function R(e,t){var n=$iq({type:"set"}).c("query",{xmlns:Strophe.NS.ROSTER}).c("item",{jid:e,name:t});f.parameters.connection.sendIQ(n),f.parameters.connection.send($pres({to:e,type:"subscribe"}))}async function L(e){var t=$(e).attr("jid"),n=Strophe.getBareJidFromJid(t),r=t.split("@")[0]+"@"+o.user.domain,a=$(e).attr("name")||n,i=$(e).attr("subscription"),c=$(e).find("group").text()||"";
33await s.ensureSourcesLoadedPromise(),await s.ensureContactsLoadedPromise();var d=s.getContactByEmail(t),u=null;return d&&d.image&&!d.image.indexOf("data=default")>-1&&(u=d.image),d&&!a&&(a=d.displayName||d.userName),{jid:t.toLowerCase(),bareJid:n.toLowerCase(),displayJid:r,name:a,subscription:i,group:c,pic:u}}function F(e){return e?(e=e.toLowerCase(),h.contactCategories.flatMap((e=>e.contacts||[])).find((t=>t&&t.jid.toLowerCase()===e))||null):null}function P(e){if(!e||!h.contactCategories)return;let t=h.contactCategories.find((t=>t.name===e.group));t||(t={name:e.group,open:!0,contacts:[]},h.contactCategories.push(t));const n=t.contacts.find((t=>t.jid===e.bareJid));if(n){const t=n.composeContents;Object.assign(n,{name:e.name,jid:e.bareJid,displayJid:e.displayJid,username:e.username,status:n.status,unreadCount:n.unreadCount||0,pic:e.pic,dt:e.ts}),n.composeContents=t}else t.contacts.push({name:e.name,jid:e.bareJid,displayJid:e.displayJid,username:e.username,status:e.group.endsWith("Aliases")?"room":"offline",unreadCount:0,pic:e.pic,dt:new Date("2001")})}function k(e){if(e&&h.contactCategories)for(var t=0;t<h.contactCategories.length;t++)for(var n=h.contactCategories[t],r=0;r<n.contacts.length;r++){n.contacts[r].jid==e.bareJid&&(n.contacts.splice(r,1),r--)}}h.fetchContactNextPage=async e=>{try{if(!e)return;await O(e,"room"===e.status?"group":"user")}catch(t){console.error("Error fetching archived messages for "+e.jid+": ",t)}}}e.$inject=["$rootScope","$filter","$timeout","$log","$sanitize","coreData","coreDataContacts","coreDataSettings","browserNotifications","preferencesStorage","userDataService","$q","claimsService","authStorage","signalrHubManager","stropheConnectionService"],angular.module("smartermail").service("xmppService",e)}();
34!function(){"use strict";angular.module("smartermail").directive("attachedFile",["$http",function(e){return{restrict:"E",replace:!0,scope:{item:"=",isCompose:"=",removeAttachment:"&"},link:function(t,i,n){t.deleteClicked=function(e,i){i.stopPropagation(),i.preventDefault(),t.item.previewBlob&&(window.URL.revokeObjectURL(t.item.previewBlob),t.item.previewBlob=null),t.removeAttachment&&t.removeAttachment()(e,i)},t.item.webLink&&e.get(t.item.webLink,{responseType:"blob"}).then((function(e){t.item.previewBlob=window.URL.createObjectURL(e.data)}))},template:'\n                    <a href="{{item.webLink}}" class="attached-file" download="{{item.filename}}" title="{{item.filename}}"> \n                        <div class="preview-image">\n\t\t\t\t\t\t\t<img  ng-if="item.hasImagePreview" ng-src="{{item.previewBlob || \'/interface/img/misc/file-image.svg\'}}" />\n                            <i ng-if="!item.hasImagePreview" class="toolsicon toolsicon-file{{(item.iconType ? (\'-\' + item.iconType) : \'\')}}"></i>\n\t\t\t\t\t\t</div> \n                        <div class="attached-file-info">\n                            <div class="attached-filename">{{item.filename}}</div>\n                            <div class="attached-filesize"><span ng-if="item.allAttachments">{{::"APPROXIMATELY" | translate}} </span>{{::item.size | bytes}}</div>\n                        </div>\n                        <div class="att-remove-button">\n                            <div class="btn-container" ng-click="$parent.deleteClicked($parent.item, $event)" ng-if="isCompose && !item.isInline">\n                                <i class="toolsicon toolsicon-close"></i>\n                            </div>\n                        </div>\n                    </a>'}}])}();
35!function(){"use strict";function e(e){var t=this;t.$onChanges=function(){t.totalPercent=Math.round(10*(t.totalPercent??0))/10,t.primaryPercent=Math.round(10*(t.primaryPercent??0))/10,t.secondaryPercent=Math.round(10*(t.secondaryPercent??0))/10,t.showSecondary?(t.relPrimaryPercent=t.primaryPercent,t.relSecondaryPercent=t.secondaryPercent,t.size&&0!==t.size?(!t.maxSize||t.maxSize<=0||t.size>t.maxSize)&&(t.relSecondaryPercent=Math.trunc((t.secondarySize??0)/t.size*100),t.relPrimaryPercent=100-t.relSecondaryPercent):(t.relPrimaryPercent=0,t.relSecondaryPercent=0)):(t.relPrimaryPercent=t.totalPercent,t.relSecondaryPercent=0)},t.toggleTooltip=function(r,n){if(!t.showSecondary)return void(t.showTooltip=!1);console.log("toggleTooltip",r,n),t.showTooltip=r;const o=e.find(".grid-disk-space-bar-chart"),i=e.find(".disk-usage-floater"),c=o.offset(),a=c.top+o.height()/2,s=c.left+o.width()/2;a>window.innerHeight/2?(i.css("top","auto"),i.css("bottom",window.innerHeight-c.top+5+"px")):(i.css("top",`${c.top+o.height()+5}px`),i.css("bottom","auto"));s>window.innerWidth/1.2?(i.css("left","auto"),i.css("right",window.innerWidth-c.left-o.width()+15+"px")):(i.css("left",`${c.left+15}px`),i.css("right","auto"))}}e.$inject=["$element"],angular.module("smartermail").component("diskSpaceBar",{templateUrl:"app/components/disk-space-bar.component.html",controller:e,transclude:!1,bindings:{maxSize:"<",size:"<",primarySize:"<",secondarySize:"<",totalPercent:"<",primaryPercent:"<",secondaryPercent:"<",showSecondary:"<"}})}();
36!function(){"use strict";function e(e,s,a){var i=this;function d(){s.get("~/api/v1/filestorage/disk-usage-summary").then((function(e){i.diskUsage=e.data.diskUsage,i.diskUsage.mailboxPercent=0,i.diskUsage.appointmentsPercent=0,i.diskUsage.contactsPercent=0,i.diskUsage.notesPercent=0,i.diskUsage.tasksPercent=0,i.diskUsage.fileStoragePercent=0,i.diskUsage.meetingWorksp
36acePercent=0,i.diskUsage.chatFilesPercent=0,i.diskUsage.allowed>0&&(i.diskUsage.mailboxPercent=100*i.diskUsage.mailboxUsed/i.diskUsage.allowed,i.diskUsage.appointmentsPercent=100*i.diskUsage.appointmentsUsed/i.diskUsage.allowed,i.diskUsage.contactsPercent=100*i.diskUsage.contactsUsed/i.diskUsage.allowed,i.diskUsage.notesPercent=100*i.diskUsage.notesUsed/i.diskUsage.allowed,i.diskUsage.tasksPercent=100*i.diskUsage.tasksUsed/i.diskUsage.allowed,i.diskUsage.fileStoragePercent=100*i.diskUsage.fileStorageUsed/i.diskUsage.allowed,i.diskUsage.meetingWorkspacePercent=100*i.diskUsage.meetingWorkspaceUsed/i.diskUsage.allowed,i.diskUsage.chatFilesPercent=100*i.diskUsage.chatFilesUsed/i.diskUsage.allowed),i.diskUsage.percentUsed=i.diskUsage.allowed?Math.round(100*i.diskUsage.used/i.diskUsage.allowed):null,i.diskSpaceLoaded=!0}),(function(){}))}i.diskSpaceLoaded=!1,i.diskUsage={},i.getDiskUsage=d,d(),e.$on("diskSpaceUsage:changed",(function(){d()}))}function s(e,s,a,i,d,t,n){var o=this;o.diskSpaceLoaded=n.diskSpaceLoaded,o.diskUsage=n.diskUsage,o.showDiskMenu=!1,o.goToDiskReport=function(){a.go("index.reports.reports-details",{type:"user",report:"disk_usage"})},o.flipDiskFloater=function(e){o.showDiskMenu=e},s.$watch((function(){return n.diskSpaceLoaded}),(function(){o.diskSpaceLoaded=n.diskSpaceLoaded})),s.$watch((function(){return n.diskUsage}),(function(){o.diskUsage=n.diskUsage}))}e.$inject=["$rootScope","$http","$log"],s.$inject=["$rootScope","$scope","$state","$log","$http","$filter","diskSpaceSummaryService"],angular.module("smartermail").service("diskSpaceSummaryService",e).component("diskSpaceSummary",{templateUrl:"app/components/disk-space-summary.component.html",controller:s,transclude:!1,bindings:{}})}();
37!function(){function e(e,n){return{link:function(t,a){var i=function(n){var t=n;e.unreadEmailCount&&e.unreadEmailCount>0&&(t="("+e.unreadEmailCount+") "+t),a.text(t)};n.onStart({},(function(n){e.pageTitle=e.pageTitle?e.pageTitle:"",i(e.pageTitle)})),e.$on("unreadMailChanged",(function(){i(e.pageTitle)})),e.$on("pageTitleUpdated",(function(n,t){e.pageTitle=t,i(e.pageTitle)}))}}}e.$inject=["$rootScope","$transitions"],angular.module("smartermail").directive("pageTitle",e)}();
38!function(){"use strict";function e(e,t,r,o,l,a,s){var c=this;c.showCreateFolderModal=async function(e){try{return await r.show({locals:{source:null},controller:"createAddressBookController",controllerAs:"ctrl",templateUrl:"app/contacts/modals/create-address-book.dlg.html",targetEvent:e,clickOutsideToClose:!1}),!0}catch(e){}},c.showRenameFolderModal=async function(e,t){if(!t)return;try{let o;return o=t.isSharedItem&&"gal"!==t.itemID?await r.show({controller:"editSharedFolderDialogController",controllerAs:"ctrl",templateUrl:"app/shared/modals/edit-shared-folder.dlg.html",targetEvent:e,locals:{folderId:t.folderId,webcalLink:null,folder:null}}):await r.show({locals:{source:t},controller:"renameAddressBookController",controllerAs:"ctrl",templateUrl:"app/contacts/modals/rename-address-book.dlg.html",targetEvent:e,clickOutsideToClose:!1}),o&&o.detached&&s.removeSourceVisibility("contacts",t),!0}catch(e){}},c.showDeleteFolderModal=async function(e,c){if(!c||c.isPrimary)return;const n=c.displayName?o.instant(c.displayName):c.name,d=r.confirmDeletion().htmlContent(l("translate")("CONFIRMATIONS_DELETE_FOLDER",{name:n})).targetEvent(e);try{await r.show(d)}catch(e){return}try{const e={uid:c.id||c.itemID};return await t.post("~/api/v1/contacts/address-book/delete",e),s.removeSourceVisibility("contacts",c),!0}catch(e){a.report(e)}},c.showShareFolderModal=async function(e,t){try{return await r.show({locals:{source:t},controller:"shareAddressBookController",controllerAs:"ctrl",templateUrl:"app/contacts/modals/share-address-book.dlg.html",targetEvent:e,clickOutsideToClose:!1}),!0}catch(e){}},c.showSharedFolderPropertiesModal=async function(e,t){try{let o=await r.show({controller:"editSharedFolderDialogController",controllerAs:"ctrl",templateUrl:"app/shared/modals/edit-shared-folder.dlg.html",targetEvent:e,locals:{folderId:t.folderId,webcalLink:null,folder:null}});return o&&o.detached&&s.removeSourceVisibility("contacts",t),!0}catch(e){}}}e.$inject=["$rootScope","$http","$mdDialog","$translate","$filter","errorHandling","preferencesStorage"],angular.module("smartermail").service("contactActions",e)}();
39!function(){"use strict";angular.module("smartermail").directive("contactCard",(function(){return{restrict:"EA",templateUrl:"app/contacts/contact-card.html",controller:["$scope","$translate",function(t,c){t.contactCard={}
39,t.contactCard.sharedResourceCountString=1==t.contact.contactType||2==t.contact.contactType?c.instant("SHARED_RESOURCES_GROUP_COUNT",{count:t.contact.groupedContacts.length}):"",t.contact.categories&&t.contact.categories.length&&t.contact.categories.forEach((t=>{const a=c.instant(t.name);t.translatedName=$("<div>").html(a).text()}))}]}}))}();
40!function(){"use strict";function e(e,t,n,o,r,c,a,s,i,u,l,d,f,m,p,g,I){var h=this;function w(e){var n=t.potentialMembers;for(let t=0;t<h.contactInfo.groupedContacts.length;t++){const o=h.contactInfo.groupedContacts[t];if(!e||o!==e)switch(o.type){case 0:continue;case 1:n=n.filter((function(e){return 1!==e.type||e.folderId!==o.folderId||e.contactId!==o.contactId}));break;case 2:n=n.filter((function(e){return 2!==e.type||!e.emailAddress||e.emailAddress.toLowerCase()!==o.emailAddress.toLowerCase()}))}}return n}function C(e){switch(e.type){case 0:default:return null;case 1:return e.emailAddress?o("translate")("CONTACT"):o("translate")("CONTACT_GROUP");case 2:return o("translate")("GAL")}}function S(){d.getCategories(!0).then((function(e){const t=h.categories;h.categories=e,v(h.categories,t)}),(function(e){l.report(e)}))}function v(e,t){return t||(t=h.contactInfo.categories),e.forEach((function(e){e.selected=!1})),t&&(e=t.reduce((function(e,t){const n=e.find((e=>e.name===t.name));return n?n.selected=t.selected:t.selected&&e.push({name:t.name,colorIndex:-1,master:!1,translatedName:o("translate")(t.name),selected:!0}),e}),e)),e}h.askBeforeLeave=!0,h.categories=[],h.contactGuid=a.id,h.contactInfo={sourcePermission:8,contactType:2,groupedContacts:[]},h.displayNameChanged=!1,h.isDisabled=!1,h.isNew="new"===h.contactGuid,h.potentialMembers=[],h.ready=!1,h.showSharedGal=!0,h.removedAttachedFiles=[],h.sourceOwner=a.sourceOwner,h.sources=[],h.editMember=function(e,o,r){n.show({locals:{memberItem:o,sourceOwner:t.currentSource.ownerUsername,possibleMembers:w(o),galEnabled:h.showSharedGal},controller:"editGroupMemberController",controllerAs:"ctrl",templateUrl:"app/contacts/modals/group-member.dlg.html",targetEvent:e}).then((function(e){e.delete?h.contactInfo.groupedContacts.splice(r,1):h.contactInfo.groupedContacts.splice(r,1,e.member),h.userForm.$setDirty()}),(function(){}))},h.isOwner=function(){return t.currentSource&&t.currentSource.ownerUsername===m.user.username},h.newMember=function(e){n.show({locals:{memberItem:void 0,sourceOwner:t.currentSource.ownerUsername,possibleMembers:w(),galEnabled:h.showSharedGal},controller:"editGroupMemberController",controllerAs:"ctrl",templateUrl:"app/contacts/modals/group-member.dlg.html",targetEvent:e}).then((function(e){!function(e,t){if(!e.emailAddress)return!1;for(let n=0;n<h.contactInfo.groupedContacts.length;n++){if(t&&t===n)continue;if(h.contactInfo.groupedContacts[n].emailAddress===e.emailAddress)return!0}return!1}(e.member)?(h.contactInfo.groupedContacts.push(e.member),h.userForm.$setDirty()):l.report(o("translate")("CONTACT_GROUP_MEMBER_EXISTS",{email:e.member.emailAddress}))}),(function(){}))},h.openNoteBody=function(e){if(h.isDisabled)return;var o="user";t.currentSource.isDomainResource&&(o="domainshare");n.show({locals:{name:"NOTES",text:h.contactInfo.additionalInfo,afContext:o,afSourceType:"cc",afSourceId1:void 0,readOnly:h.isDisabled},controller:"contactNoteEditController",controllerAs:"ctrl",templateUrl:"app/contacts/modals/contact-note-edit.dlg.html",targetEvent:e,clickOutsideToClose:!1}).then((function(e){h.contactInfo.additionalInfo!==e&&(h.contactInfo.additionalInfo=e,h.contactInfo.additionalInfoIsHtml=!0,h.userForm.$setDirty())}),(function(){}))},h.hasSelectedCategory=function(){if(!h.categories)return!1;for(var e=0;e<h.categories.length;e++)if(h.categories[e].selected)return!0;return!1},h.onCategoryChanged=function(e){e&&(e.selected=!e.selected);h.userForm.$setDirty()},h.onClearAllCategories=function(){for(var e=0;e<h.categories.length;e++)h.categories[e].selected=!1;h.userForm.$setDirty()},h.openManageCategoriesModal=function(e){n.show({controller:"manageCategoriesDialogController",controllerAs:"manageCategoriesCtrl",templateUrl:"app/shared/modals/manage.categories.dlg.html",targetEvent:e})},h.categoryColorByName=function(e){const t=function(e){if(!e)return null;var t=$.grep(h.categories,(t=>t.name.toUpperCase()===e.toUpperCase()));return t.length>0?t[0]:null}(e);if(!t||-1==t.colorIndex)return null;const n=d.getCategoryColor(t.colorIndex);return n&&n.rgb?n.rgb:null},t.cancel=function(){t.skipNavigateConfirm=!0,h.askBeforeLeave=!1,window.close()},t.canDelete=function(){return!h.isNew&&h.contactInfo&&h.contactInfo.sourcePermission>=8},t.canMove=function(){return!t.currentSource||"gal"!==t.currentSource.itemID&&t.currentSource.access>=8},t.canSave=function(){return h.isNew||t.currentSource&&t.currentSource.access>=8},t.deleteWithConfirmation=function(e){var r=n.confirmDeletion().textContent(o("translate")("CONFIRMATIONS_DELETE_ITEM_NAMED",{name:h.contactInfo.displayAs})).targetEvent(e);n.show(r).then((function(){i.removeSingleContact(h.contactInfo.id,h.contactInfo.sourceId,h.contactInfo.sourceOwner).then((function(){t.skipNavigateConfirm=!0,h.askBeforeLeave=!1,window.close()}),(function(e){l.report(e)}))}),(function(){}))},t.onSourceChanged=function(e,n){if(!h.isNew||e.ownerUsername===n.ownerUsername)return;for(let e=0;e<h.contactInfo.groupedContacts.length;
40e++){const t=h.contactInfo.groupedContacts[e];if(0!==t.type&&2!==t.type){var o=$.grep(h.sources||[],(function(e){return e.folderId===t.folderId}));0!==o.length&&o[0].ownerUserName===n.ownerUsername||(h.contactInfo.groupedContacts.splice(e,1),e--)}}r.get(`~/api/v1/contacts/members/${n.ownerUsername}`).then((function(e){t.potentialMembers=e.data.results}),(function(){}))},t.removeAttachedFile=function(e,t){if(h.isDisabled||!e)return;if(e.isNew&&"function"==typeof e.remove)return void e.remove();h.removedAttachedFiles.push(e.fileReference),h.userForm.$setDirty()},t.save=function(){t.skipNavigateConfirm=!0,h.askBeforeLeave=!1,h.contactInfo.categories=$.grep(h.categories||[],(function(e){return e.selected})),h.contactInfo.contactType=2,h.attachedFiles.some((e=>e.isNew))&&(h.contactInfo.attachmentGuid=h.attachmentGuid);if(h.isNew)return h.contactInfo.id=void 0,h.contactInfo.sourceOwner=t.currentSource.ownerUsername,h.contactInfo.sourceName=t.currentSource.displayName,h.contactInfo.sourceId=t.currentSource.itemID,h.contactInfo.source=t.currentSource,void i.addContact(h.contactInfo).then((function(e){h.contactInfo.id=e.data.contacts[0].id,window.close()}),l.report);if(h.contactInfo.sourceId!==t.currentSource.itemID){const e=h.contactInfo.oldId=h.contactGuid,n=h.contactInfo.oldSourceId=h.contactInfo.sourceId,o=h.contactInfo.oldSourceOwner=h.contactInfo.sourceOwner;h.contactInfo.id=void 0,h.contactInfo.sourceOwner=t.currentSource.ownerUsername,h.contactInfo.sourceName=t.currentSource.displayName,h.contactInfo.sourceId=t.currentSource.itemID,h.contactInfo.source=t.currentSource,h.contactInfo.oldSourceId=n,h.contactInfo.oldId=e,h.contactInfo.oldSourceOwner=o}(function(e,t){if(!h.removedAttachedFiles||0===h.removedAttachedFiles.length)return c.when();const n=h.sources.filter((t=>t.itemID===e))[0],o=JSON.stringify({folderId:n.folderId,owner:t,removeFileReferences:h.removedAttachedFiles});return r.post("~/api/v1/filestorage/remove-attached-file",o)})(h.contactInfo.sourceId,h.contactInfo.sourceOwner).then((function(){i.editContact(h.contactInfo).then(window.close,l.report)}),l.report)},t.setForm=function(e){h.userForm=e},function(){p.ensureActivated(),e.spinner.showInstant();const n=[f.getSources(!0),s.init(),g.init().then((function(){h.showSharedGal=g.userPermissions.featureGal}),(function(){}))];h.isNew||n.push(i.getContact(a.sourceOwner,a.sourceId,h.contactGuid));function o(){r.get(`~/api/v1/contacts/members/${t.currentSource.ownerUsername}`).then((function(e){t.potentialMembers=e.data.results,h.isNew||(t.potentialMembers=t.potentialMembers.filter((function(e){return 1!==e.type||e.emailAddress||e.displayName!==h.contactInfo.displayAs}))),t.$on("categoriesUpdated",S)}),l.reportAndHideSpinner)}c.all(n).then((function(n){h.sources=n[0];var r=$.grep(h.sources,(function(e){return e.ownerUsername===m.user.username&&e.isPrimary}));t.defaultSource=r.length>0?r[0]:h.sources[0],t.currentSource=t.defaultSource,h.isNew||function(e){h.contactInfo=e,e&&(h.attachedFiles=e.attachedFiles);for(let e=0;e<h.contactInfo.groupedContacts.length;e++)h.contactInfo.groupedContacts[e].source=C(h.contactInfo.groupedContacts[e]);var n=$.grep(h.sources,(function(e){if(h.contactInfo.sourceId===e.itemID){if(h.contactInfo.sourceOwner&&e.ownerUsername&&h.contactInfo.sourceOwner.toUpperCase()===e.ownerUsername.toUpperCase())return!0;if(!h.contactInfo.sourceOwner&&!e.ownerUsername)return!0}return!1}));t.currentSource=n.length>0?n[0]:h.sources[0],n=$.grep(h.sources,(function(e){return e.access>=8||t.currentSource&&e.itemId==t.currentSource.itemId})),n.length>0&&(h.sources=n)}(n[3]),t.currentSource.ownerUsername&&(d.categoryOwner=t.currentSource.ownerUsername),h.categories=d.getCategories(),v(h.categories),h.attachedFiles=h.contactInfo.attachedFiles?JSON.parse(JSON.stringify(h.contactInfo.attachedFiles)):[],h.attachmentGuid=s.generateGuid(),i.init().then(o,l.report).finally((function(){h.ready=!0,e.spinner.hide()}))}),l.reportAndHideSpinner),window.onbeforeunload=function(){if(h.askBeforeLeave&&h.userForm.$dirty)return h.askBeforeLeave=!1,""}}(),h.fileUploadedCallback=function(){h.userForm.$setDirty()}}e.$inject=["$rootScope","$scope","$mdDialog","$filter","$http","$q","$stateParams","coreData","coreDataContacts","coreDataCategories","errorHandling","apiCategories","apiContactSources","userDataService","themesService","coreDataSettings","i18n"],angular.module("smartermail").controller("contactGroupViewController",e)}();
41!function(){"use strict";function e(e,t,n,o,a,r,c,i,s,l,u,d,f,m,p,I,h,g,v,y,w,C,D,L,S){var N,A=this;A.ready=!1,A.isLoaded=!1,A.contentReady=!1,A.askBeforeLeave=!0;var b=e.$on("masonry:revealed",O);function O(){A.contentReady||(b(),o.cancel(N),A.contentReady=!0,e.spinner.hide())}t.$on("$destroy",b),A.contactId=c.id,A.sourceOwner=c.sourceOwner,A.sourceId=c.sourceId,A.isNew="new"===A.contactId,A.isGal="gal"===A.sourceId,A.categories=[],A.sources=[],A.displayNameChanged=!1,A.displayCompany=!1,A.displayFLNames=!1,A.removedAttachedFiles=[],A.contactInfo={sourcePermission:8,phoneNumberList:[{device:0,phoneType:0,number:""}],emailList:[{value:""}]},A.isDisabled=!1,t.imageTimestamp=(new Date).getTime(),A.emailList=[{value:""}],A.phoneList=[{device:0,phoneType:0,number:""}],A.isDomainAdmin=s.user.isDomainAdmin,A.isMailingList=!1,t.cancel=M,t.delete=function(){A.deleteNoConfirmation([A.contactInfo.id])},t.deleteWithConfirmation=function(t,o){if(t.length>0)try{var r=1===t.length?l.getContactById(t[0]):null,c=n.confirmDeletion().textContent(r?a("translate")("CONFIRMATIONS_DELETE_ITEM_NAMED",{name:r.displayAs}):S.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:t.length})).targetEvent(o);n.show(c).then((function(){A.deletePromise(t)}),null)}catch(t){f.report(t.message),e.spinner.hide()}else f.report("ERROR_NO_CARDS"),e.spinner.hide()}
41,t.deleteWithConfirmationSingleContact=function(t,o,r,c){if(t.length,o.length>0)try{var i=n.confirmDeletion().textContent(a("translate")("CONFIRMATIONS_DELETE_ITEM_NAMED",{name:A.contactInfo.displayAs})).targetEvent(c);n.show(i).then((function(){A.deletePromiseSingleContact(t,o,r)}),(function(){}))}catch(t){f.report(t.message),e.spinner.hide()}else f.report("ERROR_NO_CARDS"),e.spinner.hide()},t.deleteWithConfirmationDropdown=function(e){t.deleteWithConfirmation(e.card,e.event)},t.getAvatarSource=function(e){return e?e+"&v="+t.imageTimestamp:"img/ST_User_Cir.svg"},t.imagePreview=function(e){o=e,new Blob([o]).size>5242880?(v.pop("error",y.instant("MAX_SIZE_EXCEEDED",{size:a("bytes")(5242880)})),t.$applyAsync()):n.show({locals:{imageData:o,dimensions:{height:128,width:128}},controller:"uploadCropperController",controllerAs:"upCtrl",templateUrl:"app/shared/upload-cropper.dlg.html"}).then(B,(function(){}));var o},t.onSourceChanged=function(){},t.save=function(e){t.editingItem=!1,t.skipNavigateConfirm=!0,A.askBeforeLeave=!1,A.attachedFiles.some((e=>e.isNew))&&(A.contactInfo.attachmentGuid=A.attachmentGuid);if(A.contactInfo.categories=$.grep(A.categories||[],(function(e){return e.selected})),A.isNew)!function(e){A.contactInfo.phoneNumberList=[].concat(A.phoneList),T(),A.emailList||(A.emailList=[]);A.contactInfo.emailAddressList=$.map(A.emailList,(function(e){return e.value})),A.contactInfo.emailAddressList.pop(),A.contactInfo.id=void 0,A.contactInfo.birthDate=t.birthdate?F(t.birthdate):"",A.contactInfo.weddingAnniversary=t.weddingAnniversary?F(t.weddingAnniversary):"",A.contactInfo.sourceOwner=t.currentSource.ownerUsername,A.contactInfo.sourceName=t.currentSource.displayName,A.contactInfo.sourceId=t.currentSource.itemID,A.contactInfo.source=t.currentSource,e&&(A.contactInfo.image=e);l.addContact(A.contactInfo).then((function(e){t.$broadcast("newContact",A.contactInfo),A.contactInfo.id=e.data.contacts[0].id;var n=A.contactInfo.sourceOwner?A.contactInfo.sourceOwner+"@"+h.user.domain:null;A.toUploadBlob?_(n,A.contactInfo.id,!1,A.contactInfo.sourceId).then((function(){M()}),f.report):M()}),(function(e){I.showErrorMessage(e)}))}(e);else if(A.toUploadBlob){var n="gal"===A.contactInfo.sourceId,o=A.contactInfo.sourceOwner?A.contactInfo.sourceOwner+"@"+h.user.domain:null;n&&(o=A.contactInfo.galAddress),_(o,A.contactInfo.id,n,A.contactInfo.sourceId).then(U,U)}else U()},t.setForm=function(e){A.userForm=e},t.showDelete=function(e){return"Global Address List"!==e.sourceName&&e.sourcePermission>4},t.uploadAvatar=function(){l.uploadNewAvatar().then((function(){}),f.report)},t.uploaderInit=function(e){t.uploaderFunctions=e},t.afContext="user",A.canDelete=function(){return!(A.isNew||!A.contactInfo)&&A.contactInfo.sourcePermission>=8},A.canMove=function(){return!t.currentSource||"gal"!==t.currentSource.itemID&&t.currentSource.access>=8},A.isOwner=function(){return t.currentSource&&t.currentSource.ownerUsername===h.user.username},A.deleteNoConfirmation=function(t){try{A.deletePromise(t)}catch(t){f.report(t.message),e.spinner.hide()}},A.deletePromise=function(o){t.editingItem=!1;var r=t.totalCount;e.spinner.show(),l.removeContacts(o).then((function(){if(r-o.length<l.getContacts().length){var t=n.confirmDeletion().title().textContent(a("translate")("CONFIRMATIONS_UNABLE_TO_DELETE")).ok(a("translate")("OK")).noWarn(!0).hideCancel(!0);n.show(t)}M(),e.spinner.hide()}),(function(t){f.report(t),e.spinner.hide()}))},A.deletePromiseSingleContact=function(o,r,c){t.editingItem=!1;var i=t.totalCount;e.spinner.show(),l.removeSingleContact(o,r,c).then((function(){if(i-1<l.getContacts().length){var t=n.confirmDeletion().title().textContent(a("translate")("CONFIRMATIONS_UNABLE_TO_DELETE")).ok(a("translate")("OK")).noWarn(!0).hideCancel(!0);n.show(t)}M(),e.spinner.hide()}),(function(t){e.spinner.hide(),I.showErrorMessage(t)}))},A.onFirstLastChanged=function(){A.displayNameChanged||A.displayCompany||(A.displayFLNames=!0,A.contactInfo.firstName&&A.contactInfo.lastName?A.contactInfo.displayAs=A.contactInfo.firstName+" "+A.contactInfo.lastName:A.contactInfo.firstName?A.contactInfo.displayAs=A.contactInfo.firstName:A.contactInfo.lastName?A.contactInfo.displayAs=A.contactInfo.lastName:A.dis
41playFLNames=!1)},A.onCompanyChanged=function(){A.displayNameChanged||!A.contactInfo.company||A.displayFLNames?A.contactInfo.company||(A.displayCompany=!1):(A.displayCompany=!0,A.contactInfo.displayAs=A.contactInfo.company)},A.onDisplayNameChanged=function(){A.contactInfo.displayAs?A.displayNameChanged=!0:(A.displayCompany=!1,A.displayFLNames=!1,A.displayNameChanged=!1)},A.emailDelete=function(e,t){t.$setDirty(),A.emailList.splice(e,1)},A.onEmailBlur=function(e,t,n){var o=n["email"+t].$viewValue;P(e,t,n),o&&0!==o.length||e||A.emailList.splice(t,1)},A.onEmailChanged=P,A.onPhoneBlur=function(e,t,n){var o=n["phone"+t].$viewValue;o&&0!==o.length||e||A.phoneList.splice(t,1)},A.onPhoneChanged=function(e,t,n){var o=n["phone"+t].$viewValue;o&&o.length>0&&e&&A.phoneList.push({device:0,phoneType:0,number:""})},A.openNoteBody=function(e){const o={name:"NOTES",text:A.contactInfo.additionalInfo,readOnly:A.isDisabled};A.isGal?(o.afContext="domain",o.afSourceType="ap",o.afSourceId1=A.contactId):t.currentSource.isDomainResource?(o.afContext="domainshare",o.afSourceType="cc",o.afSourceId1=void 0):(o.afContext="user",o.afSourceType="cc",o.afSourceId1=void 0);n.show({locals:o,controller:"contactNoteEditController",controllerAs:"ctrl",templateUrl:"app/contacts/modals/contact-note-edit.dlg.html",targetEvent:e,clickOutsideToClose:!1}).then((function(e){A.contactInfo.additionalInfo!==e&&(A.contactInfo.additionalInfo=e,A.contactInfo.additionalInfoIsHtml=!0,A.userForm.$setDirty())}),(function(){}))},A.phoneDelete=function(e,t){t.$setDirty(),A.phoneList.splice(e,1)},A.removeProfilePicture=G,A.removeAttachedFile=function(e,t){if(A.isDisabled||!e)return;if(e.isNew&&"function"==typeof e.remove)return void e.remove();A.removedAttachedFiles.push(e.fileReference),A.userForm.$setDirty()},A.calculateCanSave=R,A.hasSelectedCategory=function(){if(!A.categories)return!1;for(var e=0;e<A.categories.length;e++)if(A.categories[e].selected)return!0;return!1},A.onCategoryChanged=function(e){e&&(e.selected=!e.selected);A.userForm.$setDirty()},A.onClearAllCategories=function(){for(var e=0;e<A.categories.length;e++)A.categories[e].selected=!1;A.userForm.$setDirty()},A.openManageCategoriesModal=function(e){n.show({controller:"manageCategoriesDialogController",controllerAs:"manageCategoriesCtrl",templateUrl:"app/shared/modals/manage.categories.dlg.html",targetEvent:e})},A.categoryColorByName=function(e){const t=A.categories.find((t=>t.name.toUpperCase()===e.toUpperCase()));if(!t||-1==t.colorIndex)return null;const n=m.getCategoryColor(t.colorIndex);return n&&n.rgb?n.rgb:null},A.startCall=function(e){document.location.href="tel:"+e},A.sendEmail=function(e){if(!e)return;var t=[`"${A.contactInfo.displayAs}" <${e}>`],n=(new Date).getTime().toString();sessionStorage.setItem(n,JSON.stringify({emails:t||[],vcards:[]}));const o=L.makeComposePacket({sid:n}),a=L.getPopoutComposeUrl(o);window.open(a,n,"resizable=1, "+C.dimensions.email)};let E=window.stHAID;function T(){A.contactInfo.phoneNumberList||(A.contactInfo.phoneNumberList=[]),A.contactInfo.phoneNumberList=$.grep(A.contactInfo.phoneNumberList,(function(e){return""!==e.number.trim()}));for(var e=0;e<A.contactInfo.phoneNumberList.length;++e)9===A.contactInfo.phoneNumberList[e].phoneType&&(A.contactInfo.phoneNumberList[e].phoneType=2,A.contactInfo.phoneNumberList[e].device=1)}function F(e){try{return moment(e).startOf("day").format("YYYY-MM-DD")}catch(e){return""}}function U(e){A.contactInfo.phoneNumberList=[].concat(A.phoneList),T(),A.emailList?A.emailList.pop():A.emailList=[],A.contactInfo.emailAddressList=$.map(A.emailList,(function(e){return e.value})),t.birthdate&&(A.contactInfo.birthDate=F(t.birthdate)),t.weddingAnniversary&&(A.contactInfo.weddingAnniversary=F(t.weddingAnniversary)),e&&(A.contactInfo.image=e+"?"+(1e3*Math.random()).toFixed(0)),A.contactInfo.emailAddressList.length>0&&(A.contactInfo.email=A.contactInfo.emailAddressList[0]);if(A.contactInfo.sourceId!==t.currentSource.itemID){const e=A.contactId,n=A.contactInfo.sourceId,o=A.contactInfo.sourceOwner;A.contactInfo.id=void 0,A.contactInfo.sourceOwner=t.currentSource.ownerUsername,A.contactInfo.sourceName=t.currentSource.displayName,A.contactInfo.sourceId=t.currentSource.itemID,A.contactInfo.source=t.currentSource,A.contactInfo.oldSourceId=n,A.contactInfo.oldId=e,A.contactInfo.oldSourceOwner=o}(function(e,t){if(!A.removedAttachedFiles||0===A.removedAttachedFiles.length){var n=r.defer();return n.resolve(),n.promise}var o=A.sources.filter((t=>t.itemID===e))[0],a=JSON.stringify({folderId:o.folderId,owner:t,removeFileReferences:A.removedAttachedFiles});return i.post("~/api/v1/filestorage/remove-attached-file",a)})(A.contactInfo.sourceId,A.contactInfo.sourceOwner).then((function(){return l.editContact(A.contactInfo)}),I.showErrorMessage).then((function(){t.imageTimestamp=(new Date).getTime(),M()}),I.showErrorMessage)}function _(e,t,n,o){var a=r.defer();
41return d.getTokenWithPromise().then((function(r){var c=r,i=new FormData;i.append("file",A.toUploadBlob),e&&i.append("user",e),i.append("contactID",t),i.append("sourceId",o),i.append("domainContact",n||!1),window.stHA&&i.append("nodeId",E),$.ajax({url:s.baseUrl+"/api/v1/contacts/image",type:"POST",data:i,contentType:!1,processData:!1,beforeSend:function(e){c&&e.setRequestHeader("Authorization","Bearer "+c)}}).done((function(e){A.toUploadBlob=void 0,A.contactInfo.image=e.image,a.resolve()})).fail((function(e){a.reject(e)}))}),(function(e){a.reject(e)})),a.promise}function M(){t.skipNavigateConfirm=!0,A.askBeforeLeave=!1,window.close()}function R(){return t.currentSource&&"gal"===t.currentSource.itemID?(!A.contactInfo||!A.contactInfo.onOtherSplitNode)&&A.isDomainAdmin:!t.currentSource||t.currentSource.access>=8}function P(e,t,n){var o=n["email"+t].$viewValue;A.emailList[t]={value:o},o&&o.length>0&&e&&A.emailList.push({value:""})}function B(e){if(e.delete)G();else if(e.blob){A.toUploadBlob=e.blob;var n=new window.FileReader;n.readAsDataURL(e.blob),n.onloadend=function(){A.contactInfo.image=n.result,$(".contact-img-preview img").attr("src",n.result),A.userForm.$setDirty(),t.$applyAsync()}}}function x(e,t){return t||(t=A.contactInfo.categories),e.forEach((function(e){e.selected=!1})),t&&(e=t.reduce((function(e,t){const n=e.find((e=>e.name===t.name));return n?n.selected=t.selected:t.selected&&e.push({name:t.name,colorIndex:-1,master:!1,translatedName:a("translate")(t.name),selected:!0}),e}),e)),e}function k(){A.categories=x(m.getCategories(),A.categories)}function G(e,t){A.contactInfo.image="",$(".contact-img-preview img").attr("src",""),t.$setDirty()}u.settingsData.highAvailabilityId.then((e=>E=e)),function(){w.ensureActivated(),e.spinner.showInstant();var n=[p.getSources(),s.init()];A.isNew||n.push(l.getContact(A.sourceOwner,A.sourceId,A.contactId));r.all(n).then((function(n){A.sources=n[0];var r=$.grep(A.sources,(function(e){return e.ownerUsername===h.user.username&&e.isPrimary}));t.defaultSource=r.length>0?r[0]:A.sources[0],t.currentSource=t.defaultSource,A.isNew||function(e){A.contactInfo=e,A.isMailingList=e.isMailingList,A.contactInfo.displayAs&&(A.displayNameChanged=!0);t.birthdate=A.contactInfo.birthDate?moment(A.contactInfo.birthDate).toDate():"",t.weddingAnniversary=A.contactInfo.weddingAnniversary?moment(A.contactInfo.weddingAnniversary).toDate():"",A.phoneList=A.contactInfo.phoneNumberList||[{phoneType:0}];for(var n=0;n<A.phoneList.length;++n)2===A.phoneList[n].phoneType&&1===A.phoneList[n].device&&(A.phoneList[n].phoneType=9,A.phoneList[n].device=0);
41var o=$.grep(A.sources,(function(e){var t=!1;return(t=A.contactInfo.sourceId===e.itemID)?(t="gal"===A.contactInfo.sourceId)||(t=A.contactInfo.sourceOwner&&e.ownerUsername&&A.contactInfo.sourceOwner.toUpperCase()===e.ownerUsername.toUpperCase())?t:t="gal"!==A.contactInfo.sourceId&&(null===A.contactInfo.sourceOwner&&null===e.ownerUsername||""===A.contactInfo.sourceOwner&&""===e.ownerUsername||null===A.contactInfo.sourceOwner&&""===e.ownerUsername||""===A.contactInfo.sourceOwner&&null===e.ownerUsername):t}));t.currentSource=o.length>0?o[0]:A.sources[0],o=$.grep(A.sources,(function(e){return e.access>=8||t.currentSource&&e.itemId==t.currentSource.itemId})),o.length>0&&(A.sources=o);A.phoneList&&0!==A.phoneList.length?A.phoneList=$.grep(A.phoneList,(function(e){return e.number&&e.number.length>0})):A.phoneList=[];A.phoneList.push({device:0,phoneType:0,number:""}),A.contactInfo.emailAddressList&&0!==A.contactInfo.emailAddressList||(A.contactInfo.emailAddressList=[]);A.emailList=$.map(A.contactInfo.emailAddressList,(function(e){return{value:e}})),A.emailList=$.grep(A.emailList,(function(e){return e.value.length>0})),A.emailList.push({value:""});var r="gal"===A.contactInfo.sourceId?A.contactInfo.galAddress:A.contactInfo.sourceOwner;if(t.uploaderData=JSON.stringify({email:r,id:A.contactInfo.id,isDomainContact:"gal"===A.contactInfo.sourceId}),A.flagInfoString=null,A.contactInfo.flagInfo){const e=A.contactInfo.flagInfo;A.flagInfoString=function(e,t,n,o){let r=[];t&&r.push(y.instant("START_BY_DATE",{dt:a("date")(t,"shortDate")}));n&&r.push(y.instant("DUE_BY_DATE",{dt:a("date")(n,"shortDate")}));o&&r.push(y.instant("REMINDER_ON_DATE_AT_TIME",{date:a("date")(o,"shortDate"),time:a("date")(o,"shortTime")}));return r.length?e+": "+r.join(", "):e}(e.request,e.startDate,e.dueDate,e.reminderTime)}}(n[2]),function(){var n=d.getPopoutData();n&&(A.emailList=n.primaryEmail?[{value:n.primaryEmail}]:A.emailList,A.contactInfo.displayAs=n.displayAs||A.contactInfo.displayAs);A.isNew&&(A.emailList=$.grep(A.emailList,(function(e){return e.value.length>0})),A.emailList.push({value:""}),t.uploaderData=JSON.stringify({email:void 0,id:0,isDomainContact:!1}));t.editingItem=!0,A.canSave=R(),A.isDisabled=!A.canSave,A.ready=!0,N=o(O,3e3),o((function(){A.userForm?(e.$broadcast("masonry:contentsChanged"),n&&n.activateSave?A.userForm.$setDirty():(A.userForm.$setPristine(),A.userForm.$setUntouched()),A.isLoaded=!0):O()}))}(),t.currentSource.ownerUsername&&(m.categoryOwner=t.currentSource.ownerUsername),A.attachmentGuid=s.generateGuid(),A.attachedFiles=A.contactInfo.attachedFiles?JSON.parse(JSON.stringify(A.contactInfo.attachedFiles)):[],A.categories=t.currentSource.ownerUsername?x(m.getCategories(),A.contactInfo.categories||[]):[]}),f.reportAndHideSpinner),window.onbeforeunload=function(){if(A.askBeforeLeave&&A.userForm.$dirty)return A.askBeforeLeave=!1,""},h.init(),t.$on("categoriesUpdated",k)}(),t.$on("$destroy",(function(){window.onbeforeunload=void 0})),A.fileUploadedCallback=function(){A.userForm.$setDirty()},t.$watch("currentSource",(function(e,n){e!==n&&(e.isDomainResource?(t.afContext="domainshare",A.categories=[]):(m.categoryOwner=e.ownerUsername,k(),t.afContext="user"))}))}e.$inject=["$rootScope","$scope","$mdDialog","$timeout","$filter","$q","$stateParams","$http","coreData","coreDataContacts","coreDataSettings","authStorage","errorHandling","apiCategories","apiContactSources","errorMessageService","userDataService","preferencesStorage","toaster","$translate","themesService","popupService","claimsService","emailNavigation","i18n"],angular.module("smartermail").controller("contactViewController",e)}();
42!function(){"use strict";function e(e,t,n,a,r,o,s,i,c,l,d,u,p,h,m,f,g,w,C,y,v,E,O,T,b,S,D,k,A,R,I){const x={alias:d.instant("ALIAS"),mailingList:d.instant("MAILINGLIST"),sharedResourcesGroup:d.instant("SHARED_RESOURCES_GROUP"),contact:d.instant("CONTACT")};var P=this;t.contacts=[],t.imageTimestamp=(new Date).getTime(),t.isLoaded=!1,t.searchComplete=!1,t.sourcesLoaded=!1,t.listController={},t.listDataCache=h.listDataCache,t.listDataProvider=h.listDataProvider,P.searchText=h.parameters.searchText,P.filterType=h.parameters.filterType,t.activeSearch=!1,t.selectMode=!1,t.selectedCards=[],t.sources=[],t.totalCount=0,P.selectedBranch=void 0,t.treeExpanded=T.isExpanded,t.currentView="CARD_VIEW",P.isDescending=h.parameters.isDescending,P.sortField=h.parameters.sortField,t.sourcesTreeController={},t.sourcesTree=h.getSourcesTree(),P.searchParams={skip:0,take:0,search:null,sortField:null,sortDescending:!1},P.tableParams=new b({}),P.checkboxes=S.init(),P.checkboxes.table=P.tableParams,P.checkboxes.specialKey=function(e){return e.sourceOwner?e.sourceOwner+"|"+e.id:"|"+e.id},t.hasCategoryFilter=h.parameters.hasCategoryFilter,P.anySourcesVisible=!0,P.isVisibleRenameFolder=!1,P.isVisibleDeleteFolder=!1,P.isVisibleShareFolder=!1,P.isVisibleFolderProperties=!1,P.showManageShares=v.userDomainSettings.enableSharing,t.branchMouseUp=function(e,n){if(n.stopPropagation(),n.preventDefault(),n.cancelbubble=!0,!n||3!==n.which)return;t.dropdownEvent=$.extend(!0,{},n),t.dropdownOptions=function(e,t){return[{key:"newFolder",click:ce,params:{event:t,branch:e},translateKey:"NEW_FOLDER"},{key:"renameFolder",click:le,params:{event:t,branch:e},translateKey:"EDIT_FOLDER",show:re(e)},{key:"deleteFolder",click:de,params:{branch:e,event:t},translateKey:"DELETE_FOLDER",show:oe(e)},{key:"shareFolder",click:ue,params:{branch:e,event:t},translateKey:"SHARE_FOLDER",show:se(e)},{key:"sharedFolderProperties",click:pe,params:{branch:e,event:t},translateKey:"PROPERTIES",show:ie(e)}]}(e,n);let a=!1;for(let e=0;e<t.dropdownOptions.length;e++)(t.dropdownOptions[e].show||void 0===t.dropdownOptions[e].show)&&(a=!0);if(!a)return;var r=$("#context-menu-area");if(r){var o=s('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']" menu-like="true" menu-class="\'abn-tree-row\'"></st-context-menu>')(t);r.append(o)}},t.contextMenuGridItem=function(e,n){if(!n||"touchstart"!==n.type&&"touchend"!==n.type&&3!==n.which||e.criticallyErrored)return;n.stopPropagation(),n.preventDefault();var a=P.checkboxes.getCheckedItems();(a.length>1&&!a.some((function(t){return t.split("|")[1]===e.id}))||a.length<=1)&&(P.checkboxes.reset(),P.checkboxes.checkCheckbox(n,e),a=P.checkboxes.getCheckedItems());var r=a.map((e=>t.contacts.find((t=>t.id===e.split("|")[1])))),o=r.every((e=>{if("gal"===e.sourceId)return!1;var n=t.sources.find((t=>
42t.itemID===e.sourceId));return n||n.access>=8})),i=r.some((e=>e.isAlias||e.isMailingList)),c=r.some((e=>e.emailAddressList&&e.emailAddressList.length>0));const l=r.some((e=>e.groupedContacts&&e.groupedContacts.length>0));var d=r.map((e=>e.id));t.dropdownEvent=$.extend(!0,{},n),t.dropdownOptions=[{key:"emailPopout",click:W,params:r,translateKey:"SEND_EMAIL",show:c||l},{key:"vCardPopout",click:H,params:r,translateKey:"SEND_VCARD",show:!i},{divider:!0,show:!i},{key:"exportVCard",click:j,params:{ids:d,type:"vcard"},translateKey:"EXPORT_TO_VCARD",show:!i},{key:"exportCSV",click:j,params:{ids:d,type:"csv"},translateKey:"EXPORT_TO_CSV",show:!i},{divider:!0,show:o},{key:"deleteItem",click:G,params:{card:d,event:t.dropdownEvent},translateKey:"DELETE",show:o}];var u=$("#context-menu-area");if(u){var p=s('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(t);u.append(p)}},t.delete=function(){P.deleteNoConfirmation([t.contactInfo.id])},t.deleteWithConfirmation=z,t.deleteWithConfirmationDropdown=G,t.editItem=function(e,n){if(t.selectMode){var a=t.selectedCards.indexOf(e.id);a>-1?t.selectedCards.splice(a,1):t.selectedCards.push(e.id)}else P.showEditContactDialog(e,n)},t.editItemDropdown=function(e){t.editItem(e.card,e.event)},t.emailPopout=W,t.exportContacts=J,t.exportContactsDropdown=j,t.exportViaCheckbox=function(e){var t=[];angular.forEach(P.checkboxes.getCheckedItems(),(function(e){t.push(e.split("|")[1])})),J(e,t)},t.getAvatarSource=function(e){return e&&-1===e.indexOf("api/v1/contacts/image?data=default")?e+"&v="+t.imageTimestamp:""},t.isCardSelected=function(e){return t.selectedCards.indexOf(e.id)>-1},t.isSourceSelected=M,t.newContact=function(){window.open(window.location.href.replace("/contacts","/popout/contact/new"),"","resizable=1, "+k.dimensions.contact)},t.newGroup=function(){window.open(window.location.href.replace("/contacts","/popout/contactGroup/new"),"","resizable=1, "+k.dimensions.contact)},t.onBranchSelect=async function(n,a,r){for(let e=0;e<t.sourcesTree.data.length;e++){t.sourcesTree.data[e].selected=!1}let o=n.data.isVisible;P.selectedBranch=n,n.selected=!0,n.data.isVisible=!r||!n.data.isVisible;n.data.source.enabled=n.data.isVisible,o!=n.data.isVisible&&await async function(n){try{e.spinner.show(),t.sourcesLoaded=!1,await h.updateSourceVisibility(n.data.source),t.sources=h.getSources(),P.searchUpdate(),P.anySourcesVisible=M()}catch(e){O.report(e)}finally{e.spinner.hide()}}(n);P.isVisibleRenameFolder=re(n),P.isVisibleDeleteFolder=oe(n),P.isVisibleShareFolder=se(n),P.isVisibleFolderProperties=ie(n)},t.onMouseUp=function(e,n,a){if(t.selectMode)return;
42if(3===n.which||a&&1===n.which){n.stopPropagation(),n.preventDefault(),t.dropdownEvent=$.extend(!0,{},n),t.dropdownOptions=K(e);var r=$("#context-menu-area");if(r){var o=s('<st-context-menu options="dropdownOptions" event="dropdownEvent" menu-like="::true"></st-context-menu>')(t);r.append(o)}}},t.sendEmailFromCheckbox=function(){var e=[];angular.forEach(P.checkboxes.getCheckedItems(),(function(t){e.push(t.split("|")[1])})),W(e)},t.sendVCardFromCheckbox=function(){var e=[];angular.forEach(P.checkboxes.getCheckedItems(),(function(t){e.push(t.split("|")[1])})),H(e)},t.shouldShowExport=function(){return P.checkboxes.getCheckedItems().length>0},t.showActionsMenu=function(e,n,a){n.stopPropagation(),n.preventDefault(),t.dropdownEvent=$.extend(!0,{},n);var o=K(e);t.$applyAsync((function(){t.dropdownOptions=o,r((function(){a(n)}),0)}))},t.showDelete=B,t.translateCategory=function(e){var t=d.instant(e);return $("<div>").html(t).text()},t.vcardPopout=H,P.addToOutlook=function(){a.show({controller:"contactsOutlookDialogController",controllerAs:"ctrl",templateUrl:"app/contacts/modals/contacts-outlook.dlg.html",clickOutsideToClose:!1}).then((function(t){e.spinner.show();var a={outlookVersion:t.outlookVersion,addType:"gal"===t.contacts.itemID?"domaincontacts":"contacts",contactsName:t.contacts.displayName,addId:t.contacts.itemID,owner:t.contacts.ownerUsername,displayName:t.displayName};n.post("~/api/v1/outlook/add-to-url",a).then((function(t){e.spinner.hide(),window.open(t.data,"_self")}),(function(t){e.spinner.hide(),O.report(t)}))}),(function(){}))},P.deleteContactsInGrid=function(e,n){for(var a=[],r=0;r<e.length;++r){var o=e[r].split("|")[0];o=""==o?null:o.split("@")[0];var s=e[r].split("|")[1],i=$.grep(t.contacts,(function(e){if(e.id===s){if(!e.sourceOwner&&!o)return!0;if(!e.sourceOwner&&o)return!1;if(e.sourceOwner&&!o)return!1;if(e.sourceOwner.toUpperCase()===o.toUpperCase())return!0}return!1}))[0];i&&a.push(i.id)}z(a,n)},P.deleteNoConfirmation=function(t){try{P.deletePromise(t)}catch(t){O.report(t.message),e.spinner.hide()}},P.deletePromise=function(n){t.editingItem=!1,e.spinner.show(100),r((function(){var r=h.getContacts().length;h.removeContacts(n).then((function(){if(r-n.length<h.getContacts().length){var s=a.confirmDeletion().title().textContent(o("translate")("CONFIRMATIONS_UNABLE_TO_DELETE")).ok(o("translate")("OK")).noWarn(!0).hideCancel(!0);a.show(s)}t.contacts=h.getFilteredContacts(),t.selectedCards.length=0,0===t.contacts.length&&(t.selectMode=!1),e.spinner.hide()}),(function(t){O.report(t),e.spinner.hide()}))}),250)},P.deselectAll=U,P.importContacts=async function(){document.activeElement&&document.activeElement.blur&&document.activeElement.blur();try{await a.show({locals:{},controller:"contactImportDialogController",controllerAs:"importCtrl",templateUrl:"app/contacts/modals/contacts-import.dlg.html",clickOutsideToClose:!1}),P.searchUpdate()}catch(e){}},P.loadTree=ee,P.onCategoryFilterChanged=function(e){P.searchUpdate()},P.onContextDeleteFolder=de,P.onContextNewFolder=ce,P.onContextRenameFolder=le,P.onContextSharedFolderProperties=pe,P.onContextShareFolder=ue,P.onSortingChanged=function(e){P.sortField=h.parameters.sortField=e,P.searchUpdate()},P.onSortOrderChanged=function(e){P.isDescending=h.parameters.isDescending=e,P.searchUpdate()},P.onViewChanged=te,P.openManageCategoriesModal=async function(e){try{await a.show({controller:"manageCategoriesDialogController",controllerAs:"manageCategoriesCtrl",templateUrl:"app/shared/modals/manage.categories.dlg.html",targetEvent:e})}catch(e){}},P.openNoteBody=function(e){a.show({locals:{name:"NOTE",text:t.contactInfo.additionalInfo},controller:"domainEditTextController",controllerAs:"ctrl",templateUrl:"app/settings/shared/domain-settings-edit-text.dlg.html",targetEvent:e,clickOutsideToClose:!1}).then((function(e){t.contactInfo.additionalInfo!==e&&(t.contactInfo.additionalInfo=e)}),(function(){}))},P.searchUpdate=function e(){if(!h.areContactsLoaded())return void r((function(){e()}));t.sourcesLoaded=!0,t.hasCategoryFilter=h.parameters.hasCategoryFilter,h.parameters.searchText=P.searchText||"",P.searchParams.search=P.searchText||"",t.activeSearch=""!==P.searchText,t.contacts=h.getFilteredContacts(),t.totalCount=t.contacts.length,t.listController.reset(),t.listController.updateDisplayList().then((function(){t.isLoaded=!0,ne()}))},P.selectAll=function(){t.selectedCards.length=0,$.each(t.contacts,(function(e,n){t.selectedCards.push(n.id)}))},P.selectBtnPressed=function(){t.selectedCards.length=0,t.selectMode=!t.selectMode},P.showEditContactDialog=function(e,n){if(e.isAlias)E.settingsData.aliases.then((function(r){for(var o={name:"",targets:[]},s=0;s<r.length;s++)if(e.username.toLowerCase()===r[s].name.toLowerCase()){o=r[s];break}if(null!=o.targets)var i=o.targets.map((function(e){var n=t.contacts.find((function(t){return t.galAddress===e}));return n?{target:n.galAddress,username:n.displayAs}:null}
42)).filter(Boolean);a.show({locals:{name:o.name,targets:o.targets,includeAllDomainUsers:o.includeAllDomainUsers,userNames:i,isChatAliasList:!1},controller:"aliasSummaryController",controllerAs:"ctrl",templateUrl:"app/contacts/modals/alias-summary.dlg.html",targetEvent:n,clickOutsideToClose:!0})}),O.report);else if("gal"===e.sourceId){var r=e.galAddress.split("@")[1];window.open(window.location.href.replace("/contacts","/popout/contact/"+e.id+"/"+r+"/gal"),e.id,"resizable=1, "+k.dimensions.contact)}else if(1==e.contactType||2==e.contactType&&void 0!==e.sourceOwner&&null!==e.sourceOwner&&e.sourceOwner.length>0){var o=e.sourceOwner.split("@")[0];window.open(window.location.href.replace("/contacts","/popout/contactGroup/"+e.id+"/"+o+"/"+e.sourceId),e.id,"resizable=1, "+k.dimensions.contact)}else if(void 0!==e.sourceOwner&&null!==e.sourceOwner&&e.sourceOwner.length>0){o=e.sourceOwner.split("@")[0];window.open(window.location.href.replace("/contacts","/popout/contact/"+e.id+"/"+o+"/"+e.sourceId),e.id,"resizable=1, "+k.dimensions.contact)}else 1==e.contactType||2==e.contactType?window.open(window.location.href.replace("/contacts","/popout/contactGroup/"+e.id+"/null/"+e.sourceId),e.id,"resizable=1, "+k.dimensions.contact):window.open(window.location.href.replace("/contacts","/popout/contact/"+e.id+"/null/"+e.sourceId),e.id,"resizable=1, "+k.dimensions.contact)},P.onFilterChanged=function(e){switch(e){case"all":P.filterType=void 0,h.parameters.filterType=void 0;break;case"attachments":P.filterType=1,h.parameters.filterType=1}P.searchUpdate()},function(){function n(){function n(){P.anySourcesVisible=M(),L()}e.spinner.show(),Y(!0),r((function(){var e;switch(P.sortField){default:case"displayAs":e="#chk0";break;case"email":e="#chk1";break;case"company":e="#chk2"}$(e).addClass("selected"),t.isDescending?$("#chkDescend").addClass("selected"):$("#chkAscend").addClass("selected"),angular.forEach(t.sources,(function(t){t.enabled&&(e="#src"+t.itemID,$(e).addClass("selected"))}))})),P.onSortOrderChanged(P.isDescending),P.tableParams=new b({sorting:{displayAs:"asc"},count:25},{getData:ae,counts:e.commonTableCounts}),P.checkboxes.table=P.tableParams,h.modifyContactCallback=q,h.reloadContacts(),Z().then((function(){h.ensureSourcesLoadedPromise().then(h.ensureContactsLoadedPromise,O.report).then((function(){return ee(h.reloadOnEnter)})).then(n,O.report)}),O.report).finally(e.spinner.hide)}V(),f.watchForChanges(t,V),e.spinner.show(),p.init().then((function(){e.spinner.show(),h.init().then(n,O.report).finally(e.spinner.hide)}),O.report).finally(e.spinner.hide),t.$on("newContact",(function(){P.searchUpdate()})),t.$on("contactsRefresh",(function(){r((function(){P.searchUpdate(),t.selectedCards.length=0}))})),t.$on("signalR.mailHub.client.contactsModified",F),t.$on("signalR.mailHub.client.galUpdate",F),t.$on("signalR.mailHub.client.contactsDeleted",F),t.$on("treeState:stateChange",(function(e,n){t.treeExpanded=n.expanded,r((function(){$(window).trigger("resize")}),250)})),$(window).on("resize.doResize",L)}(),t.$on("$destroy",(function(){$(window).off("resize.doResize",L)})),t.$on("signalR.mailHub.client.sharesChanged",N),t.$on("signalR.mailHub.client.folderChange",N);var _=null;function F(){_&&r.cancel(_),_=r((function(){_=null,Y(!0),Z()}),600)}function N(e,t){t&&t.shareType&&"contacts"!==t.shareType||r(F,50)}function V(){t.edition=f.edition}function L(){window.innerWidth<=736&&"CARD_VIEW"!==t.currentView&&te("CARD_VIEW")}function M(){if(!t.sources||0===t.sources.length)return!1;var e=$.grep(t.sources,(function(e){return e.enabled&&e.ownerUsername===p.user.username}));t.showCategoriesTree=e.length>0;for(var n=0;n<t.sources.length;n++)if(t.sources[n].enabled)return!0;return!1}function U(){t.selectedCards.length=0}function K(e){var n=[];if(e.owner===e.currentUser&&n.push({key:"emailPopout",translateKey:"SEND_EMAIL",click:W,params:[e]}),!e.isAlias&&!e.isMailingList){if(n.push({key:"vCardPopout",translateKey:"SEND_VCARD",click:H,params:[e]}),R.enabled&&e.emailAddressList&&e.emailAddressList.length>0){const t=e.emailAddressList.find((e=>R.getUserStatus(e)));t&&n.push({key:"exportVCard",translateKey:"START_CHAT",click:e=>{R.openLink(e,t)}})}n.push({divider:!0})}return e.owner!==e.currentUser||e.isAlias||e.isMailingList||n.push({key:"exportVCard",translateKey:"EXPORT_TO_VCARD",click:j,params:{ids:[e.
42id],type:"vcard"}}),e.isAlias||e.isMailingList||n.push({key:"exportCSV",translateKey:"EXPORT_TO_CSV",click:j,params:{ids:[e.id],type:"csv"}}),B(e)&&(n.push({divider:!0}),n.push({key:"deleteItem",translateKey:"DELETE",click:G,params:{card:[e.id],event:t.dropdownEvent}})),n}function G(e){t.deleteWithConfirmation(e.card,e.event)}function z(t,n){if(t.length>0)try{var r=1===t.length?h.getContactById(t[0]):null,s=a.confirmDeletion().textContent(r?o("translate")("CONFIRMATIONS_DELETE_ITEM_NAMED",{name:r.displayAs}):I.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:t.length})).targetEvent(n);a.show(s).then((function(){P.deletePromise(t)}),null)}catch(t){O.report(t.message),e.spinner.hide()}else O.report("ERROR_NO_CARDS"),e.spinner.hide()}function B(e){return"Global Address List"!==e.sourceName&&e.sourcePermission>4}function W(e){if(e&&0!==e.length){var t=[];angular.forEach(e,(function(e){var n;if(n=angular.isObject(e)?e:h.getContactById(e))if(n.emailAddressList&&n.emailAddressList.length>0)n.displayAs?t.push(`"${n.displayAs}" <${n.emailAddressList[0]}>`):t.push(n.emailAddressList[0]);else if(n.groupedContacts&&n.groupedContacts.length>0){const e=n.sourceOwner.split("@")[0];t.push(`${n.displayAs}|${n.id}|${e}`)}})),X(t,[])}else O.report("ERROR_NO_CARDS")}function H(e){var t=[],n=0;angular.forEach(e,(function(e){var a=h.getContactById(e.id||e);a&&(a.isAlias||a.isMailingList?n++:t.push({sourceFolder:a.sourceOwner,id:a.id,sourceId:a.sourceId}))})),n>0&&O.warn("ERROR_VCARDS_CANNOT_SEND_SOME_ITEMS"),0!==t.length?X([],t):0===n&&O.report("ERROR_NO_CARDS")}function X(e,t){var n=(new Date).getTime().toString();sessionStorage.setItem(n,JSON.stringify({emails:e||[],vcards:t||[]}));const a=A.makeComposePacket({sid:n}),r=A.getPopoutComposeUrl(a);window.open(r,n,"resizable=1, "+k.dimensions.email)}function j(e){t.exportContacts(e.type,e.ids)}function J(n,a){if("vcard"===(n=n||"vcard").toLowerCase()||"csv"===n.toLowerCase()){if(null===a){var r=$.grep(t.contacts,(function(e){return!e.isAlias}));a=$.map(r,(function(e){return e.id}))}if(null!=a&&0!==a.length){var s=[],i=0;if(angular.forEach(a,(function(e){var t=h.getContactById(e);t&&(t.isAlias||t.isMailingList||t.groupedContacts&&t.groupedContacts.length>0?i++:s.push({id:t.id,hasAttachments:t.hasAttachments,sourceOwner:t.sourceOwner,sourceId:t.sourceId||"gal"}))})),i>0&&O.warn("CANNOT_EXPORT_SOME_ITEMS"),0!==s.length){var c,l=JSON.stringify({contacts:s}),u="~/api/v1/contacts/export/"+n+"/download";switch(n.toLowerCase()){default:case"vcard":if(1===s.length)c=h.getContactById(s[0].id).displayAs+".vcf";else c=o("translate")("VCARDS")+".zip";break;case"csv":c=o("translate")("CONTACTS")+".csv"}e.spinner.show();for(var p=!1,f=0;f<s.length;f++)if(s[f].hasAttachments){p=!0;break}p&&y.pop("warning",d.instant("WARN_ATTACH_NOT_EXPORTED")),m.downloadFile(u,c,l).then((function(){e.spinner.hide()}),(function(t){e.spinner.hide(),O.report(t)}))}else 0===i&&O.report("NO_CONTACTS_TO_EXPORT")}else O.report("NO_CONTACTS_TO_EXPORT")}else O.report("UNKNOWN_EXPORT_TYPE")}function q(){t.imageTimestamp=(new Date).getTime()}function Y(e){e&&v.resetResources(),v.settingsData.mappedResources.then((function(e){$.grep(e||[],(function(e){return 2===e.shareType&&!e.mapped}))}))}var Q=null;function Z(){return Q||(Q=i.defer(),h.resetSources(),h.loadSourcesTree(t.sourcesTreeController,!0).then((function(){h.onlyReloadContacts().then((function(){t.sources=h.getSources(),P.anySourcesVisible=M(),P.searchUpdate(),Q.resolve(),Q=null}),(function(){Q.reject(),Q=null}))}),(function(e){O.report(e),Q=null}))),Q.promise}function ee(n){var a=[h.loadSourcesTree(t.sourcesTreeController,n)];return h.reloadOnEnter=!1,e.spinner.show(),i.all(a).then((function(e){t.currentView=h.parameters.currentView,t.sources=h.getSources(),P.anySourcesVisible=M(),r((function(){t.listController.refresh()}),250)})).finally(e.spinner.hide)}function te(e){P.tableParams.settings({dataset:[]}),t.currentView=h.parameters.currentView=e||"CARD_VIEW",t.selectMode=!1,U(),ne(!0),P.searchUpdate()}function ne(e){P.checkboxes.reset(),e||P.tableParams.reload()}function ae(a){if(D.getFirstSwitcher()&&(D.getFirstSwitcher().allowCheckHide="GRID_VIEW"===t.currentView),"GRID_VIEW"!==t.currentView)return i.when();for(var r in P.searchParams.skip=(a.page()-1)*a.count(),P.searchParams.take=a.count(),P.searchParams.getImages="GRID_VIEW"!==t.currentView,P.searchParams.sortField=null,a.sorting())if(a.sorting().hasOwnProperty(r)&&a.sorting()[r]){P.searchParams.sortField=r,P.searchParams.sortDescending="desc"===a.sorting()[r];break}var o=$.grep(h.getSources(),(function(e){return!0===e.enabled&&e.access>2}));if(0===o.length)return P.searchResults=[],P.searchResultCount=0,a.total(P.searchResultCount),t.searchComplete=!1,i.when(P.searchResults);var s=$.map(o,(function(e){return{owner:e.ownerUsername,id:e.itemID,sourceName:e.displayName}})),c=h.parameters.hasCategoryFilter,l=h.parameters.categoryFilters,d={};return void 0!==P.filterType&&(d[P.filterType]=!0),P.searchParams.categories=c?$.map($.grep(l,(function(e){return e.selected&&!e.noCategory})),(function(e){return e.name})):void 0,P.searchParams.showNonCategorized=!c||l.some((e=>e.noCategory&&e.selected)),P.searchParams.filterFlags=d,e.spinner.show(),n.post("~/api/v1/contacts/contacts-all",JSON.stringify({sources:s,searchParams:P.searchParams})).then((function(e){for(var n=0;n<e.data.results.length;n++){var r=e.data.results[n];
42r.isAlias?r.type=x.alias:r.isMailingList?r.type=x.mailingList:1===r.contactType||2===r.contactType?r.type=x.sharedResourcesGroup:r.type=x.contact,r.sourceOwner?w.addRgbColorsToCategories(r.sourceOwner,r.categories):r.categories=[],r.categoriesString=w.generateNameString(r.categories)}return P.searchResults=e.data.results,P.searchResultCount=e.data.totalCount,a.total(P.searchResultCount),t.searchComplete=!0,P.searchResults}),O.report).finally(e.spinner.hide)}function re(e){return e&&e.data.source.access>=2&&!e.data.isSharedByOther&&!e.data.isGal&&!e.data.isDomainResource}function oe(e){return e&&e.data.source.access>=4&&!e.data.isSharedByOther&&!e.data.isGal&&!e.data.isDomainResource&&!e.data.isPrimary}function se(e){return e&&e.data.source.access>=4&&!e.data.isSharedByOther&&!e.data.isGal&&!e.data.isDomainResource&&v.userDomainSettings.enableSharing}function ie(e){return e&&e.data.isSharedByOther&&!e.data.isGal}async function ce(e){l.showCreateFolderModal(e.event)&&Z()}async function le(e){await l.showRenameFolderModal(e.event,e.branch.data.source)&&Z()}async function de(e){await l.showDeleteFolderModal(e.event,e.branch.data.source)&&Z()}async function ue(e){await l.showShareFolderModal(e.event,e.branch.data.source)&&Z()}async function pe(e){await l.showSharedFolderPropertiesModal(e.event,e.branch.data.source)&&Z()}}e.$inject=["$rootScope","$scope","$http","$mdDialog","$timeout","$filter","$compile","$q","$state","contactActions","$translate","preferencesStorage","coreData","coreDataContacts","coreDataFileStorage","coreLicensing","claimsService","apiCategories","userDataService","toaster","coreDataSettings","coreDataDomainSettings","errorHandling","treeState","NgTableParams","gridCheckboxes","tableColumnSwitching","popupService","emailNavigation","chatProviderFactory","i18n"],angular.module("smartermail").controller("contactsController",e)}();
43angular.module("digestHud",[]).provider("digestHud",["$provide",function(t){"use strict";function e(t){this.key=t,this.reset()}function n(){a.length&&a[a.length-1].endCycle()}e.prototype.reset=function(){this.watch=0,this.handle=0,this.overhead=0,this.total=0,this.cycleTotal=0,this.cycleStart=null,this.subTotal=0},e.prototype.startCycle=function(t){a.push(this),this.cycleStart=t,this.cycleTotal=0,this.subTotal=0},e.prototype.countTime=function(t,e){this[t]+=e-this.subTotal,this.cycleTotal+=e,this.subTotal=0},e.prototype.endCycle=function(){if(this.cycleStart){var t=Date.now()-this.cycleStart;this.overhead+=t-this.cycleTotal,this.cycleStart=null,a.pop(),a.length?a[a.length-1].subTotal+=t:c.overhead-=t}},e.prototype.sum=function(){this.total=this.watch+this.handle+this.overhead},e.prototype.format=function(t){return p(this.total/t)+" ("+p(this.watch/t)+" + "+p(this.handle/t)+" + "+p(this.overhead/t)+") "+this.key};var a,i,o,r,s=[],l={},c=v("$$ng-overhead"),u=this,d=!1,h="bottom right";function p(t){return t>=1?(100*t).toFixed(1)+"%":("  "+(100*t).toFixed(1)+"%").slice(-5)}function f(t){return t?angular.isString(t)?t:angular.isString(t.exp)?t.exp:t.name?"function "+t.name+"() {…}":t.toString():""}function g(t,e,a,i,o){if(!t&&!i)return t;var s=angular.isString(t)?r(t):t;return function(){if(i&&n(),s){if(!d)return s.apply(this,arguments);var t=Date.now();e.startCycle(t);try{return s.apply(this,arguments)}finally{e.countTime(a,Date.now()-t),o&&e.endCycle()}}}}function v(t){var n=l[t];return n||(n=l[t]=new e(t)),n}this.numTopWatches=20,this.numDigestStats=25,this.enable=function(){var e=!1,y="";i=angular.element('<div class="digestHud"></div>');var m=angular.element('<div class="digestHud-buttons"></div>'),$=angular.element('<span class="digestHud-refresh">refresh</span>'),w=angular.element('<span class="digestHud-reset">reset</span>');m.append($),m.append(angular.element('<span class="digestHud-button-separator"> &bull; </span>')),m.append(w),i.append(m);var b=angular.element('<div class="digestHud-summary"></div>');i.append(b);var x=angular.element('<div class="digestHud-details"></div>');i.append(x);var T=!1;function D(){var t=0,e=0,n=Object.keys(l).map((function(t){return l[t]})).map((function(e){return e.sum(),t+=e.total,e})).sort((function(t,e){var n=t.total,a=e.total;return n<a?1:n>a?-1:0})).slice(0,u.numTopWatches),a=n.map((function(n){return e+=n.total,n.format(t)})),i=a.map((function(t){var e=angular.element('<div class="digestHud-row"></div>');return e.css({overflow:"hidden",textOverflow:"ellipsis"}
43),e.text(t.replace(/[ \n]+/g," ")),e.attr("title",t.slice(29)),e}));x.empty();var o=angular.element('<div class="digestHud-header"> Total   Watch Work Overhead  Function</div>').css({borderBottom:"1px solid"});x.append(o),i.forEach((function(t){x.append(t)}));var r="Top "+n.length+" items account for "+p(e/t)+" of "+t+"ms of digest processing time.",s=angular.element('<div class="digestHud-footer"></div>').text(r);x.append(s),y="Total  Watch   Work Overhead  Function\n"+a.map((function(t){return t.replace(/[ \n]+/g," ")})).join("\n")+"\n"+r+"\n"}i.on("click",(function(){T=!T,m[0].style.display=T?"":"none",x[0].style.display=T?"":"none",T&&D()})),i.on("copy",(function(t){t.originalEvent.clipboardData.setData("text/plain",y),t.preventDefault()})),$.on("click",D),w.on("click",(function(){s=[],Object.keys(l).map((function(t){return l[t]})).forEach((function(t){t.reset()}))})),m.on("click",(function(t){t.stopPropagation()})),i.on("mousedown mouseup click",(function(t){t.stopPropagation()})),i.css({position:"fixed",backgroundColor:"rgba(0, 0, 0, 0.65)",color:"white",padding:"2px 5px",fontSize:"small",cursor:"default",zIndex:"1000000"}),this.setHudPosition(o||h),m.css({float:"right",display:"none"}),m.children().css({cursor:"pointer"}),x.css({whiteSpace:"pre",minWidth:"30em",maxWidth:"50em",display:"none"}),angular.element(document.body).append(i),t.decorator("$rootScope",["$delegate",function(t){var i,o=Object.getPrototypeOf(t),l=o.$digest.original||o.$digest,h=o.$evalAsync,p=o.$applyAsync,y=o.$$postDigest,m=o.$watch,$=o.$watchGroup;function w(){a=[],this.$$postDigest(n);var t=Date.now();d=!0;try{l.call(this)}finally{d=!1}var i=Date.now()-t;c.overhead+=i,e=!e,s.push(i),s.length>u.numDigestStats&&s.shift();var o=s.length,r=s.slice().sort((function(t,e){return t-e})),h=o%2?r[(o-1)/2]:Math.round((r[o/2]+r[o/2-1])/2),p="digest "+r[0]+"ms "+h+"ms "+r[o-1]+"ms "+(e?"●":"○");b.text(p)}return o.$digest.original?o.$digest.original=w:o.$digest=w,o.$evalAsync=function(t,e){var n=v("$evalAsync("+f(t)+")");h.call(this,g(t,n,"handle",!0,!0),e)},o.$applyAsync=function(t){var e=v("$applyAsync("+f(t)+")");p.call(this,g(t,e,"handle",!1,!0))},o.$$postDigest=function(t){a.length&&(t=g(t,a[a.length-1],"overhead",!0,!0));y.call(this,t)},o.$watch=function(t,e,n){var a=!1;i||(i=v(f(t)),a=!0);try{return angular.isString(t)&&(t=r(t)),t&&t.$$watchDelegate?m.call(this,t,e,n):m.call(this,g(t,i,"watch",!0,!1),function(t,e){return t?function(){var n=Date.now();try{return t.apply(this,arguments)}finally{e.countTime("handle",Date.now()-n)}}:t}(e,i),n)}finally{a&&(i=null)}},o.$watchGroup=function(t,e){var n=!1;i||(i=v("["+t.map(f).join(", ")+"]"),n=!0);try{return $.call(this,t,e)}finally{n&&(i=null)}},t}]),t.decorator("$parse",["$delegate",function(t){return r=t,function(e){var n=t.apply(this,arguments);return angular.isString(e)&&(n.exp=e),n}}]),t.decorator("$q",["$delegate",function(t){var e=Object.getPrototypeOf(t.defer().promise),n=e.then,a=e.finally;return e.then=function(t,e,a){return n.call(this,g(t,v("$q("+f(t)+")"),"handle",!1,!0),g(e,v("$q("+f(e)+")"),"handle",!1,!0),g(a,v("$q("+f(a)+")"),"handle",!1,!0))},e.finally=function(t,e){return a.call(this,g(t,v("$q("+f(t)+")"),"handle",!1,!0),g(e,v("$q("+f(t)+")"),"handle",!1,!0))},t}]);var S=angular.bind;angular.bind=function(t,e,n){var a=S.apply(this,arguments);return a.exp=f(e),a}},this.setHudPosition=function(t){if(i){var e={top:"auto",right:"auto",bottom:"auto",left:"auto"};(t=t?""+t:h).split(" ").map((function(t){e[t]=0})),i.css(e)}else o=t},this.$get=function(){}}]);
44!function(){"use strict";function e(e,t,a,r,i,n,o,s,l,d,c,g,u,m,f,S,p,A,h,E,v,w,C,I,M,y,D,F,T){var O,L=this,P=0;function k(){S.reloadCategories(),t.mailPanelGrid&&t.mailPanelGrid.repaint(!0)}function N(a,n){var l,d,c=0;if(-1==n.totalCount)n.current!==n.total&&-1!==n.current?c=Math.floor(n.current/n.total*100):n.current!==n.total&&-1!==n.current||(c=100);else{var g=n.current+n.processed;g!==n.totalCount&&-1!==n.current?c=Math.floor(g/n.totalCount*100):-1===n.current&&n.asyncFolderCurrent==n.asyncFolderTotal&&(c=100)}if(console.debug("SignalrMailAction PROGRESS: "+c),t.inActionProgess&&O&&c>=100)i.hide();else if(!t.inActionProgess){e.spinner.isShown&&(e.spinner.hide(),r(e.spinner.hide)),t.inActionProgess=!0,s.ignoreMailSignal=!0;var u="";switch(n.action){case"MOVING":case"move":u=o.instant("MOVING");break;case"DELETING":case"delete":u=o.instant("DELETING");break;case"MARKING":case"mark":u=o.instant("MARKING");break;default:u=o.instant("ACTION")}n.error&&n.error.length>0&&M.pop("error",(l=o.instant(n.error),(d=document.createElement("textarea")).innerHTML=l,d.value)),O=i.stProgressBar().title(o.instant("PROGRESS")).barText(u).showCancel(!1).enableButtons(!1).percentProgress(c).autoClose(!0).guid(n.guid).progressListener("signalR.mailHub.client.mailAction"),i.show(O).then((function(){U()}),(function(){U()}))}}function U(){s.ignoreMailSignal=void 0,t.inActionProgess=!1,e.spinner.show(),r((function(){t.mailPanelGrid.reset({keepSelection:!1}),e.spinner.hide()}),1e3)}async function G(e,a){e?await D.markSpam(t.getActiveFolderOwner(),t.getActiveFolder(),a):await D.markNotSpam(t.getActiveFolderOwner(),t.getActiveFolder(),a),t.isPopout&&window.close(),b(!1,a),E.report(F.reactPluralize("MAIL_MESSAGES_MOVED",{count:a.length,folder:e?o.instant("JUNK_EMAIL"):o.instant("INBOX")}))}function R(e,a,r){t.isPopout||(0===t.mailList.filterType&&t.mailList.filterValue&&"unread"===r||4===t.mailList.filterType&&"unflagged"===r||a?t.mailPanelGrid.reset({keepSelection:!0}
44):e&&t.mailPanelGrid.repaint(!0),m.resyncFolderUnreadCount(t.getActiveFolder(),t.getActiveFolderOwner()),S.refreshSelection(t.getSelectedItems())),t.inActionProgess=!1}function b(e,a){m.resyncFolderUnreadCount(t.getActiveFolder(),t.getActiveFolderOwner()),e?t.mailPanelGrid.reset({keepSelection:!1}):t.mailPanelGrid.reset({},(function(e,t){setTimeout((function(){e.focusedIndex=t,e.focusItem(),e.selectItemByIndex(t,{})}),1)})),t.ignoreSignalUids=_.union(t.ignoreSignalUids.concat,a),t.selectMode=!1,t.mailPanelGrid.setSelectMode(t.selectMode),s.ignoreMailSignal=void 0,L.stopIgnoreMoveSignal&&r.cancel(L.stopIgnoreMoveSignal),t.inActionProgess=!1}function B(e,a){for(var r={addresses:{},fromAddressCount:0,disallowedSelf:!1},i=0,n={},o={},s=0;s<e.length;++s){var l=void 0;if(t.mailPanelGrid&&(l=t.mailPanelGrid.getItemById(e[s])),null!=l&&l.fromAddress||(l=S.message),!l.isDraft){var d=l.fromAddress.email?l.fromAddress.email.toLowerCase():l.fromAddress.toLowerCase();d.indexOf(g.user.username)>-1&&(d=I.convertEmailFromDomainAlias(d).email);var c=h.isValidEmail(d);if(d!==g.user.emailAddress.toLowerCase()?c&&!n[d]?(n[d]=[e[s]],i++):n[d]&&!n[d].includes(e[s])&&n[d].push(e[s]):r.disallowedSelf=!0,a&&l.returnPath){let t=l.returnPath.toLowerCase();t!==g.user.emailAddress.toLowerCase()&&h.isValidEmail(t)&&(o[t]?o[t].includes(e[s])||o[t].push(e[s]):o[t]=[e[s]])}}}r.addresses=n,r.fromAddressCount=i;for(let e in o)if(o.hasOwnProperty(e))if(r.addresses[e])for(let t=0;t<o[e].length;t++){let a=o[e][t];r.addresses[e].includes(a)||r.addresses[e].push(a)}else r.addresses[e]=o[e];return r}async function x(e,a){try{await D.blockSender(t.getActiveFolderOwner(),t.getActiveFolder(),e,a,!0,!0)&&t.isPopout&&window.close()}catch(e){}finally{"function"==typeof t.setSelectMode&&t.setSelectMode(!1,!0)}}async function K(e){try{await D.unblockSender(t.getActiveFolderOwner(),t.getActiveFolder(),e,!0)}catch(e){}finally{"function"==typeof t.setSelectMode&&t.setSelectMode(!1,!0)}}async function H(a){try{await D.untrustSender(t.getActiveFolderOwner(),t.getActiveFolder(),a,!1)}catch(e){}finally{e.$broadcast("loadMessage"),"function"==typeof t.setSelectMode&&t.setSelectMode(!1,!0)}}async function z(a){try{await D.trustSender(t.getActiveFolderOwner(),t.getActiveFolder(),a,!1)}catch(e){}finally{e.$broadcast("loadMessage"),"function"==typeof t.setSelectMode&&t.setSelectMode(!1,!0)}}async function V(t,a){try{e.spinner.show(),p.getPopoutData();var r=window.location.href.indexOf("/popout/email")>-1?window.location.href.indexOf("/popout/email"):window.location.href.indexOf("/email");const t=`${window.location.href.slice(0,r)}/popout/task/${a.id}/${a.sourceId}/${a.sourceOwner}`;window.open(t,a.id,"resizable=1, "+C.dimensions.task)}catch(e){A.report(e)}finally{e.spinner.hide()}}function j(){t.$broadcast("unloadMessage",{}),S.messageLoaded=!1;var e=t.tree&&t.tree.selectedBranchData||{path:t.folderPath,owner:t.owner};t.$broadcast("loadMessage",{uid:S.navigationPacket.uid,folder:e.path,owner:e.owner})}t.messageData=S,t.getSelectedUids=function(){for(var e=t.mailPanelGrid&&t.mailPanelGrid.getSelectedIds()||[S.navigationPacket.uid],a=0;a<e.length;++a)e[a]=Number(e[a]);return e},t.getSelectedItems=function(){return t.mailPanelGrid.getSelectedItems()},t.moveEmails=async function(i,n,l,d,c){if(n==d&&l==c)return;e.spinner.show();try{var g={UID:i,folder:n,ownerEmailAddress:l,destinationFolder:d,destinationOwnerEmailAddress:c};const u=await a.post("~/api/v1/mail/move-messages",g);"scheduled8c61c74014d4e679d52c0a6aca4342b"===n&&(t.movedUIDs=u.data.newUIDs),t.isPopout?(t.folderPath=g.destinationFolder,t.owner=g.destinationOwnerEmailAddress):u.data.actionGuid||function(a,i,n){m.resyncFolderUnreadCount(n.folder,n.ownerEmailAddress),m.resyncFolderUnreadCount(n.destinationFolder,n.destinationOwnerEmailAddress),("inbox"===n.folder.toLowerCase()||"inbox"===n.destinationFolder.toLowerCase())&&m.resyncClassificationCounts();t.selectMode=!1,t.mailPanelGrid.setSelectMode(t.selectMode),r((function(){a?(e.spinner.show(),r((function(){t.mailPanelGrid.reset({keepSelection:!1}),s.ignoreMailSignal=void 0,e.spinner.hide()}),1e3)):(s.ignoreMailSignal=void 0,t.mailPanelGrid.reset({},(function(e,t){setTimeout((function(){e.focusedIndex=t,e.focusItem(),e.selectItemByIndex(t,{})}),1)})))})),t.inActionProgess=!1;var l,d=n.destinationOwnerEmailAddress+"|"+n.destinationFolder,c=t.tree.map[d];(c||(c=t.shortTree.map[d]))&&(l=o.instant(c.label));if(!l){var g=n.destinationFolder.split("/");l=(l=g[g.length-1]).charAt(0).toUpperCase()+l.slice(1)}E.report(F.reactPluralize("MAIL_MESSAGES_MOVED",{count:i.length,folder:l}))}(!1,i,g)}catch(e){A.report(e)}
44finally{e.spinner.hide(),t.isPopout&&window.close()}},t.onDownloadRaw=async function(e){try{await D.downloadEmlFile(t.getActiveFolderOwner(),t.getActiveFolder(),e||t.getSelectedUids())}catch(e){A.report(e)}},t.moveClicked=async function(e){null==e?e=t.getSelectedUids():Array.isArray(e)||(e=[e]);if(0===e.length)return void A.report(o.instant("MUST_SELECT"));if(m.isDelayActive(e)){var a=e.length>1?"CANNOT_MOVE_DELAYED_EMAIL_MULTIPLE":"CANNOT_MOVE_DELAYED_EMAIL";return void M.pop("warning","",o.instant(a))}try{const a=await m.getFolderListForDropdown();try{const r=await i.show({locals:{folders:a,folder:t.getActiveFolder(),owner:t.getActiveFolderOwner()},controller:"moveEmailController",templateUrl:"app/email/modals/move-email.dlg.html",clickOutsideToClose:!1});"scheduled8c61c74014d4e679d52c0a6aca4342b"===t.getActiveFolder().toLowerCase()?i.show({locals:{folder:r.folder.toLowerCase()},controller:"moveScheduledEmailController",controllerAs:"ctrl",templateUrl:"app/email/modals/move-scheduled-email.dlg.html",clickOutsideToClose:!1}).then((function(){t.moveEmails(e,t.getActiveFolder(),t.getActiveFolderOwner(),r.folder,r.owner)}
44),(function(){})):await t.moveEmails(e,t.getActiveFolder(),t.getActiveFolderOwner(),r.folder,r.owner)}catch(e){}}catch(e){A.report(e)}},t.toggleFlag=function(e,a){a?t.markMessagesFlag("Clear",e):t.markMessagesFlag("SetBasic",e)},t.markMessageFlagDropdown=function(e){var a,r,s=e.uid.length;switch(e.type){case"Clear":a=n("translate")("CONFIRMATIONS_UNFLAG_ITEMS",{items:s}),r=F.reactPluralize("MAIL_MESSAGES_UNFLAGGED",{count:s});break;case"SetBasic":a=n("translate")("CONFIRMATIONS_FLAG_ITEMS",{items:s}),r=F.reactPluralize("MAIL_MESSAGES_FLAGGED",{count:s});break;case"DebugReport":a="Please confirm you have verified the classification of the selected "+s+" message(s) is correct before submitting this debug report.",r="Debug report submitted for "+s+" message(s)"}if(null!=e.uid&&e.uid.length>1){var l=i.confirmDeletion({textContent:o.instant(a),ok:o.instant("CONFIRM"),noWarn:!0});i.show(l).then((function(){t.markMessagesFlag(e.type,e.uid),E.report(r)}),(function(){}))}else t.markMessagesFlag(e.type,e.uid),E.report(r)},t.markMessageDropdown=function(e){var a,r,s=e.uid.length;switch(e.type){case"read":a=n("translate")("CONFIRMATIONS_MARK_ITEMS_READ",{items:s}),r=F.reactPluralize("MAIL_MESSAGES_MARKED_READ",{count:s});break;case"unread":a=n("translate")("CONFIRMATIONS_MARK_ITEMS_UNREAD",{items:s}),r=F.reactPluralize("MAIL_MESSAGES_MARKED_UNREAD",{count:s})}if(null!=e.uid&&e.uid.length>1){var l=i.confirmDeletion({textContent:o.instant(a),ok:o.instant("CONFIRM"),noWarn:!0});i.show(l).then((function(){t.markMessage(e.type,e.uid,e.preventInvalidation),E.report(r)}),(function(){}))}else t.markMessage(e.type,e.uid,e.preventInvalidation),E.report(r)},t.markMessageCategories=function(e,r){var i=c.defer(),n=i.promise;void 0===r?r=t.getSelectedUids():Array.isArray(r)||(r=[r]);for(var s=!1,l=0;l<r.length;++l)if(r[l]==S.message.uid){s=!0;break}if(0===r.length)return A.report(o.instant("MUST_SELECT")),n;if(!S.prop.fullAccess)return A.report(o.instant("READ_ONLY_GENERIC")),n;var d=t.getActiveFolder(),g=t.getActiveFolderOwner(),u={UID:r,folder:d,OwnerEmailAddress:g};if(e.clearCategories&&(u.clearCategories=e.clearCategories,s&&(S.message.categories=[]),!t.isPopout)){for(let e=0;e<r.length;++e){let a=t.mailPanelGrid.getItemById(r[e]);a&&(a.categories=[])}const e=$(1===r.length?`.panel-item[data-id='${r[0]}'] .mailGridItem .category-stack`:".panel-item.selected .mailGridItem  .category-stack");e&&(e.innerHTML="")}e.removeCategories&&(u.removeCategories=e.removeCategories);if(e.categories)if(u.categories=e.categories,e.removeCategories){const e=function(e,t){return u.categories.includes(t)||e.push(t),e};if(s&&(S.message.categories=S.message.categories.reduce(e,[])),!t.isPopout)for(let a=0;a<r.length;++a){let i=t.mailPanelGrid.getItemById(r[a]);if(i){i.categories=i.categories.reduce(e,[]);const n=$(`.panel-item[data-id='${r[a]}'] .mailGridItem .category-stack`);n&&(n.innerHTML=t.getCategoryStackHtml(i.categories))}}}else{const e=function(e){return e||(e=[]),u.categories.forEach((t=>{e.includes(t)||e.push(t)})),e};if(s&&(S.message.categories=e(S.message.categories)),!t.isPopout&&r.length<75)for(let a=0;a<r.length;++a){let i=t.mailPanelGrid.getItemById(r[a]);if(i){i.categories=e(i.categories);const n=$(`.panel-item[data-id='${r[a]}'] .mailGridItem .category-stack`);n&&(n.innerHTML=t.getCategoryStackHtml(i.categories))}}}return a.post("~/api/v1/mail/messages-category-patch",u).then((function(){s&&S.reloadCategories(),t.ignoreSignalUids=_.union(t.ignoreSignalUids,r),t.mailPanelGrid&&"function"==typeof t.mailPanelGrid.reset&&(L.mailSearchCriteria&&L.mailSearchCriteria.categoryFilter?t.mailPanelGrid.reset({},(function(e,t){setTimeout((function(){e.focusedIndex=t,e.focusItem(),e.selectItemByIndex(t,{})}),1)})):t.mailPanelGrid.reset({keepSelection:!0})),i.resolve()}),(function(e){e&&e.data&&e.data.message&&"Invalid Access"===e.data.message?A.report(o.instant("READ_ONLY_GENERIC")):A.report(e);S.message.categories=S.message.categories.reduce((function(e,t){return u.categories.includes(t)||e.push(t),e}),[]),t.mailPanelGrid.reset(),i.reject})).finally((function(){"function"==typeof t.setSelectMode&&t.setSelectMode(!1,!1)})),n},t.markMessagesFlag=function(e,r){var i=c.defer(),n=i.promise,s=!1;null==r?r=t.getSelectedUids():Array.isArray(r)||(r=[r]);for(var l=0;l<r.length;++l)if(r[l]===S.message.uid){s=!0;break}if(0===r.length)return A.report(o.instant("MUST_SELECT")),n;let d=1===r.length?`.panel-item[data-id='${r[0]}'] .mailGridItem`:".panel-item.selected .mailGridItem";const g=t.getActiveFolder(),u=t.getActiveFolderOwner(),m={UID:r,folder:g,OwnerEmailAddress:u,flagAction:{type:e}};if("Clear"===e){if(s&&(S.message.isFlagged=!1),!t.isPopout){d+=".markedAsFlaggedBg";if($(d).each((function(){const e=$(this),t=e.parent().attr("data-id");e.removeClass("markedAsFlaggedBg"),e.find(".toolsicon-flag").each((function(){$(this).addClass("messageNotFlagged"),this.onclick=function(){window.toggleFlag(t,!1)}}))})),r.length>1){t.mailPanelGrid.getSelectedItems().filter((e=>
44e.isFlagged)).forEach((function(e){e.isFlagged=!1}))}else{const e=t.mailPanelGrid.getItemById(r[0]);e&&e.isFlagged&&(e.isFlagged=!1)}}}else if("SetBasic"===e){if(s&&(S.message.isFlagged=!0),!t.isPopout){if($(d).each((function(){const e=$(this),t=e.parent().attr("data-id");e.addClass("markedAsFlaggedBg"),e.find(".toolsicon-flag.messageNotFlagged").each((function(){$(this).removeClass("messageNotFlagged"),this.onclick=function(){window.toggleFlag(t,!0)}}))})),r.length>1){t.mailPanelGrid.getSelectedItems().filter((e=>!e.isFlagged)).forEach((function(e){e.isFlagged=!0}))}else{const e=t.mailPanelGrid.getItemById(r[0]);e&&(e.isFlagged=!0)}}}else if("DebugReport"!==e)return n;return a.post("~/api/v1/mail/messages-flag-patch",m).then((function(a){t.ignoreSignalUids=_.union(t.ignoreSignalUids,r),a.data.actionGuid||R(!1,!1,e),i.resolve()}),i.reject).finally((function(){"function"==typeof t.setSelectMode&&t.setSelectMode(!1,!1)})),n},t.markMessage=function(e,r){var i=c.defer(),n=i.promise,s=!1;null==r?r=t.getSelectedUids():Array.isArray(r)||(r=[r]);for(var l=0;l<r.length;++l)if(r[l]==S.message.uid){s=!0;break}if(0===r.length)return void A.report(o.instant("MUST_SELECT"));var d=t.getActiveFolder(),g=t.getActiveFolderOwner(),u={UID:r,folder:d,OwnerEmailAddress:g},m=!1;switch(e){case"read":if(u.markRead=!0,s&&(S.message.isSeen=!0),!t.isPopout&&r.length<75)for(let e=0;e<r.length;++e){let a=t.mailPanelGrid.getItemById(r[e]);a&&(a.isSeen=!0),$("#mailGridItem-"+r[e]).attr("read","true")}break;case"unread":if(u.markRead=!1,s&&(S.message.isSeen=!1),!t.isPopout&&r.length<75)for(let e=0;e<r.length;++e){let a=t.mailPanelGrid.getItemById(r[e]);a&&(a.isSeen=!1),$("#mailGridItem-"+r[e]).attr("read","false")}break;case"undelete":if(u.markDeleted=!1,s&&(S.message.isDeleted=!1),!t.isPopout&&r.length<75)for(let e=0;e<r.length;++e){let a=t.mailPanelGrid.getItemById(r[e]);a&&(a.isDeleted=!1),$("#mailGridItem-"+r[e]).removeClass("markedAsDeleted")}break;case"bypassRemoteContent":u.bypassRemoteContent=!0,s&&(S.message.bypassRemoteContent=!0),m=!0;break;case"removeDelay":if(u.markDelay=!1,s&&(S.message.isDelay=!1),!t.isPopout&&r.length<75)for(let e=0;e<r.length;++e){if(t.mailPanelGrid.getItemById(r[e])){let t=$("#mailGridItem-"+r[e]+"-delay-icon");t&&t.remove()}}}return a.post("~/api/v1/mail/messages-patch",u).then((function(a){t.ignoreSignalUids=_.union(t.ignoreSignalUids,r),a.data.actionGuid||R(m,!1,e),i.resolve()}),i.reject).finally((function(){"function"==typeof t.setSelectMode&&t.setSelectMode(!1,m)})),n},t.viewAsClicked=async function(e){S.markAsReadQueue.includes(S.message.uid)&&(S.markAsReadQueue.splice(S.markAsReadQueue.indexOf(S.message.uid)),S.message.isSeen||t.markMessage("read",S.message.uid));try{"raw"!==e||S.message.raw||(S.message.raw=await D.loadRawContent(S.message.ownerEmailAddress||"",S.message.folder,S.message.uid,!1)),S.mode=e,t.$broadcast("mail.refreshView")}catch(e){A.report(e)}},t.undeleteClicked=async function(e){void 0===e?e=t.getSelectedUids():Array.isArray(e)||(e=[e]);if(0===e.length)return void A.report(o.instant("MUST_SELECT"));if(e.length>1){var a=i.confirmDeletion({textContent:F.reactPluralize("CONFIRMATIONS_UNDELETE_MESSAGES",{count:e.length}),ok:o.instant("UNDELETE"),noWarn:!0});i.show(a).then(r,(function(){}))}else await r();async function r(){let a="deleted items"===t.getActiveFolder().toLowerCase();t.markMessage("undelete",e,a),a?await t.moveEmails(e,t.getActiveFolder(),t.getActiveFolderOwner(),"inbox",t.getActiveFolderOwner()):E.report(F.reactPluralize("MAIL_MESSAGES_UNDELETED",{count:e.length})),t.isDeleted&&(t.isDeleted=!1)}},t.deleteClickedDropdown=function(e){t.deleteClicked(e.uid,!1,null,null,!1)},t.deleteClicked=function(r,n,l,d,c){null==r?r=t.getSelectedUids():Array.isArray(r)||(r=[r]);if(m.isDelayActive(r)){var g=r.length>1?"CANNOT_DELETE_DELAYED_EMAIL_MULTIPLE":"CANNOT_DELETE_DELAYED_EMAIL";return void M.pop("warning","",o.instant(g))}if(!c&&r.length>1){var u=i.confirmDeletion({textContent:F.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:t.isPopout?1:r.length}),ok:o.instant("DELETE")});i.show(u).then((function(){S()}),(function(){}))}else S();function S(){if(e.spinner.isShown||e.spinner.show(),Date.now()-P<1e3)return!1;if(0!==r.length){var i={UID:r,folder:t.getActiveFolder(),ownerEmailAddress:t.getActiveFolderOwner(),moveToDeleted:!0}
44;t.isMarkedAsDeleted=!0,t.tree&&t.tree.selectedBranchData?2!==f.userSettings.deleteOption&&2!==t.tree.selectedBranchData.deleteBehavior&&(t.isMarkedAsDeleted=!1):2!==f.userSettings.deleteOption&&(t.isMarkedAsDeleted=!1),P=Date.now(),t.isPopout||(s.ignoreMailSignal=t.getActiveFolder()),a.post("~/api/v1/mail/delete-messages",i).then((function(a){e.spinner.hide(),a.data.actionGuid||(P=0,t.isPopout?window.close():(b(!1,r),E.report(F.reactPluralize("MAIL_MESSAGES_DELETED",{count:r.length}))))}),(function(a){P=0,w.isServiceDown(a)?(e.spinner.hide(),w.showErrorMessage(a),s.ignoreMailSignal=void 0,t.inActionProgess=!1):(b(!1,[]),E.report(F.reactPluralize("MAIL_MESSAGES_DELETED",{count:0})),A.reportAndHideSpinner(a.data?a.data.message:a))}))}else A.report(o.instant("MUST_SELECT"))}},t.blockSenderDropdown=function(e){t.blockSender(e.uid,e.ev)},t.blockSender=function(e,a){if(e&&0===e.length)return void A.report("MUST_SELECT");e||(e=t.getSelectedUids());Array.isArray(e)||(e=[e]);var r=B(e,!0),o=r.addresses,s=r.fromAddressCount;if(s>1){var l="CONFIRMATIONS_BLOCK_SENDERS_"+f.userSettings.blockedSenderAction;l=n("translate")("CONFIRMATIONS_BLOCK_SENDERS_0",{count:s})+("CONFIRMATIONS_BLOCK_SENDERS_0"===l?"":" "+n("translate")(l));var d=i.confirmDeletion().textContent(l).ok(n("translate")("BLOCK")).title(n("translate")("BLOCK_SENDER")).targetEvent(a);i.show(d).then((function(){x(o,r.disallowedSelf)}))}else 1===s?x(o,r.disallowedSelf):r.disallowedSelf?A.warn("MAIL_NO_BLOCK_SELF"):A.warn("MAIL_NO_BLOCK_SENDERS")},t.unblockSender=function(e){if(e&&0===e.length)return void A.report("MUST_SELECT");e||(e=t.getSelectedUids());Array.isArray(e)||(e=[e]);var a=B(e,!0),r=a.addresses,o=a.fromAddressCount;if(o>1){var s=i.confirmDeletion().textContent(n("translate")("CONFIRMATIONS_UNBLOCK_SENDERS",{count:o})).ok(n("translate")("UNBLOCK")).title(n("translate")("UNBLOCK_SENDER"));i.show(s).then((function(){K(r)}))}else 1===o?K(r):a.disallowedSelf?A.warn("MAIL_NO_BLOCK_SELF"):A.warn("MAIL_NO_UNBLOCK_SENDERS")},t.untrustSender=function(e){if(e&&0===e.length)return void A.report("MUST_SELECT");e||(e=t.getSelectedUids());Array.isArray(e)||(e=[e]);var a=B(e);if(a.fromAddressCount>1){var r=i.confirmDeletion().textContent(n("translate")("CONFIRMATIONS_UNTRUST_SENDERS",{count:a.fromAddressCount})).ok(n("translate")("UNTRUST")).title(n("translate")("UNTRUST_SENDERS"));i.show(r).then((function(){H(e)}))}else 1===a.fromAddressCount?H(e):A.warn("MAIL_NO_UNTRUST_SENDERS")},t.trustSender=function(e){if(e&&0===e.length)return void A.report("MUST_SELECT");e||(e=t.getSelectedUids());Array.isArray(e)||(e=[e]);var a=B(e);if(a.fromAddressCount>1){var r=i.confirmDeletion().textContent(n("translate")("CONFIRMATIONS_TRUST_SENDERS",{count:a.fromAddressCount})).ok(n("translate")("TRUST")).title(n("translate")("TRUST_SENDERS"));i.show(r).then((function(){z(e)}))}else 1===a.fromAddressCount?z(e):A.warn("MAIL_NO_TRUST_SENDERS")},t.createFilter=function(e){null==e?e=t.getSelectedUids():Array.isArray(e)||(e=[e]);if(0===e.length)return void A.report(o.instant("MUST_SELECT"));if(t.isPopout){let e={from:t.messageData.message.fromAddress.email||t.messageData.message.fromAddress.name,to:t.messageData.message.ownerEmailAddress,subject:t.messageData.message.subject};localStorage.setItem("newFilterData",JSON.stringify(e)),d.go("index.settings.user-content-filters.specific",{id:"new"})}else{let a=t.mailPanelGrid.getItemById(e[0]),r={from:a.from.email||a.from.name,to:a.ownerEmailAddress,subject:a.subject};localStorage.setItem("newFilterData",JSON.stringify(r)),d.go("index.settings.user-content-filters.specific",{id:"new"})}},t.addToFilter=function(e){null==e?e=t.getSelectedUids():Array.isArray(e)||(e=[e]);if(0===e.length)return void A.report(o.instant("MUST_SELECT"));for(var r=[],n=0;n<e.length;n++)r.push(t.mailPanelGrid.getItemById(e[n]));i.show({locals:{messages:r},controller:"addToFilterController",templateUrl:"app/email/modals/add-to-filter.dlg.html",clickOutsideToClose:!1}).then((function(e){for(var t=e.filter,i=0;i<r.length;i++)for(var n=0;n<t.filters.length;n++)if(1==t.filters[n].fieldType||0==t.filters[n].fieldType||6==t.filters[n].fieldType){var o=r[i].from.email||r[i].from.name;t.filters[n].searchArguments=t.filters[n].searchArguments||[],1==t.filters[n].fieldType&&(o=(o=o.split("@"))[o.length-1]),-1==t.filters[n].searchArguments.indexOf(o)&&t.filters[n].searchArguments.push(o)}var s=JSON.stringify({contentFilterGroups:[t]});a.post("~/api/v1/settings/content-filter-groups",s).then((function(){E.report("ADD_SENDER_TO_FILTER_TOAST",{filter:t.title})}),A.report)}),(function(){}))},t.addTask=async function(e){null==e&&(e=t.activeEmailID);try{await D.popupAddTaskModal(S.message)}catch(e){A.report(e)}},t.inviteToMeeting=async function(){if(S.message.isCalendarMessage)return;try{await D.popupInviteToMeetingPopup(S.message)}catch(e){A.report(e)}},t.openManageCategoriesModal=function(e){i.show({controller:"manageCategoriesDialogController",controllerAs:"manageCategoriesCtrl",templateUrl:"app/shared/modals/manage.categories.dlg.html",targetEvent:e}).then((function(){k(),t.isPopout&&t.$broadcast("loadMessage")})).finally((function(){"function"==typeof t.setSelectMode&&t.setSelectMode(!1,!1)}))},t.getCategoryStackHtml=function(e){var t="";if(e&&e.length>0){var a=0;e.forEach(((e,r)=>{if(r<3){var i=y.getCategoryByName(e),n=-1;
44i&&(n=i.colorIndex);var o=y.getCategoryColor(n).rgb;t+=`<div class="category-tag">${window.getCategoryFlagHtml(o)}</div>`}else a++})),a>0&&(t+=`<div class="category-stack-item-more">+${a}</div>`)}return t},t.spamClicked=async function(e,a){null==a?a=t.getSelectedUids():Array.isArray(a)||(a=[a]);try{if(!(await m.promptSpamFooConsentIfNeeded(t.getActiveFolder(),a[0])).proceed)return;"scheduled8c61c74014d4e679d52c0a6aca4342b"===t.getActiveFolder().toLowerCase()?i.show({locals:{folder:e?"junk":"inbox"},controller:"moveScheduledEmailController",controllerAs:"ctrl",templateUrl:"app/email/modals/move-scheduled-email.dlg.html",clickOutsideToClose:!1}).then((async function(){await G(e,a)}),(function(){})):await G(e,a)}catch(e){A.report(e)}},t.changeClassificationDropdown=async function(e){var a=e.uid,r=e.classification;if(!a||0===a.length)return void A.report(o.instant("MUST_SELECT"));for(var s={},l=0;l<a.length;++l){var d=t.mailPanelGrid?t.mailPanelGrid.getItemById(a[l]):null,c=null;if(d&&(c=d.from&&d.from.email?d.from.email:d.fromAddress||null),!c&&S.message){var g=S.message;c=g.fromAddress&&g.fromAddress.email?g.fromAddress.email:g.fromAddress}c&&(s[c.toLowerCase()]=!0)}Object.keys(s),T.getClassificationLabel(r);if("automatic"===r){var u=n("translate")("SPAMFOO_AUTOMATIC_DESC"),f=n("translate")("SPAMFOO_AUTOMATIC"),p=i.confirm().textContent(u).ok(n("translate")("SAVE")).cancel(n("translate")("CANCEL")).title(f);try{await i.show(p)}catch(e){return}}try{var h=t.getActiveFolder(),v=a[0];if(S.message&&-1!==a.indexOf(S.message.uid)&&(v=S.message.uid),!(await m.promptSpamFooConsentIfNeeded(h,v)).proceed)return;var w=!(h&&"inbox"===h.toLowerCase()),C=await m.changeMessageClassification(a,h,null,r,w,!1);if(!C||!C.data||!C.data.success)throw C&&C.data||"ERROR_HAS_OCCURRED";if(!t.isPopout&&a.length<75)for(let e=0;e<a.length;++e){let i=t.mailPanelGrid.getItemById(a[e]);i&&(i.classification=r)}for(l=0;l<a.length;++l)if(a[l]===S.message.uid){S.message.classification=r;break}t.ignoreSignalUids=_.union(t.ignoreSignalUids,a),m.resyncClassificationCounts(),!t.isPopout&&t.mailPanelGrid&&(L.mailSearchCriteria&&L.mailSearchCriteria.classificationFilter?t.mailPanelGrid.reset({},(function(e,t){setTimeout((function(){e.focusedIndex=t,e.focusItem(),e.selectItemByIndex(t,{})}),1)})):t.mailPanelGrid.reset({keepSelection:!0})),E.report(o.instant("CLASSIFICATION_CHANGED"))}catch(e){A.report(e)}},u.start(),t.$on("categoriesUpdated",k),t.$on("signalR.mailHub.client.mailAction",N),e.$on("mail.refreshEmailTask",j),t.$on("startEditTask",V)}e.$inject=["$rootScope","$scope","$http","$timeout","$mdDialog","$filter","$translate","$localStorage","$log","$state","$q","coreData","coreDataListener","coreDataMail","coreDataSettings","messageData","authStorage","errorHandling","emailValidationService","successHandling","userDataService","errorMessageService","popupService","restrictedSenders","toaster","apiCategories","emailFunctions","i18n","spamfooClassification"],angular.module("smartermail").controller("emailActions",e)}();
45!function(){"use strict";function e(e,a,t,o,i,r,n,s,l,d,c,u,m,g,f,p,w,S,h){var N=this,P=h.parsePopoutPacket(s.packet);function A(){g.enabled&&g.close()}async function v(){const e=await p.getTokenWithPromise();FroalaEditor&&FroalaEditor.INSTANCES&&FroalaEditor.INSTANCES.length>0&&FroalaEditor.INSTANCES[0]&&FroalaEditor.INSTANCES[0].opts&&FroalaEditor.INSTANCES[0].opts.requestHeaders&&(FroalaEditor.INSTANCES[0].opts.requestHeaders.Authorization="Bearer "+e),setTimeout(v,15e3)}m.navigationPacket=P,a.hideElements=function(){a.elementsHidden=!a.elementsHidden,o((function(){$(window).trigger("resize")}),10)},a.printMessage=async function(){try{await S.showPrintPopupAfterLoad(m.navigationPacket.owner,m.navigationPacket.folder,m.navigationPacket.uid,m.mode||"html",!1)}catch(e){f.report(e)}},function(){w.ensureActivated(),angular.extend(N,i("emailActions",{$scope:a,$http:t,$timeout:o,$mdDialog:r,coreDataMail:l})),a.$watch((function(){return m.message}),(function(){o((function(){m.messageLoaded=null!=m.message.uid})),a.isDraft=m.message.isDraft,a.isDeleted=m.message.isDeleted})),setTimeout(v,15e3),a.isDeleted=!1,a.folderPath=P.folder,a.owner=P.owner||"",N.skipNavigateConfirm=!1,a.getActiveFolder=()=>P.folder,a.getActiveFolderOwner=()=>P.owner||"",a.isPopout=!0,a.spoolMessage=P.fileName,a.spoolName=P.spoolName,a.isSpoolMessage=!!a.spoolMessage,a.isQuarantineMessage=1==P.quarantine,a.isArchiveMessage=!!P.searchGuid,a.isReadOnly=!1,null!=P.uid&&P.markRead&&S.markRead(P.owner,P.folder,parseInt(P.uid));!async function(){try{await d.init(!0),N.features=d.user.settings.features,d.user.isSysAdmin||d.user.isPrimarySysAdmin||(await Promise.all([c.init(),l.init(
45)]),await u.init(),g.enabled&&g.connect(),window.onbeforeunload?window.st_onbeforeunload=A:window.onbeforeunload=A,a.$applyAsync()),o((()=>a.$broadcast("loadPopout",{})))}catch(e){}}()}()}e.$inject=["$rootScope","$scope","$http","$timeout","$controller","$mdDialog","$q","$stateParams","coreDataMail","userDataService","coreDataSettings","userTimeService","messageData","chatProviderFactory","errorHandling","authStorage","themesService","emailFunctions","emailNavigation"],angular.module("smartermail").controller("emailPopoutController",e)}();
46!function(){"use strict";function e(e,a,t,i,r,n,s,o,l,d,c,m,u,f,p,h,g,w,C,v,S,b,E,D,L,y,T,k,A,F,I,M,P,O,R,B,x,N,U,G){angular.extend(this,w("emailActions",{$scope:a,$element:t,$http:i,$timeout:r,$mdDialog:l,coreDataMail:h,coreDataSettings:C}));var W,K=this,V={},z=!0,H=_.debounce(Fe,75),j=_.debounce((function(){r((function(){if(ne(),K.selectedCount<=1&&e.windowWidth>737&&!D.messageLoaded){var t=a.mailPanelGrid.getItemById(D.navigationPacket.uid);if(!t)return;Fe(t)}}),50)}),200,!1),X=null;function Y(e,a){a.takeRecords();let t=document.querySelectorAll("#MailPanelGrid img:not([src])");for(let e of t)q(e)}function q(e){let a=e.getAttribute("data-src");if(!a)return;const t=a.toLowerCase();if(t.endsWith("interface/null")||t.endsWith("interface/undefined")||t.endsWith("null")||t.endsWith("undefined"))return;let r=`unfound-avatar-${encodeURIComponent(a)}`;try{if(sessionStorage.getItem(r))return void delete e.src}catch(e){}let s=new URL(a,window.location.origin);if(s.origin!==window.location.origin||"/api/v1/contacts/image"!==s.pathname.toLowerCase())return void(e.src=a);let o=K.avatarPromises[a];if(!o){let e=n.defer();o=e.promise,K.avatarPromises[a]=o,i.get(a,{responseType:"blob",cache:!0,timeout:1e4}).then((function(a){let t=window.URL.createObjectURL(a.data);e.resolve(t)})).catch((function(a){try{sessionStorage.setItem(r,1)}catch(a){}e.reject()}))}o.then((a=>{e.src=a,e.parentElement.children[0].style.display="none",e.style.display="unset",e.parentElement.className="st-avatar-icon avatar-color-clear"}),(()=>{delete e.src,e.parentElement.children[0].style.display="unset",e.style.display="none",e.parentElement.className=e.parentElement.getAttribute("data-avatar-classes-error")}))}async function J(){for(var e=0;e<a.rootScopeBindings.length;++e)a.rootScopeBindings[e]();window.dragEmail=void 0,window.toggleFlag=void 0,g.confirmMessageSent=void 0,h.searchText="",$(".resize-cover").remove(),window.removeEventListener("mousemove",ea),window.removeEventListener("mouseup",aa),window.removeEventListener("mousemove",ta),window.removeEventListener("mouseup",ia),window.removeEventListener("resize",j),clearInterval(X),K.messageListObserver.disconnect(),K.messageListObserver=void 0;for(const e in K.avatarPromises){let a=K.avatarPromises[e];try{let e=await a;window.URL.revokeObjectURL(e)}catch(e){}}}function Q(){Z()}function Z(){var e=R.isThemeDark();a.dragIcon=a.dragIcon||document.createElement("img"),a.dragIcon.src=e?"img/dragdrop/email/multi-dark.png":"img/dragdrop/email/multi.png",a.dragIcon.width=36,a.dragIcon.height=36,a.dragIconSingle=a.dragIconSingle||document.createElement("img"),a.dragIconSingle.src=e?"img/dragdrop/email/single-dark.png":"img/dragdrop/email/single.png",a.dragIconSingle.width=36,a.dragIconSingle.height=27,a.onDragDrop=Ie}function ee(e){e&&e.some((e=>!e.selected))?K.mailSearchCriteria.categoryFilter={filteredCategories:e.reduce((function(e,a){return a.selected&&!a.noCategory&&e.push(a.name),e}),[]),includeNoCategory:e.some((e=>e.noCategory&&e.selected))}:K.mailSearchCriteria.categoryFilter=null,z||a.refreshEmailList()}function ae(){K.enableSpamfoo&&K.domainClassificationEnabled&&K.accountClassificationEnabled&&(K.isClassifying||E.impersonating()||U.checkAndShowTutorial("classificationSidebarTutorial",{targetSelector:".ai-classification-sidebar",title:"CLASSIFICATION_TUTORIAL_TITLE",description:"CLASSIFICATION_TUTORIAL_DESC",description2Before:"CLASSIFICATION_TUTORIAL_DISABLE_HINT_BEFORE",description2After:"CLASSIFICATION_TUTORIAL_DISABLE_HINT_AFTER",description2Icon:"toolsicon-auto_awesome",position:"right"}))}function te(){return!(!K.showClassification||K.isClassifying)}function ie(){K.menuClassifications=N.buildMenuRows(a.mailList.classificationTab)}function re(e,a){var t=a?"spamfoo-dashboard/"+encodeURIComponent(a)+"/":"spamfoo-dashboard/",i=(stSiteRoot||"/")+t;window.open(i+"?token="+encodeURIComponent(e),"SpamFooDashboard_user_"+(a||"local"),"width=1200,height=800,resizable=1")}function ne(){K.previewPaneOption;e.windowWidth<=737?K.previewPaneOption="mobile":C.userSettings.previewUsePreview?K.previewPaneOption="right":K.previewPaneOption="none"}function se(e,a){K.messageDoesNotExist=a}function oe(){a.showMessagePane=!1}function le(e,a){a&&a.shareType&&"mail"!=a.shareType||(ze(!0),qe())}function de(){K.edition=v.edition}function ce(e,t){$(".st-avatar-icon").each(((e,i)=>{if($(i).attr("id-email")==t.targetEmailAddress){var r=$(i).attr("uid"),n=a.mailPanelGrid.getItemById(r);if(n){if(!n.isVerifiedSender)return;n.avatarUrl=t.avatarUrl;var s=$(document.getElementById("avatar-"+n.mid)),o=s.children("img")[0];if(!o)return;var l=o.src,d=s.children(".letter-container")[0];o["data-src"]=t.avatarUrl,delete o.src,o.onload=function(){d.style.display="none",s.removeClass((function(e,a){return(a.match(/(^|\s)avatar-color-\S+/g)||[]).join(" ")})),s.addClass("avatar-color-clear"),o.style.display="unset",delete o.onload,delete o.error},o.error=function(){o.src=l,delete o.onload,delete o.error},q(o)}}}))}function me(e,t){a.treeExpanded=t.expanded}function ue(){}function fe(e,a){K.classificationCounts=a||{}}function pe(){Me()}function he(){return K.mailSearchCriteria.classificationFilter||a.mailList.classificationTab&&"all"!==a.mailList.classificationTab?"inbox":a.tree.selectedBranchData.path}function ge(){return K.mailSearchCriteria.classificationFilter||a.mailList.classificationTab&&"all"!==a.mailList.classificationTab?p.user.emailAddress:a.tree.selectedBranchData.owner}function we(e,t){if(!e)return null;if(!e.recipients)return null;var i="";switch(e.importance){case 1:i=" priorityHigh";break;case-1:i=" priorityLow";break;default:i=""}var r="";0==e.folder.toLowerCase().indexOf("sent items")||e.isDraft?r=null==e.recipients[0]?"-":""!=e.recipients[0].name?e.recipients[0].name:e.recipients[0].email:(r=e.from?""!=e.from.name?e.from.name:e.from.email:"-")||(r=e.fromAddress||"-");var n=!!a.tree.selectedBranchData&&2!==a.tree.selectedBranchData.access;const o=document.createElement("div");o.className="inboxMessageSubject",o.textContent=null!=e.subject?e.subject:"-";const l=document.createElement("div");l.className="inboxMessageName",l.textContent=r;var c,m=(""!=e.from.name?e.from.name:e.from.email)||e.fromAddress,u="",f=0;if(m){u=m.substring(0,1).toUpperCase();for(var p=0;p<m.length;++p)f+=m.charCodeAt(p)}var h=K.hideMailAvatars;(!h&&"SENT_ITEMS"==a.tree.selectedBranchData.untranslatedName||"DRAFTS"==a.tree.selectedBranchData.untranslatedName)&&(h=!0),c="avatar-color-"+(f?f%26:27);try{!h&&e.avatarUrl&&sessionStorage.getItem("unfound-avatar-"+encodeURIComponent(e.avatarUrl))&&(e.avatarUrl=null)}catch(e){}const g=e.avatarUrl?`try { sessionStorage.setItem('unfound-avatar-${encodeURIComponent(e.avatarUrl)}', 1); } catch (err) {}`:"";var w=h?"":`\n                    <div class="inboxAvatarContent">\n                        <div class="st-avatar-icon ${e.avatarUrl?"avatar-color-clear":c}"\n                             data-avatar-classes-error="st-avatar-icon ${c}"\n                             id="avatar-${e.mid}" id-email="${e.from.email}" uid="${e.uid}">\n                            <div class="letter-container" style='display: ${e.avatarUrl?"n
46one":"unset"}'>${u}</div>\n                            <img onerror="this.parentElement.children[0].style.display='unset'; \n                                        this.style.display='none'; \n                                        this.parentElement.className=this.parentElement.getAttribute('data-avatar-classes-error');\n                                        ${g}" \n                                 style='display: ${e.avatarUrl?"unset":"none"}'\n                                 data-src="${e.avatarUrl}" \n                                 referrerpolicy="no-referrer">\n                        </div>\n                    </div>`;let C=V[e.folder];void 0===C&&(C=d(e.folder),V[e.folder]=C);var v=`\n                <div class="mailGridItem ${e.isDeleted?"markedAsDeleted":""} ${e.isFlagged?"markedAsFlaggedBg":""}"\n                     data="${e.uid}|${C}"\n                     id="mailGridItem-${e.uid}"\n                     draggable="${n}"\n                     ondragstart="window.dragEmail(event)"\n                     read="${1==e.isSeen}">\n                    <div class="inboxMessage" oncontextmenu="return false;">\n                        ${w}\n                        <div class="inboxMessageContent ${i} ${h?"":" has-image"}" oncontextmenu="return false;" >\n                            <div class="messageRow inboxMessageFirstLine">\n                                ${l.outerHTML}\n                                <div class="inboxMessageDate">\n                                    ${a.formatMessageDate(a.getDisplayTime(e.internalDate),!0)}\n                                </div>\n                            </div>\n                            <div class="messageRow">\n                                ${o.outerHTML}\n                                <div class="empty"></div>\n                            </div>\n                            <div class="messageRow inboxMessageLastLine">\n                                <div class="inboxMessageSize">${s("bytes")(e.size)}</div>\n                                ${function(e){if(!K.enableSpamfoo||!K.domainClassificationEnabled||!K.accountClassificationEnabled||K.isClassifying||!K.showClassification)return"";var t=K.mailSearchCriteria.folder&&"inbox"===K.mailSearchCriteria.folder.toLowerCase(),i=!!K.mailSearchCriteria.query,r=a.mailList.classificationTab&&"all"!==a.mailList.classificationTab;if(!t&&!i||r)return"";if(!e||!N.isDisplayableClassification(e))return"";var n=N.getClassificationLabel(e);return`<div class="ai-classification-badge ${N.getClassificationColorClass(e)}" title="${n}">\n\t\t\t\t<i class="toolsicon ${N.getClassificationIcon(e)}"></i>\n\t\t\t\t<span>${n}</span>\n\t\t\t</div>`}(e.classification)}\n                                <div class="category-stack">${a.getCategoryStackHtml(e.categories)}</div>\n                                <div class="inboxMessageIcons">${function(e){var t="";1==e.importance&&(t+="<i class='toolsicon toolsicon-priority_high'></i>");e.isReplied?t+="<i class='toolsicon toolsicon-reply'></i>":e.isForwarded&&(t+="<i class='toolsicon toolsicon-forward'></i>");e.isCalendarMessage&&(t+="<i class='toolsicon toolsicon-calendar'></i>");e.hasAttachedTask&&(t+="<i class='toolsicon toolsicon-check'></i>");e.hasAttachments&&(t+="<i class='toolsicon toolsicon-attach_file'></i>");e.isDraft&&(t+="<i class='toolsicon toolsicon-file-edit-outline'></i>");e.isDelay&&(t+="<i id='mailGridItem-"+e.uid+"-delay-icon' class='toolsicon toolsicon-outgoing_mail'></i>");e.encryptSignFlags&&(e.encryptSignFlags.isEncrypted&&(t+="<i class='toolsicon toolsicon-encrypted'></i>"),e.encryptSignFlags.isSigned&&e.encryptSignFlags.passedVerification&&(t+="<i class='toolsicon toolsicon-fingerprint'></i>"));a.tree.selectedBranchData&&2===a.tree.selectedBranchData.access?e.isFlagged&&(t+='<i class="toolsicon toolsicon-flag"></i>'):t+=e.isFlagged?`<i class="toolsicon toolsicon-flag" onclick="window.toggleFlag(${e.uid}, true)"></i>`:`<i class="toolsicon toolsicon-flag messageNotFlagged" onclick="window.toggleFlag(${e.uid}, false)"></i>`;return t}(e)}</div>\n                            </div>\n                        </div>\n                    </div>\n                </div>\n            `;return v}function Ce(t,i,r){if(i&&(K.canUndelete=i.isDeleted||K.isInDeleted&&K.selectedCount>0,a.isDeleted=i.isDeleted||!1),i&&i.size&&("none"!=K.previewPaneOption||e.windowWidth<737)&&(!r||"click"!==r.type&&"keydown"!==r.type||i.isSeen||D.markAsReadQueue.push(i.uid),H(i),a.showMessagePane=!z,history.pushState({showMessage:a.showMessagePane}
46,null,null),z&&(z=!1)),W&&W.closed||!W&&!z){const e=document.activeElement;e&&e.closest&&e.closest(".abn-tree")||$("#MailPanelGrid").trigger("focus")}}function ve(e,t,i){a.popout(t.uid,!t.isSeen)}function Se(t){a.$broadcast("mail.selectionCountChanged",t),a.$applyAsync((function(){K.selectedCount=t,t>1&&We(),(t>1||"none"===K.previewPaneOption||e.windowWidth<737)&&D.refreshSelection(a.getSelectedItems())}))}function be(t){if(a.totalItems=t,K.listLoaded=!0,a.totalItems&&0!=a.totalItems||(K.selectedCount=0,K.lastClickedEmail=void 0,We()),e.$broadcast("mail.mailListLoaded"),a.$applyAsync(),e.spinner.hide(),W&&W.closed||!W&&!z){const e=document.activeElement;e&&e.closest&&e.closest(".abn-tree")||$("#MailPanelGrid").trigger("focus")}}function Ee(){a.deleteClicked()}async function De(e,t){if(e&&0!=e.length&&K.listLoaded&&(1===e.length&&D.refreshSelection(a.getSelectedItems()),t&&("touchstart"===t.type||"touchend"===t.type||3===t.which))){t.stopPropagation(),t.preventDefault(),a.dropdownEvent=$.extend(!0,{},t),a.dropdownOptions=await Le();var i=$("#context-menu-area");if(i){var r=c('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(a);i.append(r)}}}async function Le(){var e=a.getSelectedUids(),t=[],i=a.getSelectedItems();const r=Be(),n=xe(),s=D.selection.isDraft,o=D.selection.hasUnseen,l=D.selection.hasSeen,d=D.selection.hasUnflagged,c=D.selection.hasFlagged,m=null!=a.tree.selectedBranchData.access&&0!=a.tree.selectedBranchData.access;r&&(t.push({key:"replyClicked",translateKey:"REPLY",click:a.replyClicked,params:1,disabled:s||1!=i.length}),t.push({key:"replyAllClicked",translateKey:"REPLYALL",click:a.replyClicked,params:2,disabled:s||1!=i.length}),t.push({key:"forwardClicked",translateKey:"FORWARD",click:a.forwardClicked,params:3,disabled:s||0==i.length}),t.push({key:"moveClicked",translateKey:"MOVE",click:a.moveClicked,params:e,disabled:s&&!K.isInScheduled||0==i.length}),t.push({divider:!0})),r&&(!d&&c||t.push({key:"markMessageFlag",translateKey:"MARK_FOLLOWUP",click:a.markMessageFlagDropdown,params:{type:"SetBasic",uid:e},disabled:0==i.length||!d}),c&&t.push({key:"markMessageUnflagged",translateKey:"MARK_NOFOLLOWUP",click:a.markMessageFlagDropdown,params:{type:"Clear",uid:e}})),n&&(!o&&l||t.push({key:"markMessageRead",translateKey:"MARK_READ",click:a.markMessageDropdown,params:{type:"read",uid:e},disabled:0==i.length}),l&&t.push({key:"markMessageUnread",translateKey:"MARK_UNREAD",click:a.markMessageDropdown,params:{type:"unread",uid:e}})),!r||s||K.isInSentItems||m||(K.isInJunk?t.push({key:"moveToInbox",translateKey:"MOVE_TO_INBOX",click:a.spamClicked,params:!1,disabled:0==i.length}):t.push({key:"moveToJunk",translateKey:"MOVE_TO_JUNK_SHORT",click:a.spamClicked,params:!0,disabled:0==i.length}));var u=te()&&a.mailList.classificationTab&&"all"!==a.mailList.classificationTab;if(r&&i.length>0&&u){var f=N.buildMenuRows(a.mailList.classificationTab),h=[];f.forEach((function(t){h.push({key:"changeClassification_"+t.value,translateKey:t.translationKey,click:a.changeClassificationDropdown,params:{uid:e,classification:t.value},disabled:t.disabled})})),h.length>0&&t.push({key:"modifyClassification",translateKey:"MODIFY_CLASSIFICATION",children:h,disabled:0==i.length})}if(r&&!s&&!K.isInSentItems&&i.length>0)try{var g=await M.isTrustedSender(i[0].fromAddress);const r=g.isTrusted,n=g.trustSource,s="USER"!=n&&"NONE"!=n&&1==i.length;t.push({divider:!0}),(!r||i.length>1)&&t.push({key:"trustSender",click:a.trustSender,params:e,translateKey:"TRUST_SENDER",disabled:s}),(r||i.length>1)&&t.push({key:"untrustSender",click:a.untrustSender,params:e,translateKey:"UNTRUST_SENDER",disabled:s})}catch(e){}if(r&&!s&&!K.isInSentItems&&i.length>0){let r=!1,n=!1;try{r=await M.isBlockedSender(i[0].fromAddress)}catch(e){console.warn(e),r=!1}try{n=await M.isSenderInGAL(i[0].fromAddress)}catch(e){console.warn(e),n=!1}var w=i[0].fromAddress==p.user.emailAddress||n;(!r||i.length>1)&&t.push({key:"blockSender",click:a.blockSenderDropdown,params:{uid:e,ev:a.dropdownEvent},translateKey:"BLOCK_SENDER",disabled:w&&1==i.length}),(r||i.length>1)&&t.push({key:"unblockSender",click:a.unblockSender,params:e,translateKey:"UNBLOCK_SENDER"})}if(n&&(t.push({divider:!0}),t.push({key:"downloadRaw",translateKey:"DOWNLOAD_EML",click:a.onDownloadRaw,params:e,disabled:0==i.length}),t.push({key:"viewRaw",translateKey:"VIEW_RAW_CONTENT",click:ye,params:"raw",disabled:1!=i.length})),r){t.push({divider:!0});const i=!a.isDeleted||K.selectedCount>1;t.push({key:"delete",translateKey:"DELETE",click:a.deleteClickedDropdown,params:{uid:e},disabled:!i});const r=2===a.tree.selectedBranchData.deleteBehavior||3===a.tree.selectedBranchData.deleteBehavior,n=K.canUndelete||K.selectedCount>1;r&&t.push({key:"unDelete",translateKey:"UNDELETE",click:a.undeleteClicked,params:e,disabled:n}),K.showPurgeMarked&&t.push({key:"purgeMarked",translateKey:"MAIL_PURGE_MARKED_DELET
46E",click:a.purgeMarked,params:e}),t.push({key:"deleteAll",translateKey:"DELETE_ALL_IN_FOLDER",click:a.deleteAllMessagesInSelectedBranch})}return t}async function ye(e){var t;if("raw"!=e||D.message.raw)Te(e);else{a.messageWindows[D.message.uid]&&a.messageWindows[D.message.uid].closed&&(a.messageWindows[D.message.uid]=void 0),a.messageWindows[D.message.uid]?t=a.messageWindows[D.message.uid]:(t=window.open(p.baseUrl+"/interface/view-message",D.message.uid,"resizable=1, "+I.dimensions.email),a.messageWindows[D.message.uid]=t,a.messageWindows[D.message.uid].unload=function(){a.messageWindows[D.message.uid]=void 0});try{var r={Folder:D.message.folder,UID:D.message.uid,OwnerEmailAddress:null!=D.message.ownerEmailAddress?D.message.ownerEmailAddress:""};const a=await i.post("~/api/v1/mail/message/raw",r);D.message.uid==r.UID&&(D.message.raw=a.data,Te(e,t))}catch(e){}}}function Te(e,t){function i(a){a>25||(t&&t.setHTML?(t.setHTML(D.message,e),t.focus()):r((function(){i(++a)}),50))}!t&&a.messageWindows[D.message.uid]&&a.messageWindows[D.message.uid].closed&&(a.messageWindows[D.message.uid]=void 0),a.messageWindows[D.message.uid]?t||(t=a.messageWindows[D.message.uid]):(t=window.open(p.baseUrl+"/interface/view-message",D.message.uid,"resizable=1, "+I.dimensions.email),a.messageWindows[D.message.uid]=t,a.messageWindows[D.message.uid].unload=function(){a.messageWindows[D.message.uid]=void 0}),r((function(){i(0)}))}async function ke(e,a,t,i){try{const t=await L.getTokenWithPromise();a.apiAccessToken=t,e(a)}catch(e){T.report(e)}}function Ae(e,t){a.selectMode=e,a.mailPanelGrid.setSelectMode(e),!a.selectMode&&t&&a.deselectAll()}function Fe(e){if(K.markAfterPopout&&(K.markAfterPopout=!1),!(e.uid<0)){if(D.navigationPacket.uid!=e.uid){let t=B.makeEmailPacket(e.ownerEmailAddress,e.folder.toLowerCase(),e.uid);a.$broadcast("loadMessage",t),r((function(){$("#mailContentView").scrollTop(0)}))}else{let t=B.makeEmailPacket(e.ownerEmailAddress,e.folder.toLowerCase(),e.uid,void 0,{softReload:!0});a.$broadcast("loadMessage",t),e.isSeen||K.skipNextMarkRead||a.markMessage("read",e.uid)}K.skipNextMarkRead=!1}}async function Ie(t){var i=JSON.parse(t.dataTransfer.getData("text"));if(""!==i.folder&&!1!==i.hasPermission){var r=i.dragSelected?i.selected:[i.uid],n=t.currentTarget.attributes.key.value.split("|"),s=n[0],d=n[1];if(""!==d&&"scheduled8c61c74014d4e679d52c0a6aca4342b"!==d){if("scheduled8c61c74014d4e679d52c0a6aca4342b"===i.folder.toLowerCase())l.show({locals:{folder:d},controller:"moveScheduledEmailController",controllerAs:"ctrl",templateUrl:"app/email/modals/move-scheduled-email.dlg.html",clickOutsideToClose:!1}).then((async function(){await a.moveEmails(r,i.folder,i.owner,d,s)}),(function(){}));else{if(h.isDelayActive(r)){var c=r.length>1?"CANNOT_MOVE_DELAYED_EMAIL_MULTIPLE":"CANNOT_MOVE_DELAYED_EMAIL";return void G.pop("warning","",o.instant(c))}var m=d.toLowerCase(),u=i.folder.toLowerCase(),f=s===i.owner;if(f&&"junk e-mail"===m&&"junk e-mail"!==u){if(!(await h.promptSpamFooConsentIfNeeded(i.folder,r[0])).proceed)return;return await O.markSpam(i.owner,i.folder,r),e.$broadcast("mail.removeGridItems",r),void t.stopPropagation()}if(f&&"junk e-mail"===u&&"inbox"===m){if(!(await h.promptSpamFooConsentIfNeeded(i.folder,r[0])).proceed)return;return await O.markNotSpam(i.owner,i.folder,r),e.$broadcast("mail.removeGridItems",r),void t.stopPropagation()}await a.moveEmails(r,i.folder,i.owner,d,s)}t.stopPropagation()}}}function _e(e){a.openDisposableAddress(e.event,e.branch)}async function Me(){try{const e=await h.Data.disposableAddress,t=e?{alias:e.address,folder:e.folder,expireTime:e.expireTime,expires:moment.duration(e.expireTime-moment()),expiresString:e.expireTime.toNow(!0)}:null;a.$applyAsync((()=>K.disposableAddress=t))}catch(e){}}function Pe(e,a){K.contentFilters&&0!==K.contentFilters.length&&l.show({controller:"filterRunCurrentFolder",templateUrl:"app/email/modals/filter-run-currentFolder-dlg.html",targetEvent:e,locals:{selectedFolder:a,folderLabel:a.label},clickOutsideToClose:!1}).then((function(e){var a=[e.filter.id],t=JSON.stringify({toRun:a,folder:e.folder});i.post("~/api/v1/settings/run-content-filters/",t).then((function(e){P.contentFilterProgress(null,{guid:e.data.result,count:-1,total:-1,done:!1,success:!0}),K.runningFilters=P.runningFilters}),T.report)}),(function(){}))}function Oe(e){Pe(e.event,e.branch.data)}function Re(e,a){a.done&&(K.runningFilters=!1)}function Be(){return!a.tree||!a.tree.selectedBranchData||!a.tree.selectedBranchData.access||1===a.tree.selectedBranchData.access||3===a.tree.selectedBranchData.access}
46function xe(){return!a.tree||!a.tree.selectedBranchData||!a.tree.selectedBranchData.access||a.tree.selectedBranchData.access<=3}function Ne(){return a.tree&&a.tree.selectedBranchData&&!a.tree.selectedBranchData.isMappedFolder&&!a.tree.selectedBranchData.isMappedSubfolder&&"Drafts"!==a.tree.selectedBranchData.id}function Ue(t){t||(t=!1);var s=[h.loadMailTree(a.treeController,t)];return K.enableSpamfoo&&K.domainClassificationEnabled&&K.accountClassificationEnabled&&s.push(i.get("~/api/v1/settings/is-classifying").then((function(e){e.data.success&&(K.isClassifying="True"===e.data.message)})).catch((function(){K.isClassifying=!1}))),n.all(s).then((function(t){a.treeController.deselect_all_branches(),a.shortTreeController.deselect_all_branches(),na(),r((function(){if(a.mailList.classificationTab&&"all"!==a.mailList.classificationTab)return $e(),r((function(){K.isInitialTreeLoad=!1})),void e.$broadcast("mail:unreadCountChanged");var i=h.lastSelectedBranchData?h.lastSelectedBranchData.key:"",n=a.tree.map[i],s=!1;n||(n=a.shortTree.map[i],s=!0),n||(n=a.shortTree.map[p.user.emailAddress+"|inbox"],s=!0),0==t[0]?r((function(){n?s?(a.shortTreeController.select_branch(n),a.tree.selectedBranchData=n.data,Ke()):(a.treeController.select_branch(n),a.tree.selectedBranchData=n.data,Ke()):a.shortTreeController.select_first_branch(),$e(),r((function(){K.isInitialTreeLoad=!1}))})):(n?s?(a.shortTreeController.select_branch(n),a.tree.selectedBranchData=n.data,Ke()):(a.treeController.select_branch(n),a.tree.selectedBranchData=n.data,Ke()):(a.shortTreeController.select_first_branch(),a.tree.selectedBranchData=a.shortTreeController.get_selected_branch().data),$e(),r((function(){K.isInitialTreeLoad=!1}))),e.$broadcast("mail:unreadCountChanged")}))}))}function $e(){K.mailSearchCriteria.folder=he(),K.mailSearchCriteria.ownerEmailAddress=ge(),K.mailSearchCriteria.folder&&"inbox"===K.mailSearchCriteria.folder.toLowerCase()&&K.accountClassificationEnabled&&K.showClassification&&a.mailList.classificationTab&&"all"!==a.mailList.classificationTab?K.mailSearchCriteria.classificationFilter=a.mailList.classificationTab:K.mailSearchCriteria.classificationFilter=null,e.spinner.show(),$("#MailPanelGrid").empty(),a.mailPanelGrid=void 0,a.mailPanelGrid=new window.SmarterTools.PanelGrid($("#MailPanelGrid"),{searchApiUrl:p.baseUrl+"/api/v1/mail/messages",searchApiUrlIdOnly:p.baseUrl+"/api/v1/mail/messages-uid",searchCriteria:K.mailSearchCriteria,itemsToGrabAtInit:0===a.mailList.filterType&&!1===a.mailList.filterValue?4e4:100,renderItemHandler:we,getAccessTokenHandler:ke,itemHeight:64,onItemClick:Ce,onItemDoubleClick:ve,onRightClick:De,onDeleteKey:Ee,onSelectionCountChanged:Se,onGetDataCompleted:be,translations:{noItemsToShow:o.instant("NO_ITEMS_TO_SHOW"),pleaseWait:o.instant("LOADING")}})}function Ge(){a.refreshEmailList()}function We(){D.messageLoaded&&(D.navigationPacket={},a.$broadcast("unloadMessage",{}),D.messageLoaded=!1)}function Ke(){try{if(!a.tree||!a.tree.selectedBranchData||!a.tree.selectedBranchData.path)return;const e=a.tree.selectedBranchData.path.toLowerCase();a.tree.selectedBranchData.lowerPath=e,K.isInJunk=-1!==e.indexOf("junk e-mail"),K.isInDeleted=-1!==e.indexOf("deleted items"),K.isInSentItems=-1!==e.indexOf("sent items"),K.isInDrafts=-1!==e.indexOf("drafts"),K.isInScheduled=-1!==e.indexOf("scheduled")}catch(e){return}}function Ve(e){switch(K.sortBy){case"size":a.mailList.sortType=1,a.mailList.sortAscending=K.sortReverse;break;case"subject":a.mailList.sortType=2,a.mailList.sortAscending=!K.sortReverse;break;case"from":a.mailList.sortType=3,a.mailList.sortAscending=!K.sortReverse;break;case"to":a.mailList.sortType=4,a.mailList.sortAscending=!K.sortReverse;break;case"attachment":a.mailList.sortType=6,a.mailList.sortAscending=K.sortReverse;break;default:a.mailList.sortType=5,a.mailList.sortAscending=K.sortReverse}K.mailSearchCriteria.sortType=a.mailList.sortType,K.mailSearchCriteria.sortAscending=a.mailList.sortAscending,e&&!a.inActionProgess&&a.mailPanelGrid.reset({keepSelection:!1})}function ze(e){e&&C.resetResources(),C.settingsData.mappedResources.then((function(e){}))}function He(){a.mailPanelGrid&&a.mailPanelGrid.reset({})}function je(e,t){if(a.mailPanelGrid&&t)for(var i=0;i<t.length;i++)a.mailPanelGrid.deleteItemById(t[i])}function Xe(e,t){if(t&&t.uids&&t.classification){var i=t.uids,r=t.classification;if(a.mailPanelGrid)for(var n=0;n<i.length;n++){var s=a.mailPanelGrid.getItemById(i[n]);s&&(s.classification=r)}D.message&&-1!==i.indexOf(D.message.uid)&&(D.message.classification=r)}}function Ye(){a.mailPanelGrid&&a.mailPanelGrid.reset({},(function(e,a){setTimeout((function(){e.focusedIndex=a,e.focusItem(),e.selectItemByIndex(a,{})}),1)}))}function qe(){for(let e in a.tree.map)a.tree.map[e]&&a.tree.map[e].expanded&&(h.expansionList[e]=!0);for(let e in a.shortTree.map)a.shortTree.map[e]&&a.shortTree.map[e].expanded&&(h.expansionList[e]=!0);h.loadMailTree(a.treeController,!0).then((function(){r((function(){var e=a.mailList.classificationTab&&"all"!==a.mailList.classificationTab,t=a.tree.selectedBranchData.key;if(a.tree=h.getMailTree(),a.shortTree=h.getShortMailTree(),e)a.mailPanelGrid&&a.mailPanelGrid.reset({keepSelection:!0}
46);else{var i=!1;K.folderKeyChangeData&&K.folderKeyChangeData[t]&&(t=K.folderKeyChangeData[t]);var r=a.tree.map[t];r||(r=a.shortTree.map[t],i=!0),r||(r=a.tree.map[p.user.emailAddress+"|inbox"]||a.shortTreeController.get_first_branch()).data.key===p.user.emailAddress+"|inbox"&&(i=!0),r.data.key!==t&&a.onBranchChanged(r,i),i?a.shortTreeController.select_branch(r):a.treeController.select_branch(r);var n=a.treeController.get_selected_branch(),s=n&&n.data;s||(s=(n=a.shortTreeController.get_selected_branch())&&n.data),s&&(a.tree.selectedBranchData=s)}}))}),(function(){T.report(o.instant("ERROR_LOADING_DIRECTORY_TREE"))}))}function Je(e){a.mailPanelGrid.getItemById(D.navigationPacket.uid)&&a.mailPanelGrid.selectNext(e)}function Qe(e){a.mailPanelGrid.getItemById(D.navigationPacket.uid)&&a.mailPanelGrid.selectPrevious(e)}function Ze(e){e.preventDefault(),$("body").append('<div class="resize-cover"></div>'),K.startX=e.clientX,K.startWidth=Number(K.mailListView.css("min-width").replace("px","")),isNaN(K.startWidth)&&(K.startWidth=330),window.addEventListener("mousemove",ea),window.addEventListener("mouseup",aa)}function ea(e){e.preventDefault();var a=K.startWidth+(e.clientX-K.startX);a=a<330?330:a>450?450:a,K.mailListView.css("min-width",a+"px"),K.mailListView.css("max-width",a+"px")}function aa(e){e.preventDefault(),$(".resize-cover").remove(),localStorage.resizableMailListWidth=K.mailListView.css("min-width"),a.listController&&a.listController.refresh(),window.removeEventListener("mousemove",ea),window.removeEventListener("mouseup",aa)}function ta(e){e.preventDefault(),e.stopPropagation();var a=K.startHeight+(e.clientY-K.startY);a=a<188?188:a>476?476:a,K.mailListView.css("min-height",a+"px"),K.mailListView.css("max-height",a+"px")}function ia(e){e.preventDefault(),$(".resize-cover").remove(),localStorage.resizableMailListHeight=K.mailListView.css("min-height"),a.listController&&a.listController.refresh(),window.removeEventListener("mousemove",ta),window.removeEventListener("mouseup",ia)}function ra(e){null!=e.state&&null!=e.state.showMessage&&a.showMessagePane&&(a.showMessagePane=e.state.showMessage,a.showMessagePane||(We(),r((function(){a.mailPanelGrid.repaint(),r((function(){a.mailPanelGrid.repaint(),a.mailPanelGrid.focusItem()}),100)}))))}function na(){0!==K.currentUndoUid&&h.currentDelayData?.uid!==K.currentUndoUid&&(a.markMessage("removeDelay",K.currentUndoUid),r.cancel(K.undoTimeout)),h.currentDelayData&&h.currentDelayData?.timeLeftMs>0&&(K.showUndoFooterNotification=!0,K.currentUndoUid=h.currentDelayData.uid,K.undoTimeout=r((function(){K.currentUndoUid=0,K.showUndoFooterNotification=!1,a.markMessage("removeDelay",h.currentDelayData.uid),h.currentDelayData=void 0}),h.currentDelayData?.timeLeftMs))}async function sa(e,a,t=!1){let r={Uids:e,IsScheduled:a,KeepInFolder:t};await i.post("~/api/v1/mail/message-undo",r)}function oa(){K.showUndoFooterNotification=!1,r.cancel(K.undoTimeout)}D.navigationPacket=D.navigationPacket||{},a.branchCategories=[],a.canDeleteFolder=!1,a.canEditFolder=!1,a.ignoreSignalUids=[],a.inActionProgess=!1,a.isDeleted=!1,a.messageWindows=[],a.rootScopeBindings=[],a.searchText="",a.selectedBranch=void 0,a.selectedEmailUids=[],a.selectMode=!1,a.shortTreeController={},a.showMessagePane=!1,a.totalItems=void 0,a.treeController={},K.canRunFilters=!1,K.canUndelete=!0,K.contentFilters=[],K.hasFullPermission=!1,K.hasReadPermission=!1,K.lastClickedEmail=void 0,K.listLoaded=!1,K.markAfterPopout=!1,K.messageDoesNotExist=!1,K.runningFilters=P.runningFilters,K.searchBarVisible=!1,K.selectedCount=0,K.sortBy="internalDate",K.sortReverse=!1,K.skipNextMarkRead=!0,K.domainClassificationEnabled=C.userDomainSettings.enableClassification,K.accountClassificationEnabled=C.userSettings.enableClassification,K.showClassification=C.userSettings.showClassification,K.isClassifying=!1,K.menuClassifications=[],K.classificationCounts={},K.showUndoFooterNotification=!1,K.undoTimeout=void 0,K.currentUndoUid=0,K.isInitialTreeLoad=!0,a.branchMouseUp=function(e,t){if(t.stopPropagation(),t.preventDefault(),t.cancelbubble=!0,a.dropdownOptions=[],t&&3===t.which){if(a.dropdownEvent=$.extend(!0,{},t),e.data.unclickable||(!e.data.isShared||e.data.isBeingShared?("scheduled8c61c74014d4e679d52c0a6aca4342b"!==e.data.path.toLowerCase()&&(a.dropdownOptions=[{key:"newFolder",click:a.newFolderClickedDropdown,params:{branch:e,event:t,isRootFolder:!1},translateKey:"NEW_FOLDER"}],e.data.canEdit&&1!==e.data.access&&2!==e.data.access&&(a.dropdownOptions=a.dropdownOptions.concat([{key:"moveFolder",click:a.moveFolderClickedDropdown,params:{branch:e,event:t},translateKey:"MOVE_FOLDER"},{key:"renameFolder",click:a.renameFolderClickedDropdown,params:{branch:e,event:t},translateKey:"EDIT_FOLDER"},{key:"deleteFolder",click:a.deleteFolderClickedDropdown,params:{branch:e,event:t},translateKey:"DELETE_FOLDER"}
46])),"Drafts"!=e.data.id&&function(e){return"Drafts"!=e.data.id&&(!e.data.isShared||e.data.isBeingShared)&&C.userDomainSettings.enableSharing}(e)&&(a.dropdownOptions=a.dropdownOptions.concat([{key:"mapResource",click:a.editResourceDropdown,params:{branch:e,event:t},translateKey:"SHARE_FOLDER"}])),a.dropdownOptions=a.dropdownOptions.concat([{divider:!0}])),(K.disposableAddressEnabled||K.canRunFilters)&&(K.canRunFilters&&a.dropdownOptions.push({key:"runContentFilter",translateKey:"RUN_CONTENT_FILTER",click:Oe,params:{branch:e,event:t},disabled:K.runningFilters||0===K.contentFilters.length}),K.disposableAddressEnabled&&a.dropdownOptions.push({key:"openDisposableAddress",translateKey:"DISPOSABLE_ADDRESS",click:_e,params:{branch:e,event:t}})),e.data.totalMessages>0&&2!==e.data.access&&(a.dropdownOptions=a.dropdownOptions.concat([{divider:!0}]),a.dropdownOptions=a.dropdownOptions.concat([{key:"deleteAllMessagesContext",disabled:0===e.data.totalMessages,click:a.deleteAllMessagesContext,params:{branchData:e.data,event:t},translateKey:"DELETE_ALL_IN_FOLDER"}]))):e.data.isShared&&(a.dropdownOptions=[],3===e.data.access&&a.dropdownOptions.push({key:"newFolder",click:a.newFolderClickedDropdown,params:{branch:e,event:t,isRootFolder:!1},translateKey:"NEW_FOLDER"}),a.dropdownOptions.push({key:"editMapFolder",click:a.editResourceDropdown,params:{branch:e,event:t,isRootFolder:!1},translateKey:"PROPERTIES"}))),0===a.dropdownOptions.length)return;var i=$("#context-menu-area");if(i){var r=c('<st-context-menu options="::dropdownOptions" event="::dropdownEvent" classes="::[\'dropdown-no-scroll\']" menu-like="::true" menu-class="::\'abn-tree-row\'"></st-context-menu>')(a);i.append(r)}}},a.closeMessagePane=function(){a.showMessagePane=!a.showMessagePane,We(),r((function(){a.mailPanelGrid.repaint(),r((function(){a.mailPanelGrid.repaint(),a.mailPanelGrid.focusItem()}),100)}))},a.deleteAllMessages=function(t,r){var n=r&&r.path?null:K.mailSearchCriteria.classificationFilter||a.mailList.classificationTab&&"all"!==a.mailList.classificationTab||null;if(!n&&(!r||r.totalMessages<1))return;if(h.isAnyDelayActive())return void G.pop("warning","",o.instant("CANNOT_DELETE_ALL_DELAYED_EMAIL"));var s=n?he():r.path,d=n?ge():r.owner,c=n?o.instant("INBOX"):r.label,m=n?o.instant("CONFIRMATIONS_DELETE_MESSAGES_CLASSIFICATION",{folder:c,classification:N.getClassificationLabel(n)}):x.reactPluralizeWithCommas("CONFIRMATIONS_DELETE_MESSAGES_ALL",{count:r.totalMessages,folder:c}),p=l.confirmDeletion().textContent(m).targetEvent(t);l.show(p).then((function(){var t={folder:s,ownerEmailAddress:d,all:!0,classification:n||null};e.spinner&&e.spinner.show(),f.ignoreMailSignal=t.folder,a.ignoreSignalUids.push(-1),i.post("~/api/v1/mail/delete-messages",t).then((function(t){e.spinner&&e.spinner.hide(),t.data.actionGuid||function(e){Ae(!1),e&&(e.count=0,e.totalMessages=0);f.ignoreMailSignal=void 0,a.mailPanelGrid&&a.mailPanelGrid.reset({keepSelection:!1});u.debug("DeleteAllInFolderEnd"),a.$broadcast("unloadMessage",{}),D.messageLoaded=!1,a.inActionProgess=!1}(r)}),(function(t){e.spinner&&e.spinner.hide(),f.ignoreMailSignal=void 0,a.inActionProgess=!1,T.report(o.instant(t.data.message))}))}))},a.deleteAllMessagesContext=function(e){a.deleteAllMessages(e.event,e.branchData)},a.deleteAllMessagesInSelectedBranch=function(e){var t=K.mailSearchCriteria.classificationFilter||a.mailList.classificationTab&&"all"!==a.mailList.classificationTab;a.deleteAllMessages(e,t?null:a.tree.selectedBranchData)},a.deleteFolderClicked=async function(t,n){var d=n?n.data:a.tree.selectedBranchData;if(!d.canDelete)return void T.warn(o.instant("MAIL_FOLDER_CANNOT_BE_MODIFIED",{folder:d.label}));var c=!1,m=a.tree.map[d.key];m||(m=a.shortTree.map[d.key],c=!0);var u=l.confirmDeletion().htmlContent(s("translate")("CONFIRMATIONS_DELETE_FOLDER",{name:n?n.label:m.label})).targetEvent(t);try{await l.show(u)}catch(e){return}try{if(e.spinner.show(),h.ignoreFolderUpdate.requested=Date.now(),3===d.access){var f={folder:d.path,parentFolder:"",ownerEmailAddress:d.owner};await i.post("~/api/v1/folders/delete-folder",f)}else{f={folder:d.path,parentFolder:""};await i.post("~/api/v1/folders/delete-folder",f)}var p,g=c?a.shortTreeController:a.treeController;const t=n||g.get_selected_branch(),s=g.get_selected_branch();t===s&&(null==(p=g.get_parent_branch(t))&&(p=g.get_prev_sibling(t)),c&&y.setSessionSortingFilteringParam("email","treeSelectedBranchData",{}),r((function(){null!=p?g.select_branch(p):g.select_branch(g.get_first_branch())}))),g.remove_branch(t);var w=y.getSortingFilteringParam("email","expandedBranches")||[],C=w.findIndex((e=>e.toLowerCase()===t.data.key.toLowerCase()));-1!==C&&(w.splice(C,1),y.setSortingFilteringParam("email","expandedBranches",w)),null!=p&&0===p.children.length&&-1!==(C=w.findIndex((e=>e.toLowerCase()===p.data.key.toLowerCase())))&&(w.splice(C,1),y.setSortingFilteringParam("email","expandedBranches",w))}catch(e){T.report("ACTION_FAILED")}
46finally{e.spinner.hide()}},a.deleteFolderClickedDropdown=function(e){a.deleteFolderClicked(e.event,e.branch)},a.deselectAll=function(e){a.mailPanelGrid.selectNone()},a.disposableAddressDropdown=_e,a.editResourceDropdown=function(e){a.openEditResourceModal(e.event,e.branch.data)},a.formatMessageDate=h.formatMessageDate,a.forwardClicked=async function(t){var r=a.mailPanelGrid.getSelectedItems();if(1===r.length&&"attachment"!==p.user.settings.userMailSettings.forwardMethod){let e=r[0];e&&null!=e.isSeen&&!e.isSeen&&a.markMessage("read",e.uid),W=O.popupReplyWindow(ge(),he(),e.uid,t)}else try{e.spinner.show();var s=[],o=[];for(let e=0;e<r.length;++e){let a=r[e];a.size&&(s.push({uid:a.uid,ownerEmailAddress:ge(),folder:he(),size:a.size}),o.push(i.post("~/api/v1/mail/message",{Folder:he(),UID:a.uid,OwnerEmailAddress:ge()})))}const a=await n.all(o);for(let e=0;e<a.length;++e)s[e].subject=a[e].data.messageData.subject?a[e].data.messageData.subject:"";const l=B.makeComposePacket({owner:ge(),folder:he(),uid:r[0].uid,reply:t,attachEmails:s}),d=B.getPopoutComposeUrl(l);W=window.open(d,"","resizable=1, "+I.dimensions.email)}catch(e){T.report(e)}finally{e.spinner.hide()}},a.getActiveFolder=he,a.getActiveFolderOwner=ge,a.getDisplayTime=function(e){var a=new Date(e);a.getSeconds()>=30&&a.setMinutes(a.getMinutes()+1);return a.setSeconds(0),a},a.moveFolderClicked=function(e,t){var r=t?t.data:a.tree.selectedBranchData;if(1===r.access||2==r.access||!r.canEdit)return void T.warn(o.instant("MAIL_FOLDER_CANNOT_BE_MODIFIED",{folder:r.label}));var n=r.key,s=r.path.split("/"),d=s.slice(0,-1).join("/"),c=s.pop(),m=t?t.label:r.label;h.getFolderListForDropdown(r.path).then((function(a){const t=a;l.show({controller:"moveFolderController",templateUrl:"app/email/modals/move-folder.dlg.html",targetEvent:e,locals:{folders:t,folder:r.path,parentFolder:d},clickOutsideToClose:!1}).then((function(e){var a={folder:c,newFolder:m,parentFolder:d,newParentFolder:e.folder};i.post("~/api/v1/folders/folder-patch",a).then((function(){var e=r.owner+"|"+(a.newParentFolder?a.newParentFolder+"/":"")+a.folder;K.folderKeyChangeData={},K.folderKeyChangeData[n]=e}),(function(e){T.report(e)}))}),(function(){}))}),T.report)},a.moveFolderClickedDropdown=function(e){a.moveFolderClicked(e.event,e.branch)},a.newEmail=function(){const e=B.makeComposePacket(),a=B.getPopoutComposeUrl(e);W=window.open(a,"","resizable=1, "+I.dimensions.email)},a.newFolderClicked=function(e,t,i){if(i&&i.data&&3===i.data.access||a.tree.selectedBranchData&&3===a.tree.selectedBranchData.access){var r=i&&i.data?i.data:a.tree.selectedBranchData;h.getSharedFolderList(r.owner).then((function(t){let i=t.sort((function(e,a){return e.path.toLowerCase().localeCompare(a.path.toLowerCase())}));for(let e in i){let a=i[e].displayPath.split("/").length-1;i[e].name=i[e].displayPath.split("/")[i[e].displayPath.split("/").length-1];for(let t=0;t<a;t++)i[e].name="    "+i[e].name,null!=i[e].translatedName&&(i[e].translatedName="    "+i[e].translatedName)}l.show({controller:"createFolderController",templateUrl:"app/email/modals/create-folder.dlg.html",targetEvent:e,locals:{folders:i,parentFolder:r,owner:r.owner},clickOutsideToClose:!1}).then((function(e){if(e.success){var t=e.folder.path.split("/");t.length>1?(t.splice(t.length-1,1),t=t.join("/")):t="",t=t.toLowerCase();var i={label:e.name,data:{mid:e.folder.id,id:e.name,label:e.name,count:0,path:e.folder.path.toLowerCase(),canDelete:!0,canEdit:!0,access:3,key:r.owner+"|"+e.folder.path.toLowerCase(),owner:r.owner,isMappedFolder:!1,isMappedSubfolder:r.isMappedFolder||r.isMappedSubfolder,isShared:r.isMappedFolder||r.isMappedSubfolder}},n=!1,s=a.tree.map[r.owner+"|"+t];if(s||""===t||(s=a.shortTree.map[r.owner+"|"+t],n=!0),null!=s){n?a.shortTreeController.add_branch(s,i):a.treeController.add_branch(s,i);var l=y.getSortingFilteringParam("email","expandedBranches")||[];-1===l.findIndex((e=>e.toLowerCase()===s.data.key.toLowerCase()))&&(l.push(s.data.key),y.setSortingFilteringParam("email","expandedBranches",l))}else{var d=i.label.toLowerCase(),c=1;$.each(a.tree.data,(function(e,a){return 0===e||(c=e,!(d<a.label.toLowerCase())&&void 0)})),a.tree.data.splice(c,0,i)}n?a.shortTree.map[i.data.key]=i:a.tree.map[i.data.key]=i,s?s.children=h.sortFolders(s.children):a.tree.data=h.sortFolders(a.tree.data)}else"FOLDER_ALREADY_EXISTS"===e.response.data.message?T.report(o.instant("FOLDER_ALREADY_EXISTS")):"WINDOWS_FILE_LENGTH_EXCEEDED"===e.response.data.message?T.report(o.instant("FOLDER_LENGTH_EXCEEDED")):T.report(o.instant("ACTION_FAILED"))}),(function(){}))}),T.report)}else{r=i?i.data:{name:"",path:"",translatedName:"- "+s("translate")("ROOT_FOLDER")+" -"};h.getFolderListForDropdown().then((function(i){var n=t?"":r.owner;let s=i;l.show({controller:"createFolderController",templateUrl:"app/email/modals/create-folder.dlg.html",targetEvent:e,locals:{folders:s,parentFolder:r,owner:n},clickOutsideToClose:!1}).then((function(e){if(e.success){var t=e.folder.path.split("/");t.length>1?(t.splice(t.length-1,1),t=t.join("/")):t="",t=t.toLowerCase();var i={label:e.name,data:{mid:e.folder.id,id:e.name,label:e.name,count:0,path:e.folder.path.toLowerCase(),canDelete:!0,canEdit:!0,access:0,key:p.user.emailAddress+"|"+e.folder.path.toLowerCase(),owner:p.user.emailAddress,isMappedFolder:!1,isMappedSubfolder:!1,isShared:!1}},r=!1,n=a.tree.map[p.user.emailAddress+"|"+t];if(n||""===t||(n=a.shortTree.map[p.user.emailAddress+"|"+t],r=!0),null!=n){r?a.shortTreeController.add_branch(n,i):a.treeController.add_branch(n,i);var s=y.getSortingFilteringParam("email","expandedBranches")||[];-1===s.findIndex((e=>
46e.toLowerCase()===n.data.key.toLowerCase()))&&(s.push(n.data.key),y.setSortingFilteringParam("email","expandedBranches",s))}else{var l=i.label.toLowerCase(),d=1;$.each(a.tree.data,(function(e,a){return 0===e||(d=e,!(l<a.label.toLowerCase())&&void 0)})),a.tree.data.splice(d,0,i)}r?a.shortTree.map[i.data.key]=i:a.tree.map[i.data.key]=i,n?n.children=h.sortFolders(n.children):a.tree.data=h.sortFolders(a.tree.data)}else"FOLDER_ALREADY_EXISTS"===e.response.data.message?T.report(o.instant("FOLDER_ALREADY_EXISTS")):"WINDOWS_FILE_LENGTH_EXCEEDED"===e.response.data.message?T.report(o.instant("FOLDER_LENGTH_EXCEEDED")):T.report(o.instant("ACTION_FAILED"))}),(function(){}))}),T.report)}},a.newFolderClickedDropdown=function(e){a.newFolderClicked(e.event,e.isRootFolder,e.branch)},a.onBranchChanged=function(t,i){z=!0,K.markAfterPopout=!1,A.hideTreeOverlay();var n=a.tree.selectedBranchData.path!=t.data.path||a.tree.selectedBranchData.owner!=t.data.owner,s=null!=K.mailSearchCriteria.classificationFilter;(n||s&&!K.isInitialTreeLoad)&&
46(a.searchText&&(a.searchText="",h.searchText="",K.mailSearchCriteria.query=""),K.mailSearchCriteria.classificationFilter=null,K.accountClassificationEnabled&&K.showClassification?a.mailList.classificationTab="all":a.mailList.classificationTab=null,e.$broadcast("mail.mailListUnloaded"),K.listLoaded=!1,K.selectedCount=0,a.totalItems=0,We(),r((function(){a.tree.selectedBranchData=t.data,S.categoryOwner=ge(),Ke(),y.setSessionSortingFilteringParam("email","treeSelectedBranchData",t.data),h.lastSelectedBranchData=a.tree.selectedBranchData,Ae(!1),function(e){void 0===e&&(e=!0);a.mailList.sortType||K.onSortingChanged("internaldate",e);a.mailList.sortAscending||K.onSortOrderChanged(!1,e)}(!1),K.mailSearchCriteria.folder=t.data.path,K.mailSearchCriteria.ownerEmailAddress=t.data.owner,a.inActionProgess||a.mailPanelGrid.reset({keepSelection:!1})})))},a.onBranchOpen=function(e,a){var t=y.getSortingFilteringParam("email","expandedBranches");t||(t=[]);if(e.expanded)-1===t.findIndex((a=>a.toLowerCase()===e.data.key.toLowerCase()))&&t.push(e.data.key);else{var i=t.findIndex((a=>a.toLowerCase()===e.data.key.toLowerCase()));t.splice(i,1)}y.setSortingFilteringParam("email","expandedBranches",t)},a.onBranchSelect=function(e,t){a.selectedBranch=e,"mail_short"==t?a.treeController.deselect_all_branches():a.shortTreeController.deselect_all_branches()},a.openDisposableAddress=function(e,t){if(!K.disposableAddressEnabled)return;var i=t?t.data:a.tree.selectedBranchData;h.getFolderListForDropdown(null,!0).then((function(t){const r=t;l.show({controller:"disposableAddressController",templateUrl:"app/email/modals/disposable-address.dlg.html",targetEvent:e,locals:{alias:void 0,coreDataMail:h,currentFolder:i,folders:r},clickOutsideToClose:!1}).then((function(e){var t,i=p.user.emailAddress+"|"+e;for(t in a.tree.map)a.tree.map[t].data.isDisposable=t===i;for(t in a.shortTree.map)a.shortTree.map[t].data.isDisposable=t===i;Me()}),(function(){}))}))},a.openEditResourceModal=function(e,t){t||(t=a.tree.selectedBranchData);t||(t=a.treeController.get_selected_branch().data,branch&&(branch=branch.data));t||(t=a.shortTreeController.get_selected_branch().data,branch&&(branch=branch.data));C.settingsData.mappedResources.then((function(i){var r;if(i)for(var n=0;n<i.length;n++)if(1==i[n].shareType&&i[n].itemID.toLowerCase()===t.path.toLowerCase()&&i[n].ownerUsername===t.owner.split("@")[0]){r=i[n];break}r?a.openSharingModal(e,r):C.settingsData.resources.then((function(i){for(var n=0;n<i.length;n++)if(1===i[n].shareType&&i[n].resourceName.toLowerCase()===t.path.toLowerCase()){r={access:8,friendlyName:t.label,id:i[n].resourceName,isBeingShared:t.isBeingShared,owner:b.user.username,folderId:t.mid,isMappedFolder:t.isMappedFolder,isMappedSubfolder:t.isMappedSubfolder};break}(r||(r={access:8,friendlyName:t.label,id:t.path,isBeingShared:!1,owner:b.user.username,untranslatedName:t.untranslatedName,folderId:t.mid,isMappedFolder:t.isMappedFolder,isMappedSubfolder:t.isMappedSubfolder}))&&a.openSharingModal(e,r)}),(function(){}))}),(function(){}))},a.openSharingModal=async function(e,a){try{a.mapped||a.isMappedFolder||a.isMappedSubfolder?await l.show({controller:"editSharedFolderDialogController",controllerAs:"ctrl",templateUrl:"app/shared/modals/edit-shared-folder.dlg.html",targetEvent:e,clickOutsideToClose:!1,locals:{folderId:a.folderId,webcalLink:null,folder:null}}):await l.show({controller:"editOwnShareDialogController",controllerAs:"ctrl",templateUrl:"app/shared/modals/edit-own-share.dlg.html",targetEvent:e,locals:{folderId:a.folderId,folder:null}}),r((function(){ze(!0),qe()}))}catch(e){}},a.popout=async function(e,t){t||(t=!1);null==e&&(e=a.activeEmailID);var i=he(),r=ge();if("scheduled8c61c74014d4e679d52c0a6aca4342b"===i.toLowerCase()&&D.message.scheduledSendDate){let a=l.confirm({title:o.instant("SCHEDULE_SEND"),textContent:o.instant("WARNING_EDIT_SCHEDULED_EMAIL"),ok:o.instant("OK"),cancel:o.instant("CANCEL")});l.show(a).then((async function(){await sa([e],!0,!0);const a=B.makeComposePacket({owner:r,folder:i,uid:e}),t=B.getPopoutComposeUrl(a);(W=window.open(t,"","resizable=1, "+I.dimensions.email)).onbeforeunload=function(){"function"==typeof W.st_onbeforeunload&&W.st_onbeforeunload(),K.markAfterPopout=!0}}),(function(){}))}else{const a=B.makeEmailPacket(r,i,e),t=B.getPopoutUrl(a);(W=window.open(t,"emailID"+e,"resizable=1, "+I.dimensions.email)).onbeforeunload=function(){"function"==typeof W.st_onbeforeunload&&W.st_onbeforeunload(),K.markAfterPopout=!0}}},a.purgeMarked=function(t){if(0==a.totalItems)return void T.warn("NO_MESSAGES_IN_FOLDER");var r=a.selectedBranch;r||(r=a.treeController.get_selected_branch())||(r=a.shortTreeController.get_selected_branch());var n=l.confirmDeletion().textContent(s("translate")("CONFIRMATIONS_PURGE_MARKED_DELET
46ED",{name:r.label})).targetEvent(t);l.show(n).then((function(){var t={folder:a.getActiveFolder(),ownerEmailAddress:a.getActiveFolderOwner()};e.spinner&&e.spinner.show(),i.post("~/api/v1/mail/purge-marked-deleted",t).then((function(){h.resyncFolderUnreadCount(a.getActiveFolder(),a.getActiveFolderOwner()),a.mailPanelGrid.reset({keepSelection:!1}),e.spinner&&e.spinner.hide()}),(function(a){e.spinner&&e.spinner.hide(),T.report(a.data.message)}))}))},a.refreshEmailList=function(){a.inActionProgess||a.mailPanelGrid.reset({keepSelection:!1})},a.renameFolderClicked=function(e,t){var i=t?t.data:a.tree.selectedBranchData;if(1===i.access||2==i.access||!i.canEdit)return void T.warn(o.instant("MAIL_FOLDER_CANNOT_BE_MODIFIED",{folder:i.label}));var r=i.key,n=i.path.split("/"),s=n.slice(0,-1).join("/"),d=n.slice(-1)[0],c=t?t.data.isShared?t.data.id:t.label:i.isShared?i.id:i.label;l.show({controller:"editFolderController",templateUrl:"app/email/modals/edit-folder.dlg.html",targetEvent:e,locals:{name:c,currentFolder:d,parentFolder:s,owner:i.owner},clickOutsideToClose:!1}).then((function(e){if(e&&e.success){var t=!1,n=a.tree.map[r];n||(n=a.shortTree.map[r],t=!0),n.label=e.data.newName,n.data.label=e.data.newName,n.data.path=e.data.path,n.data.id=e.data.newName,n.data.canDelete=!0,n.data.canEdit=!0,n.data.access=0,n.data.key=p.user.emailAddress+"|"+e.data.path.toLowerCase(),t?(delete a.shortTree.map[r],a.shortTree.map[n.data.key]=n):(delete a.tree.map[r],a.tree.map[n.data.key]=n),(i=n.data).label=n.label;var o=a.shortTree.map[p.user.emailAddress+"|inbox"];a.shortTreeController.deselect_all_branches(),a.treeController.deselect_all_branches(),a.shortTreeController.select_branch(o),s=s.toLowerCase();var l=a.tree.map[p.user.emailAddress+"|"+s];l||(l=a.shortTree.map[p.user.emailAddress+"|"+s]),l?l.children=h.sortFolders(l.children):a.tree.data=h.sortFolders(a.tree.data),n.children&&n.children.length>0&&qe();var d=y.getSortingFilteringParam("email","expandedBranches")||[],c=d.findIndex((e=>e.toLowerCase()===r.toLowerCase()));-1!==c&&d.splice(c,1),d.push(n.data.key),y.setSortingFilteringParam("email","expandedBranches",d),i.expanded=!0}else T.report(e.response)}),(function(){}))},a.renameFolderClickedDropdown=function(e){a.renameFolderClicked(e.event,e.branch)},a.replyClicked=function(e){var t=a.mailPanelGrid.getSelectedItems();if(1===t.length){var i=t[0];i&&!i.isSeen&&a.markMessage("read",t[0].uid),W=O.popupReplyWindow(ge(),he(),t[0].uid,e)}},a.runFilterContext=Oe,a.runFilterDropdown=function(e){Pe(e.event,a.tree.selectedBranchData)},a.searchClicked=function(){h.searchText=a.searchText,K.mailSearchCriteria.query=h.searchText,K.skipNextMarkRead=!0,Ge()},a.selectAll=function(){a.mailPanelGrid.selectAll()},a.setSelectMode=Ae,a.treeController.addToCount=function(t,i){if(a.tree.map[t]){let e=a.tree.map[t].data.count+i;e<0&&(e=0),a.tree.map[t].data.count=e}if(a.shortTree.map[t]){let e=a.shortTree.map[t].data.count+i;e<0&&(e=0),a.shortTree.map[t].data.count=e}e.$broadcast("mail:unreadCountChanged")},a.treeExpanded=A.isExpanded,a.viewClicked=ye,g.confirmMessageSent=function(e,t,i){r((function(){if(i){let e={emailAddress:i.emailAddress,uid:i.uid,sentTime:i.sentTime,undoInProgress:i.undoInProgress,timeLeftMs:i.timeLeftMs};i.isScheduledMessage?k.report("MESSAGE_SCHEDULED"):(h.loadCurrentDelayData(e),na(),k.report("MESSAGE_SENT"))}else k.report("MESSAGE_SENT");var r=a.mailPanelGrid.getItemById(e);null!=r&&(1==t?r.isReplied=!0:2==t&&(r.isForwarded=!0))}))},K.categoryColorByName=function(e){const a=b.user.categories.find((a=>a.name===e));if(!a||-1==a.colorIndex)return null;const t=S.getCategoryColor(a.colorIndex);return t&&t.rgb?t.rgb:null},K.dragEmail=function(e){var t=$(e.target).attr("data").split("|"),i=parseInt(t[0],10),r=a.getSelectedUids(),n=r.indexOf(Number(i))>-1,s=2!==a.tree.selectedBranchData.access,o="",l=[];if(a.mailPanelGrid){var d=a.mailPanelGrid.getItemById(i);d&&(o=d.from&&d.from.email?d.from.email:d.fromAddress||"");var c=n?a.mailPanelGrid.getSelectedItems():d?[d]:[];l=Array.from(new Set(c.map((function(e){return e.from&&e.from.email?e.from.email:e.fromAddress||""})).filter((function(e){return!!e}))))}var m={uid:i,selected:r,dragSelected:n,folder:t[1],owner:a.tree.selectedBranchData.owner,hasPermission:s,senderEmail:o,senderEmails:l};e.dataTransfer.setData("text",JSON.stringify(m)),s?(e.dataTransfer.dropEffect="move",e.dataTransfer.effectAllowed="all"):(e.dataTransfer.dropEffect="none",e.dataTransfer.effectAllowed="none");K.selectedCount>1&&e.dataTransfer.setDragImage?e.dataTransfer.setDragImage(a.dragIcon,-18,-10):e.dataTransfer.setDragImage&&e.dataTransfer.setDragImage(a.dragIconSingle,-18,-10)},K.nextEmail=Je,K.onCategoryFilterChanged=ee,K.onClassificationTabChanged=function(e){a.searchText&&(a.searchText="",h.searchText="",K.mailSearchCriteria.query="");a.mailList.classificationTab=e,"all"===e?K.mailSearchCriteria.classificationFilter=null:(K.mailSearchCriteria.classificationFilter=e,K.mailSearchCriteria.folder="inbox",K.mailSearchCriteria.ownerEmailAddress=p.user.emailAddress,a.tree.selectedBranchData={},a.shortTree.selectedBranchData={},a.treeController&&a.treeController.deselect_all_branches&&a.treeController.deselect_all_branches(),a.shortTreeController&&a.shortTreeController.deselect_all_branches&&a.shortTreeController.deselect_all_branches(),y.setSessionSortingFilteringParam("email","treeSelectedBranchData",null),y.setSessionSortingFilteringParam("email","shortTreeSelectedBranchData",null));K.enableSpamfoo&&ie();K.listLoaded=!1,K.selectedCount=0,a.totalItems=0,We(),a.mailPanelGrid&&
46(z=!0,a.mailPanelGrid.reset({keepSelection:!1}))},K.onFilterChanged=function(e){switch(e){case"unread":a.mailList.filterType=0,a.mailList.filterValue=!1;break;case"read":a.mailList.filterType=0,a.mailList.filterValue=!0;break;case"replied":a.mailList.filterType=1,a.mailList.filterValue=!0;break;case"notReplied":a.mailList.filterType=1,a.mailList.filterValue=!1;break;case"followUp":a.mailList.filterType=4,a.mailList.filterValue=!0;break;case"attachments":a.mailList.filterType=7,a.mailList.filterValue=!0;break;case"tasks":a.mailList.filterType=8,a.mailList.filterValue=!0;break;default:a.mailList.filterType=void 0,a.mailList.filterValue=!0}K.skipNextMarkRead=!0,K.mailSearchCriteria.searchFlags=void 0,null!=a.mailList.filterType&&(K.mailSearchCriteria.searchFlags={},K.mailSearchCriteria.searchFlags[a.mailList.filterType]=a.mailList.filterValue);0===a.mailList.filterType&&!1===a.mailList.filterValue?a.mailPanelGrid.setOptions({itemsToGrabAtInit:4e4}):a.mailPanelGrid.setOptions({itemsToGrabAtInit:100});a.inActionProgess||a.mailPanelGrid.reset({keepSelection:!1})},K.onSortingChanged=function(e,a){K.sortBy=e,Ve(a)},K.onSortOrderChanged=function(e,a){K.sortReverse=e,Ve(a)},K.onToggleSearchBar=function(){a.$applyAsync((function(){K.searchBarVisible?(K.searchBarVisible=!1,a.searchText&&(a.searchText="",h.searchText=a.searchText,K.mailSearchCriteria.query=h.searchText,K.skipNextMarkRead=!0,Ge())):(K.searchBarVisible=!0,setTimeout((function(){const e=document.getElementById("searchBoxText");e&&e.focus()}),50))}))},K.showAiClassificationTabs=te,K.showClassificationMenu=function(){if(!(K.enableSpamfoo&&K.domainClassificationEnabled&&K.accountClassificationEnabled&&K.showClassification))return!1;return te()&&a.mailList.classificationTab&&"all"!==a.mailList.classificationTab},K.getMenuClassifications=function(){return K.menuClassifications},K.toggleClassification=function(){K.showClassification=!K.showClassification,i.post("~/api/v1/settings/user-mail",{userMailSettings:{showClassification:K.showClassification}}).then((function(){C.userSettings.showClassification=K.showClassification;var e=!!(K.mailSearchCriteria.classificationFilter||a.mailList.classificationTab&&"all"!==a.mailList.classificationTab);if(K.showClassification)h.loadClassificationCounts(),a.mailPanelGrid&&a.mailPanelGrid.repaint(!0),ae();else if(a.mailList.classificationTab=null,K.mailSearchCriteria.classificationFilter=null,e){var t=h.lastSelectedBranchData?h.lastSelectedBranchData.key:"",i=a.tree.map[t],r=!1;i||(i=a.shortTree.map[t],r=!0),i||(i=a.shortTree.map[p.user.emailAddress+"|inbox"],r=!0),i&&(r?a.shortTreeController.select_branch(i):a.treeController.select_branch(i),a.tree.selectedBranchData=i.data,K.mailSearchCriteria.folder=i.data.path,K.mailSearchCriteria.ownerEmailAddress=i.data.owner,y.setSessionSortingFilteringParam("email","treeSelectedBranchData",i.data),h.lastSelectedBranchData=i.data),Ke(),a.refreshEmailList()}else a.mailPanelGrid&&a.mailPanelGrid.repaint(!0)})).catch((function(){K.showClassification=!K.showClassification,C.userSettings.showClassification=K.showClassification}))},K.openAboutCategories=function(e){l.show({controller:"aboutCategoriesDialogController",controllerAs:"ctrl",templateUrl:"~/interface/app/email/modals/about-classifications.dlg.html",targetEvent:e,clickOutsideToClose:!0})},K.clearSpamClassificationData=function(){var e=l.confirmDeletion({title:o.instant("CONFIRMATION_REQUIRED"),textContent:o.instant("SPAMFOO_RESET_SPAM_DATA"),ok:o.instant("RESET"),cancel:o.instant("CANCEL")});l.show(e).then((function(){N.postClearSpamData().then((function(){k.report()}),T.report)}))},K.resetCategorization=function(){var e=l.confirmDeletion({title:o.instant("CONFIRMATION_REQUIRED"),textContent:o.instant("SPAMFOO_RESET_CLASSIFICATION_DATA"),ok:o.instant("RESET"),cancel:o.instant("CANCEL")});l.show(e).then((function(){N.postClearTabsData().then((function(){k.report()}),T.report)}))},K.openSpamFooUserDashboard=function(){var e=L.getToken(!0);if(!e)return;if(!window.stHA)return void re(e,null);p.highAvailabilityId().then((function(a){a?re(e,a):G.pop("error","","Unable to determine the HA node for the SpamFoo dashboard.")}),T.report)},K.enableSpamfoo=window.stEnableSpamfoo,K.spamFooActive=window.stSpamFooActive,K.previousEmail
46=Qe,K.resetFilters=function(){e.$broadcast("doClearCategoryFilters"),K.onFilterChanged("all")},K.setSelectMode=Ae,K.toggleSelectMode=function(){a.selectMode?Ae(!1,!0):Ae(!0)},a.folderPropertiesClicked=function(e){const t=a.tree.selectedBranchData;a.openEditResourceModal(e,t)},a.previousEmail=Qe,a.nextEmail=Je,window.dragEmail=K.dragEmail,K.readyMenu=async function(e,t){var i=await Le();a.$applyAsync((function(){a.dropdownOptions=i,r((function(){t(e)}),0)}))},a.printMessage=async function(){try{await O.showPrintPopupAfterLoad(D.navigationPacket.owner,D.navigationPacket.folder,D.navigationPacket.uid,D.mode||"html",!1)}catch(e){T.report(e)}},K.dismissUndo=oa,K.undoNotificationUndoClick=async function(){await sa([h.currentDelayData.uid],!1),oa()},K.avatarPromises={},function(){de(),na(),v.watchForChanges(a,de),a.$on("themeService:changed",Q),a.$on("mail.reloadSources",qe),a.$on("mail.avatarLoaded",ce),a.$on("mail.refreshGrid",He),a.$on("mail.removeGridItems",je),a.$on("mail.updateGridClassification",Xe),a.$on("mail.selectNextAfterRemoval",Ye),p.init().then((function(){!function(){K.hasReadPermission=xe(),K.hasFullPermission=Be(),K.canRunFilters=Ne(),a.$watch("[tree.selectedBranchData.access, tree.selectedBranchData.isMappedFolder, tree.selectedBranchData.isMappedSubfolder, tree.selectedBranchData.id]",(function(){K.hasReadPermission=xe(),K.hasFullPermission=Be(),K.canRunFilters=Ne()})),a.$on("signalR.mailHub.client.contentFilterProgress",Re),a.treeController.deselect_all_branches&&a.shortTreeController.deselect_all_branches&&(a.treeController.deselect_all_branches(),a.shortTreeController.deselect_all_branches());window.addEventListener("resize",j),r((function(){ze(),ne(),K.showPurgeMarked=2===C.userSettings.deleteOption||3===C.userSettings.deleteOption,K.hideMailAvatars=C.userSettings.hideMailAvatars,"right"===K.previewPaneOption&&(K.mailListView=$("#mailListView"),localStorage.resizableMailListWidth&&(K.mailListView.css("min-width",localStorage.resizableMailListWidth),K.mailListView.css("max-width",localStorage.resizableMailListWidth)),$(".mail-list-resize-handle").on("mousedown",Ze)),void 0===K.domainClassificationEnabled&&(K.domainClassificationEnabled=C.userDomainSettings.enableClassification),void 0===K.accountClassificationEnabled&&(K.accountClassificationEnabled=C.userSettings.enableClassification),void 0===K.showClassification&&(K.showClassification=C.userSettings.showClassification);var e=a.mailList.classificationTab,t=y.getSessionSortingFilteringParam("email","treeSelectedBranchData");e&&"all"!==e&&K.accountClassificationEnabled&&K.showClassification?(a.tree.selectedBranchData={},a.shortTree.selectedBranchData={},K.mailSearchCriteria.folder="inbox",K.mailSearchCriteria.ownerEmailAddress=p.user.emailAddress,K.mailSearchCriteria.classificationFilter=e):(e&&"all"!==e&&(a.mailList.classificationTab=null),a.tree.selectedBranchData=t||a.tree.selectedBranchData,a.shortTree.selectedBranchData=y.getSessionSortingFilteringParam("email","shortTreeSelectedBranchData")||a.shortTree.selectedBranchData),Ke(),S.categoryOwner=ge(),K.disposableAddressEnabled=p.user.settings.features.enableDisposableAddresses,void 0===K.domainClassificationEnabled&&(K.domainClassificationEnabled=C.userDomainSettings.enableClassification),void 0===K.accountClassificationEnabled&&(K.accountClassificationEnabled=C.userSettings.enableClassification),void 0===K.showClassification&&(K.showClassification=C.userSettings.showClassification),K.enableSpamfoo&&ie(),a.$on("$destroy",J),a.treeController.deselect_all_branches(),a.shortTreeController.deselect_all_branches();const r=S.getCategoryFilter("email");r.allSelected()||ee(r.categoryData);const n=h.reloadMailTreeOnEnter?Ue(!0):Ue();!async function(){try{const e=await i.get("~/api/v1/settings/content-filter-groups");K.contentFilters=e.data.contentFilterGroups}catch(e){K.contentFilters=[]}}(),n.then((function(){!K.isClassifying&&K.enableSpamfoo&&K.domainClassificationEnabled&&K.accountClassificationEnabled&&K.showClassification&&(h.loadClassificationCounts(),ae())})),Me(),X=setInterval(Me,15e3),K.isLoaded=!0}))}(),M.init().then((function(){}),(function(e){null!=e&&T.report(o.instant(e.message||""))}))}),(function(e){null!=e&&T.report(o.instant(e.message||""))})),a.tree=h.getMailTree(),a.shortTree=h.getShortMailTree(),a.lastSelectedBranchData=h.lastSelectedBranchData,a.mailList=h.getMailList(),a.rootScopeBindings.push(e.$on("mail.hideMessagePaneMobile",oe)),a.$on("mail.messageDoesNotExist",se),window.toggleFlag=a.toggleFlag;const t=document.getElementById("MailPanelGrid");K.messageListObserver=new MutationObserver(Y),K.messageListObserver.observe(t,{childList:!0,subtree:!0}),a.$on("treeState:stateChange",me),a.$on("categoriesUpdated",ue),a.$on("disposableAddress:changed",pe),a.$on("classificationCountsUpdated",fe),function(){const e={};let t=!1;const i=_.debounce((function(){if(t=!0,Object.keys(e).length){let t;Object.keys(e).forEach((i=>{const n=parseInt(i);if(D.message&&n===D.message.mid)if(e[i].added){let t=B.makeEmailPacket(ge(
46),he(),e[i].added,n,{softReload:!0});a.$broadcast("loadMessage",t)}else if(e[i].mod&&!e[i].removed){let t=B.makeEmailPacket(ge(),he(),e[i].mod,n,{softReload:!0});a.$broadcast("loadMessage",t)}else e[i].removed&&(t=(e,a)=>{r((()=>{e.focusedIndex=a,e.focusItem(),e.selectItemByIndex(a,{})}),100)});delete e[i]})),a.mailPanelGrid.reset({},t),a.$applyAsync()}t=!1}),1e3);a.$on("mailListRemoved",(function(n,s){var o=[];if(-1!==a.ignoreSignalUids.indexOf(-1))return void(a.ignoreSignalUids=[]);if(!0===f.ignoreMailSignal)return void(f.ignoreMailSignal=void 0);var l="";f.ignoreMailSignal&&"string"==typeof f.ignoreMailSignal&&(l=f.ignoreMailSignal.toLowerCase(),f.ignoreMailSignal=void 0);for(let e=0;e<s.length;++e){var d=s[e];-1===a.ignoreSignalUids.indexOf(d.uid)?d.folder.toLowerCase()===K.mailSearchCriteria.folder.toLowerCase()&&(d.ownerEmailAddress===K.mailSearchCriteria.ownerEmailAddress||""===d.ownerEmailAddress&&p.user.emailAddress)&&d.folder.toLowerCase()!==l&&o.push(d):a.ignoreSignalUids=_.without(a.ignoreSignalUids,d.uid)}var c=[];for(let e=0;e<o.length;++e)c.push(o[e].uid);y.setLocalParam("deletedUids",c);const m=()=>{o.length&&(o.forEach((a=>{e[a.mid]=e[a.mid]||{},e[a.mid].removed=a.uid})),i())};t?r(m,50):m()})),a.$on("mailListAdded",(function(a,n){let s=[];for(var o=0;o<n.length;++o){var l=n[o];l.folder.toUpperCase()===K.mailSearchCriteria.folder.toUpperCase()&&(l.ownerEmailAddress.toUpperCase()===K.mailSearchCriteria.ownerEmailAddress.toUpperCase()||""===l.ownerEmailAddress&&p.user.emailAddress)&&s.push(l)}const d=()=>{s.length&&(s.forEach((a=>{e[a.mid]=e[a.mid]||{},e[a.mid].added=a.uid})),i())};t?r(d,50):d()})),a.$on("mailListModified",(function(n,s){if(f.ignoreMailSignal)return;let o,l=[];for(var d=0;d<s.length;++d){var c=s[d];if(!o||o.mid!==c.mid){if(-1!==a.ignoreSignalUids.indexOf(c.uid)){a.ignoreSignalUids=_.without(a.ignoreSignalUids,c.uid),o=c;continue}c.folder.toLowerCase()===K.mailSearchCriteria.folder.toLowerCase()&&(c.ownerEmailAddress===K.mailSearchCriteria.ownerEmailAddress||""===c.ownerEmailAddress&&p.user.emailAddress)&&(o=c,l.push(c))}}const m=()=>{l.length&&(l.forEach((a=>{e[a.mid]=e[a.mid]||{},e[a.mid].mod=a.uid})),i())};t?r(m,50):m()}))}(),K.mailSearchCriteria={folder:"",ownerEmailAddress:"",sortType:a.mailList.sortType,sortAscending:a.mailList.sortAscending,searchFlags:void 0,query:h.searchText||"",classificationFilter:null},null!=a.mailList.filterType&&(K.mailSearchCriteria.searchFlags={},K.mailSearchCriteria.searchFlags[a.mailList.filterType]=a.mailList.filterValue);Z(),a.$on("resetMailList",Ge),a.$on("refreshEmailList",a.refreshEmailList),a.rootScopeBindings.push(e.$on("signalR.mailHub.client.sharesChanged",le)),history.replaceState({showMessage:a.showMessagePane},null,null),window.addEventListener("popstate",ra)}()}e.$inject=["$rootScope","$scope","$element","$http","$timeout","$q","$filter","$translate","$mdDialog","$sanitize","$compile","$state","$log","$localStorage","coreData","coreDataMail","$window","$controller","coreDataSettings","coreLicensing","apiCategories","userDataService","claimsService","messageData","authStorage","preferencesStorage","errorHandling","successHandling","treeState","simpleXmppService","popupService","restrictedSenders","contentFilterData","emailFunctions","themesService","emailNavigation","i18n","spamfooClassification","tutorialService","toaster"],angular.module("smartermail").controller("emailSectionController",e)}();
47!function(){"use strict";angular.module("smartermail").directive("mailAttachmentNew",["$http",function(e){return{restrict:"E",replace:!0,scope:{item:"=",isCompose:"=",removeAttachment:"&"},link:function(t,i,n){t.deleteClicked=function(e,i){i.stopPropagation(),i.preventDefault(),t.item.previewBlob&&(window.URL.revokeObjectURL(t.item.previewBlob),t.item.previewBlob=null),t.removeAttachment&&t.removeAttachment()(e,i)},t.item.previewImage&&e.get(t.item.previewImage,{responseType:"blob"}).then((function(e){t.item.previewBlob=window.URL.createObjectURL(e.data)}))},template:'\n                    <div class="emailAttachment" title="{{item.filename}}">\n                        <i ng-if="!item.previewImage && !item.allAttachments" class="toolsicon toolsicon-file{{(item.type ? (\'-\' + item.type) : \'\')}}"></i>\n                        <i ng-if="!item.previewImage && item.allAttachments" class="toolsicon toolsicon-download dl-all-icon"></i>\n                        <div ng-if="item.previewImage" class="previewImage"><img ng-src="{{item.previewBlob || \'~/interface/img/misc/file-image.svg\'}}"/></div>\n                        <div class="emailAttachmentInfo">
47\n                            <span class="emailAttachmentName">{{item.filename}}</span>\n                            <span class="emailAttachmentSize"><span ng-if="item.allAttachments">{{::"APPROXIMATELY" | translate}} </span>{{::item.size | bytes}}</span>\n                        </div>\n                        <div class="att-remove-button" ng-if="isCompose">\n                            <div class="btn-container" ng-click="$parent.deleteClicked($parent.item, $event)">\n                                <i class="toolsicon toolsicon-close"></i>\n                            </div>\n                        </div>\n                    </div>'}}])}();
48!function(){"use strict";function e(e,s,a,t,n,o,i,r,d,c,l,m,g,u,f,p,v,S,h,w,E,k,T,C,y,I,D,A,P,M){var N,O=this;s.activeTrackersCount=0,s.contacts=[],s.convertLocalToUserTime=y.convertLocalToUserTime,s.hideNoMessageText=!0,s.isPopout=-1!=window.location.href.indexOf("#/popout/"),s.isReadOnly=!0,s.showTrustInfo=!1,s.spinner=new h,S.senderIsBlocked=!1,O.emailCtrl=void 0,O.iFrameLoaded=!1,O.isLoaded=!1,O.senderActivated=!1,O.activationResolver=null;var L=null;function _(e){U(void 0,P.makeEmailPacket(S.navigationPacket.owner,S.navigationPacket.folder,S.navigationPacket.uid,void 0,{softReload:!e}))}O.plainTextOnly=!1,s.forwardClicked=function(e){const a=P.makeComposePacket({owner:S.navigationPacket.owner,folder:S.navigationPacket.folder,uid:S.navigationPacket.uid,reply:e}),t=P.getPopoutComposeUrl(a);s.isPopout?r.location.href=t:window.open(t,"","resizable=1, "+T.dimensions.email)},s.isEmailUsers=function(e){return e===l.user.emailAddress},s.onDownloadRaw=async function(e){try{await I.downloadEmlFile(s.getActiveFolderOwner(),s.getActiveFolder(),e||s.getSelectedUids())}catch(e){w.report(e)}},s.replyClicked=function(e){if(s.markMessage("read",S.message.uid,!0),"scheduled8c61c74014d4e679d52c0a6aca4342b"===S.message.folder&&S.message.scheduledSendDate){let a=d.confirm({title:i.instant("SCHEDULE_SEND"),textContent:i.instant("WARNING_EDIT_SCHEDULED_EMAIL"),ok:i.instant("OK"),cancel:i.instant("CANCEL")});d.show(a).then((async function(){await s.moveEmails([S.navigationPacket.uid],S.navigationPacket.folder,S.navigationPacket.owner,"drafts",S.navigationPacket.owner);const a=P.makeComposePacket({owner:S.navigationPacket.owner,folder:"drafts",uid:s.movedUIDs[0],reply:e}),t=P.getPopoutComposeUrl(a);s.isPopout?r.location.href=t:window.open(t,"","resizable=1, "+T.dimensions.email),delete s.movedUIDs}),(function(){}))}else{const a=P.makeComposePacket({owner:S.navigationPacket.owner,folder:S.navigationPacket.folder,uid:S.navigationPacket.uid,reply:e}),t=P.getPopoutComposeUrl(a);s.isPopout?r.location.href=t:window.open(t,"","resizable=1, "+T.dimensions.email)}},s.sendNowClicked=async function(){S.message.isDraft=!1,await s.moveEmails([S.navigationPacket.uid],S.navigationPacket.folder,S.navigationPacket.owner,"sent items",S.navigationPacket.owner)},O.allowRemoteForMessage=async function(n){if(n)if("ALL_ORIGINS"==n){var o=angular.copy(S.message.blockedContentOrigins);o.length=o.length-1,await i(o)}else await i([n]);else await s.markMessage("bypassRemoteContent",S.message.uid,!0),t((()=>_(!0)));async function i(s){try{e.spinner.show();let n=await a.get("~/api/v1/settings/user-mail"),o={userMailSettings:{remoteContentExceptions:[].concat(n.data.userMailSettings.remoteContentExceptions).concat(s)}};await a.post("~/api/v1/settings/user-mail",JSON.stringify(o)),t((()=>_(!0)))}catch(e){w.report(e)}finally{e.spinner.hide()}}},O.categoryColorByName=function(e){const s=function(e){if(!e)return null;var s=$.grep(S.messageCategories,(s=>s.name.toUpperCase()===e.toUpperCase()));return s.length>0?s[0]:null}(e);if(!s||-1==s.colorIndex)return null;const a=u.getCategoryColor(s.colorIndex);return a&&a.rgb?a.rgb:null},O.closeWindow=function(){window.close()},O.inviteAccept=async function(){try{e.spinner.show();const a=S.message.meetingInfo;await D.acceptInvite(a.calendarOwner,a.calendarId,a.eventId,a.raw,a.replyingComment),s.markMessage("read",S.message.uid,!0),"deleted items"!=S.navigationPacket.folder?s.$parent.deleteClicked(S.message.uid,void 0,void 0,void 0,!0):p.pop("success",i.instant("RESPONSE_SENT"),i.instant("RESPONSE_SENT_SUCCESS"))}catch(e){k.showErrorMessage(e)}
48finally{e.spinner.hide()}},O.inviteTentativeAccept=async function(){try{e.spinner.show();const a=S.message.meetingInfo;await D.tentativeAcceptInvite(a.calendarOwner,a.calendarId,a.eventId,a.raw,a.replyingComment),s.markMessage("read",S.message.uid,!0),"deleted items"!=S.navigationPacket.folder?s.$parent.deleteClicked(S.message.uid,void 0,void 0,void 0,!0):p.pop("success",i.instant("RESPONSE_SENT"),i.instant("RESPONSE_SENT_SUCCESS"))}catch(e){k.showErrorMessage(e)}finally{e.spinner.hide()}},O.inviteCheck=function(e){const s=S.message.meetingInfo;D.showAvailabilityModal(s.start,s.attendees,e)},O.inviteDecline=async function(){try{e.spinner.show();const a=S.message.meetingInfo;await D.declineInvite(a.calendarOwner,a.calendarId,a.eventId,a.raw,a.replyingComment),s.markMessage("read",S.message.uid,!0),"deleted items"!=S.navigationPacket.folder?s.$parent.deleteClicked(S.message.uid,void 0,void 0,void 0,!0):p.pop("success",i.instant("RESPONSE_SENT"),i.instant("RESPONSE_SENT_SUCCESS"))}catch(e){k.showErrorMessage(e)}finally{e.spinner.hide()}},O.inviteDelete=async function(){try{e.spinner.show();const a=S.message.meetingInfo;await D.deleteInvite(a.calendarOwner,a.calendarId,a.eventId,a.recurrenceID),"deleted items"!=S.navigationPacket.folder?s.$parent.deleteClicked(S.message.uid):p.pop("success",i.instant("RESPONSE_SENT"),i.instant("RESPONSE_SENT_SUCCESS"))}catch(e){k.showErrorMessage(e)}finally{e.spinner.hide()}},O.inviteDetails=V,O.openProposeChangesModal=async function(e){try{var a={info:S.message.meetingInfo,owner:S.message.meetingInfo.calendarOwner,calId:S.message.meetingInfo.calendarId};await D.openProposeChangesModal(a,a.info.start,a.info.eventId,e,a.info.replyingComment),s.markMessage("read",S.message.uid,!0),"deleted items"!=S.navigationPacket.folder?s.$parent.deleteClicked(S.message.uid,void 0,void 0,void 0,!0):p.pop("success",i.instant("RESPONSE_SENT"),i.instant("RESPONSE_SENT_SUCCESS"))}catch(e){k.showErrorMessage(e)}},O.onCategoryChange=function(e){e.selected=!e.selected;var a={removeCategories:!e.selected,categories:[e.name]};s.markMessageCategories(a,S.message.uid)},O.onClearAllCategories=function(){s.markMessageCategories({clearCategories:!0},S.message.uid)},O.proposalAccept=function(){V(null,S.message.meetingInfo,!0)},O.rejectReadReceipt=async function(){try{await I.rejectReadReceipt(S.message.ownerEmailAddress,S.message.folder,S.message.uid),S.message.requestingReadReceipt=!1}catch(e){w.report(e)}},O.resetCategoryForm=function(){s.setupCategories(),O.categoryEditsForm.$setPristine(),O.categoryEditsForm.$setUntouched()},O.saveCategoryChanges=function(){if(O.isInSharedFolder)return;var e=S.messageCategories.reduce((function(e,s){return s.selected&&e.push(s.name),e}),[]),a={clearCategories:!0,categories:e};s.markMessageCategories(a,S.message.uid),S.message.categories=e,O.resetCategoryForm()},O.setCategoryForm=function(e){O.categoryEditsForm=e},r.onPopupEventChanged=function(){e.$broadcast("refreshEmailList")},O.toggleThemeOverride=()=>{M.toggleMessageViewThemeOverride()},O.isDarkMode=M.isThemeDark(),O.themeViewOverride=M.isMessageViewThemeOverride(),y.init(),async function(){try{await l.init(!0),!l.user.isSysAdmin&&l.user.isPrimarySysAdmin}catch(e){w.report(e)}s.isPopout&&U(null,S.navigationPacket)}(),$(document).ready((function(){$(document).on("keydown",G)})),s.$on("mail.mailListLoaded",F),s.$on("mail.mailListUnloaded",x),s.$on("mail.selectionCountChanged",b),s.$on("loadMessage",U),s.$on("unloadMessage",B),s.$on("mail.refreshView",z),$(window).on("resize.doResize",Y),s.$on("resize.doResize",Y),s.$on("$destroy",j),O.themeWatcher=e.$on("themeService:changed",(()=>{O.isDarkMode=M.isThemeDark(),O.themeViewOverride=M.isMessageViewThemeOverride()})),window.addEventListener("storage",H),s.isPopout||t((function(){s.hideNoMessageText=!1}),300);let R=[];async function U(o,r){if(O.emailCtrl&&0===O.emailCtrl.selectedCount)return O.messageDoesNotExist=!1,void S.unloadMessage();R.forEach((e=>e.resolve())),function(){O.senderActivated=!1;var e=L=n.defer();e.promise.then((function(){L===e&&(O.senderActivated=!0)})),O.activationResolver=e.resolve.bind(e)}(),O.iFrameLoaded=!1;const d=S.messageLoaded&&e.spinner&&e.spinner.isShown()?e.spinner:s.spinner;
48if(d.show(S.messageLoaded?1e3:250),O.isSoftReload=r&&r.softReload,!O.isSoftReload&&S.messageLoaded&&S.unloadMessage(),r&&r.mid&&!r.uid)try{let e={OwnerEmailAddress:r.owner,Folder:r.folder,Mid:r.id};const s=await a.post("~/api/v1/mail/mid-to-uid",e);r.mid=void 0,r.uid=s.data.uid}catch(e){}r&&(S.navigationPacket=P.makeEmailPacket(r.owner,r.folder,r.uid,void 0)),s.hideNoMessageText=!0,null!=S.navigationPacket.uid&&(S.message.uid=S.navigationPacket.uid),S.message.owner=S.navigationPacket.owner;var c={};null!=S.navigationPacket.uid&&(c={OwnerEmailAddress:S.navigationPacket.owner,Folder:S.navigationPacket.folder,UID:S.navigationPacket.uid});var u="~/api/v1/mail/message";function p(){const e=n.defer();return e.promise.isResolved=!1,e.promise.finally((()=>{e.promise.isResolved=!0})),e}3===S.navigationPacket.reply&&(u+="/forward"),s.isReadOnly=!0;const v=p(),h=a.post(u,c,{timeout:v.promise});R.push(v);const E=p(),k=a.get("~/api/v1/folders/list-email-folders",{timeout:E.promise});async function T(a){try{if(O.plainTextOnly=a.data.plainTextOnly,!a.data.messageData.uid||void 0===a.data.messageData.uid)return S.unloadMessage(),O.messageDoesNotExist=!0,void e.$broadcast("mail.messageDoesNotExist",O.messageDoesNotExist);if(S.message.mid===a.data.messageData.mid&&(S.message.uid=a.data.messageData.uid),S.message.uid===a.data.messageData.uid){function c(){if(m.userSettings.remoteTrackersExceptions&&m.userSettings.remoteTrackersExceptions.length>0&&S.message.foundTrackers&&S.message.foundTrackers.length>0&&(O.activeTrackers=S.message.foundTrackers,S.message.foundTrackers=O.activeTrackers.filter((e=>{var s=!1;return m.userSettings.remoteTrackersExceptions.includes(e.id)&&(s=!0),!s}))),S.message.foundTrackers&&S.message.foundTrackers.length>0){for(var e=0;e<S.message.foundTrackers.length;e++){var a=S.message.foundTrackers[e].id;S.message.foundTrackers[e].allowed=!1,S.message.foundTrackers[e].revert=function(){c();var e=document.getElementById("messageViewFrame");e&&e.contentWindow&&e.contentWindow.allowTracker&&e.contentWindow.allowTracker(a)}}s.activeTrackersCount=S.message.foundTrackers.length}else s.activeTrackersCount=0}if(s.hadUnsafeCode=a.data.messageData.hadUnsafeCode,s.htmlIsStillUnsafe=a.data.messageData.htmlIsStillUnsafe,s.imagesBlocked=a.data.messageData.imagesBlocked,s.cleansedFromAddress=a.data.messageData.cleansedFromAddress,await S.loadMessage(a.data.messageData),s.isDeleted=void 0!==S.message.isDeleted&&S.message.isDeleted,a.data.scheduledSendDate&&(S.message.scheduledSendDate=new Date(a.data.scheduledSendDate.endsWith("Z")?a.data.scheduledSendDate:a.data.scheduledSendDate+"Z"),y.initialized?S.message.scheduledSendDateUserTime=y.convertLocalToUserTimeBasic(S.message.scheduledSendDate):s.convertLocalToUserTime(S.message.scheduledSendDate).then((function(e){S.message.scheduledSendDateUserTime=e}),(function(e){w.report(e)}))),S.navigationPacket.mode?S.mode=S.navigationPacket.mode:"junk e-mail"===(S.message.folder||"").toLowerCase()||O.plainTextOnly?S.message.bypassRemoteContent&O.isSoftReload&&!O.plainTextOnly?S.mode="html":S.mode="text":S.mode="html",t((function(){s.viewAsClicked(S.mode)})),O.isInScheduled=S.message.folder&&-1!==S.message.folder.toLowerCase().indexOf("scheduled"),O.isInJunk=S.message.folder&&-1!==S.message.folder.toLowerCase().indexOf("junk e-mail"),O.isInDeleted=S.message.folder&&-1!==S.message.folder.toLowerCase().indexOf("deleted items"),O.isSentItems=S.message.folder&&-1!==S.message.folder.toLowerCase().indexOf("sent items"),O.isUsersEmail=(S.message.fromAddress.email?S.message.fromAddress.email:S.message.fromAddress)===l.user.emailAddress,c(),s.convertLocalToUserTime(S.message.date).then((function(e){e.getSeconds()>=30&&e.setMinutes(e.getMinutes()+1),e.setSeconds(0),S.message.userDate=e,S.message.userDataMoment=moment(e).calendar()}),(function(e){w.report(e)})),S.message.fromAddress.email){var n=g.getContactByEmail(S.message.fromAddress.email)||{};S.message.fromAddress.displayAs=n.displayAs}if(S.senderIsBlocked=!1,S.message.meetingInfo||W(S.message,S.mode),O.onRestrictedAddressesUpdated&&O.onRestrictedAddressesUpdated(),O.onRestrictedAddressesUpdated=s.$on("restricted-addresses-updated",d),O.onUserSettingsLoad&&O.onUserSettingsLoad(),O.onUserSettingsLoad=s.$on("user-settings:loaded",d),d(),S.message&&S.message.attachments.length>1){for(var o=0,r=0;r<S.message.attachments.length;++r)o+=S.message.attachments[r].size;S.message.attachments.push({allAttachments:!0,filename:i.instant("FILENAME_ALL_ATTACHMENTS"),size:o,link:S.message.allAttachmentsLink})}if(S.message.meetingInfo&&S.message.meetingInfo.recipientInfo){let u=S.message.meetingInfo.recipientInfo.meetingInviteAction;1!==u&&3!==u&&O.isInJunk&&(S.message.meetingInfo.showAccept=!1,S.message.meetingInfo.showDecline=!1,S.message.meetingInfo.showPropose=!1,S.message.meetingInfo.showDetail
48s=!1)}}s.isPopout&&!S.message.isSeen&&s.markMessage("read",S.message.uid,!0),O.messageDoesNotExist=!1,S.messageLoaded=!0,e.$broadcast("mail.messageDoesNotExist",O.messageDoesNotExist)}finally{s.hideNoMessageText=!1,e.$applyAsync()}async function d(){if(!S.message.fromAddress)return;let e=S.message.fromAddress.email;switch(S.isTrustedSender=S.message.trustInfo.trustedSenderLevel>0,S.message.trustInfo.trustedSenderLevel){case 0:S.trustedFromSource="NONE";break;case 1:S.trustedFromSource="USER";break;case 2:S.trustedFromSource="CONTACTS";break;case 3:S.trustedFromSource="DOMAIN";break;case 4:S.trustedFromSource="GAL";break;case 5:S.trustedFromSource="SYSTEM";break;default:S.trustedFromSource="OTHER"}S.senderIsBlocked=await C.isBlockedSender(e),S.isSenderInGAL=await C.isSenderInGAL(e)}}R.push(E),n.all([h,k]).then((async function(e){e[0]&&await T(e[0]),e[1]&&function(e){O.isInSharedFolder=!1;const a=e&&e.data?e.data:{},t=Array.isArray(a.folderList)?a.folderList:[],n=(s.getActiveFolderOwner&&s.getActiveFolderOwner()||"").toLowerCase(),o=(s.getActiveFolder&&s.getActiveFolder()||"").toLowerCase();if(a.delayedMessages)f.loadCurrentDelayData(a.delayedMessages[0]);else{let e={};f.loadCurrentDelayData(e)}for(let e=0;e<t.length;++e){const a=i(t[e]);if(a){O.isInSharedFolder=a.access&&0!=a.access,S.prop.access=a.access,s.isReadOnly=2===a.access;break}}function i(e){if(!e)return!1;const s="string"==typeof e.ownerEmailAddress?e.ownerEmailAddress.toLowerCase():"",a="string"==typeof e.path?e.path.toLowerCase():"";if(s===n&&a===o)return e;if(Array.isArray(e.subFolders))for(let s=0;s<e.subFolders.length;++s){const a=i(e.subFolders[s]);if(a)return a}return!1}}(e[1])}),(async function(e){e&&-1===e.status?console.log("loadMessage requests were cancelled by the user"):await T(e)})).finally((()=>{d.hide(),R=[]}))}function F(){O.isLoaded=!0}function x(){O.isLoaded=!1}function b(e,s){var a;O.selectStatusMessage=(a=s)&&a>0?o("translate")("YOU_HAVE_MESSAGES_SELECTED",{count:a}):o("translate")("NO_MESSAGE_SELECTED")}function H(){if(-1!==window.location.href.indexOf("popout")){var e=c.getLocalParam("deletedUids");e&&e.length>0&&function(e){for(var s=0;s<e.length;++s)if(S.message.uid===e[s]){O.messageDoesNotExist=!0,B(),c.setLocalParam("deletedUids",[]);break}}(e)}}function G(e){if(80==e.keyCode&&(e.metaKey||e.ctrlKey))if(e.preventDefault(),s.isPopout)s.printMessage();else{var a=s.getSelectedUids();a&&a.length&&I.showPrintPopupAfterLoad(s.tree.selectedBranchData.owner,s.tree.selectedBranchData.path,a[0],S&&S.mode||"html",!1)}}function W(e,s){if(S.message&&S.message.foundTrackers&&S.message.foundTrackers.length>0)for(var a=0;a<S.message.foundTrackers.length;a++){var n=S.message.foundTrackers[a];e.messageHTML=A.replaceTracker(e.messageHTML,n.id)}var o=document.getElementById("messageViewFrame");if(o&&o.contentWindow&&"function"==typeof o.contentWindow.setHTML){e.translations=e.translations||{},e.translations.MESSAGE_HAS_NO_TEXT_CONTENT=i.instant("MESSAGE_HAS_NO_TEXT_CONTENT"),e.translations.MESSAGE_HAS_NO_HTML_CONTENT=i.instant("MESSAGE_HAS_NO_HTML_CONTENT"),e.translations.MESSAGE_ENCRYPTED_CANNOT_VIEW=i.instant("MESSAGE_ENCRYPTED_CANNOT_VIEW"),e.translations.MESSAGE_SIGNED=i.instant("MESSAGE_SIGNED"),o.contentWindow.scrollTo(0,0),o.contentWindow.setHTML(e,s),o.style.display="block";(function(e){const s=e.find("img[src]");if(0===s.length)return Promise.resolve();const a=Array.from(s).map((function(e){return e.complete?Promise.resolve():new Promise((function(s){e.addEventListener("load",s,{once:!0}),e.addEventListener("error",s,{once:!0})}))}));return Promise.race([Promise.all(a),new Promise((function(e){setTimeout(e,500)}))])})($(o.contentDocument||o.contentWindow.document)).then((function(){t((function(){O.iFrameLoaded=!0}))}))}else t((function(){W(e,s)}),200)}function z(){S.message.meetingInfo&&"header"!==S.mode||W(S.message,S.mode)}function B(){s.hideNoMessageText=!0,e.$broadcast("mail.hideMessagePaneMobile"),S.unloadMessage(),N&&t.cancel(N),N=t((function(){s.hideNoMessageText=!1}),300)}function V(e,s,a){if(S.message.meetingInfo.isDeleted)return void w.report(i.instant("ERROR_MEETING_DOES_NOT_EXIST"));var t=S.message.meetingInfo.calendarOwner||"",n=S.message.meetingInfo.calendarId||"",o=S.message.meetingInfo.eventId||"";if(!t||!n||!o){var r=[];return t||r.push("owner"),n||r.push("calId"),void(o||r.push("eventId"))}const d={owner:t,calId:n,id:o,data:{start:S.message.meetingInfo.start,allDay:S.message.meetingInfo.isAllDay}};a&&(d.data.proposal={start:S.message.meetingInfo.start,end:S.message.meetingInfo.end}),localStorage.apptPopout=JSON.stringify(d);var c=`#/popout/appointment/${t}/${n}/${o}`;S.message.meetingInfo.recurrenceID&&(c+=`?instanceId=${moment(S.message.meetingInfo.recurrenceID).utc().format("YYYYMMDDHHmmss")}`),window.open(c,"_blank","resizable=1, "+T.dimensions.calendar)}function Y(){setTimeout((function(){$(".emailPopout").scrollTop(0)}),100)}function j(){$(window).off("resize.doResize"),$(document).off("keydown",G),O.themeWatcher&&O.themeWatcher()}}e.$inject=["$rootScope","$scope","$http","$timeout","$q","$filter","$translate","$window","$mdDialog","preferencesStorage","userDataService","coreDataSettings","coreDataContacts","coreDataCategories","coreDataMail","toaster","apiCategories","messageData","spinnerFactory","errorHandling","successHandling","errorMessageService","popupService","restrictedSenders","userTimeService","emailFunctions","emailInviteFunctions","emailTracker","emailNavigation","themesService"],angular.module("smartermail").controller("messageController",e)}();
49!function(){"use strict";angular.module("smartermail").directive("fileStorageCard",(function(){return e.$inject=["$scope","$http","fileInfoProvider"],{restrict:"EA",templateUrl:"app/file-storage/file-storage-card.html",controller:e};function e(e,t,i){function r(e){let t=i.iconFromExtension(e);return`${stSiteRoot}fonts/tools-icons/img/${t}.svg`}this.$onInit=async function(){if(e.file.previewImage)try{let i=await t.get(e.file.previewImage,{responseType:"blob"});e.previewBlob=window.URL.createObjectURL(i.data)}catch(t){e.previewUrl=r(e.file.type)}else e.previewUrl=r(e.file.type)},this.$onDestroy=function(){e.previewBlob&&window.URL.revokeObjectURL(e.previewBlob)}}}))}();
50!function(){"use strict";function e(e,t,r,a,n,o,l,i,s,d,c,u,p,f,h,g,m,v,C,b,w,F,O,S,E,D,k){var T=this;const I=1;var y,N,L,R,x,P,A=!1;function U(){B()}function B(){var e=v.isThemeDark();T.dragIcon=T.dragIcon||document.createElement("img"),T.dragIcon.src=e?"img/dragdrop/file-storage/multi-dark.png":"img/dragdrop/file-storage/multi.png",T.dragIcon.width=36,T.dragIcon.height=36,T.dragIconSingle=T.dragIconSingle||document.createElement("img"),T.dragIconSingle.src=e?"img/dragdrop/file-storage/single-dark.png":"img/dragdrop/file-storage/single.png",T.dragIconSingle.width=30,T.dragIconSingle.height=32}function M(){T.cloudStorageEnabled&&i.get("~/api/v1/settings/connected-services").then((function(e){if(e.data.connectedService){for(var t=!0,r=!0,a=!0,n=!0,o=!0,i=!0,s=0;s<e.data.connectedService.length;s++)switch(e.data.connectedService[s].type){case 2:t=!1,y||(y={label:e.data.connectedService[s].friendlyName||l.instant("DROPBOX"),data:{isCloudFolder:!0,isProviderRoot:!0,name:"DROPBOX",serverName:"dropbox",type:e.data.connectedService[s].type,size:0,path:"/CLOUD_DROPBOX",subFolders:[],count:"",serviceId:e.data.connectedService[s].id}},W("dropbox"));break;case 4:n=!1,N||(N={label:e.data.connectedService[s].friendlyName||l.instant("ONEDRIVE"),data:{isCloudFolder:!0,isProviderRoot:!0,name:"ONEDRIVE",serverName:"onedrive",type:e.data.connectedService[s].type,size:0,path:"/CLOUD_ONEDRIVE",subFolders:[],count:"",serviceId:e.data.connectedService[s].id}},W("onedrive"));break;case 7:r=!1,x||(x={label:e.data.connectedService[s].friendlyName||l.instant("LEITZCLOUD"),data:{isCloudFolder:!0,isProviderRoot:!0,name:"LEITZCLOUD",serverName:"leitzcloud",type:e.data.connectedService[s].type,size:0,path:"/CLOUD_LEITZCLOUD",subFolders:[],count:"",serviceId:e.data.connectedService[s].id}},W("leitzcloud"));break;case 8:i=!1,P||(P={label:e.data.connectedService[s].friendlyName||l.instant("VBOXX"),data:{isCloudFolder:!0,isProviderRoot:!0,name:"VBOXX",serverName:"vboxx",type:e.data.connectedService[s].type,size:0,path:"/CLOUD_VBOXX",subFolders:[],count:"",serviceId:e.data.connectedService[s].id}},W("vboxx"));break;case 9:a=!1,R||(R={label:e.data.connectedService[s].friendlyName||l.instant("GOOG
50LE_DRIVE"),data:{isCloudFolder:!0,isProviderRoot:!0,name:"GOOGLE_DRIVE",serverName:"googlepicker",type:e.data.connectedService[s].type,size:0,path:"/CLOUD_GOOGLE",subFolders:[],count:"",serviceId:e.data.connectedService[s].id},infoIcon:"toolsicon-open_in_new"});break;case 10:o=!1,L||(L={label:e.data.connectedService[s].friendlyName||l.instant("OWNCLOUD"),data:{isCloudFolder:!0,isProviderRoot:!0,name:"OWNCLOUD",serverName:"owncloud",type:e.data.connectedService[s].type,size:0,path:"/CLOUD_OWNCLOUD",subFolders:[],count:"",serviceId:e.data.connectedService[s].id}},W("owncloud"))}t&&(y=void 0),r&&(x=void 0),n&&(N=void 0),o&&(L=void 0),a&&(R=void 0),i&&(P=void 0),T.cloudStorageTreeData=[],y&&T.cloudStorageTreeData.push(y),x&&T.cloudStorageTreeData.push(x),N&&T.cloudStorageTreeData.push(N),L&&T.cloudStorageTreeData.push(L),P&&T.cloudStorageTreeData.push(P),R&&T.cloudStorageTreeData.push(R)}}),(function(){}))}function V(e,t,r){var a;if(t.data.key=r.id,t.data.files=r.files,t.data.files.forEach((t=>{t.cloudProvider=e,t.permissions=J(t.permissions)})),t.data.subFolders=r.subFolders,t.children=[],t.permissions={view:!0&(a=(a=r.permissions)||0),read:!0&a,rename:!0&a,makeSubFolder:!0&a,makeFile:!0&a,deleteFolder:!0&a,moveFolder:!0&a},r.subFolders)for(let a=0;a<r.subFolders.length;a++){var n=r.subFolders[a],o={label:n.name,data:{isCloudFolder:!0,name:n.name,serverName:e,subFolders:[],key:n.id,path:`${t.path}/${n.id}`}};V(e,o,n),t.children.push(o)}}function W(r){var a=T.cloudStorageTreeController.get_selected_branch();function n(e){if("NO_PROVIDER_CONNECTION"===e.data.message){switch(r){case"dropbox":y.data.criticallyErrored=!0,y.data.busy=!1;break;case"leitzcloud":x.data.criticallyErrored=!0,x.data.busy=!1;break;case"onedrive":N.data.criticallyErrored=!0,N.data.busy=!1;break;case"owncloud":L.data.criticallyErrored=!0,L.data.busy=!1;break;case"vboxx":P.data.criticallyErrored=!0,P.data.busy=!1}let e=l.instant(r.toUpperCase());h.report(l.instant(e?"NO_PROVIDER_CONNECTION_WITH_NAME":"NO_PROVIDER_CONNECTION",{provider:e}))}else h.report(e)}switch(r){case"dropbox":y.data.busy=!0,y.data.files=[],y.data.subFolders=[],y.children=[],a&&"dropbox"===a.data.serverName&&(a=y,T.cloudStorageTreeController.select_branch(a),e.spinner.show()),i.get("~/api/v1/filestorage/folders/dropbox").then((function(e){V(y.data.serverName,y,e.data.folder),a&&"dropbox"===a.data.serverName&&(T.cloudStorageTreeController.deselect_all_branches(),T.cloudStorageTreeController.select_branch(a))}),n).finally((function(){y.data.busy=!1,t.$applyAsync(),e.spinner.hide()}));break;case"leitzcloud":x.data.busy=!0,x.data.files=[],x.data.subFolders=[],x.children=[],a&&"leitzcloud"===a.data.serverName&&(a=x,T.cloudStorageTreeController.select_branch(a),e.spinner.show()),i.get("~/api/v1/filestorage/folders/leitzcloud").then((function(e){V(x.data.serverName,x,e.data.folder),a&&"leitzcloud"===a.data.serverName&&(T.cloudStorageTreeController.deselect_all_branches(),T.cloudStorageTreeController.select_branch(a))}),n).finally((function(){x.data.busy=!1,t.$applyAsync(),e.spinner.hide()}));break;case"onedrive":N.data.busy=!0,N.data.files=[],N.data.subFolders=[],N.children=[],a&&"onedrive"===a.data.serverName&&(a=N,T.cloudStorageTreeController.select_branch(a),e.spinner.show()),i.get("~/api/v1/filestorage/folders/onedrive").then((function(e){V(N.data.serverName,N,e.data.folder),a&&"onedrive"===a.data.serverName&&(T.cloudStorageTreeController.deselect_all_branches(),T.cloudStorageTreeController.select_branch(a))}),n).finally((function(){N.data.busy=!1,t.$applyAsync(),e.spinner.hide()}));break;case"owncloud":L.data.busy=!0,L.data.files=[],L.data.subFolders=[],L.children=[],a&&"oncloud"===a.data.serverName&&(a=L,T.cloudStorageTreeController.select_branch(a),e.spinner.show()),i.get("~/api/v1/filestorage/folders/owncloud").then((function(e){V(L.data.serverName,L,e.data.folder),a&&"owncloud"===a.data.serverName&&(T.cloudStorageTreeController.deselect_all_branches(),T.cloudStorageTreeController.select_branch(a))}),n).finally((function(){L.data.busy=!1,t.$applyAsync(),e.spinner.hide()}));break;case"vboxx":P.data.busy=!0,P.data.files=[],P.data.subFolders=[],P.children=[],a&&"vboxx"===a.data.serverName&&(a=P,T.cloudStorageTreeController.select_branch(a),e.spinner.show()),i.get("~/api/v1/filestorage/folders/vboxx").then((function(e){V(P.data.serverName,P,e.data.folder),a&&"vboxx"===a.data.serverName&&(T.cloudStorageTreeController.deselect_all_branches(),T.cloudStorageTreeController.select_branch(a))}),n).finally((function(){P.data.busy=!1,t.$applyAsync(),e.spinner.hide()}));break;default:e.spinner.hide()}}function X(e,t){if(e.data.path===t)return e;for(var r=0;r<e.children.length;++r){var a=X(e.children[r],t);if(a)return a}return null}function H(e){var t=e?e.data:c.parameters.currentBranch;return!!t.path&&t.path.indexOf("86bc2a5f-89d8-4e76-a3e8-c53cbebe565d")>-1}function K(e){var t=e?e.data:c.parameters.currentBranch;return!!t.path&&t.path.indexOf("PUBLIC_CHAT_FILES")>-1}function z(e){return"ROOT_FOLDER"===(e?e.data.name:c.parameters.currentBranch.name)}function G(e){return"ALL_FILES"===(e?e.data.name:c.parameters.currentBranch.name)}function J(e){return{read:!0&(e=e||0),download:!0&e,write:!0&e,delete:!0&e,rename:!0&e,move:!0&e}}function Y(){t.selectedCards.length=0}function Z(e,r){a((function(){T.searchUpdate(),t.selectedCards.length=0}))}function j(){if("fileName"===T.sortField)T.isDescending=T.sortReverse;else T.isDescending=!T.sortReverse;c.parameters.sortField=T.sortField,c.parameters.sortReverse=T.sortReverse,c.parameters.isDescending=T.isDescending}function q(){T.checkboxes.reset(),T.tableParams.reload()}function Q(e,r){t.treeExpanded=r.expanded,T.isFileStorageSelected=Re(),a((function(){$(window).trigger("resize")}),250)}function ee(e){te(e.card,e.event)}function te(e,a){var o=T.treeController.get_selected_branch();let l=c.getFolderList(),i=JSON.parse(JSON.stringify(l));i=i.sort((function(e,t){return e.path.toLowerCase().localeCompare(t.path.toLowerCase())}));for(let e in i){let t=i[e].path.split("/").length-2;i[e].name=i[e].path.split("/")[i[e].path.split("/").length-2];for(let r=0;r<t;r++)i[e].name="    "+i[e].name,void 0!==i[e].translatedName&&(i[e].translatedName="    "+i[e].translatedName);"/"==i[e].path&&(i[e].name=n("translate")("MY_FILES"))}r.show({controller:"fsMoveFilesController",templateUrl:"app/file-storage/modals/move-files.dlg.html",targetEvent:a,locals:{selectedCards:e,folder:o,folders:i},clickOutsideToClose:!1}).then((function(e){e&&e.failure&&h.report(e.failure),T.deselectAll(),t.selectMode=!1,t.listController.updateDisplayList(),T.searchUpdate(!0),t.$applyAsync()}),(function(){t.$applyAsync()}))}function re(t){var r=t.id;if(t.attachedFile)c.downloadFile("~/attachedfile?data="+t.encryptedIdString,t.fileName,null,!1).then((function(){e.spinner.hide()}),(function(t){h.report(t),e.spinner.hide()}));else if(t.cloudProvider)ne(t.cloudProvider,t.id,t.fileName);else{var a="~/api/v1/filestorage/"+r+"/download";c.downloadFile(a,t.fileName,null,!0).then((function(){e.spinner.hide()}),(function(t){h.report(t),e.spinner.hide()}))}}async function ae(){var r=Se();if(1!==r.length){var a=r[0].cloudProvider?`~/api/v1/filestorage/download-bulk/${r[0].cloudProvider}`:"~/api/v1/filestorage/download-bulk",n=l.instant("BULK_DOWNLOAD"),o={f
50ileIDs:$.map(r,(function(e){return e.id}))};await c.downloadLargeFile(a,n,o,"filestorage-bulk-download")&&(T.deselectAll(),t.selectMode=!1),e.spinner.hide()}else re(r[0])}function ne(t,r,a,n,o){e.spinner.show();var l=`~/api/v1/filestorage/download/${t}/${r}`;n&&o&&(l+=`/${encodeURIComponent(n)}/${encodeURIComponent(o)}`),c.downloadFile(l,a,null,!0).then((function(){e.spinner.hide()}),(function(t){h.report(t),e.spinner.hide()})).finally(e.spinner.hide)}function oe(e){console.log("File uploaded"),c.uploadNewFile(e).then((function(){console.log("file upload complete"),T.searchUpdate()}),(function(){}))}function le(e){t.disconnectProviderClicked(e.event,e.branch)}function ie(e){t.editProviderClicked(e.event,e.branch)}function se(e){t.refreshProviderClicked(e.event,e.branch)}function de(e,t){return r.show({controller:"documentStatusDlgController",templateUrl:"app/file-storage/modals/document-status.dlg.html",targetEvent:e.event,locals:{selectedCards:e.card.selectedCards,fileid:t},clickOutsideToClose:!0}).then((function(e){return!(!e||!e.success)})).catch((function(){return!1}))}async function ce(){try{let e=await i.post("~/wopi/GetLockedFilesByUser");if(!e.data)throw new Error("Unexpected response structure: "+JSON.stringify(e.data));T.isLockedFile=e.data}catch(e){throw console.error("Error obtaining locked documents:",e),e}}async function ue(e){for(var t in await ce(),T.isLockedFile)if(e==T.isLockedFile[t])return console.log("File is LockedFile"+e),!0;return!1}async function pe(){return i.post("~/wopi/GetWOPIAccessToken").then((e=>{if(e.data&&e.data.token)return e.data.token;throw new Error("Unexpected response structure: "+JSON.stringify(e.data))})).catch((e=>(console.error(e),"Unknown")))}async function fe(e,t,r){return i.post("~/wopi/getdiscoveryurl/"+t,{editorType:e,filename:t,edit:r}).then((e=>{if(e.data&&e.data.discoveryUrl)return e.data.discoveryUrl;throw new Error("Unexpected response structure: "+JSON.stringify(e.data))})).catch((e=>(console.error(e),"Unknown")))}async function he(e){var t=e.card;if(await ue(t.id)&&!await de(e,t.id))return;try{const e=D.convertToFullLocale(D.language),r=await fe(2,t.fileName,"edit"),a=await pe();if(!r||"Unknown"===r)return void h.reportError("COLLABORA_SERVER_UNAVAILABLE");if(!a||"Unknown"===a)return void console.error("Failed to retrieve WOPI access token");const n=new URL(`${window.location.origin}/wopi/files/${encodeURIComponent(t.id)}`),o=`${r}?WOPISrc=${encodeURIComponent(n.toString())}&access_token=${encodeURIComponent(a)}&lang=${encodeURIComponent(e)}`;window.open(o,"_blank")}catch(e){console.error("Error in wopiEditCollabora:",e)}}async function ge(e){try{if(!e||!e.card||!e.card.id)return void console.error("Invalid arguments passed to wopiEdit");const t=e.card;if(await ue(t.id))if(!await de(e,t.id))return;const r=D.convertToFullLocale(D.language),a=await fe(1,t.fileName,"edit");if(!a||"Unknown"===a)return void h.reportError("ONLYOFFICE_SERVER_UNAVAILABLE");const n=await pe();if(!n)return void console.error("Failed to retrieve WOPI access token");const o=`${window.location.origin}/wopi/files/${encodeURIComponent(t.id)}`,l=`${a}?wopisrc=${encodeURIComponent(o)}&ui=${encodeURIComponent(r)}`,i=document.createElement("form");i.method="POST",i.action=l,i.target="_blank";const s=document.createElement("input");s.type="hidden",s.name="access_token",s.value=n,i.appendChild(s),document.body.appendChild(i),i.submit(),document.body.removeChild(i),console.log("WOPI Edit request submitted successfully")}catch(e){console.error("Error in wopiEdit:",e.message)}}t.isLoaded=!1,t.files=[],t.treeData=[],T.tableParams=new b({}),T.checkboxes=w.init(),T.checkboxes.table=T.tableParams,T.checkboxes.specialKey=e=>e.id,T.cloudStorageEnabled=!0,T.cloudStorageTreeData=[],T.cloudStorageTreeController={},T.currentView="CARD_VIEW",T.fileStorageEnabled=!0,T.treeController={},T.maxEditorRetries=100,t.totalCount=0,t.listDataCache=c.listDataCache,t.listDataProvider=c.listDataProvider,t.listController={},t.treeExpanded=g.isExpanded,t.activeSearch=!1,T.showDiskMenu=!1,t.selectedCards=[],t.selectMode=!1,t.overwriteModalShown=!1,t.searchText=c.parameters.searchText,T.sortField=c.parameters.sortField,T.sortReverse=c.parameters.sortReverse,j(),t.branchMouseUp=function(e,r){if(!r||3!==r.which)return;if(Ne(e)){if(e.data.isProviderRoot){r.stopPropagation(),r.preventDefault(),t.dropdownEvent=$.extend(!0,{},r),t.dropdownOptions=[{key:"editProvider",click:ie,params:{branch:e,event:r},translateKey:"EDIT"},{key:"disconnectProvider",click:le,params:{branch:e,event:r},translateKey:"DELETE_CONNECTION"}],"googlepicker"!=e.data.serverName&&t.dropdownOptions.unshift({key:"refreshProvi
50der",click:se,params:{branch:e,event:r},translateKey:"REFRESH"});let a='<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']" menu-like="true" menu-class="\'abn-tree-row\'"></st-context-menu>',n=$("#context-menu-area");if(n){let e=o(a)(t);n.append(e)}}}else if(!(H(e)||K(e)||G(e)||function(e){var t=e?e.data.name:c.parameters.currentBranch.name;return"SMARTERMAIL"===t}(e))){r.stopPropagation(),r.preventDefault(),t.dropdownEvent=$.extend(!0,{},r),t.dropdownOptions=[{key:"newFolder",click:t.newFolderClickedDropdown,params:{branch:e,event:r},translateKey:"NEW_FOLDER"}],z(e)||G(e)||(t.dropdownOptions=t.dropdownOptions.concat([{key:"moveFolder",click:t.moveFolderClickedDropdown,params:{branch:e,event:r},translateKey:"MOVE_FOLDER"},{key:"renameFolder",click:t.editFolderClickedDropdown,params:{branch:e,event:r},translateKey:"EDIT_FOLDER"},{key:"deleteFolder",click:t.deleteFolderClickedDropdown,params:{branch:e,event:r},translateKey:"DELETE_FOLDER"}]));let a='<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']" menu-like="true" menu-class="\'abn-tree-row\'"></st-context-menu>',n=$("#context-menu-area");if(n){let e=o(a)(t);n.append(e)}return}},t.deleteDropdown=be,t.deleteFolderClicked=function(e,t){var a=T.treeController.get_selected_branch();if(z(t=t||a)||H(t)||K(t)||G(t))h.warn("EDIT_ROOT_FOLDER");else try{var o=r.confirmDeletion().textContent(n("translate")("CONFIRMATIONS_DELETE_FOLDER",{name:t.data?t.data.name:""})).targetEvent(e);r.show(o).then((function(){T.folderDeletePromise(t)}),null)}catch(e){h.reportAndHideSpinner(e.message)}},t.deleteFolderClickedDropdown=function(e){t.deleteFolderClicked(e.ev,e.branch)},t.deleteWithConfirmation=function(e){Fe(Se(),e),q()},t.disconnectProviderClickedDropdown=le,t.disconnectProviderClicked=function(e,t){if(!(t=t||T.cloudStorageTreeController.get_selected_branch())||!Ne(t)||!t.data.isProviderRoot)return;var a=JSON.stringify({serviceIDs:[t.data.serviceId]}),n=r.confirmDeletion().textContent(l.instant("CONFIRMATIONS_DELETE_CLOUD_STORAGE"));r.show(n).then((function(){i.post("~/api/v1/settings/connected-services-delete",a).then((function(){var e=T.cloudStorageTreeData.indexOf(t);e>=0&&T.cloudStorageTreeData.splice(e,1)}),h.report)}))},t.downloadBulk=ae,t.downloadPromise=re,t.editFolderClicked=function(e,t){if(z(t)||H(t)||K(t)||G(t))h.warn("EDIT_ROOT_FOLDER");else{var a=t?t.data:c.parameters.currentBranch;r.show({controller:"fsEditFolderController",templateUrl:"app/file-storage/modals/file-storage-edit-folder.dlg.html",targetEvent:e,locals:{folderInfo:a},clickOutsideToClose:!1}).then((function(e){var t=e.folderInfo,r=e.oldInfo;c.editFolder(t,r).then((function(){}),(function(e){var t=e.data.message;null==t&&(t=e.status+" "+e.statusText),h.report("ACTION_FAILED")}))}),(function(){}))}},t.editFolderClickedDropdown=function(e){t.editFolderClicked(e.event,e.branch)},t.editProviderClicked=function(e,t){if(!(t=t||T.cloudStorageTreeController.get_selected_branch())||!Ne(t)||!t.data.isProviderRoot)return;r.show({locals:{connectionId:t.data.serviceId,allowDelete:!1},controller:"userCloudStorageDialogController",controllerAs:"ctrl",templateUrl:"app/settings/user-settings/external-accounts/cloud-storage.dlg.html",targetEvent:e,clickOutsideToClose:!1}).then((function(e){let r=JSON.stringify({id:t.data.serviceId,name:e.name});i.post("~/api/v1/settings/connected-service-rename",r).then((function(r){m.report(r),t.label=e.name}),h.report)}),(function(){}))},t.editProviderClickedDropdown=ie,t.editItem=function(e,r){if(t.selectMode){var a=t.selectedCards.indexOf(e);a>-1?t.selectedCards.splice(a,1):t.selectedCards.push(e)}else T.isCloudStorageFolder||e.attachedFile||T.showFileEditDialog(e,r)},t.editItemDropdown=function(e){t.editItem(e.card,e.event)},t.getImageSource=async function(e,t,r){if(!e){let e=p.iconFromExtension(t);return stSiteRoot+"fonts/tools-icons/img/"+e+".svg"}try{let t=await i.get(e,{responseType:"blob"});window.URL.createObjectURL(t.data)}catch(e){let r=p.iconFromExtension(t);return stSiteRoot+"fonts/tools-icons/img/"+r+".svg"}return e},t.isCardSelected=function(e){return t.selectedCards.indexOf(e)>-1},t.moveDropdown=ee,t.moveFiles=function(e){te(Se(),e)},t.moveFolderClicked=function(e,t){if(z(t)||H(t)||K(t)||G(t))h.warn("EDIT_ROOT_FOLDER");
50else{t||T.treeController.get_selected_branch();var a=t?t.data:c.parameters.currentBranch;let o=c.getFolderList(),s=JSON.parse(JSON.stringify(o));s=s.sort((function(e,t){return e.path.toLowerCase().localeCompare(t.path.toLowerCase())}));for(let e in s){let t=s[e].path.split("/").length-2;s[e].name=s[e].path.split("/")[s[e].path.split("/").length-2];for(let r=0;r<t;r++)s[e].name="    "+s[e].name,void 0!==s[e].translatedName&&(s[e].translatedName="    "+s[e].translatedName);"/"==s[e].path&&(s[e].name=n("translate")("MY_FILES"))}r.show({controller:"moveFolderControllerFileStorage",templateUrl:"app/file-storage/modals/file-storage-move-folder.dlg.html",targetEvent:e,locals:{folders:s,folder:a.path},clickOutsideToClose:!1}).then((function(e){var t={folder:a.path,newFolderName:a.name,parentFolder:"",newParentFolder:e.folder};i.post("~/api/v1/filestorage/folder-patch",t).then((function(){}),(function(){h.report(l.instant("ACTION_FAILED"))}))}),(function(){}))}},t.moveFolderClickedDropdown=function(e){t.moveFolderClicked(e.event,e.branch)},t.newFolderClicked=function(e,a){let o=c.getFolderList(),i=JSON.parse(JSON.stringify(o));i=i.sort((function(e,t){return e.path.toLowerCase().localeCompare(t.path.toLowerCase())}));for(let e in i){let t=i[e].path.split("/").length-2;i[e].name=i[e].path.split("/")[i[e].path.split("/").length-2];for(let r=0;r<t;r++)i[e].name="    "+i[e].name,void 0!==i[e].translatedName&&(i[e].translatedName="    "+i[e].translatedName);"/"==i[e].path&&(i[e].name=n("translate")("MY_FILES"))}var s=a||T.treeController.get_selected_branch();G(s)&&(s=t.treeData[0].children[I]);r.show({locals:{folders:i,folderInfo:{parentFolderPath:s.data.path,treeData:t.treeData}},controller:"fsNewFolderController",controllerAs:"ctrl",templateUrl:"app/file-storage/modals/file-storage-new-folder.dlg.html",targetEvent:e,clickOutsideToClose:!1}).then((function(e){c.addFolder(e.folderInfo).then((function(e){T.treeController.expand_branch(s),Te(s,!0)}),(function(e){"FOLDER_ALREADY_EXISTS"==e.data.message?h.report(l.instant("FOLDER_ALREADY_EXISTS")):h.report(l.instant("ACTION_FAILED"))}))}),(function(){}))},t.newFolderUploadClicked=function(e,t){},t.newFolderClickedDropdown=function(e){t.newFolderClicked(e.event,e.branch)},t.onBranchChanged=function(r){var a;T.deselectAll(),c.parameters.currentTreeBranch=r,c.parameters.currentBranch=r.data,a=r.data.isCloudFolder?JSON.stringify({folder:c.parameters.currentBranch.key,cloudService:c.parameters.currentBranch.serverName}):JSON.stringify({folder:c.parameters.currentBranch.path});T.hasFiles?t.tempUploaderData=a:t.uploaderData=a;T.tableParams.page(1),T.searchUpdate(),t.listController.reset(),t.listController.updateDisplayList(),e.windowWidth<=737&&(t.treeExpanded=!1,g.isExpanded=t.treeExpanded);T.isAllFiles=G(r),T.isRootFolder=z(r),T.isMeetingWorkspaceFolder=H(r),T.isChatFilesFolder=K(r),T.isCloudStorageFolder=Ne(r),T.isFileStorageSelected=Re(),T.cloudStorageBranchAllowDelete=Ie(),T.cloudStorageBranchCanUpload=ye()},t.onBranchSelect=function(t,a){if("cloudStorage"===a)switch(t.data.name){case"DROPBOX":case"LEITZCLOUD":case"ONEDRIVE":case"OWNCLOUD":case"VBOXX":t.data.busy&&e.spinner.show();break;case"GOOGLE_DRIVE":return function(){A?e():gapi.load("client:picker",e);function e(){function e(e){e.data.success||h.Report(e);var r=new google.picker.DocsView(google.picker.ViewId.DOCS).setIncludeFolders(!0).setEnableDrives(!1).setMode(google.picker.DocsViewMode.LIST);(new google.picker.PickerBuilder).enableFeature(google.picker.Feature.MINE_ONLY).addView(r).setOAuthToken(e.data.token).setDeveloperKey(e.data.key).setAppId(e.data.id).setCallback(t).build().setVisible(!0)}A=!0,i.get("~/api/v1/settings/google-picker-args").then(e,h.report)}function t(e){if("picked"!=e.action||0==e.docs.length)return;let t=e.docs[0];t.mimeType.toLowerCase().startsWith("application/vnd.google-apps.")?r.show({locals:{fileName:t.name,mimeType:t.mimeType},controller:"googleExportController",controllerAs:"ctrl",templateUrl:"app/file-storage/modals/google-export.dlg.html",clickOutsideToClose:!1}).then((function(e){ne("googlepicker",t.id,t.name,e.mime,e.extension)}),(function(){})):ne("googlepicker",t.id,t.name)}
50}(),!1}T.treeController.deselect_all_branches(),T.cloudStorageTreeController.deselect_all_branches()},t.onMouseUp=function(e,r,a){if(t.selectMode)return;if(3===r.which||a&&1===r.which){r.stopPropagation(),r.preventDefault(),t.dropdownEvent=$.extend(!0,{},r),t.dropdownOptions=Ce(e);var n='<st-context-menu options="dropdownOptions" event="dropdownEvent" '+(a?'menu-like="::true" menu-class="::\'file-card-menu\'" direction="\'left\'" vert-offset="-35"':"")+"></st-context-menu>",l=$("#context-menu-area");if(l){var i=o(n)(t);l.append(i)}}},t.refreshProviderClicked=function(e,t){if(!(t=t||T.cloudStorageTreeController.get_selected_branch())||!Ne(t)||!t.data.isProviderRoot)return;W(t.data.serverName)},t.refreshProviderClickedDropdown=se,t.showActionsMenu=function(e,r,n){r.stopPropagation(),r.preventDefault(),t.dropdownEvent=$.extend(!0,{},r);var o=Ce(e);t.$applyAsync((function(){t.dropdownOptions=o,a((function(){n(r)}),0)}))},t.uploadFile=function(e,r){t.tempUploaderData&&(t.uploaderData=t.tempUploaderData,t.tempUploaderData=void 0);var a=c.parameters.currentBranch;if(a.isCloudFolder)return void Pe(a.serverName,a);var n=[],o=r,l=a.files,i=$.grep(l,(function(e){var t=o?o.fileName:"";return!!e&&t.toLowerCase()===e.fileName.toLowerCase()}));if(i.length>0){var s=l.indexOf(i[0]);s>-1&&(l=l.splice(s,1)),n.push(o),oe(n)}else 0===i.length&&(n.push(o),oe(n))},t.isAttachedFileFolder=xe,t.isLockedFile=ue,T.hasSubFolders=function(){const e=c.getFolders();return!(!e||0===e.length)&&(0!==e[0].data.subFolders[1].data.subFolders.length||e.length>1)},T.deleteNoConfirmation=function(e,t){try{T.deletePromise(e)}catch(e){h.reportAndHideSpinner(e.message)}},T.deletePromise=function(r){if(r[0].cloudProvider){var a=$.map(r,(e=>e.id)),n=JSON.stringify({fileIDs:a});let t=r[0].cloudProvider;e.spinner.show(),i.post(`~/api/v1/filestorage/delete-files/${t}`,n).then((function(e){}),h.report).finally((function(){var e=c.parameters.currentBranch;Pe(t,e)}))}else c.deleteFiles(r).then((function(){t.files=c.getFilteredFiles(),t.selectedCards.length=0,0===t.files.length&&(t.selectMode=!1),e.spinner.hide()}),(function(e){var t=e.data.message;null==t&&(t=e.status+" "+e.statusText),h.reportAndHideSpinner(t)}))},T.deselectAll=Y,T.dragFile=function(e){t.selectMode||(t.selectMode=!0);var r=function(e){for(var r=0;r<t.files.length;++r){var a=t.files[r];if(a.id===e)return a}return}($(e.target).attr("data")),a=T.treeController.get_selected_branch();if(!r||!a)return;-1===t.selectedCards.indexOf(r)&&t.editItem(r,e);e.dataTransfer.setData("text",""),e.dataTransfer.dropEffect="move",e.dataTransfer.effectAllowed="all",t.selectedCards.length>1&&e.dataTransfer.setDragImage?e.dataTransfer.setDragImage(T.dragIcon,-18,-10):e.dataTransfer.setDragImage&&e.dataTransfer.setDragImage(T.dragIconSingle,-18,-10)},T.fileAdded=function(e,n,o){var i=!1;if(xe())return n.cancel(),void o.cancel();if(Le())return void function(e,t,n){if(!ye())return t.cancel(),void n.cancel();var o=!1;if(t.relativePath&&t.relativePath.startsWith("/"));else{var i=T.cloudStorageTreeController.get_selected_branch();i.data.files||(i.data.files=[]);for(let t=0;t<i.data.files.length;t++){var s=i.data.files[t];if(s&&s.fileName===e.name){o=!0;break}}if(o){let a=r.confirmDeletion().textContent(l.instant("FILE_STORAGE_CONFIRM_OVERWRITE",{file:e.name})).ok(l.instant("OVERWRITE"));r.show(a).then(d,(function(){t.cancel(),n.cancel()}))}else a(d)}function d(){console.log("Starting upload"),T.uploaderFunctions.startUpload(),T.cacheResumable=n,c.cacheResumable=T.cacheResumable,c.hasFiles=T.hasFiles}}(e,n,o);if(n.relativePath&&n.relativePath.startsWith("/")){var s=n.relativePath.lastIndexOf("/"),d=n.relativePath.substring(1,s),u=!0;c.parameters.currentBranch.path&&(c.parameters.currentBranch.path.indexOf("86bc2a5f-89d8-4e76-a3e8-c53cbebe565d")>0||c.parameters.currentBranch.path.indexOf("PUBLIC_CHAT_FILES")>0)&&(u=!1);var p=!1;c.getFolders().forEach((function(e){var t=function(e){e.children.forEach((function(e){var r=(c.parameters.currentBranch.path+d).replace(/^\/|\/$/g,""),a=e.data.path.replace(/^\/|\/$/g,"");p||(p=r==a),t(e)}))};t(e)})),n.customQueryOverride={context:"file-storage",contextData:JSON.stringify({folder:u?c.parameters.currentBranch.path:"",addToFolderOverride:d})};var f=n.relativePath&&(n.relativePath.match(/\//g)||[]).length-1;if(f||(f=0),p){if(!t.overwriteModalShown){t.overwriteModalShown=!0;let e=r.confirmDeletion().textContent(l.instant("FILE_STORAGE_CONFIRM_OVERWRITE_FOLDER",{folder:d})).ok(l.instant("OVERWRITE"));r.show(e).then((function(){T.uploaderFunctions.startUpload(),T.cacheResumable=o,c.cacheResumable=T.cac
50heResumable,c.hasFiles=T.hasFiles,t.overwriteModalShown=!1}),(function(){n.cancel(),o.cancel(),t.overwriteModalShown=!1}))}}else a((function(){T.uploaderFunctions.startUpload(),T.cacheResumable=o,c.cacheResumable=T.cacheResumable,c.hasFiles=T.hasFiles}),o.files.length*(f+1))}else{var h=T.treeController.get_selected_branch();h.data.files||(h.data.files=[]);for(var g=0;g<h.data.files.length;++g){var m=h.data.files[g];if(!m)break;if(m.fileName===e.name){i=!0;break}}if(i){let t=r.confirmDeletion().textContent(l.instant("FILE_STORAGE_CONFIRM_OVERWRITE",{file:e.name})).ok(l.instant("OVERWRITE"));r.show(t).then((function(){T.uploaderFunctions.startUpload(),T.cacheResumable=o,c.cacheResumable=T.cacheResumable,c.hasFiles=T.hasFiles}),(function(){n.cancel(),o.cancel()}))}else a((function(){T.uploaderFunctions.startUpload(),T.cacheResumable=o,c.cacheResumable=T.cacheResumable,c.hasFiles=T.hasFiles}))}},T.folderDeletePromise=function(t){var r=T.treeController.get_selected_branch(),a=t||r;e.spinner.show();var n={folder:a.data.path,parentFolder:""};c.deleteFolder(n).then((function(){Te(t,!1),_e(),e.spinner.hide()}),(function(e){var t=e.data.message;null==t&&(t=e.status+" "+e.statusText),h.reportAndHideSpinner("ACTION_FAILED")}))},T.isCloudStorageRoot=function(){var e=T.cloudStorageTreeController.get_selected_branch();return e&&e.data.isProviderRoot},T.newCloudStorage=function(e){r.show({controller:"userCloudStorageConnectController",controllerAs:"ctrl",templateUrl:"app/settings/user-settings/external-accounts/cloud-storage-connect.dlg.html",targetEvent:e,locals:{showAllOptions:e.ctrlKey||!1}}).then((function(e){if(e.type.useOAuth){if(!e.code||""===e.code)return void h.report("OAUTH_INVALID_CODE");var t=JSON.stringify({code:e.code,name:e.name});switch(e.type.id){case 2:i.post("~/api/v1/settings/dropbox-put",t).then(M,h.report);break;case 4:i.post("~/api/v1/settings/one-drive-put",t).then(M,h.report);break;case 7:i.post("~/api/v1/settings/leitzcloud-put",t).then(M,h.report);break;case 8:i.post("~/api/v1/settings/vboxx-put",t).then(M,h.report);break;case 9:i.post("~/api/v1/settings/google-put",t).then(M,h.report)}}else{let t=JSON.stringify({name:e.name,url:e.url,userName:e.userName,password:e.password});i.post("~/api/v1/settings/owncloud-put",t).then(M,h.report)}}),(function(e){null!=e&&null!=e.reason&&"cancel"===e.reason||h.report(e)}))},T.gridItemContextMenu=function(e,r){if(!e||3!==e.which&&"touchstart"!==e.type&&"touchend"!==e.type)return;e.stopPropagation(),e.preventDefault();var a=Se();(a.length<1||!_.some(a,(e=>e.id===r.id)))&&(T.checkboxes.reset(),T.checkboxes.checkCheckbox(e,r),a=[r]);t.dropdownEvent=$.extend(!0,{},e),t.dropdownOptions=function(e){var r=[];Le()||(1===e.length&&e[0].published&&e[0].publicDownloadLink&&r.push({key:"copyLink",translateKey:"COPY_LINK",click:Oe,params:{card:e[0],event:t.dropdownEvent}}),G()||e[0].attachedFile||!T.hasSubFolders()||r.push({key:"moveItem",translateKey:"MOVE",click:ee,params:{files:e,event:t.dropdownEvent}}));1===e.length?r.push({key:"downloadItem",translateKey:"DOWNLOAD",click:re,params:e[0]}):r.push({key:"downloadItem",translateKey:"DOWNLOAD",click:ae,params:e});Le()&&!Ie()||(r.push({divider:!0}),r.push({key:"deleteItem",translateKey:"DELETE",click:be,params:{files:e,event:t.dropdownEvent}}));return r}(a);var n=$("#context-menu-area");if(n){var l=o('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(t);n.append(l)}},T.onBranchOpen=function(e,t){Te(e,e.expanded)},T.onDragDrop=function(r){var a=r.currentTarget.attributes.key.value.split("|")[1];if(!a||0===t.selectedCards.length)return;e.spinner.show(),c.moveFiles(t.selectedCards,a).then((function(){T.deselectAll(),t.selectMode=!1,t.listController.updateDisplayList(),T.searchUpdate(!0),t.$applyAsync(),e.spinner.hide()}),h.reportAndHideSpinner)},T.onFilesFinished=function(){t.listController.updateDisplayList(),c.hasFiles=!1,T.hasFiles=!1},T.onSortOrderChanged=function(e){T.sortReverse=e,j(),T.searchUpdate()},T.onSortingChanged=function(e){T.sortField=e,j(),T.searchUpdate()},T.onViewChanged=function(e){T.tableParams.settings({dataset:[]}),T.currentView=c.parameters.currentView=e||"CARD_VIEW",t.selectMode=!1,Y(),q(),T.searchUpdate()},T.searchUpdate=De,T.selectAll=function(){t.selectedCards.length=0,$.each(t.files,(function(e,r){t.selectedCards.indexOf(r)<0&&t.selectedCards.push(r)}))},T.selectBtnPressed=function(){t.selectedCards.length=0,t.selectMode=!t.selectMode},T.showFileEditDialog=function(e,t){r.show({locals:{fileInfo:e},controller:"fileDialogController",controllerAs:"ctrl",templateUrl:"app/file-storage/modals/file-storage.dlg.html",targetEvent:t.event,clickOutsideToClose:!1}).then((function(r){if(r.deleted)T.deleteNoConfirmation([e],t.event);else{var a=r.fileInfo;c.editFile(a).then((function(){T.searchUpdate(!0)}),(function(e){var t=e.data.message;null==t&&(t=e.status+" "+e.statusText),h.report(t)}))}}),(function(){}))},T.uploaderInit=function(e){T.uploaderFunctions=e},T.isFileStorageFolder=Re,T.isOnlineMeetingFolder=function(){var e=T.treeController.get_selected_branch();if(null==e)return!1;if("/86bc2a5f-89d8-4e76-a3e8-c53cbebe565d/"===e.data.path)return!0}
50,T.enableOnlyOffice=!1,T.GetLockedFilesByUser=ce,function(){e.spinner.show(),E.init().then((function(){T.features=E.user.settings.features,T.enableOnlyOffice=T.features?.enableOnlyOffice||!1,T.enablewopi=T.features?.enableWOPI||!1,T.wopiurl=T.features?.wopiURL||null})),d.init().then((function(){c.init().then((function(){!async function(){c.addFolderCallback=ke,c.renameFolderCallback=ke,c.deleteFolderCallback=we,c.addFilesCallback=ke,c.removeFilesCallback=ke,c.modifyFilesCallback=ke,T.currentView=c.parameters.currentView,T.fileStorageEnabled=d.user.settings.features.enableFileStorage,t.treeData=c.getFolders(),a((function(){if(T.cloudStorageTreeController.deselect_all_branches(),T.cloudStorageTreeController.collapse_all(),T.treeController.deselect_all_branches(),!T.fileStorageEnabled&&T.cloudStorageEnabled)return T.cloudStorageTreeController.length&&T.cloudStorageTreeController.select_branch(T.cloudStorageTreeController[0]),void(t.isLoaded=!0);var e,r,a=c.parameters.currentTreeBranch||t.treeData[0].children[I];e=a.data.path.split("/"),r=t.treeData[0].children[I],e.splice(0,1),0===(e=$.grep(e,(function(e){return e.length>0}))).length||angular.forEach(e,(function(e){if(r&&r.children)for(var t=0;t<r.children.length;t++)if(r.children[t].data.name===e){r=r.children[t];break}})),a=r,c.parameters.currentBranch=a.data,T.treeController.expand_all_parents(a),T.treeController.expand_branch(a),T.tree
50Controller.select_branch(a),Te(a,!0)}),50),T.isFileStorageSelected=Re(),e.spinner.hide(),T.tableParams=new b({sorting:{},count:25},{getData:Ee,counts:e.commonTableCounts}),T.tableParams.sorting[T.sortField]=T.sortReverse?"desc":"asc",T.checkboxes.table=T.tableParams,a(M)}()}),h.reportAndHideSpinner)}),h.reportAndHideSpinner),t.uploaderData=JSON.stringify({folder:c.parameters.currentBranch.path}),T.cacheResumable||(T.cacheResumable=c.cacheResumable);T.hasFiles=c.hasFiles,t.$on("themeService:changed",U),t.$on("treeState:stateChange",Q),t.$on("filesRefresh",Z),t.$on("$destroy",(function(){delete T.treeController})),B()}();const me={WORD:["DOC","DOCM","DOCX","DOCB","DOT","DOTM","DOTX"],CELL:["XLS","XLSM","XLSX","XLSB","XLT","XLTM","XLTX"],SLIDE:["PPT","PPTM","PPTX","PPS","PPSM","PPSX","POT","POTM","POTX"],PDF:["PDF"],TEXT:["TXT","CSV","TSV","LOG","INI","MD","RTF"]};function ve(e){const t=e.split(".").pop().toUpperCase();return Object.values(me).some((e=>e.includes(t)))}function Ce(e){var r,a=[],n=!1;return t.selectedCards.length<=1&&e.published&&e.publicDownloadLink&&a.push({key:"copyLink",translateKey:"COPY_LINK",click:Oe,params:{card:e,event:t.dropdownEvent}}),Le()||G()||e.attachedFile||!T.hasSubFolders()||a.push({key:"moveItem",translateKey:"MOVE",click:ee,params:{card:t.selectedCards.length>1?t.selectedCards:[e],event:t.dropdownEvent}}),T.enablewopi&&!Le()&&(n=ve(e.fileName),a.push({key:"EDIT_WITH_WOPI_CLIENT",translateKey:"EDIT_WITH_WOPI_CLIENT",click:he,params:{card:e,event:t.dropdownEvent},disabled:!n})),T.enableOnlyOffice&&!Le()&&(n=ve(e.fileName),a.push({key:"EDIT_WITH_ONLYOFFICE",translateKey:"EDIT_WITH_ONLYOFFICE",click:ge,params:{card:e,event:t.dropdownEvent},disabled:!n})),a.push({key:"downloadItem",translateKey:"DOWNLOAD",click:re,params:e}),Le()&&("owncloud"!=(r=e).cloudProvider||!r.permissions.delete)||(a.push({divider:!0}),a.push({key:"deleteItem",translateKey:"DELETE",click:be,params:{card:t.selectedCards.length>1?t.selectedCards:[e],event:t.dropdownEvent}})),a}function be(e){var t=[];e.files?t=e.files:e.card&&(t=e.card),Fe(t,e.event)}function we(){for(var e=T.treeController.get_selected_branch();!X(t.treeData[0].children[I],e.data.path);){var r=T.treeController.get_prev_sibling(e);if(r&&X(t.treeData[0].children[I],r.data.path))break;if(!(e=T.treeController.get_parent_branch(e)))return T.treeController.select_branch(T.treeController.get_first_branch()),void ke();if("ROOT_FOLDER"===e.label)break}T.treeController.select_branch(e),ke()}function Fe(t,a){if(t&&t.length>0)try{var n=r.confirmDeletion().textContent(k.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:t.length})).targetEvent(a);r.show(n).then((function(){T.deletePromise(t)}),(function(){}))}catch(e){h.reportAndHideSpinner(e.message)}else h.report("ERROR_NO_CARDS"),e.spinner.hide()}function Oe(e){if(!e.card||!e.card.published||!e.card.publicDownloadLink)return;const t=e.card.publicDownloadLink.startsWith("http")?e.card.publicDownloadLink:`${d.baseUrl}/${e.card.publicDownloadLink}`;navigator.clipboard.writeText(t),m.report("COPIED_TO_CLIPBOARD")}function Se(){var e;if("CARD_VIEW"===T.currentView)e=t.selectedCards;else{let t=T.checkboxes.getCheckedItems();e=$.grep(T.checkboxes.table.data,((e,r)=>t.includes(e.id)))}return e}function Ee(e){if(F.getFirstSwitcher()&&(F.getFirstSwitcher().allowCheckHide="GRID_VIEW"===T.currentView),"GRID_VIEW"===T.currentView){for(var r in e.sorting())e.sorting().hasOwnProperty(r)&&e.sorting()[r]&&(T.sortField=r,T.sortReverse="desc"===e.sorting()[r]);j(),De(!1,!0);var a=e.count();e.page()<1&&e.page(1);var n=a*(e.page()-1);return e.total(t.totalCount),t.files.slice(n,n+a)}}function De(e,r){c.parameters.searchText=t.searchText,""!==t.searchText?t.activeSearch=!0:t.activeSearch=!1,t.files=c.getFilteredFiles()||[],t.totalCount=t.files.length,0===t.files.length&&""!==t.searchText?$("#no-all-items").text(n("translate")("NO_ITEMS_WATCH_SEARCH")):$("#no-all-items").text(n("translate")("NO_ITEMS_TO_SHOW")),e||t.listController.reset(),t.listController.updateDisplayList(),t.listController.onResize(),t.isLoaded=!0,r||q()}function ke(){console.log("signalRCallback"),_e(),T.searchUpdate(!0)}function _e(){d.user.settings.diskSpace.userDiskSpaceTotalSize-=d.user.settings.diskSpace.userFileStoreSize,d.user.settings.diskSpace.userFileStoreSize=c.getTotalDiskUsage(
50),d.user.settings.diskSpace.userDiskSpaceTotalSize+=d.user.settings.diskSpace.userFileStoreSize,e.$broadcast("diskSpaceUsage:changed")}function Te(e,t){T.expandedBranches||(T.expandedBranches=f.getSortingFilteringParam("fileStorage","expandedBranches")||{}),t?T.expandedBranches[e.data.key]=!0:delete T.expandedBranches[e.data.key],f.setSortingFilteringParam("fileStorage","expandedBranches",T.expandedBranches)}function Ie(){var e=T.cloudStorageTreeController.get_selected_branch();return null!=e&&null!=e&&"owncloud"==e.data.serverName}function ye(){var e=T.cloudStorageTreeController.get_selected_branch();return!(!e||"owncloud"!=e.data.serverName)&&e.permissions.makeFile}function Ne(e){return e&&e.data&&e.data.isCloudFolder}function Le(){var e=T.cloudStorageTreeController.get_selected_branch();return null!=e&&null!=e}function Re(){var e=T.treeController.get_selected_branch();return null!=e&&("/86bc2a5f-89d8-4e76-a3e8-c53cbebe565d/"!==e.data.path&&("/PUBLIC_CHAT_FILES/"!==e.data.path&&!xe()))}function xe(){var e=T.treeController.get_selected_branch();return null!=e&&("AF_MISC"===e.data.serverName||"AF_NOTES"===e.data.serverName||"AF_CONTACTS"===e.data.serverName||"AF_TASKS"===e.data.serverName||"AF_APPOINTMENTS"===e.data.serverName||"ATTACHED_FILES"===e.data.serverName)}function Pe(r,a){i.get(`~/api/v1/filestorage/folder/${r}/${a.key}/files`).then((function(n){a.files=n.data.files,a.files.forEach((e=>{e.cloudProvider=r,e.permissions=J(e.permissions)})),t.files=c.getFilteredFiles(),T.searchUpdate(),e.spinner.hide()}),h.reportAndHideSpinner)}}e.$inject=["$rootScope","$scope","$mdDialog","$timeout","$filter","$compile","$translate","$http","$q","coreData","coreDataFileStorage","coreDataSettings","fileInfoProvider","preferencesStorage","errorHandling","treeState","successHandling","themesService","claimsService","NgTableParams","gridCheckboxes","tableColumnSwitching","authStorage","popupService","userDataService","localeInfoService","i18n"],angular.module("smartermail").controller("fileStorageController",e)}();
51!function(){"use strict";function e(e,a,t,n,i,r,o,l,c,s,d,m,p){const u=this;function f(e,a){u.treeExpanded=a.expanded,d((function(){$(window).trigger("resize")}),250)}async function g(){u.marketplaceHasItems=!1,u.sort=m.current.params.sort,e.$on("treeState:stateChange",f),u.currentState=m.current.params.sort,u.marketplaceItems=[],await c.init,n.$on("themeService:changed",C),[u.enableOnlyOffice,u.enablewopi]=await Promise.all([u.isOnlyOfficeEnabled(),b()]),C(),await k(),await w(),e.$applyAsync(),u.marketplaceSideMenuItems=[{title:r.instant("OVERVIEW"),sref:u.isAdmin?"index.domain-marketplace.overview":"index.marketplace.overview"},{title:r.instant("AI_INTEGRATIONS"),sref:u.isAdmin?"index.domain-marketplace.ai_integration":"index.marketplace.ai_integration"},{title:r.instant("CHATPROVIDER"),sref:u.isAdmin?"index.domain-marketplace.chat_providers":"index.marketplace.chat_providers"},{title:r.instant("CONFERENCING"),sref:u.isAdmin?"index.domain-marketplace.conferencing":"index.marketplace.conferencing"},{title:r.instant("DOCUMENT_MANAGEMENT"),sref:u.isAdmin?"index.domain-marketplace.document_management":"index.marketplace.document_management"},{title:r.instant("FILE_STORAGE"),sref:u.isAdmin?"index.domain-marketplace.file_storage":"index.marketplace.file_storage"}],u.isAdmin&&function(){switch(!0){case p.edition>=2:case!p.license:case p.license.isTrialLicense:case!u.domainSettings.emClientEnabled:case!u.domainSettings.emClientOffersAvailable:case!u.domainSettings.isTopLevelDomain:return!1;default:return!0}}()&&u.emclientEnabled&&u.marketplaceSideMenuItems.push({title:r.instant("EMAIL_CLIENT"),sref:"index.domain-marketplace.email_client"});var a=0;for(let e=0;e<u.marketplaceItems.length;e++)u.marketplaceItems[e].enabled&&(a+=1);a>1&&(u.gridClass="marketplace-grid-many"),u.isInitialized=!0}function h(){return n.spinner.show(),k().then(w).then((function(){e.$applyAsync()})).catch(t.report).finally(n.spinner.hide)}function k(){return u.configuredAccounts=[],a.get("/api/v1/settings/connected-services").then((e=>{if(e.data.connectedService){const a=e.data.connectedService;u.configuredAccounts.push(...a.map((e=>u.accountTypes.find((a=>a.id===e.type))?.name)).filter((e=>void 0!==e)))}return a.post("/api/v1/marketplace/GetConfiguredUserItems")})).then((e=>
51{e.data.results.forEach((e=>{e&&!u.configuredAccounts.includes(e)&&u.configuredAccounts.push(e)})),u.configuredAccounts=[...new Set(u.configuredAccounts)]})).catch((e=>{}))}function C(){i.isThemeDark()?(u.bannerImage="img/MarketPlace/marketplaceBanner_dark.webp",u.lightordark="dark"):(u.bannerImage="img/MarketPlace/marketplaceBanner_light.webp",u.lightordark="light")}async function b(){return a.get("/api/v1/marketplace/IsCollaboraOnlineEnabled").then((e=>e.data)).catch((e=>(console.error("Failed to fetch Collabora settings",e),!1)))}function w(){return n.spinner=n.spinner||{show:angular.noop,hide:angular.noop},n.spinner.show(),a.get("/api/v1/marketplace/getmarketplace").then((function(e){const a=e.data||{};u.domainAdminCanOverride=a.domainAdminCanOverride||!1,u.emclientEnabled=a.emclientEnabled||!1,c.user.isDomainAdmin||(u.domainAdminCanOverride=!1),u.marketplaceItems=[],a.smarterMailFileStoreEnabled&&u.configuredAccounts.push("smartermailfilestore"),u.enablewopi&&a.collaboraEnabled&&u.configuredAccounts.push("collabora"),u.enableOnlyOffice&&a.onlyOfficeEnabled&&u.configuredAccounts.push("onlyoffice"),Object.entries(a).forEach((([e,t])=>{if(e.endsWith("Enabled")){const n=e.replace("Enabled",""),i=n.toUpperCase();let o=!1;o="onlyoffice"===n.toLowerCase()?!(!u.enableOnlyOffice||!a.onlyOfficeEnabled)&&u.enableOnlyOffice:"collabora"===n.toLowerCase()?!(!u.enablewopi||!a.collaboraEnabled)&&u.enablewopi:!!t;const l=`img/MarketPlace/icon_${n.toLowerCase()}.webp`,c=r.instant(i)||i,s=r.instant(i+"_DESCRIPTION")||"";if(0!==u.sort&&u.sort){u.accountTypes.sort(((e,a)=>e.sort-a.sort));const e=u.accountTypes.filter((e=>e.sort===u.sort));for(let a=0;a<e.length;a++)n.toLowerCase()===e[a].name&&u.marketplaceItems.push({id:n,name:c,description:s,imageUrl:l,allowed:!!t,enabled:o})}else u.marketplaceItems.push({id:n,name:c,description:s,imageUrl:l,allowed:!!t,enabled:o})}})),1===p.edition?u.marketplaceItems=u.marketplaceItems.filter((e=>"smartermailonlinemeetings"!==e.id.toLowerCase())):u.configuredAccounts.push("smartermailonlinemeetings"),u.marketplaceItems=u.marketplaceItems.filter((e=>"emclient"!==e.id.toLowerCase())),a.zoomAvailable||(u.marketplaceItems=u.marketplaceItems.filter((e=>"zoom"!==e.id.toLowerCase()))),u.marketplaceHasItems=u.marketplaceItems&&u.marketplaceItems.some((e=>e.enabled))})).catch(t.report).finally(n.spinner.hide)}u.isInitialized=!1,u.treeExpanded=s.isExpanded,u.marketplaceItems=[],u.bannerImage="",u.loadMarketplaceSettings=w,u.openSettingsModal=async function(e){const i=v[e.id.toLowerCase()];if(i&&!u.isAdmin)return void o.show({controller:"marketplaceConnectWizardController",controllerAs:"wizardCtrl",templateUrl:"app/marketplace/modals/marketplace-connect-wizard.modal.html",clickOutsideToClose:!1,locals:{descriptor:i,enabled:e.enabled,alreadyConfigured:u.configuredAccounts.map((e=>e.toLowerCase())).includes(e.id.toLowerCase()),localHelpLink:(()=>{const a=u.accountTypes.find((a=>a.name.toLowerCase()===e.id.toLowerCase())),t=a?u.helpTypesUser.find((e=>e.cat===a.sort)):null;return t?t.helpLink:"default-help-link"})()}}).catch((function(e){e&&h()}));if("smartermailonlinemeetings"===e.id.toLowerCase()&&!u.isAdmin)return void o.show({controller:"conferencingDefaultsController",templateUrl:"app/marketplace/modals/conferencing-defaults.modal.html",clickOutsideToClose:!1,locals:{providerType:0,providerName:e.name}}).catch((function(){}));if(["googledrive","dropbox","onedrive","leitzcloud","vboxx"].includes(e.id.toLowerCase()))o.show({controller:"userCloudStorageConnectController",controllerAs:"cloudCtrl",templateUrl:"app/marketplace/modals/user-cloud-storage-connect.modal.html",clickOutsideToClose:!1,locals:{providerName:e.name,providerId:e.id,enabled:e.enabled,alreadyConfigured:u.configuredAccounts.map((e=>e.toLowerCase())).includes(e.id.toLowerCase()),DomainAdminCanOverride:u.domainAdminCanOverride,localHelpLink:(()=>{const a=u.accountTypes.find((a=>a.name.toLowerCase()===e.id.toLowerCase())),t=a?u.helpTypesUser.find((e=>e.cat===a.sort)):null;return t?t.helpLink:"default-help-link"})()}}).catch((function(e){e&&h()}));else{n.spinner.show();let i=null;try{i=await async function(e){switch(e.toLowerCase()){case"chatgpt":{const e=await a.post("/api/v1/marketplace/GetChatGPTSettingsAdmin",{}),t=Object.assign({},e.data);if(t.usersCanOverrideApiKey){const[e,n]=await Promise.all([a.get("/interface/api/v1/ai/GetAvailableModels"),a.post("/api/v1/marketplace/GetChatGPTSettingsUser",{})]),i=e.data;t.models=i.success&&Array.isArray(i.results)?i.results.map((e=>({key:e,translation:e}))):[],t.userSettings=n.data}return t}case"rocketchat":{const e=await a.post("/api/v1/marketplace/GetChatProviderSettings"),t=Object.assign({},e.data);return t.enabledRocketChat=1===t.providerType,t}default:return{}}}(e.id)}catch(e){}finally{n.spinner.hide()}const r={clear:angular.noop};o.show({controller:"modularConfigurationModalController",controllerAs:"settingsCtrl",templateUrl:"app/marketplace/modals/modular-configuration.modal.html",clickOutsideToClose:!1,onComplete:function(){n.$applyAsync((function(){r.clear()}
51))},locals:{addonName:e.id,enabled:e.enabled,alreadyConfigured:u.configuredAccounts.includes(e.id),domainAdminCanOverride:u.domainAdminCanOverride,localHelpLink:(()=>{const a=u.accountTypes.find((a=>a.name.toLowerCase()===e.id.toLowerCase())),t=a?u.helpTypesUser.find((e=>e.cat===a.sort)):null;return t?t.helpLink:"default-help-link"})(),prefetchedSettings:i,noAnimHandle:r}}).then((function(i){if(!i)return;let r,o;if("owncloud"===e.id.toLowerCase())i&&(r="/api/v1/settings/owncloud-put",o=i);r&&o?(n.spinner.show(),a.post(r,o).then((function(){return void 0!==o.enabled&&(e.enabled=o.enabled),h()})).catch((function(a){console.error(`Failed to save settings for addon: ${e.id}`,a),t.report(a)})).finally(n.spinner.hide)):h()}),(function(e){e&&h()}))}},u.isOnlyOfficeEnabled=async function(){return a.get("/api/v1/marketplace/IsOnlyOfficeEnabled").then((e=>e.data)).catch((e=>(console.error("Failed to fetch OnlyOffice settings",e),!1)))},u.domainAdminCanOverride=!1,u.emclientEnabled=!0,u.lightordark,u.gridClass="marketplace-grid-single",e.$watch((function(){return m.$current.name}),(function(e,a){g()})),u.configuredAccounts=[],u.reloadvar=!0,u.isAdmin=m.current.name.startsWith("index.domain-marketplace"),u.helpTypesUser=[{cat:6,helpLink:"user-marketplace-chat-providers"},{cat:5,helpLink:"user-marketplace-conferencing"},{cat:2,helpLink:"user-marketplace-document-management"},{cat:3,helpLink:"user-marketplace-file-storage"},{cat:1,helpLink:"user-marketplace-ai-integration"},{cat:4,helpLink:"user-marketplace-email-client"}],u.accountTypes=[{name:"dropbox",id:2,sort:3},{name:"googledrive",id:9,sort:3},{name:"leitzcloud",id:7,sort:3},{name:"onedrive",id:4,sort:3},{name:"owncloud",id:10,sort:3},{name:"vboxx",id:8,sort:3},{name:"zoom",id:11,sort:5},{name:"emclient",id:11,sort:4},{name:"onlyoffice",id:12,sort:2},{name:"collabora",id:13,sort:2},{name:"chatgpt",id:14,sort:1},{name:"smartermailfilestore",id:15,sort:3},{name:"smartermailchat",id:15,sort:6},{name:"rocketchat",id:16,sort:6},{name:"smartermailonlinemeetings",id:17,sort:5}],u.catname="",m.current.params.sort,u.catname="",u.catname=r.instant(u.catname),u.translatedMessage=r.instant("NO_INTEGRATIONS_ENABLED_BY_ADMINISTRATOR",{category:u.catname}),u.marketplaceSideMenuItems=[],g();const v={zoom:{titleKey:"ZOOM",serviceType:11,redirectEndpoint:"~/api/v1/settings/zoom-redirect",putEndpoint:"~/api/v1/settings/zoom-put",defaultDisplayKey:"MY_ZOOM",conferencingProviderType:1}}}e.$inject=["$scope","$http","errorHandling","$rootScope","themesService","$translate","$mdDialog","userDataService","coreData","treeState","$timeout","$state","coreLicensing"],angular.module("smartermail").controller("domainSettingsMarketplaceController",e)}();
52!function(){"use strict";function e(e,a,t,n,i,r,o,l,c,s,d,m,p){const f=this;async function u(){await s.reload(),f.sort=m.current.params.sort,await c.init;const e=await a.get("~/api/v1/settings/domain/domain");f.domainSettings=e.data.domainSettings,g(),n.$on("themeService:changed",g),[f.enableO
52nlyOffice,f.enablewopi]=await Promise.all([f.isOnlyOfficeEnabled(),h()]),a.get("/api/v1/settings/connected-services").then((function(e){e.data.connectedService&&e.data.connectedService.length>0&&e.data.connectedService.forEach((function(e){f.accountTypes.forEach((function(a){e.type===a.id&&f.configuredAccounts.push(a.name)}))}))}));try{await k(),w()}catch(e){t.report(e)}finally{f.isAdmin&&b()&&f.emclientEnabled&&!f.marketplaceSideMenuItems.some((e=>"index.domain-marketplace.email_client"===e.sref))&&f.marketplaceSideMenuItems.push({title:r.instant("EMAIL_CLIENT"),sref:"index.domain-marketplace.email_client"}),p((()=>{f.marketplaceItems.length>1?f.gridClass="marketplace-grid-many":f.gridClass="marketplace-grid-single",f.isInitialized=!0,f.marketplaceHasItems=f.marketplaceItems.length>0}))}}function g(){i.isThemeDark()?(f.bannerImage="img/MarketPlace/marketplaceBanner_dark.webp",f.lightordark="dark"):(f.bannerImage="img/MarketPlace/marketplaceBanner_light.webp",f.lightordark="light")}async function h(){try{return(await a.get("/api/v1/marketplace/IsCollaboraOnlineEnabled")).data.result||!1}catch(e){return console.error("Failed to fetch Collabora settings",e),!1}}function k(){return n.spinner=n.spinner||{show:angular.noop,hide:angular.noop},n.spinner.show(),a.get("/api/v1/marketplace/getmarketplace").then((function(e){const a=e.data||{};f.domainAdminCanOverride=a.domainAdminCanOverride||!1,f.emclientEnabled=a.emclientEnabled||!1,f.enablewopi&&f.configuredAccounts.push("collabora"),f.enableOnlyOffice&&f.configuredAccounts.push("onlyoffice"),c.user.isDomainAdmin||(f.domainAdminCanOverride=!1),f.marketplaceItems=[],Object.entries(a).forEach((([e,t])=>{var n=!0,i=!0;if(e.endsWith("Enabled")){const o=e.replace("Enabled",""),l=o.toUpperCase();if("emclient"===o.toLowerCase()&&(n=!!b()),1===s.edition&&(i=!1),!i&&"smartermailonlinemeetings"===o.toLowerCase())return;if(!a.zoomAvailable&&"zoom"===o.toLowerCase())return;let c=!1;c="onlyoffice"===o.toLowerCase()?f.enableOnlyOffice:"collabora"===o.toLowerCase()?f.enablewopi:!!t;const d=`img/MarketPlace/icon_${o.toLowerCase()}.webp`,m=r.instant(l)||l,p=r.instant(l+"_DESCRIPTION")||"";if(n)if(0!==f.sort&&f.sort){f.accountTypes.sort(((e,a)=>e.sort-a.sort));const e=f.accountTypes.filter((e=>e.sort===f.sort));for(let a=0;a<e.length;a++)o.toLowerCase()===e[a].name&&f.marketplaceItems.push({id:o,name:m,description:p,imageUrl:d,allowed:!!t,enabled:c})}else f.marketplaceItems.push({id:o,name:m,description:p,imageUrl:d,allowed:!!t,enabled:c})}}))})).catch(t.report).finally(n.spinner.hide)}function b(){switch(!0){case s.edition>=2:case!s.license:case s.license.isTrialLicense:case!f.domainSettings.emClientEnabled:case!f.domainSettings.emClientOffersAvailable:case!f.domainSettings.isTopLevelDomain:return!1;default:return!0}}function w(){f.marketplaceItems.sort(((e,a)=>e.name.localeCompare(a.name)))}f.isInitialized=!1,f.marketplaceItems=[],f.bannerImage="",f.domainAdminCanOverride=!1,f.gridClass="marketplace-grid-single",f.lightordark="",f.configuredAccounts=[],f.reloadvar=!0,f.treeExpanded=d.isExpanded,e.$on("treeState:stateChange",(function(e,a){f.treeExpanded=a.expanded,p((function(){$(window).trigger("resize")}),250)})),e.treeExpanded=!0,e.treeExpanded=!0,e.$watch((function(){return m.$current.name}),(function(e,a){u()})),f.accountTypes=[{name:"dropbox",id:2,sort:3},{name:"googledrive",id:9,sort:3},{name:"leitzcloud",id:7,sort:3},{name:"onedrive",id:4,sort:3},{name:"owncloud",id:10,sort:3},{name:"vboxx",id:8,sort:3},{name:"emclient",id:11,sort:4},{name:"onlyoffice",id:12,sort:2},{name:"collabora",id:13,sort:2},{name:"chatgpt",id:14,sort:1},{name:"smartermailfilestore",id:15,sort:3},{name:"smartermailchat",id:15,sort:6},{name:"rocketchat",id:16,sort:6},{name:"smartermailonlinemeetings",id:17,sort:5},{name:"zoom",id:11,sort:5}],f.helpTypesDomain=[{cat:6,helpLink:"domain-marketplace-chat-providers"},{cat:5,helpLink:"domain-marketplace-conferencing"},{cat:2,helpLink:"domain-marketplace-document-management"},{cat:3,helpLink:"domain-marketplace-file-storage"},{cat:1,helpLink:"domain-marketplace-ai-integration"},{cat:4,helpLink:"domain-marketplace-email-client"}],f.marketplaceSideMenuItems=[{title:r.instant("OVERVIEW"),sref:"index.domain-marketplace.overview"},{title:r.instant("AI_INTEGRATIONS"),sref:"index.domain-marketplace.ai_integration"},{title:r.instant("CHATPROVIDER"),sref:"index.domain-marketplace.chat_providers"},{title:r.instant("CONFERENCING"),sref:"index.domain-marketplace.conferencing"},{title:r.instant("DOCUMENT_MANAGEMENT"),sref:"index.domain-marketplace.document_management"},{title:r.instant("FILE_STORAGE"),sref:"index.domain-marketplace.file_storage"}],f.isAdmin=m.current.name.startsWith("index.domain-marketplace"),f.loadMarketplaceSettings=k,f.sortItems=w,f.openSettingsModal=async function(e){document.activeElement&&document.activeElement.blur();n.spinner.show();let i=null;try{i=await async function(e){switch(e.toLowerCase()){case"chatgpt":{const[e,t]=await Promise.all([a.post("/api/v1/marketplace/GetChatGPTSettingsAdmin",{}),a.get("/interface/api/v1/ai/GetAvailableModels")]),n=Object.assign({},e.data),i=t.data;return n.models=i.success&&Array.isArray(i.results)?i.results.map((e=>({key:e,translation:e}))):[],n}case"collabora":return(await a.post("/api/v1/marketplace/GetCollaboraOnlineSettings",{})).data;case"onlyoffice":return(await a.post("/api/v1/marketplace/GetOnlyOfficeSettings",{})).data;default:return{}}}(e.id)}catch(e){}finally{n.spinner.hide()}const r={clear:angular.noop};o.show({controller:"adminConfigurationModuleController",controllerAs:"settingsCtrl",templateUrl:"app/marketplace/modals/admin-configuration-module.modal.html",clickOutsideToClose:!1,onComplete:function(){n.$applyAsync((function(){r.clear()}
52))},locals:{localAddonName:e.id,localAddonId:e.id,localEnabled:e.enabled,localAlreadyConfigured:f.configuredAccounts.includes(e.id),localDomainAdminCanOverride:f.domainAdminCanOverride,localHelpLink:(()=>{const a=f.accountTypes.find((a=>a.name.toLowerCase()===e.id.toLowerCase())),t=a?f.helpTypesDomain.find((e=>e.cat===a.sort)):null;return t?t.helpLink:"default-help-link"})(),prefetchedSettings:i,noAnimHandle:r}}).then((function(i){if(!i)return;let r,o;switch(u(),n.spinner.show(),e.id.toLowerCase()){case"onlyoffice":i.onlyOffice&&(r="/api/v1/marketplace/setOnlyOfficeSettings",o=i.onlyOffice);break;case"collabora":i.wopi&&(r="/api/v1/marketplace/setCollaboraSettings",o=i.wopi);break;default:i.cloudStorage&&(r="/api/v1/marketplace/ToggleCloudStorageProvider",o=i.cloudStorage)}r&&o?a.post(r,o).then((function(){void 0!==o.enabled&&(e.enabled=o.enabled)})).catch((function(a){console.error(`Failed to save settings for addon: ${e.id}`,a),t.report(a),u()})).finally(n.spinner.hide):n.spinner.hide()})).catch((function(e){e&&u()}))},f.isOnlyOfficeEnabled=async function(){try{return(await a.get("/api/v1/marketplace/IsOnlyOff
52iceEnabled")).data.result||!1}catch(e){return console.error("Failed to fetch OnlyOffice settings",e),!1}},u()}e.$inject=["$scope","$http","errorHandling","$rootScope","themesService","$translate","$mdDialog","userDataService","coreData","coreLicensing","treeState","$state","$timeout"],angular.module("smartermail").controller("domainSettingsMarketplaceSettingsController",e)}();
53!function(){"use strict";function r(r,e){var n=this;function i(i){return n.providers&&!i?e.when(n.providers):r.get("~/api/v1/conferencing/providers").then((function(r){return n.providers=r.data.providers||[],n.providers}))}n.providers=null,n.loadProviders=i,n.saveDefaults=function(e){return r.post("~/api/v1/conferencing/defaults",e).then((function(){return i(!0)}))},n.getProvider=function(r){return n.providers&&n.providers.find((function(e){return e.providerType===r}))||null}}r.$inject=["$http","$q"],angular.module("smartermail").service("conferencing",r)}();
54!function(){"use strict";function e(e,t,n,i,a,o,d,s,l,r,c,u,m){var f=this;function h(e,t){const n=moment.tz(moment(e),t.location).utcOffset()-e.utcOffset();return moment.tz(moment(e.toDate()),t.location).add(n,"m")}function E(){if(!f.details.scheduleMeeting)return f.endBeforeStart=!1,void(f.inPast=!1);const e=moment.tz(moment(f.details.scheduledStart).format(),f.details.timeZoneStart.location),t=moment.tz(moment(f.details.scheduledEnd).format(),f.details.timeZoneEnd.location);f.endBeforeStart=t<e;const n=moment();f.inPast=e<n||t<n}function S(e,t){e&&t&&(angular.equals(t,e)||E())}function g(e,t){if(!e||!t)return;if(angular.equals(t,e))return;const n=moment(t),i=moment(e),a=moment.duration(i.diff(n)),o=moment(f.details.scheduledEnd).add(a);f.details.scheduledEnd=o.toDate()}f.availableEndBehaviors=[{id:0,desc:n.instant("ARCHIVE_MEETING")},{id:1,desc:n.instant("DELETE_MEETING")},{id:2,desc:n.instant("KEEP_ACTIVE")}],f.availableTimeZones=[],f.availableUploadPermissions=[{id:0,desc:n.instant("ORGANIZER_ONLY")},{id:1,desc:n.instant("AUTHENTICATED_ATTENDEES")},{id:2,desc:n.instant("EVERYONE")}],f.details={id:null,publicIdentifier:null,title:null,description:null,password:null,allowGuestUsers:!1,attendeesCanStart:!0,scheduleMeeting:!1,timeZoneEnd:void 0,timeZoneStart:void 0,securitySettings:{waitingRoomOnJoin:0,canUploadFiles:1,canMuteOthers:3,canMuteOrganizer:1,canAdmitFromWaitingRoom:1,canDisableVideoOthers:3,allowVideo:7}},f.confirmPassword=f.details.password,f.endBeforeStart=!1,f.inPast=!1,f.isValid=!0,f.showTimeZones=!1,f.stage=null,f.duration=60,f.isSplitDomain=!1,f.cancel=function(){window.close()},f.clearTzSearchTerm=function(){f.timeZoneSearch=""},f.openMeeting=function(){const e=stSiteRoot+"interface/meeting#/"+f.details.fullId+"?firstEntry=true";window.open(e,f.details.fullId),window.close()},f.save=function(e){if(e&&e.$invalid)return;if(f.details.scheduleMeeting&&(E(),f.endBeforeStart||f.inPast))return;var t=$.extend({},f.details);if(t.scheduleMeeting){let e=moment(t.scheduledStart).utcOffset()-moment.tz(t.scheduledStart,t.timeZoneStart.location).utcOffset();t.scheduledStart=moment.tz(t.scheduledStart,"UTC").add(e,"minutes").format();e=moment(t.scheduledEnd).utcOffset()-moment.tz(t.scheduledEnd,t.timeZoneEnd.location).utcOffset(),t.scheduledEnd=moment.tz(t.scheduledEnd,"UTC").add(e,"minutes").format()}t.id?a.update(t).then((function(){d.renameMeetingFolder(t.fullId.split(".")[0],t.title),window.close()}),s.report):a.createNew(t).then((function(e){t.id=e.id,t.fullId=e.fullId,f.stage="created",window.close()}),s.report)},function(){m.ensureActivated();const n=[r.init(),o.init()];i.all(n).then((function(e){f.duration=o.calendarSettings.defaultDuration,l.init().then((function(){f.details.timeZoneStart=l.userTimeZone,f.details.timeZoneEnd=l.userTimeZone,f.availableTimeZones=l.availableTimeZones,function(){const e=moment(),n=e.minute();let i=30*Math.round(e.minute()/30);i<n&&(i+=30),e.minute(i),e.second(0),f.details.scheduledStart=h(e,f.details.timeZoneStart).toDate(),f.details.scheduledEnd=h(moment(e).add(f.duration,"m"),f.details.timeZoneEnd).toDate(),E(),t.$watch((function(){return f.details.scheduledStart}),g),t.$watch((function(){return f.details.scheduledEnd}),S),t.$watch((function(){return f.details.timeZoneStart.location}),S,!0),t.$watch((function(){return f.details.timeZoneEnd.location}),S,!0)}()}),(function(){})),c.init().then((function(){f.isSplitDomain=c.userDomainSettings.isSplitDomain,f.allowMeetingGuestUploads=!1!==c.userDomainSettings.allowMeetingGuestUploads,f.details.allowGuestUsers=!0}),(function(){}))}),s.report);const a=f.details.endMeetingBehavior||0;f.details.endMeetingBehavior=f.availableEndBehaviors.find((e=>e.id===a))||f.availableEndBehaviors[0],e((function(){$("#timeZoneSearchStart").on("keydown",(function(e){e.stopPropagation()})),$("#timeZoneSearchEnd").on("keydown",(function(e){e.stopPropagation()}))}))}()}
54e.$inject=["$timeout","$scope","$translate","$q","meetingWorkspaces","coreDataCalendar","coreDataFileStorage","errorHandling","userTimeService","coreData","coreDataSettings","claimsService","themesService"],angular.module("smartermail").controller("meetingViewController",e)}();
55!function(){"use strict";function e(e,t,n,i,a,o,s,d,r,c,l,p,u,h,E,f,m,g,T){var I=this;async function w(n=!0,i=!1){try{e.spinner.show(),await c.getMeetings(i),t.$applyAsync((function(){n&&(I.selectMode=!1,I.selectedCards=[]),A(),D()}))}finally{I.loading=!1,e.spinner.hide()}}function v(){window.removeEventListener("resize",D,!0)}function M(){t.$evalAsync((function(){I.selectMode=!1,I.selectedCards=[],A()}))}function C(e){y(e.msgs,e.ev)}function D(){var e=$(".main-content-view").height();e?$(".st-team-workspaces.slide-section").css("min-height",e).css("max-height",e):s(D)}async function y(e,t){if(e)try{var n=d.confirmDeletion().textContent(T.reactPluralize("TEAM_WORKSPACE_CONFIRM_DELETE",{count:e.length})).targetEvent(t);await d.show(n);const r=I.meetings.length;for(var a=[],o=[],s=0;s<e.length;s++)a.push(e[s].id),o.push(e[s].publicIdentifier);if(await c.deleteMeetings(a),r-a.length<c.getFilteredOwnedMeetings().length){const e=d.confirmDeletion().title().textContent(i.instant("CONFIRMATIONS_UNABLE_TO_DELETE_MEETINGS")).ok(i.instant("OK")).noWarn(!0).hideCancel(!0);d.show(e)}I.refresh()}catch(e){}}function A(){switch(I.selectedBranchData.key){case"MY_MEETINGS":I.meetings=c.getFilteredOwnedMeetings(!1);break;case"MY_ARCHIVED":I.meetings=c.getFilteredOwnedMeetings(!0);break;case"PARTICIPATED_MEETINGS":I.meetings=c.getFilteredParticipatedMeetings(!1);break;case"PARTICIPATED_ARCHIVED":I.meetings=c.getFilteredParticipatedMeetings(!0)}I.meetings&&I.meetings.forEach((e=>{!function(e){if(e.displayedScheduleLine1=null,e.displayedScheduleLine2=null,!e.scheduledStart)return;const t=g.convertLocalToUserTimeMoment(e.scheduledStart),n=t.toDate(),o=g.convertLocalToUserTimeMoment(e.scheduledEnd),s=o.toDate();t.isSame(o,"day")?(e.displayedScheduleLine1=a("date")(n,"longDate"),e.displayedScheduleLine2=a("date")(n,"shortTime")+" - "+a("date")(s,"shortTime")):(e.displayedScheduleLine1=`${i.instant("STARTS")} ${a("date")(n,"longDate")} ${a("date")(n,"shortTime")}`,e.displayedScheduleLine2=`${i.instant("ENDS")} ${a("date")(s,"longDate")} ${a("date")(s,"shortTime")}`)}(e)}))}function S(e){var t,n,i=window.location.href.substring(0,window.location.href.indexOf("/interface/"))+"/interface/meeting/"+e;t=i,(n=document.createElement("textarea")).value=t,n.setAttribute("readonly",""),n.style.position="absolute",n.style.left="-9999px",document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n),p.report("COPIED_TO_CLIPBOARD")}function k(e,t){I.treeExpanded=t.expanded,s((function(){$(window).trigger("resize")}),250)}function _(e,t){if(!e)return;if("PARTICIPATED_MEETINGS"===I.selectedBranchData.key||"MY_MEETINGS"===I.selectedBranchData.key)return;const n=[];for(let t=0;t<e.length;t++)n.push(e[t].id);c.unarchiveMeetings(n).then((function(){I.refresh()}),(function(){}))}async function P(e){let t;switch(await c.getMeetings(!0),I.selectedBranchData.key){case"MY_MEETINGS":t=c.getFilteredOwnedMeetings(!1);break;case"MY_ARCHIVED":t=c.getFilteredOwnedMeetings(!0);break;case"PARTICIPATED_MEETINGS":t=c.getFilteredParticipatedMeetings(!1);break;case"PARTICIPATED_ARCHIVED":t=c.getFilteredParticipatedMeetings(!0);break;default:t=[]}const n=t.find((t=>t.id===e.id));I.canBeDeleted=!!n&&(!n.hasLinkedAppointment||n.isLinkedAppointmentDeleted)}function O(e){_(e.meetings,e.ev)}I.hasFilter=!1,I.loading=!0,I.meetings=null,I.search="",I.selectMode=!1,I.selectedCards=[],I.sortBy="title",I.sortReverse=!1,I.treeExpanded=l.isExpanded,I.userTimeZone=Intl.DateTimeFormat().resolvedOptions().timeZone,I.viewsTreeController={},I.viewsTree={data:[],map:[],selectedBranchData:{}},I.deleteWithConfirmation=y,I.copyMeetingLink=S,I.doSearch=function(e){I.search=e},I.isCardSelected=function(e){return-1!==I.selectedCards.indexOf(e)},I.newMeeting=function(e){window.open(window.location.href.replace("/meetings","/popout/meeting/new"),"",`resizable=1, ${m.dimensions.meeting}`)},I.openCard=function(e,t){if(I.selectMode){var n=I.selectedCards.indexOf(e);-1===n?I.selectedCards.push(e):I.selectedCards.splice(n,1)}else{var i=stSiteRoot+"interface/meeting#/"+e.fullId;window.open(i,e.fullId)}},I.onMouseUp=async function(e,i){if(!t.selectMode&&(await w(!1),3===i.which&&"MY_MEETINGS"===I.selectedBranchData.key)){i.stopPropagation(),i.preventDefault(),t.dropdownEvent=$.extend(!0,{},i),t.dropdownOptions=[],t.dropdownOptions=t.dropdownOptions.concat([{key:"copyText",click:function(){S(e.fullId)},translateKey:"COPY_LINK"},{divider:!0},{key:"deleteItem",click:C,params:{msgs:[e],ev:t.dropdownEvent},translateKey:"DELETE"}]);var a=$("#context-menu-area");if(a){var o=n('<st-context-menu options="dropdownOptions" event="dropdownEvent"></st-context-menu>')(t);a.append(o)}}},I.refresh=w,I.selectAll=function(){I.selectedCards=[],$.each(I.meetings,(function(e,t){I.selectedCards.push(t)}))},I.selectNone=function(){I.selectedCards=[]},I.setSelectMode=function(e){I.selectMode=e,I.selectedCards=[]},I.onBranchChanged=function(e){I.sortBy="title",I.selectedBranchData=e.data,A()},I.unarchiveMeeting=_,I.didRefresh=!1,I.checkCanBeDeleted=P,I.isDeleteDisabled=function(e){const t=I.meetings.find((t=>t.id===e.id))||e;return t.hasLinkedAppointment&&!t.isLinkedAppointmentDeleted},I.buildMenuOptions=async function(e,i){return i.stopPropagation(),i.preventDefault(),t.dropdownEvent=$.extend(!0,{},i),t.dropdownOptions=[],await P(e),Promise.resolve().then((()=>{var i=[{key:"copyText",click:function(){S(e.fullId)},translateKey:"COPY_LINK"},{divider:!0}];e.archived&&i.push({key:"unarchiveItem",click:O,params:{meetings:[e],ev:t.dropdownEvent},translateKey:"UNARCHIVE"}),i.push({key:"deleteItem",click:C,params:{msgs:[e],ev:t.dropdownEvent},translateKey:"DELETE",disabled:!I.canBeDeleted}),t.dropdownOptions=t.dropdownOptions.concat(i);var a=$("#context-menu-area");if(a){var o=n('<st-context-menu options="dropdownOptions" event="dropdownEvent"></st-context-menu>')(t);a.append(o)}}))},function(){const e=()=>{I.locale=r.getValidLocale(),I.userTimeZone=g.userTimeZone.location,I.viewsTree.data=[],I.viewsTree.data.push({label:i.instant("MY_MEETINGS"),data:{id:"MY_MEETINGS",key:"MY_MEETINGS"},children:[{label:i.instant("ARCHIVED"),data:{id:"MY_ARCHIVED",key:"MY_ARCHIVED"}}]}),I.viewsTree.data.push({label:i.instant("PARTICIPATED_MEETINGS"),data:{id:"PARTICIPATED_MEETINGS",key:"PARTICIPATED_MEETINGS"},children:[{label:i.instant("ARCHIVED"),data:{id:"PARTICIPATED_ARCHIVED",key:"PARTICIPATED_ARCHIVED"}}]}),s((function(){I.viewsTreeController.select_first_branch(),w()}))};h.init().then((function(){g.init().then(e,u.report)}),u.report),window.addEventListener("resize",D,!0),t.$on("$destroy",v),t.$on("meetings.refresh",M),t.$on("treeState:stateChange",k)}()}e.$inject=["$rootScope","$scope","$compile","$translate","$filter","$http","$timeout","$mdDialog","localeInfoService","meetingWorksp
55aces","treeState","successHandling","errorHandling","coreData","coreDataSettings","claimsService","popupService","userTimeService","i18n"],angular.module("smartermail").controller("meetingsSectionController",e)}();
56!function(){"use strict";function e(e,t,n,i,s,r){var o=this,a=!1;function c(e){var i=n.defer();if(o.webConferencing||a)if(o.meetings&&!e)i.resolve();else{var s=[t.get("~/api/v1/team-workspaces/my-workspaces"),t.get("~/api/v1/team-workspaces/participated-workspaces")];n.all(s).then((function(e){o.meetings=e[0].data.workspaces,o.participatedMeetings=e[1].data.workspaces,d(),i.resolve()}),(function(e){i.reject(e)}))}else n.when(a).then((function(){if(o.meetings&&!e)i.resolve();else{var s=[t.get("~/api/v1/team-workspaces/my-workspaces"),t.get("~/api/v1/team-workspaces/participated-workspaces")];n.all(s).then((function(e){o.meetings=e[0].data.workspaces,o.participatedMeetings=e[1].data.workspaces,d(),i.resolve()}),(function(e){i.reject(e)}))}}),(function(){}));return i.promise}function d(){for(var e=0;e<o.meetings.length;++e)o.meetings[e].meetingFolder?(o.meetings[e].fileCount=o.meetings[e].meetingFolder.count,o.meetings[e].bytesUsed=o.meetings[e].meetingFolder.size):(o.meetings[e].fileCount=0,o.meetings[e].bytesUsed=0)}o.meetings=null,o.participatedMeetings=null,o.getFilteredOwnedMeetings=function(e){return o.meetings?e?$.grep(o.meetings,(e=>e.archived&&!e.inProcess)):$.grep(o.meetings,(e=>!e.archived&&!e.inProcess)):[]},o.getFilteredParticipatedMeetings=function(e){return o.participatedMeetings?e?$.grep(o.participatedMeetings,(e=>e.archived&&!e.inProcess)):$.grep(o.participatedMeetings,(e=>!e.archived&&!e.inProcess)):[]},o.getMeetings=c,o.getMeetingDetails=function(e){var i=n.defer();return t.get("~/api/v1/team-workspaces/workspace/"+e).then((function(e){i.resolve(e.data.workspace)}),(function(e){i.reject(e)})),i.promise},o.deleteMeetings=function(e,i){var s=n.defer();const r=i?"~/api/v1/team-workspaces/remove-appt":"~/api/v1/team-workspaces/delete";return t.post(r,{ids:e}).then((function(e){c(!0).then((function(){s.resolve()}),(function(e){s.reject(e)}))}),(function(e){s.reject(e)})),s.promise},o.createNew=function(e){var i=n.defer();const s={title:e.title,description:e.description,password:e.password,allowGuestUsers:e.allowGuestUsers,attendeesCanStart:e.attendeesCanStart,uploadPermissionLevel:e.uploadPermissionLevel,inProcess:e.inProcess||!1,securitySettings:e.securitySettings};e.scheduleMeeting&&(s.scheduledStart=e.scheduledStart,s.startTzId=e.timeZoneStart.location?e.timeZoneStart.location:e.timeZoneStart.id?e.timeZoneStart.id:e.timeZoneStart,s.scheduledEnd=e.scheduledEnd,s.endTzId=e.timeZoneEnd.location?e.timeZoneEnd.location:e.timeZoneEnd.id?e.timeZoneEnd.id:e.timeZoneEnd,s.endMeetingBehavior=e.endMeetingBehavior.id);return t.post("~/api/v1/team-workspaces/create",s).then((function(e){c(!0).then((function(){i.resolve(e.data)}),(function(){i.resolve(e.data)}))}),i.reject),i.promise},o.unarchiveMeetings=function(e){var i=n.defer();return t.post("~/api/v1/team-workspaces/unarchive",{ids:e}).then((function(e){c(!0).then((function(){i.resolve()}),(function(e){i.reject(e)}))}),(function(e){i.reject(e)})),i.promise},o.update=function(e){var i=n.defer();const s={id:e.id,title:e.title,description:e.description,password:e.password,allowGuestUsers:e.allowGuestUsers,attendeesCanStart:e.attendeesCanStart,uploadPermissionLevel:e.uploadPermissionLevel,inProcess:e.inProcess};e.scheduleMeeting&&(s.scheduledStart=e.scheduledStart,s.startTzId=e.timeZoneStart.location?e.timeZoneStart.location:e.timeZoneStart.id?e.timeZoneStart.id:e.timeZoneStart,s.scheduledEnd=e.scheduledEnd,s.endTzId=e.timeZoneEnd.location?e.timeZoneEnd.location:e.timeZoneEnd.id?e.timeZoneEnd.id:e.timeZoneEnd,s.endMeetingBehavior=null===e.endMeetingBehavior.id||void 0===e.endMeetingBehavior.id?e.endMeetingBehavior:e.endMeetingBehavior.id);return t.post("~/api/v1/team-workspaces/update",s).then((function(e){c(!0).then((function(){i.resolve(e.data)}),(function(){i.resolve(e.data)}))}),(function(e){i.reject(e)})),i.promise},o.userDataService=r,o.webConferencing=!1,r.init().then((function(){o.webConferencing=r.user.settings.features&&r.user.settings.features.enableWebConferencing,a=!0}),(function(){})),e.$on("signalR.mailHub.client.meetingCreated",(function(t,n){c(!0).then((function(){e.$broadcast("meetings.refresh")}))}
56)),e.$on("signalR.mailHub.client.meetingDeleted",(function(t,n){o.meetings=$.grep(o.meetings,(function(e){return e.publicIdentifier===n}),!0),e.$broadcast("meetings.refresh")})),e.$on("signalR.mailHub.client.meetingModified",(function(t){c(!0).then((function(){e.$broadcast("meetings.refresh")}))})),e.$on("signalR.mailHub.client.filesModified",(function(t){c(!0).then((function(){e.$broadcast("meetings.refresh")}))}))}e.$inject=["$rootScope","$http","$q","coreDataFileStorage","preferencesStorage","userDataService"],angular.module("smartermail").service("meetingWorkspaces",e)}();
57!function(){"use strict";function e(e,r,t,l,o,a,n,s){var c=this;c.showCreateFolderModal=async function(e){try{return await t.show({locals:{},controller:"createNoteFolderController",controllerAs:"ctrl",templateUrl:"app/notes/modals/create-folder.dlg.html",targetEvent:e,clickOutsideToClose:!1}),!0}catch(e){}},c.showRenameFolderModal=async function(e,r){if(!r)return;try{let l;return l=r.isSharedItem?await t.show({controller:"editSharedFolderDialogController",controllerAs:"ctrl",templateUrl:"app/shared/modals/edit-shared-folder.dlg.html",targetEvent:e,locals:{folderId:r.folderId,webcalLink:null,folder:null}}):await t.show({locals:{source:r},controller:"renameNoteFolderController",controllerAs:"ctrl",templateUrl:"app/notes/modals/rename-folder.dlg.html",targetEvent:e,clickOutsideToClose:!1}),l&&l.detached&&n.removeSourceVisibility("notes",r),!0}catch(e){}},c.showDeleteFolderModal=async function(e,l){if(!l||l.isPrimary)return;const c=l.ownerUsername?l.ownerUsername:s.user.domain,d=l.displayName?o("folderTranslate")(l.displayName,c):l.name,i=t.confirmDeletion().htmlContent(o("translate")("CONFIRMATIONS_DELETE_FOLDER",{name:d})).targetEvent(e);try{await t.show(i)}catch(e){return}try{var m={isPrimary:l.isPrimary,folder:d,uid:l.id||l.itemID};return await r.post("~/api/v1/notes/sources/delete",m),n.removeSourceVisibility("notes",l),!0}catch(e){a.report(e)}},c.showShareFolderModal=async function(e,r){try{return await t.show({locals:{source:r},controller:"shareNoteFolderController",controllerAs:"ctrl",templateUrl:"app/notes/modals/share-folder.dlg.html",targetEvent:e,clickOutsideToClose:!1}),!0}catch(e){}},c.showSharedFolderPropertiesModal=async function(e,r){try{let l=await t.show({controller:"editSharedFolderDialogController",controllerAs:"ctrl",templateUrl:"app/shared/modals/edit-shared-folder.dlg.html",targetEvent:e,locals:{folderId:r.folderId,webcalLink:null,folder:null}});return l&&l.detached&&n.removeSourceVisibility("notes",r),!0}catch(e){}}}e.$inject=["$rootScope","$http","$mdDialog","$translate","$filter","errorHandling","preferencesStorage","userDataService"],angular.module("smartermail").service("noteActions",e)}();
58!function(){"use strict";angular.module("smartermail").directive("noteCard",(function(){return{restrict:"EA",templateUrl:"app/notes/note-card.html",controller:["$scope","$translate",function(t,e){t.note.categories&&t.note.categories.length&&t.note.categories.forEach((t=>{const n=e.instant(t.name);t.translatedName=$("<div>").html(n).text()}))}]}}))}();
59!function(){"use strict";function e(e,t,o,n,r,i,s,c,a,u,f,d,l,m,I,g,h,w,p,S,C,v,D,F){var N=this,y=!0;function x(){window.onbeforeunload=void 0}function O(){t.skipNavigateConfirm=!0,y=!1,window.close()}function U(e){e.forEach((function(e){e.selected=!1})),t.noteInfo.categoriesMetaData&&(e=t.noteInfo.categoriesMetaData.reduce((function(e,t){const o=e.find((e=>e.name===t.name));return o?o.selected=t.selected:t.selected&&e.push({name:t.name,colorIndex:-1,master:!1,translatedName:r("translate")(t.name),selected:!0}),e}),e)),t.noteInfo.categoriesMetaData=e}function E(){try{t.noteCategories=t.currentSource.ownerUsername?h.getCategories():[],U(t.noteCategories)}catch(e){g.report(e)}}function M(){t.noteInfo&&t.editingItem&&t.noteInfo.text!=t.originalNoteDesc&&N.userForm.$setDirty()}function b(){if(t.userForm.$dirty&&y)return y=!1,""}function A(e,o){if(!N.removedAttachedFiles||0===N.removedAttachedFiles.length)return s.resolve();var n=t.sources.filter((t=>t.itemID===e))[0],r=JSON.stringify({folderId:n.folderId,owner:o,removeFileReferences:N.removedAttachedFiles});return c.post("~/api/v1/filestorage/remove-attached-file",r)}function P(e,o){e!==o&&(e.isDomainResource?t.afContext="domainshare":t.afContext="user")}t.isNew=void 0===i.id,t.isLoaded=!1,t.editingItem=!0,t.editorScope={},t.sources=[],t.notes=[],t.showCategories=!0,N.removedAttachedFiles=[],t.cancel=O,t.deleteDropdown=function(e){t.deleteWithConfirmation(e.card,e.event)},t.deleteWithConfirmation=function(n){try{var i=o.confirmDeletion().textContent(r("translate")("CONFIRMATIONS_DELETE_ITEM_NAMED",{name:t.noteInfo.subject})).targetEvent(n);o.show(i).then((function(){N.deletePromise()}),null)}catch(t){g.report(t.message),e.spinner.hide()}},t.isOwner=function(){return t.currentSource&&t.currentSource.ownerUsername===m.user.username},t.onSourceChanged=function(e){t.currentSource=e,t.currentSource.ownerUsername!==h.categoryOwner&&(h.categoryOwner=t.currentSource.ownerUsername,E());N.userForm.$setDirty()},t.save=function(){t.noteInfo.text=t.editorScope.getHtml(),t.noteInfo.isPlainText=!1,n((function(){var o;if(t.noteInfo.categoriesMetaData=$.grep(t.noteCategories,(function(e){return e.selected})),t.noteInfo.text.indexOf('"/attachedfile?data=')>-1&&(t.noteInfo.text=t.noteInfo.text.split('"/attachedfile?data=').join('"attlinkedfileid:')),N.attachedFiles.some((e=>e.isNew))&&(t.noteInfo.attachmentGuid=N.attachmentGuid),t.noteInfo.subject||(t.noteInfo.subject=r("htmlUnescape")($(t.noteInfo.text)[0].innerText.substring(0,255))),t.isNew)t.noteInfo.source=t.currentSource,t.noteInfo.sourceId=t.currentSource.itemID,t.noteInfo.sourceOwner=t.currentSource.ownerUsername,o=d.addNote;else if(t.noteInfo.sourceId!==t.currentSource.itemID){const o=t.noteInfo.id,n=t.noteInfo.itemId,r=t.noteInfo.sourceId,i=t.noteInfo.sourceOwner;t.noteInfo.id=void 0,t.noteInfo.source=t.currentSource,t.noteInfo.sourceId=t.currentSource.itemID,t.noteInfo.sourceOwner=t.currentSource.ownerUsername,t.noteInfo.oldSourceId=r,t.noteInfo.oldId=o,t.noteInfo.oldSourceOwner=i,A(t.noteInfo.sourceId,t.noteInfo.sourceOwner).then((function(){d.addNote(t.noteInfo).then((function(a){t.noteInfo.itemId=a.itemId,function(e,o,n,r){if(!N.attachedFiles||0===N.attachedFiles.length)return s.when();const i=t.sources.filter((t=>t.itemID===e))[0],a=t.sources.filter((e=>e.itemID===o))[0],u=JSON.stringify({oldOwner:i.ownerUsername,newOwner:a.ownerUsername,oldFolderId:i.folderId,oldItemId:n,newFolderId:a.folderId,newItemId:r});return c.post("~/api/v1/filestorage/move-attached-files",u)}(r,t.currentSource.itemID,n,a.itemId).then((function(){d.removeSingleNote(i,r,o).then(O,(function(t){e.spinner.hide(),p.showErrorMessage(t)}))}),(function(t){e.spinner.hide(),p.showErrorMessage(t)}))}),(function(t){e.spinner.hide(),p.showErrorMessage(t)}))}),p.showErrorMessage)}else o=d.editNote;"function"==typeof o&&A(t.noteInfo.sourceId,t.noteInfo.sourceOwner).then((()=>o(t.noteInfo))).then(O,p.showErrorMessage).finally(e.spinner.hide)}))},t.setForm=function(e){N.userForm=e},t.setFormDirty=function(e){e.$setDirty(),t.$applyAsync()},t.trustDescriptionHtml=function(e){return u.trustAsHtml(C.parseCss(e))},N.categoryColorByName=function(e){const o=function(e){if(!e)return null;var o=$.grep(t.noteCategories,(t=>t.name.toUpperCase()===e.toUpperCase()));return o.length>0?o[0]:null}(e);if(!o||-1==o.colorIndex)return null;const n=h.getCategoryColor(o.colorIndex);return n&&n.rgb?n.rgb:null},N.deletePromise=function(){e.spinner.show(),d.removeNotes([t.noteInfo]).then((function(t){O(),e.spinner.hide()}),(function(t){e.spinner.hide(),p.showErrorMessage(t)}))},N.hasSelectedCategory=function(){if(!t.noteCategories)return!1;for(var e=0;e<t.noteCategories.length;e++)if(t.noteCategories[e].selected)return!0;return!1},N.onCategoryChanged=function(e){e&&(e.selected=!e.selected);N.userForm.$setDirty()},N.onClearAllCategories=function(){for(var e=0;e<t.noteCategories.length;e++)t.noteCategories[e].selected=!1;N.userForm.$setDirty()},N.openManageCategoriesModal=function(e){o.show({controller:"manageCategoriesDialogController",controllerAs:"manageCategoriesCtrl",templateUrl:"app/shared/modals/manage.categories.dlg.html",targetEvent:e})},N.removeAttachedFile=function(e,t){if(!N.canEdit&&!e)return;if(e.isNew&&"function"==typeof e.remove)return void e.remove();N.removedAttachedFiles.push(e.fileReference),N.userForm.$setDirty()},function(){t.afContext="user",t.$on("$destroy",x),S.ensureActivated(),e.spinner.showInstant();var o=[w.getSources(!0),f.init()];t.isNew||o.push(d.getNote(i.id,i.sourceId,i.sourceOwner));s.all(o).then((function(o){t.sources=o[0],t.defaultSource=t.sources.find((e=>e.isPrimary&&e.ownerUsername===m.user.username)),t.isNew||(t.currentSource=t.sources.find((e=>
59e.itemID===i.sourceId)),t.noteInfo=$.extend(!0,o[2],{sourcePermission:t.currentSource?t.currentSource.access:i.sourceOwner===m.user.username?8:4,sourceOwner:t.currentSource?t.currentSource.ownerUsername:i.sourceOwner})),function(){var o=I.getPopoutData();$.isEmptyObject(o)?t.isNew?(t.currentSource=t.defaultSource,t.noteInfo||(t.noteInfo={}),t.noteInfo.color="white",t.noteInfo.sourcePermission=8):function(){t.isNew=!1;var e=t.noteInfo.text;t.noteInfo.isPlainText&&(e=e.replace(/\r\n/g,"<br>"));try{var o=$(e);1===o.length&&"DIV"===o[0].nodeName.toUpperCase()&&o.children("div,h1,h2,h3,h4,pre,blockquote,ul,ol,p").length>0&&(e=o.html())}catch(e){}t.noteInfo.text=e,t.originalNoteDesc=t.noteInfo.text,n((function(){$('[name="subject"]').trigger("focus"),N.userForm&&(N.userForm.$setPristine(),N.userForm.$setUntouched())}))}():(t.noteInfo=void 0,t.noteInfo=o.noteInfo,t.originalNoteDesc=t.noteInfo.text,t.currentSource=o.currentSource||t.defaultSource,t.isNew=o.isNew);t.currentSource.ownerUsername&&(h.categoryOwner=t.currentSource.ownerUsername);N.attachedFiles=t.noteInfo.attachedFiles?JSON.parse(JSON.stringify(t.noteInfo.attachedFiles)):[],N.attachmentGuid=f.generateGuid(),N.filesUploading=0,t.noteCategories=t.currentSource.ownerUsername?h.getCategories():[],U(t.noteCategories),t.isLoaded=!0,e.spinner.hide(),n((function(){N.userForm&&(N.userForm.$setPristine(),N.userForm.$setUntouched())}))}()}),g.reportAndHideSpinner),m.init(),window.onbeforeunload=b,t.$on("categoriesUpdated",E),t.$watch("noteInfo.text",M),t.$watch("currentSource",P)}(),N.fileUploadedCallback=function(){N.userForm.$setDirty()}}e.$inject=["$rootScope","$scope","$mdDialog","$timeout","$filter","$stateParams","$q","$http","$translate","$sce","coreData","coreDataNotes","coreDataCategories","userDataService","authStorage","errorHandling","apiCategories","apiNoteSources","errorMessageService","themesService","htmlSandboxing","fileInfoProvider","toaster","i18n"],angular.module("smartermail").controller("notesViewController",e)}();
60!function(){"use strict";function e(e,t,r,n,a,s,o,i,c,l,d,u,h,p,f,g,m,w,C,y,v,b,D,F,S,T,E,R,k,O){var x=this;async function P(){q(),x.tableParams=new D({sorting:{lastModifiedUTC:"desc"},count:25},{getData:U,counts:e.commonTableCounts}),x.checkboxes.table=x.tableParams,t.currentView=f.parameters.currentView;try{await f.ensureSourcesLoadedPromise()}catch(e){y.report(e)}try{await f.ensureNotesLoadedPromise()}catch(e){y.report(e)}try{await(r=[f.loadSourcesTree(t.sourcesTreeController,f.reloadOnEnter),f.loadColorsTree(t.colorsTreeController,!0)],f.reloadOnEnter=!1,e.spinner.show(),i.all(r).then((function(e){t.currentView=f.parameters.currentView,Z(!0),t.sources=f.getSources(),x.anySourcesVisible=z()})).finally(e.spinner.hide)),n((function(){var e="#chk0";switch(x.sortField){default:case"lastModifiedUTC":e="#chk0";break;case"color":e="#chk1";break;case"subject":e="#chk2"}$(e).addClass("selected"),t.isDescending?$("#chkDescend").addClass("selected"):$("#chkAscend").addClass("selected"),angular.forEach(t.sources,(function(t){t.enabled&&(e="#src"+t.ownerUsername+t.access,$(e).addClass("selected"))}))})),f.parameters.isDescending=x.isDescending,x.anySourcesVisible=z(),V(),x.searchUpdate()}catch(e){y.report(e)}var r}function N(){q(!0),Q()}function V(){window.innerWidth<=736&&"CARD_VIEW"!=t.currentView&&I("CARD_VIEW")}function I(e){x.tableParams.settings({dataset:[]}),t.currentView=f.parameters.currentView=e||"CARD_VIEW",t.selectMode=!1,W(),M(),x.searchUpdate()}function M(){t.hasCategoryFilter=f.parameters.hasCategoryFilter,x.checkboxes.reset(),x.tableParams.reload()}async function U(r){if(S.getFirstSwitcher()&&(S.getFirstSwitcher().allowCheckHide="GRID_VIEW"===t.currentView),"GRID_VIEW"!==t.currentView)return;for(var n in x.searchParams.skip=(r.page()-1)*r.count(),x.searchParams.take=r.count(),x.searchParams.sortField=null,r.sorting())if(r.sorting().hasOwnProperty(n)&&r.sorting()[n]){x.searchParams.sortField=n,x.searchParams.sortDescending="desc"===r.sorting()[n];break}var a=$.grep(f.getSources(),(e=>!0===e.enabled&&e.access>2));if(0===a.length)return x.searchResults=[],x.searchResultCount=0,r.total(x.searchResultCount),A=null,i.when(x.searchResults);var s=$.map(a,(function(e){return{owner:e.ownerUsername,id:e.itemID,displayName:e.displayName}})),o=$.grep(f.parameters.categoryFilters,(e=>e.noCategory))[0];x.searchParams.categories=$.map($.grep(f.parameters.categoryFilters,(e=>e.selected&&!e.noCategory)),(e=>
60e.name)),x.searchParams.showNonCategorized=0!==f.parameters.categoryFilters&&!o||o.selected,x.searchParams.colors=x.colorFilters;var c={};void 0!==x.filterType&&(c[x.filterType]=!0),x.searchParams.filterFlags=c;const l=JSON.stringify({sources:s,searchParams:x.searchParams});if(A==l)return x.searchResults;A=l;try{e.spinner.show();let t=await d.post("~/api/v1/notes/notes-all",l);return x.searchResults=t.data.results||[],x.searchResultCount=x.searchResults.length,r.total(t.data.totalCount),angular.forEach(x.searchResults,(function(e){e.sourceOwner||(e.sourceOwner=null),e.lastModifiedUTC=moment.tz(e.lastModifiedUTC,"UTC").format(),"my notes"===e.sourceName.toLowerCase()&&(e.sourceName="MY_NOTES"),e.categories=e.categoriesMetaData||[],e.sourceOwner&&R.addRgbColorsToCategories(e.sourceOwner,e.categories),e.categoriesString=R.generateNameString(e.categories)})),x.searchResults}catch(e){y.report(e)}finally{e.spinner.hide()}}t.treeExpanded=b.isExpanded,t.currentView="CARD_VIEW",t.isLoaded=!1,t.selectedCards=[],t.selectMode=!1,x.searchText=f.parameters.searchText,t.activeSearch=!1,x.colorFilters=[],x.anySourcesVisible=!0,x.searchParams={skip:0,take:0,search:null,sortField:null,sortDescending:!1},x.tableParams=new D({}),x.checkboxes=F.init(),x.checkboxes.table=x.tableParams,x.checkboxes.specialKey=e=>e.sourceOwner?`${e.sourceOwner}|${e.id}`:`|${e.id}`,t.hasCategoryFilter=f.parameters.hasCategoryFilter,x.sortField=f.parameters.sortField,x.sortReverse=f.parameters.sortReverse,x.filterType=f.parameters.filterType,x.isVisibleRenameFolder=!1,x.isVisibleDeleteFolder=!1,x.isVisibleShareFolder=!1,x.isVisibleFolderProperties=!1,x.showManageShares=g.userDomainSettings.enableSharing,t.branchMouseUp=function(e,r){if(r.stopPropagation(),r.preventDefault(),r.cancelbubble=!0,!r||3!==r.which)return;if(e.data.unclickable)return;t.dropdownEvent=$.extend(!0,{},r),t.dropdownOptions=function(e,t){return[{key:"newFolder",click:se,params:{event:t,branch:e},translateKey:"NEW_FOLDER"},{key:"renameFolder",click:oe,params:{event:t,branch:e},translateKey:"EDIT_FOLDER",show:te(e)},{key:"deleteFolder",click:ie,params:{branch:e,event:t},translateKey:"DELETE_FOLDER",show:re(e)},{key:"shareFolder",click:ce,params:{branch:e,event:t},translateKey:"SHARE_FOLDER",show:ne(e)},{key:"sharedFolderProperties",click:le,params:{branch:e,event:t},translateKey:"PROPERTIES",show:ae(e)}]}(e,r);let n=!1;for(let e=0;e<t.dropdownOptions.length;e++)(t.dropdownOptions[e].show||void 0===t.dropdownOptions[e].show)&&(n=!0);if(!n)return;var a=$("#context-menu-area");if(a){var s=o('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']" menu-like="true" menu-class="\'abn-tree-row\'"></st-context-menu>')(t);a.append(s)}},t.contextMenuGridItem=function(e,r){if(!r||"touchstart"!==r.type&&"touchend"!==r.type&&3!==r.which||e.criticallyErrored)return;r.stopPropagation(),r.preventDefault();var n=x.checkboxes.getCheckedItems();(n.length>1&&!_.some(n,(function(t){return t.split("|")[1]===e.id}))||n.length<=1)&&(x.checkboxes.reset(),x.checkboxes.checkCheckbox(r,e),n=[e.sourceOwner+"|"+e.id]);t.dropdownEvent=$.extend(!0,{},r),t.dropdownOptions=[{key:"deleteNotesInGrid",click:H,params:n,translateKey:"DELETE"},{key:"exportNotesInGrid",click:ee,params:n,translateKey:"EXPORT_TO_CSV"}];var a=$("#context-menu-area");if(a){var s=o('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(t);a.append(s)}},t.deleteDropdown=K,t.deleteWithConfirmation=j,t.editDropdown=function(e){x.showEditNoteDialog(e.card,e.event)},t.editItem=function(e,r){if(t.selectMode){var n=t.selectedCards.indexOf(e.id);n>-1?t.selectedCards.splice(n,1):t.selectedCards.push(e.id)}else x.showEditNoteDialog(e,r)},t.isCardSelected=function(e){return t.selectedCards.indexOf(e.id)>-1},t.isSourceSelected=z,t.newNote=function(e){window.open(window.location.href.replace("/notes","/popout/note/new"),"","resizable=1, "+T.dimensions.note)},t.onBranchSelect=async function(e,r,n){for(let e=0;e<t.sourcesTree.data.length;e++){t.sourcesTree.data[e].selected=!1}if("sources"===r){let r=e.data.isVisible;x.selectedBranch=e,e.selected=!0,e.data.isVisible=!n||!e.data.isVisible,e.data.source.enabled=e.data.isVisible,r!=e.data.isVisible&&await async function(e){try{t.isLoaded=!1,await f.updateSourceVisibility(e.data.source),t.sources=f.getSources(),x.searchUpdate(),x.anySourcesVisible=z()}catch(e){y.report(e)}}(e)}else"colors"===r&&(x.selectedBranch=void 0,e.data.isVisible=!n||!e.data.isVisible,Z(!0));x.isVisibleRenameFolder=te(e),x.isVisibleDeleteFolder=re(e),x.isVisibleShareFolder=ne(e),x.isVisibleFolderProperties=ae(e)},t.onMouseUp=function(e,r,n){if(t.selectMode)return;if(3==r.which||n&&1==r.which){r.stopPropagation(),r.preventDefault(),t.dropdownEvent=$.extend(!0,{},r),t.dropdownOptions=G(e);var a='<st-context-menu options="dropdownOptions" event="dropdownEvent" '+(n?'menu-like="::true" menu-class="::\'more-menu\'" direction="\'left\'" vert-offset="-20"':"")+"></st-context-menu>",s=$("#context-menu-area");if(s){var i=o(a)(t);s.append(i)}}},t.openManageCategoriesModal=async function(e){try{await r.show({controller:"manageCategoriesDialogController",controllerAs:"manageCategoriesCtrl",templateUrl:"app/shared/modals/manage.categories.dlg.html",targetEvent:e})}catch(e){}},t.save=function(){var e;t.noteInfo.categoriesMetaData=$.grep(t.noteCategories,(function(e){return e.selected})),t.isNew?(t.noteInfo.source=t.currentSource,t.noteInfo.sourceOwner=t.currentSource.ownerUsername,e=f.addNote):e=f.editNote;t.noteInfo.subject&&0!==t.noteInfo.subject.length||(t.noteInfo.subject=s("htmlEscape")($(t.noteInfo.text).text().substring(0,15)));e(t.noteInfo).then((function(e){x.searchUpdate(),c.go("index.notes")}),y.report)},t.showActionsMenu=function(e,r,a){r.stopPropagation(),r.preventDefault(),t.dropdownEvent=$.extend(!0,{},r);var s=G(e);t.$applyAsync((function(){t.dropdownOptions=s,n((function(){a(r)}),0)}))},x.deleteNotesInGrid=H,x.deselectAll=W,x.exportNotes=ee,x.importNotes=async function(){try{if(!await r.show({locals:{},controller:"noteImportDialogController",controllerAs:"importCtrl",templateUrl:"app/notes/modals/note-import.dlg.html",clickOutsideToClose:!1}))return;5===t.step&&e.spinner.show(),A=null}catch(e){}},x.onCategoryFilterChanged=function(e){x.searchUpdate()},x.onContextDeleteFolder=ie,x.onContextNewFolder=se,x.onContextRenameFolder=oe,x.onContextSharedFolderProperties=le,x.onContextShareFolder=ce,x.onSortingChanged=function(e){x.sortField=e,B(),x.searchUpdate()},x.onSortOrderChanged=function(e){x.sortReverse=e,B(),x.searchUpdate()},x.onViewChanged=I,x.searchUpdate=function(){if(!f.areNotesLoaded())return void n((function(){x.searchUpdate()}));t.isLoaded=!0,f.parameters.searchText=x.searchText,x.searchParams.search=x.searchText,t.activeSearch=""!=x.searchText,t.notes=f.getFilteredNotes(),t.totalCount=t.notes.length,t.listController.reset(),t.listController.updateDisplayList(),t.listController.onResize(),M()},x.selectAll=function(){t.selectedCards.length=0,$.each(t.notes,(function(e,r){t.selectedCards.push(r.i
60d)}))},x.selectBtnPressed=function(){t.selectedCards.length=0,t.selectMode=!t.selectMode},x.showEditNoteDialog=function(e,t){window.open(window.location.href.replace("/notes",`/popout/note/${e.id}/${e.sourceId}/${e.sourceOwner}`),e.id,"resizable=1, "+T.dimensions.note)},x.onFilterChanged=function(e){switch(e){case"all":x.filterType=void 0,f.parameters.filterType=void 0;break;case"attachments":x.filterType=1,f.parameters.filterType=1}x.searchUpdate()},B(),L(),h.watchForChanges(t,L),p.init().then((function(){e.spinner.show(),f.init().then(P,y.report).finally(e.spinner.hide)}),y.report),t.$on("$destroy",(function(){$(window).off("resize.doResize",V)})),$(window).on("resize.doResize",V),t.$on("treeState:stateChange",(function(e,r){t.treeExpanded=r.expanded,n((function(){$(window).trigger("resize")}),250)})),t.sources=[],t.notes=[],t.totalCount=0,t.listDataCache=f.listDataCache,t.listDataProvider=f.listDataProvider,t.listController={},t.$on("notesRefresh",X),t.$on("signalR.mailHub.client.sharesChanged",J),t.$on("signalR.mailHub.client.folderChange",J),t.$on("signalR.mailHub.client.notesModified",N),t.$on("signalR.mailHub.client.notesDeleted",N);var A={};function L(){t.edition=h.edition}function W(){t.selectedCards.length=0}function z(){if(!t.sources||0===t.sources.length)return!1;var e=$.grep(t.sources,(function(e){return e.enabled&&e.ownerUsername===p.user.username}));t.showCategoriesTree=e.length>0;for(var r=0;r<t.sources.length;r++)if(t.sources[r].enabled)return!0;return!1}function B(){if("lastModifiedUTC"===x.sortField)x.isDescending=!x.sortReverse;else x.isDescending=x.sortReverse;f.parameters.sortReverse=x.sortReverse,f.parameters.isDescending=x.isDescending,f.parameters.sortField=x.sortField}function G(e){var r=[];return r.push({key:"deleteItem",translateKey:"DELETE",click:K,params:{cards:[e],event:t.dropdownEvent}}),r.push({key:"exportItem",translateKey:"EXPORT_TO_CSV",click:ee,params:[e]}),r}function H(e,r){for(var n=[],a=0;a<e.length;++a){var s=e[a].split("|")[0];""==s&&(s=null);var o=e[a].split("|")[1],i=$.grep(t.notes,(function(e){return e.sourceOwner===s&&e.id===o}))[0];i&&n.push(i)}j(n,r)}function K(e){t.deleteWithConfirmation(e.cards,e.event)}function j(n,a){if(n.length>0){var o=n[0].sourceId?n:$.grep(t.notes,(function(e){return n.includes(e.id)}
60));try{var i=r.confirmDeletion().textContent(1===o.length?s("translate")("CONFIRMATIONS_DELETE_ITEM_NAMED",{name:o[0].subject}):O.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:n.length})).targetEvent(a);r.show(i).then((function(){!function(r){e.spinner.show(),f.removeNotes(r).then((function(e){t.notes=f.getFilteredNotes(),t.selectedCards.length=0,0===t.notes.length&&(t.selectMode=!1)}),y.reportAndHideSpinner).finally(e.spinner.hide)}(o)}),null)}catch(e){y.report(e.message)}}else y.report("ERROR_NO_CARDS")}function X(e,r){n((function(){A=null,x.searchUpdate(),t.selectedCards.length=0}))}function J(e,t){t&&t.shareType&&"notes"!==t.shareType||(q(!0),Q())}function q(e){e&&g.resetResources(),g.settingsData.mappedResources.then((function(e){$.grep(e||[],(e=>5===e.shareType&&!e.mapped))}))}var Y=null;function Q(){return Y||(Y=i.defer(),f.resetSources(),f.loadSourcesTree(t.sourcesTreeController,!0).then((function(){f.resetNotes().then((function(){t.sources=f.getSources(),x.searchUpdate(),Y.resolve(),Y=null}),(function(){Y.reject(),Y=null}))}),(function(e){y.report(e),Y=null}))),Y.promise}function Z(e){var r=[];angular.forEach(t.colorsTree.data,(function(e){e.data.isVisible&&r.push(e.data.color)}));for(var n=r.length,a=0;a<n;++a)switch(r[a].toUpperCase()){case"#FFFFFF":r.push("white");break;case"#FAD122":r.push("yellow");break;case"#FDB2B3":r.push("pink");break;case"#68BD45":r.push("green");break;case"#006693":r.push("blue")}x.colorFilters=f.parameters.colorFilters=r,e&&x.searchUpdate()}function ee(r){r||(r=t.notes),r[0].id||(r[0].contains("|")&&(r=$.map(r,(function(e){return e.split("|")[1]}))),r=$.grep(t.notes,(function(e){return r.includes(e.id)}
60))),r=r[0].id?r:$.grep(t.notes,(function(e){return r.includes(e.id)}));const n=JSON.stringify($.map(r,(e=>({sourceOwner:e.sourceOwner,id:e.id,sourceId:e.sourceId}))));e.spinner.show();for(var s=!1,o=0;o<r.length;o++)if(r[o].hasAttachments){s=!0;break}s&&k.pop("warning",a.instant("WARN_ATTACH_NOT_EXPORTED")),m.downloadFile("~/api/v1/notes/notes-export-all","notes.csv",n).then((function(){}),y.report).finally(e.spinner.hide)}function te(e){return e&&e.data&&e.data.source&&e.data.source.access>=2&&!e.data.isSharedByOther&&!e.data.isGal&&!e.data.isDomainResource}function re(e){return e&&e.data&&e.data.source&&e.data.source.access>=4&&!e.data.isSharedByOther&&!e.data.isGal&&!e.data.isDomainResource&&!e.data.isPrimary}function ne(e){return e&&e.data&&e.data.source&&e.data.source.access>=4&&!e.data.isSharedByOther&&!e.data.isGal&&!e.data.isDomainResource&&g.userDomainSettings.enableSharing}function ae(e){return e&&e.data&&e.data.isSharedByOther&&!e.data.isGal}async function se(e){u.showCreateFolderModal(e.event)&&Q()}async function oe(e){await u.showRenameFolderModal(e.event,e.branch.data.source)&&Q()}async function ie(e){await u.showDeleteFolderModal(e.event,e.branch.data.source)&&Q()}async function ce(e){await u.showShareFolderModal(e.event,e.branch.data.source)&&Q()}async function le(e){await u.showSharedFolderPropertiesModal(e.event,e.branch.data.source)&&Q()}t.sourcesTreeController={},t.colorsTreeController={},t.sourcesTree=f.getSourcesTree(),t.colorsTree=f.getColorsTree(),t.translateCategory=function(e){const t=a.instant(e);return $("<div>").html(t).text()},t.translateColor=function(e){return e=e||"WHITE",a.instant(e.toUpperCase())},t.translateFolder=function(e){return E.fromNameAndOwner(e.sourceName,e.sourceOwner)}}e.$inject=["$rootScope","$scope","$mdDialog","$timeout","$translate","$filter","$compile","$q","$state","$stateParams","$http","noteActions","coreLicensing","coreData","coreDataNotes","coreDataSettings","coreDataFileStorage","claimsService","preferencesStorage","errorHandling","userDataService","treeState","NgTableParams","gridCheckboxes","tableColumnSwitching","popupService","folderNameTranslator","apiCategories","toaster","i18n"],angular.module("smartermail").controller("notesController",e)}();
61!function(){"use strict";function t(t,o,e,p,a,n,i,u){t.item=n,t.dismiss=function(t){a.dismiss(n,t).then(e.hide,(function(){}))},t.snooze=function(t,o){a.snooze(n,t,o).then(e.hide,(function(){}))},t.cancel=function(){e.cancel()},t.trusted=function(t){return p.trustAsHtml(o("htmlUnescape")(t))},t.popoutClicked=function(t){switch(n.popupAlertPopoutData.type){case 1:var o=u.makeEmailPacket(n.popupAlertPopoutData.accountName+"@"+n.popupAlertPopoutData.domainName,n.popupAlertPopoutData.folderPath.toLowerCase(),null,n.popupAlertPopoutData.mid),e=u.getPopoutUrl(o);window.open(e,"emailID"+n.popupAlertPopoutData.mid,"resizable=1, "+i.dimensions.email);break;case 3:window.open((stSiteRoot||"/")+"interface/root#/popout/contact/"+n.popupAlertPopoutData.itemGuid+"/"+n.popupAlertPopoutData.accountName+"/"+n.popupAlertPopoutData.folderGuid,"","resizeable=1, "+i.dimensions.contact);break;case 4:n.popupAlertPopoutData.occurrenceId?window.open((stSiteRoot||"/")+"interface/root#/popout/appointment/"+n.popupAlertPopoutData.accountName+"/"+n.popupAlertPopoutData.folderGuid+"/"+n.popupAlertPopoutData.itemGuid+"?instanceId="+moment(n.popupAlertPopoutData.occurrenceId).utc().format("YYYYMMDDHHmmss")+"&instanceStart="+moment(n.popupAlertPopoutData.start).format("YYYYMMDDHHmmss")+"&instanceEnd="+moment(n.popupAlertPopoutData.end).format("YYYYMMDDHHmmss"),"","resizeable=1, "+i.dimensions.calendar):window.open((stSiteRoot||"/")+"interface/root#/popout/appointment/"+n.popupAlertPopoutData.accountName+"/"+n.popupAlertPopoutData.folderGuid+"/"+n.popupAlertPopoutData.itemGuid,"","resizeable=1, "+i.dimensions.calendar);break;case 5:window.open((stSiteRoot||"/")+"interface/root#/popout/task/"+n.popupAlertPopoutData.itemGuid+"/"+n.popupAlertPopoutData.folderGuid+"/"+n.popupAlertPopoutData.accountName,"","resizeable=1, "+i.dimensions.task)}}}t.$inject=["$scope","$filter","$mdDialog","$sce","notifications","item","popupService","emailNavigation"],angular.module("smartermail").controller("notificationDialogController",t)}();
62!function(){"use strict";function e(e,t,a,n,o,i,s,c,r,l,d,h,f,b,m,u){var p=this;async function g(){try{var e=await s.getNotifications()||[];(e=e.filter((e=>
62!e.snoozedUntil||new Date(e.snoozedUntil)<new Date))).forEach((function(e){if(e.textData){Object.keys(e.textData).forEach((function(t){e.textData[t]=a("translate")(e.textData[t]),e.textData[t]=a("htmlUnescape")(e.textData[t])})),e.title=a("translate")(e.title);var t="";e.body.split("<br>").forEach((function(n){t+=a("translate")(n,e.textData)+"<br>",t=a("htmlUnescape")(t)})),e.body=t.trim(),t="",e.bodySafe.split("<br>").forEach((function(n){t+=a("translate")(n,e.textData)+"<br>",t=a("htmlUnescape")(t)})),e.bodySafe=t.trim()}e.body&&(e.body=e.body.replace(/<br\s?\/?>/g,"\r\n")),e.bodySafe&&(e.bodySafe=e.bodySafe.replace(/<br\s?\/?>/g,"\r\n"))})),p.checkboxes.reset(),p.tableParams.settings({dataset:e}),p.tableParams.reload(),p.initialized=!0}catch(e){}}async function x(e){try{var t=p.checkboxes.getCheckedItems();if(!t||!t.length)return;await s.dismiss(t),g()}catch(e){}}p.tableParams=new c({sorting:{dt:"desc"},count:10},{dataset:[],counts:[10,25,50,100,200],localStorageKey:"ngTableRows-notifications"}),p.checkboxes=r.init("id"),p.checkboxes.table=p.tableParams,p.initialized=!1,p.browserNotificationPermission=l.permission,p.openHelpLinkForBrowserNotifications=function(){const e="https://help.smartertools.com/smartermail/current/?page="+encodeURIComponent("browser-notifications-disabled")+"&v="+u.stVersion();console.log("NAVIGATING TO HELP PAGE: "+e),window.open(e,"help")},p.dismissSelected=x,p.dismissAll=async function(e){try{var n=await s.getNotifications()||[],o=t.confirmDeletion().textContent(m.reactPluralize("CONFIRMATIONS_DISMISS_ALL_ITEMS",{count:n&&n.length})).ok(a("translate")("DISMISS")).targetEvent(e);await t.show(o),await s.dismissAll(e),window.close()}catch(e){}},p.snoozeSelected=async function(e,t){try{var a=p.checkboxes.getCheckedItems();if(!a||!a.length)return;await s.snooze(a,e),p.checkboxes.reset(),g()}catch(e){}},p.searchItems=function(){p.checkboxes.reset(),p.tableParams.filter({$:p.searchText})},p.editItem=async function(e,t){try{await s.openNotificationDialog(e,t),g()}catch(e){}},p.contextMenuGridItem=function(t,a){if(!a||"touchstart"!==a.type&&"touchend"!==a.type&&3!==a.which||t.criticallyErrored)return;a.stopPropagation(),a.preventDefault();var n=p.checkboxes.getCheckedItems();(n.length>1&&!_.some(n,(function(e){return e===t.id}))||n.length<=1)&&(p.checkboxes.reset(),p.checkboxes.checkCheckbox(a,t),n=[t.id]);e.dropdownEvent=$.extend(!0,{},a),e.dropdownOptions=[{key:"dismissSelected",click:x,translateKey:"DISMISS"}];var o=$("#context-menu-area");if(o){var s=i('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);o.append(s)}},b.ensureActivated(),g(),d.init(),f.onPagesChanged(p.checkboxes.checkAllChecked)}e.$inject=["$scope","$mdDialog","$filter","$translate","$log","$compile","notifications","NgTableParams","gridCheckboxes","browserNotifications","userDataService","preferencesStorage","ngTableEventsChannel","themesService","i18n","claimsService"],angular.module("smartermail").controller("notificationsController",e)}();
63!function(){function t(t,i,e,n,o,s,r,a){var l,u=this;function f(){u.items=[],u.itemCounts={}}function c(){if(l)return l.promise;var t=l=n.defer();return o.get("~/api/v1/notifications/list").then((function(t){u.items=t.data.items,u.itemCounts={domainCount:0,userCount:0,systemCount:0};for(var i=0;i<u.items.length;i++){var e=u.items[i];e.snoozedUntil&&new Date(e.snoozedUntil)<new Date&&(e.snoozedUntil=null),e.snoozedUntil||("system"==e.type?u.itemCounts.systemCount++:"domain"==e.type?u.itemCounts.domainCount++:u.itemCounts.userCount++)}l.resolve(u.items),l=null}),(function(){l.reject(),l=null})),l.promise.finally((function(){l=null})),t.promise}u.items=[],u.itemCounts={},u.getNotifications=c,u.getNotificationCount=function(){var t=n.defer();return c().finally((function(){t.resolve(u.itemCounts)})),t.promise},u.openNotificationDialog=function(t,i){var e=n.defer();return s.show({locals:{item:t},controller:"notificationDialogController",templateUrl:"app/notifications/notification.dlg.html",targetEvent:i}).then((function(t){u.getNotifications().then((function(t){e.resolve(t)}))}),e.reject),e.promise},u.dismiss=function(t,i){var e=n.defer(),s=[];if(Array.isArray(t))for(var r=0;r<t.length;r++)s.push(t[r].id||t[r]);else s.push(t.id||t);return o.post("~/api/v1/notifications/dismiss",{ids:s}).then((function(t){if(t.data.success){for(var i=[],n=0;n<u.items.length;n++)-1===s.indexOf(u.items[n].id)&&i.push(u.items[n]);u.items=i}e.resolve(t)}),e.reject),e.promise},u.dismissAll=function(t){var i=n.defer();return o.post("~/api/v1/notifications/dismiss-all").then((function(t){if(t.data.success){u.items=[]}i.resolve(t)}),i.reject),i.promise},u.snooze=function(t,i,e){var s=n.defer(),r=[],a=0==i?null:new Date((new Date).getTime()+6e4*(i||15));if(Array.isArray(t))for(var l=0;l<t.length;l++)r.push(t[l].id||t[l]);else r.push(t.id||t);return o.post("~/api/v1/notifications/snooze",{ids:r,snoozeUntil:a}).then((function(t){if(t.data.success)for(var i=0;i<u.items.length;i++)-1!==r.indexOf(u.items[i].id)&&(u.items[i].snoozedUntil=a);s.resolve(t)}),s.reject),s.promise},u.reset=f,t.$on("Authentication:Logout",f),t.$on("signalR.mailHub.client.notificationChanged",(function(){f(),t.$broadcast("Notifications:Reloaded")}))}t.$inject=["$rootScope","$timeout","$log","$q","$http","$mdDialog","$sessionStorage","$localStorage"],angular.module("smartermail").service("notifications",t)}();
64!function(){"use strict";function a(a,e,t,r,d,n,s,i,o,l,T,c,R,u,_,A){var S=this,E=[{cardType:"dataCard",cardTitle:"REPORT_DASHBOARD_SERVICE_UPTIME",cardData:{value:""},cardContents:[{dataType:"label_noName",data:{name:"UPTIME_DATE",value:"N/A"}}]},{cardType:"dataCard",cardTitle:"REPORT_DASHBOARD_SYSTEMINFO",cardData:{value:""},cardContents:[{dataType:"label_noName",data:{name:"REPORT_DASHBOARD_SYSTEMINFO",value:""}},{dataType:"label",cardTitle:"REPORT_DASHBOARD_CORE_COUNT",data:{name:"REPORT_DASHBOARD_CORE_COUNT",value:"
640"}},{dataType:"label",cardTitle:"REPORT_DASHBOARD_TOTAL_RAM",data:{name:"REPORT_DASHBOARD_TOTAL_RAM",value:"0"}}]},{cardType:"dataCard",cardTitle:"REPORT_DASHBOARD_PROTOCOL_ACTIVITY",cardData:{value:"0"},cardContents:[{dataType:"label",cardTitle:"IMAP",data:{name:"IMAP",value:"0"}},{dataType:"label",cardTitle:"POP",data:{name:"POP",value:"0"}},{dataType:"label",cardTitle:"SMTP",data:{name:"SMTP",value:"0"}},{dataType:"label",cardTitle:"REPORT_DASHBOARD_DELIVERY_THREADS",data:{name:"REPORT_DASHBOARD_DELIVERY_THREADS",value:"0"}},{dataType:"label",cardTitle:"REPORT_DASHBOARD_LDAP_CONNECTIONS",data:{name:"REPORT_DASHBOARD_LDAP_CONNECTIONS",value:"0"}}]},{cardType:"dataCard",cardTitle:"DNS_CACHE_UTILIZATION",cardData:{value:"0"},cardContents:[{dataType:"label",cardTitle:"HITS",data:{name:"HITS",value:"0"}},{dataType:"label",cardTitle:"MISSES",data:{name:"MISSES",value:"0"}}]},{cardType:"dataCard",cardTitle:"CPU_USAGE",cardData:{},cardContents:[{dataType:"lineChart",suffix:" %",metric:"HOUR",data:{items:["CPU"],values:[["0"],["0"],["0"],["0"],["0"],["0"],["0"],["0"],["0"],["0"]]}}]},{cardType:"dataCard",cardTitle:"REPORT_DASHBOARD_MEMORY_USAGE",cardData:{},cardContents:[{dataType:"lineChart",suffix:" %",metric:"HOUR",colors:["#e23f33"],data:{items:["MEMORY"],values:[["0"],["0"],["0"],["0"],["0"],["0"],["0"],["0"],["0"],["0"]]}}]},{cardType:"pairedCard",cardTitle:"COLORED_CARDS",isPairedCard:!0,ignoreTitle:!0,cardContents:[[{dataType:"colored",cardTitle:"REPORT_DASHBOARD_MESSAGES_IN_SPOOL",data:{name:"REPORT_DASHBOARD_MESSAGES_IN_SPOOL",value:"0",color:"#5497a7"}}]]}],O=null,D=!1;function p(){S.isInitialized=!0,e.$on("signalR.client.dashboardUpdate",I),e.$on("signalR.client.dashboardInit",P),T((function(){$(window).trigger("resize"),a.$broadcast("masonry:contentsChanged")}),50),c.init().then((function(a){a.mailHub.invoke("dashboardConnectWithStartData",o.getToken(),["cpu","memoryPerc","dnsInfo","threads","driveInfo","protocolActivity","spam","deliveries","threads","greylist","spoolcount","cores","totalram","opsys","container"],["systeminfo","historyCpuMem1Hour"]).then((function(){S.connection=a.mailHub,T(v,2e3)}))}),(function(){})),T(m,1e3)}function m(){if(T(m,1e3),O){var a=moment().diff(O);e.charts.REPORT_DASHBOARD_SERVICE_UPTIME.updateValue(s("date")(h(O),"medium")),e.charts.REPORT_DASHBOARD_SERVICE_UPTIME.updateTotal(s("translate")("REPORT_DASHBOARD_SERVICE_UPTIME_OUTPUT",{days:Math.abs(moment.duration(a).days()),hours:Math.abs(moment.duration(a).hours()),minutes:Math.abs(moment.duration(a).minutes())}))}}function h(a){var e=a.toDate(),t=e.getTime()+6e4*e.getTimezoneOffset(),r=moment.tz(a,u.userTimeZone.location).utcOffset();return new Date(t+6e4*r)}function P(a,t){O=moment(t.processStartTime),D||function(a,t){for(var r=0;r<a.length;r++){var d=null;d=t?{cardType:"dataCard",cardTitle:`DRIVE_${a[r]}_AVERAGE_STATISTICS`,cardDisplayTitle:{title:s("translate")("REPORT_DASHBOARD_DRIVE_STATISTICS",{drive:a[r]}),data:{drive:`${a[r]}`}},cardContents:[{dataType:"label",cardTitle:`AvgQueueLength[${a[r]}]`,data:{name:"AVG_QUEUE_LENGTH",value:"0"}},{dataType:"label",cardTitle:`AvgReadWrite[${a[r]}]`,data:{name:"AVG_READ_WRITE",value:"0"}},{dataType:"label",cardTitle:`FreeTotal[${a[r]}]`,data:{name:"REPORT_DASHBOARD_FREE_TOTAL",value:"0"}},{dataType:"percentBar",data:{label:"USED",value:"0",total:"1",color:"#28c2ba"}}]}:{cardType:"dataCard",cardTitle:s("translate")("REPORT_DASHBOARD_DRIVE_STATISTICS",{drive:a[r]}),cardData:{value:""},cardContents:[{dataType:"label",cardTitle:`AvgReadWrite[${a[r]}]`,data:{name:"AVG_READ_WRITE",value:"0"}},{dataType:"label",cardTitle:`FreeTotal[${a[r]}]`,data:{name:"REPORT_DASHBOARD_FREE_TOTAL",value:"0"}},{dataType:"percentBar",data:{label:"USED",value:"0",total:"1",color:"#28c2ba"}}]},e.reportCards.push(d)}}(t.availableDrives,t.isWindows),D=!0;var r=moment().diff(O);e.reportCards[0].cardSubTitle=t.machineName,e.charts.REPORT_DASHBOARD_SERVICE_UPTIME.updateValue(s("date")(h(O),"medium"));var d=Math.abs(moment.duration(r).days()),n=Math.abs(moment.duration(r).hours()),i=Math.abs(moment.duration(r).minutes());e.charts.REPORT_DASHBOARD_SERVICE_UPTIME.updateTotal(s("translate")("REPORT_DASHBOARD_SERVICE_UPTIME_OUTPUT",{days:d,hours:n,minutes:i}));for(var o=new Array,l=0;l<t.cpuHistory[0].length;l++)for(var T=0;T<50;T++)o.push([t.cpuHistory[0][l]]);
64e.charts.CPU_USAGE.updateValues(o),o=new Array;for(var c=0;c<t.memHistory[0].length;c++)for(var R=0;R<50;R++)o.push([t.memHistory[0][c]/t.totalRam]);e.charts.REPORT_DASHBOARD_MEMORY_USAGE.updateValues(o)}function v(){S.connection&&S.connection.invoke("dashboardUpdate",o.getToken(),["cpu","memoryPerc","dnsInfo","threads","driveInfo","cores","totalram","opsys","container"]).then((function(a){T(v,2e3),I(null,a)}))}function I(a,t){e.$evalAsync((function(){if(t){e.charts.CPU_USAGE.updateValue([[t.cpu]]),e.charts.REPORT_DASHBOARD_MEMORY_USAGE.updateValue([[t.memoryPerc]]),e.charts.HITS.updateValue(t.dnsCacheHits),e.charts.MISSES.updateValue(t.dnsCacheMisses),e.charts.MISSES.updateTotal(t.dnsCacheTotalItems);var a=Number.isInteger(t.imapThreads)?t.imapThreads:0,r=Number.isInteger(t.popThreads)?t.popThreads:0,d=Number.isInteger(t.smtpThreads)?t.smtpThreads:0,n=Number.isInteger(t.deliveryThreads)?t.deliveryThreads:0,i=Number.isInteger(t.ldapThreads)?t.ldapThreads:0,o=a+r+d+n+i,l=Math.floor(t.totalRam/1e3);if(t.isContainer){var T=s("translate")("REPORT_DASHBOARD_CONTAINER");e.charts.REPORT_DASHBOARD_SYSTEMINFO.updateValue(`${t.opSystem} / ${T}`)}else e.charts.REPORT_DASHBOARD_SYSTEMINFO.updateValue(t.opSystem);e.charts.REPORT_DASHBOARD_TOTAL_RAM.updateValue(l),e.charts.REPORT_DASHBOARD_CORE_COUNT.updateValue(t.cores),e.charts.IMAP.updateValue(a),e.charts.POP.updateValue(r),e.charts.SMTP.updateValue(d),e.charts.REPORT_DASHBOARD_DELIVERY_THREADS.updateValue(n),e.charts.REPORT_DASHBOARD_LDAP_CONNECTIONS.updateValue(i),e.charts.REPORT_DASHBOARD_LDAP_CONNECTIONS.updateTotal(o.toString()),t.driveInfo&&t.driveInfo.forEach((function(a){var r=e.charts[`AvgReadWrite[${a.letter}]`];r&&r.updateValue(`${a.read} / ${a.write}`),(r=e.charts[`AvgQueueLength[${a.letter}]`])&&r.updateValue(`${a.queue}`);var d=Math.floor(a.free/1024),n=Math.floor(a.total/1024),s=(d/1024).toFixed(2),i=(n/1024).toFixed(2),o=n-d;(r=e.charts[`FreeTotal[${a.letter}]`])&&(i<1?r.updateValue(`${d} GB / ${n} GB`):r.updateValue(`${s} TB / ${i} TB`)),t.isWindows&&e.charts[`DRIVE_${a.letter}_AVERAGE_STATISTICS`].updateValues(o,n)})),t.spoolCount&&e.charts.REPORT_DASHBOARD_MESSAGES_IN_SPOOL.updateValue(t.spoolCount.toString())}}))}S.connection=null,e.charts={},e.reportCards=E,e.navigateTo=function(a){if(!a)return;var e=a;a.toLowerCase().startsWith("drive_")&&a.toLowerCase().endsWith("_average_statistics")&&(e="drive_average_statistics");switch(e){case"REPORT_DASHBOARD_MEMORY_USAGE":case"CPU_USAGE":R.go("index.reports.reports-details",{type:"system_server_health",report:"average_hardware_usage"})}},e.navigateBack=function(){R.go("index.sysadmin-reports",{})},function(){if(a.$state.current.helpid="index.reports.system.dashboard",!d.user.isSysAdmin)return void(e.isSysAdmin=!1);e.isSysAdmin=!0,u.init().then(p,_.report)}()}a.$inject=["$rootScope","$scope","$http","$q","coreData","$mdDialog","$filter","$stateParams","authStorage","coreDataDomainSettings","$timeout","signalrHubManager","$state","userTimeService","errorHandling","claimsService"],angular.module("smartermail").controller("dashboardServerHealth",a)}();
65!function(){e.$inject=["$compile","$timeout","$window","$filter","$http","$stateParams","$state","$log"];var t=(new Date).getTime();function e(e,a,n,c,o,d,r,l){return{restrict:"E",transclude:!0,link:function(n,r,l){var i={},s=!1,u=!0;if(!n.content.hide||"1"!=n.content.hide){var v=!1;switch(n.content.dataType){case"label_noName":b(!1);break;case"label":b(!0);break;case"colored":n.theChart={},n.theChart.updateValue=function(t){n.content.data.value=c("safeNumber")(t,0)},r.parent().parent().css("background-color",n.content.data.color),i=angular.element('<div class="report-card-colored"><div class="rcc-title">{{content.data.name | translate}}</div><div class="rcc-data">{{content.data.value | safeNumber }}</div></div>');break;case"pie_no-legend":p(!1);break;case"pie":p(!0);break;case"barGroup":!function(){function t(){var t=1;$.each(n.content.data,(function(e,a){"bar"==a.type&&+a.value>t&&(t=+a.value)}));var e="<div class='report-card-content-bar-group'>";$.each(n.content.data,(function(a,n){if("bar"===n.type){var o=c("translate")(n.name),d=n.format&&"bytes"==n.format?c("bytes")(n.value):c("number")(n.value),r=100*n.value/t;r<.1?r=.1:r>100&&(r=100),e+="                                        <div class='label'>"+o+"</div>                                        <div class='bar-container'>                                             <div class='bar-box'><div class='bar-box-item' style='width: "+r+"%; background-color: "+n.color+";'></div></div>                                             <div class='bar-text'>"+d+"</div>                                         </div>"}})),e+="</div>",s?r.empty().append(e):(i=angular.element(e),s=!0)}n.theChart={},n.theChart.throttledLoad=_.throttle(t,900,!0),n.theChart.updateValue=function(t,e){$.each(n.content.data,(function(a,n){n.name===t&&(n.value=+e)}));var a=_.reduce(n.content.data,(function(t,e){return t+e.value}),0);n.$parent.card.cardData.value=a,n.theChart.throttledLoad()},n.chartReadyHandler=function(t){},n.theChart.throttledLoad()}();break;case"percentBar":!function(){if(0==n.content.data.total)return;function t(){var t=Math.round(n.content.data.value/n.content.data.total*1e4)/100,e=[null!=n.content.data.color?n.content.data.color:"#b1d480","#cccccc"],a=c("number")(t,2)+"%",o="<div class='report-card-content-precentbar' style='background-color: "+e[1]+"'>";o+="<div class='bar-box-item' style='background-color: "+e[0]+"; width: "+t+"%'></div>",o+="<div class='bar-box-text'>"+a+"</div>",o+="</div>",s?r.empty().append(o):(i=angular.element(o),s=!0)}n.theChart={},n.theChart.updateValue=function(e,a){$.each(n.content.data,(function(t,n){n.label==e&&(n.value=+a)})),t()},n.theChart.updateTotal=function(e,a){$.each(n.content.data,(function(t,n){n.label==e&&(n.total=+a)})),t()},n.theChart.updateValues=function(e,a){n.content.data.value=e,n.content.data.total=a,t()},n.content.data.value=h(n.content.data.value),n.content.data.total=h(n.content.data.total),n.chartReadyHandler=function(t){},t()}();break;case"stackedBar":!function(){if(0==n.content.data.total)return;function t(){var t=_.reduce(n.content.data,(function(t,e){return t+e.value}),0);if(n.newChart&&$.each(n.content.data,(function(e,a){if(n.newChart){var o=r.find(".bar-box-item[x-label="+a.label+"]"),d=r.find(".report-card-content-stackedbar-legend-item[x-label="+a.label+"] .value"),l=0==t?0:100*a.value/t;o&&d?(o.width(l+"%"),d.text(c("number")(a.value)+" "+c("translate")(n.content.unit))):n.newChart=null}})),!n.newChart){var e="<div class='report-card-content-stackedbar' style='background-color: #cccccc44;'>";$.each(n.content.data,(function(a,n){var c=0==t?0:100*n.value/t;e+="<div class='bar-box-item' x-label='"+n.label+"' style='background-color: "+n.color+"; width: "+c+"%'></div>"})),e+="</div>",n.content.legend&&$.each(n.content.data,(function(t,a){e+="<div class='report-card-content-stackedbar-legend-item' x-label='"+a.label+"'>",e+="  <div class='color-dot' style='background-color: "+a.color+";'></div>",e+="  <div class='label'>"+c("translate")(a.label)+"</div>",e+="  <div class='value'>"+c("number")(a.value)+" "+c("translate")(n.content.unit)+"</div>",e+="</div>"})),s?r.empty().append(e):(i=angular.element(e),s=!0),n.newChart=r}}n.theChart={},n.theChart.throttledLoad=_.throttle(t,900,!0),n.theChart.updateValue=function(t,e){$.each(n.content.data,(function(a,n){n.label==t&&(n.value=+e)})),n.theChart.throttledLoad()},n.chartReadyHandler=function(t){},n.theChart.throttledLoad()}();break;case"percentCircle":!function(){function t(){var t=null!=n.content.data.color?n.content.data.color:"#ff3333",e=$.shadeColor(t,-.2);n.content.data.value=h(n.content.data.value),n.content.data.total=h(n.content.data.total),n.content.data.total<n.content.data.value&&(n.content.data.total=n.content.data.value);var a=Math.round(n.content.data.value/n.content.data.total*1e4)/100,o=20,d=180,r=d/2-5-o/2,l=Math.PI*(2*r),s=a;s<0&&(s=0),s>100&&(s=100);var u=(100-s)/100*l;i=angular.element("                        <div class='report-card-content-percent-circle' data-pct='55'>                             <svg width='"+d+"' height='"+d+"' viewPort='0 0 100 100' version='1.1' xmlns='http://www.w3.org/2000/svg'>                                 <circle class='back' r='"+r+"' cx='"+d/2+"' cy='"+d/2+"' fill='"+e+"' stroke-width='"+o+"' stroke-dasharray='"+l+"'></circle>                                 <circle class='bar' r='"+r+"' cx='"+d/2+"' cy='"+d/2+"' fill='transparent' stroke-width='"+o+"' stroke-dasharray='"+l+"' stroke='#ccc' ></circle>                                 <circle class='bar' r='"+r+"' cx='"+d/2+"' cy='"+d/2+"' fill='transparent' stroke-width='"+o+"' stroke-dasharray='"+l+"' stroke='"+t+"' stroke-dashoffset='"+u+"'></circle>                                 <text text-anchor='middle' x='"+d/2+"' y='"+(d/2+5)+"' font-family='Arial' font-size='32' stroke='none' stroke-width='0' fill='#fff'>"+a+"%</text>                                 <text text-anchor='middle' x='"+d/2+"' y='"+(d/2+25)+"' font-family='Arial' font-size='14' stroke='none' stroke-width='0' fill='#fff'>"+c("translate")(n.content.data.label)+"</text>                             </svg>                         </div>")}n.chartReadyHandler=function(t){},n.theChart={},n.theChart.throttledLoad=_.throttle(t,900,!0),n.theChart.throttledLoad()}();break;case"lineChart":!function(){var e=t++;n.c3Columns=[],n.theChart={data:{},throttledLoad:_.throttle((function(){n.theChart.c3Chart.load({columns:n.c3Columns})}),900,!0)};try{$.each(n.content.data.items,(function(t,e){n.c3Columns.push([c("translate")(e)])})),$.each(n.content.data.values,(function(t,e){$.each(e,(function(t,e){n.c3Columns[t].push(e)}))})),i=angular.element("<div class='report-card-content-lineChart' style='width:100%;position:relative;'>\t    \t\t\t\t\t    <div id='theChart"+e+"' style='height: 200px;'></div>     \t\t\t\t\t\t</div>"),a((function(){n.theChart.c3Chart=c3.generate({bindto:"#theChart"+e,color:{pattern:n.content.colors||["#5497a7","#8263a9","#de8b6b","#b1d480","#56cbc3"]},data:{columns:n.c3Columns,type:"line"},legend:{show:!1},axis:{x:{show:!1},y:{min:0,padding:{bottom:0},tick:{format:function(t){return" %"==n.content.suffix?t+" %":t}}}},spline:{interpolation:{type:"monotone"}},point:{show:!1},transition:{duration:0}})}),100)}catch(t){console.trace(t)}n.theChart.updateValue=function(t){n.theChart.c3Chart&&($.each(t,(function(t,e){$.each(e,(function(t,e){n.c3Columns[t].push(e)}))})),$.each(n.c3Columns,(function(t,e){var a=n.c3Columns[t];a.length>301&&a.splice(1,a.length-301)})),n.theChart.throttledLoad())},n.theChart.updateValues=function(t){n.c3Columns=[],$.each(n.content.data.items,(function(t,e){n.c3Columns.push([c("translate")(e)])})),n.theChart.updateValue(t)}}();break;case"disk-usage-legend":!function(){document.getElementsByTagName("body")[0].getAttribute("dir");var t=!1;n.content.data.unlimited&&"1"==n.content.data.unlimited&&(t=!0);o.get("~/api/v1/report/disk-usage/"+d.type).then((function(a){try{n.content=a.data;var o="",d="";d=c("bytes")(n.content.mailboxUsed),t||(d+=" ("+f(n.content.mailboxUsed/n.content.allowed*100,1)+"%)"),o+='<div class="legend-row"><div class="circle" style="background-color:#79a8d7;"></div><div>
65'+c("translate")("MAILBOX_USAGE")+" - "+d+"</div><div></div></div>",n.content.sources.forEach((function(t){o+='<div class="legend-row folder"><div>'+c("translate")(t.name)+"</div><div>"+c("bytes")(t.value),o+="</div></div>"})),d=c("bytes")(n.content.appointmentsUsed),t||(d+=" ("+f(n.content.appointmentsUsed/n.content.allowed*100,1)+"%)"),o+='<div class="legend-row"><div class="circle" style="background-color:#d77979;"></div><div>'+c("translate")("AF_APPOINTMENTS")+" - "+d+"</div><div></div></div>",d=c("bytes")(n.content.contactsUsed),t||(d+=" ("+f(n.content.contactsUsed/n.content.allowed*100,1)+"%)"),o+='<div class="legend-row"><div class="circle" style="background-color:#d7d779;"></div><div>'+c("translate")("AF_CONTACTS")+" - "+d+"</div><div></div></div>",d=c("bytes")(n.content.tasksUsed),t||(d+=" ("+f(n.content.tasksUsed/n.content.allowed*100,1)+"%)"),o+='<div class="legend-row"><div class="circle" style="background-color:#79d7d7;"></div><div>'+c("translate")("AF_TASKS")+" - "+d+"</div><div></div></div>",d=c("bytes")(n.content.notesUsed),t||(d+=" ("+f(n.content.notesUsed/n.content.allowed*100,1)+"%)"),o+='<div class="legend-row"><div class="circle" style="background-color:#d779c0;"></div><div>'+c("translate")("AF_NOTES")+" - "+d+"</div><div></div></div>",d=c("bytes")(n.content.fileStorageUsed),t||(d+=" ("+f(n.content.fileStorageUsed/n.content.allowed*100,1)+"%)"),o+='<div class="legend-row"><div class="circle" style="background-color:#79d791;"></div><div>'+c("translate")("FILE_STORAGE_USAGE")+" - "+d+"</div><div></div></div>
65",d=c("bytes")(n.content.meetingWorkspaceUsed),t||(d+=" ("+f(n.content.meetingWorkspaceUsed/n.content.allowed*100,1)+"%)"),o+='<div class="legend-row"><div class="circle" style="background-color:#a879d7;"></div><div>'+c("translate")("ONLINE_MEETING_USAGE")+" - "+d+"</div><div></div></div>",d=c("bytes")(n.content.chatFilesUsed),t||(d+=" ("+f(n.content.chatFilesUsed/n.content.allowed*100,1)+"%)"),o+='<div class="legend-row"><div class="circle" style="background-color:#d7a879;"></div><div>'+c("translate")("CHAT_FILES")+" - "+d+"</div><div></div></div>";var l="";if(!t){let t=n.content.fileStorageUsed+n.content.mailboxUsed+n.content.meetingWorkspaceUsed+n.content.chatFilesUsed;l="<div class='reports-usage-header'>"+c("translate")("REPORTS_DISK_USED_MSG",{used:c("bytes")(t),allowed:c("bytes")(n.content.allowed)})+"</div>"}i=angular.element(l+"<div class='legend-block'>"+o+"</div>"),r.append(e(i)(n))}catch(t){}}),(function(t){}))}()}n.$parent.$parent.charts&&(n.$parent.$parent.charts[n.content.cardTitle||n.$parent.card.cardTitle]=n.theChart),"disk-usage-legend"!==n.content.dataType&&r.append(e(i)(n))}function h(t){var e=1;return-1!=t.indexOf("KB")?e=1024:-1!=t.indexOf("MB")?e=1048576:-1!=t.indexOf("GB")?e=1073741824:-1!=t.indexOf("TB")?e=1099511627776:-1!=t.indexOf("PB")&&(e=0x4000000000000),Number(t.replace(/[^\d.-]/g,""))*e}function f(t,e){var a=Math.pow(10,e),n=t*a;return Math.round(n)/a}function b(t){v=!t,n.theChart={},n.theChart.updateValue=function(t){n.content.data.value=c("safeNumber")(t,0)},n.theChart.updateTotal=function(t){if(n.$parent.card.isPairedCard){for(var e=0;e<2;e++)for(var a=0;a<n.$parent.card.cardContents[e].length;a++)if(n.$parent.card.cardContents[e][a].cardTitle===n.content.cardTitle){n.$parent.card.cardData.values[e]=c("safeNumber")(t,1);break}}else n.$parent.card.cardData.value=c("safeNumber")(t,1)},i=v?angular.element("<div class='report-card-content-label'><div class='rccl-name' style='display:none;'>{{content.data.name | translate}}</div>"+(null!=n.content.data.value?"<div class='rccl-value' "+(null!=n.content.data.color?"style='color:{{content.data.color}}":"")+"'>"+(n.content.data.format&&"bytes"==n.content.data.format?"{{content.data.value | bytes}}":"{{content.data.value | safeNumber}}")+(n.content.data.unit?" {{content.data.unit | translate}}":"")+"</div>":"")+"</div>"):angular.element("<div class='report-card-content-label'><div class='rccl-name'>{{content.data.name | translate}}</div>"+(null!=n.content.data.value?"<div class='rccl-value' "+(null!=n.content.data.color?"style='color:{{content.data.color}}":"")+"'>"+(n.content.data.format&&"bytes"==n.content.data.format?"{{content.data.value | bytes}}":"{{content.data.value | safeNumber}}")+(n.content.data.unit?" {{content.data.unit | translate}}":"")+"</div>":"")+"</div>")}function p(e){var o=t++,d="",r="",l=["#5497a7","#8263a9","#de8b6b","#b1d480","#56cbc3"],v={},h=[],f=[];n.theChart={},n.theChart.updateValue=function(t){},u=!!e,$.each(n.content.data,(function(t,e){switch(e.type){case"center":r=c("safeNumber")(e.value,0),e.suffix&&(r+=e.suffix);break;case"data":var a=c("translate")(e.name),n=e.color||l.pop();v[e.name]=n,f.push(n),h.push([a,e.value]),d+="<div class='legend-row'><div class='circle' style='background-color:"+n+";'></div><div>"+a+"</div><div>"+c("safeNumber")(e.value)+"</div></div>"}}));var b=u?"<div class='legend-block'>"+d+"</div>":"";i=angular.element("<div class='report-card-content-pie' style='width:100%;position:relative;'>\t\t\t\t\t\t    <div id='theChart"+o+"' style='height: 200px;'></div> \t\t\t\t\t\t\t"+b+"\t\t\t\t\t\t</div>"),s=!0,a((function(){h.length>0&&_.some(h,(function(t){return t&&t.length>1&&0!=t[1]}))?(c3.generate({bindto:"#theChart"+o,color:{pattern:f},data:{columns:h,type:"donut"},donut:{title:r},legend:{show:!1}}),$("#theChart"+o).removeClass("hidden-chart")):$("#theChart"+o).addClass("hidden-chart")}),100)}}}}angular.module("smartermail").directive("reportCardContent",e)}();
66!function(){function a(a){return{restrict:"E",link:function(r,t,c){var d={};switch(r.card.isTitleCard=!1,r.card.cardType){case"dataCard":d=angular.element("<div class='report-card-data'><div class='rcd-title'>"+(r.card.cardDisplayTitle?"{{card.cardDisplayTitle.title | translate : card.cardDisplayTitle.data}}":"{{card.cardTitle | translate}}")+"</div>"+(null!=r.card.cardData&&null!=r.card.cardData.value?"<div class='rcd-value'>"+(r.card.cardData.type&&"bytes"==r.card.cardData.type?"{{card.cardData.value | bytes : 2 | safeNumber}}":"{{card.cardData.value | safeNumber}}")+(r.card.cardData.unit?" {{card.cardData.unit | translate}}":"")+(null!=r.card.cardData.label?"<span class='rcd-value-label' style='color:"+r.card.cardData.color!=null?r.card.cardData.color:"'>{{card.cardData.label | safeNumber}}</span>":"")+"</div>":"")+"<report-card-content ng-repeat='content in card.cardContents'></report-card-content></div>");break;case"titleCard_User":r.card.isTitleCard=!0,d=angular.element("<div class='title-card'><div class='tc-portrait'><img class='img-circle user-picture' ng-src='{{userImageSource}}'></img></div><div class='tc-content'><div class='tc-title'>{{card.cardTitle | translate}}</div><div class='tc-subtitle'>{{card.cardSubTitle | translate}}</div></div></div>"),t.addClass("rc-title-card");break;case"pairedCard":var e="";$(t).hasClass("disableClick")&&(e="disableClick"),d=angular.element((r.card.cardContents[1]?'<md-card class="paired-card-data '+e+' float-position" ng-click="$parent.goToCard($event, card, 1)"><div class="rcd-title" ng-if="card.cardTitles[1]">{{card.cardTitles[1] | translate}}</div><div class="rcd-value" ng-if="card.cardData.values[1]">{{card.cardData.values[1] | translate}}<span class="rcd-value-label"> {{card.cardData.labels[1] | translate}}</span></div><div ng-repeat="content in card.cardContents[1] track by $index" ><report-card-content></report-card-content></div></md-card>':"")+'<md-card class="paired-card-data '+e+'" ng-click="$parent.goToCard($event, card, 0)"><div class="rcd-title" ng-if="card.cardTitles[0]">{{card.cardTitles[0] | translate}}</div><div class="rcd-value" ng-if="card.cardData.values[0]">{{card.cardData.values[0] | translate}}<span class="rcd-value-label"> {{card.cardData.labels[0] | translate}}</span></div><div ng-repeat="content in card.cardContents[0] track by $index" ><report-card-content></report-card-content></div></md-card>');break;case"titleCard_Domain":case"titleCard_Generic":r.card.isTitleCard=!0,d=angular.element("<div class='title-card'><div class='tc-content'><div class='tc-title'>{{card.cardTitle | translate}}</div><div class='tc-subtitle'>{{card.cardSubTitle | translate}}</div></div></div>"),t.addClass("rc-title-card")}t.append(a(d)(r))}}}a.$inject=["$compile"],angular.module("smartermail").directive("reportCard",a)}();
67!function(){"use strict";function t(t,e,a,r,n,o,i,s,c,l,u,d,p,h,f,m,D,g,y,b){var w=null,S=_.debounce((function(){e.reportData.tableEntities=[],1==e.reportData.mode.key&&$(".table-container > table > tbody").children().not(".tr-bolded").find("td:first-child").each((function(t){e.reportData.tableEntities.push($(this).text())}));e.c3Rows=[[]];var t="date"==e.content.table.headers[0].format;if($.each(e.content.table.headers,(function(t,a){(0==t||e.content.chart.data.items.includes(a.label))&&e.c3Rows[0].push(a.label)})),$.each(e.content.chart.data.values,(function(a,r){var n=[];t?(n.push(new Date(e.content.table.rows[a][0])),$.each(r,(function(t,e){n.push(R(e))})),e.c3Rows.push(n)):(n.push(e.content.table.rows[a][0]),$.each(r,(function(t,e){n.push(R(e))})),e.reportData.tableEntities.indexOf(e.content.table.rows[a][0])>-1&&e.c3Rows.push(n))})),e.reportData.tableEntities.length>0){var a=e.c3Rows[0],n=e.c3Rows.splice(1);n.sort(B),e.c3Rows=[a].concat(n)}e.c3Rows=t?e.c3Rows.slice(0,181):e.c3Rows.slice(0,11),e.c3ChartOptions={bindto:"#theChart2",color:{pattern:e.colors},data:{x:e.content.table.headers[0].label,type:"LineChart"==e.chartType?"spline":"bar",rows:e.c3Rows,names:{}},axis:{x:{type:G(),tick:{format:"category"==G()?void 0:H,multiline:!0,culling:{max:t&&1==e.reportData.step.key?5:10}}},y:{min:0,padding:{bottom:0}}},point:{show:e.c3Rows.length<60},spline:{interpolation:{type:"monotone"}},grid:{y:{show:!0}},legend:{position:"right"}},$.each(e.c3ChartOptions.data.rows[0],(function(t,a){e.c3ChartOptions.data.names[a]=K(a)})),e.content.chart.format&&"bytes"==e.content.chart.format?e.c3ChartOptions.axis.y.tick={format:function(t){return e.content.chart.precision?r("bytes")(t,e.content.chart.precision):t<1024?r("number")(t,0):r("bytes")(t)}}:e.c3ChartOptions.axis.y.tick={format:function(t){return r("number")(t,0)}};if($(e.c3ChartOptions.bindto).removeClass("pie"),e.content.chart.stacked_items){var o=e.content.chart.stacked_items.split(",");if(e.c3ChartOptions.data.groups=[o],"LineChart"===e.chartType){var i={};o.forEach((t=>{i[t]="area-spline"})),e.c3ChartOptions.data.types=i}}e.c3Chart=c3.generate(e.c3ChartOptions),N(!1,!1)}),100),v=_.debounce((function(){var t=[],a=null;if(e.showChart=!1,$.each(e.content.chart.data,(function(r,n){if("center"===n.type)a=n.value;else n.value>0&&(e.showChart=!0,t.push([P(n.name),n.value]))})),t.sort((function(t,e){return e[1]<t[1]?-1:e[1]>t[1]?1:0})),t.length>=8){var n=0;
67t.splice(8,t.length-7).forEach((function(t){n+=t[1]})),t.push([r("translate")("OTHER"),n])}e.c3ChartOptions2={bindto:"#theChart2",color:{pattern:e.colors},data:{columns:t,type:"donut"},donut:{title:a},legend:{position:"right"}},$(e.c3ChartOptions2.bindto).addClass("pie"),e.c3Chart2=c3.generate(e.c3ChartOptions2)}),100),C=new Date("2002");function T(){return m.convertLocalToUserTimeMoment(Date.now()).startOf("day")}function E(){return"spamfoo_client"!==(o.report||"").toLowerCase()}function O(t){if(!t||isNaN(t))return e.reportData.duration.endDate=e.reportData.duration.startDate,void e.reportMinDate.setYear(e.reportData.duration.endDate.getFullYear()-5);t<e.reportData.duration.startDate&&(t=e.reportData.duration.startDate),e.reportData.duration.endDate=t,k(),e.reportMinDate.setYear(e.reportData.duration.endDate.getFullYear()-5)}function R(t){var e=1;return-1!=(t+="").indexOf("KB")?e=1024:-1!=t.indexOf("MB")?e=1048576:-1!=t.indexOf("GB")?e=1073741824:-1!=t.indexOf("TB")?e=1099511627776:-1!=t.indexOf("PB")&&(e=0x4000000000000),Number(t.replace(/[^\d.-]/g,""))*e}function N(t,a){if(!window.location.hash.includes("disk_usage"))if(t){var r=-1;a&&e.columnSwitching&&(r=e.columnSwitching.currentColumn-1),e.c3ChartOptions&&$(".table > thead > tr").children("th.header").each((function(){if(r>-1&&0==$(this).find("div > div.circle").length){for(var t=$(this).find("div > span"),a=Object.keys(e.c3ChartOptions.data.names),n=0;n<a.length;n++){var o=e.c3ChartOptions.data.names[a[n]];if(o&&o==t.text()){t.css("color",e.colors[r]),r++;break}}!0}-1==r&&r++}))}else setTimeout((function(){N(!0,a)}),20)}function M(t){e.updatingFromServer||function(t){if(!t||isNaN(t))return e.reportData.duration.startDate=T().toDate(),void e.reportMaxDate.setYear(e.reportData.duration.startDate.getFullYear()+5);t>e.reportData.duration.endDate&&O(t),e.reportData.duration.startDate=t,k(),e.reportMaxDate.setYear(e.reportData.duration.startDate.getFullYear()+5)}(e.reportData.duration.startDate),e.updatingFromServer=!1}function F(t){e.updatingFromServer||O(e.reportData.duration.endDate),e.updatingFromServer=!1}function k(){e.reportData.step.key,e.reportData.duration.text=r("date")(e.reportData.duration.startDate,"
67shortDate")+" - "+r("date")(e.reportData.duration.endDate,"shortDate"),e.dateRangeChanged()}function x(t,a){t&&a&&t!=a&&(6==t.key?(e.reportData.duration.endDate=moment(e.reportData.duration.endDate).endOf("month").toDate(),e.reportData.duration.startDate=moment(e.reportData.duration.startDate).startOf("month").toDate()):7==t.key&&(e.reportData.duration.endDate=moment(e.reportData.duration.endDate).endOf("quarter").toDate(),e.reportData.duration.startDate=moment(e.reportData.duration.startDate).startOf("quarter").toDate()),moment(e.reportData.duration.endDate)>moment()&&(e.reportData.duration.endDate=moment().toDate()),Y(),k())}function A(t,a){null!=t&&null!=a&&t!=a&&e.changeReportMode(t)}function L(t,a){t&&a&&t!=a&&e.changeReportUsers(t)}function U(){this.resizeTO&&clearTimeout(this.resizeTO),this.resizeTO=setTimeout((function(){$(this).trigger("resizeEnd")}),300)}function I(){N(!1,!1)}function Y(){var n=moment(e.reportData.duration.startDate).startOf("day").add(-e.reportData.duration.startDate.getTimezoneOffset(),"m"),i=moment(e.reportData.duration.endDate).startOf("day").add(-e.reportData.duration.endDate.getTimezoneOffset(),"m"),s={startDate:n.toISOString(),endDate:i.toISOString(),step:e.reportData.step.key,groupBy:E()?e.reportData.mode.key:0};if("user"==e.type||1==e.reportData.mode.key&&-1!=e.reportData.user.key&&(s.emailAddress=e.reportData.user.emailAddress),JSON.stringify(s)!=w){w=JSON.stringify(s),t.spinner.show();var l="~/api/v1/report/details/"+o.type+"/"+o.report.toUpperCase()+"/"+(o.source||"");a.post(l,s).then((function(a){try{if(t.spinner.hide(),e.content=angular.fromJson(a.data.report),e.content.startDateUTC=a.data.startTimeUTC,e.showModeSwitch=E()&&a.data.supportedGroupBy.length>1,"pie"===e.content.chart.chartType)v();else S();e.columns=[];var n=0,i={};e.content.table.headers.forEach((function(t){e.columns.push({title:K(t.label),label:t.label,field:"f"+n,sortable:"f"+n,getValue:s,valueFormatter:function(){if(t.filter)return t.filter;if("date"===t.format)return 1==e.reportData.step.key?"friendlyDateHourly":"friendlyDateNoTime";if("string"===t.format)return"translate"}(),suffix:t.suffix||"",isInteger:"date"!==t.format&&"string"!==t.format&&"decimal"!==t.format&&n>0,isDecimal:"decimal"===t.format&&n>0,scale:t.scale,visible:!0,show:!0,precision:t.precision||1}),!t.sort||"desc"!=t.sort.toLowerCase()&&"asc"!=t.sort.toLowerCase()||(i["f"+n]=t.sort.toLowerCase()),n++})),e.tableData=[],e.content.table.rows.forEach((function(t){var a={},n=0;t.forEach((function(t){0==n&&e.columns[0].label,a["f"+n]=e.columns[n].isInteger?parseInt(t):e.columns[n].isDecimal?parseFloat(t):r("translate")(t),n++})),e.tableData.push(a)})),e.footerData=[],e.content.table.footer.forEach((function(t){var a={},n=0;
67t.forEach((function(t){a["f"+n]=0==n?r("translate")(t):t,n++})),e.footerData.push(a)})),0==Object.keys(i).length&&(i={f0:"asc"}),e.tableParams=new u({sorting:i},{total:e.content.table.rows.length,dataset:e.tableData,localStorageKey:"ngTableRows-Reports"}),N(!1,!1),"pie"!=e.content.chart.chartType&&S(),t.spinner.hide()}catch(t){}finally{t.spinner.hide()}function s(t,e,a){if(!this.valueFormatter||""==this.valueFormatter||a&&this.valueFormatter&&-1!==this.valueFormatter.toLowerCase().indexOf("date"))return a&&"f0"==this.field?r("translate")(e[this.field]):r("safeNumber")(e[this.field])+(""!=e[this.field]?this.suffix:"");if(-2147483648==e[this.field]&&t.isDomainDiskUsage)return"∞";if("f0"==this.field&&"DOMAIN"==this.label&&"AVERAGES"!=e[this.field]&&"TOTALS"!=e[this.field])return'<a href="#/reports/domain/'+o.report+"/"+e[this.field]+'">'+r(this.valueFormatter)(e[this.field],1)+"</a>";if("f0"==this.field&&"USER"==this.label&&"AVERAGES"!=e[this.field]&&"TOTALS"!=e[this.field])return'<a href="#/reports/user/'+o.report+"/"+e[this.field]+"@"+(t.sourceName||c.user.domain)+'">'+r(this.valueFormatter)(e[this.field],1)+"</a>";if("FOLDER"==this.label&&"translate"==this.valueFormatter)return P(e[this.field]);if("percent"===this.valueFormatter){if("AVERAGES"===e.f0||"TOTALS"===e.f0)return"";var n=this.scale||0,i=0===n?1:1===n?.1:2===n?.01:1;return 0===e[this.field]?0:(e[this.field]<i?`< ${i}`:r("safeNumber")(e[this.field].toFixed(n)))+(""!==e[this.field]?this.suffix:"")}return"date_short_na"===this.valueFormatter?new Date(e[this.field]).getFullYear()<=C.getFullYear()?r("translate")("NA"):r("date")(e[this.field],"short"):"bytes_precision"===this.valueFormatter?r("bytes")(e[this.field],3):r(this.valueFormatter)(e[this.field],this.precision)}}),(function(e){t.spinner.hide();let a=b.instant(e.data.message);a===e.data.message&&(a=b.instant("ERROR_OCCURRED"));y.pop("error",a,"",0)}))}}function B(t,a){var r=e.reportData.tableEntities;return r.indexOf(t[0])-r.indexOf(a[0])}function G(){return"date"!=e.content.table.headers[0].format?"category":"timeseries"}function H(t,a){if("function"!=typeof t.getMonth)return t;switch(e.reportData.step.key){case 1:case 4:return t.toLocaleDateString(g.language)+" "+t.toLocaleTimeString(g.language,{timeStyle:"short"});case 5:default:return t.toLocaleDateString(g.language);case 6:return r("date")(t,"MMMM yyyy");case 7:return t.getMonth()<3?"Q1 "+t.getFullYear():t.getMonth()<6?"Q2 "+t.getFullYear():t.getMonth()<9?"Q3 "+t.getFullYear():"Q4 "+t.getFullYear()}}function P(t){for(var e=["INBOX","DELETED_ITEMS","DRAFTS","JUNK_EMAIL","SENT_ITEMS","PUBLIC_CHAT_FILES","MY_FILES","JUNK_EMAIL","AF_CONTACTS","AF_APPOINTMENTS","AF_TASKS","AF_NOTES","AF_MISC"],a=["INBOX","DELETED ITEMS","DRAFTS","JUNK EMAIL","SENT ITEMS","PUBLIC CHAT FILES","MY FILES","JUNK E-MAIL"],n=0;n<e.length;n++){var o=e[n],i=a[n];if(t.toUpperCase()==o||t.toUpperCase()==i)return r("translate")(o);if(t.toUpperCase().startsWith(o+"/"))return r("translate")(o)+t.substring(o.length);if(t.toUpperCase().startsWith(i+"/"))return r("translate")(o)+t.substring(i.length)}return t}function K(t){return r("htmlUnescape")(r("translate")(t))}e.changeReportChart=function(t){if(1===t){if("ColumnChart"==e.chartType)return;e.chartType="ColumnChart"}else{if("LineChart"==e.chartType)return;e.chartType="LineChart"}S()},e.changeReportMode=function(t){1!==t||E()||(e.reportData.mode.key=0,t=0);if(1===t)e.reportData.mode.text="USERS",e.chartType="ColumnChart",$("#btnChartTypeBar").find("i").addClass("selected"),$("#btnChartTypeLine").find("i").removeClass("selected");else e.reportData.mode.text="TREND",e.reportData.rows.key=3,e.reportData.rows.text="UNLIMITED",e.reportData.rows.value=Number.MAX_SAFE_INTEGER,e.chartType="LineChart",$("#btnChartTypeBar").find("i").removeClass("selected"),$("#btnChartTypeLine").find("i").addClass("selected"),$("[item-group-id = 'reportUsers']").find("i").removeClass("selected"),$("#reportUserItem").find("i").addClass("selected"),e.reportData.user=e.defaultUserTemplate;Y()},e.changeReportRows=function(t){switch(t){case 1:e.reportData.rows.key=1,e.reportData.rows.text=r("translate")("NUM_ROWS",{num:50}),e.reportData.rows.value=50;break;case 2:e.reportData.rows.key=2,e.reportData.rows.text=r("translate")("NUM_ROWS",{num:100}),e.reportData.rows.value=100;break;case 3:e.reportData.rows.key=3,e.reportData.rows.text="UNLIMITED",e.reportData.rows.value=Number.MAX_SAFE_INTEGER;break;default:e.reportData.rows.key=0,e.reportData.rows.text=r("translate")("NUM_ROWS",{num:10}),e.reportData.rows.value=10}},e.changeReportUsers=function(t){null==t?e.reportData.user=e.defaultUserTemplate:e.reportData.user.key=0;Y()},e.chartReadyHandler=function(t){},e.dateRangeChanged=function(){e.updatingFromServer||Y()},e.exportReport=function(t){switch(t){case 0:break;case 1:!function(){function t(t){a+=t+","}var a="\ufeff";$.each(e.content.table.headers,(function(e,a){t(K(a.label))})),a+="\n",$.each(e.content.table.rows,(function(n,o){for(var i=0;i<o.length;i++)"date"==e.content.table.headers[i].format?1==e.reportData.step.key?t(moment(o[i]).format("M.D.YYYY h:mm a")):t(moment(o[i]).format("M.D.YYYY")):"FOLDER"==e.content.table.headers[i].label?t(P(o[i])):"TYPE"==e.content.table.headers[i].label?t(r("translate")(o[i])):t(o[i]);a+="\n"})),$.each(e.content.table.footer,(function(e,n){for(var o=0;o<n.length;o++)t(0==o?r("translate")(n[o]):n[o]);a+="\n"}));var n=new Blob([a],{type:"text/csv;charset=utf-8;"}),o=e.type+"_"+e.reportName.toLowerCase()+"_"+moment().format("M-D-YYYY")+".csv";if(navigator.msSaveBlob)navigator.msSaveBlob(n,o);else{var i=document.createElement("a");if(void 0!==i.download){var s=URL.createObjectURL(n);i.setAttribute("href",s),i.setAttribute("download",o),i.style.visibility="hidden",document.body.appendChild(i),i.click(),document.body.removeChild(i)}}}()}},e.getRowValue=function(t,a){switch(e.content.table.headers[a].format){case"date":t=r("date")(t,"MM.dd.yyyy");break;case"percent":t=r("safeNumber")(t,0)+"%";break;default:t=r("safeNumber")(t,0)}t&&null!=e.content.table.headers[a].suffix&&(t+=e.content.table.headers[a].suffix);return t},e.navigateBack=function(){window.location.hash=e.returnTarget},e.tableReadyHandler=function(t){},function(){let a=o.type,n=o.report;t.$state.current.helpid=`index.reports.${a}.${n}`,e.chartType="LineChart";e.colors=["#4f97d6","#fba951","#4D990F","#9B3737","#D3B937","#B183F7","#4993A0","#1F6B1F","#413E7C","#6B351F"],e.columnSwitching=p.getFirstSwitcher(),e.defaultUserTemplate={key:-1,userName:"ALL_USERS"},e.isDomainDiskUsage=!1,e.isHA=window.stHA||!1,e.showChart=!0,e.showModeSwitch=!0,e.showDetailSelectors=!0,e.sourceName=o.source,e.sourceName&&(e.sourceNameFormatted="("+e.sourceName+")");e.theChart={},e.theTable={},e.reportMaxDate=new Date("3000-1-1"),e.reportMinDate=new Date("2000-1-1"),e.updatingFromServer=!1,e.userOrDomain="USERS","DISK_USAGE"==o.report.toUpperCase()&&(e.showDetailSelectors=!1,"DOMAIN"==o.type.toUpperCase()&&(e.isDomainDiskUsage=!0));e.reportStepOptions=[{text:"HOURLY",key:1},{text:"DAILY",key:4},{text:"WEEKLY",key:5},{text:"MONTHLY",key:6},{text:"QUARTERLY",key:7}],e.reportRowOptions=[{key:0,text:r("translate")("NUM_ROWS",{num:10}),value:10},{key:1,text:r("translate")("NUM_ROWS",{num:50}),value:50},{key:2,text:r("translate")("NUM_ROWS",{num:100}),value:100},{key:3,text:r("translate")("UNLIMITED"),value:Number.MAX_SAFE_INTEGER}],e.userSearch="",e.clearSearchTerm=function(){e.userSearch=""},i((function(){$("#userSearch").on("keydown",(function(t){t.stopPropagation()}))})),e.returnTarget="/reports",s.user.isSysAdmin&&!e.sourceName&&(e.returnTarget="/sysadmin/reports",e.userOrDomain="DOMAINS");"DISK_USAGE"!=o.report.toUpperCase()&&(f.onPagesChanged((function(){setTimeout(S)}),e),f.onAfterDataSorted((function(){setTimeout(S)}),e));d.search().returnpath&&(e.returnTarget=d.search().returnpath.split("~2F").join("/"));e.$watch("columnSwitching.currentColumn",(function(t){N(!1,!0)})),$(window).resize(U),$(window).on("resizeEnd",I),D.all([s.init(),m.init(
67)]).then((function(){t.spinner.show(),c()}),(function(e){t.spinner.hide(),h.report(e)}));var c=function(){e.type=o.type,e.reportData={mode:{key:0,text:"TREND"},step:{key:4,text:"DAILY"},duration:{startDate:T().subtract(6,"d").toDate(),endDate:T().toDate(),text:""},user:e.defaultUserTemplate,rows:{key:3,text:"UNLIMITED",value:Number.MAX_SAFE_INTEGER}},e.$watch("reportData.duration.startDate",M),e.$watch("reportData.duration.endDate",F),e.$watch("reportData.step",x),e.$watch("reportData.mode.key",A),e.$watch("reportData.user",L),e.reportData.step=e.reportStepOptions[1],e.reportData.rows=e.reportRowOptions[3],E()||(e.showModeSwitch=!1);var t=o.report.toUpperCase();e.reportName=t,e.reportNameDetails=null,e.userList=[],"user"==e.type||e.type&&e.type.startsWith("system_")||l.init().then((function(){l.settingsData.userList.then((function(t){e.userList=t}))})),Y(),i((function(){k()}))}}()}t.$inject=["$rootScope","$scope","$http","$filter","$state","$stateParams","$timeout","coreData","userDataService","coreDataDomainSettings","NgTableParams","$location","tableColumnSwitching","errorHandling","ngTableEventsChannel","userTimeService","$q","localeInfoService","toaster","$translate"],angular.module("smartermail").controller("reportDetailsController",t)}();
68!function(){"use strict";function t(t,a,e,r,o,n,i,s,d,p,u,D,m,l){function c(){a.reportData.duration.text=r("date")(a.reportData.duration.startDate,"
68shortDate")+" - "+r("date")(a.reportData.duration.endDate,"shortDate"),a.reportData.duration.minutes=Math.floor((a.reportData.duration.endDate-a.reportData.duration.startDate)/1e3/60),a.dateRangeChanged()}function g(){return u.convertLocalToUserTimeMoment(Date.now()).startOf("day")}function y(t,e){null==t||null==t||isNaN(t)?a.reportData.duration.endDate=a.reportData.duration.startDate:e!=t&&(t<a.reportData.duration.startDate&&(t=a.reportData.duration.startDate),a.reportData.duration.endDate=t,c())}function f(n=!1){a.reportMaxDate.setYear(a.reportData.duration.startDate.getFullYear()+5,a.reportData.duration.startDate.getMonth(),a.reportData.duration.startDate.getDay()),a.reportMinDate.setYear(a.reportData.duration.endDate.getFullYear()-5,a.reportData.duration.endDate.getMonth(),a.reportData.duration.endDate.getDay());var i=moment(a.reportData.duration.startDate).startOf("day").add(-a.reportData.duration.startDate.getTimezoneOffset(),"m"),s=moment(a.reportData.duration.endDate).startOf("day").add(-a.reportData.duration.endDate.getTimezoneOffset(),"m"),d={startDate:i.toISOString(),endDate:s.toISOString()};function p(e){t.spinner.hide(),e.data.jsonString&&(a.reportCards=angular.fromJson(e.data.jsonString)),setTimeout((function(){t.$broadcast("masonry:contentsChanged")})),e.data.serverName&&(a.header=r("translate")(o.params.type.toUpperCase().replace("SYSTEM_",""))+" ("+e.data.serverName+")")}function u(a){t.spinner.hide();let e=l.instant(a.data.message);e===a.data.message&&(e=l.instant("ERROR_OCCURRED")),D.pop("error",e,"",0)}JSON.stringify(d)!=a.lastRequestData&&(a.lastRequestData=JSON.stringify(d),t.spinner.show(),n?e.post("~/api/v1/report/summary/domain",d).then(p,u):e.post("~/api/v1/report/summary/"+o.params.type,d).then(p,u))}a.dateRangeChanged=function(){f()},a.goToCard=function(t,e,r){e.isPairedCard?a.navigateTo(e.cardContents[r][0].reportId||e.cardContents[r][0].cardTitle):a.navigateTo(e.reportId||e.cardTitle)},a.navigateBack=function(){i.user.isSysAdmin?o.go("index.sysadmin-reports",{type:a.type}):o.go("index.reports",{type:a.type})},a.navigateTo=function(t){if(!t)return;"domain"==o.params.type?o.go("index.reports.domain-reports-details",{type:o.params.type,report:t.toLowerCase()}):o.go("index.reports.reports-details",{type:o.params.type,report:t.toLowerCase()})},function(){let e=n.type;t.$state.current.helpid=`index.reports.${e}.summary`,a.lastRequestData=null,a.showBack=i.user.isDomainAdmin||i.user.isSysAdmin,a.header="REPORTS",a.userImageSource=stSiteRoot+"api/v1/contacts/image?galemail="+s.user.emailAddress,a.bodyDirection=document.getElementsByTagName("body")[0].getAttribute("dir"),a.reportMaxDate=new Date("3000-1-1"),a.reportMinDate=new Date("2000-1-1"),window.root=t,m.all([i.init(),u.init()]).then((function(){a.reportData={duration:{startDate:g().subtract(6,"d").toDate(),endDate:g().toDate(),minutes:43200,text:""}},a.$watch("reportData.duration.startDate",(function(t,e){var r,o;r=a.reportData.duration.startDate,o=e,null==r||null==r||isNaN(r)?a.reportData.duration.startDate=g().toDate():(r>a.reportData.duration.endDate&&y(r),o!=r&&(a.reportData.duration.startDate=r,c()))})),a.$watch("reportData.duration.endDate",(function(t,e){y(a.reportData.duration.endDate,e)})),"system"===o.params.type||("domain"===o.params.type?(a.header=r("translate")("DOMAIN_REPORTS")+" ("+i.user.domain+")",f()):"user"===o.params.type?(a.header=r("translate")("MY_REPORTS")+" ("+i.user.emailAddress+")",f()):o.router.locationService.$location.$$path.includes("/reports/domain/")?(a.header=r("translate")("DOMAIN_REPORTS")+" ("+i.user.domain+")",f(!0)):(a.header=r("translate")(o.params.type.toUpperCase().replace("SYSTEM_","")),f())),d((function(){c()}))}),(function(a){t.spinner.hide(),p.report(a)}))}()}t.$inject=["$rootScope","$scope","$http","$filter","$state","$stateParams","coreData","userDataService","$timeout","errorHandling","userTimeService","toaster","$q","$translate"],angular.module("smartermail").controller("reportsSummaryController",t)}();
69!function(){"use strict";function e(e,t,r,s,i,o,n,a,d,p,m,S,l,u,_){var c=this;function y(e){t.driveLetters=e.data.driveLetters||[]}function f(e,r){t.treeExpanded=r.expanded,i((function(){$(window).trigger("resize")}),300)}function E(e){c.showDomainReports=m.user.isDomainAdmin&&"domain"===o.type,o.source&&(c.showDomainReports=!0),c.isSysAdmin=n.user.isSysAdmin}this.isInitialized,t.driveLetters=[""],t.treeExpanded=l.isExpanded,t.showUserReports=!!m.user.domain,o.source&&(c.showDomainReports=!0),c.isLinux="L"===window.stOS,c.isHA=window.stHA,c.enableSpamfoo=window.stEnableSpamfoo,c.showDomainReports=m.user.isDomainAdmin&&"domain"===o.type,c.isSysAdmin=n.user.isSysAdmin,c.userReports=[{title:"OVERVIEW",sref:"index.reports.reports-summary({type: 'user'})"},{title:"DISK_USAGE",sref:"index.reports.reports-details({type: 'user', report: 'disk_usage'})"},{title:"INCOMING_SPAM",sref:"index.reports.reports-details({type: 'user', report: 'incoming_spam'})"},{title:"INCOMING_MESSAGES",sref:"index.reports.reports-details({type: 'user', report: 'incoming_messages'})"},{title:"OUTGOING_MESSAGES",sref:"index.reports.reports-details({type: 'user', report: 'outgoing_messages'})"},{title:"VIRUSES_CAUGHT",sref:"index.reports.reports-details({type: 'user', report: 'viruses_caught'})"}],c.domainReports=[{title:"OVERVIEW",sref:"index.reports.domain-reports-summary({type: 'domain'})"},{title:"DISK_USAGE",sref:"index.reports.domain-reports-details({type: 'domain', report: 'disk_usage'})"},{title:"INCOMING_MESSAGES",sref:"index.reports.domain-reports-details({type: 'domain', report: 'incoming_messages'})"},{title:"OUTGOING_MESSAGES",sref:"index.reports.domain-reports-details({type: 'domain', report: 'outgoing_messages'})"},{title:"MESSAGE_BANDWIDTH",sref:"index.reports.domain-reports-details({type: 'domain', report: 'message_bandwidth'})"},{title:"BANDWIDTH_OVERVIEW",sref:"index.reports.domain-reports-details({type: 'domain', report: 'bandwidth_overview'})"},{title:"GREYLISTED_CONNECTIONS",sref:"index.reports.domain-reports-details({type: 'domain', report: 'greylisted_connections'})"},{title:"INCOMING_SPAM",sref:"index.reports.domain-reports-details({type: 'domain', report: 'incoming_spam'})"},{title:"THROTTLED_MESSAGES",sref:"index.reports.domain-reports-details({type: 'domain', report: 'throttled_messages'})"},{title:"SMTP_IN_SESSIONS",sref:"index.reports.domain-reports-details({type: 'domain', report: 'smtp_in_sessions'})"},{title:"SMTP_OUT_SESSIONS",sref:"index.reports.domain-reports-details({type: 'domain', report: 'smtp_out_sessions'})"},{title:"IMAP_SESSIONS",sref:"index.reports.domain-reports-details({type: 'domain', report: 'imap_sessions'})"},{title:"POP_SESSIONS",sref:"index.reports.domain-reports-details({type: 'domain', report: 'pop_sessions'})"},{title:"VIRUSES_CAUGHT",sref:"index.reports.domain-reports-details({type: 'domain', report: 'viruses_caught'})"}],async function(){t.$on("treeState:stateChange",f),r.onSuccess({},E);try{if(await n.init(),c.showDomainReports=m.user.isDomainAdmin&&u.url().includes("reports/domain/"),c.isSysAdmin=n.user.isSysAdmin,(c.isSysAdmin||c.showDomainReports)&&s.get("~/api/v1/report/disks").then(y,(function(){})),u.url().includes("reports/domain/domain"));else if(c.showDomainReports&&n.user.isDomainAdmin){_.go("index.reports.domain-reports-details",{type:"domain",report:o.type})}c.isInitialized=!0}catch(t){e.spinner.hide(),S.report(t)}}(),t.navigate=function(e,t){window.location.href="root#/reports/"+e+"/"+t}}e.$inject=["$rootScope","$scope","$transitions","$http","$timeout","$stateParams","coreData","coreDataSettings","claimsService","$mdDialog","userDataService","errorHandling","treeState","$location","$state"],angular.module("smartermail").controller("reportsController",e)}();
70!function(){"use strict";function e(e,n,o,t){var r=this;r.impersonating=t.impersonating(),r.canImpersonate=t.canImpersonate(),r.impersonatingEmail=t.getEmailAddress(),!r.impersonating||sessionStorage.getItem("isImpersonationWindow")||window.opener||window.close(),e.onClick=function(e){r.canImpersonate&&!r.impersonating?function(e){n.show({locals:{domain:null,email:null},controller:"sysAdminImpersonateUserController",controllerAs:"ctrl",templateUrl:"app/root/modals/impersonate-user.dlg.html",targetEvent:e})}(e):r.impersonating&&function(e){n.show({controller:"sysAdminImpersonateUserControllerChange",controllerAs:"ctrl",templateUrl:"app/root/modals/impersonate-user-change.dlg.html",targetEvent:e})}(e)}}e.$inject=["$scope","$mdDialog","$translate","claimsService"],angular.module("smartermail").controller("ImpersonatingController",e)}();
71!function(){"use strict";function a(a,e,n,i,r,t,o){var l,s,u,g=this,c=null;function h(){function a(){f(),e.use(g.language).then((function(a){c.resolve(a),c=void 0}),(function(a){c.reject(a),c=void 0})),t.applyBodyDirAttribute(g.language),S(),i.set(g.language),moment.locale(m(g.language)),moment.updateLocale(m(g.language),{relativeTime:{m:o.reactPluralize("X_MINUTES",{count:1}),mm:o.reactPluralize("X_MINUTES",{count:"%d"}),h:o.reactPluralize("X_HOURS",{count:1}),hh:o.reactPluralize("X_HOURS",{count:"%d"}),d:o.reactPluralize("X_DAYS",{count:1}),dd:o.reactPluralize("X_DAYS",{count:"%d"}),M:o.reactPluralize("X_MONTHS",{count:1}),MM:o.reactPluralize("X_MONTHS",{count:"%d"}),y:o.reactPluralize("X_YEARS",{count:1}),yy:o.reactPluralize("X_YEARS",{count:"%d"})}})}c||(c=n.defer(),$("body").injector()?($("body").injector().has("preferencesStorage")&&(l=$("body").injector().get("preferencesStorage")),$("body").injector().has("claimsService")&&(s=$("body").injector().get("claimsService")),$("body").injector().has("userDataService")?(u=$("body").injector().get("userDataService"),a()):a()):a())}function m(a){return a?a.toLowerCase().replace("_","-"):a}function d(){let a;return a=navigator.languages&&navigator.languages.length>0?navigator.languages[0]:navigator.language||navigator.userLanguage,m(a)}function b(a,e){const n=a&&!e?s.getImpersonatorLocale():null,i=u&&u.user&&u.user.settings&&u.user.settings.userMailSettings&&u.user.settings.userMailSettings.localeId,r=u&&u.admin&&u.admin.localeId,t=e?null:sessionStorage.getItem("locale.oneTime"),o=l?l.getLocalParam("siteLanguage"):null;return n||i||r||t||o}function f(a,e,n){var i=!!s&&s.impersonating();if(!a||0===a.length)return g.language=b(i,n)||e||d()||"en",g.language;let r={};
71Object.entries(a).forEach((([a,e])=>{const n=m(e.v);r[a]={v:n,n:e.n}}));var t=b(i,n);if(t)for(var o=0;o<a.length;o++)if(t===a[o].v)return g.language=t,g.language;if((t=d())&&t in window.angularLangMap&&(t=window.angularLangMap[t]),t){for(o=0;o<a.length;o++)if(t===a[o].v)return g.language=t,g.language;for(o=0;o<Object.keys(r).length;o++)if(t===r[o].v)return g.language=t,g.language;var l=t.split("-");if(l[0]!==t){for(o=0;o<a.length;o++)if(l[0]===a[o].v)return g.language=l[0],g.language;for(o=0;o<Object.keys(r).length;o++)if(l[0]===r[o].v)return g.language=l[0],g.language}}if(t=e)for(o=0;o<a.length;o++)if(t===a[o].v)return g.language=t,g.language;return g.language="en",g.language}function S(){var a="rtl"===$("body").attr("dir").toLowerCase();a||(a=!1);var e=$('link[rel=stylesheet][href*="interface/output/all-v"]'),n=`${stSiteRoot}interface/output/all-v-${cssVersion}${a?"-rtl":""}.min.css`;if(!(e.length>0&&$(e[0]).attr("href").indexOf(n)>-1)){for(let a=0;a<e.length;a++)e[a].remove();var i=document.createElement("link");i.rel="stylesheet",i.type="text/css",i.href=n,document.getElementsByTagName("head")[0].appendChild(i),e.prop("disabled",!0),e.remove()}}g.language=null,h(),a.$on("userSettings:retrieved",(function(){var a=b(!!s&&s.impersonating(),!1);a?sessionStorage.setItem("locale.oneTime",a):sessionStorage.removeItem("locale.oneTime");h()})),g.onReady=function(){return c&&c.promise||h(),c.promise},g.setLocale=function(r,o){null==o&&(o=!0);o&&l&&l.setLocalParam("siteLanguage",r);if(g.language=r,c)return;c=n.defer(),e.use(r).then((function(a){c.resolve(a),c=void 0}),(function(a){c.reject(a),c=void 0})),t.applyBodyDirAttribute(r);var s=d()||g.language;i.set(s),moment.locale(m(s)),S(),a.$broadcast("locale:changed")},g.getBrowserLocale=d,g.getValidLocale=f,g.applyTextDirectionCss=S,g.getEnglishName=function(a){if(!a)return null;if((a=a.toLowerCase()).startsWith("en"))return null;switch(a){case"pt-br":return"Portuguese - Brazil";case"zh-cn":return"Chinese - Simplified";case"zh-hk":return"Chinese - Traditional HK";case"zh-tw":return"Chinese - Traditional"}const e=a.split("-",2),n=k[e[0]];if(!n)return;return e.length>1?`${n} (${e[1]})`:n},g.convertToFullLocale=function(a){return{ar:"ar-SA",bn:"bn-IN",cs:"cs-CZ",da:"da-DK",de:"de-DE",el:"el-GR",en:"en-US","en-GB":"en-GB",es:"es-ES",fa:"fa-IR",fi:"fi-FI",fr:"fr-FR",hi:"hi-IN",id:"id-ID",it:"it-IT",ja:"ja-JP",nl:"nl-NL",pl:"pl-PL",pt:"pt-BR","pt-BR":"pt-BR",sl:"sl-SI",sv:"sv-SE",th:"th-TH",tr:"tr-TR","zh-CN":"zh-CN","zh-HK":"zh-HK","zh-TW":"zh-TW"}[a]||`${a}-XX`};const k={aa:"Afar",af:"Afrikaans",agq:"Aghem",ak:"Akan",am:"Amharic",ar:"Arabic",arn:"Mapuche",as:"Assamese",asa:"Asu",ast:"Asturian",az:"Azerbaijani","az-cyrl":"Azerbaijani (Cyrillic)","az-latn":"Azerbaijani (Latin)",ba:"Bashkir",bas:"Basaa",be:"Belarusian",bem:"Bemba",bez:"Bena",bg:"Bulgarian",bin:"Edo",bm:"Bamanankan",bn:"Bangla",bo:"Tibetan",br:"Breton",brx:"Bodo",bs:"Bosnian","bs-cyrl":"Bosnian (Cyrillic)","bs-latn":"Bosnian (Latin)",byn:"Blin",ca:"Catalan",ccp:"Chakma",ce:"Chechen",ceb:"Cebuano",cgg:"Chiga",chr:"Cherokee",ckb:"Central Kurdish",co:"Corsican",cs:"Czech",cu:"Church Slavic",cy:"Welsh",da:"Danish",dav:"Taita",de:"German",dje:"Zarma",doi:"Dogri",dsb:"Lower Sorbian",dua:"Duala",dv:"Divehi",dyo:"Jola-Fonyi",dz:"Dzongkha",ebu:"Embu",ee:"Ewe",el:"Greek",eo:"Esperanto",es:"Spanish",et:"Estonian",eu:"Basque",ewo:"Ewondo",fa:"Persian",ff:"Fulah","ff-adlm":"Fulah (Adlam)","ff-latn":"Fulah (Latin)",fi:"Finnish",fil:"Filipino",fo:"Faroese",fr:"French",fur:"Friulian",fy:"Western Frisian",ga:"Irish",gd:"Scottish Gaelic",gl:"Galician",gn:"Guarani",gsw:"Swiss German",gu:"Gujarati",guz:"Gusii",gv:"Manx",ha:"Hausa",haw:"Hawaiian",he:"Hebrew",hi:"Hindi",hr:"Croatian",hsb:"Upper Sorbian",hu:"Hungarian",hy:"Armenian",ia:"Interlingua",ibb:"Ibibio",id:"Indonesian",ig:"Igbo",ii:"Yi",is:"Icelandic",it:"Italian",iu:"Inuktitut","iu-latn":"Inuktitut (Latin)",ja:"Japanese",jgo:"Ngomba",jmc:"Machame",jv:"Javanese","jv-java":"Javanese (Javanese)",ka:"Georgian",kab:"Kabyle",kam:"Kamba",kde:"Makonde",kea:"Kabuverdianu",khq:"Koyra Chiini",ki:"Kikuyu",kk:"Kazakh",kkj:"Kako",kl:"Kalaallisut",kln:"Kalenjin",km:"Khmer",kn:"Kannada",ko:"Korean",kok:"Konkani",kr:"Kanuri","kr-latn":"Kanuri (Latin)",ks:"Kashmiri","ks-arab":"Kashmiri (Arabic)","ks-deva":"Kashmiri (Devanagari)",ksb:"Shambala",ksf:"Bafia",ksh:"Colognian",kw:"Cornish",ky:"Kyrgyz",la:"Latin",lag:"Langi",lb:"Luxembourgish",lg:"Ganda",lkt:"Lakota",ln:"Lingala",lo:"Lao",lrc:"Northern Luri",lt:"Lithuanian",lu:"Luba-Katanga",luo:"Luo",luy:"Luyia",lv:"Latvian",mai:"Maithili",mas:"Masai",mer:"Meru",mfe:"Morisyen",mg:"Malagasy",mgh:"Makhuwa-Meetto",mgo:"Metaʼ",mi:"Maori",mk:"Macedonian",ml:"Malayalam",mn:"Mongolian","mn-mong":"Mongolian (
71Mongolian)",mni:"Manipuri","mni-beng":"Manipuri (Bangla)",moh:"Mohawk",mr:"Marathi",ms:"Malay",mt:"Maltese",mua:"Mundang",my:"Burmese",mzn:"Mazanderani",naq:"Nama",nb:"Norwegian Bokmål",nd:"North Ndebele",nds:"Low German",ne:"Nepali",nl:"Dutch",nmg:"Kwasio",nn:"Norwegian Nynorsk",nnh:"Ngiemboon",nqo:"N’Ko",nr:"South Ndebele",nso:"Sesotho sa Leboa",nus:"Nuer",nyn:"Nyankole",oc:"Occitan",om:"Oromo",or:"Odia",os:"Ossetic",pa:"Punjabi","pa-arab":"Punjabi (Arabic)","pa-guru":"Punjabi (Gurmukhi)",pap:"Papiamento",pcm:"Nigerian Pidgin",pl:"Polish",prg:"Prussian",ps:"Pashto",pt:"Portuguese",qu:"Quechua",quc:"Kʼicheʼ",rm:"Romansh",rn:"Rundi",ro:"Romanian",rof:"Rombo",ru:"Russian",rw:"Kinyarwanda",rwk:"Rwa",sa:"Sanskrit",sah:"Sakha",saq:"Samburu",sat:"Santali","sat-olck":"Santali (Ol Chiki)",sbp:"Sangu",sd:"Sindhi","sd-arab":"Sindhi (Arabic)","sd-deva":"Sindhi (Devanagari)",se:"Northern Sami",seh:"Sena",ses:"Koyraboro Senni",sg:"Sango",shi:"Tachelhit","shi-latn":"Tachelhit (Latin)","shi-tfng":"Tachelhit (Tifinagh)",si:"Sinhala",sk:"Slovak",sl:"Slovenian",sma:"Southern Sami",smj:"Lule Sami",smn:"Inari Sami",sms:"Skolt Sami",sn:"Shona",so:"Somali",sq:"Albanian",sr:"Serbian","sr-cyrl":"Serbian (Cyrillic)","sr-latn":"Serbian (Latin)",ss:"siSwati",ssy:"Saho",st:"Sesotho",su:"Sundanese","su-latn":"Sundanese (Latin)",sv:"Swedish",sw:"Kiswahili",syr:"Syriac",ta:"Tamil",te:"Telugu",teo:"Teso",tg:"Tajik",th:"Thai",ti:"Tigrinya",tig:"Tigre",tk:"Turkmen",tn:"Setswana",to:"Tongan",tr:"Turkish",ts:"Xitsonga",tt:"Tatar",twq:"Tasawaq",tzm:"Central Atlas Tamazight","tzm-arab":"Central Atlas Tamazight (Arabic)","tzm-tfng":"Central Atlas Tamazight (Tifinagh)",ug:"Uyghur",uk:"Ukrainian",ur:"Urdu",uz:"Uzbek","uz-arab":"Uzbek (Arabic)","uz-cyrl":"Uzbek (Cyrillic)","uz-latn":"Uzbek (Latin)",vai:"Vai","vai-latn":"Vai (Latin)","vai-vaii":"Vai (Vai)",ve:"Venda",vi:"Vietnamese",vo:"Volapük",vun:"Vunjo",wae:"Walser",wal:"Wolaytta",wo:"Wolof",xh:"isiXhosa",xog:"Soga",yav:"Yangben",yi:"Yiddish",yo:"Yoruba",zgh:"Standard Moroccan Tamazight",zh:"Chinese","zh-hans":"Chinese (Simplified)","zh-hant":"Chinese (Traditional)",zu:"isiZulu"}}a.$inject=["$rootScope","$translate","$q","tmhDynamicLocale","localStorageService","localeInfo","i18n"],angular.module("smartermail").service("localeInfoService",a)}();
72!function(){"use strict";function t(t,n,o,i,e,a,s,u,r,c,l,f,m,d,C,g,p,h,N){var b=this;function y(){b.avatarName=r.user.displayName,b.avatarUrl=r.user.pictureUrl}function v(){$((function(){$(".dial").knob({min:0,max:100,readOnly:!0,fgColor:"#FAD122",bgColor:"#465257",inputColor:"#DEDEDD",fontWeight:"400",width:120,height:120,thickness:.49,rotation:"anticlockwise",format:function(t){return t+"%"}})})),n.$on("xmpp.property-changed",A),n.$on("signalR.mailHub.client.notificationChanged",w),n.$on("signalR.mailHub.client.eventNotification",H),n.$on("signalR.mailHub.client.appointmentReminderNotification",M),n.$on("signalR.mailHub.client.mailAdded",R),n.$on("signalR.mailHub.client.mailRemoved",R),n.$on("signalR.mailHub.client.mailModified",R),n.$on("signalR.mailHub.client.folderChange",R),n.$on("signalR.mailHub.client.messageFlagChange",R),n.$on("mail:unreadCountChanged",R),d.init().then((function(t){n.features=d.user.settings.features,b.features=n.features,S()})),C.getNotificationCount().then((function(t){n.userNotificationCount=t.userCount,b.userNotificationCount=t.userCount,n.domainNotificationCount=t.domainCount,b.domainNotificationCount=t.domainCount,n.systemNotificationCount=t.systemCount,b.systemNotificationCount=t.systemCount,b.userNotificationCountIndicator=b.userNotificationCount+b.domainNotificationCount,n.$evalAsync()}))}function S(){b.edition=m.edition,b.edition===m.EDITION_PROFESSIONAL&&b.features&&(b.features.enableWebConferencing=!1,b.features.enableChat=!1)}function R(){n.unreadMessages=c.getUnreadCount(),t.unreadEmailCount=n.unreadMessages,t.$broadcast("unreadMailChanged"),b.unreadMessages=n.unreadMessages}function w(t,o){null!==o.userCount&&void 0!==o.userCount&&(n.userNotificationCount=o.userCount,b.userNotificationCount=o.userCount),null!==o.domainCount&&void 0!==o.domainCount&&(n.domainNotificationCount=o.domainCount,b.domainNotificationCount=o.domainCount),null!==o.systemCount&&void 0!==o.systemCount&&(n.systemNotificationCount=o.systemCount,b.systemNotificationCount=o.systemCount),b.userNotificationCountIndicator=b.userNotificationCount+b.domainNotificationCount,n.$evalAsync()}function H(t,n){var o={body:$(n.Text).text(),icon:(stSiteRoot||"/")+"interface/img/notifications/alert.png",timeout:5e3,tag:n.Guid,notifyClick:function(t){window.open((stSiteRoot||"/")+"interface/root#/popout/notifications","notifications","resizable=1, "+h.dimensions.notification)}};p.show(n.subject,o)}function M(t,n){var o={body:n.text,icon:(stSiteRoot||"/")+"interface/img/notifications/calendar.png",timeout:5e3,tag:n.guid,notifyClick:function(t){window.open((stSiteRoot||"/")+"interface/root#/popout/notifications","notifications","resizable=1, "+h.dimensions.notification)}};l.userSettings.notifyOnCalendarReminders&&p.show(n.subject,o)}function A(t,o){o.hasOwnProperty("status")&&(n.chatStatus=o.status,b.chatStatus=n.chatStatus),o.hasOwnProperty("unreadCount")&&(n.chatUnreadMessages=o.unreadCount,b.chatUnreadMessages=n.chatUnreadMessages),n.$evalAsync()}function D(){f.Logout("main menu controller (Logout)")}function U(n){let o=n;!o&&t.$state.current.name&&t.$state.current.name.startsWith("index.reports.")&&(o=t.$state.current.helpid),o||(o=t.$state.current.name);const i="https://help.smartertools.com/smartermail/current/?page="+encodeURIComponent(o)+"&v="+N.stVersion();console.log("NAVIGATING TO HELP PAGE: "+i),window.open(i,"help")}n.coreData=r,n.chatUnreadMessages=0,b.chatUnreadMessages=0,b.chatStatus=n.chatStatus,n.picSource=n.coreData.user.pictureUrl,n.picName=n.coreData.user.username,n.features=null,b.features=null,n.userNotificationCount=0,n.domainNotificationCount=0,n.systemNotificationCount=0,b.userNotificationCount=0,b.domainNotificationCount=0,b.systemNotificationCount=0,n.unreadMessages=0,b.unreadMessages=0,b.customHelpInfo=r.customHelpInfo,b.avatarUrl="",b.avatarName="",b.userNotificationCountIndicator=b.userNotificationCount+b.domainNotificationCount,b.edition=1,n.setChatStatus=setChatStatus,n.Logout=D,b.Logout=D,n.openHelp=U,b.openHelp=U,b.openNotifications=function(){window.open((stSiteRoot||"/")+"interface/root#/popout/notifications","notifications","resizable=1, "+h.dimensions.notification)},n.$on("user-settings:changed",y),n.$on("user-profile-picture:changed",y),r.init().then((function(){b.customHelpInfo=r.customHelpInfo,b.avatarUrl=r.user.pictureUrl,b.avatarName=r.user.displayName,l.init().then(v,g.report)}),g.report),S(),m.watchForChanges(n,S),n.openAbout=function(t){i.show({controller:"aboutSmartermailController",controllerAs:"ctrl",templateUrl:"app/root/modals/about.dlg.html",targetEvent:t}).then((function(t){}),(function(t){}))},b.openAbout=n.openAbout}t.$inject=["$rootScope","$scope","$log","$mdDialog","$http","$filter","$sanitize","$timeout","coreData","coreDataMail","coreDataSettings","AuthenticationService","coreLicensing","userDataService","notifications","errorHandling","browserNotifications","popupService","claimsService"],angular.module("smartermail").controller("MainMenuController",t)}();
73!function(){"use strict";function t(t,n,e,o,i,a,r,s,l,c,u,d,g,m,p,f,b,w){var y=this;y.isSysAdmin=r.user.isSysAdmin,y.impersonating=d.impersonating(),y.currentLocation=n.actualLocation,y.hideGettingStartedPrompt=function(){y.showGettingStartedPrompt=!1,localStorage.removeItem("interface_show_getting_started_prompt"),u.post("~/api/v1/settings/sysadmin/disable-getting-started-bar",{}).then((function(t){}),(function(t){}))};var S,h=!1;let I;function v(){-1!=window.location.hash.indexOf("login")&&$("body").hasClass("no-mouse")?l((function(){v()}),100):(h=!0,$("body").addClass("no-mouse"))}function N(){S&&f.clear(S),S=null}!function(){y.showGettingStartedPrompt="true"===localStorage.getItem("interface_show_getting_started_prompt"),s.ensureLoaded(),t.onReady().then((function(){y.isInit=!0}),(function(){y.isInit=!0})),n.browserCaps&&!1===n.browserCaps.mouseExists&&l((function(){v()}),100);y.impersonating||r.init().then((function(){}),(function(){}));w.startHeartbeat();var i=new BroadcastChannel("impersonation-control");if(i.onmessage=function(t){if(t.data&&d.impersonating())if("NAVIGATE_BOOTSTRAP"===t.data.type){window.focus();var n=o.location.href.substring(0,o.location.href.indexOf("#/"));o.location.replace(n+"#/impersonation/bootstrap")}else"CLOSE_FOR_REIMPERSONATE"===t.data.type&&o.close()},e.$on("$destroy",(function(){i.close()})),"true"===localStorage.getItem("hubManageNodeWindow")){var a=new BroadcastChannel("manage-node-control");a.onmessage=function(t){t.data&&"CLOSE_MANAGE_NODE"===t.data.type&&(localStorage.removeItem("hubManageNodeWindow"),o.close())},e.$on("$destroy",(function(){localStorage.removeItem("hubManageNodeWindow"),a.close()}))}n.$on("migrationError",N),n.$on("signalR.mailHub.client.mailMigrationUpdate",T),n.$on("signalR.mailHub.client.mailRetrievalStart",C),n.commonTableCounts=[25,50,100,200],function(){var t=-1,e=navigator.userAgent.indexOf("Edge");
73if(-1!==e){var o=navigator.userAgent.substring(e,e+8);if(-1!==o.indexOf("Edge/")){var i=(o=o.replace(".","")).split("/");t=Number(i[1])}}n.browserCaps||(n.browserCaps={});n.browserCaps.edgeVersion=t}(),function(){var t=-1,e=navigator.userAgent.indexOf("Firefox");if(-1!==e){var o=navigator.userAgent.substring(e,e+11);if(-1!==o.indexOf("Firefox/")){var i=(o=o.replace(".","")).split("/");t=Number(i[1])}}n.browserCaps||(n.browserCaps={});n.browserCaps.ffVersion=t}(),function(){const t=sessionStorage.getItem("browserNotifications.lastState")==b.permission;let n="True"==window.localStorage.getItem("hideNotificationsWarning");t||"granted"==b.permission||n||l((()=>{window.browserNotificationDisabledWarningFunction=function(){return event.stopPropagation(),window.localStorage.setItem("hideNotificationsWarning","True"),f.clear(window.browserNotificationDisabledWarning),!1},window.browserNotificationEnableFunction=function(t){t.stopPropagation(),b.fetchPermission().then((function(){f.clear(window.browserNotificationDisabledWarning)}),(function(){f.clear(window.browserNotificationDisabledWarning)}))};var t=m.instant("BROWSER_NOTIFICATIONS_DISABLED_WARNING");if("default"==b.permission){let n=m.instant("BROWSER_NOTIFICATIONS_ENABLE_PROMPT",{handler:"browserNotificationEnableFunction(event)"});n=$("<div>").html(n).text(),t+=` ${n}`}window.browserNotificationDisabledWarning=f.pop({type:"warning",body:`\n                                <div>${t}</div>\n                                <div style='margin-top: 5px;'>\n                                    <button class='md-button md-primary' style='margin-left: 0;' type='button' onclick='event.stopPropagation(); window.open("https://help.smartertools.com/SmarterMail/Current/Topics/User/BrowserNotifications", "help"); return false;'>${m.instant("MORE_INFORMATION")}</button>\n                                    <button class='md-button md-primary' style='margin-left: 0;' type='button' onclick='browserNotificationDisabledWarningFunction()'>${m.instant("DISMISS")}</button>\n                                </div>`,timeout:0,bodyOutputType:"trustedHtml",onHideCallback:()=>(sessionStorage.setItem("browserNotifications.lastState",b.permission),!0),clickHandler:()=>(sessionStorage.setItem("browserNotifications.lastState",b.permission),!0)})}),500)}(),async function(){if("True"===sessionStorage.getItem("localeWarning.alreadyShown"))return;if("True"===window.localStorage.getItem("localeWarning.hidden"))return;await t.onReady();const n=Intl.DateTimeFormat().resolvedOptions().locale??t.getBrowserLocale(),e=t.language;if(n===e||n.startsWith(e)||e.startsWith(n))return;function o(){return sessionStorage.setItem("localeWarning.alreadyShown","True"),!0}l((()=>{I=f.pop({type:"warning",body:`<div>${m.instant("SYSTEM_LOCALE_WARNING")}</div>\n                                    <div style='margin-top: 5px;'>\n                                        <button class='md-button md-primary' style='margin-left: 0;' type='button' onclick='event.stopPropagation(); window.open("https://help.smartertools.com/SmarterMail/Current/Topics/User/LanguageSelection", "help"); return false;'>${m.instant("MORE_INFORMATION")}</button>\n                                        <button class='md-button md-primary' style='margin-left: 0;' type='button' onclick='languageWarningDismiss()'>${m.instant("DISMISS")}</button>\n                                    </div>`,timeout:0,bodyOutputType:"trustedHtml",onHideCallback:o,clickHandler:o})}),500),window.languageWarningDismiss=function(){event.stopPropagation(),window.localStorage.setItem("localeWarning.hidden","True"),I&&(f.clear(I),I=void 0)}}()}();var O=null;function T(t,n){O&&l.cancel(O);for(let t=0;t<n.length;t++)if(n[t].done)return void N();S||(S=f.pop({type:"info",title:null,body:m.instant("MAILBOXMIGRATION_RUNNING_TOAST",{source:n[0].source}),timeout:0,bodyOutputType:"trustedHtml",tapToDismiss:!1,showCloseButton:!1})),O=l(N,2e4)}function C(t,n){f.pop({type:"info",title:null,body:m.instant("RETRIEVING_MAIL_FROM_X",{source:n.source}),timeout:1e4,bodyOutputType:"trustedHtml"})}Object.defineProperty(n,"windowWidth",{configurable:!0,get:()=>o.innerWidth}),Object.defineProperty(n,"windowHeight",{configurable:!0,get:()=>o.innerHeight}),e.$watch("actualLocation",(function(t,n){y.currentLocation=t,h&&!$("body").hasClass("no-mouse")&&$("body").addClass("no-mouse")})),e.$watch("browserCaps.mouseExists",(function(t,n){!1===t&&!1===h?v():!0===h&&(h=!1,$("body").removeClass("no-mouse"))}))}
73t.$inject=["localeInfoService","$rootScope","$scope","$window","$mdDialog","$filter","coreData","coreLicensing","$timeout","$state","$http","claimsService","authStorage","$translate","$log","toaster","browserNotifications","coreDataManageDomain"],angular.module("smartermail").controller("mainController",t)}();
74!function(){"use strict";function n(n){var e=this;e.windowWidth=n.innerWidth,e.windowWidth<=736?e.isExpanded=!1:e.isExpanded=!0,e.toggleMenu=function(){e.toggleMenu=!e.toggleMenu}}n.$inject=["$window"],angular.module("smartermail").service("menuStateManager",n)}();
75!function(){"use strict";function o(o,r,e,s){var n=this;n.isInit=!1;var t=!1;!function(){e.onReady().then((function(){n.isInit=!0}),(function(){n.isInit=!0})),o.browserCaps&&!1===o.browserCaps.mouseExists&&(t=!0,$("body").addClass("no-tooltip"));o.commonTableCounts=[25,50,100,200],function(){var r=-1,e=navigator.userAgent.indexOf("Edge");if(-1!==e){var s=navigator.userAgent.substring(e,e+8);if(-1!==s.indexOf("Edge/")){var n=(s=s.replace(".","")).split("/");r=Number(n[1])}}o.browserCaps||(o.browserCaps={});o.browserCaps.edgeVersion=r}(),function(){var r=-1,e=navigator.userAgent.indexOf("Firefox");
75if(-1!==e){var s=navigator.userAgent.substring(e,e+11);if(-1!==s.indexOf("Firefox/")){var n=(s=s.replace(".","")).split("/");r=Number(n[1])}}o.browserCaps||(o.browserCaps={});o.browserCaps.ffVersion=r}()}(),r.$watch("browserCaps.mouseExists",(function(o,r){!1===o&&!1===t?(t=!0,$("body").addClass("no-tooltip")):!0===t&&(t=!1,$("body").removeClass("no-tooltip"))}))}o.$inject=["$rootScope","$scope","localeInfoService","$translate"],angular.module("smartermail").controller("popoutController",o)}();
76!function(){"use strict";function t(t,n,e,o,i,a,r,s,u,c,l,m,d,p,f,g,h,C,I,w,N,v){var y=this;v.isThemeDark();y.isDarkTheme=v.isThemeDark()||!1;var H=_.throttle(S,50,{leading:!1});function S(t){y.windowWidth=$(window).width(),T()}function x(){return y.customHelpInfo?y.customHelpInfo.text?y.customHelpInfo.text:"EXTERNAL_HELP":"OPEN_HELP"}function T(t){const e=document.querySelector(".root-heading"),o=e.getBoundingClientRect().width;if(!o)return;var i=0,a=[];e.querySelectorAll(["#hamburger-toggle","#add-button",".right-item","#right-most-menu"].join(", ")).forEac
76h((t=>{a.push({id:t.id,classList:t.classList.value,width:t.getBoundingClientRect().width}),i+=t.getBoundingClientRect().width}));var s=o-i;y.menuNormal.expanded.forEach((t=>{const n=function(t,n){const o=document.createElement("DIV");o.style.visibility="hidden",o.classList.add("left-item"),o.classList.toggle("left-most",n);const i=document.createElement("DIV");i.classList.add("section-title"),i.innerText=t,o.appendChild(i),e.appendChild(o);const a=o.getBoundingClientRect().width;return e.removeChild(o),a}(r.instant(t.text),t===y.menuNormal.expanded[0]);s-=n}));const u=y.menuNormal.dropdown.length>0?300:0,c=s<u?y.menuNarrowDisplays:y.menuNormal;y.menu===c&&y.isReady||n.$applyAsync((function(){y.menu=c,y.isReady=!0,A()}))}function A(){var t=!1,n=r.instant("MORE");y.menu.dropdown.forEach((e=>{e.isActive&&(t=!0,n=e.translated)})),y.isDropdownMenuHilighted=t,y.dropdownTitle=n}function E(){n.$applyAsync((function(){y.isDarkTheme=v.isThemeDark()}))}function b(t,n){}function R(t,e){null!==e.userCount&&void 0!==e.userCount&&(n.userNotificationCount=e.userCount,y.userNotificationCount=e.userCount),null!==e.domainCount&&void 0!==e.domainCount&&(n.domainNotificationCount=e.domainCount,y.domainNotificationCount=e.domainCount),null!==e.systemCount&&void 0!==e.systemCount&&(n.systemNotificationCount=e.systemCount,y.systemNotificationCount=e.systemCount),y.userNotificationCountIndicator=y.userNotificationCount+y.domainNotificationCount+y.systemNotificationCount,y.rightItems[0].counter=y.userNotificationCountIndicator>99?"99+":y.userNotificationCountIndicator,n.$evalAsync()}function D(t,n){var e={body:$(n.Text).text(),icon:(stSiteRoot||"/")+"interface/img/notifications/alert.png",timeout:5e3,tag:n.Guid,notifyClick:function(t){window.open((stSiteRoot||"/")+"interface/root#/popout/notifications","notifications","resizable=1, "+w.dimensions.notification)}};a.show(n.subject,e)}function L(t){var n=t?t.$to().name:o.current.name;angular.forEach([...y.menu.expanded,...y.menu.dropdown],(function(t){t.sref==n&&(y.currentItem=t)})),I.hideTreeOverlay()}function M(t){k(t?t.$to().name:o.current.name)}function k(t){for(var e=[...y.menu.expanded,...y.menu.dropdown],o=0;o<e.length;++o){var i=e[o];i.isActive=!1;var a=i.parent_sref?i.parent_sref:i.sref;a!==t&&-1===t.indexOf(a)||(i.isActive=!0,n.$applyAsync())}n.$applyAsync(A)}function O(){I.toggleTree(!0);var t=document.getElementById("hamburger-toggle");t&&t.blur()}function G(n){let e=n;!e&&t.$state.current.name&&t.$state.current.name.startsWith("index.reports.")&&(e=t.$state.current.helpid),e||(e=t.$state.current.name);const o="https://help.smartertools.com/smartermail/current/?page="+encodeURIComponent(e)+"&v="+C.stVersion();console.log("NAVIGATING TO HELP PAGE: "+o),window.open(o,"help")}function P(){window.open(y.customHelpInfo.url,"customHelp")}function U(t,n){m.customHelpInfo&&""!==m.customHelpInfo.text&&""!==m.customHelpInfo.url?y.customHelpInfo=m.customHelpInfo:y.customHelpInfo=null,y.rightItems=y.rightItems.map((t=>"help"===t.icon?{text:x(),icon:"help",counter:0,click:function(){y.customHelpInfo?P():G()}}:t))}y.isSysAdmin=!0,y.stHAID=window.stHAID,m.highAvailabilityId().then((t=>y.stHAID=t)),y.hasChat=!1,y.chatStatusTypes=[],y.menuManage={text:"MANAGE",translated:r.instant("MANAGE"),sref:"index.sysadmin-manage.dashboard",parent_sref:"index.sysadmin-manage"},y.menuReports={text:"REPORTS",translated:r.instant("REPORTS"),sref:"index.reports.dashboard-server",parent_sref:"index.reports"},y.menuSettings={text:"SETTINGS",translated:r.instant("SETTINGS"),sref:"index.sysadmin-settings.system-administrators",dividerBefore:!0,parent_sref:"index.sysadmin-settings"},y.menuNormal={expanded:[y.menuManage,y.menuReports,y.menuSettings],dropdown:[]},y.menuNarrowDisplays={expanded:[],dropdown:[y.menuManage,y.menuReports,y.menuSettings]},y.menu=y.menuNormal,y.dropdownTitle=r.instant("MORE"),y.isDropdownMenuHilighted=!1,y.rightItems=[{text:"NOTIFICATIONS",icon:"bell",counter:0,click:function(){window.open((stSiteRoot||"/")+"interface/root#/popout/notifications","notifications","resizable=1, "+w.dimensions.notification)}},y.openHelp={text:x(),icon:"help",counter:0,click:function(){y.customHelpInfo?P():G()}}],y.avatarClick=function(){},y.avatarGuid=(new Date).getTime(),y.avatarName=m.user.displayName,y.avatarUrl=m.user.pictureUrl,y.currentItem=null,y.edition=1,y.customHelpInfo=null,y.userNotificationCountIndicator=0,y.unreadMessages=0,y.menuVisible=!1,y.username=C.getDisplayName(),y.windowWidth=0,y.treeState=I,y.isReady=!1,y.toggleTree=O,y.openHelp=G,y.openCustomHelp=P,y.openAbout=function(t){u.show({controller:"aboutSmartermailController",controllerAs:"ctrl",templateUrl:"app/root/modals/about.dlg.html",targetEvent:t}).then((function(t){}),(function(t){}))},y.logout=function(t){N.setSortingFilteringParam("system","doLogout",!0),f.Logout("top menu bar admin (logout)")},y.navTo=function(t){o.go(t),y.menuVisible=!1,!0===I.isExpanded&&y.windowWidth<737&&O()},y.toggleTheme=function(t){v.togglePrimaryTheme()},function(){y.windowWidth=$(window).width(),T(!0);var e=function(){y.avatarName=m.user.displayName,y.avatarUrl=m.user.pictureUrl};n.$on("user-settings:changed",e),n.$on("user-profile-picture:changed",e),window.addEventListener("resize",H),n.$on("$destroy",(function(){window.removeEventListener("resize",H)})),i.onStart({},L),i.onSuccess({},M),L(),k(o.current.name),d.init().then((function(){y.avatarName=m.user.displayName,y.avatarUrl=m.user.pictureUrl,y.customHelpInfo=m.customHelpInfo,y.rightItems=y.rightItems.map((t=>"help"===t.icon?{text:x(),icon:"help",counter:0,click:function(){y.customHelpInfo?P():G()}}:t)),!y.customHelpInfo||y.customHelpInfo.url&&"http://"!=y.customHelpInfo.url&&"https://"!=y.customHelpInfo.url||(y.customHelpInfo=null);const t=setInterval((function(){var n=$("#hamburger-toggle");n&&n.length>0&&n.width()&&(S(),clearInterval(t),k(o.current.name))}),25)}),(function(){})),g.getNotificationCount().then((function(t){n.userNotificationCount=t.userCount,y.userNotificationCount=t.userCount,n.domainNotificationCount=t.domainCount,y.domainNotificationCount=t.domainCount,n.systemNotificationCount=t.systemCount,y.systemNotificationCount=t.systemCount,y.userNotificationCountIndicator=y.userNotificationCount+y.domainNotificationCount+y.systemNotificationCount,y.rightItems[0].counter=y.userNotificationCountIndicator})),n.$on("signalR.mailHub.client.notificationChanged",R),n.$on("signalR.mailHub.client.eventNotification",D),n.$on("treeState:stateChange",b),t.$on("loadCustomHelp",U),t.$on("themeService:changed",E)}()}t.$inject=["$rootScope","$scope","$log","$state","$transitions","browserNotifications","$translate","$http","$mdDialog","$window","$timeout","coreData","userDataService","errorHandling","AuthenticationService","notifications","coreDataMail","claimsService","treeState","popupService","preferencesStorage","themesService"],angular.module("smartermail").component("topMenuBarAdmin",{templateUrl:"app/root/top-menu-bar.component.html",controller:t,transclude:!1,bindings:{}})}();
77!function(){"use strict";function t(t,a,e,r,n,s,o,c,i,u,l,d,p,m,h,g,f,v,S,U){var C=this;function w(t,e){e.hasOwnProperty("status")&&(a.chatStatus=e.status,C.chatStatus=a.chatStatus),e.hasOwnProperty("unreadCount")&&(a.chatUnreadMessages=e.unreadCount,C.chatUnreadMessages=a.chatUnreadMessages),C.totalUnread=C.chatUnreadMessages>99?"99+":C.chatUnreadMessages,a.$evalAsync()}
77function x(t,a){if(a){C.contacts=[];for(var e=0;e<a.contactCategories.length;e++)C.contacts=C.contacts.concat(a.contactCategories[e].contacts)}}function y(t){var a=t?t.$to().name:r.current.name;angular.forEach(C.leftItems,(function(t){t.sref==a&&(C.currentItem=t)}))}function M(){S.toggleTree(!0)}C.currentItem=null,C.treeState=S,C.toggleTree=M,C.navTo=function(t){r.go(t)},C.selectContact=function(a){if(!a)return;C.selectedItem=void 0,C.participantText=void 0,t.$broadcast("xmpp.select-user",{jid:a.jid})},C.query=function(t){for(var a=[],e=0;e<C.contacts.length;e++)(C.contacts[e].name.toLowerCase().indexOf(t.toLowerCase())>-1||C.contacts[e].jid.toLowerCase().indexOf(t.toLowerCase())>-1)&&a.push(C.contacts[e]);return a},C.setChatStatus=function(t){return void f.setStatus(t)},C.chatStatusTypes=Object.values(f.states).map((t=>({status:t.status,label:c("translate")(t.label),idx:t.idx}))),C.chatStatus=f.parameters.status,C.avatarClick=function(){},C.avatarGuid=(new Date).getTime(),C.avatarName=u.user.displayName,C.avatarUrl=u.user.pictureUrl,C.totalUnread=C.chatUnreadMessages>99?"99+":C.chatUnreadMessages,l.init().then((function(){$(window).width()<=736&&M(),n.onStart({},y),y(),C.userName=u.user.displayName||u.user.userName,C.avatarName=u.user.displayName,C.avatarUrl=u.user.pictureUrl,a.$on("xmpp.property-changed",w),a.$on("xmpp.contacts-changed",x)}))}t.$inject=["$rootScope","$scope","$log","$state","$transitions","$http","$mdDialog","$filter","$timeout","coreData","userDataService","errorHandling","AuthenticationService","notifications","coreDataMail","claimsService","xmppService","authStorage","treeState","preferencesStorage"],angular.module("smartermail").component("topMenuBarChat",{templateUrl:"app/root/top-menu-bar-chat.component.html",controller:t,transclude:!1,bindings:{}})}();
78!function(){"use strict";function e(e,t,n,o,i,a,s,r,u,c,l,m,d,p,f,g,h,C,I,S,N,E,w,x,M,T,v,A,y,b,D){var O=this;O.stHAID=window.stHAID,g.settingsData.highAvailabilityId.then((e=>O.stHAID=e));y.isThemeDark();O.isDarkTheme=y.isThemeDark();var R=_.throttle(H,50,{leading:!1});O.showCreateDocMenu=!1,O.chatStatus="",O.hasChat=!0,O.chatStatusTypes=[],O.menuEmail={text:"EMAIL",translated:b.instant("EMAIL"),sref:"index.email"},O.menuCalendar={text:"CALENDAR",translated:b.instant("CALENDAR"),sref:"index.calendar"},O.menuContacts={text:"CONTACTS",translated:b.instant("CONTACTS"),sref:"index.contacts"},O.menuTasks={text:"TASKS",translated:b.instant("TASKS"),sref:"index.tasks"},O.menuNotes={text:"NOTES",translated:b.instant("NOTES"),sref:"index.notes"},O.menuWorkspaces={text:"ONLINE_MEETINGS",translated:b.instant("ONLINE_MEETINGS"),sref:"index.meetings"},O.menuNewsFeeds={text:"RSS_FEEDS",translated:b.instant("RSS_FEEDS"),sref:"index.rss-feeds"},O.menuFileStorage={text:"FILE_STORAGE",translated:b.instant("FILE_STORAGE"),sref:"index.file-storage"},O.menuReports={text:"REPORTS",translated:b.instant("REPORTS"),sref:"index.reports.reports-summary",parent_sref:"index.reports",sref_params:{type:"user"}},O.menuUserMarketplace={text:"MARKET_PLACE",translated:b.instant("MARKET_PLACE"),hidden:!0,sref:"index.marketplace.overview",parent_sref:"index.marketplace."},O.menuSettings={text:"SETTINGS",translated:b.instant("SETTINGS"),dividerBefore:!0,sref:"index.settings.user-account-settings",parent_sref:"index.settings",sref_params:{type:"user"}},O.menuDomainReports={text:"DOMAIN_REPORTS",translated:b.instant("DOMAIN_REPORTS"),dividerBefore:!0,hidden:!f.user.isDomainAdmin,sref:"index.reports.domain-reports-summary",parent_sref:"index.reports",sref_params:{type:"domain"}},O.menuDomainSettings={text:"DOMAIN_SETTINGS",translated:b.instant("DOMAIN_SETTINGS"),hidden:!f.user.isDomainAdmin,sref:"index.settings.domain-users",parent_sref:"index.settings",sref_params:{type:"domain"}},O.menuDomainMarketplaceSettings={text:"MARKET_PLACE_SETTINGS",translated:b.instant("MARKET_PLACE_SETTINGS"),sref:"index.domain-marketplace.overview",parent_sref:"index.domain-marketplace",hidden:!0,sref_params:{type:"domain"}},O.menuNormal={expanded:[O.menuEmail,O.menuCalendar,O.menuContacts,O.menuTasks],dropdown:[O.menuNotes,O.menuWorkspaces,O.menuNewsFeeds,O.menuFileStorage,O.menuReports,O.menuUserMarketplace,O.menuSettings,O.menuDomainReports,O.menuDomainSettings,O.menuDomainMarketplaceSettings]},O.menuNarrowDisplays={expanded:[],dropdown:[O.menuEmail,O.menuCalendar,O.menuContacts,O.menuTasks,O.menuNotes,O.menuWorkspaces,O.menuNewsFeeds,O.menuFileStorage,O.menuReports,O.menuUserMarketplace,O.menuSettings,O.menuDomainReports,O.menuDomainSettings,O.menuDomainMarketplaceSettings]},O.isMobile=!0,O.menu=O.menuNormal,O.dropdownTitle=b.instant("MORE"),O.isDropdownMenuHilighted=!1,O.addMenuOnlineMeeting={text:"ONLINE_MEETING",popup:"meeting",icon:"toolsicon-groups",hidden:!0,shortcut:"control+shift+6"},O.addMenuDocument={text:"DOCUMENT",dividerBefore:!0,icon:"toolsicon-document",hidden:!0,submenu:[{text:"DOCUMENT",popup:"0",icon:"toolsicon-document"},{text:"DOCUMENT_PRESENTATION",popup:"1",icon:"toolsicon-present"},{text:"DOCUMENT_SPREADSHEET",popup:"2",icon:"toolsicon-excel"}]},O.addMenuItems=[{text:"EMAIL",popup:"email",icon:"toolsicon-mail",shortcut:"control+shift+1"},{text:"APPOINTMENT",popup:"appointment",icon:"toolsicon-calendar",shortcut:"control+shift+2"},{text:"CONTACT",popup:"contact",icon:"toolsicon-person",shortcut:"control+shift+3"},{text:"TASK",popup:"task",icon:"toolsicon-check",shortcut:"control+shift+4"},{text:"NOTE",popup:"note",icon:"toolsicon-description",shortcut:"control+shift+5"},O.addMenuOnlineMeeting,O.addMenuDocument],O.formatKey=function(e){if(!e&&""!==e)return e;const t=/mac/i.test(c.navigator.platform);return e.replace(/cmd|command|⌘/gi,t?"⌘":"Ctrl").replace(/mod/gi,t?"⌘":"Ctrl").replace(/control/gi,"Ctrl").replace(/option/gi,t?"⌥":"Alt").replace(/meta/gi,t?"⌘":"Ctrl").replace(/shift/gi,"⇧").replace(/arrow-up/gi,"↑").replace(/arrow-down/gi,"↓").replace(/arrow-left/gi,"←").replace(/arrow-right/gi,"→").toUpperCase()},O.chatItem={text:"CHAT",icon:"chat",counter:0,click:function(e,t){O.chatMenuItems&&0!==O.chatMenuItems.length?(O.chatItem.mdOpenMenu=e,e.open(t)):D.openLink()}},O.openChatMenuItemLink=e=>{D.openMenuLink(e)},O.rightItems=[O.rightItemSearch={text:"ADVANCED_SEARCH",icon:"search",counter:0,click:function(){window.open((stSiteRoot||"/")+"interface/root#/popout/email-search","","resizable=1, "+A.dimensions.notification)}},O.rightItemNotifications={text:"NOTIFICATIONS",icon:"bell",counter:0,click:function(){window.open((stSiteRoot||"/")+"interface/root#/popout/notifications","notifications","resizable=1, "+A.dimensions.notification)}},O.openHelp={text:k(),icon:"help",counter:0,click:function(){O.customHelpInfo?Y():Q()}}],O.avatarClick=function(){},O.avatarGuid=(new Date).getTime(),O.avatarName=f.user.displayName,O.avatarUrl=f.user.pictureUrl,O.currentItem=null,O.previousItem=null,O.edition=1,O.customHelpInfo=null,O.userNotificationCountIndicator=0,O.unreadMessages=0,O.user=f.user,O.isReady=!1,O.treeState=T,O.showEmail=f.user.displayName!=f.user.emailAddress,O.createNewDocument=function(e){r.show({templateUrl:"app/root/modals/newofficedoc.html",controller:"onlyOfficeController",controllerAs:"ctrl",locals:{type:e}})},O.toggleTree=function(){T.toggleTree(!0)},O.openSectionMenu=function(e){return e.stopPropagation(),!1},O.openHelp=Q,O.openCustomHelp=Y,O.openAbout=function(e){r.show({controller:"aboutSmartermailController",controllerAs:"ctrl",templateUrl:"app/root/modals/about.dlg.html",targetEvent:e}).then((function(e){}),(function(e){}))},O.logout=function(e){v.setSortingFilteringParam("chat","doLogout",!0),N.Logout("top menu bar user (logout)")},O.navTo=function(e,t,n){t?o.go(e,t):o.go(e);!0===n&&p(o.reload);T.hideTreeOverlay()},O.setChatStatus=function(e){D.status=e},O.openAddMenuItem=Z,O.openActiveSectionAddMenuItem=function(){switch(O.currentItem.text){case"EMAIL":default:return Z("email");case"CALENDAR":return Z("appointment");case"CONTACTS":return Z("contact");case"TASKS":return Z("task");case"NOTES":return Z("note");case"ONLINE_MEETINGS":return Z("meeting")}},O.openKeybindsMenu=function(e,t){e.open(t)},O.toggleTheme=function(e){y.togglePrimaryTheme()},L(),t.$on("xmpp.property-changed",z),t.$on("signalR.mailHub.client.notificationChanged",K),t.$on("signalR.mailHub.client.eventNotification",B),t.$on("signalR.mailHub.client.appointmentReminderNotification",W),t.$on("signalR.mailHub.client.mailAdded",G),t.$on("signalR.mailHub.client.mailRemoved",G),t.$on("signalR.mailHub.client.mailModified",G),t.$on("signalR.mailHub.client.folderChange",G),t.$on("signalR.mailHub.client.messageFlagChange",G),t.$on("mail:unreadCountChanged",G),t.$on("treeState:stateChange",F),e.$on("navigation:unsavedChanges",P),e.$on("loadCustomHelp",ee),e.$on("themeService:changed",U),O.isMobile=window.innerWidth<=768,window.addEventListener("resize",R),t.$on("$destroy",(function(){window.removeEventListener("resize",R)})),i.onStart({},j),i.onSuccess({},V),j(),q(o.current.name,o.href(o.current.name,o.params,{absolute:!1})),J(),I.watchForChanges(t,J),C.init().then((function(){O.features=C.user.settings.features,J(),O.showCreateDocMenu=!1,(C.user.settings.features.enableOnlyOffice||C.user.settings.features.enableWOPI)&&(O.showCreateDocMenu=!0),f.user.isDomainAdmin&&(O.menuDomainMarketplaceSettings.hidden=!1),C.user.settings.features.marketplaceSettings,1===I.edition&&(C.user.settings.features.marketplaceSettings.smarterMailOnlineMeetingsEnabled=!1);for(const e in C.user.settings.features.marketplaceSettings){const t=C.user.settings.features.marketplaceSettings[e];"domainAdminCanOverride"!==e&&!0===t&&"emclientEnabled"!==e&&(O.menuUserMarketplace.hidden=!1)}O.addMenuDocument.hidden=!O.showCreateDocMenu,D.enabled&&D.connect(),O.user=f.user,O.avatarName=f.user.displayName,O.avatarUrl=f.user.pictureUrl,Object.entries(O.features.marketplaceSettings).some((([e,t])=>!0===t&&("dropboxEnabled"===e||"googleDriveEnabled"===e||"leitzcloudEnabled"===e||"owncloudEnabled"===e||"oneDriveEnabled"===e||"vBoxxEnabled"===e))),O.features.marketplaceSettings.smarterMailFileStoreEnabled?O.menuFileStorage.hidden=!1:O.menuFileStorage.hidden=!0,O.customHelpInfo=f.customHelpInfo,O.rightItems=O.rightItems.map((e=>"help"===e.icon?{text:k(),icon:"help",counter:0,click:function(){O.customHelpInfo?Y():Q()}}:e)),!O.customHelpInfo||O.customHelpInfo.url&&"http://"!=O.customHelpInfo.url&&"https://"!=O.customHelpInfo.url||(O.customHelpInfo=null);const e=setInterval((function(){var t=$("#hamburger-toggle");t&&t.length>0&&t.width()&&(H(),clearInterval(e))}),25)})),E.getNotificationCount().then((function(e){t.userNotificationCount=e.userCount,O.userNotificationCount=e.userCount,t.domainNotificationCount=e.domainCount,O.domainNotificationCount=e.domainCount,t.systemNotificationCount=e.systemCount,O.systemNotificationCount=e.systemCount,O.userNotificationCountIndicator=O.userNotificationCount+O.domainNotificationCount,O.rightItemNotifications.counter=O.userNotificationCountIndicator}));function k(){return O.customHelpInfo?O.customHelpInfo.text?O.customHelpInfo.text:"EXTERNAL_HELP":"OPEN_HELP"}function H(e){L()}function L(){const e=document.querySelector(".root-heading"),n=e.getBoundingClientRect().width;if(!n)return;var o=0,i=[];e.querySelectorAll(["#hamburger-toggle","#add-button",".right-item","#right-most-menu"].join(", ")).forEac
78h((e=>{i.push({id:e.id,classList:e.classList.value,width:e.getBoundingClientRect().width}),o+=e.getBoundingClientRect().width}));var a=n-o;O.menuNormal.expanded.forEach((t=>{const n=function(t,n){const o=document.createElement("DIV");o.style.visibility="hidden",o.classList.add("left-item"),o.classList.toggle("left-most",n);const i=document.createElement("DIV");i.classList.add("section-title"),i.innerText=t,o.appendChild(i),e.appendChild(o);const a=o.getBoundingClientRect().width;return e.removeChild(o),a}(b.instant(t.text),t===O.menuNormal.expanded[0]);a-=n}));const s=O.menuNormal.dropdown.length>0?300:0,r=n<736||a<s?O.menuNarrowDisplays:O.menuNormal;O.menu===r&&O.isReady||t.$applyAsync((function(){O.menu=r,O.isReady=!0,X()}))}function P(){if(O.previousItem.text!==O.currentItem.text){let e=O.previousItem;O.previousItem=O.currentItem,O.currentItem=e}}function U(){t.$applyAsync((function(){O.isDarkTheme=y.isThemeDark()}))}function F(e,t){}function G(){t.unreadMessages=w.getUnreadCount(),e.unreadEmailCount=t.unreadMessages,e.$broadcast("unreadMailChanged"),O.unreadMessages=t.unreadMessages,O.menuEmail.counter=O.unreadMessages,t.$evalAsync()}function K(e,n){null!==n.userCount&&void 0!==n.userCount&&(t.userNotificationCount=n.userCount,O.userNotificationCount=n.userCount),null!==n.domainCount&&void 0!==n.domainCount&&(t.domainNotificationCount=n.domainCount,O.domainNotificationCount=n.domainCount),null!==n.systemCount&&void 0!==n.systemCount&&(t.systemNotificationCount=n.systemCount,O.systemNotificationCount=n.systemCount),O.userNotificationCountIndicator=O.userNotificationCount+O.domainNotificationCount,O.rightItemNotifications.counter=O.userNotificationCountIndicator,t.$evalAsync()}function B(e,t){var n={body:$(t.Text).text(),icon:(stSiteRoot||"/")+"interface/img/notifications/alert.png",timeout:5e3,tag:t.Guid,notifyClick:function(e){window.open((stSiteRoot||"/")+"interface/root#/popout/notifications","notifications","resizable=1,"+A.dimensions.notification)}};a.show(t.subject,n)}function W(e,t){var n={body:t.text,icon:(stSiteRoot||"/")+"interface/img/notifications/calendar.png",timeout:5e3,tag:t.guid,notifyClick:function(e){window.open((stSiteRoot||"/")+"interface/root#/popout/notifications","notifications","resizable=1,"+A.dimensions.notification)}};g.userSettings.notifyOnCalendarReminders&&a.show(t.subject,n)}function z(e,n){n.hasOwnProperty("status")&&(O.chatStatus=t.chatStatus=n.status),n.hasOwnProperty("unreadCount")&&(O.chatUnreadMessages=t.chatUnreadMessages=n.unreadCount),O.chatMenuItems=D.generateMenuItems(e),O.chatMenuItems&&0!==O.chatMenuItems.length||O.chatItem.mdOpenMenu&&O.chatItem.mdOpenMenu.close(),O.chatItem.counter=O.chatUnreadMessages,t.$evalAsync()}function j(e){var t=e?e.$to().name:o.current.name,n=m;angular.forEach([...O.menu.expanded,...O.menu.dropdown],(function(e){var o=e.parent_sref?e.parent_sref:e.sref;o!==t&&-1===t.indexOf(o)||e.sref_params&&e.sref_params.type!==n.type&&("user"!==e.sref_params.type||n.type||"index.settings"!==o)||(O.previousItem=O.currentItem,O.currentItem=e)})),T.hideTreeOverlay()}function V(e){var t=e?e.$to().name:o.current.name;j(e),q(t,o.href(o.current.name,o.params,{absolute:!1}))}function q(e,n){for(var o=[],i=[...O.menu.expanded,...O.menu.dropdown],a=0;a<i.length;++a){(c=i[a]).isActive=!1;var s=c.parent_sref?c.parent_sref:c.sref;s!==e&&-1===e.indexOf(s)||(c.sref_params&&c.sref_params.type&&-1===n.indexOf(c.sref_params.type)&&("user"!==c.sref_params.type||"index.settings"!==s)?c.isActive=!1:(c.isActive=!0,o.push(c)))}if(o.length>1)for(var r=null,u=0;u<o.length;u++){var c=o[u];r?r.sref&&c.sref&&-1===e.indexOf(r.sref)&&-1!==e.indexOf(c.sref)&&(r.isActive=!1,r=c):r=c}t.$applyAsync(X)}function X(){var e=!1,t=b.instant("MORE");O.menu.dropdown.forEach((n=>{n.isActive&&(e=!0,t=n.translated)})),O.isDropdownMenuHilighted=e,O.dropdownTitle=t}function J(){O.edition=I.edition,O.features&&(O.chatItem.hidden=!O.features.enableChat||1===O.edition||x.impersonating(),O.menuWorkspaces.hidden=!O.features.enableWebConferencing||1===O.edition,O.menuNewsFeeds.hidden=!O.features.enableRssFeeds,O.hasChat=!O.chatItem.hidden,O.addMenuOnlineMeeting.hidden=!O.features.enableWebConferencing||1===O.edition)}function Q(t){let n=t;!n&&e.$state.current.name&&e.$state.current.name.startsWith("index.reports.")&&(n=e.$
78state.current.helpid),n||(n=e.$state.current.name);const o="https://help.smartertools.com/smartermail/current/?page="+encodeURIComponent(n)+"&v="+x.stVersion();console.log("NAVIGATING TO HELP PAGE: "+o),window.open(o,"help")}function Y(){window.open(O.customHelpInfo.url,"customHelp")}function Z(e){var t=window.location.href.substr(0,window.location.href.indexOf("#/"))+"#/popout/"+e+"/",n="resizable=1, ";switch(e){case"email":t+="compose/",n+=A.dimensions.email;break;case"appointment":t+="new",n+=A.dimensions.calendar;break;case"contact":t+="new",n+=A.dimensions.contact;break;case"meeting":t+="new",n+=A.dimensions.meeting;break;case"task":t+="new",n+=A.dimensions.task;break;case"note":t+="new",n+=A.dimensions.note}window.open(t,"",n)}function ee(){f.customHelpInfo&&""!==f.customHelpInfo.text&&""!==f.customHelpInfo.url?O.customHelpInfo=f.customHelpInfo:O.customHelpInfo=null,O.rightItems=O.rightItems.map((e=>"help"===e.icon?{text:k(),icon:"help",counter:0,click:function(){O.customHelpInfo?Y():Q()}}:e))}O.params={get chatStatusTypes(){return Object.values(D.chatStatusTypes)}}}e.$inject=["$rootScope","$scope","$log","$state","$transitions","browserNotifications","$http","$mdDialog","$filter","$window","$mdMenu","$stateParams","$interval","$timeout","coreData","coreDataSettings","coreDataSysAdminSettings","userDataService","coreLicensing","errorHandling","AuthenticationService","notifications","coreDataMail","claimsService","authStorage","treeState","preferencesStorage","popupService","themesService","$translate","chatProviderFactory"],angular.module("smartermail").component("topMenuBarUser",{templateUrl:"app/root/top-menu-bar.component.html",controller:e,transclude:!1,bindings:{}})}();
79!function(){"use strict";angular.module("smartermail").directive("rssCard",(function(){return{restrict:"EA",templateUrl:"app/rss-feeds/rss-card.html",controller:function(){}}}))}();
80!function(){"use strict";function e(e,r,t,d,n,a,o,l,i,s,c,p,h,u,F,f){var m=this,v=50;function E(e){var r=[];if(e.data.allFeed)for(var t=0;t<m.tree.data.length;t++)r=r.concat(E(m.tree.data[t]));else if(e.children)for(t=0;t<e.children.length;t++)r=r.concat(E(e.children[t]));return e.data.isFolder||e.data.isPlaceholder||e.data&&e.data.id&&r.push(e.data.id),r}function w(r){r&&r.length>0?(e.spinner.show(),c.getRssFeed(r).then((function(r){m.feeds=r.data.items,m.rssFeed=r.data.singleFeed,function(){for(var e=0;e<m.feeds.length;++e){var r=m.feeds[e];r.pubDate=new Date(r.pubDate),r.pubDate<new Date("100")&&(r.pubDate=void 0)}}(),m.pageCount=Math.ceil(m.feeds.length/v),m.currentPage=1;var t=m.feeds.slice(0,v);R(t),m.currentPageFeeds=t,m.noFeedsToShow=m.currentPageFeeds.length<1,k(),d(C),e.spinner.hide()}),(function(r){F.report(r),e.spinner.hide()}))):m.noFeedsToShow=!0}function _(e){e.children&&e.children.length&&m.treeController.expand_branch(e);for(var r=m.tree.mapById[e.data.parentFolderId];r;)m.treeController.expand_branch(r),r=m.tree.mapById[r.data.parentFolderId]}function g(r,t){var d=m.treeController.get_selected_branch()||m.shortTreeController.get_selected_branch();if(void 0===t&&(t=!0),r=r||d){var n=r.data.isFolder?E(m.tree.map[r.data.path]):[r.data.id];e.spinner.show(),t&&(m.feeds=void 0,y()),c.refreshRssFeed(n).then((function(t){c.reloadFeedTree(),m.tree=c.data.feedTree,m.treeController.select_branch(m.tree.map[r.data.isFolder?r.data.path:d.data.id]),m.feeds=void 0,m.isFolderFeed=r.data.isFolder,y(),e.spinner.hide()}),F.reportAndHideSpinner)}else F.reportAndHideSpinner(a.instant("ERROR"))}function k(){m.currentPageFeeds.length>0&&$(".rss-card .rss-description-group").length==m.currentPageFeeds.length&&130*$("md-card").length>$("#feed-list-area").outerHeight()/2?d((function(){m.displayingFeeds=!0}),25):d(k,100)}function D(e){m.editFeed(e.event,e.branch)}function b(e,r,d){window.open(e.link),d&&window.focus(),e.read||t.post("~/api/v1/rss/mark-feed-item/true",{feedId:e.feedId,crc:e.crc}).then((function(){e.read=!0,c.markReadUnread(m.tree.map[e.feedId],!0)}),F.report)}function R(e){angular.forEach(e,(function(e){e.plainTextDescription=e.plainTextDescription.replace(/<a/g,"<st-link"),e.plainTextDescription=e.plainTextDescription.replace(/<\/a/g,"</st-link")}))}function C(){$(".feed-list a").attr("target","_blank")}function y(){m.currentPageFeeds=[],m.currentPage=1,m.pageCount=0}m.feeds=void 0,m.tree={data:[]},m.shortTree={data:[]}
80,m.treeController={},m.shortTreeController={},m.currentPageFeeds=[],m.currentPage=0,m.pageCount=0,m.isFolderFeed=!1,m.noFeedsToShow=!1,m.displayingFeeds=!1,m.treeExpanded=f.isExpanded,m.addFeed=function(r,t){var d=m.treeController.get_selected_branch()||m.shortTreeController.get_selected_branch();t=t||d,l.show({locals:{name:"",data:"",folder:t.data.isFolder?t.data.id:t.data.folder,newFeed:!0},controller:"editRssController",controllerAs:"ctrl",templateUrl:"app/rss-feeds/modals/edit-rss.dlg.html"}).then((function(r){e.spinner.show(),c.addFeed(r).then((function(r){c.reloadFeedTree(),m.tree=c.data.feedTree,m.treeController.select_branch(m.tree.map[r.data.id]),g(m.tree.map[r.data.id],!1),e.spinner.hide()}),F.reportAndHideSpinner)}))},m.deleteFeed=function(r,t){var d=m.treeController.get_selected_branch()||m.shortTreeController.get_selected_branch(),a=(t=t||d).data.id==d.data.id;if(t&&!t.data.isFolder){var o=l.confirmDeletion().textContent(n("translate")("RSS_FEEDS_DELETE_FEED_CONFIRMATION",{feed:t.label})).targetEvent(r);l.show(o).then((function(){var r={uid:t.data.id};c.deleteFeed(r).then((function(){c.reloadFeedTree(),m.tree=c.data.feedTree;var r=m.tree.map[t.data.parentPath];a&&m.treeController.select_branch(r),(a||function(e,r){var t=m.tree.map[e.data.folder];for(;!t.data.allFeed;){if(t.data.id==r.data.id)return!0;t=m.tree.map[t.data.folder]}return t.data.id==r.data.id}(t,d))&&(m.feeds=void 0,m.isFolderFeed=!0,y(),w(E(r))),e.spinner.hide()}),(function(r){F.report(r),e.spinner.hide()}))}),(function(){}))}else F.warn("RSS_FEEDS_NO_FEEDS_SELECTED")},m.dropdownMarkFeed=function(e){var r=e.branch,t=e.markRead,d=E(r);c.markFeedRead(d,t).then((function(e){for(var r={},n=0;n<d.length;n++)r[d[n].uid]=!0;for(n=0;n<m.currentPageFeeds.length;n++)r[m.currentPageFeeds[n].sourceUid]&&(m.currentPageFeeds[n].read=t)}),(function(){}))},m.editFeed=function(r,t){var d=m.treeController.get_selected_branch()||m.shortTreeController.get_selected_branch();if((t=t||d)&&!t.data.isFolder){var n=t.data.path;l.show({locals:{name:t.label,data:t.data.path,folder:t.data.folder,newFeed:!1},controller:"editRssController",controllerAs:"ctrl",templateUrl:"app/rss-feeds/modals/edit-rss.dlg.html"}).then((function(r){e.spinner.show();var a={feedId:t.data.id,name:r.name,url:r.url,folderId:r.folderId};c.editFeed(a).then((function(o){c.reloadFeedTree(a),n!=r.data&&m.refreshFeed(),m.treeController.select_branch(m.tree.map[d.data.path]),_(t),e.spinner.hide()}),F.reportAndHideSpinner)}))}else F.warn("RSS_FEEDS_NO_FEEDS_SELECTED")},m.refreshFeed=g,m.addFolder=function(r,t){var d=m.treeController.get_selected_branch()||m.shortTreeController.get_selected_branch();d.data.isFolder||(d=m.shortTreeController.get_first_branch());t=t||d,l.show({locals:{name:"",currentFolder:null,parentFolder:t,newFolder:!0},controller:"editRssFolderController",controllerAs:"ctrl",templateUrl:"app/rss-feeds/modals/edit-rss-folder.dlg.html"}).then((function(r){e.spinner.show();var t=r.name,d=r.parentFolderId;c.addFolder(d,t).then((function(e){var t=e.data.id;c.reloadFeedTree(),_(m.tree.mapById[r.parentFolderId]),m.treeController.select_branch(m.tree.mapById[t])}),F.report).finally(e.spinner.hide)}),(function(){}))},m.deleteFolder=function(e,r){var t=m.treeController.get_selected_branch()||m.shortTreeController.get_selected_branch();r=r||t;var d=l.confirmDeletion().textContent(n("translate")("CONFIRMATIONS_DELETE_FOLDER",{name:r.label})).targetEvent(e);l.show(d).then((function(){r.data.isFolder&&!r.data.allFeed&&c.deleteFolder(r.data.id).then((function(){var e=r.data.parentFolderId;c.reloadFeedTree(),m.treeController.select_branch(m.tree.mapById[e])}),F.report)}),(function(){}))},m.editFolder=function(r,t){var d=m.treeController.get_selected_branch()||m.shortTreeController.get_selected_branch();if(!(t=t||d).data.isFolder||t.data.allFeed)return;var n=m.tree.mapById[t.data.parentFolderId];l.show({locals:{name:t.label,currentFolder:t,parentFolder:n,newFolder:!1},controller:"editRssFolderController",controllerAs:"ctrl",templateUrl:"app/rss-feeds/modals/edit-rss-folder.dlg.html"}).then((function(r){e.spinner.show();var d=r.name,n=r.parentFolderId;c.editFolder(t.data.id,n,d).then((function(){c.reloadFeedTree();var e=m.tree.mapById[t.data.id];_(e),m.treeController.select_branch(e)}),F.report).finally(e.spinner.hide)}),(function(){}))},m.onBranchChanged=function(r,t){m.feeds=void 0,m.currentPageFeeds=[],m.currentFeed={},$("#feed-list-area").empty(),$(".article-view").empty(),m.displayingFeeds=!1,m.currentFeed.id=r.data.id,m.currentFeed.data=r.data,r.data&&r.data.lastUpdatedUtc&&(m.currentFeed.lastUpdated=moment.utc(r.data.lastUpdatedUtc).toDate());
80m.isFolderFeed=!!r.data.isFolder,w(E(r)),e.windowWidth<=737&&(m.treeExpanded=!1,f.isExpanded=m.treeExpanded)},m.onPreBranchSelect=function(e,r){"rss"===r?m.shortTreeController.deselect_all_branches():m.treeController.deselect_all_branches()},m.branchMouseUp=function(e,t){if(t.stopPropagation(),t.preventDefault(),t.cancelbubble=!0,r.dropdownOptions=[],t&&3===t.which){if(r.dropdownEvent=$.extend(!0,{},t),e.data.allFeed?r.dropdownOptions=[{key:"markRead",click:m.dropdownMarkFeed,params:{branch:e,markRead:!0,event:r.dropdownEvent},translateKey:"MARK_READ"},{key:"markUnread",click:m.dropdownMarkFeed,params:{branch:e,markRead:!1,event:r.dropdownEvent},translateKey:"MARK_UNREAD"},{divider:!0},{key:"addItem",click:m.dropdownAddFeed,params:{branch:e,event:r.dropdownEvent},translateKey:"RSS_FEEDS_ADD_FEED"},{divider:!0},{key:"addFolder",click:m.dropdownAddFolder,params:{branch:e,event:r.dropdownEvent},translateKey:"NEW_FOLDER"}]:e.data.isFolder?r.dropdownOptions=[{key:"markRead",click:m.dropdownMarkFeed,params:{branch:e,markRead:!0,event:r.dropdownEvent},translateKey:"MARK_READ"},{key:"markUnread",click:m.dropdownMarkFeed,params:{branch:e,markRead:!1,event:r.dropdownEvent},translateKey:"MARK_UNREAD"},{divider:!0},{key:"addItem",click:m.dropdownAddFeed,params:{branch:e,event:r.dropdownEvent},translateKey:"RSS_FEEDS_ADD_FEED"},{divider:!0},{key:"addFolder",click:m.dropdownAddFolder,params:{branch:e,event:r.dropdownEvent},translateKey:"NEW_FOLDER"},{key:"edit",click:m.dropdownEditFolder,params:{branch:e,event:r.dropdownEvent},translateKey:"RSS_FEEDS_EDIT_FOLDER"},{key:"delete",click:m.dropdownDeleteFolder,params:{branch:e,event:r.dropdownEvent},translateKey:"DELETE_FOLDER"}]:r.dropdownOptions=[{key:"markRead",click:m.dropdownMarkFeed,params:{branch:e,markRead:!0,event:r.dropdownEvent},translateKey:"MARK_READ"},{key:"markUnread",click:m.dropdownMarkFeed,params:{branch:e,markRead:!1,event:r.dropdownEvent},translateKey:"MARK_UNREAD"},{divider:!0},{key:"edit",click:m.dropdownEditFeed,params:{branch:e,event:r.dropdownEvent},translateKey:"RSS_FEEDS_EDIT_FEED"},{key:"delete",click:m.dropdownDeleteFeed,params:{branch:e,event:r.dropdownEvent},translateKey:"RSS_FEEDS_DELETE_FEED"}],0===r.dropdownOptions.length)return;var d=$("#context-menu-area");if(d){var n=o('<st-context-menu options="::dropdownOptions" event="::dropdownEvent" classes="::[\'dropdown-no-scroll\']" menu-like="::true" menu-class="::\'abn-tree-row\'"></st-context-menu>')(r);d.append(n)}}},m.dropdownEditFeed=D,m.dropdownAddFeed=function(e){m.addFeed(e.event,e.branch)},m.dropdownEditFeed=D,m.dropdownDeleteFeed=function(e){m.deleteFeed(e.event,e.branch)},m.dropdownAddFolder=function(e){m.addFolder(e.event,e.branch)},m.dropdownEditFolder=function(e){m.editFolder(e.event,e.branch)},m.dropdownDeleteFolder=function(e){m.deleteFolder(e.event,e.branch)},m.nextPage=function(){if(m.currentPage<m.pageCount){m.displayingFeeds=!1,m.currentPage++;var e=m.currentPage*v,r=m.feeds.slice(e-v,e);R(r),m.currentPageFeeds=r,k(),d(C)}},m.previousPage=function(){if(m.currentPage-1>0){m.displayingFeeds=!1,m.currentPage--;var e=m.currentPage*v,r=m.feeds.slice(e-v,e);R(r),m.currentPageFeeds=r,k(),d(C)}},m.dropdownMarkFeedItem=function(e){var r=e.article,d=e.markRead;if(r.read==d)return;t.post("~/api/v1/rss/mark-feed-item/"+d,{feedId:r.feedId,crc:r.crc}).then((function(e){r.read=d,c.markReadUnread(m.tree.map[r.feedId],d)}),F.report)},m.onMouseUp=function(e,t,d){if(3==d.which){d.stopPropagation(),d.preventDefault(),r.dropdownEvent=$.extend(!0,{},d),r.dropdownOptions=[],r.dropdownOptions=r.dropdownOptions.concat([{key:"markRead",click:m.dropdownMarkFeedItem,params:{article:e,markRead:!0,event:r.dropdownEvent},translateKey:"MARK_READ"},{key:"markUnread",click:m.dropdownMarkFeedItem,params:{article:e,markRead:!1,event:r.dropdownEvent},translateKey:"MARK_UNREAD"}]);var n=$("#context-menu-area");if(n){var a=o('<st-context-menu options="dropdownOptions" event="dropdownEvent"></st-context-menu>')(r);n.append(a)}}2==d.which&&m.queuedMiddleClick==t&&(b(e,t,!0),m.queuedMiddleClick=void 0)},m.queueMiddleClick=function(e,r){2==r.which&&(m.queuedMiddleClick=e);r.preventDefault()},m.viewItem=b,r.$on("coreDataRss.rssContentsUpdated",(function(r,t){e.$applyAsync((function(){var e=t.feedId,r
80=m.tree.map[e];r?r.data.count=t.unreadItems:c.reloadFeedTree(),c.recalculateAllCounters()}))})),r.$on("treeState:stateChange",(function(e,r){m.treeExpanded=r.expanded,d((function(){$(window).trigger("resize")}),250)})),e.spinner.show(),s.init().then((function(){c.updateFeeds().then((function(){m.tree=c.data.feedTree,m.shortTree=c.data.shortTree,e.spinner.hide(),m.isLoaded=!0,k(),d((function(){m.treeController.deselect_all_branches(),m.shortTreeController.select_first_branch()}))}),F.reportAndHideSpinner)}),F.reportAndHideSpinner)}e.$inject=["$rootScope","$scope","$http","$timeout","$filter","$translate","$compile","$mdDialog","$mdMedia","coreData","coreDataRss","coreDataSettings","claimsService","preferencesStorage","errorHandling","treeState"],angular.module("smartermail").controller("rssFeedsController",e)}();
81!function(){"use strict";function e(e,t,a,n,r,i,s,o,c,d,l,u,h,p,g,S,f,m,v,T,E,I,b,A,y,w,C,N){var O=this;function R(){var e,t={searchCriteriaMap:O.searchCriteriaMap,section:O.sectionToSearch,searchQuery:O.searchQuery,or:O.or,withAttachmentsOnly:O.withAttachmentsOnly};O.firstSearch?(O.showProgress=!0,O.firstSearch=!1):e=o((function(){O.showProgress=!0}),2e3),i.post("~/api/v1/settings/advanced-search",JSON.stringify(t)).then((function(t){O.showProgress=!1,e&&o.cancel(e),angular.forEach(t.data.advancedSearchResult.emailSearchResults,(function(e){e.internalDate=new Date(e.internalDate)})),angular.forEach(t.data.advancedSearchResult.noteAdvancedSearchResults,(function(e){e.lastModified=new Date(e.lastModified)})),angular.forEach(t.data.advancedSearchResult.appointmentSearchResults,(function(e){e.startDate=new Date(e.startDate),e.endDate=new Date(e.endDate)})),angular.forEach(t.data.advancedSearchResult.taskAdvancedSearchResults,(function(e){e.startDate=new Date(e.startDate),e.dueDate=new Date(e.dueDate)}));var a=O.tableParams._params.page;O.sectionedTable.sectionData[1]=t.data.advancedSearchResult.emailSearchResults,O.sectionedTable.sectionData[2]=t.data.advancedSearchResult.noteAdvancedSearchResults,O.sectionedTable.sectionData[3]=t.data.advancedSearchResult.contactSearchResults,O.sectionedTable.sectionData[4]=t.data.advancedSearchResult.appointmentSearchResults,O.sectionedTable.sectionData[5]=t.data.advancedSearchResult.taskAdvancedSearchResults,O.gridSections[0].length=t.data.advancedSearchResult.emailSearchResults.length,O.gridSections[1].length=t.data.advancedSearchResult.appointmentSearchResults.length,O.gridSections[2].length=t.data.advancedSearchResult.contactSearchResults.length,O.gridSections[3].length=t.data.advancedSearchResult.noteAdvancedSearchResults.length,O.gridSections[4].length=t.data.advancedSearchResult.taskAdvancedSearchResults.length,O.checkboxes.reset(),O.checkboxes.specialKey=O.sectionedTable.specialKeys[O.viewingSection],O.tableParams.settings({dataset:O.sectionedTable.sectionData[O.viewingSection]}),O.tableParams._params.page=a,O.tableParams._params.sorting=O.sectionedTable.currentSorting[O.viewingSection],O.checkboxes.reset(),O.tableParams.reload(),O.initialized=!0}))}O.searchStringRequired=!0,window.skipNgTableOverrides=!0,O.selectedGridBarSection="EMAIL",O.gridSections=[{translate:"EMAIL",length:0},{translate:"CALENDAR",length:0},{translate:"CONTACTS",length:0},{translate:"NOTES",length:0},{translate:"TASKS",length:0}],O.sectionedTable={specialKeys:{1:function(e){return e.uid+"|"+e.folder},2:function(e){return e.id},3:function(e){return e.id+"|"+e.sourceId},4:function(e){return e.id+"|"+e.sourceId},5:function(e){return e.id+"|"+e.sourceId}},currentPage:{1:1,2:1,3:1,4:1,5:1},currentSorting:{1:{internalDate:"desc"},2:{subject:"asc"},3:{displayName:"asc"},4:{subject:"asc"},5:{subject:"asc"}},sectionData:{1:[],2:[],3:[],4:[],5:[]}},O.tableParams=new l({sorting:O.sectionedTable.currentSorting[O.viewingSection],count:25},{dataset:[],counts:[10,25,50,100,200],localStorageKey:"ngTableRows-search"}),O.checkboxes=u.init(),O.checkboxes.specialKey=O.sectionedTable.specialKeys[O.viewingSection],O.checkboxes.table=O.tableParams,O.firstSearch=!0,O.initialized=!1,O.isSearchCollapsed=!1,e.OR=!1,O.searchString="",e.sectionToSearch=0,e.dropdownSelectedCriteria="add",e.criteriaOptions=[{translation:"ADD_CRITERIA",id:"add",sectionId:-1},{translation:"SEARCH_STRING",id:"body",type:"text",sectionId:0},{translation:"FOLDER",id:"folder",type:"folder",sectionId:1},{translation:"CC",id:"cc",type:"text",sectionId:1},{translation:"CONTAINS_ATTACHMENTS",id:"hasAttachments",type:"dropdown",sectionId:1,value:!0},{translation:"FROM",id:"from",type:"text",sectionId:1},{translation:"RECEIVED_AFTER",id:"after",type:"dateAfter",sectionId:1,dateType:"received"},{translation:"RECEIVED_BEFORE",id:"before",type:"dateBefore",sectionId:1,dateType:"received"},{translation:"SUBJECT",id:"subject",type:"text",sectionId:1},{translation:"TO",id:"to",type:"text",sectionId:1},{translation:"FOLDER",id:"folderid",type:"noteFolder",sectionId:2},{translation:"COLOR",id:"color",type:"color",sectionId:2},{translation:"SUBJECT",id:"subject",type:"text",sectionId:2},{translation:"LAST_MODIFIED_BEFORE",id:"before",type:"dateBefore",sectionId:2,dateType:"datemodified"},{translation:"LAST_MODIFIED_AFTER",id:"after",type:"dateAfter",sectionId:2,dateType:"datemodified"},{translation:"FOLDER",id:"folderid",type:"contactFolder",sectionId:3},{translation:"ADDITIONAL_INFO",id:"additionalinfo",type:"text",sectionId:3},{translation:"BIRTHDAY_AFTER",id:"after",type:"dateAfter",sectionId:3,dateType:"birthday"},{translation:"BIRTHDAY_BEFORE",id:"before",type:"dateBefore",sectionId:3,dateType:"birthday"},{translation:"BUSINESS_ADDRESS",id:"businessaddress",type:"text",sectionId:3},{translation:"BUSINESS_CITY",id:"businesscity",type:"text",sectionId:3},{translation:"BUSINESS_COUNTRY",id:"businesscountry",type:"text",sectionId:3},{translation:"BUSINESS_STATE",id:"businessstate",type:"text",sectionId:3},{translation:"BUSINESS_ZIP",id:"businesszip",type:"text",sectionId:3},{translation:"COMPANY_NAME",id:"companyname",type:"text",sectionId:3},{translation:"DEPARTMENT",id:"department",type:"text",sectionId:3},{translation:"DISPLAY_NAME",id:"displayname",type:"text",sectionId:3},{translation:"EMAIL",id:"email",type:"text",sectionId:3},{translation:"HOME_ADDRESS",id:"homeaddress",type:"text",sectionId:3},{translation:"HOME_CITY",id:"homecity",type:"text",sectionId:3},{translation:"HOME_STATE",id:"homestate",type:"text",sectionId:3},{translation:"HOME_ZIP",id:"homezip",type:"text",sectionId:3},{translation:"HOME_COUNTRY",id:"homecountry",type:"text",sectionId:3},{translation:"INSTANT_MESSENGER",id:"instantmessenger",type:"text",sectionId:3},{translation:"OFFICE",id:"office",type:"text",sectionId:3},{translation:"WEBSITE",id:"website",type:"text",sectionId:3},{translation:"FOLDER",id:"calendar",type:"dropdown",sectionId:4}
81,{translation:"ENDS_AFTER",id:"after",type:"dateAfter",sectionId:4,dateType:"end"},{translation:"ENDS_BEFORE",id:"before",type:"dateBefore",sectionId:4,dateType:"end"},{translation:"STARTS_AFTER",id:"after",type:"dateAfter",sectionId:4,dateType:"starts"},{translation:"STARTS_BEFORE",id:"before",type:"dateBefore",sectionId:4,dateType:"starts"},{translation:"SUBJECT",id:"subject",type:"text",sectionId:4},{translation:"FOLDER",id:"folderid",type:"taskFolder",sectionId:5},{translation:"DUE_AFTER",id:"after",type:"dateAfter",sectionId:5,dateType:"due"},{translation:"DUE_BEFORE",id:"before",type:"dateBefore",sectionId:5,dateType:"due"},{translation:"PERCENT_COMPLETE",id:"calendar",type:"text",sectionId:5},{translation:"PRIORITY",id:"calendar",type:"text",sectionId:5},{translation:"STARTS_AFTER",id:"after",type:"dateAfter",sectionId:5,dateType:"starts"},{translation:"STARTS_BEFORE",id:"before",type:"dateBefore",sectionId:5,dateType:"starts"},{translation:"STATUS",id:"calendar",type:"text",sectionId:5},{translation:"SUBJECT",id:"subject",type:"text",sectionId:5}],e.dropdowns={hasAttachments:[{translation:"MUST_CONTAIN_ATTACHMENTS",value:!0},{translation:"MUST_NOT_CONTAIN_ATTACHMENTS",value:!1}]},e.monthOptions=[{translation:"MONTH_NAMES_JANUARY",value:1},{translation:"MONTH_NAMES_FEBRUARY",value:2},{translation:"MONTH_NAMES_MARCH",value:3},{translation:"MONTH_NAMES_APRIL",value:4},{translation:"MONTH_NAMES_MAY",value:5},{translation:"MONTH_NAMES_JUNE",value:6},{translation:"MONTH_NAMES_JULY",value:7},{translation:"MONTH_NAMES_AUGUST",value:8},{translation:"MONTH_NAMES_SEPTEMBER",value:9},{translation:"MONTH_NAMES_OCTOBER",value:10},{translation:"MONTH_NAMES_NOVEMBER",value:11},{translation:"MONTH_NAMES_DECEMBER",value:12}],e.sectionIdToName=["everywhere","email","notes","contacts","calendar","tasks"],e.selectedCriteria=[],O.openItem=function(){var e=O.checkboxes.getCheckedItems();if(!e||!e.length)return;if(!angular.isArray(e))return;1==O.viewingSection?angular.forEach(e,(function(e){var t=e.split("|");k({uid:t[0],folder:t[1]})})):2==O.viewingSection?angular.forEach(e,(function(e){M({id:e})})):3==O.viewingSection?angular.forEach(e,(function(e){var t=e.split("|");P({id:t[0],sourceId:t[1]})})):4==O.viewingSection?angular.forEach(e,(function(e){var t=e.split("|");x({id:t[0],sourceId:t[1]})})):5==O.viewingSection&&angular.forEach(e,(function(e){var t=e.split("|");F({id:t[0],sourceId:t[1]})}))},O.openEmail=k,O.openNote=M,O.openContact=P,O.openEvent=x,O.openTask=F,O.deleteItems=L,O.getCriteriaValue=function(e){switch(e.id){case"folder":return e.value.name;case"folderid":return e.value.folderId;case"after":case"before":return a("date")(moment(e.value).format());default:return e.value}},O.viewAttachments=function(e,a){a.stopPropagation(),a.preventDefault(),t.show({locals:{attachmentName:e.replace(/\*\*\*/g,"\r\n")},controller:"viewAttachmentsController",controllerAs:"ctrl",templateUrl:"app/email/modals/view-attachments.dlg.html",clickOutsideToClose:!0})},O.sectionChanged=function(e){switch(O.selectedGridBarSection=e,e){case"EMAIL":O.viewingSection=1;break;case"NOTES":O.viewingSection=2;break;case"CONTACTS":O.viewingSection=3;break;case"CALENDAR":O.viewingSection=4;break;case"TASKS":O.viewingSection=5}O.checkboxes.reset(),O.checkboxes.specialKey=O.sectionedTable.specialKeys[O.viewingSection],O.sectionedTable.currentPage[O.previousSection]=O.tableParams._params.page,O.sectionedTable.currentSorting[O.previousSection]=O.tableParams._params.sorting,O.tableParams.settings({dataset:O.sectionedTable.sectionData[O.viewingSection]}),O.tableParams._params.page="force"+O.sectionedTable.currentPage[O.viewingSection],O.tableParams._params.page=O.sectionedTable.currentPage[O.viewingSection],O.tableParams._params.sorting=O.sectionedTable.currentSorting[O.viewingSection],O.previousSection=O.viewingSection},O.statusToString=function(e){switch(e){case 2:return n.instant("STATUS_CANCELED");default:case 3:return n.instant("STATUS_NOT_STARTED");case 4:return n.instant("COMPLETED");case 5:return n.instant("STATUS_IN_PROGRESS")}},O.contextMenuGridItem=function(t,a){if(!a||"touchstart"!==a.type&&"touchend"!==a.type&&3!==a.which||t.criticallyErrored)return;a.stopPropagation(),a.preventDefault();var n=O.checkboxes.getCheckedItems();(n.length>1&&!_.some(n,(function(e){return e===O.checkboxes.specialKey(t)}))||n.length<=1)&&(O.checkboxes.reset(),O.checkboxes.checkCheckbox(a,t),n=[O.checkboxes.specialKey(t)]);e.dropdownEvent=$.extend(!0,{},a),e.dropdownOptions=[{key:"deleteItems",click:L,translateKey:"DELETE"}],1===O.viewingSection&&e.dropdownOptions.push({key:"dowloadEml",click:B,translateKey:"DOWNLOAD_EML",disabled:n.length>1});var r=$("#context-menu-area");if(r){var i=d('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);r.append(i)}},O.downloadEml=B,O.toggleSearch=function(){O.isSearchCollapsed=!O.isSearchCollapsed},O.criteriaSectionChanged=G,O.criteraSelected=function(t){if(0==t)return;e.criteriaOptions[t].index=t,e.criteriaOptions[t].selected=!0,e.selectedCriteria.push(e.criteriaOptions[t]),o((function(){e.dropdownSelectedCriteria="add"}
81)),o((function(){var e=$("#emailSearchView .input input, #emailSearchView .input .dropdown-target md-select");$(e[e.length-1]).trigger("focus")}),550),c.hide()},O.removeCriteria=function(t){e.criteriaOptions[e.selectedCriteria[t].index].selected=!1,e.criteriaOptions[e.selectedCriteria[t].index].value=void 0,e.selectedCriteria.splice(t,1)},O.search=function(){O.tableParams.settings({dataset:[]}),O.initialized=!1,O.isSearchCollapsed=!0,O.selectedGridBarSection="EMAIL",O.viewingSection=void 0,function(){O.searchCriteriaMap={},O.searchQuery=void 0,O.or=void 0,angular.forEach(e.selectedCriteria,(function(t){switch(t.id){case"folder":O.searchCriteriaMap[t.type+":"+e.sectionIdToName[t.sectionId]+":"+t.id]=t.value.name;break;case"folderid":O.searchCriteriaMap[t.type+":"+e.sectionIdToName[t.sectionId]+":"+t.id]=t.value.folderId;break;case"after":case"before":O.searchCriteriaMap[t.type+":"+e.sectionIdToName[t.sectionId]+":"+t.dateType+":"+t.id]=moment(t.value).format();break;case"body":O.searchQuery=t.value;break;case"hasAttachments":O.withAttachmentsOnly=t.value;break;default:O.searchCriteriaMap[t.type+":"+e.sectionIdToName[t.sectionId]+":"+t.id]=t.value}})),0==e.sectionToSearch&&O.searchString&&O.searchString.length>0&&(O.searchQuery=O.searchString);0!=e.sectionToSearch&&null!=e.OR&&(O.or=e.OR);O.sectionToSearch=e.sectionToSearch,O.viewingSection=O.sectionToSearch?O.sectionToSearch:1,O.previousSection=O.viewingSection}(),R()},O.reset=function(t){O.tableParams.settings({dataset:[]}),G(),O.checkboxes.reset(),t.$setUntouched(),t.$setPristine(),O.selectedGridBarSection="EMAIL",O.searchStringRequired=!1,O.sectionToSearch=void 0,O.viewingSection=void 0,e.sectionToSearch=0,O.initialized=!1,o((function(){O.searchStringRequired=!0,$("#searchString").trigger("focus")})),o((function(){$("#searchString").trigger("focus")}),250,!1)},e.$on("$destroy",(function(){})),p.init(),m.init(),T.getFolderListForDropdown(null,!1).then((function(t){e.folders=t.filter((e=>"SHARED_WITH_ME"!=e.name&&!e.isMappedFolder&&!e.isMappedSubfolder))}),v.report),E.loadSources().then((function(){for(var t=E.getCalendars(),a=[],r=0;r<t.length;r++)t[r].isSharedItem||a.push({translation:t[r].untranslatedName?n.instant(t[r].untranslatedName):t[r].name,value:t[r].id});e.dropdowns.calendar=a})),b.ensureSourcesLoadedPromise().then((function(){e.noteFolders=b.getSources(),e.noteFolders=e.noteFolders.filter((e=>!e.isSharedItem))})),A.ensureSourcesLoadedPromise().then((function(){e.taskFolders=A.getSources(),e.taskFolders=e.taskFolders.filter((e=>!e.isSharedItem))})),y.ensureSourcesLoadedPromise().then((function(){e.contactFolders=y.getSources(),e.contactFolders=e.contactFolders.filter((e=>!e.isSharedItem))})),S.onPagesChanged(O.checkboxes.checkAllChecked),e.$on("signalR.mailHub.client.mailAction",H),G();const D="/popout/email-search";function k(e){const t=C.makeEmailPacket(p.user.emailAddress,e.folder,e.uid,void 0,{mode:"html"}),a=C.getPopoutUrl(t);window.open(a,"emailID"+e.uid,"resizable=1, "+h.dimensions.email)}function M(e){const t="/popout/note/"+e.id+"/"+e.sourceId+"/"+p.user.emailAddress;window.open(window.location.href.replace(D,t),e.id,"resizable=1, "+h.dimensions.note)}function P(e){const t="/popout/"+(e.isContactGroup?"contactGroup":"contact")+"/"+e.id+"/"+p.user.username+"/"+e.sourceId;window.open(window.location.href.replace(D,t),e.id,"resizable=1, "+h.dimensions.contact)}function x(e){const t="/popout/appointment/"+p.user.username+"/"+e.sourceId+"/"+e.id;window.open(window.location.href.replace(D,t),"_blank","resizable=1, "+h.dimensions.calendar)}function F(e){const t="/popout/task/"+e.id+"/"+e.sourceId+"/"+p.user.username;window.open(window.location.href.replace(D,t),e.id,"resizable=1, "+h.dimensions.task)}function L(){1==O.viewingSection?function(e){var a=O.checkboxes.getCheckedItems();if(!a||!a.length)return;if(!angular.isArray(a))return;var n=[];angular.forEach(a,(function(e){var t=e.split("|");n.push({uid:t[0],folder:t[1],ownerEmailAddress:p.user.emailAddress})}));var r=t.confirmDeletion().textContent(N.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:n.length})).targetEvent(e);t.show(r).then((function(){var e={messages:n};i.post("~/api/v1/mail/delete-messages-mass",e).then((function(){var e=O.tableParams._params.page;O.tableParams.settings({dataset:$.grep(O.tableParams.settings().dataset,(function(e){for(var t=0;t<a.length;t++){var n=a[t].split("|");if(e.uid==n[0]&&e.folder==n[1])return!1}return!0}))}),O.tableParams._params.page=e;for(var t=0;t<n.length;t++)O.checkboxes.checkCheckbox({},n[t]);O.gridSections[0].length=O.tableParams.settings().dataset.length}),v.report)}),(function(){}))}():2==O.viewingSection?function(e){var a=O.checkboxes.getCheckedItems();if(!a||!a.length)return;if(!angular.isArray(a))return;var n=[];angular.forEach(a,(function(e){n.push({id:e,sourceOwner:p.user.username})}));var r=t.confirmDeletion().textContent(N.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:n.length})).targetEvent(e);t.show(r).then((function(){var e=JSON.stringify(n);i.post("~/api/v1/notes/delete-bulk",e).then((function(e){var t=O.tableParams._params.page;O.sectionedTable.sectionData[2]=$.grep(O.tableParams.settings().dataset,(function(e){for(var t=0;t<a.length;t++)if(e.id==a[t])return!1;return!0})),O.tableParams.settings({dataset:O.sectionedTable.sectionData[2]}),O.tableParams._params.page=t;for(var r=0;r<n.length;r++)O.checkboxes.checkCheckbox({},n[r]);O.gridSections[3].length=O.tableParams.settings().dataset.length}),v.report)}),(function(){}))}():3==O.viewingSection?function(e){var a=O.checkboxes.getCheckedItems();if(!a||!a.length)return;if(!angular.isArray(a))return;var n=[];angular.forEach(a,(function(e){var t=e.split("|");n.push({id:t[0],sourceId:t[1],sourceOwner:p.user.username})}));var r=t.confirmDeletion().textContent(N.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:n.length})).targetEvent(e);t.show(r).then((function(){var e=JSON.stringify(n);i.post("~/api/v1/contacts/delete-bulk",e).then((function(e){var t=O.tableParams._params.page;O.sectionedTable.sectionData[3]=$.grep(O.tableParams.settings().dataset,(function(e){for(var t=0;t<a.length;t++){var n=a[t].split("|");if(e.id==n[0]&&e.sourceId==n[1])return!1}return!0})),O.tableParams.settings({dataset:O.sectionedTable.sectionData[3]}),O.tableParams._params.page=t;for(var r=0;r<n.length;r++)O.checkboxes.checkCheckbox({},n[r]);O.gridSections[2].length=O.tableParams.settings().dataset.length}),v.report)}),(function(){}))}():4==O.viewingSection?function(e){var a=O.checkboxes.getCheckedItems();if(!a||!a.length)return;if(!angular.isArray(a))return;var n=[];angular.forEach(a,(function(e){var t=e.split("|");n.push({eventId:t[0],calendarId:t[1],owner:p.user.username})}));var r=t.confirmDeletion().textContent(N.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:n.length})).targetEvent(e);t.show(r).then((function(){var e=JSON.stringify(n);i.post("~/api/v1/calendars/events/delete-bulk",e).then((function(e){var t=O.tableParams._params.page;O.sectionedTable.sectionData[4]=$.grep(O.tableParams.settings().dataset,(function(e){for(var t=0;t<a.length;t++){var n=a[t].split("|");if(e.id==n[0]&&e.sourceId==n[1])return!1}return!0})),O.tableParams.settings({dataset:O.sectionedTable.sectionData[4]}),O.tableParams._params.page=t;for(var r=0;r<n.length;r++)O.checkboxes.checkCheckbox({},{id:n[r].eventId,sourceId:n[r].calendarId});O.gridSections[1].length=O.tableParams.settings().dataset.length}),v.report)}),(function(){}))}():5==O.viewingSection&&function(e){var a=O.checkboxes.getCheckedItems();if(!a||!a.length)return;if(!angular.isArray(a))return;var n=[];angular.forEach(a,(function(e){var t=e.split("|");n.push({id:t[0],sourceId:t[1],sourceOwner:p.user.username})}));var r=t.confirmDeletion().textContent(N.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:n.length})).targetEvent(e);t.show(r).then((function(){var e=JSON.stringify(n);i.post("~/api/v1/tasks/delete",e).then((function(e){var t=O.tableParams._params.page;O.sectionedTable.sectionData[4]=$.grep(O.tableParams.settings().dataset,(function(e){for(var t=0;t<a.length;t++){var n=a[t].split("|");if(e.id==n[0]&&e.sourceId==n[1])return!1}return!0})),O.tableParams.settings({dataset:O.sectionedTable.sectionData[4]}),O.tableParams._params.page=t;for(var r=0;r<n.length;r++)O.checkboxes.checkCheckbox({},n[r]);O.gridSections[4].length=O.tableParams.settings().dataset.length}),v.report)}),(function(){}))}()}function B(e){var a=O.checkboxes.getCheckedItems();if(a&&a.length&&!(a.length>1)&&angular.isArray(a)){var r=a[0].split("|"),i={UID:[r[0]],Folder:r[1],OwnerEmailAddress:p.user.emailAddress},s=N.reactPluralize("FILENAME_MESSAGES_WITH_COUNT",{count:0})+"-"+r[0]+".eml",c=o((function(){var e=t.stProgressBar().title(n.instant("DOW
81NLOADING")).barText("").close(n.instant("DOWNLOAD_IN_BACKGROUND")).showCancel(!1).enableButtons(!0).autoClose(!0).percentProgress(-1).guid("eml-download").progressListener("eml-download.finished");t.show(e)}),1e3);I.downloadFile("~/api/v1/mail/messages-export",s,i).then((function(){}),(function(e){v.report(e)})).finally((function(){w.$broadcast("eml-download.finished",{guid:"eml-download",current:-1}),c&&o.cancel(c)}))}}var U;function H(a,r){var i=0;if(-1==r.totalCount)r.current!==r.total&&-1!==r.current?i=Math.floor(r.current/r.total*100):r.current!==r.total&&-1!==r.current||(i=100);else{var o=r.current+r.processed;o!==r.totalCount&&-1!==r.current?i=Math.floor(o/r.totalCount*100):-1===r.current&&r.asyncFolderCurrent==r.asyncFolderTotal&&(i=100)}if(e.inActionProgess&&U&&i>=100)t.hide();else if(!e.inActionProgess){e.inActionProgess=!0,s.ignoreMailSignal=!0;var c="";switch(r.action){case"move":c=n.instant("MOVING");break;case"delete":c=n.instant("DELETING");break;default:c=n.instant("ACTION")}U=t.stProgressBar().title(n.instant("PROGRESS")).barText(c).showCancel(!1).enableButtons(!1).percentProgress(i).autoClose(!0).guid(r.guid).progressListener("signalR.mailHub.client.mailAction"),t.show(U).then(z,z)}}function z(){R(),e.inActionProgess=!1,U=void 0}function G(){for(var t=e.selectedCriteria.length-1;t>=0;t--)O.removeCriteria(t);O.searchString="",O.withAttachmentsOnly=void 0}}e.$inject=["$scope","$mdDialog","$filter","$translate","$log","$http","$localStorage","$timeout","$mdSelect","$compile","NgTableParams","gridCheckboxes","popupService","userDataService","preferencesStorage","ngTableEventsChannel","authStorage","coreData","errorHandling","coreDataMail","coreDataCalendar","coreDataFileStorage","coreDataNotes","coreDataTasks","coreDataContacts","$rootScope","emailNavigation","i18n"],angular.module("smartermail").controller("emailSearchViewController",e)}();
82!function(){"use strict";function e(e,i,n,t,s,r,a,o,l,d,c,u,g,m,S){var f=this;function h(e){for(var i=0;i<e.length;i++)e[i].translatedTitle=t("translate")(e[i].title);return _.sortBy(e,"translatedTitle")}function E(){try{switch(!0){case l.edition>=2:case!l.license:case l.license.isTrialLicense:case!f.domainSettings.emClientEnabled:case!f.domainSettings.emClientOffersAvailable:case!f.domainSettings.isTopLevelDomain:return!1;default:return!0}}catch(e){return!1}}function A(){f.edition=l.edition,f.isEligibleEmClientLicenses=E()}f.isDomainAdmin=!1,f.isInitialized=!1,f.searchText=null,f.canOverrideAutoClean=null,f.enableActiveSyncAccountManagement=!1,f.showMessageArchiveSearch=!1,f.edition=1,f.isDomain="domain"===r.type,f.isEligibleEmClientLicenses=!1,f.isAnAdministrator=S.isSysAdmin()||S.isDomainAdmin(),f.userShortSections=[{title:"ACCOUNT",sref:"index.settings.user-account-settings"},{title:"ACCOUNT_PROFILE",sref:"index.settings.user-account-profile"}],f.showAutoresponderMenu=!1,f.showMailingListMenu=!1,f.isListModerator=!1,f.enableSharing=!1,f.userSections=h([{title:"AUTO_RESPONDER",sref:"index.settings.user-auto-responder",showif:function(){return f.showAutoresponderMenu}},{title:"CALENDAR",sref:"index.settings.user-calendar-settings"},{title:"CONNECTIVITY",sref:"index.settings.user-external-accounts"},{title:"CONTENT_FILTERING",sref:"index.settings.user-content-filters"},{title:"EVENTS",sref:"index.settings.user-events"},{title:"MAILING_LISTS",sref:"index.settings.mailing-lists",showif:function(){return f.showMailingListMenu&&(f.isListModerator||f.isDomainAdmin)}},{title:"SCHEDULING_SETTINGS",sref:"index.settings.user-scheduling-settings",showif:function(){return l.license&&(l.edition==l.EDITION_ENTERPRISE||l.edition==l.EDITION_FREE)}},{title:"SHARING",sref:"index.settings.user-sharing",showif:function(){return f.enableSharing}},{title:"SIGNATURES",sref:"index.settings.signatures"},{title:"SPAM_FILTERING",sref:"index.settings.user-spam-filters"}]),f.domainShortSections=[],f.domainSections=[],i.treeExpanded=m.isExpanded,i.$on("treeState:stateChange",(function(e,n){i.treeExpanded=n.expanded,s((function(){$(window).trigger("resize")}),300)})),i.settingCore=void 0,i.$on("signalR.mailHub.client.listModeratorChanged",(function(e,t){if(t.moderator)f.isListModerator=!0;else{function s(){a.current.name.indexOf("index.settings.mailing-lists.specific")>-1&&r.id==t.listId&&(a.go("index.settings.mailing-lists"),g.report("MAILING_LISTS_LOST_PERMISSIONS"))}function o(){f.isListModerator=!1,a.current.name.indexOf("index.settings.mailing-lists")>-1&&a.go("index.settings.user-account-settings"),g.report("MAILING_LISTS_LOST_PERMISSIONS")}n.get("~/api/v1/settings/domain/mailing-lists/list").then(s,o)}i.$applyAsync()})),f.searchUpdate=function(){},f.isInSearch=function(e){return!f.searchText||-1!==e.indexOf(f.searchText)},f.shouldShow=function(e){return null!=e&&(!e.showif||e.showif())},async function(){e.spinner.show();var t=f.isDomain?[d.init(),n.get("~/api/v1/settings/domain/domain")]:[d.init()];o.all(t).then((function(n){f.domainSettings=n&&n.length>=2?n[1].data.domainSettings:null,f.isDomainAdmin=d.user.isDomainAdmin,f.showDomainAliasMenu=f.domainSettings&&f.domainSettings.showDomainAliasMenu,f.customLoginDisplay=f.domainSettings&&f.domainSettings.customLoginDisplay,f.enableActiveSyncAccountManagement=f.domainSettings&&f.domainSettings.enableActiveSyncAccountManagement,f.showMessageArchiveSearch=u.domainPermissions.showMessageArchiveSearch,f.canOverrideAutoClean=c.userPermissions.autoCleanAllowUserOverride,f.isListModerator=c.userPermissions.isListModerator,f.showMailingListMenu=c.userPermissions.showListMenu,f.showAutoresponderMenu=c.userPermissions.showAutoresponderMenu,f.enableSharing=c.userDomainSettings.enableSharing,i.settingCore=c,f.isDomainAdmin&&(f.domainShortSections=h([{title:"ACCOUNTS",sref:"index.settings.domain-users"},{title:"USER_CONNECTIONS",sref:"index.settings.domain-users-connections"},{title:"USER_STATUSES",sref:"index.settings.domain-users-statuses"}
82,{title:"GENERAL",sref:"index.settings.domain-general-settings"},{title:"EMCLIENT",sref:"index.settings.domain-emclient-licenses",showif:function(){return f.isEligibleEmClientLicenses}}]),f.domainSections=h([{title:"EVENTS",sref:"index.settings.domain-events"},{title:"SIGNATURES",sref:"index.settings.domain-email-customization"},{title:"SPAM_FILTERING",sref:"index.settings.domain-spam-filtering"},{title:"CONTENT_FILTERING",sref:"index.settings.domain-content-filtering"},{title:"USER_DEFAULTS",sref:"index.settings.user-defaults"},{title:"SYSADMIN_SECURITY_PASSWORD_REQUIREMENTS",sref:"index.settings.domain-password-requirements"},{title:"SHARING",sref:"index.settings.domain-sharing",showif:function(){return f.enableSharing}},{title:"MESSAGE_ARCHIVE_SEARCH",sref:"index.settings.domain-message-archive",showif:function(){return f.showMessageArchiveSearch}},{title:"CHAT_SEARCH",sref:"index.settings.domain-chat-search",showif:function(){return f.domainSettings&&f.domainSettings.enableDomainHistory&&f.domainSettings.marketPlace&&f.domainSettings.marketPlace.smarterMailChatEnabled}}])),A(),l.watchForChanges(i,A),E(),f.isInitialized=!0,e.spinner.hide()}),(function(i){g.report(i),e.spinner.hide()}))}()}e.$inject=["$rootScope","$scope","$http","$filter","$timeout","$stateParams","$state","$q","coreLicensing","coreData","coreDataSettings","coreDataDomainSettings","errorHandling","treeState","claimsService"],angular.module("smartermail").controller("userSettingsMainController",e)}();
83!function(){"use strict";angular.module("smartertools").directive("aiClassificationSidebar",["spamfooClassification","$filter","$rootScope","treeState","coreDataMail","$mdDialog","errorHandling",function(a,i,e,t,s,n,o){return{replace:!0,restrict:"E",scope:{activeTab:"=",onTabChange:"&",onClassificationDrop:"&",counts:"="},link:function(n,r,c){if(!window.stEnableSpamfoo)return;var l=a.getAllDisplayableClassifications();l.forEach((function(a){a.label=i("translate")(a.translationKey)})),n.classifications=l,n.getCount=function(a){return n.counts&&n.counts[a]||0},n.selectClassification=function(a){n.activeTab!==a&&(n.activeTab=a,"function"==typeof n.onTabChange&&n.onTabChange({tab:a})),t.hideTreeOverlay()},n.onDragOver=function(a){var i=a.target.closest(".ai-classification-sidebar-item");return i&&$(i).addClass("drop-highlight"),a.preventDefault(),!1},n.onDragLeave=function(a){var i=a.target.closest(".ai-classification-sidebar-item");i&&$(i).removeClass("drop-highlight")},n.onDrop=function(i,t){var n=i.target.closest(".ai-classification-sidebar-item");n&&$(n).removeClass("drop-highlight"),i.preventDefault(),i.stopPropagation();try{var r=i.dataTransfer.getData("text"),c=JSON.parse(r);if(!c.folder||!1===c.hasPermission)return!1;var l=c.dragSelected?c.selected:[c.uid],f=!(c.folder&&"inbox"===c.folder.toLowerCase()),d=Array.isArray(c.senderEmails)?c.senderEmails.filter((function(a){return!!a})):[],u=d.length;!u&&c.senderEmail?(d=[c.senderEmail],u=1):!u&&l.length>1&&(u=l.length);a.getClassificationLabel(t);function v(a){s.promptSpamFooConsentIfNeeded(c.folder,l[0]).then((function(i){i.proceed&&(e.$broadcast("mail.removeGridItems",l),s.changeMessageClassification(l,c.folder,c.owner,t,f,a).then((function(a){if(!a||!a.data||!a.data.success)return e.$broadcast("mail.refreshGrid"),void o.report(a&&a.data||"ERROR_HAS_OCCURRED");e.$broadcast("mail.updateGridClassification",{uids:l,classification:t}),s.resyncClassificationCounts(),e.$broadcast("mail.selectNextAfterRemoval")}),(function(a){e.$broadcast("mail.refreshGrid"),o.report(a)})))}))}v(!1)}catch(g){}return!1}},template:'\n                <div class="ai-classification-sidebar">\n                    <div class="ai-classification-sidebar-items">\n                        <div class="ai-classification-sidebar-item"\n                             ng-repeat="classification in classifications"\n                             ng-class="{\'active\': activeTab === classification.value}"\n                             ng-click="selectClassification(classification.value)"\n                             st-drag-over="onDragOver(event)"\n                             st-drag-leave="onDragLeave(event)"\n                             st-drop="onDrop(event, classification.value)">\n                            <i class="toolsicon {{classification.icon}} {{classification.colorClass}}"></i>
83\n                            <span>{{classification.label}}</span>\n                            <span class="counter tree-count" ng-show="getCount(classification.value) > 0">{{getCount(classification.value)}}</span>\n                        </div>\n                    </div>\n                </div>'}}])}();
84!function(){"use strict";angular.module("smartermail").directive("authenticatedIpsType",["$translate","$filter",function(e,t){return function(a,n,s){switch(a.item.type){case 1:case 8:a.item.type=t("htmlUnescape")(e.instant("MAPI_EWS"));break;case 2:a.item.type=t("htmlUnescape")(e.instant("ACTIVESYNC"));break;case 3:a.item.type=t("htmlUnescape")(e.instant("IMAP"));break;case 4:a.item.type=t("htmlUnescape")(e.instant("POP"));break;case 5:a.item.type=t("htmlUnescape")(e.instant("WEBDAV"));break;case 6:a.item.type=t("htmlUnescape")(e.instant("WEBMAIL"));break;case 7:a.item.type=t("htmlUnescape")(e.instant("SHAREPOINT"));break;case 9:a.item.type=t("htmlUnescape")(e.instant("SMTP_AUTH"));break;case 13:a.item.type=t("htmlUnescape")(e.instant("XMPP"))}}}])}();
85!function(){"use strict";function i(i,e,o,n,t,s,a,f,r,c,l,m){var u="granted",d="denied",g="default",p=this;function N(){if(null===p.supported&&"undefined"==typeof Notification)return p.permission=g,void(p.supported=!1);p.supported=!0,p.permission=Notify.needsPermission?Notification.permission===d?d:g:u}p.supported=null,p.permission=g,p.messageNotificationInfo={lastSent:null,count:0,popupTimeout:null,message:null},p.fetchPermission=I,p.show=w,p.notifyOfNewMessage=function(i){if(!(i&&i.from&&i.folder&&i.uid))return;if("inbox"!=i.folder.toLowerCase()||i.ownerEmailAddress)return;if(!r.userSettings.notifyOnNewEmails)return;if(p.messageNotificationInfo.count++,p.messageNotificationInfo.message=i,!p.messageNotificationInfo.popupTimeout){var e=new Date,o=p.messageNotificationInfo.lastSent?e.getTime()-p.messageNotificationInfo.lastSent.getTime():9999999999,n=(o>=15e3?500:15e3)-o;n<250&&(n=250),p.messageNotificationInfo.popupTimeout=t(v,n)}},p.checkPermissions=N,N();var y=null;function I(){var e=y=i.defer();return p.supported?p.permission===u?(y.resolve(),y=null):p.permission===d?(y.reject(),y=null):window.Notification.requestPermission((function(i){"granted"===i?(Notify.needsPermission=!1,p.permission=u,y.resolve(),y=null):(Notify.needsPermission=!0,p.permission=d,y.reject(),y=null)})):(y.reject(),y=null),e.promise}function w(i,e){e=e||{},I().then((function(){e.icon||e.image||(e.icon=(stSiteRoot||"/")+"favicon.ico");void 0!==e.closeOnClick&&null!==e.closeOnClick||(e.closeOnClick=!0);if(e.notifyClick){var o=e.notifyClick;e.notifyClick=function(i){o(this.myNotify?this.myNotify.data:null)}}i=i||f.instant("NA"),e.body=e.body,new Notify(i,e).show()}),(function(){}))}function v(){if(1==p.messageNotificationInfo.count&&p.messageNotificationInfo.message)!function(i){var e=""!=i.from.name?i.from.name:i.from.email,o={body:i.subject,icon:(stSiteRoot||"/")+"interface/img/notifications/email.png",tag:i.uid,timeout:5e3,priority:1,notifyClick:function(e){const o=l.makeEmailPacket(i.ownerEmailAddress,i.folder,i.uid,void 0,{markRead:!0}),n=l.getPopoutUrl(o);var s=window.open(n,"emailID"+i.uid,"resizable=1, "+c.dimensions.email);window.blur(),s.focus(),t((function(){s.focus()}))}};w(e,o)}(p.messageNotificationInfo.message);else if(p.messageNotificationInfo.count>1){var i={body:m.reactPluralizeWithCommas("NOTIFICATIONS_NEW_MESSAGES_BODY_X",{count:p.messageNotificationInfo.count}),icon:(stSiteRoot||"/")+"interface/img/notifications/email.png",tag:"email",timeout:5e3,notifyClick:function(i){window.focus(),s.go("index.email")}};w(a("translate")("EMAIL"),i)}p.messageNotificationInfo.popupTimeout=null,p.messageNotificationInfo.count=0,p.messageNotificationInfo.lastSent=new Date,p.messageNotificationInfo.message=null}}i.$inject=["$q","$mdDialog","$log","$sanitize","$timeout","$state","$filter","$translate","coreDataSettings","popupService","emailNavigation","i18n"],angular.module("smartermail").service("browserNotifications",i)}();
86!function(){"use strict";angular.module("smartertools").directive("categoryColorPicker",["coreDataCategories",function(e,o){return{require:"ngModel",replace:!0,restrict:"E",link:function(t,l,r,i){t.colorPanel=o,t.selectedColor=e.getCategoryColor(-1),t.$watch((()=>i.$viewValue),(o=>{t.selectedColor=e.getCategoryColor(o)})),t.selectedColor=e.getCategoryColor(i.$viewValue),t.availableColors=e.categoryColors,t.openMenu=function(e,o){e.open(o)},t.clickColorTile=function(e,o){i.$setViewValue(e.value)}},template:'<md-menu md-position-mode="target-left bottom" aria-label="select color"><div layout layout-align="end" style="cursor: pointer; width: 40px" ng-click="openMenu($mdMenu, $event)"><div class=\'category-tag\'><st-category-flag flag-color="selectedColor.rgb"></st-category-flag></div><div class="st-select-icon">&#x25BC;</div></div><md-menu-content  class="st-color-picker" width="4" style="min-height: 312px; overflow:hidden;"><md-menu-item><md-grid-list md-cols="5" md-row-height="1:1" md-gutter="1px"><md-grid-tile ng-repeat="color in availableColors" ng-style="{\'background\': color.rgb }" md-colspan="{{color.value < 0 ? 5 : 1}}" ng-click="clickColorTile(color, $event)" ng-row><md-grid-tile-footer class="md-body-2" ng-if="color.value < 0" layout-align="center center">{{color.name | translate}}</md-grid-tile-footer> </md-grid-tile></md-grid-list></md-content></md-menu-item></md-menu-content></md-menu>'}}])}();
87!function(){"use strict";angular.module("smartertools").directive("categoryColorPreview",["coreDataCategories",function(t,e){return{scope:{categoryColorPreview:"@"},replace:!0,restrict:"A",link:function(e,o,r,a){e.$watch("categoryColorPreview",(function(o){var r=parseInt(o);e.color=t.getCategoryColor(r).rgb}))},template:'\n\t\t\t\t<div style="display: contents">\n\t\t\t\t\t<div class=\'category-tag\'><st-category-flag flag-color="color"></st-category-flag></div>\n\t\t\t\t</div>\n\t\t\t'}}])}();
88!function(){"use strict";angular.module("smartertools").directive("categoryFilterMenuItems",["preferencesStorage","apiCategories","$rootScope","$mdDialog","$translate",function(e,t,o,a,i){return{replace:!0,restrict:"E",scope:{stSection:"@",onCategoryFilterChanged:"&",showManageCategories:"<",onManageCategories:"&",showEmptyPlaceholder:"<",dividerBefore:"<"},link:function(o,a,i,n){async function r(){await t.init(),l(),o.$on("categoriesUpdated",d),o.$on("doClearCategoryFilters",o.clearCategoryFilters)}function l(){o.categoryFilter=t.getCategoryFilter(o.stSection),o.categoriesLoaded=void 0!==o.categoryFilter.categoryData&&o.categoryFilter.categoryData.length>0,o.allSelected=o.categoryFilter.allSelected(),o.categoryFilter=t.getCategoryFilter(o.stSection)}o.categoriesLoaded=!1,o.allSelected=!0,o.onFilterToggled=s,o.clearCategoryFilters=g,o.doManageCategories=y,r();const c=_.debounce(l,200);function d(){c()}function s(e,t){o.allSelected?o.categoryFilter.categoryData.forEach(((t,o)=>t.selected=e===o)):o.categoryFilter.categoryData[e].selected=!o.categoryFilter.categoryData[e].selected,o.categoryFilter.categoryData.some((e=>e.selected))?m():o.clearCategoryFilters()}function g(e){o.categoryFilter.allSelected()||(o.categoryFilter.categoryData.forEach((e=>e.selected=!0)),m())}function y(e){"function"==typeof o.onManageCategories&&o.onManageCategories(e)}function m(){o.allSelected=o.categoryFilter.allSelected(),e.setSessionSortingFilteringParam(o.stSection,"categoryFilters",o.allSelected?void 0:o.categoryFilter.categoryData),"function"==typeof o.onCategoryFilterChanged&&o.onCategoryFilterChanged({categoryFilter:o.categoryFilter.categoryData})}},template:'\n                <div>\n                <md-divider ng-if="dividerBefore && categoriesLoaded"></md-divider>\n                <md-menu-item ng-if="showEmptyPlaceholder && !categoriesLoaded">\n                    <md-button md-prevent-menu-close disabled>\n                        <i class="toolsicon toolsicon-check" ng-style="{\'visibility\': \'hidden\'}"></i>
88 \n                        <span class="wordwrap">{{::"NO_FILTERS_AVAILABLE"| translate}}</span>\n                    </md-button>\n                </md-menu-item>\n                <md-menu-item ng-if="categoriesLoaded">\n                    <md-button md-prevent-menu-close ng-click="clearCategoryFilters(e)">\n                        <i class="toolsicon toolsicon-check" ng-style="{\'visibility\': allSelected ? \'\' : \'hidden\'}"></i> \n                        <span class="wordwrap">{{::"ALL_CATEGORIES_FILTER"| translate}}</span>\n                    </md-button>\n                </md-menu-item>\n                <md-menu-item ng-if="categoriesLoaded" ng-repeat="cat in categoryFilter.categoryData">\n                    <md-button md-prevent-menu-close ng-click="onFilterToggled($index)" class="category-filter-menu-item">\n                        <i class="toolsicon toolsicon-check" ng-style="{\'visibility\': !allSelected && cat.selected ? \'\' : \'hidden\'}"></i> \n                        <span style="overflow: hidden; text-overflow: ellipsis">{{ cat.translatedName }}</span>\n                        <div ng-if="!cat.noCategory" category-color-preview="{{cat.colorIndex}}"></div>\n                    </md-button>\n                </md-menu-item>\n                <md-divider ng-if="categoriesLoaded && showManageCategories"></md-divider>\n                <md-menu-item ng-if="categoriesLoaded && showManageCategories">\n                    <md-button ng-click="doManageCategories($event)" class="category-filter-menu-item">\n                        <i class="toolsicon toolsicon-check" style="visibility:hidden"></i> \n                        <span style="overflow: hidden; text-overflow: ellipsis">{{::\'MANAGE_CATEGORIES\' | translate }}</span>\n                    </md-button>\n               </md-menu-item>\n               </div>'}}])}();
89!function(){"use strict";function e(e,r,n,t,a,s,i,o,u,l,d){var c,m,f,g,S,h=[],p=[],y=[],v=!1,T=!1,b=!1,w=!1,k=moment().subtract(1,"months").date(1).subtract(7,"days"),E=moment().add(2,"months").date(1).add(7,"days"),C=[],P=[],I=[],D={},R={},O={},V={data:[],map:[],selectedBranchData:{}},F={data:[],map:[],selectedBranchData:{}};e.$on("signalR.mailHub.client.sharesChanged",(function(e,r){if(r&&r.shareType&&"calendar"!==r.shareType)return;B.reloadOnEnterCalendar=!0,B.resetSources()}));var B=this;function j(){return w?n.when():(m||(m=n.defer(),r.get("~/api/v1/calendars/sources").then(_,M).then((function(){P=[],I=[],o.settingsData.resources.then((function(e){for(var r=0;r<e.length;r++)3===e[r].shareType?P[e[r].resourceName]=e[r].permissions>0:4===e[r].shareType&&(I[e[r].resourceName]=e[r].permissions>0);m.resolve(),m=null}),(function(e){m.resolve(),m=null})),w=!0,T=!1}),(function(e){w=!1,T=!1,m.reject(e),m=null}))),m.promise)}function _(e){p=e.data.calendars,C=e.data.tasks||[],y=e.data.resources;for(let e=0;e<C.length;++e)(C[e].name.toUpperCase().endsWith("MY TASKS")||C[e].name.endsWith("MY_TASKS"))&&(C[e].name=C[e].owner+" - "+t("translate")("MY_TASKS"));function r(e,r){return null==e?-1:null==r||e.isSharedItem&&!r.isSharedItem?1:r.isSharedItem&&!e.isSharedItem?-1:e.isSharedItem||!e.isPrimary||r.isPrimary?r.isSharedItem||!r.isPrimary||e.isPrimary?e.isDomainResource&&!r.isDomainResource?1:r.isDomainResource&&!e.isDomainResource?-1:(n=e.name,t=null==(t=r.name)?"":t,(n=null==n?"":n).localeCompare(t,void 0,{sensitivity:"base"})):1:-1;var n,t}s.cleanSourceVisibilities("calendars",p.concat(C.concat(y))),angular.forEach(p,(function(e){e.isVisible=s.getSourceVisibility("calendars",e),e.name=e.name.replace("~CAL_SHARE|","");const r=e.name.split("|");r.length>1&&(r.pop(),e.name=r.join("|"))})),angular.forEach(C,(function(e){e.isVisible=s.getSourceVisibility("calendartask",e)})),angular.forEach(y,(function(e){e.isVisible=s.getSourceVisibility("resource",e,!1),e.name=e.name.replace("~CAL_SHARE|","");const r=e.name.split("|");r.length>1&&(r.pop(),e.name=r.join("|"))})),p.sort(r),C.sort(d.defaultTaskSourceComparer),y.sort(r)}function M(e){return e}function W(e){var t=e.owner+"|"+e.id;if(D.hasOwnProperty(t))return D[t].promise;D[t]=n.defer();var s=e.id;E.add(1,"day");var i=JSON.stringify({startDate:moment.utc(k.toJSON()),endDate:moment.utc(E.toJSON())});return r.post("~/api/v1/calendars/events/"+e.owner+"/"+s,i).then((function(r){var n=J(e,r.data.events);h.push(n),D[t].resolve(r)}),(function(r){l.report(a.instant("SHARED_RESOURCES_INVALID_PERMISSIONS",{friendlyName:e.n
89ame})),D[t].resolve(r)})).finally((function(){delete D[t]})),D[t].promise}function N(e){var t=e.owner+"|"+e.id;if(R.hasOwnProperty(t))return R[t].promise;R[t]=n.defer();var a=e.isPrimary&&!e.isSharedItem?"":e.id;return r.get("~/api/v1/calendars/tasks/"+e.owner+"/"+a).then((function(r){var n=J(e,r.data.events);h.push(n),R[t].resolve(r)}),(function(e){R[t].reject(e)})).finally((function(){delete R[t]})),R[t].promise}function A(e){if(!e.isMapped)return n.resolve(!0);var t=e.owner+"|"+e.id;if(O.hasOwnProperty(t))return O[t].promise;O[t]=n.defer();var a=e.id,s=JSON.stringify({startDate:moment.utc(k.toJSON()),endDate:moment.utc(E.toJSON())});return r.post("~/api/v1/calendars/resource/"+a,s).then((function(r){var n=J(e,r.data.events);h.push(n),O[t].resolve(r)}),(function(e){O[t].reject(e)})).finally((function(){delete O[t]})),O[t].promise}function x(e){e&&angular.forEach(p,(function(e,r){e.isPrimary=!1}))}function H(e,r,n,t){if(null==e||null==e)return n;null!=r&&null!==r||(r="#282828"),null!=n&&null!==n||(n="#ffffff"),null!=t&&null!==t||(t=.43);var a=parseInt("0x"+e.substring(1));return.2126*(a>>16&255)+.7152*(a>>8&255)+.0722*(255&a)<255*t?n:r}function J(e,r){return{uid:e.id,owner:e.owner,permission:e.permission,color:e.color,textColor:H(e.color),isPrimary:e.isPrimary,isTask:e.isTask,isCalendar:e.isCalendar,isDomainResource:e.isDomainResource}}function K(e,r){var n=e.isSharedItem?t("folderTranslate")(e.name,e.owner):t("folderTranslate")(e.name),a={label:n,data:{folderId:e.folderId,id:n,isShared:e.owner!==i.user.username||e.isBeingShared||e.isDomainResource,isSharedByOther:e.owner!==i.user.username||e.isDomainResource,isDomainResource:e.isDomainResource,showEye:!0,isVisible:e.isVisible,source:e,color:e.color,isBeingShared:e.isBeingShared,isPrimary:e.isPrimary}};return r[a.data.folderId]=a,a}B.editingEvent=void 0,B.userTimeZone=void 0,B.listDataCache={},B.ignoreCalendarEventModified={requested:moment(),ignored:moment()},B.ignoreCalendarEventRemoved={requested:moment(),ignored:moment()},B.parameters={get sortField(){var e=s.getSessionSortingFilteringParam("calendars","sortField");return void 0===e&&(e="start",s.setSessionSortingFilteringParam("calendars","sortField",e)),e},set sortField(e){s.setSessionSortingFilteringParam("calendars","sortField",e)},get currentView(){return s.getSortingFilteringParam("calendars","currentView")},set currentView(e){s.setSortingFilteringParam("calendars","currentView",e)},get categoryFilters(){const e=u.getCategoryFilter("calendars");return e?e.categoryData:[]},get hasCategoryFilter(){const e=u.getCategoryFilter("calendars");return!e||!e.allSelected()},get filterType(){return s.getSessionSortingFilteringParam("calendars","filterType")},set filterType(e){s.setSessionSortingFilteringParam("calendars","filterType",e)},get hasFilter(){return hasCategoryFilter()||filterType()}},B.parameters.searchText="",B.parameters.useWeekends=function(){return o.userSettings.calendarSettings.showWeekendsWeekly},B.parameters.visibleHours=function(){return function(){var e=[];o.userSettings.calendarSettings.sunday&&o.userSettings.calendarSettings.sunday.enabled&&o.userSettings.calendarSettings.sunday.start!==o.userSettings.calendarSettings.sunday.end&&e.push({daysOfWeek:[0],startTime:o.userSettings.calendarSettings.sunday.start.substring(0,5),endTime:o.userSettings.calendarSettings.sunday.end.substring(0,5)});if(o.userSettings.calendarSettings.monday&&o.userSettings.calendarSettings.monday.enabled&&o.userSettings.calendarSettings.monday.start!==o.userSettings.calendarSettings.monday.end){var r=o.userSettings.calendarSettings.monday.start.substring(0,5),n=o.userSettings.calendarSettings.monday.end.substring(0,5);e.push({daysOfWeek:[1],startTime:r,endTime:n})}o.userSettings.calendarSettings.tuesday&&o.userSettings.calendarSettings.tuesday.enabled&&o.userSettings.calendarSettings.tuesday.start!==o.userSettings.calendarSettings.tuesday.end&&e.push({daysOfWeek:[2],startTime:o.userSettings.calendarSettings.tuesday.start.substring(0,5),endTime:o.userSettings.calendarSettings.tuesday.end.substring(0,5)});o.userSettings.calendarSettings.wednesday&&o.userSettings.calendarSettings.wednesday.enabled&&o.userSettings.calendarSettings.wednesday.start!==o.userSettings.calendarSettings.wednesday.end&&e.push({daysOfWeek:[3],startTime:o.userSettings.calendarSettings.wednesday.start.substring(0,5),endTime:o.userSettings.calendarSettings.wednesday.end.substring(0,5)});o.userSettings.calendarSettings.thursday&&o.userSettings.calendarSettings.thursday.enabled&&o.userSettings.calendarSettings.thursday.start!==o.userSettings.calendarSettings.thursday.end&&e.push({daysOfWeek:[4],startTime:o.userSettings.calendarSettings.thursday.start.substring(0,5),endTime:o.userSettings.calendarSettings.thursday.end.substring(0,5)});o.userSettings.calendarSettings.friday&&o.userSettings.calendarSettings.friday.enabled&&o.userSettings.calendarSettings.friday.start!==o.userSettings.calendarSettings.friday.end&&e.push({daysOfWeek:[5],startTime:o.userSettings.calendarSettings.friday.start.substring(0,5),endTime:o.userSettings.calendarSettings.friday.end.substring(0,5)});o.userSettings.calendarSettings.saturday&&o.userSettings.calendarSettings.saturday.enabled&&o.userSettings.calendarSettings.saturday.start!==o.userSettings.calendarSettings.saturday.end&&e.push({daysOfWeek:[6],startTime:o.userSettings.calendarSettings.saturday.start.substring(0,5),endTime:o.userSettings.calendarSettings.saturday.end.substring(0,5)});return e}()},B.addCalendarSource=function(e){var r=n.defer();x(e),p.push(e);var t=[];return t.push(W(e)),n.all(t).then((function(){r.resolve()}),(function(e){r.reject(e)})),r.promise},B.addEvents=function(e){var r={};angular.forEach(e,(function(e){e.title=t("translate")(e.title),e.start=moment(e.start),e.end=moment(e.end),r[e.owner]||(r[e.owner]=[]),r[e.owner].push(e)})),angular.forEach(r,(function(e){var r=$.grep(h,(function(r){return r.owner===e[0].owner&&(r.uid===e[0].calId||!(!e[0].isTask&&r.isTask)&&((!e[0].isTask||!r.isCalendar)&&(!0===r.isPrimary&&"Calendar_"===e[0].calId||(!0===r.isPrimary&&"Task_"===e[0].calId||!0===r.isPrimary&&""===e[0].calId))))}
89));if(r.length>0){var n=$.grep(e,(function(e){return k>=e.start&&e.end>=k||e.start>=k&&e.start<=E}));r[0].events=r[0].events.concat(n)}r.length>0&&r[0].events.push(e[0])}))},B.startCalendarImport=function(e,n,t){return r.post("~/api/v1/calendars/calendar-start-import/"+(n||"~")+"/"+t,{importKey:e})},B.addResourceSource=function(e){},B.addTaskSource=function(e){},B.categories=function(){return u.getMasterCategories()},B.filterByCategoryCallback=function(e){var r=e.events;const n=[];if(!r)return n;const t=B.parameters.categoryFilters,a=t.some((e=>e.noCategory&&e.selected)),s=function(e){return{permission:e.permission,color:e.color,currentUser:i.user.username,isPrimary:e.isPrimary,source:{uid:e.uid,owner:e.owner}}}(e);return r.forEach((e=>{var r;B.parameters.hasCategoryFilter&&!((r=e.categories)&&r.some((e=>e.selected))?r.some((e=>e.selected&&t.some((r=>r.selected&&r.name===e.name)))):a)||n.push($.extend({},e,s))})),n},B.getCalendars=function(){return p},B.getEvents=function(e){return $.extend(!0,[],h)},B.getIsInitialized=function(){return b},B.getResources=function(){return y},B.getSourcesTree=function(){return V},B.getTasks=function(){return C},B.getTasksTree=function(){return F},B.init=function(){if(c)return c.promise;if(b)return n.when();var e=(c=n.defer()).promise;function r(){Object.defineProperty(B,"calendarSettings",{value:o.userSettings.calendarSettings,writable:!1}),b=!0,c.resolve(),c=null}function t(e){l.report(e),b=!1,c.reject(e),c=null}return o.init().then((function(){var e;(e=n.defer(),o.settingsData.availiableTimeZones.then((function(r){B.userTimeZone=$.grep(r,(function(e){return e.index===o.userSettings.timeZoneIndex}))[0],e.resolve()}),(function(r){e.reject()})),e.promise).then(r,t)}),t),e},B.loadCalendarEvents=function(r,t){var a=null;r&&(a=null!=(a=r.split("@"))[0]?a[0]:"");var s=$.grep(p,(function(e){return e.owner===a&&("default"===t||"Calendar_"===t?e.isPrimary:t===e.id)}));if(s.length>0&&s[0].isVisible){h=$.grep(h,(function(e){return!!e.isDomainResource||e.owner===a&&(e.uid===t||(!("default"!==t&&"Calendar_"!==t||!e.isPrimary||e.uid!==s[0].id)||(!(!e.isPrimary||"Calendar_"!==e.uid)||void 0)))}),!0),(i=[]).push(W(s[0])),v||(v=!0,angular.forEach(y,(function(e,r){e.isVisible&&i.push(A(e))}))),n.all(i).then((function(r){e.$broadcast("calendarRefresh"),v=!1}),(function(e){}))}else{h=$.grep(h,(function(e){if(e.isDomainResource)return!0}),!0);var i=[];v||(v=!0,angular.forEach(y,(function(e,r){e.isVisible&&i.push(A(e))}))),n.all(i).then((function(r){e.$broadcast("calendarRefresh"),v=!1}),(function(e){}))}},B.loadCalendarTasks=function(r,t){var a=r.split("@");if(""===(a=null!=a[0]?a[0]:""))return;var s=$.grep(C,(function(e){return e.owner===a}));if(s.length>0&&s[0].isVisible){h=$.grep(h,(function(e){return!!e.isTask&&(e.owner===a||void 0)}),!0);var i=[];i.push(N(s[0])),n.all(i).then((function(r){e.$broadcast("calendarRefresh"),v=!1}),(function(e){}))}},B.loadEvents=function(){if(r)return r.promise;if(T)return n.when();var r=n.defer();h.length=0;var t=[];return angular.forEach(p,(function(e,r){e.isVisible&&t.push(W(e))})),angular.forEach(C,(function(e,r){e.isVisible&&t.push(N(e))})),angular.forEach(y,(function(e,r){e.isVisible&&e.isMapped&&t.push(A(e))})),e.spinner.show(),n.all(t).then((function(e){T=!0,r.resolve()}),(function(e){T=!1,r.reject(e)})).finally(e.spinner.hide),r.promise.finally((function(){r=null})),r.promise},B.loadSources=j,B.loadSourcesTree=function(e,r){if(g)return g.promise;g=n.defer(),null==e&&f&&(e=f);if(r||0===V.data.length)t=g,j().then((function(){let e=[],r=[];$.each(p,(function(n,t){t.owner==i.user.username&&(t.isBeingShared=P[t.id]||!1);var a=K(t,r);e.push(a)})),$.each(y,(function(n,t){t.isMapped&&e.push(K(t,r))})),V.data=e,V.map=r,t.resolve()})),e&&(f=e);else{null!=V.map[V.selectedBranchData.key]&&(e&&(f=e),g.resolve(!1)),g.resolve(!0)}var t;return g.promise.finally((function(){g=null})),g.promise},B.loadTasksTree=function(e,r){if(S)return S.promise;S=n.defer(),null!=e&&null!=e||!f||(e=f);if(r||0===F.data.length)a=S,j().then((function(){let e=[],r=[];$.each(C,(function(n,a){a.owner===i.user.username&&(a.isBeingShared=I[a.id]||!1),e.push(function(e,r){const n=e.isSharedItem?t("folderTranslate")(e.name,e.owner):t("folderTranslate")(e.name);var a={label:n,data:{folderId:e.folderId,id:e.name,isShared:e.owner!==i.user.username||e.
89isBeingShared,isDomainResource:e.isDomainResource,isSharedByOther:e.owner!==i.user.username||e.isDomainResource,showEye:!0,isVisible:e.isVisible,source:e,color:e.color,isBeingShared:e.isBeingShared,isPrimary:e.isPrimary}};return r[a.data.key]=a,a}(a,r))})),F.data=e,F.map=r,a.resolve()})),e&&(f=e);else{null!=F.map[F.selectedBranchData.key]&&(e&&(f=e),S.resolve(!1)),S.resolve(!0)}var a;return S.promise.finally((function(){S=null})),S.promise},B.modifyCalendarSource=function(e){for(var r=n.defer(),t=!1,a=0;a<p.length;++a)if(p[a].id===e.id){t=!0,x(e.isPrimary),p[a].name=e.name,p[a].color=e.color,p[a].isPrimary=e.isPrimary,r.resolve();break}t||r.reject();return r.promise},B.modifyEvents=function(e){var r=[];return angular.forEach(e,(function(e,n){var t=$.grep(r,(function(r){return r.id===e.id}));t.length>0?t[0].events.push(e):r.push({id:e.id,calId:e.calId,events:[e],owner:e.owner,resourceId:e.resourceId,isTask:null!=e.isTask&&e.isTask})})),angular.forEach(r,(function(e,r){var n=$.grep(h,(function(r){return r.owner===e.owner&&(r.uid===e.calId||!(!e.isTask&&r.isTask)&&((!e.isTask||!r.isCalendar)&&(!0===r.isPrimary&&"Calendar_"===e.calId||(!0===r.isPrimary&&"Task_"===e.calId||(!0===r.isPrimary&&""===e.calId||void 0)))))}));n.length>0&&angular.forEach(e.events,(function(r,a){if(r.isTask||r.calId!==e.resourceId)r.summary=t("translate")(r.summary),r.start=moment(r.start),r.end=moment(r.end),(k>=r.start&&r.end>=k||r.start>=k&&r.start<=E)&&n[0].events.push(r);else{var s=$.grep(h,(function(r){return r.uid===e.resourceId}));s.length>0&&(r.title=t("translate")(r.title),r.start=moment(r.start),r.end=moment(r.end),(k>=r.start&&r.end>=k||r.start>=k&&r.start<=E)&&s[0].events.push(r))}}))})),[]},B.removeCalendarEvents=function(r){var n=[];angular.forEach(r,(function(e){var r=null;e.ownerEmail&&(r=e.ownerEmail.split("@")),r&&r.length>0?n.push({id:e.eventId,owner:r[0]}):n.push({id:e.eventId,owner:e.ownerEmail})})),B.removeEvents(n),e.$broadcast("calendarRefresh")},B.removeCalendarSource=function(e){for(var r=n.defer(),t=-1,a=0;a<p.length;++a)if(p[a].id===e){t=a;break}if(-1!=t){if(x(p[t]),p[t].isPrimary){var s=-1;for(a=0;a<p.length;++a)if(p[a].isPrimary){s=a;break}-1!=s&&(p[s].isPrimary=!0)}p.splice(t,1),r.resolve()}else r.reject();return r.promise},B.removeCalendarTasks=function(r,n){var t=[],a=r.split("@");if(""===(a=null!=a[0]?a[0]:""))return;angular.forEach(n,(function(e,r){t.push({id:e,owner:a})})),B.removeEvents(t),e.$broadcast("calendarRefresh")},B.removeEvents=function(e){return[]},B.reset=function(){b=!1,w=!1,T=!1,p=[],C=[],y=[],h=[],v=!1,V={data:[],map:[],selectedBranchData:{}},F={data:[],map:[],selectedBranchData:{}},B.listDataCache={},B.editingEvent=void 0},B.resetOtherEvents=function(){T=!1},B.resetSources=function(){w=!1},B.resetTasksTree=function(){F={data:[],map:[],selectedBranchData:{}}},B.setDateRange=function(e,r){var t=n.defer();e=e||moment().subtract(1,"months").date(1).subtract(7,"days"),r=r||moment().add(2,"months").date(1).add(7,"days"),moment.isMoment(e)||(e=moment(e));moment.isMoment(r)||(r=moment(r));if(moment.isMoment(e)&&moment.isMoment(r)){if(r<e){var a=e;e=r,r=a}function s(){t.resolve()}function i(e){t.reject(e)}(e<k||r>E)&&(k=e,E=r,T=!1),T=!1,B.loadSources().then(s,i)}else t.reject();return t.promise}}e.$inject=["$rootScope","$http","$q","$filter","$translate","preferencesStorage","userDataService","coreDataSettings","apiCategories","errorHandling","apiTaskSources"],angular.module("smartermail").service("coreDataCalendar",e)}();
90!function(){"use strict";function e(e,a,r,t,n,o,g){var l=this,i=!1,s=!1;const u={local:[],sharedCategories:{}};l.data={get all(){return E(),s?u:void 0}},l.categoryOwner=void 0,i=!1,l.ignoreCategoriesModified={requested:moment(),ignored:moment()},l.categoryColors=[{value:-1,rgb:null,name:"NONE"},{value:0,rgb:"#D6252E",name:"CATEGORY_RED"},{value:1,rgb:"#F06C15",name:"CATEGORY_ORANGE"},{value:2,rgb:"#FFCA4C",name:"CATEGORY_PEACH"},{value:3,rgb:"#FFFE3D",name:"CATEGORY_YELLOW"},{value:4,rgb:"#4AB63F",name:"CATEGORY_GREEN"},{value:5,rgb:"#40BD95",name:"CATEGORY_TEAL"},{value:6,rgb:"#859A52",name:"CATEGORY_OLIVE"},{value:7,rgb:"#3267B8",name:"CATEGORY_BLUE"}
90,{value:8,rgb:"#613DB4",name:"CATEGORY_PURPLE"},{value:9,rgb:"#A34E78",name:"CATEGORY_MAROON"},{value:10,rgb:"#C4CCDD",name:"CATEGORY_STEEL"},{value:11,rgb:"#8C9CBD",name:"CATEGORY_DARKSTEEL"},{value:12,rgb:"#C4C4C4",name:"CATEGORY_GRAY"},{value:13,rgb:"#A5A5A5",name:"CATEGORY_DARKGRAY"},{value:14,rgb:"#1C1C1C",name:"CATEGORY_BLACK"},{value:15,rgb:"#AF1E25",name:"CATEGORY_DARKRED"},{value:16,rgb:"#B14F0D",name:"CATEGORY_DARKORANGE"},{value:17,rgb:"#AB7B05",name:"CATEGORY_DARKPEACH"},{value:18,rgb:"#999400",name:"CATEGORY_DARKYELLOW"},{value:19,rgb:"#35792B",name:"CATEGORY_DARKGREEN"},{value:20,rgb:"#2E7864",name:"CATEGORY_DARKTEAL"},{value:21,rgb:"#5F6C3A",name:"CATEGORY_DARKOLIVE"},{value:22,rgb:"#2A5191",name:"CATEGORY_DARKBLUE"},{value:23,rgb:"#50328F",name:"CATEGORY_DARKPURPLE"},{value:24,rgb:"#82375F",name:"CATEGORY_DARKMAROON"}],l.init=function(){if(c)return c.promise;if(i)return r.when();var e=(c=r.defer()).promise;return E().then((function(){i=!0,c.resolve(),c=null}),(function(e){i=!1,c.reject(e),c=null})),e},l.reset=C,l.setCategories=async function(e){try{var r={categories:e,defaultCategory:e.length>0?e[0].name:null};await a.post("~/api/v1/categories/user-category-settings",r),s=!1,E()}catch(e){throw C(),e}},l.getCategories=A,l.getUsersCategories=function(e){return $.extend(!0,[],e&&e!==o.getEmailAddress()?u.sharedCategories[e]:u.local)},l.getCategoryColor=m,l.addRgbColorsToCategories=function(e){if(!e)return;e.forEach((e=>{let a=R(e.name);a&&(e.rgbColor=m(a.colorIndex).rgb)}))},l.getCategoryByName=R,l.generateNameString=function(e){if(!e)return"";e.sort(((e,a)=>e&&a?e.name<a.name?-1:e.name>a.name?1:0:0));let a="";return e.forEach((e=>{""!==a&&(a+=", "),a+=e.name})),a};var c=null;function C(){i=!1,s=!1,u.local=[],u.sharedCategories={}}async function E(){s||(await a.get("~/api/v1/categories/user-category-settings").then((function(e){let a=e.data.categorySettings.categories||[];angular.forEach(e.data.categorySettings.categories||[],(function(e){e.master=!0;const a=t("translate")(e.name);e.translatedName=$("<div>").html(a).text()})),u.local=t("orderBy")(a,"translatedName")}),(function(e){return e})),await a.get("~/api/v1/categories/shares-category-settings").then((function(e){angular.forEach(e.data.sharedCategorySettings||{},(function(e,a){angular.forEach(e.categories,(function(e){const a=t("translate")(e.name);e.translatedName=$("<div>").html(a).text()})),u.sharedCategories[a]=t("orderBy")(e.categories,"translatedName")}))}),(function(e){return e})),s=!0)}function A(){return $.extend(!1,[],l.categoryOwner&&l.categoryOwner!==o.getEmailAddress()?u.sharedCategories[l.categoryOwner]:u.local)}function m(e){return e+1 in l.categoryColors?l.categoryColors[e+1]:l.categoryColors[0]}function R(e){if(!e)return null;return Object.values(A()).find((a=>a.name.toUpperCase()===e.toUpperCase()))}}e.$inject=["$rootScope","$http","$q","$filter","$log","claimsService","$state"],angular.module("smartermail").service("coreDataCategories",e)}();
91!function(){"use strict";function e(e,t,r,n,a,o,s,i,c,u,l,d){var m,f,g,p=this,h=!1,v=!1,C=!1,y=[],S=[],w=[];p.reloadOnEnter=!1,p.ignoreContactModified={requested:moment(),ignored:moment()},p.ignoreContactRemoved={requested:moment(),ignored:moment()},p.listDataCache={},p.modifyContactCallback=null,p.parameters={get sortField(){var e=u.getSessionSortingFilteringParam("contacts","sortField");return void 0===e&&(e="displayAs",u.setSessionSortingFilteringParam("contacts","sortField",e)),e},set sortField(e){u.setSessionSortingFilteringParam("contacts","sortField",e)},get isDescending(){var e=u.getSessionSortingFilteringParam("contacts","isDescending");return void 0===e&&(e=!1,u.setSessionSortingFilteringParam("contacts","isDescending",!1)),e},set isDescending(e){u.setSessionSortingFilteringParam("contacts","isDescending",e)},get categoryFilters(){const e=c.getCategoryFilter("contacts");return e?e.categoryData:void 0},get currentView(){var e=u.getSortingFilteringParam("contacts","currentView");return void 0===e&&(e="CARD_VIEW",u.setSortingFilteringParam("contacts","currentView",e)),e},set currentView(e){u.setSortingFilteringParam("contacts","currentView",e)},get hasCategoryFilter(){const e=c.getCategoryFilter("contacts");return!e||!e.allSelected()},get filterType(){return u.getSessionSortingFilteringParam("contacts","filterType")},set filterType(e){u.setSessionSortingFilteringParam("contacts","filterType",e)}},p.parameters.searchText="";var I={data:[],map:[],selectedBranchData:{}};function N(){return m?m.promise:h?r.when():((m=r.defer()).promise.finally((function(){m=void 0})),h=!0,m.resolve(),m.promise)}function O(){h=!1,v=!1,C=!1,S.length=0,w.length=0,p.listDataCache={}}function b(){var e=r.defer();return v?e.resolve():function(){return D||(D=r.defer(),t.get("~/api/v1/contacts/sources").then(e,n)),D.promise;function e(e){S=e.data.sharedLists;for(var t=0;t<S.length;++t)S[t].displayName||(S[t].displayName="MY_CONTACTS"),"MY CONTACTS"!==S[t].displayName.toUpperCase()&&"MY_CONTACTS"!==S[t].displayName||(S[t].untranslatedName="MY_CONTACTS");u.cleanSourceVisibilities("contacts",S),angular.forEach(S,(function(e){e.enabled=u.getSourceVisibility("contacts",e)})),S.sort(l.defaultContactSourceComparer),D.resolve(),D=null}function n(e){return D.reject(e),D=null,e}}().then((function(){y=[],i.resetResources(),r.all([i.settingsData.resources,i.settingsData.mappedRes
91ources]).then((function(t){for(var r=t[0],n=0;n<r.length;n++)2===r[n].shareType&&(y[r[n].resourceName]=r[n].permissions>0);e.resolve()}),(function(){e.resolve()})),v=!0,C=!1}),(function(t){v=!1,C=!1,e.reject(t)})),e.promise}p.init=N,p.reset=O,p.addContact=function(e){var n=r.defer(),a=e.sourceOwner,o=e.sourceId,s=(e.sourcePermission,JSON.stringify(e));return p.ignoreContactModified.requested=moment(),t.post("~/api/v1/contacts/contact-put/"+a+"/"+o,s).then((function(t){if(e.source.enabled)for(var r=0;r<t.data.contacts.length;++r)$.extend(t.data.contacts[r],t.data.contacts[r],{sourceOwner:a,sourceId:e.source.itemID,sourceName:e.source.displayName,sourcePermission:e.source.access,isVisible:e.source.enabled}),w.push(t.data.contacts[r]);n.resolve(t)}),(function(e){n.reject(e)})),n.promise},p.addContacts=function(e,n,a){for(var o=1e3,s=r.defer(),i=[],c=0;c<Math.ceil(e.length/o);++c){var u=e.slice(c*o,(c+1)*o),l=JSON.stringify({skipSignalR:a||!1,contacts:u});i.push((d=l,t.post("~/api/v1/contacts/contacts-put/"+n.ownerUsername+"/"+n.folderId,d)))}var d;return r.all(i).then((function(e){var t=0;if(n.enabled)for(var r=0;r<e.length;++r)for(var a=0;a<e[r].data.contacts.length;++a){var o=e[r].data.contacts[a],i=$.extend({},o,{sourceOwner:n.ownerUsername,sourceId:n.itemID,sourceName:n.displayName,sourcePermission:n.access,isVisible:n.enabled});w.push(i),t++}s.resolve(t)}),(function(e){s.reject(e)})),s.promise},p.startContactsImport=function(e,r,n,a){const o=JSON.stringify({skipSignalR:n||!1,contacts:e,mergeMode:a||0}),s=r.ownerUsername||"null";return t.post("~/api/v1/contacts/contacts-start-import/"+encodeURIComponent(s)+"/"+encodeURIComponent(r.folderId),o)},p.deleteContacts=function(t,r){var n=t.split("@");if(""===(n=null!=n[0]?n[0]:""))return;for(var a=[],o=0;o<w.length;++o)w[o].sourceOwner===n&&-1===r.indexOf(w[o].id)&&a.push(w[o]);w=a,e.$broadcast("contactsRefresh")},p.editContact=function(e){var n=r.defer(),a=JSON.stringify({contact:e});return p.ignoreContactModified.requested=moment(),t.post("~/api/v1/contacts/contact/"+e.sourceOwner+"/"+e.sourceId,a).then((function(){var t=$.grep(w,(function(t){return t.id===e.id&&t.sourceOwner===e.sourceOwner&&t.sourceId===e.sourceId}));if(t.length>0){var r=w.indexOf(t[0]);w[r]=e}p.modifyContactCallback&&p.modifyContactCallback(),n.resolve()}),(function(e){n.reject(e)})),n.promise},p.editContacts=function(e,n){var a=r.defer(),o=JSON.stringify({contacts:e});return t.post("~/api/v1/contacts/contacts-put/"+n.ownerUsername+"/"+n.folderId,o).then((function(){n.enabled&&angular.forEach(e,(function(e){var t=p.getContactById(e.id,n.ownerUsername);t&&(t=e)})),a.resolve()}),(function(e){a.reject(e)})),a.promise},p.ensureSourcesLoadedPromise=function(){return b()},p.ensureContactsLoadedPromise=function(){return U()},p.getContactById=function(e,t){t=(t=t||s.user.username).split("@")[0];var r=$.grep(w,(function(t){if(t)return t.id===e}));return r.length>0?r[0]:null},p.getContactByEmail=function(e){e=e.toLowerCase();var t=$.grep(w,(function(t){return $.grep(t.emailAddressList||[],(function(t){return!!t&&t.toLowerCase().indexOf(e)>-1})).length>0}));return t.length>0?t[0]:void 0},p.getContacts=function(){return w},p.getFilteredContacts=function(){var e=p.parameters.hasCategoryFilter?$.grep(w,(function(e){return function(e){const t=p.parameters.categoryFilters;return e.categories&&e.categories.some((e=>e.selected))?e.categories.some((e=>e.selected&&t.some((t=>t.selected&&t.name===e.name)))):t.some((e=>e.noCategory&&e.selected))}(e)})):w;return e=function(e){return void 0===p.parameters.filterType?e:$.grep(e,(function(e){return function(e){const t=p.parameters.filterType;return void 0===t||0===t.length||!(!e.hasAttachments||1!==t)}(e)}))}(e),e=n("filter")(e,k),e=n("orderBy")(e,p.parameters.sortField,p.parameters.isDescending)},p.getSources=function(){return S},p.listDataProvider=function(e){for(var t=[],r=0,n=p.getFilteredContacts(),a=e.start;a<e.start+e.take&&null!=n[a];a++)t[r++]=n[a];return e.defer.resolve(t),e.defer.promise},p.modifyGalContact=function(){var t=$.grep(S,(function(e){return"gal"===e.itemID}));if(t.length>0&&t[0].enabled){w=$.grep(w,(function(e){if(e)return e.sourceId===t[0].itemID}),!0);var n=[];
91n.push(P(t[0])),r.all(n).then((function(){p.modifyContactCallback&&p.modifyContactCallback(),e.$broadcast("contactsRefresh")}),(function(){}))}},p.modifyContact=function(t,n){var a=t.split("@");if(""===(a=null!=a[0]?a[0]:""))return;var o=$.grep(S,(function(e){return e.ownerUsername===a}));if(o.length>0&&o[0].enabled){w=$.grep(w,(function(e){return e&&e.sourceName===o[0].displayName}),!0);var s=[];s.push(P(o[0])),r.all(s).then((function(){p.modifyContactCallback&&p.modifyContactCallback(),e.$broadcast("contactsRefresh")}),(function(){}))}},p.removeContacts=function(a){var o=r.defer();if(angular.isArray(a)){for(var s=[],i=0,c=0;c<w.length;++c)if(a.indexOf(w[c].id)>-1){var u=w[c];"gal"===u.sourceId?i++:s.push({sourceOwner:u.sourceOwner,sourceId:u.sourceId,id:u.id})}if(0===s.length)0===i?o.reject(n("translate")("ERROR_NO_CARDS")):o.reject(n("translate")("ERROR_CANNOT_DELETE_GAL"));else{p.ignoreContactRemoved.requested=moment();var l=JSON.stringify(s);t.post("~/api/v1/contacts/delete-bulk",l).then((function(){var t,r=[];for(t=0;t<s.length;++t){var n=s[t];"gal"!==n.sourceId&&(r[n.sourceId]||(r[n.sourceId]=[]),r[n.sourceId][n.sourceOwner]||(r[n.sourceId][n.sourceOwner]=[]),-1===r[n.sourceId][n.sourceOwner].indexOf(n.id)&&r[n.sourceId][n.sourceOwner].push(n.id))}for(t=w.length-1;t>=0;--t)r[w[t].sourceId]&&r[w[t].sourceId][w[t].sourceOwner]&&r[w[t].sourceId][w[t].sourceOwner].indexOf(w[t].id)>-1&&w.splice(t,1);e.$broadcast("contactsRefresh"),o.resolve()}),(function(e){o.reject(e)}))}}else o.reject(n("translate")("ERROR"));return o.promise},p.removeSingleContact=function(n,a,o){var s=r.defer(),i=[];"gal"!==a&&i.push({sourceOwner:o,sourceId:a,id:n});p.ignoreContactRemoved.requested=moment();var c=JSON.stringify(i);return t.post("~/api/v1/contacts/delete-bulk",c).then((function(){angular.forEach(i,(function(e){w=$.grep(w,(function(t){return t.id===e.id&&t.sourceId===e.sourceId&&t.sourceOwner===e.sourceOwner}),!0)})),e.$broadcast("contactsRefresh"),s.resolve()}),(function(e){s.reject(e)})),s.promise},p.updateSourceVisibility=async function(e,t){null!=t&&(e.enabled=t);if(u.setSourceVisibility("contacts",e),e.enabled)return void await P(e);var r=e.ownerUsername;w=$.grep(w,(function(t){if(t.sourceId===e.itemID)return null===t.sourceOwner&&!r||(!t.sourceOwner&&null===r||("gal"===t.sourceId&&"gal"===e.itemID&&0===e.sharedResourceType||t.sourceOwner===r))}),!0)},p.uploadNewAvatar=function(){var e=r.defer();try{e.resolve()}catch(t){e.reject(t)}return e.promise},p.reloadContacts=function(){return O(),N()},p.categories=function(){return c.getMasterCategories()},p.resetSources=function(){v=!1,l.invalidateSources()},p.onlyReloadContacts=function(){return C=!1,U()},p.loadSourcesTree=function(e,t){if(g)return g.promise;g=r.defer(),null==e&&f&&(e=f);if(t||0===I.data.length)a=g,b().then((function(){let e=[],t=[];$.each(S,(function(r,a){a.ownerUsername==s.user.username&&(a.isBeingShared=y[a.itemID]||!1),e.push(function(e,t){let r=e.displayName;"gal"===e.itemID&&(e.untranslatedName="GLOBAL_ADDRESS_LIST"),r=e.untranslatedName?n("translate")(e.untranslatedName):e.isSharedItem?n("folderTranslate")(r,e.ownerUsername):n("folderTranslate")(r);var a={label:r,data:{folderId:e.folderId,id:e.displayName,isShared:e.ownerUsername!==s.user.username||e.isBeingShared,isSharedByOther:e.ownerUsername!==s.user.username||e.isDomainResource,isDomainResource:e.isDomainResource,showEye:!0,isVisible:e.enabled,source:e,isBeingShared:e.isBeingShared,untranslatedName:e.untranslatedName,isGal:"gal"===e.itemID,isPrimary:e.isPrimary}};return t[a.data.key]=a,a}(a,t))})),I.data=e,I.map=t,a.resolve()})),e&&(f=e);else{null!=I.map[I.selectedBranchData.key]&&(e&&(f=e),g.resolve(!1)),g.resolve(!0)}var a;return g.promise.finally((function(){g=null})),g.promise},p.getSourcesTree=function(){return I},p.getContact=function(e,n,a){var o=r.defer();return r.all([t.get("~/api/v1/contacts/get/"+e+"/"+n+"/"+a),l.getSources()]).then((function(t){t[0].data.contact.shareOwner="null"===e?null:e,t[0].data.contact.shareId=n,t[0].data.contact.image=stSiteRoot+t[0].data.contact.image;for(var r={},a=t[1],s=t[0].data.contact,i=0;i<a.length;i++){var c=a[i];if("gal"===c.itemID&&c.itemID===s.sourceId){$.extend(r,s,{sourceId:c.itemID,sourceName:c.displayName,sourcePermission:c.access,isVisible:c.enabled});break}if(c.itemID===s.sourceId&&(c.ownerUsername&&s.shareOwner?c.ownerUsername.toUpperCase()===s.shareOwner.toUpperCase():c.ownerUsername===s.shareOwner)){$.extend(r,s,{sourceOwner:c.ownerUsername,sourceId:c.itemID,sourceName:c.displayName,sourcePermission:c.access,isVisible:c.enabled});break}}t[0].data.attachedFiles&&$.extend(r,{attachedFiles:t[0].data.attachedFiles});r.onOtherSplitNode=t[0].data.onOtherSplitNode,o.resolve(r)}),o.reject),o.promise},p.areContactsLoaded=function(){return C},p.getAllContacts=async function(){if(await b(),R)return R.promise;R=r.defer();var e={sources:$.map(S,(function(e){return{owner:e.ownerUsername,id:e.itemID,sourceName:e.displayName}}
91)),searchParams:{categories:null,showNonCategorized:!0,skip:0,take:0,search:null,sortDescending:!1}};return t.post("~/api/v1/contacts/contacts-all",JSON.stringify(e)).then((function(e){R.resolve(e.data)}),(function(e){R.reject(e)})).finally((function(){R=null})),R.promise},e.$on("signalR.mailHub.client.sharesChanged",(function(e,t){if(t&&t.shareType&&"contacts"!==t.shareType)return;p.resetSources()}));var D=null;var R=null;var T=null;function U(){if(T)return T.promise;var e=r.defer();return T=e,e.promise.finally((function(){T=null})),b().then((function(){if(C)return e.resolve(),e.promise;var t=[],n=[];return angular.forEach(S,(function(e){e.enabled&&n.push(P(e,t))})),r.all(n).then((function(){w=t,C=!0,e.resolve()}),(function(t){C=!1,e.reject(t)}))})),e.promise}var F={};function P(e,n){if(!n&&F.hasOwnProperty(e.itemID))return F[e.itemID].promise;var a=r.defer();function o(t){n?t.forEach((function(e){n.push(e)})):w=w.concat(t),C=!0,a.resolve(),n||delete F[e.itemID]}function u(t){a.reject(t),n||delete F[e.itemID]}return n||(F[e.itemID]=a),""===e.ownerUsername?t.get("~/api/v1/contacts/domain/").then((function(t){var r=[];angular.forEach(t.data.contacts,(function(t){t.image=stSiteRoot+t.image;var n={};$.extend(n,t,{sourceOwner:t.sourceOwner||s.user.domain,sourceId:e.itemID,sourceName:e.displayName,sourcePermission:e.access,isVisible:e.enabled}),n.id||(n.id=i.generateNewShortGuid()),n.categoriesString=c.generateNameString(n.categories),r.push(n)})),o(r)}),u):t.get("~/api/v1/contacts/address-book/"+e.ownerUsername+"/"+e.itemID+"/?includeImages=true").then((function(t){var r=[],n=e.ownerUsername?c.getClonedMasterCategories(e.ownerUsername):null;angular.forEach(t.data.contacts,(function(t){var a={};t.image=stSiteRoot+t.image,$.extend(a,t,{sourceOwner:e.ownerUsername,sourceId:e.itemID,sourceName:e.displayName,sourcePermission:e.access,isVisible:e.enabled}),a.id||(a.id=i.generateNewShortGuid()),e.ownerUsername?c.addRgbColorsToCategories(e.ownerUsername,a.categories,n):a.categories=[],a.categoriesString=c.generateNameString(a.categories),r.push(a)})),o(r)}),u),a.promise}function k(e){return A(e.email)||function(e){if(!angular.isArray(e))return!1;for(var t=0,r=e.length;t<r;++t)if(A(e[t]))return!0;return!1}(e.emailAddressList)||A(e.displayAs)||A(e.firstName)||A(e.middleName)||A(e.lastName)||A(e.fullName)||function(e){if(!angular.isArray(e))return!1;for(var t=0,r=e.length;t<r;++t)if(A(e[t].number))return!0;return!1}(e.phoneNumberList)||A(e.jobTitle)||A(e.busCity)||A(e.busState)||A(e.busStreet)||A(e.busZip)||A(e.busCountry)||A(e.company)||A(e.companyDepartment)||A(e.companyOffice)||A(e.companyUrl)||A(e.homeCity)||A(e.homeState)||A(e.homeStreet)||A(e.homeZip)||A(e.homeCountry)||A(e.title)||A(e.additionalInfo)||A(e.webPage)||A(e.nickname)||A(e.spouseName)||A(e.assistantName)||A(e.managerName)||A(e.profession)||A(e.im)}function A(e){if(!e)return!1;var t=p.parameters.searchText||"";return e.toLowerCase().indexOf(t.toLowerCase())>-1}}e.$inject=["$rootScope","$http","$q","$filter","$log","$translate","userDataService","coreDataSettings","apiCategories","preferencesStorage","apiContactSources","folderNameTranslator"],angular.module("smartermail").service("coreDataContacts",e)}();
92!function(){"use strict";function e(e,t,n,r,i,a,o,s,u,c){var d,f=this,l={},m=!1,v={},g=!1,h=!1,p={},D=!1,A={},_=!1,x={},I=!1,C={},O=!1,E={},L=!1,S={},F=!1,T={},b=!1,M={},j=!1,w={},N=!1,P={},R=!1,y={},G=!1,U=!1;function V(){return e.get("~/api/v1/settings/domain/permissions").then((function(e){f.domainPermissions=e.data.permissions}),(function(){f.domainPermissions={}}))}function k(){return e.get("~/api/v1/settings/domain/data").then((function(e){f.domainData=e.data.domainData,h=!0}),(function(){f.domainData={},h=!1}))}function H(){return f.searchEnabled&&f.searchPredicate?f.filteredCards=n("filter")(f.cards,f.searchPredicate):f.filteredCards=f.cards,f.filteredCards}function B(){var e=[];$.each(f.selectedCards,(function(t,n){f.filteredCards.indexOf(n)>=0&&e.push(t)})),$.each(e.reverse(),(function(e,t){f.selectedCards.splice(t,1)}))}function W(){$.each(f.filteredCards,(function(e,t){f.selectedCards.indexOf(t)<0&&f.selectedCards.push(t)}))}f.domain="",f.domainData={},f.domainSignatureMappings={},f.domainSignatures={},f.domainPermissions={},f.settingsData={get domainSignatureMappings(){return function(){var n=t.defer();if(m)return t.when(l);return function(){return e.get("~/api/v1/settings/domain/signature-maps").then((function(e){l=e.data.signatureMaps,m=!0}),(function(){l=[],m=!1}))}().then((function(){n.resolve(l)}),(function(){n.reject("FAILED_TO_LOAD_DOMAIN_SIGNATURE_MAPPINGS")})),n.promise}()},set domainSignatureMappings(e){l=e||{}},get contentFiltering(){return function(){var n=t.defer();if(g)return t.when(v);return function(){return e.get("~/api/v1/settings/domain/content-filter-groups").then((function(e){v=e.data.contentFilterGroups,g=!0}),(function(){v={},g=!1}))}().then((function(){n.resolve(v)}),(function(){n.reject("FAILED_TO_LOAD_CONTENT_FILTERING")})),n.promise}()},set contentFiltering(e){v=e||{}},get folders(){return n=t.defer(),e.get("~/api/v1/settings/list-folders").then((function(e){return e.data.folders}),(function(){return[]})).then((function(e){n.resolve(e)}),(function(){n.reject("FAILED_TO_LOAD_RETRIEVAL_ACCOUNTS")})),n.promise;var n},get domainData(){return function(){var e=t.defer();if(h)return t.when(f.domainData);return k().then((function(){e.resolve(f.domainData)}),(function(){e.reject("FAILED_TO_LOAD_DOMAIN_DATA")})),e.promise}()},set domainData(e){f.domainData=e||{}},get userList(){return function(){var n=t.defer();if(D)return t.when(p);return function(){return e.get("~/api/v1/settings/domain/list-users-extra").then((function(e){p=e.data.userData,D=!0}),(function(){p={},D=!1}))}().then((function(){n.resolve(p)}),(function(){n.reject("FAILED_TO_LOAD_USER_LIST")})),n.promise}()},set userList(e){p=e||{}},get aliases(){return function(){var n=t.defer();if(_)return t.when(A);return function(){return e.get("~/api/v1/settings/domain/aliases").then((function(e){A=e.data.gridInfo,_=!0}),(function(){A={},_=!1}))}().then((function(){n.resolve(A)}),(function(){n.reject("FAILED_TO_LOAD_ALIASES")})),n.promise}()},set aliases(e){A=e||{}},get userGroups(){return function(){var n=t.defer();if(I)return t.when(x);return function(){return e.get("~/api/v1/settings/domain/all-user-groups").then((function(e){x=e.data.userGroupCollection.customUserGroups,I=!0}),(function(){x={},I=!1}))}().then((function(){n.resolve(x)}),(function(){n.reject("FAILED_TO_LOAD_USER_GROUPS")})),n.promise}()},set userGroups(e){x=e||{}},get resources(){return function(){var n=t.defer();if(O)return t.when(C);return function(){return e.get("~/api/v1/settings/domain/resources").then((function(e){C=e.data.data,O=!0}),(function(){C={},O=!1}))}().then((function(){n.resolve(C)}),(function(){n.reject("FAILED_TO_LOAD_RESOURCES")})),n.promise}()},set resources(e){C=e||{}},get customFields(){return function(){var n=t.defer();if(L)return t.when(E);return function(){return e.get("~/api/v1/settings/domain/subscriber-field-definitions").then((function(e){E=e.data.subscriberFields,L=!0}),(function(){E={},L=!1}))}().then((function(){n.resolve(E)}),(function(){n.reject("FAILED_TO_LOAD_CUSTOM_FIELDS")})),n.promise}()},set customFields(e){E=e||{}},get companyInfo(){return function(){var n=t.defer();if(F)return t.when(S);return function(){return e.get("~/api/v1/companyInfo/"+f.domain+"/").then((function(e){
92S=e.data.companyInfo,F=!0}),(function(){S={},F=!1}))}().then((function(){n.resolve(S)}),(function(){n.reject("FAILED_TO_LOAD_COMPANY_INFO")})),n.promise}()},set companyInfo(e){S=e||{}},get subscribers(){return function(){var n=t.defer();if(b)return t.when(T);return function(){return e.get("~/api/v1/settings/domain/grid-subscribers").then((function(e){T=e.data.subscriberGrid.subscribers,b=!0}),(function(){T={},b=!1}))}().then((function(){n.resolve(T)}),(function(){n.reject("FAILED_TO_LOAD_SUBSCRIBERS")})),n.promise}()},set subscribers(e){T=e||{}},get domainEvents(){return function(){var n=t.defer();if(j)return t.when(M);return function(){return e.post("~/api/v1/settings/domain/event-hooks-by-owner").then((function(e){j=!0,M=e.data.eventHooks}),(function(){M={},j=!1}))}().then((function(){n.resolve(M)}),(function(){n.reject("FAILED_TO_LOAD_DOMAIN_EVENTS")})),n.promise}()},set domainEvents(e){M=e||{}},get availableEventVars(){return function(){var n=t.defer();if(N)return t.when(w);return function(){return e.get("~/api/v1/settings/domain/event-variables").then((function(e){N=!0,w=e.data.variables}),(function(){w={},N=!1}))}().then((function(){n.resolve(w)}),(function(){n.reject("FAILED_TO_LOAD_EVENT_VARS")})),n.promise}()},get availableDomainEvents(){return function(){var n=t.defer();if(R)return t.when(P);return function(){return e.get("~/api/v1/settings/domain/domain-events").then((function(e){P=e.data.events,R=!0}),(function(){P={},R=!1}))}().then((function(){n.resolve(P)}),(function(){n.reject("FAILED_TO_LOAD_AVILIABLE_DOMAIN_EVENTS")})),n.promise}()},get domainAliases(){return function(){var n=t.defer();if(G)return t.when(y);return function(){return e.get("~/api/v1/settings/domain/domain-aliases").then((function(e){y=e.data.domainAliasData,G=!0}),(function(){y={},G=!1}))}().then((function(){n.resolve(y)}),(function(){n.reject("FAILED_TO_LOAD_DOMAIN_ALIASES")})),n.promise}()},set domainAliases(e){y=e||{}}},f.settingAdjustWait=2e3,f.settingBlurWait=0,f.cards=[],f.filteredCards=[],f.newItem=void 0,f.editItem=void 0,f.deleteItems=void 0,f.reindexItems=void 0,f.searchItems=void 0,f.searchText=void 0,f.searchEnabled=!1,f.searchPredicate=void 0,f.editingItem=!1,f.deselectAll=void 0,f.selectAll=void 0,f.backAction=void 0,f.totalCount=f.cards.length,f.listDataCache={},f.listController={},f.selectMode=!1,f.selectedCards=[],f.init=function(){if(d)return d.promise;if(U)return t.when();var n=(d=t.defer()).promise,r=[];return r.push(function(){return e.get("~/api/v1/settings/domain/signatures").then((function(e){f.domainSignatures=e.data.signatureConfigs}),(function(){f.domainSignatures={}}))}()),r.push(V()),r.push(k()),t.all(r).then((function(){U=!0,f.domain=o.user.domain,d.resolve(),d=null}),(function(e){d.reject(e),d=null})),n},f.reset=function(){U=!1,f.domain=void 0,f.domainSignatureMappings={},f.domainSignatures={},f.domainPermissions={},v={},g=!1,f.domainData={},h=!1,p={},D=!1,A={},_=!1,x={},I=!1,C={},O=!1,E={},L=!1,S={},F=!1,T={},b=!1,M={},j=!1,w={},N=!1,P={},R=!1,y={},G=!1},f.changePageReset=function(){f.filteredCards.length=0,f.cards.length=0,f.selectedCards.length=0,f.newItem=void 0,f.editItem=void 0,f.deleteItems=void 0,f.reindexItems=void 0,f.searchItems=void 0,f.searchEnabled=!1,f.searchText=void 0,f.searchPredicate=void 0,f.selectMode=!1,f.editingItem=!1,f.deselectAll=B,f.selectAll=W,f.backAction=void 0,f.getFilteredCards=H},f.generateNewGuid=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))},f.generateNewShortGuid=function(){return"xxxx-2xxx-yxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))},f.generateRandomHexColor=function e(t){t||(t=0);if(t>2)return"#CDCDCD";var n="#"+Math.floor(16777215*Math.random()).toString(16),r=7-n.length;if(0!==r)for(var i=0;i<r;++i)n+="0";return f.validateHexSixColor(n)?n:n=e(t+1)},f.getFilteredCards=H,f.isCardSelected=function(e){return f.selectedCards.indexOf(e)>-1},f.listDataProvider=function(e){for(var t=[],n=0,r=f.getFilteredCards(),i=e.start;i<e.start+e.take&&null!=r[i];i++)t[n++]=r[i];return e.defer.resolve(t),e.defer.promise},f.parseUserTimeSpan=function(e){if(!/\d/.test(e))return"";var t=e.split(":");parseInt(t[0])>24&&(t[0]="24");parseInt(t[0])<0&&(t[0]="00");if(!t[1])return"";var n=t[1].split(" ");parseInt(n[0])>59&&(n[0]="59");parseInt(n[0])<0&&(n[0]="00");24===parseInt(t[0])&&parseInt(n[0])>0&&(n[0]="00");
92t[1]=n.join(" "),e=t.join(":");var r=moment(e,["h:m a","H:m","hh:mm A"]);return r.isValid()?r:""},f.setSelectMode=function(e){f.selectedCards.length=0,$("md-card").removeAttr("style"),f.selectMode=e},f.updateFilteredCards=function(){f.totalCount=f.cards.length,f.filteredCards=f.getFilteredCards(),f.listController.reset&&f.listController.updateDisplayList&&(f.listController.reset(),f.listController.updateDisplayList())},f.loadDomainPermissions=V,f.validateEmailAddress=function(e){return c.isValidEmail(e)},f.validateHexSixColor=function(e){return/^#[a-fA-F0-9]{6}$/.test(e)},f.loadDomainData=k}e.$inject=["$http","$q","$filter","$translate","$rootScope","$log","userDataService","$state","$stateParams","emailValidationService"],angular.module("smartermail").service("coreDataDomainSettings",e)}();
93!function(){"use strict";function e(e,r,a,t,n,i,l,o,s,d){var c,f=this,u=window.location.href.substring(0,window.location.href.indexOf("/interface/root#")),h=!1,p=!1,g=[],v={},m={},b=[],F=0,w=0;function y(){F=I(g[w])}function k(){var t=r.defer();return p?t.resolve():e.get("~/api/v1/filestorage/folders").then((function(e){if(!e.data.folder.subFolders)return p=!1,void t.resolve(e.data.message);var r=e.data.folder,n=void 0;g.length>0&&g[0].children.length>0&&(n=g[0].children.find((function(e){return e.selected}))),b.length=0,b.push({name:a("translate")("MY_FILES"),path:r.path,size:r.size,count:a("bytes")(r.size,1)}),g.length=0;var i={label:a("translate")("SMARTERMAIL"),data:{files:[],name:"SMARTERMAIL",serverName:"SMARTERMAIL",size:0,path:"",subFolders:[],count:"",key:"",unselectable:!0}};g.push(i),m={label:a("translate")("ALL_FILES"),data:{files:P(r),name:"ALL_FILES",serverName:"ALL_FILES",size:0,path:"",subFolders:[],count:"",key:""},children:[]},i.data.subFolders.push(m);var l={label:a("translate")("MY_FILES"),data:{files:r.files||[],name:"ROOT_FOLDER",path:r.path,size:r.size,subFolders:r.subFolders,count:a("bytes")(r.size,1),key:"|"+r.path},children:S(r)};i.data.subFolders.push(l);for(var s=0;s<r.subFolders.length;s++)if("ONLINE_MEETING_FILES"==r.subFolders[s].name||"PUBLIC_CHAT_FILES"==r.subFolders[s].name||"ATTACHED_FILES"==r.subFolders[s].name){var d=r.subFolders[s].name,c=d,u={label:d=a("translate")(r.subFolders[s].name),data:{files:r.subFolders[s].files,name:d,serverName:c,size:r.subFolders[s].size,path:r.subFolders[s].path,subFolders:r.subFolders[s].subFolders,count:a("bytes")(r.subFolders[s].size,1),key:"|"+r.subFolders[s].path,unselectable:"ONLINE_MEETING_FILES"===r.subFolders[s].name},children:S(r.subFolders[s],void 0,!0)};i.data.subFolders.push(u),v[u.data.key]=u,r.subFolders[s].skip=!0}i.children=i.data.subFolders,v[l.data.key]=l,w=0,g.forEach((function(e){e.children.forEach((function(e){n&&n.data.path==e.data.path&&(e.selected=!0)}))})),function(){f.expandedBranches=o.getSortingFilteringParam("fileStorage","expandedBranches"),f.expandedBranches||(f.expandedBranches={});for(var e=Object.keys(v),r=0;r<e.length;++r)v[e[r]].expanded=f.expandedBranches[e[r]]}(),y(),p=!0,t.resolve()}),(function(e){p=!1,t.reject(e)})),t.promise}function S(e,r,t){var n=[];return $.each(e.subFolders,(function(e,i){if(!i.skip){var l=r||i.name;t&&(i.name=a("translate")(l));var o={label:i.name,data:{files:i.files||[],serverName:l,name:i.name,path:i.path,size:i.size,subFolders:i.subFolders,count:a("bytes")(i.size,1),key:"|"+i.path,hide:"ONLINE_MEETING_FILES"==l||"PUBLIC_CHAT_FILES"==l},children:S(i,l)};n.push(o),v[o.data.key]=o,b.push({name:i.name,path:i.path,size:i.size,count:a("bytes")(i.size,1)})}})),n}function L(e,r){for(var a=void 0,t=0;t<(r.data.files||[]).length;++t){var n=r.data.files[t];if(n.id===e){a=n;break}}if(!a)for(t=0;t<r.children.length&&!(a=L(e,r.children[t]));++t);return a}function z(e,r){if(e.data.path===r)return e;for(var a=null,t=0;t<e.children.length;++t)if(a=z(e.children[t],r))return a;return null}function E(e){for(var r=void 0,a=0;a<g.length;++a)if(g[a].data.path===e)r=g[a];else{var t=C(e,g[a]);r=t||r}return r}function C(e,r){for(var a=void 0,t=0;t<r.children.length;++t)if(r.children[t].data.path===e)a=r.children[t];else{var n=C(e,r.children[t]);a=n||a}return a}function P(e){var r=[];if(!e.subFolders||0===e.subFolders.length)return r;var a=e.subFolders.slice();for(n(e);a.length>0;){n(a[0]);for(var t=0;t<a[0].subFolders.length;t++)a.push(a[0].subFolders[t]);a.splice(0,1)}return r;function n(e){if(e.files&&0!=e.files.length)for(var a=0;a<e.files.length;a++)r.push(e.files[a])}}async function N(e){if("showSaveFilePicker"in window)try{const r={suggestedName:e},a=e.match(/(\.[^.]+)$/);return a&&(r.types=[{description:e,accept:{"application/octet-stream":[a[1]]}}]),await window.showSaveFilePicker(r)}catch(e){return"AbortError"===e.name?null:void console.warn("showSaveFilePicker failed, falling back to browser download:",e.message)}}async function A(e,r,a,t){const n=new URLSearchParams;for(const[e,r]of Object.entries(a||{}))Array.isArray(r)?r.forEach((r=>n.append(e,r))):null!=r&&n.set(e,r);const i=e.replace("~",u)+"?"+n.toString();if(t){const e=await t.createWritable();try{const r=await fetch(i,{headers:{Authorization:"Bearer "+s.getToken()}});if(!r.ok){let e="";try{e=await r.text()}catch(e){}let a="";try{a=JSON.parse(e).message}catch(r){a=e}throw new Error(a||"HTTP "+r.status)}if(!r.body)throw new Error("Response body is null");await r.body.pipeTo(e)}catch(r){console.error("streamDownloadFile error:",r);try{await e.abort()}catch(e){}throw r}}else{const e=document.createElement("a");e.href=i+"&access_token="+s.getToken(),e.download=r,e.rel="noopener",e.referrerPolicy="no-referrer",document.body.appendChild(e),e.click(),e.remove()}}function D(e,r,a,t){var n="application/octet-stream",i=!1;(a=a())["x-filename"]=t;var l=a["x-filename"],o=a["content-type"]||n;try{var s=new Blob([e],{type:o});if(navigator.msSaveBlob)navigator.msSaveBlob(s,l);else{var d=navigator.webkitSaveBlob||navigator.mozSaveBlob||navigator.saveBlob;if(void 0===d)throw"Not supported";d(s,l)}i=!0}
93catch(e){}if(!i){var c=window.URL||window.webkitURL||window.mozURL||window.msURL;if(c){var f=document.createElement("a");if("download"in f)try{s=new Blob([e],{type:o});var u=c.createObjectURL(s);f.setAttribute("href",u),f.setAttribute("download",l);var h=document.createEvent("MouseEvents");h.initMouseEvent("click",!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,0,null),f.dispatchEvent(h),i=!0}catch(e){}if(!i)try{s=new Blob([e],{type:n}),u=c.createObjectURL(s);window.location=u,i=!0}catch(e){}}}i||window.open(httpPath,"_blank","")}function I(e,r){if(e){r||(r=0),r+=e.data.size;for(var a=0;a<e.children.length;++a)return I(e.children[a],r);return r}}function B(e,r){if(e&&r){for(var a=0;a<e.data.files.length;++a){var t=e.data.files[a];if(t.id===r.id)return t.dateAdded=r.dateAdded,t.fileName=r.fileName,t.folderPath=r.folderPath,t.id=r.id,t.password=r.password,t.previewImage=r.previewImage,t.publicDownloadLink=r.publicDownloadLink,t.published=r.published,t.size=r.size,t.type=r.type,e}var n=null;for(a=0;a<e.children.length;++a)if(n=B(e.children[a],r))return n;return null}}function O(e){var r=f.parameters.searchText||"";return e.fileName.toLowerCase().indexOf(r.toLowerCase())>-1}f.ignoreFolderChanges={requested:moment(),ignored:moment()},f.ignoreFileAdds={requested:moment(),ignored:moment()},f.ignoreFileDeletes={requested:moment(),ignored:moment()},f.ignoreFileChanges={requested:moment(),ignored:moment()},f.parameters={get sortField(){var e=o.getSortingFilteringParam("fileStorage","sortField");return void 0===e&&(e="fileName",o.setSortingFilteringParam("fileStorage","sortField",e)),e},set sortField(e){o.setSortingFilteringParam("fileStorage","sortField",e)},get isDescending(){var e=o.getSortingFilteringParam("fileStorage","isDescending");return void 0===e&&(e=!1,o.setSortingFilteringParam("fileStorage","isDescending",e)),e},set isDescending(e){o.setSortingFilteringParam("fileStorage","isDescending",e)},get sortReverse(){var e=o.getSortingFilteringParam("fileStorage","sortReverse");return void 0===e&&(e=!1,o.setSortingFilteringParam("fileStorage","sortReverse",e)),e},set sortReverse(e){o.setSortingFilteringParam("fileStorage","sortReverse",e)},get currentTreeBranch(){return o.getSessionSortingFilteringParam("fileStorage","currentTreeBranch")},set currentTreeBranch(e){var r=$.extend(!0,{},e),a=r.data.path;delete r.children,delete r.classes,delete r.data,r.data={path:a},o.setSessionSortingFilteringParam("fileStorage","currentTreeBranch",r)},get currentView(){var e=o.getSortingFilteringParam("fileStorage","currentView");return void 0===e&&(e="CARD_VIEW",o.setSortingFilteringParam("fileStorage","currentView",e)),e},set currentView(e){o.setSortingFilteringParam("fileStorage","currentView",e)}},f.parameters.searchText="",f.parameters.currentBranch={},f.listDataCache={},f.addFolderCallback=null,f.deleteFolderCallback=null,f.renameFolderCallback=null,f.addFilesCallback=null,f.removeFilesCallback=null,f.modifyFilesCallback=null,f.cacheResumable=void 0,f.hasFiles=!1,f.init=function(){if(c)return c.promise;if(h)return r.when();var e=(c=r.defer()).promise;return k().then((function(){h=!0,c.resolve()}),(function(e){c.reject(e)})).finally((function(){c=null})),e},f.reset=function(){h=!1,p=!1,g=[],F=0,f.listDataCache={}},f.reloadFolders=function(){p=!1,k()},f.addFiles=function(r){if(!r)return;console.log("addFiles");var t=$.map(r,(function(e){return e.id})),n=JSON.stringify({fileIDs:t});e.post("~/api/v1/filestorage/files",n).then((function(e){var r=e.data.files||[];angular.forEach(r,(function(e){const r=e.folderPath;let t;for(let e=0;e<g.length&&(t=z(g[e],r),!t);e++);if(t){t.data.files=t.data.files||[];var n=$.grep(t.data.files,(function(r){return!!r&&r.id===e.id}));0===n.length&&(t.data.files.push(e),t.data.size+=e.size,t.data.count=a("bytes")(t.data.size,1)),m.data.files=m.data.files||[],0===(n=$.grep(m.data.files,(function(r){return!!r&&r.id===e.id}))).length&&(m.data.files.push(e),m.data.size+=e.size,m.data.count=a("bytes")(m.data.size,1))}})),y(),f.addFilesCallback&&f.addFilesCallback(r)}))},f.addFolder=function(t){var n=r.defer(),i=JSON.stringify(t);return f.ignoreFolderChanges.requested=Date.now(),e.post("~/api/v1/filestorage/folder-put",i).then((function(e){var r=t.parentFolder,i=e.data.folder,l=z(g[w],r);l&&(l.data.subFolders.filter((e=>e.path===i.path)).length||l.data.subFolders.push(i),l.children.filter((e=>e.data.path===i.path)).length||l.children.push({label:i.name,data:{files:[],name:i.name,path:i.path,size:0,subFolders:[],count:a("bytes")(0,1),key:"|"+i.path},children:[]}),l.children=a("orderBy")(l.children,"label")),b.push({name:i.name,path:i.path,size:i.size,count:a("bytes")(i.size,1)}),n.resolve()}),(function(e){n.reject(e)})),n.promise},f.deleteFiles=function(n){var i=r.defer();if(angular.isArray(n)){f.ignoreFileChanges.requested=moment();var l=$.map(n,(function(e){return e.id})),o=JSON.stringify({fileIDs:l});e.post("~/api/v1/filestorage/delete-files",o).then((function(){angular.forEach(n,(function(e){var r,t,n=z(g[w],e.folderPath);n&&((r=$.grep(n.data.files,(function(r){return!!r&&e.id===r.id}))).length>0&&(t=n.data.files.indexOf(r[0]))>-1&&(n.data.size-=e.size,n.data.size<0&&(n.data.size=0),n.data.count=a("bytes")(n.data.size,1),n.data.files.splice(t,1)
93));(r=$.grep(m.data.files,(function(r){return!!r&&e.id===r.id}))).length>0&&((t=m.data.files.indexOf(r[0]))>-1&&m.data.files.splice(t,1))})),y(),f.removeFilesCallback&&f.removeFilesCallback(),t.$broadcast("filesRefresh"),i.resolve()}),(function(e){i.reject(e)}))}else i.reject(a("translate")("ERROR"));return i.promise},f.deleteFolder=function(a){var t=r.defer(),n=JSON.stringify(a);z(g[w],a.folder);return e.post("~/api/v1/filestorage/delete-folder",n).then((function(e){y(),b=$.grep(b,(function(e){return e.path===a.folder}),!0),t.resolve()}),(function(e){t.reject(e)})),t.promise},f.removeMeetingFolders=function(e){angular.forEach(e,(function(e){for(var r="/86bc2a5f-89d8-4e76-a3e8-c53cbebe565d/"+e+"/",a=0;a<g.length;a++)t(a);function t(e){for(var a=g[e],t=0;t<a.children.length;t++)if("/86bc2a5f-89d8-4e76-a3e8-c53cbebe565d/"===a.children[t].data.path){a=a.children[t];break}a.children=$.grep(a.children,(function(e){return e.data.path!==r})),b=$.grep(b,(function(e){return e.path===r}),!0)}}))},f.renameMeetingFolder=function(e,r){for(var a="/86bc2a5f-89d8-4e76-a3e8-c53cbebe565d/"+e+"/",t=g[w],n=0;n<t.children.length;n++)if("/86bc2a5f-89d8-4e76-a3e8-c53cbebe565d/"===t.children[n].data.path){t=t.children[n];break}for(n=0;n<t.children.length;n++)if(t.children[n].data.path===a){t.children[n].data.name=r,t.children[n].label=r;break}},f.downloadFile=function(a,t,n,i){var l=r.defer();if(i){var o=document.createElement("a");return o.href=a.replace("~",u)+"?access_token="+s.getToken(),o.download=t,o.referrerPolicy="no-referrer",document.body.appendChild(o),o.setAttribute("type","hidden"),o.click(),o.outerHTML="",l.resolve(),l.promise}n?e.post(a,n,{responseType:"arraybuffer"}).then((function(e){D(e.data,e.status,e.headers,t);l.resolve()}),(function(e){var r=(new TextDecoder).decode(e.data);l.reject(JSON.parse(r).message)})):e.get(a,{responseType:"arraybuffer"}).then((function(e){D(e.data,e.status,e.headers,t);l.resolve()}),(function(e){var r=(new TextDecoder).decode(e.data);l.reject(JSON.parse(r).message)}));return l.promise},f.streamDownloadFile=A,f.openSaveFilePicker=N,f.downloadLargeFile=async function(e,r,n,o){const c=await N(r);if(null===c)return!1;if(void 0===c){t.spinner.show();const a=new URLSearchParams;for(const[e,r]of Object.entries(n||{}))Array.isArray(r)?r.forEach((r=>a.append(e,r))):null!=r&&a.set(e,r);const i=e.replace("~",u)+"?"+a.toString(),l=new AbortController;return fetch(i,{headers:{Authorization:"Bearer "+s.getToken()},signal:l.signal}).then((function(){l.abort(),t.spinner.hide()})).catch((function(){t.spinner.hide()})),await A(e,r,n,void 0),!0}const f=i((function(){var e=l.stProgressBar().title(a("translate")("DOWNLOADING")).close(a("translate")("DOWNLOAD_IN_BACKGROUND")).showCancel(!1).enableButtons(!0).autoClose(!0).percentProgress(-1).guid(o).progressListener(o+".finished");l.show(e)}),1e3);try{return await A(e,r,n,c),!0}catch(e){return d.report(e),!1}finally{i.cancel(f),t.$broadcast(o+".finished",{guid:o,current:-1})}},f.editFile=function(a){var t=r.defer();a.password||(a.password="");for(var n=0;n<g.length;++n){var i=L(a.id,g[n]);if(i){i.dateAdded=a.dateAdded,i.id=a.id,i.fileName=a.newFileName,i.published=a.published,i.publishedUntil=a.publishedUntil<new Date("1001")?void 0:a.publishedUntil,i.password=a.password,i.publicDownloadLink=a.publicDownloadLink;break}}var l=JSON.stringify(a);return f.ignoreFileChanges.requested=moment(),e.post("~/api/v1/filestorage/"+a.id+"/edit",l).then((function(){t.resolve()}),(function(e){t.reject(e)})),t.promise},f.moveFiles=function(a,t){"string"==typeof t&&(t=E(t).data);var n=r.defer();Array.isArray(a)||(a=[a]);for(var i=[],l=0;l<a.length;++l)i.push(a[l].id);var o={fileIDs:i,newFolder:t.path};return e.post("~/api/v1/filestorage/move-files",o).then((function(e){for(var r=E(a[0].folderPath),i=E(t.path),l=0;l<a.length;++l){a[l].folderPath=t.path;var o=r.data.files.indexOf(a[l]);o>-1&&i.data.files.push(r.data.files.splice(o,1)[0])}n.resolve()}),(function(e){n.reject(e)})),n.promise},f.editFolder=function(t,n){var i=r.defer(),l=(n=n,{folder:t.path,newFolderName:t.name});return f.ignoreFolderChanges.requested=Date.now(),e.post("~/api/v1/filestorage/folder-patch",l).then((function(){for(var e=z(g[w],t.path),r=0;r<b.length;++r)if(b[r].name===n.oldName){var l=n.oldPath.substring(0,n.oldPath.length-n.oldName.length-1);b[r].path=l+t.name+"/",b[r].name=t.name;break}if(null!==e){var o=(l=n.oldPath.substring(0,n.oldPath.length-n.oldName.length-1))+t.name+"/";e.data.path=e.data.path.replace(n.oldPath,o),e.data.key=e.data.key.replace(n.oldPath,o),e.data.name=t.name,e.label=t.name,function e(r,a){for(var t=0;t<r.children.length;++t)r.children[t].data.path=r.children[t].data.path.replace(n.oldPath,a),r.children[t].data.key=r.children[t].data.key.replace(n.oldPath,a),e(r.children[t],a)}(e,o);var s=z(g[w],l);s&&(s.children=a("orderBy")(s.children,"label"))}i.resolve()}),(function(e){i.reject(e)})),i.promise},f.folderChange=function(r){if(!r)return;switch(r.action){case 0:!function(r){if(!r)return;if(r.parentFolder=r.parentFolder.replace("Root Folder","")+"/","PUBLIC_CHAT_FILES"==r.folder)return p=!1,void k();var t={},n=z(g[w],r.parentFolder);if(!n)return p=!1,void k();for(var i=!1,l=0;l<n.children.length;++l)if(n.children[l].label===r.folder){i=!0;break}if(i)return;t=JSON.stringify({folder:r.parentFolder+r.folder+"/"}),e.post("~/api/v1/filestorage/folder",t).then((function(e){var r=e.data.folder;n.data.subFolders.filter((e=>e.path===r.path)).length||n.data.subFolders.push(r),n.children.filter((e=>e.data.path===r.path)).length||n.children.push({label:r.name,data:{files:r.files,name:r.name,path:r.path,size:r.size,count:a("bytes")(0,1),key:"|"+r.path},children:S(r)}),f.addFolderCallback&&f.addFolderCallback(0)}))}(r);break;case 1:!function(e){if(!e)return;e.parentFolder=e.parentFolder.replace("Root Folder","")+"/";var r=z(g[w],e.parentFolder);if(!r)return;for(var a=-1,t=0;t<r.children.length;++t)if(r.children[t].label===e.folder){a=t,r.children[t];break}if(-1===a)return;y(),r.children.splice(a,1),f.deleteFolderCallback&&f.deleteFolderCallback()}(r);break;case 2:!function(e){if(!e)return;var r=z(g[w],e.parentFolder);if(!r)return;
93for(var a=r.data.path+e.oldFolder+"/",t=r.data.path+e.newFolder+"/",n=0;n<r.children.length;++n)if(r.children[n].label===e.oldFolder){r.children[n].data.path=r.children[n].data.path.replace(a,t),r.children[n].data.key=r.children[n].data.key.replace(a,t),r.children[n].data.name=e.newFolder,r.children[n].label=e.newFolder,i(r.children[n]);break}f.renameFolderCallback&&f.renameFolderCallback();function i(e){for(var r=0;r<e.children.length;++r)e.children[r].data.path=e.children[r].data.path.replace(a,t),e.children[r].data.key=e.children[r].data.key.replace(a,t),i(e.children[r])}}(r)}},f.getFilteredFiles=function(){var e=f.parameters.currentBranch.files||[];return e=$.grep(e,(function(e){return!!e})),e=a("filter")(e,O),e=a("orderBy")(e,f.parameters.sortField,f.parameters.isDescending)},f.getFolders=function(){return g},f.getAllFilesFolder=function(){return m},f.getFolderList=function(){return a("orderBy")(b,"path")},f.getTotalDiskUsage=function(){return y(),F},f.listDataProvider=function(e){if(null==f.parameters.currentBranch||null==f.parameters.currentBranch.files)e.defer.reject(!1);else{for(var r=[],a=0,t=f.getFilteredFiles(),n=e.start;n<e.start+e.take&&null!=t[n];n++)r[a++]=t[n];e.defer.resolve(r)}return e.defer.promise},f.modifyFiles=function(r){if(!r)return;var a=$.map(r,(function(e){return e.id})),t=JSON.stringify({fileIDs:a});e.post("~/api/v1/filestorage/files",t).then((function(e){var r=e.data.files||[];angular.forEach(r,(function(e){B(g[w],e)}))})),f.modifyFilesCallback&&f.modifyFilesCallback()},f.removeFiles=function(e){if(!e)return;angular.forEach(e,(function(e){const a=e.id;if(a)for(let e=0;e<g.length&&!r(g[e],a);e++);})),y(),f.removeFilesCallback&&f.removeFilesCallback();function r(e,t){if(!e)return!1;if(e.data.files)for(let r=0;r<e.data.files.length;r++){const n=e.data.files[r];if(n.id.replace(/-/g,"")===t)return e.data.files.splice(r,1),e.data.size-=n.size,e.data.count=a("bytes")(e.data.size,1),"ALL_FILES"!==e.data.name}for(let a=0;a<e.children.length;a++)if(r(e.children[a],t))return!0;return!1}},f.uploadNewFile=function(e){var t=r.defer();try{for(var n=f.parameters.currentBranch,i=0;i<e.length;++i)e[i].folderPath==n.path&&(n.files.push(e[i]),n.size+=e[i].size,n.count=a("bytes")(n.size,1)),"ALL_FILES"!=n.name&&(m.data.files.push(e[i]),m.data.size+=e[i].size,m.data.count=a("bytes")(m.data.size,1));y(),f.addFilesCallback&&f.addFilesCallback(),t.resolve()}catch(e){t.reject(e)}return t.promise}}e.$inject=["$http","$q","$filter","$rootScope","$log","$timeout","$mdDialog","preferencesStorage","authStorage","errorHandling"],angular.module("smartermail").service("coreDataFileStorage",e)}();
94!function(){"use strict";function n(n,i,e,t,r){var a,o=this,s=void 0,c=!1;function u(){if(a)return a.promise;if(c)return i.when();a=i.defer();var e=[];return e.push(function(){return n.get("~/api/v1/licensing/info").then(i,t.report);function i(n){s=n.data}}()),i.all(e).then((function(){c=!0,a.resolve(),a=null}),(function(n){a.reject(n)})).finally((function(){a=null})),a.promise}function l(){c=!1}o.Data={get Licensing(){return s},get IsSpamFooBeta(){var n=s&&s.services;if(!n)return!1;var i=n.spamfoo_antispam,e=n.spamfoo_classification;return!!(i&&i.isBeta||e&&e.isBeta)}},o.init=u,o.reset=l,e.$on("signalR.mailHub.client.licensingChanged",(function(){r.isSysAdmin()&&(l(),u())}))}n.$inject=["$http","$q","$rootScope","errorHandling","claimsService"],angular.module("smartermail").service("coreDataLicensing",n)}();
95!function(){"use strict";function e(e,a,t,r,n,s,i,o,d,l,c,u){var m,f=void 0,p=!1,g=0,h={},v={},S={data:[],map:[],selectedBranchData:{},get AmIOwner(){return S.selectedBranchData&&S.selectedBranchData.owner===d.user.emailAddress}},b={data:[],map:[],selectedBranchData:{}},y={params:{},loadingMailData:!1,get sortType(){return s.getSessionSortingFilteringParam("email","sortType")},set sortType(e){s.setSessionSortingFilteringParam("email","sortType",e)},get sortDirection(){return s.getSessionSortingFilteringParam("email","sortDirection")},set sortDirection(e){s.setSessionSortingFilteringParam("email","sortDirection",e)},get sortAscending(){return s.getSessionSortingFilteringParam("email","sortAscending")},set sortAscending(e){s.setSessionSortingFilteringParam("email","sortAscending",e)},get filterType(){return s.getSessionSortingFilteringParam("email","filterType")},set filterType(e){s.setSessionSortingFilteringParam("email","filterType",e)},get filterValue(){var e=s.getSessionSortingFilteringParam("email","filterValue");return void 0===e&&(e=!0,s.setSessionSortingFilteringParam("email","filterValue",e)),e},set filterValue(e){s.setSessionSortingFilteringParam("email","filterValue",e)},get categoryFilters(){const e=u.getCategoryFilter("email");return e?e.categoryData:void 0},get hasCategoryFilter(){return!u.getCategoryFilter("email").allSelected()},get classificationTab(){return s.getSessionSortingFilteringParam("email","classificationTab")||null},set classificationTab(e){s.setSessionSortingFilteringParam("email","classificationTab",e)}},E=this;E.reloadMailTreeOnEnter=!1,E.baseUrl=window.location.href.substring(0,window.location.href.indexOf("/interface/root#")),E.searchText="",E.selectedEmailUids=[],E.expansionList=[],E.Data={get disposableAddress(){return B()}
95,set disposableAddress(a){!function(a){f=a||void 0;e.$broadcast("disposableAddress:changed")}(a)}},E.ignoreFolderUpdate={requested:Date.now(),ignored:Date.now()},E.currentDelayData=void 0,E.addMailItem=function(e){if(-1!=window.location.href.indexOf("/popout/"))return;for(var t=[],r=[],n=0;n<e.length;++n){(c=e[n]).folder=c.folder.toLowerCase(),c.isNew&&"inbox"==c.folder&&t.push(c),c.ownerEmailAddress||(c.ownerEmailAddress=d.user.emailAddress);var s=c.ownerEmailAddress+"|"+c.folder.toLowerCase();-1==r.indexOf(s)&&r.push(s)}if(t.length>0){var i={messages:t};a.post("~/api/v1/mail/messagemetadata",i).then((function(e){if(e.data.results)for(var a=0;a<e.data.results.length;++a){var t=e.data.results[a];t.folder=t.folder.toLowerCase(),null==t.ownerEmailAddress&&(t.ownerEmailAddress=""),o.notifyOfNewMessage(t)}}),(function(e){}))}var l=!1;for(n=0;n<r.length;++n){var c=r[n].split("|");E.resyncFolderUnreadCount(c[1],c[0]),"inbox"===c[1]&&(l=!0)}l&&window.stEnableSpamfoo&&E.resyncClassificationCounts()},E.expandBranches=function(){var e,a=Object.keys(S.map);for(e=0;e<a.length;++e)null!=S.map[a[e]]&&(S.map[a[e]].expanded=!1);for(a=Object.keys(b.map),e=0;e<a.length;++e)b.map[a[e]].expanded=!1;E.expansionList=s.getSortingFilteringParam("email","expandedBranches"),E.expansionList||(E.expansionList=[]);for(e=0;e<E.expansionList.length;++e){var t=E.expansionList[e],r=S.map[t];r||(r=b.map[t]),r&&(r.expanded=!0)}},E.formatMessageDate=function(e,a){var t=l.convertLocalToUserTimeMoment(e),n=t.isSame(new Date,"day");return a?n?r("date")(t.toDate(),"shortTime"):r("date")(t.toDate(),"shortDate"):r("date")(t.toDate(),"short")},E.getFolderList=function(){var e=t.defer(),n=r("translate")("SHARED_WITH_ME");return a.get("~/api/v1/folders/list-email-folders").then((function(a){for(var t=a.data.folderList,s=$.extend(!0,[],t),i=0;i<t.length;++i)t[i].subFolders&&L(t[i],s);var o=["inbox","deleted items","drafts","junk e-mail","sent items","scheduled"];for(i=0;i<s.length;++i){var d=o.indexOf(s[i].path.toLowerCase());-1===d||s[i].isMappedFolder||s[i].isMappedSubfolder?s[i].name.startsWith("SHARED_WITH_ME")?s[i].sortName=String.fromCharCode(255)+s[i].name:""===s[i].ownerEmailAddress?s[i].sortName=s[i].path:s[i].sortName=s[i].translatedName||s[i].name:s[i].priority=d}(s=r("orderBy")(s,["priority",function(e){return e.name.startsWith(n)?1:0},"sortName"]))&&0!==s.length?e.resolve(s):e.reject(r("translate")("MAIL_ERRORS_NO_AVAILABLE_FOLDERS"))}),(function(a){e.reject(a)})),e.promise},E.getFolderListForDropdown=async function(e,t){const n=e?.toLowerCase();let s=n?n.lastIndexOf("/"):-1,i=-1===s?"":n.substring(0,s),o=[];""!==i&&o.push({name:"",path:"",translatedName:"- "+r("translate")("ROOT_FOLDER")+" -"});const d=await a.get("~/api/v1/folders/list-email-folders");return o.concat(function e(a,r){if(!a||0===a.length)return[];let s=a.sort(((e,a)=>"SHARED_WITH_ME"===e.name?1:"SHARED_WITH_ME"===a.name?-1:e.path.toLowerCase().localeCompare(a.path.toLowerCase())));const o=" ".repeat(4*r);let d=[];for(let l in s){if("SHARED_WITH_ME"===a[l].name){if(t)continue;a[l].subFolders&&(d=d.concat(e(a[l].subFolders,r)));continue}let s=a[l].path.toLowerCase();s===i&&a[l].subFolders.length<=1||s!==n&&(0===r?a[l].name=a[l].displayPath.split("/").pop():(a[l].name=o+a[l].displayPath.split("/").pop(),void 0!==a[l].translatedName&&(a[l].translatedName=o+a[l].translatedName)),d.push(a[l]),a[l].subFolders&&(d=d.concat(e(a[l].subFolders,r+1))))}return d}(d.data.folderList,0))},E.getSharedFolderList=function(e,n,s){var i=t.defer(),o={email:e},d=r("translate")("SHARED_WITH_ME");return a.post("~/api/v1/folders/list-email-folder-shares",o).then((function(e){for(var a=e.data.folderList,t=$.extend(!0,[],a),o=0;o<a.length;++o)a[o].subFolders&&L(a[o],t);var l=-1,c=["inbox","deleted items","drafts","junk e-mail","sent items","scheduled"];for(o=0;o<t.length;++o){var u=c.indexOf(t[o].path.toLowerCase());-1===u||t[o].isMappedFolder||t[o].isMappedSubfolder?t[o].name.startsWith("SHARED_WITH_ME")?t[o].sortName=String.fromCharCode(255)+t[o].name:""===t[o].ownerEmailAddress?t[o].sortName=t[o].path:t[o].sortName=t[o].translatedName||t[o].name:t[o].priority=u,t[o].path==n&&(l=o)}t=r("orderBy")(t,["priority",function(e){return e.name.startsWith(d)?1:0}
95,"sortName"]),-1!=l&&t.splice(l,1),n&&s?(t=$.grep(t,(function(e){return-1===e.path.indexOf(s)&&e.path!==n}))).unshift({name:"",path:"",translatedName:"- "+r("translate")("ROOT_FOLDER")+" -"}):s&&(t=$.grep(t,(function(e){return-1===e.path.indexOf(s)}))),t&&0!==t.length?i.resolve(t):i.reject(r("translate")("MAIL_ERRORS_NO_AVAILABLE_FOLDERS"))}),(function(e){i.reject(e)})),i.promise},E.getMailList=function(){return y},E.getMailTree=function(){return S},E.getShortMailTree=function(){return b},E.getUnreadCount=function(){if(!S||!b)return 0;var e={};if(S.map[d.user.emailAddress+"|inbox"])e=S.map[d.user.emailAddress+"|inbox"];else e=b.map[d.user.emailAddress+"|inbox"];return e&&e.data&&e.data.count?e.data.count:g},E.init=function(){return l.init(),e.$on("signalR.mailHub.client.contentFilterProgress",M),E.resyncFolderUnreadCount("inbox")},E.loadMailTree=function(e,n){var o=t.defer();E.reloadMailTreeOnEnter=!1,null==e&&m&&(e=m);if(n||0===S.data.length)!function(e,n){var o=[a.get("~/api/v1/folders/list-email-folders"),i.settingsData.resources,E.Data.disposableAddress];t.all(o).then((function(a){var t=a[0];h=a[1],v=a[2],function(e){if(!e.data.delayedMessages||0===e.data.delayedMessages.length)return;E.currentDelayData=e.data.delayedMessages[0]}(t),S.data=[],S.map=[],b.data=[],b.map=[];for(var i=void 0,o=0;o<t.data.folderList.length;++o){var l=D(t.data.folderList[o],n,!0);!l||l.data.canEdit||l.data.isShared&&!l.data.isBeingShared||("inbox"===l.data.path.toLowerCase()&&l.data.owner&&l.data.owner===d.user.emailAddress?i=l:(w(l,!0),b.data.push(l)))}i&&(w(i,!0),b.data.unshift(i));var c=["inbox","drafts","deleted_items","junk_email","sent_items","scheduled"];for(o=0;o<b.data.length;o++){var u=c.indexOf(b.data[o].data.untranslatedName.toLowerCase());-1!==u&&(b.data[o].priority=u)}b.data=r("orderBy")(b.data,"priority"),E.expansionList=s.getSortingFilteringParam("email","expandedBranches"),E.expansionList||(E.expansionList=[]),$.each(t.data.folderList,(function(e,a){for(var t=D(a,n),r=-1,s=0;s<b.data.length;++s)if(b.data[s].data.key===t.data.key){r=s;break}-1===r&&(w(t,!1),S.data.push(t))})),S.data=A(S.data),e.resolve(!0)}),(function(a){e.reject(a)}))}(o,e),e&&(m=e);else{var l=S.map[S.selectedBranchData.key];l||(l=b.map[S.selectedBranchData.key]),null!=l?(e&&(m=e,e.select_branch(l),E.expandBranches()),o.resolve(!1)):(E.expandBranches(),o.resolve(!0))}return o.promise},E.modifiedMailItem=function(e){for(var a=[],t=0;t<e.length;++t){var r=(s=e[t]).ownerEmailAddress+"|"+s.folder.toLowerCase();-1==a.indexOf(r)&&a.push(r)}var n=!1;for(t=0;t<a.length;++t){var s,i=(s=a[t]).split("|");E.resyncFolderUnreadCount(i[1],i[0]),"inbox"===i[1]&&(n=!0)}n&&window.stEnableSpamfoo&&E.resyncClassificationCounts()},E.removedMailItem=function(e){for(var a=[],t=0;t<e.length;++t){var r=(s=e[t]).ownerEmailAddress+"|"+s.folder.toLowerCase();-1==a.indexOf(r)&&a.push(r)}var n=!1;for(t=0;t<a.length;++t){var s,i=(s=a[t]).split("|");E.resyncFolderUnreadCount(i[1],i[0]),"inbox"===i[1]&&(n=!0)}n&&window.stEnableSpamfoo&&E.resyncClassificationCounts()},E.reset=function(){E.searchText="",E.selectedEmailUids=[],m=void 0,S.data.length=0,S.map.length=0,S.selectedBranchData={},b.data.length=0,b.map.length=0,b.selectedBranchData={},y.params={},f=void 0},E.resyncFolderUnreadCount=function(t,r){r||(r=d.user.emailAddress);var n={Folder:t=t.toLowerCase(),OwnerEmailAddress:r};return a.post("~/api/v1/folders/folder",n).then((function(a){var t=S.map[n.OwnerEmailAddress+"|"+n.Folder],r=b.map[n.OwnerEmailAddress+"|"+n.Folder];null!=t&&(t.data.count="drafts"===n.Folder||"Scheduled8c61c74014d4e679d52c0a6aca4342b"===a.data.folder.path?a.data.folder.totalMessages:a.data.folder.unread,t.data.totalMessages=a.data.folder.totalMessages,t.data.unreadCount=a.data.folder.unread),null!=r&&(r.data.count="drafts"===n.Folder||"Scheduled8c61c74014d4e679d52c0a6aca4342b"===a.data.folder.path?a.data.folder.totalMessages:a.data.folder.unread,r.data.totalMessages=a.data.folder.totalMessages,r.data.unreadCount=a.data.folder.unread),"inbox"!==n.Folder||""!==n.OwnerEmailAddress&&void 0!==n.OwnerEmailAddress&&n.OwnerEmailAddress!==d.user.emailAddress||(g=a.data.folder.unread,e.$broadcast("mail:unreadCountChanged"))}),(function(e){}))},E.sortFolders=A,E.loadCurrentDelayData=function(e){E.currentDelayData=e},E.isDelayActive=function(e){var a=E.currentDelayData;return a&&a.uid&&e.indexOf(a.uid)>-1&&a.timeLeftMs>0},E.isAnyDelayActive=function(){var e=E.currentDelayData;return!!(e&&e.uid&&e.timeLeftMs>0)},E.changeMessageClassification=function(e,t,r,n,s,i){var o={uids:e,folder:t,classification:n,moveToInbox:s||!1,createRule:i||!1};return a.post("~/api/v1/mail/change-classification",o)},E.promptSpamFooConsentIfNeeded=function(e,a){var r=i.userSettings||{},s=i.userDomainSettings||{};if(!(window.stEnableSpamfoo&&s.enableClassification&&r.enableClassification&&!1!==s.providerReportSpamHam)||r.sendEmailTextPrompted)return t.when({proceed:!0,sendEmailText:!0===r.sendEmailText});return n.show({locals:{titleKey:"SPAMFOO_CONSENT_TITLE",messageKey:"SPAMFOO_CONSENT_MESSAGE",disclaimerKey:null,
95shareKey:"YES",dontShareKey:"NO",cancelKey:null},controller:"dataConsentController",controllerAs:"ctrl",templateUrl:"app/email/modals/data-consent.dlg.html",clickOutsideToClose:!1,escapeToClose:!0}).then((function(e){return e&&"boolean"==typeof e.consent?i.saveSpamFooConsentSettings(e.consent).then((function(){return i.userSettings.sendEmailText=e.consent,i.userSettings.sendEmailTextPrompted=!0,{proceed:!0,sendEmailText:e.consent}})):{proceed:!1,sendEmailText:!1}}),(function(){return{proceed:!1,sendEmailText:!1}}))},E.getClassificationCounts=function(){return F},E.loadClassificationCounts=R,E.resyncClassificationCounts=function(){return R()};var C=_.debounce(N,50,!0),F={primary:0,transactions:0,updates:0,promotions:0,unclassified:0};function D(e,a,t){if(e.isMappedFolder&&e.translatedName&&e.translatedName.indexOf(" - ")>0){var n=e.translatedName.split(" - ");if(c.isBuiltinFolder(n[1])){var s=r("translate")(n[1])||e.displayPath;n[1]!=s&&(e.translatedName=n[0]+" - "+s)}}var i=null!=e.translatedName?r("translate")(e.translatedName):e.name;null!=e.translatedName&&(e.untranslatedName=e.translatedName);for(var o=0;o<h.length;o++)if(1===h[o].shareType&&h[o].permissions>0&&h[o].resourceName.toLowerCase()===e.path.toLowerCase()&&e.ownerEmailAddress.toLowerCase()===d.user.emailAddress.toLowerCase()){e.isBeingShared=!0;break}var l={label:i,data:{mid:e.id,id:e.name,count:"DRAFTS"===i||"Drafts"===i||"Scheduled8c61c74014d4e679d52c0a6aca4342b"===e.path?e.totalMessages:e.unread,path:e.path,canDelete:e.canDelete,canEdit:e.canEdit,owner:e.ownerEmailAddress,access:e.access,key:e.ownerEmailAddress+"|"+e.path.toLowerCase(),isShared:0!=e.access||e.isBeingShared,isBeingShared:e.isBeingShared,isDisposable:d.user.settings.features?.enableDisposableAddresses&&v&&v.folder===e.path,deleteBehavior:e.deleteBehavior,label:i,untranslatedName:e.untranslatedName,unclickable:!e.id,isMappedFolder:!!e.isMappedFolder,isMappedSubfolder:!!e.isMappedSubfolder,unreadCount:e.unread||0,totalMessages:e.totalMessages||0}};return-1!==E.expansionList.indexOf(l.data.key)?l.expanded=!0:l.expanded=!1,null!=e.subFolders&&(l.children=[],$.each(e.subFolders,(function(e,r){l.children.push(D(r,a,t))}))),l}function w(e,a){if(a?b.map[e.data.key]=e:S.map[e.data.key]=e,e.children){e.children=A(e.children);for(var t=0;t<e.children.length;++t)w(e.children[t],a)}}function A(e){return r("orderBy")(e,x,!1,T)}function x(e){return e}function T(e,a){var t=e&&e.value&&e.value.data,r=a&&a.value&&a.value.data;return t&&r?"SHARED_WITH_ME"==e.value.data.id?1:"SHARED_WITH_ME"==a.value.data.id?-1:e.value.label.localeCompare(a.value.label):0}function M(e,a){if(a.done&&a.affectedFolders)for(var t=0;t<a.affectedFolders.length;++t)E.resyncFolderUnreadCount(a.affectedFolders[t])}function L(e,a){for(var t=0;t<e.subFolders.length;++t){for(var n=e.subFolders[t],s=0,i=0;i<a.length;++i)if(a[i].path===e.path){s=i;break}s||(s=a.length-1),"SHARED_WITH_ME"===e.name?(n.name=r("translate")(e.name)+"/"+n.name,n.sortName=String.fromCharCode(255)+n.name):n.name=e.name+"/"+n.name,a.splice(s+1,0,n),n.subFolders&&L(n,a)}return a}function O(){B(!0)}function N(){return a.get("~/api/v1/mail/disposable-address").then((function(e){f=e.data.success?{address:e.data.alias.address,expireTime:moment(e.data.alias.disposeExpireTime),folder:e.data.alias.folder}:void 0}),(function(e){f=void 0}))}function B(a){var r=t.defer();return p&&!a?(f&&f.expireTime<moment()&&(f=void 0,e.$broadcast("disposableAddress:changed")),t.when(f)):((a?N:C)().then((function(a){p=!0,r.resolve(f),e.$broadcast("disposableAddress:changed")}),(function(e){r.resolve(f)})),r.promise)}function R(){return i.userDomainSettings.enableClassification&&i.userSettings.enableClassification?a.post("~/api/v1/mail/classification-counts",{}).then((function(a){return a.data&&a.data.success&&(F.primary=a.data.primary||0,F.transactions=a.data.transactions||0,F.updates=a.data.updates||0,F.promotions=a.data.promotions||0,F.unclassified=a.data.unclassified||0,e.$broadcast("classificationCountsUpdated",F)),F})):t.when(F)}E.lastSelectedBranchData=s.getSessionSortingFilteringParam("email","treeSelectedBranchData")||s.getSessionSortingFilteringParam("email","shortTreeSelectedBranchData")||{},e.$on("disposableAddressModified",O)}e.$inject=["$rootScope","$http","$q","$filter","$mdDialog","preferencesStorage","coreDataSettings","browserNotifications","userDataService","userTimeService","folderNameTranslator","apiCategories"],angular.module("smartermail").service("coreDataMail",e)}();
96!function(){"use strict";function e(e,r,t,n,o,s,i,a,c,u,l,d){var f,m,g,p=!1,v=!1,h=null,S=!1,w=[],y=[],F=[],N={data:[],map:[],selectedBranchData:{}},b={data:[],map:[],selectedBranchData:{}},D=null,C=this;function O(){var t=r.defer();return v?t.resolve():e.get("~/api/v1/notes/sources").then(I,P).then((function(){w=[],u.resetResources(),u.settingsData.resources.then((function(e){for(var r=0;r<e.length;r++)5===e[r].shareType&&(w[e[r].resourceName]=e[r].permissions>0);t.resolve()}),(function(e){t.resolve()})),v=!0,S=!1}),(function(e){v=!1,S=!1,t.reject(e)})),t.promise}function I(e){"my notes"!==(y=e.data.sharedLists)[0].displayName.toLowerCase()&&"MY_NOTES"!==y[0].displayName||(y[0].untranslatedName="MY_NOTES"),l.cleanSourceVisibilities("notes",y),y.forEac
96h((e=>e.enabled=l.getSourceVisibility("notes",e,!0))),y.sort(d.defaultNoteSourceComparer)}function P(e){return e}C.reloadOnEnter=!1,C.ignoreNoteModified={requested:moment(),ignored:moment()},C.ignoreNoteRemoved={requested:moment(),ignored:moment()},C.categories=function(){return c.getMasterCategories()},C.resetSources=function(){v=!1,d.invalidateSources()},C.resetNotes=function(){return S=!1,R()},C.reloadSource=function(e){var t=e.itemID+"|"+(e.ownerUsername||"");return D=t,h&&(s.cancel(h),h=null),F=$.grep(F,(function(r){return r.sourceId===e.itemID&&r.sourceOwner===e.ownerUsername}),!0),r.when(T(e)).finally((function(){s((function(){D===t&&(D=null)}),1e3)}))},C.areNotesLoaded=function(){return S},C.parameters={get sortField(){var e=l.getSessionSortingFilteringParam("notes","sortField");return void 0===e&&(e="lastModifiedUTC",l.setSessionSortingFilteringParam("notes","sortField",e)),e},set sortField(e){l.setSessionSortingFilteringParam("notes","sortField",e)},get isDescending(){var e=l.getSessionSortingFilteringParam("notes","isDescending");return void 0===e&&(e=!0,l.setSessionSortingFilteringParam("notes","isDescending",e)),e},set isDescending(e){l.setSessionSortingFilteringParam("notes","isDescending",e)},get sortReverse(){var e=l.getSessionSortingFilteringParam("notes","sortReverse");return void 0===e&&(e=!1,l.setSessionSortingFilteringParam("notes","sortReverse",e)),e},set sortReverse(e){l.setSessionSortingFilteringParam("notes","sortReverse",e)},get categoryFilters(){const e=c.getCategoryFilter("notes");return e?e.categoryData:[]},get colorFilters(){var e=l.getSessionSortingFilteringParam("notes","colorFilters");return void 0===e&&(e=["#FFFFFF","#FAD122","#FDB2B3","#68BD45","#006693","white","yellow","pink","green","blue"],l.setSessionSortingFilteringParam("notes","colorFilters",e)),e},set colorFilters(e){l.setSessionSortingFilteringParam("notes","colorFilters",e)},get currentView(){var e=l.getSortingFilteringParam("notes","currentView");return void 0===e&&(e="CARD_VIEW",l.setSortingFilteringParam("notes","currentView",e)),e},set currentView(e){l.setSortingFilteringParam("notes","currentView",e)},get hasCategoryFilter(){const e=c.getCategoryFilter("notes");return!e||!e.allSelected()},get filterType(){return l.getSessionSortingFilteringParam("notes","filterType")},set filterType(e){l.setSessionSortingFilteringParam("notes","filterType",e)}},C.parameters.searchText="",C.listDataCache={},C.init=function(){if(f)return f.promise;return p?r.when():((f=r.defer()).promise.finally((function(){f=void 0})),p=!0,f.resolve(),f.promise)},C.reset=function(){p=!1,v=!1,S=!1,y=[],F=[],C.listDataCache={}},C.addNote=async function(r){var t=r.sourceOwner;r.text=B(r.text),C.ignoreNoteModified.requested=moment();var o=JSON.stringify(r);let s=await e.post(`~/api/v1/notes/note-put/${r.sourceId}/${t}/`,o);$.extend(s.data.note,s.data.note,{sourceOwner:t,sourceId:r.source.itemID,sourceName:r.source.displayName,sourcePermission:r.source.access,isVisible:r.source.enabled}),V(s.data.note,t),r.source.enabled&&F.push(s.data.note);return n.$broadcast("notesRefresh"),s.data.note},C.addNotes=async function(t,o){r.defer();$.each(t,(function(e,r){r.text=B(r.text)}));var s=JSON.stringify(t);C.ignoreNoteModified.requested=moment();let i=await e.post(`~/api/v1/notes/notes-put/${o.itemID}/${o.ownerUsername}`,s);for(var a=0;a<i.data.notes.length;++a)$.extend(i.data.notes[a],i.data.notes[a],{sourceOwner:t[a].sourceOwner,sourceId:t[a].sourceId,sourceName:t[a].sourceName,sourcePermission:t[a].sourcePermission,isVisible:t[a].isVisible}),V(i.data.notes[a],t[a].sourceOwner),i.data.notes[a].isVisible&&F.push(i.data.notes[a]);n.$broadcast("notesRefresh")},C.startNotesImport=function(r,t){$.each(r,(function(e,r){r.text=B(r.text)}));var n=JSON.stringify(r);return e.post("~/api/v1/notes/notes-start-import/"+t.itemID+"/"+(t.ownerUsername||"~"),n)},C.deleteNotes=function(e,r){var t=null;if(e){t=null!=(t=e.split("@"))[0]?t[0]:""}angular.forEach(r,(function(e,r){F=$.grep(F,(function(r){return r.id===e&&r.sourceOwner===t}),!0)})),n.$broadcast("notesRefresh")},C.editNote=async function(r){r.text=B(r.text);var t=JSON.stringify(r);C.ignoreNoteModified.requested=moment(),await e.post(`~/api/v1/notes/note-patch/${r.id}/${r.sourceId}/${r.sourceOwner}`,t);var o=$.grep(F,(function(e){return e.id===r.id&&e.sourceOwner===r.sourceOwner}));if(o.length>0){var s=F.indexOf(o[0]);s>-1&&(r.sourceOwner=F[s].sourceOwner,r.sourceId=F[s].sourceId,r.sourceName=F[s].sourceName,r.sourcePermission=F[s].sourcePermission,r.isVisible=F[s].isVisible,V(r,r.sourceOwner),F[s]=r)}n.$broadcast("notesRefresh")}
96,C.ensureSourcesLoadedPromise=function(){return O()},C.ensureNotesLoadedPromise=function(){return R()},C.getCardById=function(e){return $.grep(F,(function(r){return r.id===e}))},C.getColorsTree=function(){return b},C.getFilteredNotes=function(){var e=C.parameters.hasCategoryFilter?$.grep(F,(function(e){return function(e){const r=C.parameters.categoryFilters;return e.categoriesMetaData&&e.categoriesMetaData.some((e=>e.selected))?e.categoriesMetaData.some((e=>e.selected&&r.some((r=>r.selected&&r.name===e.name)))):r.some((e=>e.noCategory&&e.selected))}(e)})):F;return e=function(e){return void 0===C.parameters.filterType?e:$.grep(e,(function(e){return function(e){const r=C.parameters.filterType;return void 0===r||0===r.length||!(!e.hasAttachments||1!==r)}(e)}))}(e=function(e){return $.grep(e||[],(function(e){return function(e){var r=$.grep(C.parameters.colorFilters||[],(function(r){return r.toLowerCase()===e.color.toLowerCase()}));return r.length>0}(e)}))}(e)),e=t("filter")(e,E),e=t("orderBy")(e,C.parameters.sortField,C.parameters.isDescending)},C.getNote=async function(r,t,n){var o=(await e.get(`~/api/v1/notes/note/${r}/${t}/${n}/`)).data.note;o.text||(o.text="");return V(o,n),o},C.getNotes=function(){return F},C.getSources=function(){return y},C.getSourcesTree=function(){return N},C.listDataProvider=function(e){for(var r=[],t=0,n=C.getFilteredNotes(),o=e.start;o<e.start+e.take&&null!=n[o];o++)r[t++]=n[o];return e.defer.resolve(r),e.defer.promise},C.loadColorsTree=function(e,n){var o=r.defer();null!=e&&null!=e||!m||(e=m);if(n||0==b.data.length)!function(e){var r=[{name:"WHITE",color:"#FFFFFF"},{name:"YELLOW",color:"#FAD122"},{name:"PINK",color:"#FDB2B3"},{name:"GREEN",color:"#68BD45"},{name:"BLUE",color:"#006693"}];b.data=[],b.map=[],$.each(r,((e,r)=>{b.data.push(function(e){var r=t("translate")(e.name),n={label:r,data:{id:e.name,isShared:!1,showEye:!0,isVisible:C.parameters.colorFilters.indexOf(e.color)>-1,color:e.color,disableUnderline:!0}};return b.map[n.data.key]=n,n}(r))})),e.resolve()}(o),e&&(m=e);else{null!=b.map[b.selectedBranchData.key]&&(e&&(m=e),o.resolve(!1)),o.resolve(!0)}return o.promise},C.loadSourcesTree=function(e,n){if(g)return g.promise;g=r.defer(),null!=e&&null!=e||!m||(e=m);n&&C.resetSources();if(n||0==N.data.length)o=g,O().then((function(){let e=[],r=[];$.each(y,(function(n,o){o.ownerUsername==a.user.username&&(o.isBeingShared=w[o.itemID]||!1),e.push(function(e,r){const n=e.isSharedItem?t("folderTranslate")(e.displayName,e.owner):t("folderTranslate")(e.displayName);var o={label:n,data:{id:e.displayName,isShared:e.ownerUsername!=a.user.username||e.isBeingShared,isSharedByOther:e.ownerUsername!==a.user.username||e.isDomainResource,isDomainResource:e.isDomainResource,showEye:!0,isVisible:e.enabled,source:e,isBeingShared:e.isBeingShared,isPrimary:e.isPrimary}};return r[o.data.key]=o,o}(o,r))})),N.data=e,N.map=r,o.resolve()})),e&&(m=e);else{null!=N.map[N.selectedBranchData.key]&&(e&&(m=e),g.resolve(!1)),g.resolve(!0)}var o;return g.promise.finally((function(){g=null})),g.promise},C.modifyNote=async function(e,t,o){if(!e)return;var s=e.split("@");if(""===(s=null!=s[0]?s[0]:""))return;var i=$.grep(y,(function(e){return e.ownerUsername===s}));if(i.length>0&&i[0].enabled){F=$.grep(F,(function(e){return e&&e.sourceName===i[0].displayName}),!0);var a=[];a.push(T(i[0])),r.all(a).then((function(){n.$broadcast("notesRefresh")}),(function(){}))}},C.removeSingleNote=async function(r,t,o){await e.post(`~/api/v1/notes/note-delete/${o}/${t}/${r}`),n.$broadcast("notesRefresh")},C.removeNotes=async function(o){r.defer();if(!angular.isArray(o))throw t("translate")("ERROR");angular.forEach(o,(function(e,r){if(!e.id){var t=C.getCardById(e);t.length>0?o[r]=t[0]:e={sourceOwner:"",sourceId:"",id:""}}})),C.ignoreNoteRemoved.requested=moment();var s=JSON.stringify($.map(o,(e=>({sourceOwner:e.sourceOwner,id:e.id,sourceId:e.sourceId}))));await e.post("~/api/v1/notes/delete-bulk",s),angular.forEach(o,(function(e){F=$.grep(F,(r=>r.id===e.id&&r.sourceId===e.sourceId&&r.sourceOwner===e.sourceOwner),!0)})),n.$broadcast("notesRefresh")},C.updateSourceVisibility=async function(e,r){null!=r&&(e.enabled=r);
96l.setSourceVisibility("notes",e),y.forEach((e=>e.enabled=l.getSourceVisibility("notes",e,!0))),e.enabled?await T(e):F=$.grep(F,(function(r){return r.sourceId===e.itemID&&r.sourceOwner===e.ownerUsername}),!0)};var x=null;function R(){if(S)return r.when();if(x)return x;var e=r.defer();x=e.promise,F.length=0;var t=[];return angular.forEach(y,(function(e){e.enabled&&t.push(T(e))})),r.all(t).then((function(r){S=!0,e.resolve()}),(function(r){S=!1,e.reject(r)})).finally((function(){x=null})),e.promise}async function T(r){try{let o=r.ownerUsername||"~";var t=(await e.get(`~/api/v1/notes/notes/${o}/${r.itemID}/`)).data.notes,n=new Set(t.map((function(e){return e.id})));F=$.grep(F,(function(e){return!(e.sourceOwner===r.ownerUsername&&n.has(e.id))})),t.forEach((e=>{if(e.text||(e.text=""),!e.subject){var t=e.text.indexOf(">")+1,n=e.text.indexOf("</");n=n-t>15?t+15:n,e.subject=e.text.substring(t,n)}e.dateCreated=moment(e.dateCreated).format(),V(e,r.ownerUsername),e.sourceOwner=r.ownerUsername,e.sourceId=r.itemID,e.sourceName=r.displayName,e.sourcePermission=r.access,e.isVisible=r.enabled,F.push(e)}))}catch(e){console.warn("Failed to load notes for source: "+r.displayName,e)}}function V(e,r){e.convertedColor=(e.color||"").toLowerCase(),"white"==e.convertedColor&&(e.convertedColor="var(--notes-color-white)"),"yellow"==e.convertedColor&&(e.convertedColor="var(--notes-color-yellow)"),"pink"==e.convertedColor&&(e.convertedColor="var(--notes-color-pink)"),"green"==e.convertedColor&&(e.convertedColor="var(--notes-color-green)"),"blue"==e.convertedColor&&(e.convertedColor="var(--notes-color-blue)"),e.categories=e.categoriesMetaData||[],r&&c.addRgbColorsToCategories(r,e.categories),e.categoriesString=c.generateNameString(e.categories)}function B(e){try{var r=$(e),t=a.user.settings.userMailSettings.composeFontSize,n=a.user.settings.userMailSettings.composeFont;return"lucida"==n&&(n="lucida sans"),1!==r.length?(r.wrapAll(`<div style='font-family: ${n}; font-size: ${t};'>`),r=r.parent()):(r.css("font-family")||r.css("font-family",n),r.css("font-size")||r.css("font-size",t)),e=r[0].outerHTML}catch(r){return e}}function E(e){var r=C.parameters.searchText||"";return r=r.toLowerCase(),e.subject.toLowerCase().indexOf(r)>-1||e.text.toLowerCase().indexOf(r)>-1}}e.$inject=["$http","$q","$filter","$rootScope","$log","$timeout","$translate","userDataService","apiCategories","coreDataSettings","preferencesStorage","apiNoteSources"],angular.module("smartermail").service("coreDataNotes",e)}();
97!function(){"use strict";function e(e,t,r,n,a,d){var i=this,o=!1,s=null,l=!1,f=!1,u=[],c={},p={},h=h;function v(){return e.get("~/api/v1/rss/feed-hierarchy").then((function(e){u=e.data.folders,l=!0}),(function(e){l=!1,u=[]}))}function m(){return u=[],l=!1,v()}function h(){return p}function F(e){if(0!=c.data.length&&!e)return c;var t={};if(c.mapById)for(var r in c.mapById)c.mapById.hasOwnProperty(r)&&(t[r]={expanded:c.mapById[r].expanded});p.data=[],p.map={},p.selectedBranchData={},c.data=[],c.map={},c.mapById={},c.selectedBranchData={},f=!0;for(var n=0;n<u.length;n++)y(u[n],null);for(var r in f=!1,I(),t)t.hasOwnProperty(r)&&c.mapById[r]&&c.mapById[r].children&&c.mapById[r].children.length&&(c.mapById[r].expanded=t[r].expanded);return c}function y(e,t){var r=null==t,a=null!=t&&null==t.data.parentFolderId,d=r?"/"+e.folderId:t.data.path+"/"+e.folderId,i=r?"ROOT_FOLDER":a?"/"+e.displayName:t.data.displayPath+"/"+e.displayName,o={label:r?n.instant("RSS_FEEDS_ALL_FEEDS"):e.displayName,data:{id:e.folderId,key:"folder"+e.folderId,count:0,path:d,displayPath:i,parentFolderId:t?t.data.id:null,parentPath:t?t.data.path:null,parentDisplayPath:t?t.data.displayPath:null,isFolder:!0,allFeed:r},expanded:null==t,children:[]};(c.map[d]=o,c.mapById[e.folderId]=o,r)?(p.data.push(o),p.map[o.data.id]=o,p.map["All Feeds"]=o):(a?c.data:t.children).push(o);if(e.children)for(var s=0;s<e.children.length;s++)y(e.children[s],o);if(e.feeds)for(var l=0;l<e.feeds.length;l++){var f=e.feeds[l],u={label:f.displayName,data:{id:f.id,key:"feed"+f.id,count:0,path:f.feedUrl,folder:f.folderId,parentPath:o&&o.data.path,data:f}};r?c.data.push(u):o.children.push(u),c.map[f.id]=u,g(u,!1,f.unreadItems)}e.feeds.length||e.children.length||r||o.children.push({data:{hide:!0}})}function g(e,t,r){r=r||0==r?r:1,e.data.count+=t?-r:r,e.data.count<0&&(e.data.count=0),I()}function I(){if(f)return 0;for(var e=0,t=0;t<c.data.length;t++){e+=j(c.data[t])}
97var r=p.map["All Feeds"];return r&&(r.data.count=e),e}function j(e){if(!e.data.isFolder)return e.data.count;for(var t=0,r=0;r<e.children.length;r++){var n=e.children[r];n.data.isFolder?t+=j(n):t+=n.data.count||0}return e.data.count=t,t}i.data={get feeds(){return function(){var e=t.defer();return l?t.when($.extend(!0,[],u)):(v().then((function(t){e.resolve($.extend(!0,[],u))}),(function(t){e.reject("RSS_FEEDS_ERRORS_FAILED_LOAD_FEEDS")})),e.promise)}()},get feedTree(){return F()},get shortTree(){return h()}},i.init=function(){if(s)return s.promise;if(o)return t.when();var e=(s=t.defer()).promise;o?defer.resolve():v().then((function(){o=!0,s.resolve(),s=null}),(function(e){o=!1,s.reject(e),s=null}));return e},i.reset=function(){u=[],c.data=[],c.map={},c.mapById={},c.selectedBranchData={},p.data=[],p.map={},p.selectedBranchData={},o=!1,l=!1},i.recalculateAllCounters=I,i.fireRssContentsUpdated=function(e){o&&a.$broadcast("coreDataRss.rssContentsUpdated",e)},i.getRssFeed=function(n){var a=t.defer();if(n.length<=0)return a.reject({failure:{data:{message:"RSS_FEEDS_NO_FEEDS_SELECTED"}}}),a.promise;return e.post("~/api/v1/rss/get-rss-data",JSON.stringify({ids:n})).then((function(e){for(var t=[],n=0;n<e.data.data.length;++n){var d=e.data.data[n];t.push(d)}t=r("orderBy")(t,"pubDate",!0),a.resolve({data:{items:t,singleFeed:e.data.rssFeed}})}),(function(e){a.reject(e)})),a.promise},i.addFeed=function(r){var n=t.defer(),a=JSON.stringify(r);return e.post("~/api/v1/rss/feed-put",a).then((function(e){m().then((function(){n.resolve(e)}),n.reject)}),n.reject),n.promise},i.editFeed=function(r){var n=t.defer(),a=JSON.stringify(r);return e.post("~/api/v1/rss/feed-patch/"+r.feedId,a).then((function(e){m().then((function(){n.resolve(e)}),n.reject)}),n.reject),n.promise},i.deleteFeed=function(r){var n=t.defer();return e.post("~/api/v1/rss/feed-delete/"+r.uid).then((function(e){m().then((function(){n.resolve()}),n.reject)}),(function(e){n.reject(e)})),n.promise},i.markFeedRead=function(r,n){var a=t.defer();return e.post("~/api/v1/rss/mark-feed/"+n,JSON.stringify({feedIds:r})).then((function(e){for(var t=0;t<r.length;++t){c.map[r[t]].data.count=e.data.counts[t],I()}a.resolve()}),(function(e){a.reject(e)})),a.promise},i.markReadUnread=g,i.refreshRssFeed=function(r){var n=t.defer();return e.post("~/api/v1/rss/refresh-feed",JSON.stringify({ids:r})).then((function(e){m().then((function(){n.resolve()}),n.reject)}),(function(e){n.reject(e)})),n.promise},i.updateFeeds=m,i.reloadFeedTree=function(){F(!0)},i.addFolder=function(r,n){var a=t.defer();return e.post("~/api/v1/rss/folder-put",{parentFolderId:r,name:n}).then((function(e){m().then((function(){a.resolve(e)}),a.reject)}),a.reject),a.promise},i.editFolder=function(r,n,a){var d=t.defer();return e.post("~/api/v1/rss/folder-patch",{folderId:r,parentFolderId:n,name:a}).then((function(e){m().then((function(){d.resolve(e)}),d.reject)}),d.reject),d.promise},i.deleteFolder=function(r){var n=t.defer();return e.post("~/api/v1/rss/delete-folder",{folderId:r}).then((function(e){m().then((function(){n.resolve(e)}),n.reject)}),(function(e){n.reject(e)})),n.promise}}e.$inject=["$http","$q","$filter","$translate","$rootScope","$log"],angular.module("smartermail").service("coreDataRss",e)}();
98!function(){"use strict";function e(e,t,n,r,i,s,o,a,u){var c=this;this.userSettings={},this.userForwardSettings={};var f={},l={},d=!1,v=!1;this.userSignatureMappings={},this.userSignatures={};var h={},g=!1,p=[];this.userPermissions={},this.userProperties={},this.userDomainSettings={};var m={},S=!1,C={},E=!1,_={},A=!1,I={},x=!1,D={},L=!1,O=[],T=!1,j={},w=!1,b={},F=!1,N={},M=!1,R={},y=!1,P={},U=!1,k={},V=!1,H=0,G=0,Z=0,B=0,q=0,W=void 0;c.migrationID=void 0,c.queryUsers=function(n,r){var i=t.defer();(null==r||!0!==r&&!1!==r)&&(r=!0);return e.get("~/api/v1/settings/search-users/"+n+"/"+r).then((function(e){var t=e.data.userData.map((function(e){return{userName:e.userName,emailAddress:e.emailAddress,fullName:e.fullName}}));i.resolve(t)}),(function(e){i.resolve([])})),i.promise},c.saveSpamFooConsentSettings=function(t){var n={userMailSettings:{sendEmailText:!0===t}};return e.post("~/api/v1/settings/user-mail",JSON.stringify(n))},this.reloadUserSignatures=function(){ie()},this.reloadUserSignatureMappings=function(){re()};var z=0,J=0;this.skipNextUserSignaturesEvent=function(e){z=e?1:0},this.skipNextSignatureMappingsEvent=function(e){J=e?1:0},this.settingsData={get highAvailabilityId(){return function(){if(!window.stHA)return t.when(null);if(X)return t.when(X);var n=t.defer();return e.get("~/api/v1/settings/high-availability-id").then((function(e){X=e.data.result,n.resolve(X)}),(function(e){n.resolve("")})),n.promise}()},get userConnectedServices(){return function(){var n=t.defer();if(d)return t.when(f);return function(){var n=t.defer();return e.get("~/api/v1/settings/connected-services").then((function(e){e.data.connectedService?(f=e.data.connectedService,d=!0):(f=[],d=!1),n.resolve()}),(function(e){f={},n.reject()})),n.promise}().then((function(e){n.resolve(f)}),(function(e){n.reject("FAILED_TO_LOAD_CONNECTED_SERVICES")})),n.promise}()},set userConnectedServices(e){f=e||{}},get allUserConnectedServices(){return function(){var n=t.defer();if(v)return t.when(l);return function(){var n=t.defer();return e.get("~/api/v1/settings/connected-services").then((function(e){e.data.connectedService?(l=e.data.connectedService,v=!0):(l=[],v=!1),n.resolve()}),(function(e){f={},n.reject()})),n.promise}().then((function(e){n.resolve(l)}),(function(e){n.reject("FAILED_TO_LOAD_CONNECTED_SERVICES")})),n.promise}()},set allUserConnectedServices(e){l=e||{}},get userSyncDevices(){return se||(se=t.defer(),e.get("~/api/v1/settings/sync-devices").then((function(e){p=e.data.devices,angular.forEach(p,(function(e,t){e.lastSyncTimeUTC=moment(e.lastSyncTimeUTC),e.
98id=c.generateNewShortGuid()}))}),(function(){p=[]})).then((function(){se.resolve(p)}),(function(){se.reject("FAILED_TO_LOAD_SYNC_DEVICES")})).finally((function(){se=null}))),se.promise},set userSyncDevices(e){p=e||{}},get userEvents(){return function(){var n=t.defer();if(S)return t.when(m);return function(){var n=t.defer();return e.post("~/api/v1/settings/event-hooks-by-owner").then((function(e){S=!0,m=e.data.eventHooks,n.resolve()}),(function(e){m={},S=!1,n.reject()})),n.promise}().then((function(e){n.resolve(m)}),(function(e){n.reject("FAILED_TO_LOAD_USER_EVENTS")})),n.promise}()},set userEvents(e){m=e||{}},get aviliableEventVars(){return function(){var n=t.defer();if(A)return t.when(_);return function(){var n=t.defer();return e.get("~/api/v1/settings/event-variables").then((function(e){A=!0,_=e.data.variables,n.resolve()}),(function(e){_={},A=!1,n.reject()})),n.promise}().then((function(e){n.resolve(_)}),(function(e){n.reject("FAILED_TO_LOAD_EVENT_VARS")})),n.promise}()},get availiableTimeZones(){return ce()},get aviliableUserEvents(){return E?t.when(C):(oe||(oe=t.defer(),(n=t.defer(),e.post("~/api/v1/settings/user-events").then((function(e){C=e.data.events,E=!0,n.resolve()}),(function(){C={},E=!1,n.reject()})),n.promise).then((function(){oe.resolve(C)}),(function(){oe.reject("FAILED_TO_LOAD_AVAILABLE_USER_EVENTS")})).finally((function(){oe=null}))),oe.promise);var n},get autoCompleteList(){return function(){if(F)return t.when(b);return ae||(ae=t.defer(),function(){var n=t.defer();return e.get("~/api/v1/settings/auto-complete-list").then((function(e){b=e.data.emailData,F=!0,n.resolve()}),(function(){b=[],F=!1,n.reject()})),n.promise}().then((function(){ae.resolve(b),ae=null}),(function(){ae.reject("FAILED_TO_LOAD_AUTO_COMPLETE_LIST"),ae=null}))),ae.promise}()},set autoCompleteList(e){b=e||[]},get retrievalAccounts(){return function(){var n=t.defer();if(M)return t.when(N);return function(){var n=t.defer();return e.get("~/api/v1/settings/retrieval-accounts").then((function(e){N=e.data.accounts,M=!0,n.resolve()}),(function(e){N=[],M=!1,n.reject()})),n.promise}().then((function(e){n.resolve(N)}),(function(e){n.reject("FAILED_TO_LOAD_RETRIEVAL_ACCOUNTS")})),n.promise}()},set retrievalAccounts(e){N=e||[]},get contentFiltering(){return function(){var n=t.defer();if(L)return t.when(D);return function(){var n=t.defer();return e.get("~/api/v1/settings/content-filter-groups").then((function(e){D=e.data.contentFilterGroups,L=!0,n.resolve()}),(function(e){D={},L=!1,n.reject()})),n.promise}().then((function(e){n.resolve(D)}),(function(e){n.reject("FAILED_TO_LOAD_CONTENT_FILTERING")})),n.promise}()},set contentFiltering(e){D=e||{}},get migrationStatus(){return function(){var e={messagesImported:H,contactsImported:G,calendarsImported:Z,tasksImported:B,notesImported:q,doneImporting:W};!0===e.doneImporting&&c.resetMigrationStatus();return e}()},set migrationStatus(e){var t;t=e,W=!1,angular.forEach(t,(function(e){switch(e.type){case 0:W=e.done;break;case 1:H=e.count;break;case 2:Z=e.count;break;case 3:G=e.count;break;case 4:B=e.count;break;case 5:q=e.count}})),i.$broadcast("migrationRefresh")},get spamIp4r(){return function(){var n=t.defer();if(x)return t.when(I);return function(){var n=t.defer();return e.get("~/api/v1/settings/ip4r-lookup").then((function(e){I=e.data.ip4rLookup,x=!0,n.resolve()}),(function(e){I={},x=!1,n.reject()})),n.promise}().then((function(e){n.resolve(I)}),(function(e){n.reject("FAILED_TO_LOAD_SPAM_IP4R")})),n.promise}()},get resources(){return T?t.when(O):(le||(le=t.defer(),(n=t.defer(),e.get("~/api/v1/settings/shared-resources").then((function(e){O=e.data.sharedResources,T=!0,n.resolve()}),(function(e){O=[],T=!1,n.reject()})),n.promise).then((function(e){le.resolve(O)}),(function(e){le.reject("FAILED_TO_LOAD_RESOURCES")})),le.promise.finally((function(){le=null}))),le.promise);var n},set resources(e){O=e||{}},get userList(){return e.get("~/api/v1/settings/list-users").then((function(e){return e.data.userData}),(function(e){return[]}))},set userList(e){e||{}},get userGroups(){return function(){var n=t.defer();if(y)return t.when(R);return function(){var n=t.defer();return e.get("~/api/v1/settings/all-user-groups").then((function(e){R=e.data.userGroupCollection.customUserGroups,y=!0,n.resolve()}),(function(e){R=[],y=!1,n.reject()})),n.promise}().then((function(e){n.resolve(R)}),(function(e){n.reject("FAILED_TO_LOAD_USER_GROUPS")})),n.promise}()},set userGroups(e){R=e||{}}
98,get mappedResources(){return fe?fe.promise:U?t.when(P):(fe=t.defer(),(n=t.defer(),e.get("~/api/v1/settings/shares-available-to-user").then((function(e){P=e.data.shareConnectorData,U=!0,n.resolve()}),(function(e){P={},U=!1,n.reject()})),n.promise).then((function(){fe.resolve(P)}),(function(){fe.reject("FAILED_TO_LOAD_RESOURCES")})).finally((function(){fe=null})),fe.promise);var n},set mappedResources(e){P=e||{}},get signatureVariables(){return ue()},get domainAliases(){return function(){var n=t.defer();if(V)return t.when(k);return function(){var n=t.defer();return e.get("~/api/v1/settings/domain/domain-aliases").then((function(e){k=e.data.domainAliasData,V=!0,n.resolve()}),(function(e){k={},V=!1,n.reject()})),n.promise}().then((function(e){n.resolve(k)}),(function(e){n.reject("FAILED_TO_LOAD_DOMAIN_ALIASES")})),n.promise}()},set domainAliases(e){k=e||{}}},i.$on("user-domain-settings:changed",te),i.$on("user-settings:changed",ne);var Y=null;i.$on("signalR.mailHub.client.userSignaturesModified",(function(){z?z=0:(Y&&o.cancel(Y),Y=o((function(){Y=null,ie().then((function(){i.$broadcast("user-signatures:changed")}),(function(){}))}),500))}));var K=null;i.$on("signalR.mailHub.client.signatureMappingsModified",(function(){J?J=0:(K&&o.cancel(K),K=o((function(){K=null,re().then((function(){i.$broadcast("signature-mappings:changed")}),(function(){}))}),500))})),i.$on("signalR.mailHub.client.sharesChanged",(function(){T=!1})),i.$on("signalR.mailHub.client.userGroupsModified",(function(){y=!1}));var Q,X,ee=!1;function te(){var n=t.defer();return e.get("~/api/v1/settings/domain").then((function(e){c.userDomainSettings=e.data,n.resolve()}),(function(e){c.userDomainSettings={},n.reject()})),n.promise}function ne(){var n=t.defer();return e.get("~/api/v1/settings/user-mail").then((function(e){c.userSettings=e.data.userMailSettings,moment(c.userSettings.userContactInfo.birthDate)<moment(new Date("1/1/101"))&&(c.userSettings.userContactInfo.birthDate=null),i.$broadcast("user-settings:loaded"),n.resolve()}),(function(e){c.userSettings={},n.reject()})),n.promise}function re(){var n=t.defer();return e.get("~/api/v1/settings/user-signature-maps").then((function(e){c.userSignatureMappings=e.data.signatureMaps,n.resolve()}),(function(e){c.userSignatureMappings={},n.reject()})),n.promise}function ie(){var n=t.defer();return e.get("~/api/v1/settings/user-signatures").then((function(e){c.userSignatures=e.data.signatureConfigs,n.resolve()}),(function(e){c.userSignatures={},n.reject()})),n.promise}this.init=function(){if(Q)return Q.promise;if(ee)return t.when();Q=t.defer();var n,r=[];return r.push((n=t.defer(),e.get("~/api/v1/settings/user").then((function(e){c.userProperties=e.data.userData,n.resolve()}),(function(e){c.userProperties={},n.reject()})),n.promise)),r.push(function(){var n=t.defer();return e.get("~/api/v1/settings/permissions").then((function(e){c.userPermissions=e.data.permissions,n.resolve()}),(function(e){c.userPermissions={},n.reject()})),n.promise}()),r.push(te()),r.push(ne()),r.push(function(){var n=t.defer();return e.get("~/api/v1/settings/mailbox-forward-list").then((function(e){c.userForwardSettings=e.data.mailboxForwardList,n.resolve()}),(function(e){c.userForwardSettings={},n.reject()})),n.promise}()),r.push(re()),r.push(ie()),t.all(r).then((function(){ee=!0,Q.resolve(),Q=null}),(function(e){Q.reject(e),Q=null})).finally((function(){sessionStorage.rememberMe="false"})),Q.promise},this.reset=function(){ee=!1,this.userSettings={},this.userForwardSettings={},f={},l={},d=!1,v=!1,this.userSignatureMappings={},this.userSignatures={},p={},this.userPermissions={},this.userDomainSettings={},this.userProperties={},m={},S=!1,j={},w=!1,I={},x=!1,b={},F=!1,N={},M=!1,O=[],T=!1,R={},y=!1,P={},U=!1,D={},L=!1,k={},V=!1,this.customHelpInfo={text:"",url:""}}.bind(this),this.resetMigrationStatus=function(){H=0,G=0,Z=0,B=0,q=0,W=void 0,c.migrationID=void 0};var se,oe,ae,ue=function(){var n=t.defer();return g?t.when(h):(function(){var n=t.defer();return e.get("~/api/v1/settings/signature-variables").then((function(e){h=e.data.variables,g=!0,n.resolve()}),(function(e){h={},g=!1,n.reject()})),n.promise}().then((function(e){n.resolve(h)}),(function(e){n.reject("FAILED_TO_LOAD_SIGNATURE_VARIABLES")})),n.promise)};function ce(){var n=t.defer();return w?t.when(j):(function(){var n=t.defer();return e.get("~/api/v1/settings/all-timezones").then((function(e){j=e.data.timeZones,w=!0,n.resolve()}),(function(e){j={},w=!1,n.reject()})),n.promise}().then((function(e){n.resolve(j)}),(function(e){n.reject("FAILED_TO_LOAD_TIME_ZONES")})),n.promise)}this.getUserTimeZone=function(){var e=t.defer(),n={};return w?(n=$.grep(j,(function(e){return e.index===c.userSettings.timeZoneIndex})),e.resolve(n)):ce().then((function(t){n=$.grep(j,(function(e){return e.index===c.userSettings.timeZoneIndex})),e.resolve(n)}),(function(t){e.reject("FAILED_TO_FIND_TIMEZONE")})),e.promise},this.getTimeZone=function(e){var n=t.defer(),r={};return w?(r=$.grep(j,(function(t){return t.index===e})),n.resolve(r)):ce().then((function(e){r=$.grep(j,(function(e){return e.index===c.userSettings.timeZoneIndex})),n.resolve(r)}),(function(e){n.reject("FAILED_TO_FIND_TIMEZONE")})),n.promise};var fe,le=null;function de(){var e=[];$.each(c.selectedCards,(function(t,n){c.filteredCards.indexOf(n)>=0&&e.push(t)})),$.each(e.reverse(),(function(e,t){c.selectedCards.splice(t,1)}))}function ve(){$.each(c.filteredCards,(function(e,t){c.selectedCards.indexOf(t)<0&&c.selectedCards.push(t)}))}this.settingAdjustWait=2e3,this.settingBlurWait=0,this.changePageReset=function(){c.filteredCards.length=0,c.cards.length=0,c.selectedCards.length=0,c.newItem=void 0,c.editItem=void 0,c.deleteItems=void 0,c.searchItems=void 0,c.searchEnabled=!1,c.searchText=void 0,c.searchPredicate=void 0,c.selectMode=!1,c.editingItem=!1,c.deselectAll=de,c.selectAll=ve,c.backAction=void 0},this.cards=[],this.filteredCards=[],this.newItem=void 0,this.editItem=void 0,this.deleteItems=void 0,this.searchItems=void 0,this.searchText=void 0,this.searchEnabled=!1,this.searchPredicate=void 0,this.editingItem=!1,this.deselectAll=void 0,this.selectAll=void 0,this.backAction=void 0,this.totalCount=c.cards.length,this.listDataCache={},this.listDataProvider=function(e){for(var t=[],n=0,r=c.getFilteredCards(),i=e.start;i<e.start+e.take&&null!=r[i];i++)t[n++]=r[i];return e.defer.resolve(t),e.defer.promise},this.listController={},this.getFilteredCards=function(){return c.searchEnabled&&c.searchPredicate?c.filteredCards=n("filter")(c.cards,c.searchPredicate):c.filteredCards=c.cards,c.filteredCards},this.updateFilteredCards=function(){c.totalCount=c.cards.length,c.filteredCards=c.getFilteredCards(),c.listController.reset&&c.listController.updateDisplayList&&(c.listController.reset(),c.listController.updateDisplayList())},this.selectMode=!1,this.selectedCards=[],this.setSelectMode=function(e){c.selectedCards.length=0,$("md-card").removeAttr("style"),c.selectMode=e},this.isCardSelected=function(e){$.map(e,(function(t,n){return e.id}));return c.selectedCards.indexOf(e)>-1},this.validateEmailAddress=function(e){return u.isValidEmail(e)},this.validateHexSixColor=function(e){return/^#[a-fA-F0-9]{6}$/.test(e)},this.generateRandomHexColor=function(e){if(e||(e=0),e>2)return"#CDCDCD";var t="#"+Math.floor(16777215*Math.random()).toString(16),n=7-t.length;if(0!==n)for(var r=0;r<n;++r)t+="0";return c.validateHexSixColor(t)?t:t=generateRandomHexColor(e+1)},this.generateNewGuid=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))},this.generateNewShortGuid=function(){return"xxxx-2xxx-yxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))},this.parseUserTimeSpan=function(e){if(!/\d/.test(e))return"";var t=e.split(":");if(parseInt(t[0])>24&&(t[0]="24"),parseInt(t[0])<0&&(t[0]="00"),!t[1])return"";var n=t[1].split(" ");parseInt(n[0])>59&&(n[0]="59"),parseInt(n[0])<0&&(n[0]="00"),24===parseInt(t[0])&&parseInt(n[0])>0&&(n[0]="00"),t[1]=n.join(" ");e=t.join(":");var r=moment(e,["h:m a","H:m","hh:mm A"]);return r.isValid()?r:""},this.addPermissions=function(e,t,n){for(var r=0;r<O.length;r++)if(O[r].shareType===e&&O[r].resourceName.toLowerCase()===t.toLowerCase())return void(O[r].permissions+=n);O.push({permissions:n,shareType:e,resourceName:t})},this.removePermissions=function(e,t,n){for(var r=0;r<O.length;r++)if(O[r].shareType===e&&O[r].resourceName.toLowerCase()===t.toLowerCase())return O[r].permissions-=n,void(O[r].permissions<0&&(O[r].permissions=0))},this.removeAllPermissions=function(e,t){for(var n=0;n<O.length;n++)if(O[n].shareType===e&&O[n].resourceName.toLowerCase()===t.toLowerCase())return void(O[n].permissions=0)},this.resetResources=function(){P={},U=!1,O=[],T=!1}}e.$inject=["$http","$q","$filter","$translate","$rootScope","$log","$timeout","errorHandling","emailValidationService"],angular.module("smartermail").service("coreDataSettings",e)}();
99!function(){"use strict";function e(e,r,t,s,n,i,a,o,u){var c,d,l,f=!1,g=!1,m=!1,p=[],v=[],S=[],h={},T={data:[],map:[],selectedBranchData:{}},k=this;function w(){f=!1,g=!1,m=!1,v=[],S=[],k.listDataCache={}}function y(){var e=t.defer();return g?e.resolve():r.get("~/api/v1/tasks/sources/").then(D,F).then((function(){p=[],i.resetResources(),t.all([i.settingsData.resources,i.settingsData.mappedRes
99ources]).then((function(r){for(var t=r[0],s=0;s<t.length;s++)4===t[s].shareType&&(p[t[s].resourceName]=t[s].permissions>0);e.resolve()}),(function(r){e.resolve()})),g=!0,m=!1}),(function(r){g=!1,m=!1,e.reject(r)})),e.promise}function D(e){(v=e.data.sources).forEach((e=>{(e.isSharedItem&&e.name.toUpperCase().endsWith("MY TASKS")||e.name.endsWith("MY_TASKS"))&&(e.name=e.owner+" - "+s("translate")("MY_TASKS"))})),o.cleanSourceVisibilities("tasks",v),v.forEach((e=>e.isVisible=o.getSourceVisibility("tasks",e,!0))),v.sort(u.defaultTaskSourceComparer)}function F(e){return e}function O(){var e=t.defer();return y().then((function(){if(m)return e.resolve(),e.promise;S.length=0;var r=[];return angular.forEach(v,(function(e){e.isVisible&&r.push(R(e))})),t.all(r).then((function(){m=!0,e.resolve()}),(function(r){m=!1,e.reject(r)}))})),e.promise}function R(e){return h.hasOwnProperty(e.id)||(h[e.id]=t.defer(),e.owner&&(a.categoryOwner=e.owner),r.get(`~/api/v1/tasks/${e.owner}/${e.id}/`).then((function(r){var t=[];angular.forEach(r.data.details,(function(r){var s={};$.extend(s,r,{sourceOwner:e.owner,sourceId:e.id,sourceName:e.name}),new Date(s.start)<new Date("01/01/100")?s.start=void 0:s.start=k.convertLocalToTargetTz(s.start,s.userTimeZone),new Date(s.due)<new Date("01/01/100")?s.due=void 0:s.due=k.convertLocalToTargetTz(s.due,s.userTimeZone),new Date(s.reminder)<new Date("01/01/100")?s.reminder=void 0:s.reminder=k.convertLocalToTargetTz(s.reminder,s.userTimeZone),s.sourceOwner?a.addRgbColorsToCategories(s.sourceOwner,s.categories):s.categories=[],s.categoriesString=a.generateNameString(s.categories),t.push(s)})),S=S.concat(t),m=!0,h[e.id].resolve(),delete h[e.id]}),(function(r){h[e.id].reject(r),delete h[e.id]}))),h[e.id].promise}function b(e){return void 0===k.parameters.filterType||(3===e.status&&!0===k.parameters.filterType[4]||(0===e.status&&!0===k.parameters.filterType[1]||(1===e.status&&!0===k.parameters.filterType[3]||(2===e.status&&!0===k.parameters.filterType[2]||!(!e.hasAttachments||!0!==k.parameters.filterType[5])))))}k.reloadOnEnter=!1,k.listDataCache={},k.ignoreTaskModified={requested:moment(),ignored:moment()},k.ignoreTaskRemoved={requested:moment(),ignored:moment()},k.parameters={get sortField(){var e=o.getSessionSortingFilteringParam("tasks","sortField");return void 0===e&&(e="due",o.setSessionSortingFilteringParam("tasks","sortField",e)),e},set sortField(e){o.setSessionSortingFilteringParam("tasks","sortField",e)},get isDescending(){var e=o.getSessionSortingFilteringParam("tasks","isDescending");return void 0===e&&(e=!0,o.setSessionSortingFilteringParam("tasks","isDescending",!0)),e},set isDescending(e){o.setSessionSortingFilteringParam("tasks","isDescending",e)},get sortReverse(){var e=o.getSessionSortingFilteringParam("tasks","sortReverse");return void 0===e&&(e=!1,o.setSessionSortingFilteringParam("tasks","sortReverse",!1)),e},set sortReverse(e){o.setSessionSortingFilteringParam("tasks","sortReverse",e)},get categoryFilters(){const e=a.getCategoryFilter("tasks");return e?e.categoryData:[]},get currentView(){var e=o.getSortingFilteringParam("tasks","currentView");return void 0===e&&(e="CARD_VIEW",o.setSortingFilteringParam("tasks","currentView",e)),e},set currentView(e){o.setSortingFilteringParam("tasks","currentView",e)},get hasCategoryFilter(){const e=a.getCategoryFilter("tasks");return!e||!e.allSelected()},get filterType(){return o.getSessionSortingFilteringParam("tasks","filterType")},set filterType(e){o.setSessionSortingFilteringParam("tasks","filterType",e)}},k.parameters.searchText="",k.init=function(){if(c)return c.promise;return f?t.when():((c=t.defer()).promise.finally((function(){c=void 0})),f=!0,c.resolve(),c.promise)},k.reset=w,k.areTasksLoaded=function(){return m},k.categories=function(){return a.getMasterCategories()},k.ensureSourcesLoadedPromise=function(){return y()},k.ensureTasksLoadedPromise=function(){return O()},k.getCardById=function(e){return S.filter((r=>r.id===e))},k.getFilteredTasks=function(){var e=k.parameters.hasCategoryFilter?$.grep(S,(function(e){return function(e){const r=k.parameters.categoryFilters;return e.categories&&e.categories.some((e=>e.selected))?e.categories.some((e=>e.selected&&r.some((r=>r.selected&&r.name===e.name)))):r.some((e=>e.noCategory&&e.selected))}(e)})):S;return e=s("filter")(e,(e=>{var r=k.parameters.searchText||"";return r=r.toLowerCase(),!e.subject&&""===r||e.subject&&e.subject.toLowerCase().indexOf(r)>-1||e.description&&e.description.toLowerCase().indexOf(r)>-1})),e=s("filter")(e,b),e=s("orderBy")(e,k.parameters.sortField,k.parameters.isDescending)},k.getSources=function(){return v},k.getSourcesTree=function(){return T},k.getTask=function(e,r,t){if(e&&r&&t){const s=S.find((s=>s.sourceOwner===e&&s.sourceId===r&&s.id===t));if(s)return s}return null},k.getTaskFromServer=function(e,s,n){var i=t.defer();return r.get(`~/api/v1/tasks/${e}/${s}/${n}/true/`).then((function(e){i.resolve(e.data.details[0])}),(function(e){i.reject(e)})),i.promise},k.getTasks=function(){return S},k.listDataProvider=function(e){for(var r=[],t=0,s=k.getFilteredTasks(),n=e.start;n<e.start+e.take&&null!=s[n];n++)r[t++]=s[n];return e.defer.resolve(r),e.defer.promise},k.loadSources=y,k.loadSourcesTree=function(e,r){if(l)return l.promise;l=t.defer(),null==e&&d&&(e=d);r&&w();if(r||0===T.data.length)i=l,y().then((function(){let e=[],r=[];$.each(v,(function(t,i){i.owner===n.user.username&&(i.isBeingShared=p[i.id]||!1),e.push(function(e,r){const t=e.isSharedItem?s("folderTranslate")(e.name,e.owner):s("folderTranslate")(e.name);var i={label:t,data:{id:e.name,isShared:e.owner!==n.user.username||e.
99isBeingShared,isSharedByOther:e.owner!==n.user.username||e.isDomainResource,isDomainResource:e.isDomainResource,showEye:!0,isVisible:e.isVisible,source:e,isBeingShared:e.isBeingShared,color:e.color,isPrimary:e.isPrimary}};return r[i.data.key]=i,i}(i,r))})),T.data=e,T.map=r,i.resolve(!0)})),e&&(d=e);else{null!=T.map[T.selectedBranchData.key]&&(e&&(d=e),l.resolve(!1)),l.resolve(!0)}var i;return l.promise.finally((function(){l=null})),l.promise},k.modifyTasksSignal=function(r,s){k.ignoreTaskModified.requested=moment();var n=null;r&&(n=null!=(n=r.split("@"))[0]?n[0]:"");var i=$.grep(v,(function(e){return e.owner===n&&e.id===s}));if(i.length>0&&i[0].isVisible){S=$.grep(S,(function(e){return e.sourceId===i[0].id}),!0);var a=[];a.push(R(i[0])),t.all(a).then((function(r){e.$broadcast("tasksRefresh")}),(function(e){}))}},k.removeTasks=function(n){var i=t.defer();if(angular.isArray(n)){angular.forEach(n,(function(e,r){if(!e.id){var t=k.getCardById(e);t.length>0?n[r]=t[0]:e={sourceOwner:"",sourceId:"",id:""}}}));var a=$.map(n,(function(e){return{sourceOwner:e.sourceOwner,sourceId:e.sourceId,id:e.id}})),o=JSON.stringify(a);k.ignoreTaskRemoved.requested=moment(),r.post("~/api/v1/tasks/delete/",o).then((function(r){angular.forEach(n,(function(e){S=$.grep(S,(function(r){return r.id===e.id&&r.sourceId===e.sourceId&&r.sourceOwner===e.sourceOwner}),!0)})),e.$broadcast("tasksRefresh"),i.resolve(n)}),(function(r){e.$broadcast("tasksRefresh"),i.reject(r.data)}))}else i.reject(s("translate")("ERROR"));return i.promise},k.removeTasksSignal=function(r,t){var s=null;r&&(s=null!=(s=r.split("@"))[0]?s[0]:"");angular.forEach(t,(function(e,r){S=$.grep(S,(function(r){return r.sourceOwner===s&&r.id===e}),!0)})),e.$broadcast("tasksRefresh")},k.resetSources=function(){g=!1,u.invalidateSources()},k.resetSourcesTree=function(){T={data:[],map:[],selectedBranchData:{}}},k.resetTasks=function(){return m=!1,O()},k.saveTasks=function(n){var i=t.defer();if(angular.isArray(n)){const t=JSON.stringify(n);k.ignoreTaskModified.requested=moment(),r.post("~/api/v1/tasks/save/",t).then((function(r){angular.forEach(r.data,(function(e){new Date(e.start)<new Date("01/01/100")&&(e.start=void 0),new Date(e.due)<new Date("01/01/100")&&(e.due=void 0);const r=S.find((r=>r.id===e.id&&r.sourceId===e.sourceId&&r.sourceOwner===e.sourceOwner));if(r){const t=S.indexOf(r);t>-1&&(S[t]=e)}else{const r=v.find((r=>r.id===e.sourceId&&r.owner===e.sourceOwner));r&&r.isVisible&&S.push(e)}})),e.$broadcast("tasksRefresh"),i.resolve(r.data)}),(function(e){i.reject(e)}))}else i.reject(s("translate")("ERROR_NOT_ARRAY"));return i.promise},k.updateSourceVisibility=async function(e,r){null!=r&&(e.isVisible=r);if(o.setSourceVisibility("tasks",e),v.forEach((e=>e.isVisible=o.getSourceVisibility("tasks",e,!0))),!e.isVisible)return void(S=$.grep(S,(function(r){return r.sourceId===e.id&&r.sourceOwner===e.owner}),!0));await R(e)},k.convertLocalToTargetTz=function(e,r){var t=moment(e).utcOffset(),s=moment.tz(e,r).utcOffset(),n=moment(e).utc().add(-t+s,"m");return moment.tz(n,r).toDate()}}e.$inject=["$rootScope","$http","$q","$filter","userDataService","coreDataSettings","apiCategories","preferencesStorage","apiTaskSources"],angular.module("smartermail").service("coreDataTasks",e)}();
100!function(){"use strict";function e(e,t){var a,n=this;function i(){for(var e=n.table.data,t=0;t<e.length;t++)if(!n.ignoreItemDelegate||!n.ignoreItemDelegate(e[t])){var a=s(e[t]);r(n.checked,a)}}function l(){if(n.checked=!1,n.pageResults&&0!==n.pageResults.length){var e=n.table.data;if(!e)return!1;for(var t=0;t<e.length;t++)if(!n.ignoreItemDelegate||!n.ignoreItemDelegate(e[t])){var a=s(e[t]);if(!n.items.hasOwnProperty(a)||!n.items[a])return}n.checked=!0}}function c(e){n.items[e]?l():(n.checked=!1,delete n.items[e])}function o(e,t){document.getSelection().removeAllRanges();var i=!n.items[t];if(i?++n.selectedCount:--n.selectedCount,a&&t!=a&&e.shiftKey){for(var l=n.table.data,c=!1,o=0;o<l.length;o++){(d=s(l[o]))==a&&(c=!0)}if(!c)return void(a=t);var u=!1;for(o=0;o<l.length;o++){var d=s(l[o]);if(u){if(d!==t&&r(i,d),d==a||d==t)break}else d!=a&&d!=t||(d!==t&&r(i,d),u=!0)}}a=t}function r(e,t){e?(n.items[t]||++n.selectedCount,n.items[t]=e):(void 0!==n.items[t]&&--n.selectedCount,delete n.items[t])}function s(e){return n.key?e[n.key]:n.specialKey?n.specialKey(e):e}n.checked=!1,n.items={},n.key="",n.pageResults={},n.table=void 0,n.specialKey=void 0,n.ignoreItemDelegate=void 0,n.selectedCount=0,n.checkAll=i,n.checkAllChecked=l,n.checkboxChanged=c,n.checkboxClicked=o,n.checkCheckbox=function(e,t){if(n.ignoreItemDelegate&&n.ignoreItemDelegate(t))return;var a=s(t),i=n.selectedCount;o(e,a),n.selectedCount=i,r(!n.items[a],a),c(a)},n.init=function(e){return n.reset(),n.table=void 0,n.pageResults={},n.key=e,n.specialKey=void 0,n.ignoreItemDelegate=void 0,n.checkAll=i,n.checkboxChanged=c,a=void 0,n.selectedCount=0,n},n.reset=function(){n.items={},n.checked=!1,n.selectedCount=0},n.getCheckedItems=function(){var e=[];for(var t in n.items)n.items.hasOwnProperty(t)&&n.items[t]&&e.push(t);return e},t.onAfterReloadData((function(){if(n.table&&n.table.data&&0==n.table.data.length&&n.table._params.page>1){var t=Math.floor(n.table.total()/n.table._params.count);n.table._params.page=t,e((function(){var e;e=t,n.table._params.page!=e&&(n.table._params.page=e)}))}}))}e.$inject=["$timeout","ngTableEventsChannel"],angular.module("smartermail").service("gridCheckboxes",e)}();
101!function(){"use strict";function e(e,o,i,a,t,n,l,r,g){var s=this;s.settingsLoaded=!1,s.imageUrl=null,s.imageContent=null,s.state="login",s.initializing=!1,s.displayName=null,s.selectedLocale=l.language,s.availableLocales=[],s.imageFile=null;for(var c=0;c<angularLangNames.length;c++)s.availableLocales.push(angularLangNames[c]);function m(){var e=g.getLocalParam("loginPreviewChanges");
101e&&(e.isDomain&&(s.backgroundImage=s.originalBackgroundImage,s.backgroundColor=s.originalBackgroundColor),void 0!==e.imageGuid&&(e.imageGuid?s.imageUrl=stSiteRoot+"api/v1/settings/sysadmin/temp-image/"+e.imageGuid:s.imageUrl=""),void 0!==e.logoAction&&("revert"===e.logoAction?s.imageUrl=s.originalImageUrl:"replace"===e.logoAction&&(s.originalImageUrl=s.imageUrl)),void 0!==e.customTitle&&(s.welcomeMessage="",r("WELCOME_TO_SMARTERMAIL").then((function(o){s.welcomeMessage=e.customTitle||o}),(function(){s.welcomeMessage=e.customTitle||t("translate")("WELCOME_TO_SMARTERMAIL")}))),void 0!==e.backgroundStillImage&&(e.backgroundStillImage?s.backgroundImage=e.backgroundStillImage:s.backgroundImage=void 0),void 0!==e.backgroundColor&&(s.backgroundColor=e.backgroundColor),void 0!==e.customHtmlBlock&&(s.customHtmlBlock=o.trustAsHtml(e.customHtmlBlock)),s.helpUrl="https://help.smartertools.com/SmarterMail/current/?page=login&v=17",e.customHelpUrl&&(s.helpUrl=e.customHelpUrl),s.helpText=r.instant("OPEN_HELP"),e.customHelpText&&(s.helpText=e.customHelpText),g.setLocalParam("loginPreviewChanges",void 0))}function u(){var e,o,i,t,n,l,r;e=!!window.opr&&!!opr.addons||!!window.opera||navigator.userAgent.indexOf(" OPR/")>=0,o="undefined"!=typeof InstallTrigger,i=/constructor/i.test(window.HTMLElement)||"[object SafariRemoteNotification]"===(!window.safari||safari.pushNotification).toString(),t=!!document.documentMode,n=!t&&!!window.StyleMedia,l=!!window.chrome&&!!window.chrome.webstore,r=(l||e)&&!!window.CSS,e?s.imageFile=null:o?s.imageFile=(stSiteRoot||"/")+"interface/img/browser-messages/browser-notifications-firefox.jpg":i||t?s.imageFile=null:n?s.imageFile=(stSiteRoot||"/")+
101"interface/img/browser-messages/browser-notifications-edge.jpg":(l||r)
101&&(s.imageFile=(stSiteRoot||"/")+"interface/img/browser-messages/browser-notifications-chrome.jpg"),a.loadLoginSettings().then(d,(function(){}))}function d(e){s.imageUrl=e.customLogo,s.originalImageUrl=e.customLogo,s.originalBackgroundImage=e.backgroundStillImage,s.originalBackgroundColor=e.backgroundColor,m(),s.initializing=!1,s.settingsLoaded=!0,n((function(){s.username?$("#loginPasswordBox").trigger("focus"):$("#loginUsernameBox").trigger("focus")}),100)}s.stage1NextText=s.notificationsSupported?"NEXT":"OK",s.hasTranslations=!1,s.setLocale=function(e){l.setLocale(e),s.selectedLocale=e},s.digestCount=0,l.onReady().then((function(){s.hasTranslations=!0,u()}),(function(){s.hasTranslations=!0,u()})),window.addEventListener("storage",(function(o){m(),e.$applyAsync()})),s.getImageSource=function(e){return e||"img/email.svg"}}e.$inject=["$scope","$sce","$http","AuthenticationService","$filter","$timeout","localeInfoService","$translate","preferencesStorage"],angular.module("smartermail").controller("loginPreviewController",e)}();
102!function(){"use strict";function e(e,n,r,t,i){var o=this;function a(){o.meetingInfo?(o.prop={},o.startMeetingTimeUser=c(o.meetingInfo.start,o.meetingInfo.isAllDay),o.endMeetingTimeUser=c(o.meetingInfo.end,o.meetingInfo.isAllDay),o.prop.whenToText=function(e){let n=o.meetingInfo?{start:o.meetingInfo.start,end:o.meetingInfo.end,isRecurring:o.meetingInfo.isRecurring,recurrenceID:o.meetingInfo.recurrenceID,isAllDay:o.meetingInfo.isAllDay}:{},r=o.meetingInfo&&o.meetingInfo.recurrence?{untilDateEnabled:o.meetingInfo.recurrence.untilDateEnabled,untilDate:o.meetingInfo.recurrence.untilDate,untilCountEnabled:o.meetingInfo.recurrence.untilCountEnabled,untilCount:o.meetingInfo.recurrence.untilCount,recurrenceType:o.meetingInfo.recurrence.type,dailyInterval:o.meetingInfo.recurrence.dailyFreqDays||o.meetingInfo.recurrence.dailyInterval,isWeekdaysOnly:o.meetingInfo.recurrence.isWeekdaysOnly,weeklyInterval:o.meetingInfo.recurrence.weeklyInterval,monthlyInterval:o.meetingInfo.recurrence.monthlyInterval,monthlySpecificDay:o.meetingInfo.recurrence.monthlySpecificDay,monthDay:o.meetingInfo.recurrence.monthDay,monthlyPeriodIndex:o.meetingInfo.recurrence.monthlyPeriodIndex,monthlyPeriodDayIndex:o.meetingInfo.recurrence.monthlyPeriodDayIndex,yearlyInterval:o.meetingInfo.recurrence.yearlyInterval,yearlySpecificDate:o.meetingInfo.recurrence.yearlySpecificDate,yearlyDay:o.meetingInfo.recurrence.yearlyDay,yearlyMonthIndex:o.meetingInfo.recurrence.yearlyMonthIndex,yearlyPeriodIndex:o.meetingInfo.recurrence.yearlyPeriodIndex,yearlyPeriodDayIndex:o.meetingInfo.recurrence.yearlyPeriodDayIndex,weeklyDays:o.meetingInfo.recurrence.weeklyDays}:{},i=Object.assign({},n,r);return t.recurrenceDescription(i,e)}(),function(){if(!o.meetingInfo.reminder)return void(o.meetingInfo.reminderText=n.instant("NONE"));const e=moment.duration(o.meetingInfo.reminder),r=Math.floor(e.asWeeks()),t=Math.floor(e.asDays()-7*r),a=Math.floor(e.asHours()-(t+24*r*7)),c=Math.floor(e.asMinutes()-(a+24*t+7*r*24*60)),m=Math.floor(e.asSeconds()-(60*c+60*a*60+24*t*60*60+24*r*7*60*60));o.meetingInfo.reminderText=r?i.reactPluralize("REMINDER_WEEKS",{count:r}):t?i.reactPluralize("REMINDER_DAYS",{count:t}):a?i.reactPluralize("REMINDER_HOURS",{count:a}):c?i.reactPluralize("REMINDER_MINUTES",{count:c}):m?i.reactPluralize("REMINDER_SECONDS",{count:m}):n.instant("NONE")}()):(o.prop={},o.startMeetingTimeUser="",o.endMeetingTimeUser="",o.prop.whenToText="")}function c(n,r){if(!n)return"";if(r){var t=moment(n.dt.substr(0,19)),i=moment.tz({year:t.year(),month:t.month(),date:t.date(),hour:t.hour(),minute:t.minute(),second:0},n.tz);return moment({year:i.year(),month:i.month(),date:i.date()}).toDate()}return e.convertLocalToUserTimeMoment(n.dt).toDate()}o.meetingInfo={},o.meetingLoaded=!1,o.loadMeetingInfo=function(e){try{if(o.meetingInfo=e,o.meetingLoaded=!!e&&(void 0!==e.start&&void 0!==e.start),!o.meetingLoaded)return;o.meetingInfo.isRecurring=!!o.meetingInfo.recurrence&&0!==o.meetingInfo.recurrence.type}finally{a()}},a()}e.$inject=["userTimeService","$translate","$filter","calendarRecurrenceDescriptionService","i18n"],angular.module("smartermail").service("meetingInfoData",e)}();
103!function(){"use strict";angular.module("smartermail").service("popupService",(function(){var t=880,e=1024,r=600;
103function n(t,e){try{var r=window.screen.availWidth-75,n=window.screen.availHeight-150;r<t&&(t=r),n<e&&(e=n)}catch(t){}return`width=${t}, height=${e}`}this.dimensions={get calendar(){return n(e,r)},get chat(){return n(740,640)},get rocketChat(){return n(e,r)},get connectivity(){return n(450,600)},get contact(){return n(t,r)},get email(){return n(t,r)},get loginPreview(){return n(t,r)},get meeting(){return n(t,r)},get note(){return n(e,r)},get document(){return n(e,r)},get notification(){return n(t,r)},get printEmail(){return n(t,r)},get task(){return n(e,r)},get transcript(){return n(t,r)}}}))}();
104!function(){"use strict";function e(e,t,r){var i=2,n=2,o=2,a=2,s=2,l=O(r.getEmailAddress()),g={cleanForLogout:function(){delete localStorage.contactStatuses,delete localStorage.deletedUids;var e=v("chat");delete e[l].chat.unreadCounts,localStorage.sortingFiltering=JSON.stringify(e)},getSourceVisibility:function(e,t,r){var i=u(e);void 0===i[l][e][S(e,t)]&&(r=null==r||!!r,i[l][e][S(e,t)]=r,localStorage.sourceVisibilities=JSON.stringify(i));return i[l][e][S(e,t)]},setSourceVisibility:function(e,t){var r=u(e);r[l][e][S(e,t)]=void 0===t.enabled?t.isVisible:t.enabled,localStorage.sourceVisibilities=JSON.stringify(r)},removeSourceVisibility:function(e,t){var r=u(e);delete r[l][e][S(e,t)],localStorage.sourceVisibilities=JSON.stringify(r)},cleanSourceVisibilities:function(e,t){var r=u(e),i=[];for(var n in r[l][e]){0===$.grep(t,(function(t){return S(e,t)===n})).length&&i.push(n)}for(var o=0;o<i.length;o++)delete r[l][e][i[o]];sessionStorage.sourceVisibilities=JSON.stringify(r)},getTreeExpansion:function(e){var t=f();null==t[l][e]&&(t[l][e]=!0,localStorage.treeExpansion=JSON.stringify(t));return $localStorage.treeExpansion[l][e]},setTreeExpansion:function(e,t){var r=f();r[l][e]=t,localStorage.treeExpansion=JSON.stringify(r)},getSortingFiltering:function(e){return v()[l][e]},getSortingFilteringParam:function(e,t){return v(e)[l][e][t]},setSortingFiltering:function(e,t){var r=v();r[l][e]=t,localStorage.sortingFiltering=JSON.stringify(r)}};return g.setSortingFilteringParam=d,g.getSessionSortingFiltering=function(e){return m()[l][e]},g.getSessionSortingFilteringParam=function(e,t){return m(e)[l][e][t]},g.setSessionSortingFiltering=function(e,t){var r=m();r[l][e]=t,sessionStorage.sortingFiltering=JSON.stringify(r)},g.setSessionSortingFilteringParam=function(e,t,r){var i=m(e);i[l][e][t]=r,sessionStorage.sortingFiltering=JSON.stringify(i)},g.setLocalParam=function(e,t){l&&"0"!==l||(l=O(r.getEmailAddress()));if(!l||"0"===l)return;var i=p(e);i[l]=t,localStorage[e]=JSON.stringify(i)},g.getLocalParam=function(e){return p(e)[l]},g.getContactStatuses=function(){return F()[l]},g.getContactStatusesParam=function(e){return F()[l][e]},g.setContactStatusesParam=function(e,t){var r=F();r[l][e]=t,r[l].lastAccess=moment().valueOf(),localStorage.contactStatuses=JSON.stringify(r)},function(){localStorage["ngStorage-sortingFiltering"]&&delete localStorage["ngStorage-sortingFiltering"];localStorage["ngStorage-treeExpansion"]&&delete localStorage["ngStorage-treeExpansion"];sessionStorage["ngStorage-sourceVisibilities"]&&delete sessionStorage["ngStorage-sourceVisibilities"];sessionStorage["ngStorage-sortingFiltering"]&&delete sessionStorage["ngStorage-sortingFiltering"];var e=c("popupOpen");!0!==e&&!1!==e||delete localStorage.popupOpen;var t=u();t&&t.version!=i&&delete localStorage.sourceVisibilities;var r=f();r&&r.version!=n&&delete localStorage.treeExpansion;var l=v();l&&l.version!=o&&delete localStorage.sortingFiltering;var g=m();g&&g.version!=a&&delete sessionStorage.sortingFiltering;var S=F();if(S&&S.version!=s)delete localStorage.contactStatuses;else{var d=moment().subtract(1,"hour").valueOf(),p=[];for(var O in S)S[O].lastAccess&&S[O].lastAccess<d&&p.push(O);for(var b=0;b<p.length;b++)delete S[p[b]];for(var O in S)if(S[O].registered){var E=[];for(var y in S[O].registered)y<d&&E.push(y);for(b=0;b<E.length;b++)delete S[O].registered[E[b]]}localStorage.contactStatuses=JSON.stringify(S)}}(),e.$on("signalR.mailHub.client.galUpdate",(function(e,t){d("chat","galUpdate",t)})),window.addEventListener("beforeunload",(function(){delete localStorage.contactStatuses,delete localStorage.deletedUids})),g;function c(e){var t=localStorage[e];return t&&(t=JSON.parse(t)),t}function u(e){l&&"0"!==l||(l=O(r.getEmailAddress()));var t=c("sourceVisibilities");return t||(t={version:i}),t[l]||(t[l]={}),t[l][e]||(t[l][e]={}),t}function S(e,t){switch(e){case"calendars":case"calendartask":case"resource":case"tasks":return t.id+t.owner;case"contacts":case"notes":return t.itemID+t.ownerUsername}}function f(){l&&"0"!==l||(l=O(r.getEmailAddress()));var e=c("treeExpansion");return e||(e={version:n}),e[l]||(e[l]={}),e}function d(e,t,r){var i=v(e);i[l][e][t]=r,localStorage.sortingFiltering=JSON.stringify(i)}function v(e){l&&"0"!==l||(l=O(r.getEmailAddress()));var t=c("sortingFiltering");return t||(t={version:o}),t[l]||(t[l]={}),e&&!t[l][e]&&(t[l][e]={}),t}function m(e){l&&"0"!==l||(l=O(r.getEmailAddress()));var t,i=((t=sessionStorage["sortingFiltering"])&&(t=JSON.parse(t)),t);
104return i||(i={version:a}),i[l]||(i[l]={}),e&&!i[l][e]&&(i[l][e]={}),i}function p(e){l&&"0"!==l||(l=O(r.getEmailAddress()));var t=c(e);return t||(t={}),t}function F(){l&&"0"!==l||(l=O(r.getEmailAddress()));var e=c("contactStatuses");return e||(e={version:s}),e[l]||(e[l]={}),e}function O(e){return function(e){var t,r=0;if(null==e||0===e.length)return r;for(t=0;t<e.length;t++)r=(r<<5)-r+e.charCodeAt(t),r|=0;return r}(e).toString(16)}}e.$inject=["$rootScope","$timeout","claimsService"],angular.module("smartermail").service("preferencesStorage",e)}();
105!function(){"use strict";function r(r,t){var e=this,n=[];e.getRestrictedWords=function(){return n||[]},e.isWordRestricted=function(r){if(!r||!n||0===n.length)return!1;var t=r.trim();if(!t)return!1;for(var e=t.toUpperCase(),i=0;i<n.length;i++){var s=n[i].toUpperCase();if(e===s)return!0;if("L"!==window.stOS&&0===e.indexOf(s+"."))return!0}return!1},e.loadRestrictedWords=function(){return r.get("~/api/v1/settings/sysadmin/folder-restrictions").then((function(r){var t=r.data.folderRestrictions||{};return{words:n=t.restrictedWords||[]}}),(function(r){return{words:n=[]}}))},e.clearCache=function(){n=[]}}r.$inject=["$http","$q"],angular.module("smartermail").service("restrictedWordsService",r)}();
106!function(){"use strict";function e(e,t,i,r,n,a,o,c,s,l){stSiteRoot;var u=this;u.noCamera=!1,u.noScreen=!1,u.noMic=!1,o.inCall=!1,u.supportScreenSharing=!1,navigator.mediaDevices&&"getDisplayMedia"in navigator.mediaDevices&&(u.supportScreenSharing=!0),u.supportsRtc=e.browserCaps.webRtcSupport,u.localPeerId=uuidv4(),u.rtcUsers=[{id:u.localPeerId,attendeeId:"local",imgLink:"",avatarName:"(You)",name:"(You)",micOn:!1,videoOn:!1,speaking:!1,rtcConn:null,active:!0,activeOnUI:!0,focused:!1,streamAudio:null,streamVideo:null,sharingScreen:!1,pinned:!1}],u.currentSpeakingUser={user:null,time:1},window.rtcTest=u.rtcUsers,addPeerFunctionsAndLogic(u.localPeer),u.init=function(){},u.getActivePeers=getActivePeers}e.$inject=["$rootScope","$timeout","$log","$sce","$filter","$translate","workspace","authStorage","browserNotifications","toaster"],angular.module("smartermail").service("rtcVideoService",e)}();
107!function(){"use strict";function e(e,a,n,t){var i,o,s=this,l=stSiteRoot+"hubs/mail";function c(e){let a=e&&e.previousRetryCount||0,n=[0,250,1e3,1e3,1e3,1e3,2500,5e3,5e3,5e3,5e3,5e3,5e3];return a<n.length?n[a]:15e3}async function d(){console.log("SignalR Reconnected"),await i.invoke("connect",n.getRefreshToken()),e.$broadcast("signalRHubManagerReconnected"),t.loadMailTree(null,!0).then((function(){e.$broadcast("mail.reloadSources")}),(function(){}))}async function r(){console.log("Signalr Disconnected"),s.skipAutoReconnect?s.skipAutoReconnect=!1:(i&&"function"==typeof i.onDisconnected&&i.onDisconnected(),await g())}async function g(){try{if(i.state!==signalR.HubConnectionState.Disconnected)return void console.log("SignalR: Connection already started");await i.start(),await i.invoke("connect",n.getRefreshToken()),console.log("SignalR Connected"),e.$broadcast("signalRHubManagerConnected")}catch(e){console.log(e),setTimeout((()=>g()),5e3)}}s.selfTestRunning=!1,s.coreDataListener=null,s.selfTestSignalRStr=[],s.connection=null,s.skipAutoReconnect=!1,s.init=function(){if(o)return o.promise;var t=(o=a.defer()).promise;if(i){let e={mailHub:i};o.resolve(e)}return async function(){console.log("SignalR Starting"),(i=(new signalR.HubConnectionBuilder).withUrl(l,{accessTokenFactory:()=>n.getToken()}).configureLogging(signalR.LogLevel.Information).withAutomaticReconnect({nextRetryDelayInMilliseconds:c}).build()).onreconnected(d),i.onclose(r),s.connection=i,await g(),i.on("reconnect",(async()=>{await i.invoke("connect",n.getRefreshToken())})),i.on("test",(()=>{})),i.on("selfTestReturn",(a=>{e.$broadcast("signalR.selfTest",a)})),i.on("notificationChanged",(a=>{e.$broadcast("signalR.mailHub.client.notificationChanged",a)})),i.on("eventNotification",(a=>{e.$broadcast("signalR.mailHub.client.eventNotification",a)})),i.on("appointmentReminderNotification",(a=>{e.$broadcast("signalR.mailHub.client.appointmentReminderNotification",a)})),i.on("sharesChanged",(a=>{e.$broadcast("signalR.mailHub.client.sharesChanged",a)})),i.on("acmeCertsChanged",(a=>{e.$broadcast("signalR.mailHub.client.acmeCertsChanged",a)})),i.on("sslCertsChanged",(a=>{e.$broadcast("signalR.mailHub.client.sslCertsChanged",a)})),i.on("dkimRecordsUpdated",(a=>{e.$broadcast("signalR.mailHub.client.dkimRecordsUpdated",a)})),i.on("mailAdded",(a=>{e.$broadcast("signalR.mailHub.client.mailAdded",a)})),i.on("mailRemoved",(a=>{e.$broadcast("signalR.mailHub.client.mailRemoved",a)})),i.on("mailModified",(a=>{e.$broadcast("signalR.mailHub.client.mailModified",a)})),i.on("folderChange",(()=>{e.$broadcast("signalR.mailHub.client.folderChange")})),i.on("mailAction",(a=>{e.$broadcast("signalR.mailHub.client.mailAction",a)})),i.on("messageFlagChange",((a,n,t)=>{e.$broadcast("signalR.mailHub.client.messageFlagChange",{folder:a,UID:n,flags:t})})),i.on("mailAvatar",(a=>{e.$broadcast("mail.avatarLoaded",a)})),i.on("disposableAddressModified",(()=>{e.$broadcast("signalR.mailHub.client.disposableAddressModified",{})}
107)),i.on("contactsModified",(a=>{e.$broadcast("signalR.mailHub.client.contactsModified",a)})),i.on("galUpdate",(a=>{e.$broadcast("signalR.mailHub.client.galUpdate",a)})),i.on("contactsDeleted",(function(a,n){e.$broadcast("signalR.mailHub.client.contactsDeleted",{owner:a,contactIds:n})})),i.on("contactsImportComplete",(a=>{e.$broadcast("signalR.mailHub.client.contactsImportComplete",a)})),i.on("notesModified",(a=>{e.$broadcast("signalR.mailHub.client.notesModified",a)})),i.on("notesDeleted",((a,n)=>{e.$broadcast("signalR.mailHub.client.notesDeleted",{owner:a,uids:n})})),i.on("notesImportProgress",(a=>{e.$broadcast("signalR.mailHub.client.notesImportProgress",a)})),i.on("rssContentsUpdated",(a=>{e.$broadcast("signalR.mailHub.client.rssContentsUpdated",a)})),i.on("eventModified",(a=>{e.$broadcast("signalR.mailHub.client.eventModified",a)})),i.on("eventDeleted",(a=>{e.$broadcast("signalR.mailHub.client.eventDeleted",a)})),i.on("calendarImportProgress",(a=>{e.$broadcast("signalR.mailHub.client.calendarImportProgress",a)})),i.on("tasksModified",((a,n)=>{e.$broadcast("signalR.mailHub.client.tasksModified",n)})),i.on("tasksDeleted",((a,n)=>{e.$broadcast("signalR.mailHub.client.tasksDeleted",{owner:a,taskIds:n})})),i.on("messageArchiveSearchUpdate",(a=>{e.$broadcast("signalR.mailHub.client.messageArchiveSearchUpdate",a.searchGuid)}
107)),i.on("meetingWorkspaceRemoved",(a=>{e.$broadcast("signalR.mailHub.client.meetingDeleted",a.meetingId)})),i.on("meetingWorkspaceModified",(()=>{e.$broadcast("signalR.mailHub.client.meetingModified",{})})),i.on("meetingWorkspaceCreated",(()=>{e.$broadcast("signalR.mailHub.client.meetingCreated",{})})),i.on("fsFolderChange",(a=>{e.$broadcast("signalR.mailHub.client.fileStorageFolderChange",a)})),i.on("filesAdded",(a=>{e.$broadcast("signalR.mailHub.client.filesAdded",a)})),i.on("filesDeleted",(a=>{e.$broadcast("signalR.mailHub.client.filesDeleted",a)})),i.on("filesModified",(a=>{e.$broadcast("signalR.mailHub.client.filesModified",a)})),i.on("settingsModified",(()=>{e.$broadcast("signalR.mailHub.client.settingsModified",{})})),i.on("settingsModified_byAdmin",(a=>{e.$broadcast("signalR.mailHub.client.settingsModified_byAdmin",a)})),i.on("mailMigrationUpdate",(a=>{e.$broadcast("signalR.mailHub.client.mailMigrationUpdate",a)})),i.on("mailRetrievalStart",(a=>{e.$broadcast("signalR.mailHub.client.mailRetrievalStart",a)})),i.on("listModeratorChanged",(a=>{e.$broadcast("signalR.mailHub.client.listModeratorChanged",a)})),i.on("mailboxSizeUpdate",(a=>{e.$broadcast("diskSpaceUsage:changed",a)})),i.on("contentFilterProgress",(a=>{e.$broadcast("signalR.mailHub.client.contentFilterProgress",a)})),i.on("userImportProgress",(a=>{e.$broadcast("signalR.mailHub.client.userImportProgress",a)})),i.on("userGroupsModified",(a=>{e.$broadcast("signalR.mailHub.client.userGroupsModified",a)})),i.on("userSignaturesModified",(a=>{e.$broadcast("signalR.mailHub.client.userSignaturesModified",a)})),i.on("signatureMappingsModified",(a=>{e.$broadcast("signalR.mailHub.client.signatureMappingsModified",a)})),i.on("customHelpUpdated",(a=>{e.$broadcast("customHelpUpdated",a)})),i.on("spoolMessageStatusUpdate",((a,n)=>{e.$broadcast("signalR.mailHub.client.SpoolMessageStatusUpdate",{fileName:a,data:n})})),i.on("spoolMessageAdded",((a,n)=>{e.$broadcast("signalR.mailHub.client.SpoolMessageAdded",{fileName:a,data:n})})),i.on("spoolMessageRemove",(a=>{e.$broadcast("signalR.mailHub.client.SpoolMessageRemove",a),e.$broadcast("spoolMessageRemove",{fileName:a})}
107)),i.on("addSpoolStat",(()=>{e.$broadcast("spoolRefresh")})),i.on("logout",(()=>{console.log("Logout initiated from SignalR"),e.$broadcast("signalR.mailHub.client.logout",{})})),i.on("certificateValidityUpdate",(a=>{console.log(a),e.$broadcast("signalR.mailHub.client.certificateValidityUpdate",a)})),i.on("domainReload",(a=>{e.$broadcast("signalR.mailHub.client.domainReload",a)})),i.on("detachDomainProgress",(a=>{e.$broadcast("signalR.mailHub.client.detachDomainProgress",a)})),i.on("domainAttachStateChanged",(a=>{e.$broadcast("signalR.mailHub.client.domainAttachStateChanged",a)})),i.on("domainAttachError",(a=>{e.$broadcast("signalR.mailHub.client.domainAttachError",a)})),i.on("domainDetachStateChanged",(a=>{e.$broadcast("signalR.mailHub.client.domainDetachStateChanged",a)})),i.on("domainDeleteStateChanged",(a=>{e.$broadcast("signalR.mailHub.client.domainDeleteStateChanged",a)})),i.on("messageArchiveReindex",(a=>{e.$broadcast("signalR.mailHub.client.messageArchiveReindex",a)})),i.on("logDownloadProg",(a=>{e.$broadcast("signalR.mailHub.client.logDownloadProg",a)})),i.on("profilerStatus",(a=>{e.$broadcast("signalR.mailHub.client.profilerStatus",a)})),i.on("licensingChanged",(a=>{e.$broadcast("signalR.mailHub.client.licensingChanged",a)})),void i.on("categoriesModified",(()=>{e.$broadcast("signalR.mailHub.client.categoriesModified",{})})),i.on("dashboardUpdate",((a,n)=>{e.$broadcast("signalR.client.dashboardUpdate",a,n)})),i.on("manageInit",((a,n)=>{e.$broadcast("signalR.client.manageInit",n)})),void i.on("dashboardInit",((a,n)=>{e.$broadcast("signalR.client.dashboardInit",n)})),i.on("chatVideoReceivingCall",(a=>{e.$broadcast("signalR.chatVideo.receivingCall",a)})),i.on("chatVideoReceiveResponse",(a=>{e.$broadcast("signalR.chatVideo.receiveResponse",a)})),i.on("chatVideoDisconnectCall",(a=>{e.$broadcast("signalR.chatVideo.disconnectCall",a)})),i.on("chatVideoRtcNegotiate",(a=>{e.$broadcast("signalR.chat.chatVideoRtcNegotiate",a)})),i.on("chatVideoRtcEmitReturn",(a=>{e.$broadcast("signalR.chatVideo.rtcEmitReturn",a)})),i.on("chatVideoRespondedToCall",(()=>{e.$broadcast("signalR.chatVideo.respondedToCall")})),i.on("chatMarkRead",(a=>{e.$broadcast("signalR.chat.markRead",a)})),void i.on("chatProviderChanged",(a=>{e.$broadcast("signalR.chat.chatProviderChanged",a)})),console.log("SignalR Started"),async function(){if(!i)return!1;if(s.selfTestRunning)return!1;s.selfTestRunning=!0;const e=Math.random().toString(36).substring(7);console.log("[SignalR Self Check "+e+"] Starting...");var a=120,t=setInterval(o,250);try{const a=new Date;await i.invoke("runConnectivityTest",n.getRefreshToken(),e,a),o()}catch(a){throw console.log("[SignalR Self Check "+e+"] Server did not receive our request, check FAILED."),a}function o(){a--,s.selfTestSignalRStr.includes(e)?(console.log("[SignalR Self Check "+e+"] Got result from server. SignalR is working! Check PASSED."),clearInterval(t)):a<0&&(console.log("[SignalR Self Check "+e+"] Server did not respond within 30000ms, check FAILED."),clearInterval(t))}}(),-1!=navigator.userAgent.toLowerCase().indexOf("applewebkit")&&setInterval(s.pingServer,1e4)}().then((function(){let e={mailHub:i};o.resolve(e)})).catch((function(e){o.reject(e),o=null})),t},s.isConnected=function(){return!!i},s.userLogout=function(){i&&(i.onclose((()=>{})),i.stop(),i=null,s.connection=null)},s.pingServer=async function(){var e=Math.random().toString(36).substring(7);if(!i)return;try{await i.invoke("ping",e)}catch(e){}},e.$on("signalR.selfTest",(function(e,a){console.log("[SignalR Self Check "+a.testStr+"] Got response from server: "+a.testStr),s.selfTestSignalRStr.push(a.testStr)})),e.$on("auth:tokenRefreshed",(function(){i&&i.state===signalR.HubConnectionState.Connected&&(console.log("SignalR: Access token refreshed, reconnecting..."),s.skipAutoReconnect=!0,i.stop().then((function(){g()})))}))}e.$inject=["$rootScope","$q","authStorage","coreDataMail"],angular.module("smartermail").service("signalrHubManager",e)}();
108!function(){"use strict";function a(a,t){var o=this;function i(a){return a&&"string"==typeof a?o.classifications.find((t=>t.value.toLowerCase()===a.toLowerCase())):null}function s(){return[o.automaticClassification].concat(o.classifications)}o.classifications=[{value:"primary",colorClass:"ai-cat-primary",icon:"toolsicon-person",translationKey:"SPAMFOO_PRIMARY"},{value:"transactions",colorClass:"ai-cat-transactions",icon:"toolsicon-transactions",translationKey:"SPAMFOO_TRANSACTIONS"},{value:"updates",colorClass:"ai-cat-updates",icon:"toolsicon-updates",translationKey:"SPAMFOO_UPDATES"},{value:"promotions",colorClass:"ai-cat-promotions",icon:"toolsicon-promotions",translationKey:"SPAMFOO_PROMOTIONS"}],o.excludedClassifications=["None","unclassified"],o.automaticClassification={value:"automatic",colorClass:"ai-cat-all",icon:"toolsicon-auto_awesome",translationKey:"SPAMFOO_AUTOMATIC"},o.getClassificationByValue=i,o.getClassificationLabel=function(t){if(!t||"string"!=typeof t)return"";var o=i(t);if(!o)return t;var s=a("translate")(o.translationKey);if(s===o.translationKey)return t.charAt(0).toUpperCase()+t.slice(1);return s},o.getClassificationColorClass=function(a){var t=i(a);return t?t.colorClass:"ai-cat-all"},o.getClassificationIcon=function(a){var t=i(a);return t?t.icon:"toolsicon-label"},o.isDisplayableClassification=function(a){return!(!a||"string"!=typeof a)&&!o.excludedClassifications.some((t=>t.toLowerCase()===a.toLowerCase()))},o.getAllDisplayableClassifications=function(){return o.classifications.slice()},o.getMenuClassifications=s,o.buildMenuRows=function(a){return s().map((function(t){return{value:t.value,translationKey:t.translationKey,disabled:a&&a.toLowerCase()===t.value.toLowerCase()}}))},o.postClearTabsData=function(){return t.post("~/api/v1/settings/spamfoo/clear-tabs-data")},o.postClearSpamData=function(){return t.post("~/api/v1/settings/spamfoo/clear-spam-data")}}a.$inject=["$filter","$http"],angular.module("smartermail").service("spamfooClassification",a)}();
109!function(){"use strict";function e(e,t){const n=this,i=_.debounce((function(){h()}),25),o=_.debounce((function(){$("html").removeClass("disable-effects")}),250);function r(e){return(e||"").toLowerCase().startsWith("dark")}function s(){return r(a())}function a(){return window.getThemeObject().mode}function c(){return window.getThemeObject()["message-view-override"]}function m(e){e&&(e.mode=e.mode||"light",t.localStorage&&t.localStorage.setItem("theme",JSON.stringify(e)),d())}function g(e){var t=window.getThemeObject();r(e)||(t["message-view-override"]=!1),t.mode=r(e)?"dark":"light",m(t)}function d(){e.$broadcast("themeService:changed",{})}n.ensureEventsSetup=function(){},n.getTheme=a,n.isThemeDark=s,n.setPrimaryTheme=g,n.togglePrimaryTheme=function(){g(s()?"light":"dark")},n.toggleMessageViewThemeOverride=function(){var e=window.getThemeObject();e["message-view-override"]=!e["message-view-override"],m(e)},n.isMessageViewThemeOverride=c,n.refreshTheme=function(){i()},n.ensureActivated=function(){},e.$on("themeService:changed",(function(){i()})),window.addEventListener("storage",(function(e,t,n){null!=e&&"theme"===e.key&&(d(),i())}));const h=()=>{const e=s();$("html").addClass("disable-effects").toggleClass("theme-light",!e).toggleClass("theme-dark",e),$("body").toggleClass("theme-light",!e).toggleClass("theme-dark",e).toggleClass("message-view-theme-override",e&&c()),o()}}
109e.$inject=["$rootScope","$window"],angular.module("smartermail").service("themesService",e)}();
110!function(n){window.SmarterTools=window.SmarterTools||{},window.SmarterTools.touchContext=function(o,t,u){if(!u){if("function"!=typeof t)return;u=t,t=null}if("function"==typeof u){var i=n(o),e=null,l=!1;i.on("touchstart",(function(n){if(c(),!(n.originalEvent.touches.length>1)){var o=this;e=setTimeout((function(){!function(n,o){l=!0,e=null,u.call(o,n)}(n,o)}),750)}})),i.on("touchmove",c),i.on("touchend",(function(n){l&&(n.stopPropagation(),n.preventDefault()),c()}))}function c(){e&&(clearTimeout(e),e=null,l=!1)}}}(jQuery);
111!function(){"use strict";function e(e,i,d,t,n,a){var s=this;function o(e){s.lastWindowWidth=s.windowWidth,s.windowWidth=$(window).width(),l()}function l(e){s.windowWidth<=736&&(s.lastWindowWidth>736||e)?(s.size="small",s.overrideHideOnSmall||r(!1)):s.windowWidth>736&&(s.lastWindowWidth<=736||e)&&(s.size="large",r(!0))}function r(i){s.isCollapsed=!i,s.isExpanded=!s.isCollapsed,e.$broadcast("treeState:stateChange",{collapsed:s.isCollapsed,expanded:s.isExpanded})}s.size="large",s.isCollapsed=!1,s.isExpanded=!s.isCollapsed,s.windowWidth=0,s.lastWindowWidth=0,s.overrideHideOnSmall=!1,s.toggleTree=function(i){r(!s.isExpanded),i&&a.setLocalParam("treeExpandedState",{isExpanded:s.isExpanded});e.$broadcast("masonry:contentsChanged")},s.setTree=r,s.hideTreeOverlay=function(){"small"===s.size&&s.isExpanded&&r(!1)},function(){s.windowWidth=s.lastWindowWidth=$(window).width(),l(!0);var i=a.getLocalParam("treeExpandedState");i&&null!=i.isExpanded&&r(i.isExpanded);window.addEventListener("resize",o,!0),e.$on("$destroy",(function(){window.removeEventListener("resize",o,!0)}))}()}e.$inject=["$rootScope","$state","$log","$sanitize","$window","preferencesStorage"],angular.module("smartermail").service("treeState",e)}();
112!function(){"use strict";function e(e,n){var t=this;t.importList=function(t){var i=document.createElement("input");i.type="file",i.accept=".txt,.csv",i.onchange=function(i){var o=i.target.files[0];if(o){var r=new FileReader;r.onload=function(i){var o=i.target.result.split(/[\r\n,;]+/).map((function(e){return e.trim()})).filter(Boolean).map((function(e){return e.indexOf("@")>=0?Promise.resolve(n.isValidEmail(e)).then((function(n){return n?{type:"email",value:e}:null})):Promise.resolve(n.isValidDomain(e)).then((function(n){return n?{type:"domain",value:e}:null}))}));Promise.all(o).then((function(n){var i=[],o=[];n.filter(Boolean).forEach((function(e){"email"===e.type?i.push(e.value):o.push(e.value)})),e.$applyAsync((function(){t(i,o)}))}))},r.readAsText(o)}},i.click()},t.downloadList=function(e,n){var t=new Blob([e.join("\n")],{type:"text/plain"}),i=URL.createObjectURL(t),o=document.createElement("a");o.href=i,o.download=n,document.body.appendChild(o),o.click(),document.body.removeChild(o),URL.revokeObjectURL(i)}
112,t.mergeUnique=function(e,n){n.forEach((function(n){-1===e.indexOf(n)&&e.push(n)}))}}e.$inject=["$rootScope","emailValidationService"],angular.module("smartermail").service("trustedSendersImportExport",e)}();
113!function(){"use strict";angular.module("smartertools").directive("tutorialSpotlight",["$filter","$timeout","$sce","tutorialService",function(t,e,i,o){return{restrict:"E",scope:{tutorialId:"@",targetSelector:"@",titleKey:"@",descriptionKey:"@",description2BeforeKey:"@",description2AfterKey:"@",description2Icon:"@",position:"@"},link:function(i,n,r){var l=null,s=null,a=i.position||"bottom";window.innerWidth;i.title=t("translate")(i.titleKey),i.description=t("translate")(i.descriptionKey),i.description2Before=i.description2BeforeKey?t("translate")(i.description2BeforeKey):null,i.description2After=i.description2AfterKey?t("translate")(i.description2AfterKey):null,i.popoverPosition=a,i.popoverStyle={},e((function(){(l=document.querySelector(i.targetSelector))?(h(l),m(l)):g()}),150);var p=!1,d=e((function(){p=!0}),1e3);i.dismiss=function(){p&&(f(),o.dismissSpotlight())};var c=function(t){27===t.keyCode&&p&&i.$apply((function(){i.dismiss()}))};function f(){s&&s.parentNode&&(s.parentNode.removeChild(s),s=null)}function h(t){var e=t.getBoundingClientRect();(s=t.cloneNode(!0)).classList.add("tutorial-spotlight-cloned"),s.style.position="fixed",s.style.top=e.top+"px",s.style.left=e.left+"px",s.style.width=e.width+"px",s.style.height=e.height+"px",s.style.zIndex="10002",s.style.pointerEvents="none",s.style.margin="0",s.style.overflow="hidden";var i=u(t);s.style.backgroundColor=i,document.body.appendChild(s)}function u(t){var e=window.getComputedStyle(t).backgroundColor;if("rgba(0, 0, 0, 0)"===e||"transparent"===e){for(var i=t.parentElement;i&&("rgba(0, 0, 0, 0)"===e||"transparent"===e);)e=window.getComputedStyle(i).backgroundColor,i=i.parentElement;"rgba(0, 0, 0, 0)"!==e&&"transparent"!==e||(e=document.body.classList.contains("theme-dark")?"#2d2d2d":"#ffffff")}return e}function g(){i.popoverStyle={position:"fixed",top:"50%",left:"50%",transform:"translate(-50%, -50%)"}}function m(t){var e=t.getBoundingClientRect(),o=320,n=200,r=10,l=window.innerWidth,s=window.innerHeight,p="rtl"===document.documentElement.getAttribute("dir")||"rtl"===document.body.getAttribute("dir");if(l<=768){var d="bottom";(M=e.bottom+r)+n>s-20&&(e.top>n+r?(M=e.top-n-r,d="top"):M=Math.max(20,(s-n)/2));var c,f=Math.min(l-40,320),h=e.left+e.width/2,u=(l-f)/2;if(p){var g=u+f;c=Math.max(16,Math.min(g-h-6,f-28))}else c=Math.max(16,Math.min(h-u-6,f-28));return i.popoverPosition=d,void(i.popoverStyle={position:"fixed",top:M+"px",left:"50%",transform:"translateX(-50%)",width:"calc(100vw - 40px)",maxWidth:"320px","--arrow-offset":c+"px"})}var m,v,y,x={position:"fixed"},w=24,b=(h=e.left+e.width/2,e.top+e.height/2),k=a;switch(!p||"left"!==a&&"right"!==a||(k="left"===a?"right":"left"),"right"===k&&e.right+r+o>l-10?k="left":"left"===k&&e.left-r-o<10&&(k="right"),k){case"top":m=e.left+e.width/2-o/2,x.left=m+"px",x.bottom=s-e.top+r+"px";break;case"left":m=e.left-r-o,x.left=m+"px",v=e.top+e.height/2-80,x.top=v+"px";break;case"right":m=e.right+r,x.left=m+"px",v=e.top+e.height/2-80,x.top=v+"px";break;default:m=e.left+e.width/2-o/2,x.left=m+"px",v=e.bottom+r,x.top=v+"px"}var S=parseInt(x.left,10);if(!isNaN(S)&&(y=S,S<10?(y=10,x.left="10px"):S+o>l-10&&(y=l-o-10,x.left=y+"px"),"top"===k||"bottom"===k))if(p){g=y+o;w=Math.max(16,Math.min(g-h-6,o-28))}else w=Math.max(16,Math.min(h-y-6,o-28));if("left"===k||"right"===k){var M=parseInt(x.top,10);isNaN(M)||(w=Math.max(16,Math.min(b-M-6,160)))}i.popoverPosition=k,x["--arrow-offset"]=w+"px",i.popoverStyle=x}document.addEventListener("keydown",c),i.$on("$destroy",(function(){document.removeEventListener("keydown",c),e.cancel(d),f()}))},template:'\n                <div class="tutorial-spotlight-container">\n                    <div class="tutorial-spotlight-backdrop" ng-click="dismiss()"></div>\n                    <div class="tutorial-spotlight-popover" ng-class="\'position-\' + popoverPosition" ng-style="popoverStyle">\n                        <div class="tutorial-spotlight-content">\n                            <h3 class="tutorial-spotlight-title">{{title}}</h3>\n                            <p class="tutorial-spotlight-description">{{description}}</p>\n                            <p class="tutorial-spotlight-description tutorial-spotlight-description-hint" ng-if="description2Before">{{description2Before}} <i class="toolsicon" ng-class="description2Icon"></i> {{description2After}}</p>\n                        </div>\n                    </div>\n                </div>'}}])}();
114!function(){"use strict";angular.module("smartertools").service("tutorialService",["$rootScope","$timeout","$compile","$http","coreDataSettings",function(t,e,
114i,r,o){var n=this,s=null;function a(){return o.userSettings.seenTutorials||[]}function u(t){return-1===a().indexOf(t)}function l(t){var e=a();-1===e.indexOf(t)&&(e.push(t),o.userSettings.seenTutorials=e,r.post("~/api/v1/settings/user-mail",{userMailSettings:{seenTutorials:e}}).catch((function(){var i=e.indexOf(t);i>-1&&e.splice(i,1),o.userSettings.seenTutorials=e})))}n.shouldShowTutorial=u,n.markTutorialSeen=l,n.checkAndShowTutorial=function(r,o){u(r)&&e((function(){!function(e,r){if(document.querySelector(r.targetSelector)){var o=angular.element("<tutorial-spotlight></tutorial-spotlight>");o.attr("tutorial-id",e),o.attr("target-selector",r.targetSelector),o.attr("title-key",r.title),o.attr("description-key",r.description),r.description2Before&&(o.attr("description2-before-key",r.description2Before),o.attr("description2-after-key",r.description2After),o.attr("description2-icon",r.description2Icon)),o.attr("position",r.position||"bottom");var n=i(o)(t.$new());angular.element(document.body).append(n),s={element:n,tutorialId:e}}}(r,o)}),500)},n.dismissSpotlight=function(){s&&(s.element.remove(),l(s.tutorialId),s=null)}}])}();
115!function(){"use strict";function o(o,t,e,r,n){const i=this;let a,c;i.imageData=r,i.cropper=void 0,i.zoomValue=0,i.save=function(){if(!i.cropper)return;i.cropper.getCroppedCanvas({width:n.width,height:n.height,fillColor:"#fff"}).toBlob((function(t){o.hide({blob:t})}))},i.cancel=function(){o.cancel()},i.onSliderChange=h,i.zoomIn=function(){if(!i.cropper)return;i.zoomValue=Math.min(100,i.zoomValue+5),h()},i.zoomOut=function(){if(!i.cropper)return;i.zoomValue=Math.max(0,i.zoomValue-5),h()};let p=!1;function u(){if(!i.cropper)return;const o=i.cropper.getImageData(),t=(o.width/o.naturalWidth-a)/(c-a)*100;i.zoomValue=Math.round(Math.max(0,Math.min(100,t)))}function h(){if(!i.cropper)return;const o=a+i.zoomValue/100*(c-a);p=!0,i.cropper.zoomTo(o),p=!1}t((function(){const o=document.getElementById("imageCropper");o.addEventListener("load",(function(){i.cropper=new Cropper(o,{aspectRatio:n.width/n.height,viewMode:0,dragMode:"move",background:!0,guides:!1,center:!1,cropBoxResizable:!1,cropBoxMovable:!1,minContainerWidth:400,minContainerHeight:200,minCropBoxWidth:n.width,minCropBoxHeight:n.height,ready:function(){const o=i.cropper.getImageData(),t=i.cropper.getCropBoxData();a=Math.min(t.width/o.naturalWidth,t.height/o.naturalHeight),c=Math.max(4*a,1);const r=Math.max(t.width/o.naturalWidth,t.height/o.naturalHeight);i.cropper.zoomTo(r),u(),e.$applyAsync()},zoom:function(o){o.detail.ratio<a||o.detail.ratio>c?o.preventDefault():p||t((function(){u()}))}})}),{once:!0}),o.src=i.imageData})),e.$on("$destroy",(function(){i.cropper&&(i.cropper.destroy(),i.cropper=void 0)}))}o.$inject=["$mdDialog","$timeout","$scope","imageData","dimensions"],angular.module("smartermail").controller("uploadCropperController",o)}();
116!function(){"use strict";function e(e,i,s,t,r,n,a,o){var u=this,m="/interface/img/ST_User_Cir.svg";u.user={_displayName:r.getDisplayName(),_username:r.getUsername(),_categories:[],_domain:r.getDomain(),_emailAddress:r.getEmailAddress(),_isPrimarySysAdmin:r.isPrimarySysAdmin(),_isSysAdmin:r.isSysAdmin(),_isDomainAdmin:r.isDomainAdmin(),_settings:{},_pictureUrl:m,get displayName(){return this._displayName},set displayName(e){r.setDisplayName(e),this._displayName=e},get username(){return this._username},get domain(){return this._domain},get emailAddress(){return this._emailAddress},get isPrimarySysAdmin(){return this._isPrimarySysAdmin},get isSysAdmin(){return this._isSysAdmin},get isDomainAdmin(){return this._isDomainAdmin},get categories(){return this._categories},get settings(){return this._settings},set settings(e){this._settings=e||{}},get pictureUrl(){return function(e){var i=window.location.href.substring(0,window.location.href.indexOf("/interface/root#"))+e;if(e===m)return i;i=i+"&"+Math.floor(5e3*Math.random()).toString();return i}(this._pictureUrl)},set pictureUrl(e){this._pictureUrl=e},refreshPictureUrl:function(){return y()}};var d,l,g=!1,c=!1;function p(){return!0===u.user._isSysAdmin?i.get("~/api/v1/settings/sysadmin/logins").then((function(i){u.admin=$.grep(i.data.systemLogins,(function(e){return e.username.toLowerCase()===u.user.username.toLowerCase()}))[0],u.admin.systemTimeZoneIndex=i.data.systemTimeZoneIndex,e.$broadcast("userSettings:retrieved")}),a.report):i.get("~/api/v1/settings/user-startup-data").then((function(i){u.user.settings=i.data,e.$broadcast("userSettings:retrieved"),e.$on("categoriesUpdated",(function(){u.user._categories=o.getMasterCategories()}))}))}function _(){return!0===u.user._isSysAdmin?s.when():o.init().then((function(){u.user._categories=o.getMasterCategories()}))}function y(){return!0===u.user._isSysAdmin?(u.user.pictureUrl=m,s.when()):(l||(l=s.defer(),i.get("~/api/v1/contacts/gal-image-link?email="+u.user.emailAddress).then((function(i){i&&i.data&&i.data.imageLink?u.user.pictureUrl="/"+i.data.imageLink+"&x="+Math.floor(1e3*Math.random()):u.user.pictureUrl=m,e.$broadcast("user-profile-picture:changed"),l.resolve(i),l=null}),(function(e){u.user.pictureUrl=m,l.resolve(e),l=null}))),l.promise)}u.isInitialized=function(){return c},u.init=function(i){var t=n.impersonationTokens();if(t&&!1===n.hasInitiatedImpersonation(t.email)&&(n.deleteInitiatedImpersonation(),n.saveToken(t,!0,"user-data.service.init()"),n.deleteImpersonateToken(),r.setClaims(t.accessToken,!0)),g||(g=!0),d)return d.promise;if(c)return s.when();var a,o=(d=s.defer()).promise;return u.user._displayName=r.getDisplayName(),u.user._username=r.getUsername(),u.user._domain=r.getDomain(),u.user._emailAddress=r.getEmailAddress(),u.user._isPrimarySysAdmin=r.isPrimarySysAdmin(),u.user._isSysAdmin=r.isSysAdmin(),u.user._isDomainAdmin=r.isDomainAdmin(),u.user._isSysAdmin||e.$broadcast("pageTitleUpdated",u.user._emailAddress),a=!0===i?[p()]:[p(),_(),y()],s.all(a).then((function(){c=!0,d.resolve()}),(function(e){d.reject(e)})).finally((function(){d=null})),o},u.reset=function(){g=!1,c=!1,u.user.settings={},u.admin={}}}e.$inject=["$rootScope","$http","$q","$log","claimsService","authStorage","errorHandling","apiCategories"],angular.module("smartermail").service("userDataService",e)}();
117!function(){"use strict";function e(e,n,t,i,r){var o=this;o.initialized=!1,o.userTimeZone,o.availableTimeZones=[],o.init=s,o.convertLocalToUserTime=function(n){if(o.initialized)return $.when(u(n));var t=e.defer();return s().then((function(){t.resolve(u(n))}),(function(){t.reject()})),t.promise},o.convertLocalToUserTimeMoment=function(e){return moment(u(e))},o.convertLocalToGivenTime=function(e,n){var t=e.toDate(),i=t.getTime()+6e4*t.getTimezoneOffset(),r=e.utcOffset();n&&(r*=-1);return new Date(i+6e4*r)},o.convertLocalToUserTimeBasic=u;let a=null;function s(){if(a)return a.promise;function s(){var s;(s=e.defer(),i.settingsData.availiableTimeZones.then((function(e){o.availableTimeZones=e;for(var t=0;t<o.availableTimeZones.length;++t)o.availableTimeZones[t].translated=n.instant(o.availableTimeZones[t].displayName);s.resolve()}),(function(e){r.report(e),s.reject()})),s.promise).then((function(){if(o.userTimeZone=$.grep(o.availableTimeZones,(function(e){return e.index===i.userSettings.timeZoneIndex}))[0],t.user.isSysAdmin&&(o.userTimeZone=$.grep(o.availableTimeZones,(function(e){return e.index===t.admin.systemTimeZoneIndex}))[0]),!o.userTimeZone){var e=moment().utcOffset();o.userTimeZone=$.grep(o.availableTimeZones,(function(n){return n.currentMinuteOffset===e}))[0]}o.initialized=!0,a.resolve()}),(function(e){r.report(e),a.reject()})).finally((function(){a=null}))}return a=e.defer(),t.init().catch(angular.noop).then((function(){return i.init()})).then(s,s),a.promise}function u(e){var n=moment(e),t=n.toDate(),i=t.getTime()+6e4*t.getTimezoneOffset(),r=moment.tz(n,o.userTimeZone.location).utcOffset();return new Date(i+6e4*r)}o.convertUserTimeToLocal=e=>{const n=moment.tz(e,o.userTimeZone.location),t=n.toDate().getTime()-6e4*n.utcOffset();return new Date(t-6e4*(new Date).getTimezoneOffset())}}e.$inject=["$q","$translate","userDataService","coreDataSettings","errorHandling"],angular.module("smartermail").service("userTimeService",e)}();
118!function(){function s(s){!function(s){s.state("index.sysadmin-settings",{url:"/sysadmin/settings",views:{"mainContentView@index":{templateUrl:"app/sysadmin/settings/sett
118ings-main.html"}},data:{auth:{roles:["SysAdmin"],claims:[]}}}),s.state("index.sysadmin-settings.general-settings",{url:"/general-settings",data:{pageTitle:"GENERAL"},views:{settingsContentView:{templateUrl:"app/sysadmin/settings/general-settings/general-settings.html"}}}),s.state("index.sysadmin-manage.troubleshooting",{url:"/troubleshooting",data:{pageTitle:"TROUBLESHOOTING"},views:{manageContentView:{templateUrl:"app/sysadmin/settings/troubleshooting/troubleshooting.html"}}}),s.state("index.sysadmin-settings.system-administrators",{url:"/system-administrators",data:{pageTitle:"ADMINISTRATORS"},views:{settingsContentView:{templateUrl:"app/sysadmin/settings/system-administrators/administrators.html"}}}),s.state("index.sysadmin-settings.system-administrators.specific",{url:"/{username}",params:{isNew:null},data:{pageTitle:"SYSTEM_ADMINISTRATOR"},views:{"[email protected]":{templateUrl:"app/sysadmin/settings/system-administrators/system-administrator.html"}}}),s.state("index.sysadmin-settings.protocol-settings",{url:"/protocol-settings",data:{pageTitle:"PROTOCOLS"},views:{settingsContentView:{templateUrl:"app/sysadmin/settings/protocol-settings/protocol-settings.html"}}}),s.state("index.sysadmin-settings.diagnostics",{url:"/diagnostics",data:{pageTitle:"Diagnostics"},views:{settingsContentView:{templateUrl:"app/sysadmin/settings/diagnostics/diagnostics.html"}}}),s.state("index.sysadmin-settings.smtp-in",{url:"/smtp-in",data:{pageTitle:"SMTP_IN"},views:{settingsContentView:{templateUrl:"app/sysadmin/settings/smtp-in/smtp-in.html"}}}),s.state("index.sysadmin-settings.smtp-out",{url:"/smtp-out",data:{pageTitle:"SMTP_OUT"},views:{settingsContentView:{templateUrl:"app/sysadmin/settings/smtp-out/smtp-out.html"}}}),s.state("index.sysadmin-settings.routing-rules",{url:"/routing-rules",data:{pageTitle:"ROUTING_RULES"},views:{settingsContentView:{templateUrl:"app/sysadmin/settings/routing-rules/routing-rules.html"}}}),s.state("index.sysadmin-settings.routing-rules.specific",{url:"/{routingruleid}",data:{pageTitle:"ROUTING_RULE"},views:{"[email protected]":{templateUrl:"app/sysadmin/settings/routing-rules/routing-rule.html"}}}),s.state("index.sysadmin-settings.log-settings",{url:"/log-settings",data:{pageTitle:"LOG_SETTINGS"},views:{settingsContentView:{templateUrl:"app/sysadmin/settings/log-settings/log-settings.html"}}}),s.state("index.sysadmin-settings.activesync",{url:"/activesync",data:{pageTitle:"EAS_MAILBOXES"},views:{settingsContentView:{templateUrl:"app/sysadmin/settings/activesync/activesync.html"}}}),s.state("index.sysadmin-settings.system-messages",{url:"/system-messages",data:{pageTitle:"SYSTEM_MESSAGES"},views:{settingsContentView:{templateUrl:"app/sysadmin/settings/system-messages/system-messages.html"}}}),s.state("index.sysadmin-settings.system-messages.message-footer",{url:"/message-footer",data:{pageTitle:"MESSAGE_FOOTER"},views:{"[email protected]":{templateUrl:"app/sysadmin/settings/system-messages/message-footer.html"}}}),s.state("index.sysadmin-settings.system-messages.specific",{url:"/{id}/{locale}",data:{pageTitle:"SYSTEM_MESSAGE"},views:{"[email protected]":{templateUrl:"app/sysadmin/settings/system-messages/system-message.html"}},params:{isNew:!1}}),s.state("index.sysadmin-manage.user-defaults",{url:"/user-defaults",data:{pageTitle:"USER_DEFAULTS"},views:{manageContentView:{templateUrl:"app/sysadmin/manage/domains/user-defaults.html"}}}),s.state("index.sysadmin-settings.activation",{url:"/activation",data:{pageTitle:"PRODUCT_ACTIVATION"},views:{settingsContentView:{templateUrl:"app/sysadmin/settings/activation/activation.html"}}}),s.state("index.sysadmin-settings.bindings",{url:"/bindings",data:{pageTitle:"BINDINGS"},views:{settingsContentView:{templateUrl:"app/sysadmin/settings/bindings/bindings.html"}}}),s.state("index.sysadmin-settings.gateways",{url:"/gateways",data:{pageTitle:"GATEWAYS_FAILOVER",type:"GATEWAYS"},views:{settingsContentView:{templateUrl:"app/sysadmin/settings/gateways/gateways.html"}}}),s.state("index.sysadmin-settings.gateways.combined",{url:"/combined/{id}",data:{pageTitle:"COMBINED_GATEWAY"},views:{"[email protected]":{templateUrl:"app/sysadmin/settings/gateways/combined-gateway.html"}}}),s.state("index.sysadmin-settings.gateways.failover-servers",{url:"/failover-servers",data:{pageTitle:"FAILO
118VER_SERVERS"},views:{"[email protected]":{templateUrl:"app/sysadmin/settings/gateways/failover-servers.html"}}}),s.state("index.sysadmin-settings.events",{url:"/events",data:{pageTitle:"EVENTS"},views:{settingsContentView:{templateUrl:"app/sysadmin/settings/events/events.html"}}}),s.state("index.sysadmin-settings.events.specific",{url:"/events/{id}",data:{pageTitle:"EVENTS"},views:{"[email protected]":{templateUrl:"app/sysadmin/settings/events/event.html"}}}),s.state("index.sysadmin-settings.antispam",{url:"/spam-filtering",data:{pageTitle:"ANTI_SPAM"},views:{settingsContentView:{templateUrl:"app/sysadmin/settings/antispam/antispam.html"}}}),s.state("index.sysadmin-settings.antivirus",{url:"/antivirus",data:{pageTitle:"ANTIVIRUS"},views:{settingsContentView:{templateUrl:"app/sysadmin/settings/antivirus/antivirus.html"}}}),s.state("index.sysadmin-settings.security",{url:"/security",data:{pageTitle:"SECURITY"},views:{settingsContentView:{templateUrl:"app/sysadmin/settings/security/security.html"}}}),s.state("index.sysadmin-settings.ssl-certificates",{url:"/ssl-certificates",data:{pageTitle:"SSL_TLS_CERTIFICATES"},views:{settingsContentView:{templateUrl:"app/sysadmin/settings/ssl-certificates/ssl-certificates.html"}}}),s.state("index.sysadmin-settings.mounts",{url:"/mounts",data:{pageTitle:"MOUNTS"},views:{settingsContentView:{templateUrl:"app/sysadmin/settings/mounts/mounts.html"}}}),s.state("index.sysadmin-settings.delivery-limits",{url:"/delivery-limits",data:{pageTitle:"DELIVERY_LIMITS"},views:{settingsContentView:{templateUrl:"app/sysadmin/settings/delivery-limits/delivery-limits.html"}}}),s.state("index.sysadmin-settings.sys-admin-password-requirements",{url:"/sys-admin-password-requirements",data:{pageTitle:"SYSADMIN_SECURITY_SYSADMIN_PASSWORD_REQUIREMENTS"},views:{settingsContentView:{templateUrl:"app/sysadmin/settings/sys-admin-password-requirements/sys-admin-password-requirements.html"}}})}(s),s.state("index.sysadmin",{abstract:!0,url:"",views:{"@":{templateUrl:"app/root/main.html"}},data:{auth:{roles:["SysAdmin"],claims:[]}}}),s.state("index.sysadmin-manage",{url:"/sysadmin",data:{pageTitle:"MANAGE",auth:{roles:["SysAdmin"],claims:[]}},views:{"mainContentView@index":{templateUrl:"app/sysadmin/manage/manage-root.html"}}}),s.state("index.sysadmin-manage.dashboard",{url:"/manage",data:{pageTitle:"MANAGE"},views:{manageContentView:{templateUrl:"app/sysadmin/manage/manage.html"}}}),s.state("index.sysadmin-manage.domain-defaults",{url:"/domain-defaults",data:{pageTitle:"DOMAIN_DEFAULTS"},views:{manageContentView:{templateUrl:"app/sysadmin/manage/domains/domain-defaults.html"}}}),s.state("index.sysadmin-manage.password-requirements",{url:"/password-requirements",data:{pageTitle:"SYSADMIN_SECURITY_PASSWORD_REQUIREMENTS"},views:{manageContentView:{templateUrl:"app/settings/shared/password-requirements/password-requirements.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific",{url:"/{id}?isNew",data:{pageTitle:"DOMAIN"},views:{"[email protected]":{templateUrl:"app/sysadmin/manage/domains/domain.html"}},params:{id:null,idn:null,isNew:null}}),s.state("index.sysadmin-manage.spool-dashboard",{url:"/spool/",data:{pageTitle:"Spool"},views:{manageContentView:{templateUrl:"app/sysadmin/manage/spool/admin-spool-manage-main.html"}}}),s.state("index.sysadmin-manage.user-activity",{url:"/user-activity/",data:{pageTitle:"USER_ACTIVITY"}
118,views:{manageContentView:{templateUrl:"app/sysadmin/manage/user-activity/admin-user-activity-main.html"}}}),s.state("index.sysadmin-manage.users-connections",{url:"/users-connections",data:{pageTitle:"USER_CONNECTIONS"},views:{manageContentView:{templateUrl:"app/settings/domain-settings/users-connections/users-connections.html"}}}),s.state("index.sysadmin-manage.users-statuses",{url:"/users-statuses",data:{pageTitle:"USER_STATUSES"},views:{manageContentView:{templateUrl:"app/settings/domain-settings/users-statuses/users-statuses.html"}}}),s.state("index.sysadmin-manage.ip-connections",{url:"/current-connections/",data:{pageTitle:"Current Connections"},views:{manageContentView:{templateUrl:"app/sysadmin/manage/connections/admin-connections-main.html"}}}),s.state("index.sysadmin-manage.ids-blocks",{url:"/ids-blocks/",data:{pageTitle:"Current IDS Blocks"},views:{manageContentView:{templateUrl:"app/sysadmin/manage/ids-blocks/admin-ids-blocks.html"}}}),s.state("index.sysadmin-manage.server-blacklist-check",{url:"/server-blacklist-check/{page}",data:{pageTitle:"Blacklist Check"},views:{manageContentView:{templateUrl:"app/sysadmin/manage/server-blacklist-check/admin-security-server-blacklist-check.html"}}}),s.state("index.sysadmin-manage.message-archive",{url:"/message-archive-search",data:{pageTitle:"MESSAGE_ARCHIVE_SEARCH"},views:{manageContentView:{templateUrl:"app/settings/shared/message-archiving/message-archive-section.html"}}}),s.state("index.sysadmin-manage.message-archive.search",{url:"/message-archive-search/{searchGuid}",data:{pageTitle:"MESSAGE_ARCHIVE_SEARCH"},views:{"[email protected]":{templateUrl:"app/settings/shared/message-archiving/message-archive-search-view.html"}}}),function(s){s.state("index.sysadmin-manage.dashboard.domain-specific.domain-config",{url:"/domain-configuration",data:{pageTitle:"DOMAIN_SETUP"},views:{sysAdminDomainSettingsView:{templateUrl:"app/sysadmin/manage/domains/domain-config.html"}},params:{id:null,idn:null}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-general-settings",{url:"/domain-general-settings",data:{pageTitle:"DOMAIN_SETTINGS"},views:{sysAdminDomainSettingsView:{templateUrl:"app/settings/domain-settings/general-settings/general-settings.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-email-customization",{url:"/domain-email-customization",data:{pageTitle:"DOMAIN_SIGNATURES"},views:{sysAdminDomainSettingsView:{templateUrl:"app/settings/domain-settings/email-customization/email-customization.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-spam-filtering",{url:"/domain-spam-filtering",data:{pageTitle:"DOMAIN_SPAM_FILTERING"},views:{sysAdminDomainSettingsView:{templateUrl:"app/settings/domain-settings/spam-filtering/spam-filtering.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-user-connections",{url:"/domain-users-connections",data:{pageTitle:"USER_CONNECTIONS"},views:{sysAdminDomainSettingsView:{templateUrl:"app/settings/domain-settings/users-connections/users-connections.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-user-statuses",{url:"/domain-users-statuses",data:{pageTitle:"USER_STATUSES"},views:{sysAdminDomainSettingsView:{templateUrl:"app/settings/domain-settings/users-statuses/users-statuses.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-content-filtering",{url:"/domain-content-filtering",data:{pageTitle:"DOMAIN_CONTENT_FILTERING"},views:{"sysAdminDomainSettingsView@index.sysadmin-manage.dashboard.domain-specific":{templateUrl:"app/settings/domain-settings/content-filters/content-filters.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-content-filtering.specific",{url:"/{contentfilterid}",data:{pageTitle:"DOMAIN_CONTENT_FILTER"},views:{"sysAdminDomainSettingsView@index.sysadmin-manage.dashboard.domain-specific":{templateUrl:"app/settings/domain-settings/content-filters/content-filter.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-activesync",{url:"/domain-activesync",data:{pageTitle:"EAS_MAILBOXES"}
118,views:{sysAdminDomainSettingsView:{templateUrl:"app/settings/domain-settings/activesync/activesync.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-users",{url:"/domain-accounts",data:{pageTitle:"ACCOUNTS"},views:{sysAdminDomainSettingsView:{templateUrl:"app/settings/domain-settings/users/accounts.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.user-defaults",{url:"/defaults",data:{pageTitle:"USER_DEFAULTS"},views:{sysAdminDomainSettingsView:{templateUrl:"app/settings/domain-settings/user-defaults/defaults.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-users.specific",{url:"/user/{selectedUserId}",data:{pageTitle:"USER"},views:{"sysAdminDomainSettingsView@index.sysadmin-manage.dashboard.domain-specific":{templateUrl:"app/settings/domain-settings/users/user.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-user-aliases",{url:"/domain-user-aliases",data:{pageTitle:"ALIASES"},views:{sysAdminDomainSettingsView:{templateUrl:"app/settings/domain-settings/user-aliases/aliases.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-users.specific-list",{url:"/list/{mailingListId}",data:{pageTitle:"MAILINGLIST"},views:{"sysAdminDomainSettingsView@index.sysadmin-manage.dashboard.domain-specific":{templateUrl:"app/settings/shared/mailing-lists/list.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-mailing-lists",{url:"/domain-mailing-lists",data:{pageTitle:"MAILING_LISTS"},views:{sysAdminDomainSettingsView:{templateUrl:"app/settings/shared/mailing-lists/mailing-lists.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-mailing-lists.specific-list",{url:"/{mailingListId}",data:{pageTitle:"MAILINGLIST"},views:{"sysAdminDomainSettingsView@index.sysadmin-manage.dashboard.domain-specific":{templateUrl:"app/settings/shared/mailing-lists/list.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-mailing-lists.specific.subscribers",{url:"/subscribers",data:{pageTitle:"SUBSCRIBERS"},views:{"sysAdminDomainSettingsView@index.sysadmin-manage.dashboard.domain-specific":{templateUrl:"app/settings/shared/mailing-lists/list-subscribers.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-mailing-lists.specific.digest-subscribers",{url:"/digest-subscribers",data:{pageTitle:"DIGEST_SUBSCRIBERS"},views:{"sysAdminDomainSettingsView@index.sysadmin-manage.dashboard.domain-specific":{templateUrl:"app/settings/shared/mailing-lists/list-subscribers-digest.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-mailing-lists.specific.posters",{url:"/posters",data:{pageTitle:"POSTERS"},views:{"sysAdminDomainSettingsView@index.sysadmin-manage.dashboard.domain-specific":{templateUrl:"app/settings/shared/mailing-lists/list-posters.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-mailing-lists.specific.banned-users",{url:"/banned-users",data:{pageTitle:"BANNED_POSTERS"},views:{"sysAdminDomainSettingsView@index.sysadmin-manage.dashboard.domain-specific":{templateUrl:"app/settings/shared/mailing-lists/list-banned-users.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-mailing-lists.specific.system-messages",{url:"/system-messages",data:{pageTitle:"MESSAGES"},views:{"sysAdminDomainSettingsView@index.sysadmin-manage.dashboard.domain-specific":{templateUrl:"app/settings/shared/mailing-lists/list-messages.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-mailing-list-subscribers",{url:"/domain-mailing-list-subscribers",data:{pageTitle:"SUBSCRIBERS"},views:{sysAdminDomainSettingsView:{templateUrl:"app/settings/shared/mailing-lists/subscribers.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-events",{url:"/domain-events",data:{pageTitle:"EVENTS_DOMAIN_EVENTS"},views:{sysAdminDomainSettingsView:{templateUrl:"app/settings/domain-settings/events/events.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-events.specific",{url:"/{domainEventId}",data:{pageTitle:"EVENTS_DOMAIN_EVENT"},views:{"sysAdminDomainSettingsView@index.sysadmin-manage.dashboard.domain-specific":{templateUrl:"app/settings/domain-settings/events/event.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-message-archive",{url:"/domain-message-archive",data:{pageTitle:"MESSAGE_ARCHIVE_SEARCH"},views:{"sysAdminDomainSettingsView@index.sysadmin-manage.dashboard.domain-specific":{templateUrl:"app/settings/shared/message-archiving/message-archive-section.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-message-archive.search",{url:"/{searchGuid}",data:{pageTitle:"MESSAGE_ARCHIVE_SEARCH"},views:{"sysAdminDomainSettingsView@index.sysadmin-manage.dashboard.domain-specific":{templateUrl:"app/settings/shared/message-archiving/message-archive-search-view.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-sharing",{url:"/domain-sharing",data:{pageTitle:"SHARING"}
118,views:{sysAdminDomainSettingsView:{templateUrl:"app/settings/domain-settings/shared-resources/shared-resources.html"}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-chat-search",{url:"/domain-chat-search",views:{sysAdminDomainSettingsView:{templateUrl:"app/settings/domain-settings/chat-search/chat-search.html",data:{pageTitle:"CHAT"}}}}),s.state("index.sysadmin-manage.dashboard.domain-specific.domain-password-requirements",{url:"/password-requirements",data:{pageTitle:"SYSADMIN_SECURITY_PASSWORD_REQUIREMENTS"},views:{sysAdminDomainSettingsView:{templateUrl:"app/settings/shared/password-requirements/password-requirements.html"}}})}(s)}s.$inject=["$stateProvider"],angular.module("smartermail").config(s)}();
119!function(){"use strict";function e(e,t,o,r,l,a,s,i){var n=this;n.addToOutlook=async function(){let r;try{r=await o.show({controller:"taskOutlookDialogController",controllerAs:"ctrl",templateUrl:"app/tasks/modals/task-outlook.dlg.html"})}catch(e){return}try{e.spinner.show();const o={outlookVersion:r.outlookVersion,addType:"tasks",taskName:r.source.id,addId:r.source.id,owner:r.source.owner,displayName:r.displayName},l=await t.post("~/api/v1/outlook/add-to-url",o);window.open(l.data,"_self")}catch(e){a.report(e)}finally{e.spinner.hide()}},n.showCreateFolderModal=async function(e){try{return await o.show({locals:{},controller:"createTaskFolderController",controllerAs:"ctrl",templateUrl:"app/tasks/modals/create-folder.dlg.html",targetEvent:e,clickOutsideToClose:!1}),!0}catch(e){}},n.showRenameFolderModal=async function(e,t){if(!t)return;try{let r;return r=t.isSharedItem?await o.show({controller:"editSharedFolderDialogController",controllerAs:"ctrl",templateUrl:"app/shared/modals/edit-shared-folder.dlg.html",targetEvent:e,locals:{folderId:t.folderId,webcalLink:null,folder:null}}):await o.show({locals:{source:t},controller:"renameTaskFolderController",controllerAs:"ctrl",templateUrl:"app/tasks/modals/rename-folder.dlg.html",targetEvent:e,clickOutsideToClose:!1}),r&&r.detached&&(s.removeSourceVisibility("tasks",t),s.removeSourceVisibility("calendars",t)),!0}catch(e){}},n.showDeleteFolderModal=async function(e,i){if(!i||i.isPrimary)return;const n=i.displayName?r.instant(i.displayName):i.name,d=o.confirmDeletion().htmlContent(l("translate")("CONFIRMATIONS_DELETE_FOLDER",{name:n})).targetEvent(e);try{await o.show(d)}catch(e){return}try{const e={folder:n,uid:i.id||i.itemID};return await t.post("~/api/v1/tasks/sources/delete",e),s.removeSourceVisibility("tasks",i),s.removeSourceVisibility("calendars",i),!0}catch(e){a.report(e)}},n.showShareFolderModal=async function(e,t){try{return await o.show({locals:{source:t,isCalendarView:!1},controller:"shareTaskFolderController",controllerAs:"ctrl",templateUrl:"app/tasks/modals/share-folder.dlg.html",targetEvent:e,clickOutsideToClose:!1}),!0}catch(e){}},n.showEditFolderModal=async function(e,t){let r;r=t&&t.isSharedItem?await o.show({controller:"editSharedFolderDialogController",controllerAs:"ctrl",templateUrl:"app/shared/modals/edit-shared-folder.dlg.html",targetEvent:e,locals:{folderId:t.folderId,webcalLink:null,folder:null}}):await o.show({locals:{source:t,isCalendarView:!1},controller:"editTaskFolderController",controllerAs:"ctrl",templateUrl:"app/tasks/modals/edit-task-folder.dlg.html",targetEvent:e,clickOutsideToClose:!1});r&&r.detached&&(s.removeSourceVisibility("tasks",t),s.removeSourceVisibility("calendars",t))},n.showSharedFolderPropertiesModal=async function(e,t){try{let r=await o.show({controller:"editSharedFolderDialogController",controllerAs:"ctrl",templateUrl:"app/shared/modals/edit-shared-folder.dlg.html",targetEvent:e,locals:{folderId:t.folderId,webcalLink:null,folder:null}});return r&&r.detached&&(s.removeSourceVisibility("tasks",t),s.removeSourceVisibility("calendars",t)),!0}catch(e){}},n.showNewTaskPopup=function(){const e=`${stSiteRoot}interface/root#/popout/task/new`;return window.open(e,"","resizable=1, "+i.dimensions.task)},n.showEditTaskPopup=function(e,t,o){const r=`${stSiteRoot}interface/root#/popout/task/${e}/${t}/${o}`;return window.open(r,e,"resizable=1, "+i.dimensions.task)}}e.$inject=["$rootScope","$http","$mdDialog","$translate","$filter","errorHandling","preferencesStorage","popupService"],angular.module("smartermail").service("taskActions",e)}();
120!function(){"use strict";angular.module("smartermail").directive("taskCard",(function(){return{restrict:"EA",templateUrl:"app/tasks/task-card.html",controller:["$scope","$translate","$filter",function(t,a,e){t.taskCard={},t.taskCard.startString=t.task.start?e("date")(t.task.start,"shortDate")+" "+a.instant("AT")+" "+e("date")(t.task.start,"shortTime"):a.instant("NONE"),t.taskCard.dueString=t.task.due?e("date")(t.task.due,"shortDate")+" "+a.instant("AT")+" "+e("date")(t.task.due,"shortTime"):a.instant("NONE"),t.taskCard.percentCompletePercent=(t.task.percentComplete<=100?t.task.percentComplete:100)+"%";const s=a.instant(t.task.subject);s!==t.task.subject?t.taskCard.displaySubject=$("<div>").html(s).text():t.taskCard.displaySubject=t.task.subject,t.task.categories&&t.task.categories.length&&t.task.categories.forEac
120h((t=>{const e=a.instant(t.name);t.translatedName=$("<div>").html(e).text()}))}]}}))}();
121!function(){"use strict";function e(e,t,n,r,o,a,s,i,c,u,d,f,l,m,I,k,h,p,g,y,S,E,D,N,T,A,v){var w=this;t.isLoaded=!1;var O=!0;t.isNew=void 0===s.taskId,t.sources=[],t.tasks=[],t.useDateTime=!0,t.reminderSet=!0,t.afContext="user",t.editorScope={},Object.defineProperty(w,"userTimeZone",{get:function(){return p.userTimeZone}}),t.removedAttachedFiles=[],t.percentCompleteOptions=[];for(var R=0;R<=100;R++)t.percentCompleteOptions.push(R);function M(){e.spinner.showInstant();var n=[k.getSources(!0)];t.isNew||n.push(f.getTaskFromServer(s.owner,s.sourceId,s.taskId)),a.all(n).then((function(n){t.sources=n[0],t.defaultSource=t.sources.find((e=>e.owner===m.user.username&&e.isPrimary)),t.currentSource=t.defaultSource,t.isNew||(t.currentSource=t.sources.find((e=>e.id===s.sourceId)),t.taskInfo=$.extend(!0,n[1],{sourcePermission:t.currentSource?t.currentSource.permission:s.owner===m.user.username?8:4}),t.taskInfo.start&&"0001-01-01T00:00:00"!==t.taskInfo.start&&t.taskInfo.due&&"0001-01-01T00:00:00"!==t.taskInfo.due||(t.useDateTime=!1,t.taskInfo.start=null,t.taskInfo.due=null),t.taskInfo.reminder&&"0001-01-01T00:00:00"!==t.taskInfo.reminder||(t.reminderSet=!1,t.taskInfo.reminder=null)),function(){var n=I.getPopoutData();if($.isEmptyObject(n))if(t.isNew){t.editingItem=!0,t.currentSource=t.defaultSource,t.taskInfo||(t.taskInfo={}),t.taskInfo.sourcePermission=8;var r=moment();r.toDate();if(r.minute(5*Math.round(r.minute()/5)),r.second(0),t.taskInfo.start=r.toDate(),t.taskInfo.due=moment(r).add(1,"h").toDate(),t.taskInfo.reminder=moment(r).subtract(5,"m").toDate(),t.taskInfo.priority=5,t.taskInfo.status=t.statusOptions[1].id,t.taskInfo.percentComplete=0,localStorage.taskPopout){var o=JSON.parse(localStorage.taskPopout);if((r=o.start||(o.data?o.data.start:void 0))&&(r=moment.tz(r,p.userTimeZone.location)),o.data&&(t.taskInfo.start=r?r.toDate():o.data.start,t.taskInfo.due=moment(r).add(1,"h").toDate(),t.taskInfo.reminder=moment(r).subtract(5,"m").toDate()),o.calId){var a=t.sources.filter((e=>e.id===o.calId));a&&1===a.length&&(t.currentSource=a[0])}delete localStorage.taskPopout}}else!function(){t.editingItem=!0,t.originalTaskDesc=t.taskInfo.description,t.taskInfo.start&&(t.taskInfo.start=f.convertLocalToTargetTz(t.taskInfo.start,t.taskInfo.userTimeZone));t.taskInfo.due&&(t.taskInfo.due=f.convertLocalToTargetTz(t.taskInfo.due,t.taskInfo.userTimeZone));t.taskInfo.reminder&&(t.taskInfo.reminder=f.convertLocalToTargetTz(t.taskInfo.reminder,t.taskInfo.userTimeZone));var e=$.grep(t.sources,(function(e){return t.taskInfo.sourceId===e.id&&t.taskInfo.sourceOwner===e.owner}));t.currentSource=e.length>0?e[0]:t.sources[0],(e=$.grep(t.sources,(function(e){return e.permission>=8}))).length>0&&(t.sources=e);C(),t.taskInfo.sourcePermission<8&&(t.skipNavigateConfirm=!0,O=!1)}();else{if(t.taskInfo=n.taskInfo,!t.taskInfo)return void g.report("INVALID_POPOUT");if(t.taskInfo.start=moment(t.taskInfo.start).toDate(),t.taskInfo.due=moment(t.taskInfo.due).toDate(),t.taskInfo.reminder=moment(t.taskInfo.reminder).toDate(),t.originalTaskDesc=t.taskInfo.description,n.currentSource){for(var s=0;s<t.sources.length;s++)if(t.sources[s].id===n.currentSource.id&&t.sources[s].owner===n.currentSource.owner){t.currentSource=t.sources[s];break}}else t.currentSource=t.defaultSource;h.categoryOwner=t.currentSource.owner,t.isNew=n.isNew,t.isNew||C(),t.isLoaded=!0,e.spinner.hide(),t.editingItem=!0}w.attachmentGuid=d.generateGuid(),w.attachedFiles=t.taskInfo.attachedFiles?JSON.parse(JSON.stringify(t.taskInfo.attachedFiles)):[],h.categoryOwner=t.currentSource.owner,t.categories=h.categoryOwner?h.getCategories():[],F(t.categories,t.taskInfo.categories),t.taskInfo.status||(t.taskInfo.status=0);t.taskInfo.attachedMessage?p.convertLocalToUserTime(t.taskInfo.attachedMessage.date).then((function(n){n.getSeconds()>=30&&n.setMinutes(n.getMinutes()+1),n.setSeconds(0),t.taskInfo.attachedMessage.date=n,t.isLoaded=!0,e.spinner.hide()}),(function(n){g.report(n),t.isLoaded=!0,e.spinner.hide()})):(t.isLoaded=!0,e.spinner.hide())}()}),g.reportAndHideSpinner),t.$watch("useDateTime",(function(e,n){e!==n&&!1===e&&(t.taskInfo.start=null,t.taskInfo.due=null)})),t.$watch("reminderSet",(function(e,n){e!==n&&!1===e&&(t.taskInfo.reminder=null)})),t.$watch("taskInfo.start",(function(e,n){if(e!==n&&t.taskInfo&&t.taskInfo.start&&t.taskInfo.due&&t.taskInfo.due<t.taskInfo.start){const e=n&&n<t.taskInfo.due?moment.duration(moment(t.taskInfo.due).diff(moment(n))):moment.duration(1,"hours");t.taskInfo.due=moment(t.taskInfo.start).add(e).toDate()}})),t.$watch("taskInfo.due",(function(e,n){if(e!==n&&t.taskInfo&&t.taskInfo.due&&t.taskInfo.start&&t.taskInfo.start>t.taskInfo.due){const e=n&&n>t.taskInfo.start?moment.duration(moment(t.taskInfo.start).diff(moment(n))):moment.duration(1,"hours");t.taskInfo.start=moment(t.taskInfo.due).add(e).toDate()}})),t.$watch("currentSource",(function(e,n){e!==n&&(e.isDomainResource?t.afContext="domainshare":t.afContext="user")}
121)),m.init(),t.$on("categoriesUpdated",Y)}function C(){var e,n;t.taskInfo.recurrence&&(t.currentRecurrence=(e=t.taskInfo.recurrence.type,(n=$.grep(t.recurrenceOptions,(function(t){return e===t.id}))).length>0?n[0]:t.recurrenceOptions[0]),w.recurUntilOption=t.taskInfo.recurrence.untilCountEnabled?1:t.taskInfo.recurrence.untilDateEnabled?2:0,w.recurUntilCount=t.taskInfo.recurrence.untilCount,w.recurUntilDate=moment(t.taskInfo.recurrence.untilDate).toDate(),w.recurStart=t.taskInfo.recurrence.startDate,w.recurRegenerative=t.taskInfo.recurrence.isRegenerative,w.dailyFreq=t.taskInfo.recurrence.isWeekdaysOnly?1:0,w.dailyFreqDays=t.taskInfo.recurrence.dailyInterval,w.weeklyFreqWeeks=t.taskInfo.recurrence.weeklyInterval,w.weeklyDays=t.taskInfo.recurrence.weeklyDays,w.weeklyDayStr=function(){const e=[];for(let n=0;n<w.weeklyDays.length;n++)w.weeklyDays[n]&&e.push(t.daysOfWeek[n].name);if(1===e.length)return e[0];var n="";for(let t=0;t<e.length-1;t++)n+=e[t]+", ";return n+=o("translate")("AND").toLowerCase()+" "+e[e.length-1]}(),w.monthlyFreq=t.taskInfo.recurrence.monthlySpecificDay?0:1,w.monthlyFreqMonths=t.taskInfo.recurrence.monthlyInterval,w.monthlyFreqDay=t.taskInfo.recurrence.monthDay,2147483647===t.taskInfo.recurrence.monthlyPeriodIndex&&(t.taskInfo.recurrence.monthlyPeriodIndex=4),w.monthlyFreqPeriod=t.recurPeriods[t.taskInfo.recurrence.monthlyPeriodIndex],w.monthlyFreqPeriodDay=t.daysOfWeek[t.taskInfo.recurrence.monthlyPeriodDayIndex],w.yearlyFreq=t.taskInfo.recurrence.yearlySpecificDate?0:1,w.yearlyFreqYears=t.taskInfo.recurrence.yearlyInterval,w.yearlyFreqMonth=t.taskInfo.recurrence.yearlyMonthIndex,w.yearlyFreqMonthDate=t.taskInfo.recurrence.yearlyDay,w.yearlyFreqPeriod=t.taskInfo.recurrence.yearlyPeriodIndex,w.yearlyFreqPeriodDay=t.taskInfo.recurrence.yearlyPeriodDayIndex,w.yearlyFreqPeriodMonth=t.taskInfo.recurrence.yearlyMonthIndex)}function _(){e.$broadcast("calendarRefresh"),t.skipNavigateConfirm=!0,O=!1,r((function(){window.close()}))}function F(e,t){return e.forEach((function(e){e.selected=!1})),t&&(e=t.reduce((function(e,t){const n=e.find((e=>e.name===t.name));return n?n.selected=t.selected:t.selected&&e.push({name:t.name,colorIndex:-1,master:!1,translatedName:o("translate")(t.name),selected:!0}),e}),e)),e}function Y(){var e=h.getCategories();t.categories=F(e,t.categories)}t.priorityOptions=[0,1,2,3,4,5,6,7,8,9,10],t.statusOptions=[{id:3,name:"STATUS_CANCELED"},{id:0,name:"STATUS_NOT_STARTED"},{id:1,name:"COMPLETED"},{id:2,name:"STATUS_IN_PROGRESS"}],t.reminderOptions=function(){var e,t=[];t.push({id:0,name:o("translate")("NONE")}),e=1;for(var n=0;n<=15;n+=5)t.push({id:e++,name:v.reactPluralize("REMINDER_MINUTES",{count:n})});t.push({id:5,name:v.reactPluralize("REMINDER_MINUTES",{count:30})}),e=6;for(var r=1;r<=12;++r)t.push({id:e++,name:v.reactPluralize("REMINDER_HOURS",{count:r})});t.push({id:18,name:v.reactPluralize("REMINDER_HOURS",{count:24})}),e=19;for(var a=2;a<=4;++a)t.push({id:e++,name:v.reactPluralize("REMINDER_DAYS",{count:a})});return t.push({id:22,name:v.reactPluralize("REMINDER_WEEKS",{count:1})}),t.push({id:23,name:v.reactPluralize("REMINDER_WEEKS",{count:2})}),t}(),t.recurrenceType={ONCE:0,DAILY:4,WEEKLY:5,MONTHLY:6,YEARLY:7},t.recurrenceOptions=[{id:t.recurrenceType.ONCE,name:c.instant("CALENDAR_RECURRENCE_ONCE")},{id:t.recurrenceType.DAILY,name:c.instant("DAILY")},{id:t.recurrenceType.WEEKLY,name:c.instant("WEEKLY")},{id:t.recurrenceType.MONTHLY,name:c.instant("MONTHLY")},{id:t.recurrenceType.YEARLY,name:c.instant("CALENDAR_RECURRENCE_YEARLY")}],t.recurPeriods=[{id:0,name:c.instant("CALENDAR_FIRST")},{id:1,name:c.instant("CALENDAR_SECOND")},{id:2,name:c.instant("CALENDAR_THIRD")},{id:3,name:c.instant("CALENDAR_FOURTH")},{id:4,name:c.instant("CALENDAR_LAST")}],t.daysOfWeek=[{id:0,name:c.instant("SUNDAY")},{id:1,name:c.instant("MONDAY")},{id:2,name:c.instant("TUESDAY")},{id:3,name:c.instant("WEDNESDAY")},{id:4,name:c.instant("THURSDAY")},{id:5,name:c.instant("FRIDAY")},{id:6,name:c.instant("SATURDAY")},{id:7,name:c.instant("DAY")},{id:8,name:c.instant("CALENDAR_RECUR_WEEKDAY")},{id:9,name:c.instant("CALENDAR_RECUR_WEEKEND_DAY")}],t.months=[{id:0,name:c.instant("MONTH_NAMES_JANUARY")},{id:1,name:c.instant("MONTH_NAMES_FEBRUARY")},{id:2,name:c.instant("MONTH_NAMES_MARCH")},{id:3,name:c.instant("MONTH_NAMES_APRIL")},{id:4,name:c.instant("MONTH_NAMES_MAY")},{id:5,name:c.instant("MONTH_NAMES_JUNE")},{id:6,name:c.instant("MONTH_NAMES_JULY")},{id:7,name:c.instant("MONTH_NAMES_AUGUST")},{id:8,name:c.instant("MONTH_NAMES_SEPTEMBER")},{id:9,name:c.instant("MONTH_NAMES_OCTOBER")},{id:10,name:c.instant("MONTH_NAMES_NOVEMBER")},{id:11,name:c.instant("MONTH_NAMES_DECEMBER")}],t.save=function(){t.taskInfo.description=t.editorScope.getHtml(),r((function(){t.editingItem=!1,t.isNew&&(t.taskInfo.sourceOwner=t.currentSource.owner,t.taskInfo.sourceName=t.currentSource.name,t.taskInfo.sourceId=t.currentSource.id);var n=t.taskInfo.sourceOwner,r=t.taskInfo.sourceId,o=t.taskInfo.id,s=!1;t.isNew||r===t.currentSource.id||(s=!0,t.taskInfo.id=void 0,t.taskInfo.sourceOwner=t.currentSource.owner,t.taskInfo.sourceName=t.currentSource.name,t.taskInfo.sourceId=t.currentSource.id),w.attachedFiles.some((e=>e.isNew))&&(t.taskInfo.attachmentGuid=w.attachmentGuid);var c=moment.tz(moment(t.taskInfo.start).format("YYYY-MM-DDTHH:mm:ss"),w.userTimeZone.location);t.taskInfo.start=c;var u=moment.tz(moment(t.taskInfo.due).format("YYYY-MM-DDTHH:mm:ss"),w.userTimeZone.location);t.taskInfo.due=u;var d=moment.tz(moment(t.taskInfo.reminder).format("YYYY-MM-DDTHH:mm:ss"),w.userTimeZone.location);t.taskInfo.reminder=d,t.taskInfo.categories=$.grep(t.categories,(function(e){return e.selected})),t.taskInfo.description&&t.taskInfo.description.indexOf('"/attachedfile?data=')>-1&&(t.taskInfo.description=t.taskInfo.description.split('"/attachedfile?data=').join('"attlinkedfileid:')),e.spinner.show();try{(function(e,n){if(!t.removedAttachedFiles||0===t.removedAttachedFiles.length){var r=a.defer();return r.resolve(),r.promise}var o=t.sources.filter((t=>
121t.id===e))[0],s=JSON.stringify({folderId:o.folderId,owner:n,removeFileReferences:t.removedAttachedFiles});return i.post("~/api/v1/filestorage/remove-attached-file",s)})(r,n).then((function(){f.saveTasks([t.taskInfo]).then((function(c){if(t.tasks=f.getFilteredTasks(),e.spinner.hide(),s){var u=c[0].itemId,d={sourceOwner:n,sourceId:r,id:o};(function(e,n,r,o){if(!t.taskInfo.attachedFiles||0===t.taskInfo.attachedFiles.length){var s=a.defer();return s.resolve(),s.promise}var c=t.sources.filter((t=>t.id===e))[0],u=t.sources.filter((e=>e.id===n))[0],d=JSON.stringify({oldOwner:c.owner,newOwner:u.owner,oldFolderId:c.folderId,oldItemId:r,newFolderId:u.folderId,newItemId:o});return i.post("~/api/v1/filestorage/move-attached-files",d)})(r,t.taskInfo.sourceId,t.taskInfo.itemId,u).then((()=>f.removeTasks([d]))).then(_,(function(t){e.spinner.hide(),y.showErrorMessageFromString(t.data)}))}else _()}),(function(t){e.spinner.hide(),t.data&&t.data.message?y.showErrorMessageFromString(t.data.message):y.showErrorMessageFromString(t.data)}))}),(function(t){y.showErrorMessage(t),e.spinner.hide()}))}catch(t){g.report(t),e.spinner.hide()}}))},t.deleteTasksWithConfirm=function(r,a){if(r.length>0){var s=n.confirmDeletion().textContent(1===r.length?o("translate")("CONFIRMATIONS_DELETE_ITEM_NAMED",{name:r[0].subject}):v.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:r.length})).targetEvent(a);n.show(s).then((function(){t.deleteTasks(r,a)}),null)}else g.report("ERROR_NO_CARDS"),e.spinner.hide()},t.deleteTasks=function(t,n){e.spinner.show();try{f.removeTasks(t).then((function(){e.spinner.hide(),_()}),(function(t){e.spinner.hide(),y.showErrorMessageFromString(t.data)}))}catch(e){g.reportAndHideSpinner(e)}},t.openTaskEmail=function(e){const t=T.makeEmailPacket(e.owner,e.folder,e.uid),n=T.getPopoutUrl(t);window.open(n,"emailID"+e.uid,"resizable=1, "+E.dimensions.email)},t.cancel=function(){_()},t.setForm=function(e){w.userForm=e,r((function(){w.userForm.$setPristine(),w.userForm.$setUntouched()}))},t.setFormDirty=function(e){e.$setDirty(),t.$applyAsync()},t.statusChanged=function(e){1===e&&(t.taskInfo.percentComplete=100)},t.percentChanged=function(e){100===e?t.taskInfo.status=1:e>0&&(t.taskInfo.status=2)},t.isOwner=function(){return t.currentSource&&t.currentSource.owner===m.user.username},t.isReadOnly=function(){return t.currentSource&&t.currentSource.permission<8||t.taskInfo&&t.taskInfo.isDelegatedByOwner},t.removeAttachedFile=function(e,n){if(t.isReadOnly()&&!e)return;if(e.isNew&&"function"==typeof e.remove)return void e.remove();t.removedAttachedFiles.push(e.fileReference),w.userForm.$setDirty()},t.calculateCanSave=function(){return!t.isReadOnly()},t.isRecurrenceCompatible=function(){if(!t.currentRecurrence)return!1;if(0===t.currentRecurrence.id)return!0;const e=t.taskInfo.recurrence;return!(6===e.type&&e.monthlyPeriodDayIndex<0)&&!(7===e.type&&e.yearlyPeriodDayIndex<0)},t.isRecurring=function(){return!t.isNew&&(!!t.currentRecurrence&&t.currentRecurrence.id!==t.recurrenceType.ONCE)},t.occurrenceStart=function(){},w.hasSelectedCategory=function(){if(!t.categories)return!1;for(var e=0;e<t.categories.length;e++)if(t.categories[e].selected)return!0;return!1},w.onCategoryChanged=function(e){e&&(e.selected=!e.selected);w.userForm.$setDirty()},w.onClearAllCategories=function(){for(var e=0;e<t.categories.length;e++)t.categories[e].selected=!1;w.userForm.$setDirty()},w.openManageCategoriesModal=function(e){n.show({controller:"manageCategoriesDialogController",controllerAs:"manageCategoriesCtrl",templateUrl:"app/shared/modals/manage.categories.dlg.html",targetEvent:e})},w.categoryColorByName=function(e){const n=function(e){if(!e)return null;var n=$.grep(t.categories,(t=>t.name.toUpperCase()===e.toUpperCase()));return n.length>0?n[0]:null}(e);if(!n||-1==n.colorIndex)return null;const r=h.getCategoryColor(n.colorIndex);return r&&r.rgb?r.rgb:null},D.ensureActivated(),d.init().then((function(){p.init().then(M,g.report)}),g.report),t.$on("$destroy",(function(){window.onbeforeunload=void 0})),t.onSourceChanged=function(e){t.currentSource=e,t.currentSource.owner!==h.categoryOwner&&(h.categoryOwner=t.currentSource.owner,Y()),w.userForm.$setDirty()},w.fileUploadedCallback=function(){w.userForm.$setDirty()},t.trustDescriptionHtml=function(e){return u.trustAsHtml(A.parseCss(e))},window.onbeforeunload=function(){if(w.userForm.$dirty&&O)return O=!1,""}}e.$inject=["$rootScope","$scope","$mdDialog","$timeout","$filter","$q","$stateParams","$http","$translate","$sce","coreData","coreDataTasks","coreDataSettings","userDataService","authStorage","apiTaskSources","apiCategories","userTimeService","errorHandling","errorMessageService","preferencesStorage","popupService","themesService","claimsService","emailNavigation","htmlSandboxing","i18n"],angular.module("smartermail").controller("taskViewController",e)}();
122!function(){"use strict";function e(e,t,r,s,n,a,i,o,c,l,d,u,p,h,f,g,w,m,T,y,k,C,v,S,E,b,D,R,F){var I=null;const O=[l.instant("STATUS_NOT_STARTED"),l.instant("COMPLETED"),l.instant("STATUS_IN_PROGRESS"),l.instant("STATUS_CANCELED")];var x=this;function P(){$(window).off("resize.doResize",V)}
122function V(){window.innerWidth<=736&&"CARD_VIEW"!==t.currentView&&A("CARD_VIEW")}async function A(r){if(x.tableParams.settings({dataset:[]}),t.currentView=u.parameters.currentView=r||"CARD_VIEW",t.selectMode=!1,B(),z(!0),"CARD_VIEW"===t.currentView&&!u.areTasksLoaded())try{e.spinner.show(),await u.ensureTasksLoadedPromise()}finally{e.spinner.hide()}x.searchUpdate()}function N(e,r){t.treeExpanded=r.expanded,i((function(){$(window).trigger("resize")}),250)}function M(){t.edition=f.edition}function L(){x.searchParams.search=x.searchText,z()}function z(e){t.hasCategoryFilter=u.parameters.hasCategoryFilter,x.checkboxes.reset(),e||x.tableParams.reload()}async function W(s){if(v.getFirstSwitcher()&&(v.getFirstSwitcher().allowCheckHide="GRID_VIEW"===t.currentView),"GRID_VIEW"!==t.currentView)return c.when();for(var n in x.searchParams.skip=(s.page()-1)*s.count(),x.searchParams.take=s.count(),x.searchParams.sortField=null,s.sorting())if(s.sorting().hasOwnProperty(n)&&s.sorting()[n]){x.searchParams.sortField=n,x.searchParams.sortDescending="desc"===s.sorting()[n];break}var a=u.getSources().filter((e=>!0===e.isVisible&&e.permission>2));if(0===a.length)return x.searchResults=[],x.searchResultCount=0,s.total(x.searchResultCount),c.when(x.searchResults);var i=$.map(a,(function(e){return{owner:e.owner,id:e.id}}));x.searchParams.filterFlags=x.filterType;var l=u.parameters.hasCategoryFilter,p=u.parameters.categoryFilters;x.searchParams.categories=l?$.map($.grep(p,(function(e){return e.selected&&!e.noCategory})),(function(e){return e.name})):void 0,x.searchParams.showNonCategorized=!l||p.some((e=>e.noCategory&&e.selected));try{e.spinner.show();const t=await r.post("~/api/v1/tasks/tasks-all",JSON.stringify({sources:i,searchParams:x.searchParams}));for(var f=0;f<t.data.results.length;++f){let e=t.data.results[f];!1===e.useDateTime?(e.due=o("translate")("NA"),e.start=o("translate")("NA")):("0001-01-01T00:00:00"===e.due?e.due=o("translate")("NA"):e.due=u.convertLocalToTargetTz(e.due,e.userTimeZone),"0001-01-01T00:00:00"===e.start?e.start=o("translate")("NA"):e.start=u.convertLocalToTargetTz(e.start,e.userTimeZone)),e.sourceOwner&&e.sourceOwner!==d.user.username?e.sourceName=e.sourceOwner+" - "+e.sourceName:"my tasks"===e.sourceName.toLowerCase()&&(e.sourceName="MY_TASKS"),e.sourceOwner?h.addRgbColorsToCategories(e.sourceOwner,e.categories):e.categories=[],e.categoriesString=h.generateNameString(e.categories)}return x.searchResults=t.data.results,x.searchResultCount=t.data.totalCount,s.total(x.searchResultCount),x.searchResults}catch(e){console.warn(e),m.report(e)}finally{e.spinner.hide()}}function U(){if("GRID_VIEW"===t.currentView)return t.isInitialized=!0,u.parameters.searchText=x.searchText,t.activeSearch=""!==x.searchText,void L();u.areTasksLoaded()?(t.isInitialized=!0,t.hasCategoryFilter=u.parameters.hasCategoryFilter,u.parameters.searchText=x.searchText,t.activeSearch=""!==x.searchText,t.tasks=u.getFilteredTasks(),t.totalCount=t.tasks.length,t.listController.onResize(),t.listController.updateDisplayList().then((function(){L()}))):i((function(){U()}),25)}function K(){if("priority"===x.sortField)x.isDescending=!x.sortReverse;else x.isDescending=x.sortReverse;u.parameters.sortField=x.sortField,u.parameters.sortReverse=x.sortReverse,u.parameters.isDescending=x.isDescending}function B(){t.selectedCards.length=0}function G(e){t.tasks=u.getFilteredTasks(),i((function(){$(window).trigger("resize")}),250)}function H(e){var r=[];return r.push({key:"deleteItem",translateKey:"DELETE",click:Y,params:{card:[e],event:t.dropdownEvent}}),r.push({key:"exportItem",translateKey:"EXPORT_ICS_FILE",click:j,params:{card:[e],event:t.dropdownEvent}}),r}function j(e){for(var t=[],r=0;r<e.card.length;++r){var s=e.card[r];t.push(s.sourceOwner+"|"+s.sourceId+"|"+s.id)}x.exportIcsFile(t)}function X(e,t){let r=[];for(var s=0;s<e.length;++s){var n=e[s].split("|")[0];""==n&&(n=null);var a=e[s].split("|")[1],i=$.grep(x.searchResults,(function(e){return e.sourceOwner===n&&e.id===a}))[0];i&&r.push(i.sourceOwner+"|"+i.sourceId+"|"+i.id)}x.exportIcsFile(r)}function Y(e){t.deleteTasksWithConfirm(e.card,e.event)}function J(e,r){for(var s=[],n=0;n<e.length;++n){var a=e[n].split("|")[0];""==a&&(a=null);var i=e[n].split("|")[1],o=$.grep(x.searchResults,(function(e){return e.sourceOwner===a&&e.id===i}))[0];o&&s.push(o)}t.deleteTasksWithConfirm(s,r)}function Z(e,r){i((function(){x.searchUpdate(),t.selectedCards.length=0,u.resetTasks().then(Q).finally((function(){$(window).trigger("resize")}))}),1)}
122function q(e){e&&p.resetResources(),p.settingsData.mappedResources.then((function(e){$.grep(e||[],(function(e){return 4===e.shareType&&!e.mapped}))}))}function Q(){return I||(I=c.defer(),b.resetTasksTree(),b.resetSources(),u.resetSources(),u.loadSourcesTree(t.sourcesTreeController,!0).then((function(){u.resetTasks().then((function(){t.sources=u.getSources(),x.searchUpdate(),I.resolve(),I=null}),(function(){I.reject(),I=null}))}),(function(e){m.report(e),I=null}))),I.promise}function ee(e,t){t&&t.shareType&&"tasks"!==t.shareType||(q(!0),Q())}function te(e,t){t&&t.shareType&&"tasks"!==t.shareType||u.resetTasks().then((function(){x.searchUpdate()}))}function re(e){return e&&e.data.source.permission>=2&&!e.data.isSharedByOther&&!e.data.isDomainResource}function se(e){return e&&e.data.source.permission>=4&&!e.data.isSharedByOther&&!e.data.isDomainResource&&!e.data.isPrimary}function ne(e){return e&&e.data.source.permission>=4&&!e.data.isSharedByOther&&!e.data.isDomainResource&&p.userDomainSettings.enableSharing}function ae(e){return e&&e.data.isSharedByOther}async function ie(e){await E.showCreateFolderModal(e.event)&&(await Q(),$(window).trigger("resize"))}async function oe(e){await E.showRenameFolderModal(e.event,e.branch.data.source)&&(await Q(),$(window).trigger("resize"))}async function ce(e){await E.showDeleteFolderModal(e.event,e.branch.data.source)&&(await Q(),$(window).trigger("resize"))}async function le(e){let t=e.branch.data.source;await E.showShareFolderModal(e.event,t)&&(await Q(),$(window).trigger("resize"))}async function de(e){let t=e.branch.data.source;await E.showSharedFolderPropertiesModal(e.event,t)&&(await Q(),$(window).trigger("resize"))}t.isInitialized=!1,t.treeExpanded=T.isExpanded,t.currentView="CARD_VIEW",t.selectedCards=[],t.selectMode=!1,t.anySourcesSelected=!0,t.activeSearch=!1,t.tasks=[],t.totalCount=t.tasks.length,t.listDataCache=u.listDataCache,t.listDataProvider=u.listDataProvider,t.listController={},x.searchParams={skip:0,take:0,search:null,sortField:null,sortDescending:!1},x.tableParams=new k({}),x.checkboxes=C.init(),x.checkboxes.table=x.tableParams,x.checkboxes.specialKey=function(e){return e.sourceOwner?e.sourceOwner+"|"+e.id:"|"+e.id},x.isVisibleRenameFolder=!1,x.isVisibleDeleteFolder=!1,x.isVisibleShareFolder=!1,x.isVisibleFolderProperties=!1,t.hasCategoryFilter=u.parameters.hasCategoryFilter,x.filterType=u.parameters.filterType,x.showManageShares=p.userDomainSettings.enableSharing,x.searchUpdate=U,x.onCategoryFilterChanged=function(e){U()},x.onSortingChanged=function(e){x.sortField=e,K(),x.searchUpdate()},x.onSortOrderChanged=function(e){x.sortReverse=e,K(),x.searchUpdate()},x.onFilterChanged=function(e){switch(e){case 0:x.filterType=void 0,u.parameters.filterType=void 0;break;case 1:void 0===x.filterType?(x.filterType={},x.filterType[1]=!0):!0===x.filterType[1]?x.filterType[1]=!1:x.filterType[1]=!0;break;case 2:void 0===x.filterType?(x.filterType={},x.filterType[2]=!0):!0===x.filterType[2]?x.filterType[2]=!1:x.filterType[2]=!0;break;case 3:void 0===x.filterType?(x.filterType={},x.filterType[3]=!0):!0===x.filterType[3]?x.filterType[3]=!1:x.filterType[3]=!0;break;case 4:void 0===x.filterType?(x.filterType={},x.filterType[4]=!0):!0===x.filterType[4]?x.filterType[4]=!1:x.filterType[4]=!0;break;case 5:void 0===x.filterType?(x.filterType={},x.filterType[5]=!0):!0===x.filterType[5]?x.filterType[5]=!1:x.filterType[5]=!0}var t=!0;for(let e in x.filterType)x.filterType[e]&&(t=!1);t&&(x.filterType=void 0);u.parameters.filterType=x.filterType,x.searchUpdate()},x.selectBtnPressed=function(){t.selectedCards.length=0,t.selectMode=!t.selectMode},x.selectAll=function(){t.selectedCards.length=0,$.each(t.tasks,(function(e,r){t.selectedCards.push(r.id)}))},x.deselectAll=B,x.deleteTasksInGrid=J,x.importIcsFile=function(){s.show({locals:{},controller:"taskImportDialogController",controllerAs:"ctrl",templateUrl:"app/tasks/modals/task-import.dlg.html",clickOutsideToClose:!1})},x.exportTasks=X,x.exportTasksFromSelection=function(e){e||(e=t.tasks);e[0].id||(e[0].contains("|")&&(e=$.map(e,(function(e){return e.split("|")[1]}))),e=$.grep(t.tasks,(function(t){return e.includes(t.id)})));e=e[0].id?e:$.grep(t.tasks,(function(t){return e.includes(t.id)}));for(var r=[],s=0;s<e.length;++s)r.push(e[s].sourceOwner+"|"+e[s].sourceId+"|"+e[s].id);x.exportIcsFile(r)},x.exportIcsFile=function(t){const r=JSON.stringify(t),s=o("translate")("TASK")+".ics";return e.spinner.show(),D.pop("warning",l.instant("WARN_ATTACH_NOT_EXPORTED")),void R.downloadFile("~/api/v1/tasks/export/download",s,r).then((function(){}),m.report).finally(e.spinner.hide)},x.onViewChanged=A,t.branchMouseUp=function(e,r){if(r.stopPropagation(),r.preventDefault(),r.cancelbubble=!0,!r||3!==r.which)return;if(e.data.unclickable)return;t.dropdownEvent=$.extend(!0,{},r),t.dropdownOptions=function(e,t){return[{key:"newFolder",click:ie,params:{event:t,branch:e},translateKey:"NEW_FOLDER"},{key:"renameFolder",click:oe,params:{event:t,branch:e},translateKey:"EDIT_FOLDER",show:re(e)},{key:"deleteFolder",click:ce,params:{branch:e,event:t},translateKey:"DELETE_FOLDER",show:se(e)},{key:"shareFolder",click:le,params:{branch:e,event:t},translateKey:"SHARE_FOLDER",show:ne(e)},{key:"sharedFolderProperties",click:de,params:{branch:e,event:t},translateKey:"PROPERTIES",show:ae(e)}]}(e,r);let s=!1;for(let e=0;e<t.dropdownOptions.length;e++)(t.dropdownOptions[e].show||void 0===t.dropdownOptions[e].show)&&(s=!0);if(!s)return;var a=$("#context-menu-area");if(a){var i=n('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']" menu-like="true" menu-class="\'abn-tree-row\'"></st-context-menu>')(t);a.append(i)}},t.contextMenuGridItem=function(e,r){if(!r||"touchstart"!==r.type&&"touchend"!==r.type&&3!==r.which||e.criticallyErrored)return;r.stopPropagation(),r.preventDefault();var s=x.checkboxes.getCheckedItems();(s.length>1&&!_.some(s,(function(t){return t.split("|")[1]===e.id}))||s.length<=1)&&(x.checkboxes.reset(),x.checkboxes.checkCheckbox(r,e),s=[e.sourceOwner+"|"+e.id]);t.dropdownEvent=$.extend(!0,{},r),t.dropdownOptions=[{key:"deleteTasksInGrid",click:J,params:s,translateKey:"DELETE"},{key:"exportTasks",click:X,params:s,translateKey:"EXPORT_ICS_FILE"}];var a=$("#context-menu-area");if(a){var i=n('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(t);a.append(i)}},t.isSourceSelected=function(){return t.anySourcesSelected=u.getSources().some((e=>e.isVisible)),t.anySourcesSelected},t.isCardSelected=function(e){return t.selectedCards.indexOf(e.id)>-1},t.newTask=function(e){E.showNewTaskPopup()},t.onMouseUp=function(e,r,s){if(t.selectMode)return;if(3===r.which||s&&1===r.which){r.stopPropagation(),r.preventDefault(),t.dropdownEvent=$.extend(!0,{},r),t.dropdownOptions=H(e);var a='<st-context-menu options="dropdownOptions" event="dropdownEvent" '+(s?'menu-like="::true" menu-class="::\'more-menu\'" direction="\'left\'" vert-offset="-20"':"")+"></st-context-menu>",i=$("#context-menu-area");if(i){var o=n(a)(t);i.append(o)}}},t.editItemDropdown=function(e){t.editItem(e.card,e.event)},t.editItem=function(e,r){if(t.selectMode){var n=t.selectedCards.indexOf(e.id);n>-1?t.selectedCards.splice(n,1):t.selectedCards.push(e.id)}else{if(e.permission<8&&e.isPrivate)return void function(e){if(!e)return;const t=s.notify().title(l.instant("PRIVATE_TASK")).textContent(l.instant("CALENDAR_ITEM_WITH_AVAILABILITY_ONLY_PERMISSIONS")).ok(l.instant("OK"));s.show(t)}(e);E.showEditTaskPopup(e.id,e.sourceId,e.sourceOwner)}},t.deleteTasksDropdown=Y,t.deleteTasksWithConfirm=function(r,n){if(r.length>0){var a=1===r.length?angular.isObject(r[0])?r[0]:u.getCardById(r[0])[0]:null,i=s.confirmDeletion().textContent(a?o("translate")("CONFIRMATIONS_DELETE_ITEM_NAMED",{name:a.subject}):F.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:r.length})).targetEvent(n);s.show(i).then((function(){t.deleteTasks(r,n)}),null)}else m.report("ERROR_NO_CARDS"),e.spinner.hide()},t.deleteTasks=function(r,s){t.editingItem=!1;try{e.spinner.show(),u.removeTasks(r).then((function(){t.tasks=u.getFilteredTasks(),t.selectedCards.length=0,0===t.tasks.length&&(t.selectMode=!1)}),(function(e){var t=e.message;null==t&&(t=e.status+" "+e.statusText),m.report(t)})).finally(e.spinner.hide)}catch(t){m.report(t),e.spinner.hide()}},x.addToOutlook=async function(){E.addToOutlook()},t.statusToString=function(e){return e<0||e>=O.length?O[0]:O[e]},t.statusChanged=function(e){1===e&&(t.taskInfo.percentComplete=100)},t.percentChanged=function(e){100===e&&(t.taskInfo.status=1)},t.openManageCategoriesModal=async function(e){try{await s.show({controller:"manageCategoriesDialogController",controllerAs:"manageCategoriesCtrl",templateUrl:"app/shared/modals/manage.categories.dlg.html",targetEvent:e})}catch(e){}},t.sourcesTreeController={},t.sourcesTree=u.getSourcesTree(),t.onBranchSelect=async function(r,s,n){for(let e=0;e<t.sourcesTree.data.length;e++){t.sourcesTree.data[e].selected=!1}x.selectedBranch=r,r.selected=!0;let a=r.data.isVisible;r.data.isVisible=!n||!r.data.isVisible;r.data.source.isVisible=r.data.isVisible,a!=r.data.isVisible&&await async function(r){try{e.spinner.show(),t.isInitialized=!1,await u.updateSourceVisibility(r.data.source),t.anySourcesSelected=t.isSourceSelected(),x.searchUpdate()}catch(e){m.report(e)}
122finally{e.spinner.hide()}}(r);x.isVisibleRenameFolder=re(r),x.isVisibleDeleteFolder=se(r),x.isVisibleShareFolder=ne(r),x.isVisibleFolderProperties=ae(r)},t.isRecurring=function(e){return e.recurrence&&0!==e.recurrence.type},t.showActionsMenu=function(e,r,s){r.stopPropagation(),r.preventDefault(),t.dropdownEvent=$.extend(!0,{},r);var n=H(e);t.$applyAsync((function(){t.dropdownOptions=n,i((function(){s(r)}),0)}))},t.translateCategory=function(e){const t=l.instant(e);return $("<div>").html(t).text()},t.translateTaskSubject=function(e){const t=l.instant(e);return t!==e?$("<div>").html(t).text():e},x.onContextNewFolder=ie,x.onContextRenameFolder=oe,x.onContextDeleteFolder=ce,x.onContextShareFolder=le,x.goToManageShares=function(){a.go("index.settings.user-sharing")},x.onContextSharedFolderProperties=de,async function(){t.$on("treeState:stateChange",N),t.$on("signalR.mailHub.client.sharesChanged",ee),t.$on("signalR.mailHub.client.folderChange",te),t.$on("newTaskItem",G),t.$on("tasksRefresh",Z),t.$on("$destroy",P),$(window).on("resize.doResize",V);try{e.spinner.show(),await d.init();var r=[u.init(),u.ensureSourcesLoadedPromise()];(window.innerWidth<=736||"GRID_VIEW"!==u.parameters.currentView)&&r.push(u.ensureTasksLoadedPromise()),await Promise.all(r),await async function(){M(),f.watchForChanges(t,M),q(!0),x.searchText=u.parameters.searchText,x.sortField=u.parameters.sortField,x.sortReverse=u.parameters.sortReverse,K(),x.tableParams=new k({sorting:{due:"desc"},count:25},{getData:W,counts:e.commonTableCounts}),x.checkboxes.table=x.tableParams,t.currentView=u.parameters.currentView,await async function(r){u.reloadOnEnter=!1;try{e.spinner.show();var s=[u.loadSourcesTree(t.sourcesTreeController,r)];await Promise.all(s),t.currentView=u.parameters.currentView,t.anySourcesSelected=t.isSourceSelected()}finally{e.spinner.hide()}}(u.reloadOnEnter),void i((function(){var e;switch(x.sortField){default:case"subject":e="#chk0";break;case"due":e="#chk1";break;case"percentComplete":e="#chk2";break;case"priority":e="#chk3"}$(e).addClass("selected"),x.isDescending?$("#chkDescend").addClass("selected"):$("#chkAscend").addClass("selected"),angular.forEach(u.getSources(),(function(t){t.isVisible&&(e="#src"+t.id,$(e).addClass("selected"))}))})),u.parameters.isDescending=x.isDescending,t.anySourcesSelected=t.isSourceSelected(),window.innerWidth<=736&&"CARD_VIEW"!==t.currentView?A("CARD_VIEW"):U()}()}catch(e){m.report(e)}finally{e.spinner.hide()}}()}e.$inject=["$rootScope","$scope","$http","$mdDialog","$compile","$state","$timeout","$filter","$q","$translate","coreData","coreDataTasks","coreDataSettings","apiCategories","coreLicensing","claimsService","preferencesStorage","errorHandling","treeState","userDataService","NgTableParams","gridCheckboxes","tableColumnSwitching","popupService","taskActions","coreDataCalendar","toaster","coreDataFileStorage","i18n"],angular.module("smartermail").controller("taskController",e)}();
123Promise.allSettled=Promise.allSettled||(e=>Promise.all(e.map((e=>e.then((e=>({status:"fulfilled",value:e}))).catch((e=>({status:"rejected",reason:e})))))));
124String.prototype.endsWith||(String.prototype.endsWith=function(t,n){var r=this.toString();("number"!=typeof n||!isFinite(n)||Math.floor(n)!==n||n>r.length)&&(n=r.length),n-=t.length;var e=r.lastIndexOf(t,n);return-1!==e&&e===n}),String.prototype.includes||(String.prototype.includes=function(t,n){"use strict";return"number"!=typeof n&&(n=0),!(n+t.length>this.length)&&-1!==this.indexOf(t,n)}),String.prototype.startsWith||(String.prototype.startsWith=function(t,n){return this.substr(!n||n<0?0:+n,t.length)===t});
125!function(){"use strict";function e(e,t,a,r,o,n){var c=this;function s(){var r=new Date;r.setHours(r.getHours()+1),a.init().then((function(){const o=a.data.all;o&&(t.categoryDataCache={expires:r,categoryData:o},e.$broadcast("categoriesUpdated"))}),(function(){}))}c.categoryOwner=void 0,c.getCategories=d,c.getMasterCategories=g,c.getCategoryByName=function(e){return Object.values(d()).find((t=>t.name.toUpperCase()===e.toUpperCase()))},c.invalidateCategories=function(){delete t.userCategoriesCache,delete t.sharedUserCategoriesCache;const e=t.categoryDataCache;e&&(e.expires=new Date,t.categoryDataCache=e)},c.getCategoryColor=a.getCategoryColor,c.addRgbColorsToCategories=function(e,t,r){if(!t)return;const o=r||C(e);t.forEach((e=>{const t=o.find((t=>t.name===e.name));let r=t?t.colorIndex:-1;e.rgbColor=a.getCategoryColor(r).rgb}))},c.getClonedMasterCategories=C,c.generateNameString=a.generateNameString,c.getCategoryFilter=function(e){const t={section:e,categoryData:o.getSessionSortingFilteringParam(e,"categoryFilters")||[],allSelected:function(){return this.categoryData.every((e=>e.selected))}};let a=g();return a&&(a=[{name:"NO_CATEGORIES_FILTER",noCategory:!0,translatedName:n("translate")("NO_CATEGORIES_FILTER"),colorIndex:-1}].concat(a),t.categoryData=a.reduce((function(e,t){const a=e.find((e=>e.name===t.name));return a?(a.noCategory=t.noCategory,a.colorIndex=t.colorIndex,a.translatedName=t.translatedName,a.rgbColor=c.getCategoryColor(t.colorIndex).rgb):e.push({name:t.name,selected:!0,noCategory:t.noCategory||!1,translatedName:t.translatedName,colorIndex:t.colorIndex,rgbColor:c.getCategoryColor(t.colorIndex).rgb}),e}),t.categoryData)),t},c.init=async function(){if(!r.getEmailAddress())return;const e=t.categoryDataCache;(!e||e.expires<new Date)&&await s()};const i={categoryData:{local:[],sharedCategories:{}},expires:new Date};function g(){return $.extend(!0,[],l())}function l(e){const a=e?e.contains("@")?e:`${e}@${r.getDomain()}`:r.getEmailAddress(),o=a===r.getEmailAddress(),n=function(){const e=t.categoryDataCache||i;return e.expires<=new Date&&s(),e.categoryData}();return n?o?n.local:n.sharedCategories[a]:[]}function d(){return $.extend(!0,[],l(c.categoryOwner))}function C(e){return $.extend(!0,[],l(e))}}e.$inject=["$rootScope","$sessionStorage","coreDataCategories","claimsService","preferencesStorage","$filter"],angular.module("smartermail").service("apiCategories",e)}();
126!function(){"use strict";function e(e,r,s,t,a){var i=this;function o(e,r){return null==e?-1:null==r||e.isSharedItem&&!r.isSharedItem?1:r.isSharedItem&&!e.isSharedItem?-1:e.isSharedItem||!e.isPrimary||r.isPrimary?r.isSharedItem||!r.isPrimary||e.isPrimary?"gal"===e.itemID&&"gal"!==r.itemID?-1:"gal"!==e.itemID&&"gal"===r.itemID||e.isDomainResource&&!r.isDomainResource?1:r.isDomainResource&&!e.isDomainResource?-1:(s=e.displayName,t=null==(t=r.displayName)?"":t,(s=null==s?"":s).localeCompare(t,void 0,{sensitivity:"base"})):1:-1;var s,t}function n(){delete a.userContactSources}i.getSources=function(e){var i=t.defer();e&&n();var c=a.userContactSources;!c||c.expires<new Date?function(){var e=t.defer();function i(s){var t=s.data.sharedLists||[],i=new Date;"my contacts"!==t[0].displayName.toLowerCase()&&"MY_CONTACTS"!==t[0].displayName||(t[0].displayName=r.instant("MY_CONTACTS")),t.sort(o),i.setHours(i.getHours()+1),a.userContactSources={expires:i,sources:t},e.resolve(t)}return s.get("~/api/v1/contacts/sources").then(i,e.reject),e.promise}().then((function(e){i.resolve(e)}),i.reject):i.resolve(c.sources);return i.promise},i.invalidateSources=n,i.defaultContactSourceComparer=o}e.$inject=["$rootScope","$translate","$http","$q","$sessionStorage"],angular.module("smartermail").service("apiContactSources",e)}();
127!function(){"use strict";function e(e,r,s,t,i){var a=this;function o(e,r){return null==e?-1:null==r||e.isSharedItem&&!r.isSharedItem?1:r.isSharedItem&&!e.isSharedItem?-1:e.isSharedItem||!e.isPrimary||r.isPrimary?r.isSharedItem||!r.isPrimary||e.isPrimary?e.isDomainResource&&!r.isDomainResource?1:r.isDomainResource&&!e.isDomainResource?-1:(s=e.displayName,t=null==(t=r.displayName)?"":t,(s=null==s?"":s).localeCompare(t,void 0,{sensitivity:"base"})):1:-1;var s,t}function n(){delete i.userNoteSources}a.getSources=function(e){var a=t.defer();e&&n();var u=i.userNoteSources;!u||u.expires<new Date?function(){var e=t.defer();function a(s){var t=s.data.sharedLists||[],a=new Date;"my notes"!==t[0].displayName.toLowerCase()&&"MY_NOTES"!==t[0].displayName||(t[0].displayName=r.instant("MY_NOTES")),t.sort(o),a.setHours(a.getHours()+1),i.userNoteSources={expires:a,sources:t},e.resolve(t)}return s.get("~/api/v1/notes/sources").then(a,e.reject),e.promise}().then((function(e){a.resolve(e)}),a.reject):a.resolve(u.sources);return a.promise},a.invalidateSources=n,a.defaultNoteSourceComparer=o}e.$inject=["$rootScope","$translate","$http","$q","$sessionStorage"],angular.module("smartermail").service("apiNoteSources",e)}();
128!function(){"use strict";function e(e,t,r,s){function n(){delete s.userSignaturesCache}this.getSignatures=function(e){var i=r.defer();e&&n();var a=s.userSignaturesCache;!a||a.expires<new Date?function(){var e=r.defer();function n(t){var r=t.data.signatureConfigs||[],n=t.data.useDomainSignature,i=new Date;i.setHours(i.getHours()+1),s.userSignaturesCache={expires:i,signatures:r,useDomainSignature:n},e.resolve(r)}return t.get("~/api/v1/settings/user-signatures").then(n,e.reject),e.promise}().then((function(e){i.resolve(e)}),i.reject):i.resolve(a.signatures);return i.promise},this.invalidateSignatures=n}e.$inject=["$rootScope","$http","$q","$sessionStorage"],angular.module("smartermail").service("apiSignatures",e)}();
129!function(){"use strict";function e(e,r,s,a,t){var i=this;function n(){delete t.userTaskSources}i.getSources=function(e){var i=a.defer();e&&n();var o=t.userTaskSources;!o||o.expires<new Date?function(){var e=a.defer();function i(s){var a=s.data.sources||[],i=new Date;"my tasks"!==a[0].name.toLowerCase()&&"MY_TASKS"!==a[0].name||(a[0].name=r.instant("MY_TASKS")),i.setHours(i.getHours()+1),t.userTaskSources={expires:i,sources:a},e.resolve(a)}return s.get("~/api/v1/tasks/sources").then(i,e.reject),e.promise}().then((function(e){i.resolve(e)}),i.reject):i.resolve(o.sources);return i.promise},i.invalidateSources=n,i.defaultTaskSourceComparer=function(e,r){return null==e?-1:null==r||e.isSharedItem&&!r.isSharedItem?1:r.isSharedItem&&!e.isSharedItem?-1:e.isSharedItem||!e.isPrimary||r.isPrimary?r.isSharedItem||!r.isPrimary||e.isPrimary?e.isDomainResource&&!r.isDomainResource?1:r.isDomainResource&&!e.isDomainResource?-1:function(e,r){return r=null==r?"":r,(e=null==e?"":e).localeCompare(r,void 0,{sensitivity:"base"})}(e.name,r.name):1:-1}}e.$inject=["$rootScope","$translate","$http","$q","$sessionStorage"],angular.module("smartermail").service("apiTaskSources",e)}();
130!function(){"use strict";function e(e,a,t,n,i,r,l,o,s,u){var d=this;async function c(){var t=$.map(a.attendees,(function(e){return e.email}));if(0!==t.length){for(var i=0;i<a.attendees.length;++i)a.attendees[i].nonavail=Array(96).fill(!1);var l=JSON.stringify({date:a.availabilityDate,emailAddresses:t,uidToIgnore:r.info&&"new"!==r.info.id&&null!==r.info.id?r.info.id:null});try{e.spinner.show(1e3);const t=await n.post("~/api/v1/calendars/user-availability",l);a.attendees.sort(v),a.$applyAsync((function(){for(var e=0;e<t.data.length;++e){var n=a.attendees.filter((a=>a.email===t.data[e].emailAddress));n.length>0&&(null===t.data[e].busyHours?n[0].externalUser=!0:n[0].nonavail=t.data[e].busyHours.slice(0,96),n[0].ready=!0)}}))}catch(e){s.showErrorMessage(e)}
130finally{e.spinner.hide()}}}function v(e,a){return e.isResource&&!a.isResource?-1:!e.isResource&&a.isResource?1:e.isResource&&a.isResource?0:e.externalUser&&!a.externalUser?-1:!e.externalUser&&a.externalUser?1:(e.externalUser&&a.externalUser,0)}d.eventInfo=r,a.hours=new Array(96),async function(){try{e.spinner.show(),await i.init(),a.attendees=angular.copy(d.eventInfo.info.attendees||[]),a.availabilityDate=u?moment.tz([u.getYear()+1900,u.getMonth(),u.getDate(),u.getHours(),u.getMinutes(),0,0],l.userTimeZone.location):moment.tz(d.eventInfo.info.start.dt,d.eventInfo.info.start.tz),d.eventInfo.info.allDay&&a.availabilityDate.hour(0).minute(0).second(0),a.availabilityDateStr=a.availabilityDate.format("LL"),c()}catch(e){o.report(e)}finally{e.spinner.hide()}}(),a.getAvailTime=function(e){var t=a.availabilityDate;return moment([t.year(),t.month(),t.date()]).add(15*e,"m").toDate()},a.getAvailHour=function(e){var t=a.availabilityDate;return moment([t.year(),t.month(),t.date()]).add(e,"h").toDate()},a.moveBack=function(){a.availabilityDate.add(-1,"d"),a.availabilityDateStr=a.availabilityDate.format("LL"),c()},a.moveForward=function(){a.availabilityDate.add(1,"d"),a.availabilityDateStr=a.availabilityDate.format("LL"),c()},a.isUnavailable=function(e,a){return null==e||null===e.nonavail?null:1==e.nonavail[Math.floor(a)]},a.isTentative=function(e,a){return null==e||null===e.nonavail?null:2==e.nonavail[Math.floor(a)]},a.close=function(){t.hide()}}e.$inject=["$rootScope","$scope","$mdDialog","$http","coreDataCalendar","eventInfo","userTimeService","errorHandling","errorMessageService","date"],angular.module("smartermail").controller("calAvailabilityController",e)}();
131!function(){"use strict";function e(e,t,n,l){e.titleText=n,e.bodyText=l,e.done=function(){t.hide()},e.cancel=function(){t.cancel()}}e.$inject=["$scope","$mdDialog","titleText","bodyText"],angular.module("smartermail").controller("calendarAvailOnlyDialogController",e)}();
132!function(){"use strict";function i(i,e,n,r,s,t){var a=this;a.isSeries=e,a.isMeeting=n,a.isRecurring=r,a.isNew=s,a.notify=!1,a.warningKey=t?n?"CONFIRMATIONS_PAST_MEETING":"CONFIRMATIONS_PAST_EVENT":n?"CONFIRMATIONS_STARTED_MEETING":"CONFIRMATIONS_STARTED_EVENT",a.save=function(){i.hide({notify:a.notify})},a.cancel=function(){i.cancel()}}i.$inject=["$mdDialog","isSeries","isMeeting","isRecurring","isNew","isFinished"],angular.module("smartermail").controller("calendarDateWarnDialogController",i)}();
133!function(){"use strict";function t(t,e,n,i,a,o,l,c,r){t.bodyText=1===i&&r?n.instant("CONFIRMATIONS_DELETE_ITEM_NAMED",{name:r}):c.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:i}),t.deleteNotify=a,t.notify=!l,t.notifyText=o?n.instant("NOTIFY_ORGANIZER"):n.instant("NOTIFY_ATTENDEES"),t.delete=function(){e.hide({notify:t.notify})},t.cancel=function(){e.cancel()}}t.$inject=["$scope","$mdDialog","$translate","items","deleteNotify","notifyOrganizer","isPast","i18n","itemName"],angular.module("smartermail").controller("calendarDeleteDialogController",t)}();
134!function(){"use strict";function t(t,n,e,a,i,o,r,l,d,s,m,f,u,c){var v=this;async function y(){var t=$.map(n.attendees,(function(t){return t.email}));if(0!==t.length){for(var i=0;i<n.attendees.length;++i)n.attendees[i].nonavail=Array(96).fill(!1);var r=JSON.stringify({date:n.availabilityDate,emailAddresses:t,uidToIgnore:s.info&&"new"!==s.info.id&&null!==s.info.id?s.info.id:null});try{e.spinner.show(1e3);const t=await a.post("~/api/v1/calendars/user-availability",r);n.$applyAsync((function(){for(var e=0;e<t.data.length;++e){var a=n.attendees.filter((n=>n.email===t.data[e].emailAddress));a.length>0&&(null===t.data[e].busyHours?a[0].externalUser=!0:a[0].nonavail=t.data[e].busyHours.slice(0,96),a[0].ready=!0)}}))}catch(t){o.showErrorMessage(t)}finally{e.spinner.hide()}}}v.selectedReplyOption=2,v.eventInfo=s,v.replyingComment=u,v.fromEmail=c,n.hours=new Array(96),async function(){try{if(e.spinner.show(),await d.init(),n.attendees=angular.copy(v.eventInfo.info.attendees||[]),m){n.availabilityDate=moment.tz(m.dt,m.tz),n.currentAppointmentDate=moment.tz(m.dt,m.tz);var t=moment.tz(v.eventInfo.info.start.dt,v.eventInfo.info.start.tz),a=moment.tz(v.eventInfo.info.end.dt,v.eventInfo.info.end.tz);s.info.allDay&&(v.momentStartJS=t.toDate()),s.info.allDay?(n.start=moment(v.eventInfo.info.start.dt.substr(0,19)).toDate(),n.end=moment(v.eventInfo.info.end.dt.substr(0,19)).toDate()):(n.start=moment(t).toDate(),n.end=moment(a).toDate())}else n.availabilityDate=moment.tz(v.eventInfo.info.start.dt,v.eventInfo.info.start.tz);v.eventInfo.info.allDay&&n.availabilityDate.hour(0).minute(0).second(0),n.availabilityDateStr=i.instant("AVAILABILITY_ON",{date:n.availabilityDate.format("LL")}),n.currentAppointmentDateStr=i.instant("MEETING_CURRENTLY_ON",{date:n.currentAppointmentDate.format("LLL")}),y()}catch(t){l.report(t)}
134finally{e.spinner.hide()}}(),v.replyOptions=[{value:0,translation:"ACCEPT"},{value:1,translation:"TENTATIVE"},{value:2,translation:"DECLINE"}],v.save=function(){t.hide({notify:v.notify})},v.cancel=function(){t.cancel()},v.sendProposal=async function(){var i=n.start.toISOString(!0),o=n.end.toISOString(!0);try{var r=`/api/v1/calendars/meeting-propose-new-time/${s.owner}/${s.calId}/${f}`;let d="DECLINED";switch(v.selectedReplyOption){case 0:d="ACCEPTED";break;case 1:d="TENTATIVE";break;default:d="DECLINED"}var l={dtStart:i,dtEnd:o,replyStatus:d,timezone:n.timeZoneStart,replyingComment:v.replyingComment};s.info.recurrenceId&&(r+="/"+s.info.recurrenceId),v.fromEmail?a.post(r,JSON.stringify(l)).then(t.hide(),(function(){})):a.post(r,JSON.stringify(l)).then((function(){window.opener&&"function"==typeof window.opener.onPopupEventChanged&&window.opener.onPopupEventChanged(),window.close()}),(function(){})).finally(e.spinner.hide)}catch(t){}},n.getAvailTime=function(t){var e=n.availabilityDate;return moment([e.year(),e.month(),e.date()]).add(15*t,"m").toDate()},n.getAvailHour=function(t){var e=n.availabilityDate;return moment([e.year(),e.month(),e.date()]).add(t,"h").toDate()},n.moveBack=function(){n.availabilityDate.add(-1,"d"),n.availabilityDateStr=i.instant("AVAILABILITY_ON",{date:n.availabilityDate.format("LL")}),y()},n.moveForward=function(){n.availabilityDate.add(1,"d"),n.availabilityDateStr=i.instant("AVAILABILITY_ON",{date:n.availabilityDate.format("LL")}),y()},n.isUnavailable=function(t,n){return null==t||null===t.nonavail?null:1==t.nonavail[Math.floor(n)]},n.isTentative=function(t,n){return null==t||null===t.nonavail?null:2==t.nonavail[Math.floor(n)]},n.close=function(){t.hide()};var p=moment("1900-01-01").toDate();function D(t,e){if(n.start){n.endBeforeStart=!1;var a,i=n.start;moment(i).add(15,"minutes");e?(a=moment(i).utc().add(e),o(),a-i>0&&(a=moment(n.start).add(e),o())):n.end?(a=moment(n.end),t&&a.toDate()<moment(i).toDate()&&(a=moment(i).add(1,"hours"),o())):(a=moment(i).add(1,"hours"),o()),n.endBeforeStart=n.end<n.start}function o(){n.end=a.toDate()}}n.$watch("start",(function(t,e){if(n.start){n.start<p&&(n.start=p);var a=null;if(e){var i=e,o=n.end;a=moment.duration(moment(o).diff(i))}D(!0,a)}})),n.$watch("end",(function(t,e){(t||e)&&t!==e&&(t&&e&&t.getTime()===e.getTime()||n.start&&D())}))}t.$inject=["$mdDialog","$scope","$rootScope","$http","$translate","errorMessageService","userTimeService","errorHandling","coreDataCalendar","eventInfo","date","id","replyingComment","fromEmail"],angular.module("smartermail").controller("calendarEventProposeController",t)}();
135!function(){"use strict";function r(r,e,n,a,t,d){e.FILE_NOT_SELECTED=1,e.FILE_SELECTED=2,e.UPLOADING=3,e.IMPORTING=4,e.REPORT=5,e.step=e.FILE_NOT_SELECTED,e.calendars=a,e.currentCalendar=a[0],e.uploaderData=JSON.stringify({calId:e.currentCalendar.id,owner:e.currentCalendar.owner}),e.report={numLoaded:0,numAdded:0,numUpdated:0,numSkipped:0,numErrors:0,errorKey:null},e.hasFile=!1,e.isUploadDisabled=!1;var o=null;function l(r){r.success?(e.report.numLoaded=r.numLoaded||0,e.report.numAdded=r.numAdded||0,e.report.numUpdated=r.numUpdated||0,e.report.numSkipped=r.numSkipped||0,e.report.numErrors=r.numErrors||0,t.loadCalendarEvents(e.currentCalendar.owner,e.currentCalendar.id)):e.report.errorKey=r.message||"CALENDAR_IMPORT_FAILED",e.step=e.REPORT,e.$applyAsync()}var u=r.$on("signalR.mailHub.client.calendarImportProgress",(function(r,n){e.step===e.IMPORTING?l(n):o=n}));e.$on("$destroy",(function(){u()})),e.uploaderInit=function(r){e.uploaderFunctions=r},e.addedFile=function(){e.step=e.FILE_SELECTED,e.$applyAsync()},e.importFile=function(r,n){var a=n;if(!a||!a.importKey)return d.report("UNKNOWN_ERROR"),e.step=e.FILE_NOT_SELECTED,e.isUploadDisabled=!1,void e.$applyAsync();t.startCalendarImport(a.importKey,e.currentCalendar.owner,e.currentCalendar.id).then((function(r){if(r&&r.data&&!1===r.data.success)return o=null,d.report(r.data),e.step=e.FILE_NOT_SELECTED,void e.$applyAsync();if(e.step=e.IMPORTING,null!==o){var n=o;o=null,l(n)}}),(function(r){o=null,r&&r.data&&r.data.message?d.warn(r.data):d.report("UNKNOWN_ERROR"),e.step=e.FILE_NOT_SELECTED,e.isUploadDisabled=!1,e.uploaderFunctions.reset(),e.$applyAsync()}))},e.uploadFailed=function(){d.report("ERROR_UPLOADING"),e.step=e.FILE_NOT_SELECTED,e.isUploadDisabled=!1,e.uploaderFunctions.reset(),e.$applyAsync()},e.done=function(){e.uploaderData=JSON.stringify({calId:e.currentCalendar.id,owner:e.currentCalendar.owner}),e.step=e.UPLOADING,e.isUploadDisabled=!0,e.uploaderFunctions.startUpload()},e.cancel=function(){n.cancel()},e.close=function(){n.hide()}}r.$inject=["$rootScope","$scope","$mdDialog","calendars","coreDataCalendar","errorHandling"],angular.module("smartermail").controller("calendarIcsDialogController",r)}();
136!function(){"use strict";function n(n,e,o,r){n.calendars=r,n.currentCalendar=r[0],n.outlookVersionOptions=[{version:"3.0",name:o("translate")("OUTLOOK_2007_OR_LATER")},{version:"1.0",name:o("translate")("OUTLOOK_2003")}],n.currentVersion=n.outlookVersionOptions[0],n.done=function(){var o={outlookVersion:n.currentVersion.version,calendar:n.currentCalendar,displayName:n.displayName};e.hide(o)}.bind(this),n.cancel=function(){e.cancel()}}n.$inject=["$scope","$mdDialog","$filter","calendars"],angular.module("smartermail").controller("calendarOutlookDialogController",n)}();
137!function(){"use strict";function a(a,e,r,n,i,o,l){var t=this;t.name="",t.color=o.nextCalendarColor(),t.save=async function(a,c){if(""===t.name)return;if(!n.validateHexSixColor(t.color))return;if(c.$invalid)return;try{var s={setting:{friendlyName:t.name,calendarViewColor:t.color}};let a=await r.post("~/api/v1/calendars/calendar-put",JSON.stringify(s));var d={color:t.color,id:a.data.result,isCalendar:!0,isResource:!1,isSharedItem:!1,isTask:!1,isVisible:!0,name:t.name,owner:o.user.username,permission:8,allowWebcalSubscription:t.allowWebcalSubscription};await i.addCalendarSource(d),e.hide({modified:!0})}catch(a){l.report(a)}},t.cancel=function(){e.cancel()}}a.$inject=["$scope","$mdDialog","$http","coreDataSettings","coreDataCalendar","coreData","errorHandling"],angular.module("smartermail").controller("createCalendarFolderController",a)}();
138!function(){"use strict";function e(e,r,a,n,i,o,t,s,l){var c=this;c.name=i?i.untranslatedName?n.instant(i.untranslatedName):i.name:"",c.color=i?i.color:s.nextCalendarColor(),c.isOwner=!i||i.owner&&i.owner.toLowerCase()===t.user.username.toLowerCase()&&!i.isDomainResource,c.isPrimary=!!i&&i.isPrimary,c.originalName=angular.copy(c.name),c.isCalendar=!i||i.isCalendar,c.isResource=!!i&&i.isResource,c.cancel=function(){r.cancel()},c.save=async function(e,n){if(""===c.name)return;
138if(!o.validateHexSixColor(c.color))return;if(n.$invalid)return;if(!c.isOwner&&!c.isResource)return;try{var t={setting:{friendlyName:c.name!==c.originalName?c.name:void 0,calendarViewColor:c.color,isPrimary:c.isPrimary,id:i.id}};await a.post("~/api/v1/calendars/calendar",JSON.stringify(t)),r.hide({modified:!0})}catch(e){l.report(e)}}}e.$inject=["$scope","$mdDialog","$http","$translate","source","coreDataSettings","userDataService","coreData","errorHandling"],angular.module("smartermail").controller("renameCalendarFolderController",e)}();
139!function(){"use strict";function e(e,s,r,i,o,n,a,u,t,l,c){var p=[],m=this;m.newItem=!a,m.name=a?a.untranslatedName?o.instant(a.untranslatedName):a.name:"",m.color=a?a.color:t.nextCalendarColor(),m.isCalendar=!a||a.isCalendar,m.isResource=!!a&&a.isResource,m.permission=m.isResource?8:a?a.permission:8,m.access=i("translate")("MAPPED_RESOURCES_ACCESS_"+m.permission),m.sourceName=a?a.isCalendar?a.id:"MY_TASKS":"Calendar_",m.shareType=a?a.isCalendar?3:4:3,m.userPermissions=[],m.groupPermissions=[],m.userGroups=[],m.selectedItem=[],m.galEnabled=t.user.settings.features.enableGlobalAddressList,m.webcalLink=a?a.webcalLink:null,m.allowWebcalSubscription=!!a&&a.allowWebcalSubscription,m.error=!1,m.testing=!1,m.cancel=function(){s.cancel()},m.copyWebcalLinkToClipboard=function(){e=m.webcalLink,s=document.createElement("textarea"),s.value=e||"",document.body.appendChild(s),s.focus(),s.select(),document.execCommand("copy"),document.body.removeChild(s),c.report("COPIED_TO_CLIPBOARD");var e,s},m.focusUserInput=function(){n((function(){$("md-autocomplete input").last().trigger("focus")}))},m.onEmailBlurred=function(e,s,r){var i=r["email"+s].$viewValue;i&&0!==i.length||e||(m.selectedItem.splice(s,1),m.userPermissions.splice(s,1))},m.onEmailChanged=function(e,s,r){var i=r["email"+s].$viewValue;i&&i.length>0&&e&&m.userPermissions.push({access:4,user:{emailAddress:""}})},m.onGroupChanged=function(e){e&&m.groupPermissions.push({access:4,group:m.userGroups[0]})},m.queryUsers=u.queryUsers,m.removeGroup=function(e,s){m.groupPermissions.splice(e,1),s.$setDirty()},m.removeUser=function(e,s){m.selectedItem.splice(e,1),m.userPermissions.splice(e,1),s.$setDirty()},m.save=async function(){try{var e={setting:{id:a.id,allowWebcalSubscription:m.allowWebcalSubscription}};await r.post("~/api/v1/calendars/calendar",JSON.stringify(e)),await async function(e){m.groupPermissions=$.grep(m.groupPermissions,(function(e){return!e.group.selectText})),m.groupPermissions=m.groupPermissions.map((function(e){return e.group&&e.group.isEveryone?(e.group=void 0,e.isEveryone=!0):e.group&&e.group.isAdmins&&(e.group=void 0,e.isAdmins=!0),e}));var i=m.userPermissions.concat(m.groupPermissions),o=(i=$.grep(i,(function(e){if(e.group||e.isEveryone||e.isAdmins)return!0;var s=e.user&&e.user.emailAddress&&e.user.emailAddress.length>0,r=e.user&&e.user.userName&&e.user.userName.length>0;return s||r}))).length;try{let t={shareUsers:i,sharingItem:m.isCalendar?3:4,shareID:m.sourceName};await r.post("~/api/v1/settings/share-item",t),u.addPermissions(m.isCalendar?3:4,m.sourceName,o),i=[];for(let e=0;e<p.length;++e){let s=p[e],r=!1;if(s.user){for(let e=0;e<m.userPermissions.length;e++)if(m.userPermissions[e].user.emailAddress===s.user.emailAddress){r=!0;break}}else for(let e=0;e<m.groupPermissions.length;e++){if(m.groupPermissions[e].isEveryone&&s.isEveryone){r=!0;break}if(m.groupPermissions[e].isAdmins&&s.isAdmins){r=!0;break}if(s.group&&m.groupPermissions[e].group&&m.groupPermissions[e].group.id===s.group.id){r=!0;break}}r||i.push(s)}var n=i.length;t={shareUsers:i,sharingItem:m.isCalendar?3:4,shareID:m.sourceName},await r.post("~/api/v1/settings/share-users-delete",JSON.stringify(t)),u.removePermissions(a.isCalendar?3:4,m.sourceName,n),e?s.hide({created:!0}):s.hide({modified:!0})}catch(e){l.report(e)}}()}catch(e){l.report(e)}},async function(){var e={sharingItem:m.isCalendar?3:4,shareID:m.sourceName};try{let s=await r.post("~/api/v1/settings/share-users/",JSON.stringify(e));p=$.extend(!0,[],s.data.shareUsers),angular.forEach(s.data.shareUsers,(function(e){e.user?m.userPermissions.push(e):m.groupPermissions.push(e)})),m.userPermissions.push({access:4,user:{emailAddress:""}}),u.settingsData.userGroups.then((function(e){m.userGroups.push({name:i("translate")("SELECT_A_GROUP"),id:void 0,selectText:!0}),m.userGroups.push({name:i("translate")("EVERYONE"),id:-1,isEveryone:!0}),m.userGroups.push({name:i("translate")("SHARED_RESOURCES_ADMIN"),id:-2,isAdmins:!0}),m.userGroups=m.userGroups.concat($.extend(!0,[],e)),m.groupPermissions.length>0&&angular.forEach(m.groupPermissions,(function(e){for(var s=0;s<m.userGroups.length;s++){if(m.userGroups[s].isEveryone&&e.isEveryone){e.group=m.userGroups[s];break}if(m.userGroups[s].isAdmins&&e.isAdmins){e.group=m.userGroups[s];break}if(e.group&&m.userGroups[s].id===e.group.id){e.group=m.userGroups[s];break}}})),m.groupPermissions.push({access:4,group:m.userGroups[0]})}))}catch(e){l.report(e)}}()}e.$inject=["$scope","$mdDialog","$http","$filter","$translate","$timeout","source","coreDataSettings","coreData","errorHandling","successHandling"],angular.module("smartermail").controller("shareCalendarFolderController",e)}();
140!function(){"use strict";function e(e,r,n,i,a,s,t,o,l,u,c,d,m,p){var f=this;
140function h(){l.settingsData.userGroups.then((function(e){f.userGroups.push({name:i("translate")("SELECT_A_GROUP"),id:void 0,selectText:!0}),f.userGroups.push({name:i("translate")("EVERYONE"),id:-1,isEveryone:!0}),f.userGroups.push({name:i("translate")("SHARED_RESOURCES_ADMIN"),id:-2,isAdmins:!0}),f.userGroups=f.userGroups.concat($.extend(!0,[],e)),f.groupPermissions.length>0&&angular.forEach(f.groupPermissions,(function(e){for(var r=0;r<f.userGroups.length;r++){if(f.userGroups[r].isEveryone&&e.isEveryone){e.group=f.userGroups[r];break}if(f.userGroups[r].isAdmins&&e.isAdmins){e.group=f.userGroups[r];break}if(e.group&&f.userGroups[r].id===e.group.id){e.group=f.userGroups[r];break}}})),f.groupPermissions.push({access:4,group:f.userGroups[0]})}))}function g(){f.edition=t.edition}function C(){var e={setting:{friendlyName:f.name!==f.originalName?f.name:void 0,calendarViewColor:f.color,isPrimary:f.isPrimary,id:o.id,allowWebcalSubscription:f.allowWebcalSubscription}};n.post("~/api/v1/calendars/calendar",JSON.stringify(e)).then((function(){r.hide({modified:!0})}),m.report)}f.newItem=!o,f.name=o?o.untranslatedName?a.instant(o.untranslatedName):o.name:"",f.originalName=angular.copy(f.name),f.color=o?o.color:d.nextCalendarColor(),f.isCalendar=!o||o.isCalendar,f.isResource=!!o&&o.isResource,f.permission=f.isResource?8:o?o.permission:8,f.access=i("translate")("MAPPED_RESOURCES_ACCESS_"+f.permission),f.isOrigPrimary=!!o&&o.isPrimary,f.isPrimary=!!o&&o.isPrimary,f.isOwner=!o||o.owner&&o.owner.toLowerCase()===c.user.username.toLowerCase()&&!o.isDomainResource,f.owner=o?o.owner?o.owner:c.user.domain:f.newItem?c.user.username:void 0,f.isShareable=f.isOwner,f.sourceName=o?o.isCalendar?o.id:"MY_TASKS":"Calendar_",f.shareType=o?o.isCalendar?3:4:3,f.edition=1,f.userPermissions=[],f.groupPermissions=[],f.userGroups=[],f.selectedItem=[],f.galEnabled=d.user.settings.features.enableGlobalAddressList,f.ignoreNameWatch=!0,f.isNameValid=!0,f.isColorValid=!0,f.isValid=!0,f.internetCalendarLink=o?o.internetCalendarLink:"",f.internetCalendarInterval=o?o.internetCalendarInterval:60,f.webcalLink=o?o.webcalLink:null,f.allowWebcalSubscription=!!o&&o.allowWebcalSubscription,f.error=!1,f.testing=!1,o||(o={isWebCalendar:!0}),f.queryUsers=l.queryUsers,f.save=function(e,r){""===f.name&&(f.isNameValid=!1,f.isValid=!1);f.validateHexColor(f.color)||(f.isValid=!1);if(!f.isValid)return;if(r.$invalid)return;f.testing=!0,n.post("~/api/v1/calendars/internet-calendars-test",JSON.stringify(f.internetCalendarLink)).then((function(){var e;f.error=!1,f.newItem?function(){var e={id:"00000000-0000-0000-0000-000000000000",name:f.name,url:f.internetCalendarLink,interval:f.internetCalendarInterval,intervalOverride:!1},r=JSON.stringify(e);function i(e){o.id=e.data.result,u.reset(),C()}n.post("~/api/v1/calendars/internet-calendars-put",r).then(i,m.report)}():(e=JSON.stringify({id:o.id,name:f.name,url:f.internetCalendarLink,interval:f.internetCalendarInterval}),n.post("~/api/v1/calendars/internet-calendars-put",e).then(C,m.report))}),(function(){f.error=!0})).finally((function(){f.testing=!1,r.$setPristine(!0)}))},f.delete=function(e){if(!f.isPrimary&&!f.isResource){const a=r.confirmDeletion().htmlContent(i("translate")("CONFIRMATIONS_DELETE_FOLDER",{name:f.name})).targetEvent(e);function s(){u.removeCalendarSource(o.id).then((function(){r.hide({deleted:!0})}),m.report)}r.show(a).then((function(){n.post("~/api/v1/calendars/calendar-delete/"+o.id).then(s,m.report)}),(function(){}))}},f.detach=async function(e){try{const n=r.confirmDeletion().htmlContent(i("translate")("CONFIRMATIONS_DETACH_SUBSCRIBED_CALENDAR",{name:f.name})).targetEvent(e);await r.show(n)}catch(e){return}try{await n.post("~/api/v1/calendars/calendar-delete/"+o.id),await u.removeCalendarSource(o.id),r.hide({deleted:!0})}catch(e){m.report(e)}},f.cancel=function(){r.cancel()}
140,f.focusUserInput=function(){s((function(){$("md-autocomplete input").last().trigger("focus")}))},f.copyWebcalLinkToClipboard=function(){e=f.webcalLink,r=document.createElement("textarea"),r.value=e||"",document.body.appendChild(r),r.focus(),r.select(),document.execCommand("copy"),document.body.removeChild(r),p.report("COPIED_TO_CLIPBOARD");var e,r},f.onEmailChanged=function(e,r,n){var i=n["email"+r].$viewValue;i&&i.length>0&&e&&f.userPermissions.push({access:4,user:{emailAddress:""}})},f.onEmailBlurred=function(e,r,n){var i=n["email"+r].$viewValue;i&&0!==i.length||e||(f.selectedItem.splice(r,1),f.userPermissions.splice(r,1))},f.removeUser=function(e,r){f.selectedItem.splice(e,1),f.userPermissions.splice(e,1),r.$setDirty()},f.onGroupChanged=function(e){e&&f.groupPermissions.push({access:4,group:f.userGroups[0]})},f.removeGroup=function(e,r){f.groupPermissions.splice(e,1),r.$setDirty()},f.validateHexColor=function(e){var r=l.validateHexSixColor(e);r&&f.isNameValid&&(f.isValid=!0);return r},function(){if(g(),t.watchForChanges(e,g),f.isShareable&&!f.newItem){var r={sharingItem:f.isCalendar?3:4,shareID:f.sourceName};function i(e){$.extend(!0,[],e.data.shareUsers),angular.forEach(e.data.shareUsers,(function(e){e.user?f.userPermissions.push(e):f.groupPermissions.push(e)})),f.userPermissions.push({access:4,user:{emailAddress:""}}),h()}n.post("~/api/v1/settings/share-users/",JSON.stringify(r)).then(i,m.report)}else f.newItem&&(f.userPermissions.push({access:4,user:{emailAddress:""}}),h());e.$watch("name",(function(){f.ignoreNameWatch?f.ignoreNameWatch=!1:""===f.name?f.isNameValid=!1:(f.isNameValid=!0,l.validateHexSixColor(f.color)&&(f.isValid=!0))}))}()}e.$inject=["$scope","$mdDialog","$http","$filter","$translate","$timeout","coreLicensing","source","coreDataSettings","coreDataCalendar","userDataService","coreData","errorHandling","successHandling"],angular.module("smartermail").controller("subscribeToCalendarController",e)}();
141!function(){function t(t){}t.$inject=["$element"],angular.module("smartertools").component("messageBubble",{controller:t,bindings:{messageContent:"="},template:'<div class="messsage-wrapper">\n\t                        <div class="name-and-time">\n\t                            <div class="name-container">\n\t                                <span class="name">{{$ctrl.messageContent.name}}</span>\n\t                                <span class=\'time\'>&ndash; {{$ctrl.messageContent.dt | date: \'shortTime\'}}</span>\n\t                            </div>\n\t                        </div>\n\t                        <div class="text st-html-compiler" ng-bind-html="$ctrl.messageContent.text | markdownToHtml"><div></div></div>\n\t\t\t\t\t\t</div>'})}();
142!function(){"use strict";function a(a,s,e,i,l,n,t){if(a.name=e,a.targets=i,a.userNames=n,a.isAlias=!0,a.isChatAliasList=t||!1,a.isChatAliasList&&(a.isAlias=!1),null!=i&&null!=n){a.aliasTargets={};for(var r=0;r<i.length;r++)a.aliasTargets[i[r]]=u(i[r])}function u(a){const s=n.find((s=>s.target===a));return s&&s.username&&s.username.length>0&&s.username!==a?s.username:a.split("@")[0]}a.includeAllDomainUsers=l,a.cancel=function(){s.cancel()}}a.$inject=["$scope","$mdDialog","name","targets","includeAllDomainUsers","userNames","isChatAliasList"],angular.module("smartermail").controller("aliasSummaryController",a)}();
143!function(){"use strict";function e(e,t,o,n,c,a,r,i){e.name=o,e.text=n,e.afContext=c,e.afSourceType=a,e.editorScope=[],e.afContext&&e.afSourceType&&(e.afSourceId1=r||"123",e.afSourceId2="321"),e.readOnly=i,e.setFormDirty=function(t){t.$setDirty(),e.$applyAsync()},e.save=function(){const o=e.editorScope.getHtml()||e.text;t.hide(o)},e.cancel=function(){t.cancel()}}e.$inject=["$scope","$mdDialog","name","text","afContext","afSourceType","afSourceId1","readOnly"],angular.module("smartermail").controller("contactNoteEditController",e)}();
144!function(){"use strict";function e(e,a,t,s,n,o,c,d){var l,i=this,r=!1;a.csvContactIndex=-1,a.processing=!1,a.FILE_NOT_SELECTED=1,a.FILE_SELECTED=2,a.FILE_PROCESSING=3,a.CSV_MAPPING=4,a.SUMMARY=5,a.IMPORTING=6,a.REPORT=8,a.step=a.FILE_NOT_SELECTED,a.sources=$.grep(o.getSources(),(function(e){return e.access>4&&"gal"!==e.itemID})),i.currentSource=a.sources[0],a.report={numLoaded:0,numSkipped:0,numAdded:0,numMerged:0,numErrors:0},a.importBlockedByConcurrent=!1,a.contactsToAdd=[],a.contactsToMerge=[],a.contactsToResolve=[],a.conflicts=[],a.data=[],a.loadedContacts=[],a.currentConflict={},a.currentContactToResolve={},a.mergeValue="addAll",a.showAllCsvFields=!1,a.showAllFields=!1,a.showOnlyConflicts=!0,a.conflictIndex=-1,a.currentContactToResolveIndex=0,a.conflictResolution=0,a.isProcessingAfterMap=!1,a.isProcessingAfterSummary=!1,a.csvContactsWithConflicts=[],a.numConflicts=0,a.addedFile=function(){a.step=a.FILE_SELECTED,a.$applyAsync()},a.loadFile=function(e,t){t.contacts[0].csvFields&&(r=!0);angular.forEach(t.contacts,(function(e){var t=e;t.conflictingContacts||(t.conflictingContacts=[]),t.action="add",a.loadedContacts.push(t)}))},a.uploadFailed=function(){a.step=a.FILE_NOT_SELECTED,a.uploaderFunctions.reset(),a.$applyAsync()},a.removedFile=function(){a.step=a.FILE_NOT_SELECTED,a.$applyAsync()},a.uploaderInit=function(e){a.uploaderFunctions=e},a.onCancelClicked=function(){t.cancel()},a.onCloseClicked=function(){t.hide()},a.onCsvMappingNextClicked=function(){a.csvContactIndex=-1,a.isProcessingAfterMap=!0,n(m,100)},a.onCsvReviewNextClicked=b,a.onLoadClicked=function(){a.step=a.FILE_PROCESSING,a.uploaderFunctions.startUpload().then((function(e){r&&0!==a.loadedContacts.length?(!function(){a.mappings=[];for(var e=[],t=0;t<a.loadedContacts.length;++t)for(var s=a.loadedContacts[t].csvFields||[],n=0;n<s.length;++n)e.indexOf(s[n].id)>-1||(e.push(s[n].id),a.mappings.push({id:s[n].id,mappedField:s[n].mappedField||"note",uploadedField:s[n].uploadedField}))}(),a.report.numLoaded=a.loadedContacts.length||0,a.step=a.CSV_MAPPING):(p(),a.step=a.SUMMARY)}),(function(){}))},a.onSummaryNextClicked=function(){if(a.isProcessingAfterSummary)return;a.isProcessingAfterSummary=!0,C(a.loadedContacts,a.conflictResolution)},l=e.$on("signalR.mailHub.client.contactsImportComplete",(function(e,t){a.step===a.IMPORTING?v(t):u=t})),a.$on("$destroy",(function(){l()}));var u=null;function v(t){a.isProcessingAfterSummary=!1,t.success?(a.report.numAdded=t.numAdded||0,a.report.numMerged=t.numMerged||0,a.report.numSkipped=t.numSkipped||0,a.report.numErrors=t.numErrors||0):a.report.numErrors=a.loadedContacts.length,a.step=a.REPORT,e.$broadcast("contactsRefresh"),a.$applyAsync()}function C(e,t){return e&&0!==e.length?o.startContactsImport(e,i.currentSource,!0,t||0).then((function(t){if(t&&t.data&&!1===t.data.success)return u=null,a.importBlockedByConcurrent=!0,a.report.numErrors=e.length,a.isProcessingAfterSummary=!1,void(a.step=a.REPORT);if(a.isProcessingAfterSummary=!1,a.step=a.IMPORTING,null!==u){var s=u;u=null,v(s)}}),(function(t){u=null,t&&t.data&&"IMPORTING_IN_PROGRESS"===t.data.message?(a.importBlockedByConcurrent=!0,a.report.numErrors=e.length):a.report.numErrors+=e.length,a.isProcessingAfterSummary=!1,a.step=a.REPORT})):s.when()}function p(){a.csvContactsWithConflicts=$.grep(a.loadedContacts,(function(e){return e.conflictingContacts.length>0})),a.numConflicts=a.csvContactsWithConflicts.length}function m(){for(;a.csvContactIndex<a.loadedContacts.length;)b();if(p(),0===a.csvContactsWithConflicts.length){a.isProcessingAfterSummary=!0;for(var e=0;e<a.loadedContacts.length;++e)a.loadedContacts[e].action="add";C(a.loadedContacts)}}function b(){if(a.csvContactIndex++,a.csvContactIndex<a.loadedContacts.length){a.csvContact=a.loadedContacts[a.csvContactIndex],a.csvFields=function(e){for(var t=[],s=0;s<a.mappings.length;++s){var n=a.mappings[s],o=$.grep(e,(function(e){return e.id===n.id}))[0];t.push({id:n.id,uploadedField:n.uploadedField,mappedField:n.mappedField,value:o?o.value:""})}return t}(a.csvContact.csvFields),a.csvContact.csvFields=a.csvFields;for(var e=0;e<a.csvFields.length;++e)switch(a.csvFields[e].mappedField||(a.csvFields[e].mappedField="note"),a.csvFields[e].mappedField){case"note":a.loadedContacts[a.csvContactIndex].additionalInfo?a.loadedContacts[a.csvContactIndex].additionalInfo+=" "+a.csvFields[e].value:a.loadedContacts[a.csvContactIndex].additionalInfo=a.csvFields[e].value;break;case"ignore":break;case"displayas":a.loadedContacts[a.csvContactIndex].displayAs=a.csvFields[e].value;break;case"email":a.csvFields[e].value&&(null==a.loadedContacts[a.csvContactIndex].emailAddressList?a.loadedContacts[a.csvContactIndex].emailAddressList=[a.csvFields[e].value]:a.loadedContacts[a.csvContactIndex].emailAddressList.push(a.csvFields[e].value));break;case"title":a.loadedContacts[a.csvContactIndex].title=a.csvFields[e].value;break;case"firstname":a.loadedContacts[a.csvContactIndex].firstName=a.csvFields[e].value;break;case"middlename":a.loadedContacts[a.csvContactIndex].middleName=a.csvFields[e].value;break;case"lastname":a.loadedContacts[a.csvContactIndex].lastName=a.csvFields[e].value;break;case"suffix":a.loadedContacts[a.csvContactIndex].suffix=a.csvFields[e].value;break;case"birthdate":-1===moment(a.csvFields[e].value).format("1").toLowerCase().indexOf("invalid date")&&(a.loadedContacts[a.csvContactIndex].birthDate=a.csvFields[e].value);break;case"im":a.loadedContacts[a.csvContactIndex].im=a.csvFields[e].value;break;case"webpage":a.loadedContacts[a.csvContactIndex].webPage=a.csvFields[e].value;break;case"homephone":if(!a.csvFields[e].value)break;null==a.loadedContacts[a.csvContactIndex].phoneNumberList?a.loadedContacts[a.csvContactIndex].phoneNumberList=[{PhoneType:"Home",Number:a.csvFields[e].value}]:a.loadedContacts[a.csvContactIndex].phoneNumberList.push({PhoneType:"Home",Number:a.csvFields[e].value});break;case"mobilephone":if(!a.csvFields[e].value)break;null==a.loadedContacts[a.csvContactIndex].phoneNumberList?a.loadedContacts[a.csvContactIndex].phoneNumberList=[{PhoneType:"Mobile",Number:a.csvFields[e].value}]:a.loadedContacts[a.csvContactIndex].phoneNumberList.push({PhoneType:"Mobile",Number:a.csvFields[e].value});break;case"busphone":if(!a.csvFields[e].value)break;null==a.loadedContacts[a.csvContactIndex].phoneNumberList?a.loadedContacts[a.csvContactIndex].phoneNumberList=[{PhoneType:"Work",Number:a.csvFields[e].value}]:a.loadedContacts[a.csvContactIndex].phoneNumberList.push({PhoneType:"Work",Number:a.csvFields[e].value});break;case"companyfax":if(!a.csvFields[e].value)break;null==a.loadedContacts[a.csvContactIndex].phoneNumberList?a.loadedContacts[a.csvContactIndex].phoneNumberList=[{PhoneType:"CompanyFax",Number:a.csvFields[e].value}]:a.loadedContacts[a.csvContactIndex].phoneNumberList.push({PhoneType:"CompanyFax",Number:a.csvFields[e].value});break;case"personalfax":if(!a.csvFields[e].value)break;null==a.loadedContacts[a.csvContactIndex].phoneNumberList?a.loadedContacts[a.csvContactIndex].phoneNumberList=[{PhoneType:"PersonalFax",Number:a.csvFields[e].value}]:a.loadedContacts[a.csvContactIndex].phoneNumberList.push({PhoneType:"PersonalFax",Number:a.csvFields[e].value});break;case"pager":if(!a.csvFields[e].value)break;null==a.loadedContacts[a.csvContactIndex].phoneNumberList?a.loadedContacts[a.csvContactIndex].phoneNumberList=[{PhoneType:"BusinessPager",Number:a.csvFields[e].value}]:a.loadedContacts[a.csvContactIndex].phoneNumberList.push({PhoneType:"BusinessPager",Number:a.csvFields[e].value});break;case"businessipphone":if(!a.csvFields[e].value)break;null==a.loadedContacts[a.csvContactIndex].phoneNumberList?a.loadedContacts[a.csvContactIndex].phoneNumberList=[{PhoneType:"Isdn",Number:a.csvFields[e].value}]:a.loadedContacts[a.csvContactIndex].phoneNumberList.push({PhoneType:"Isdn",Number:a.csvFields[e].value});break;case"jobtitle":a.loadedContacts[a.csvContactIndex].jobTitle=a.csvFields[e].value;break;case"company":a.loadedContacts[a.csvContactIndex].company=a.csvFields[e].value;break;case"busstreet":a.loadedContacts[a.csvContactIndex].busStreet=a.csvFields[e].value;break;case"buscity":a.loadedContacts[a.csvContactIndex].busCity=a.csvFields[e].value;break;case"busstate":a.loadedContacts[a.csvContactIndex].busState=a.csvFields[e].value;break;case"buszip":a.loadedContacts[a.csvContactIndex].busZip=a.csvFields[e].value;break;case"buscountry":a.loadedContacts[a.csvContactIndex].busCountry=a.csvFields[e].value;break;case"busurl":a.loadedContacts[a.csvContactIndex].companyUrl=a.csvFields[e].value;break;case"companydepartment":a.loadedContacts[a.csvContactIndex].companyDepartment=a.csvFields[e].value;break;case"companyoffice":a.loadedContacts[a.csvContactIndex].companyOffice=a.csvFields[e].value;break;case"homestreet":a.loadedContacts[a.csvContactIndex].homeStreet=a.csvFields[e].value;break;case"homecity":a.loadedContacts[a.csvContactIndex].homeCity=a.csvFields[e].value;break;case"homestate":a.loadedContacts[a.csvContactIndex].homeState=a.csvFields[e].value;break;
144case"homezip":a.loadedContacts[a.csvContactIndex].homeZip=a.csvFields[e].value;break;case"homecountry":a.loadedContacts[a.csvContactIndex].homeCountry=a.csvFields[e].value;break;case"categories":for(var t=a.csvFields[e].value.split(","),s=[],n=0;n<t.length;n++)void 0!==t[n]&&null!==t[n]&&""!==t[n]&&s.push({name:t[n],master:!1,selected:!0});a.loadedContacts[a.csvContactIndex].categories=s;break;case"yomifirstname":a.loadedContacts[a.csvContactIndex].yomiFirstName=a.csvFields[e].value;break;case"yomilastname":a.loadedContacts[a.csvContactIndex].yomiLastName=a.csvFields[e].value;break;case"fileas":a.loadedContacts[a.csvContactIndex].fileAs=a.csvFields[e].value;break;case"nickname":a.loadedContacts[a.csvContactIndex].nickname=a.csvFields[e].value;break;case"initials":a.loadedContacts[a.csvContactIndex].initials=a.csvFields[e].value;break;case"assistantname":a.loadedContacts[a.csvContactIndex].assistantName=a.csvFields[e].value;break;case"managername":a.loadedContacts[a.csvContactIndex].managerName=a.csvFields[e].value;break;case"mileage":a.loadedContacts[a.csvContactIndex].mileage=a.csvFields[e].value;break;case"profession":a.loadedContacts[a.csvContactIndex].profession=a.csvFields[e].value;break;case"spousename":a.loadedContacts[a.csvContactIndex].spouseName=a.csvFields[e].value;break;case"weddinganniversary":a.loadedContacts[a.csvContactIndex].weddingAnniversary=a.csvFields[e].value;break;case"postaladdressindex":a.loadedContacts[a.csvContactIndex].postalAddressIndex=a.csvFields[e].value;break;case"children":a.loadedContacts[a.csvContactIndex].children=a.csvFields[e].value;break;case"contacttype":a.loadedContacts[a.csvContactIndex].contactType=a.csvFields[e].value}}else a.loadedContacts.length>0?a.step=a.SUMMARY:a.step=a.REPORT,a.isProcessingAfterMap=!1}a.$watch((function(){return i.currentSource}),(function(e){e&&(a.uploaderData=JSON.stringify({source:e.ownerUsername,folderId:e.folderId}),a.uploaderFunctions&&"function"==typeof a.uploaderFunctions.setContextData&&a.uploaderFunctions.setContextData(a.uploaderData))}))}e.$inject=["$rootScope","$scope","$mdDialog","$q","$timeout","coreDataContacts","apiCategories","coreDataCategories"],angular.module("smartermail").controller("contactImportDialogController",e)}();
145!function(){"use strict";function o(o,t,n,e){var r;o.outlookVersionOptions=[],o.contacts=e.getSources().filter((o=>!o.isDomainResource)),o.currentContact=o.contacts[0],o.done=function(){var n={outlookVersion:o.currentVersion.version,contacts:o.currentContact,displayName:o.displayName};t.hide(n)},o.cancel=function(){t.cancel()},(r=[]).push({version:"3.0",name:n("translate")("OUTLOOK_2007_OR_LATER")}),r.push({version:"1.0",name:n("translate")("OUTLOOK_2003")}),o.outlookVersionOptions=r,o.currentVersion=o.outlookVersionOptions[0]}o.$inject=["$scope","$mdDialog","$filter","coreDataContacts"],angular.module("smartermail").controller("contactsOutlookDialogController",o)}();
146!function(){"use strict";function a(a,e,t,n){var r=this;r.name="",r.id=null,r.cancel=function(){e.cancel()},r.save=async function(){if(""===r.name)return;try{var a={folder:r.name};let n=await t.post("~/api/v1/contacts/address-book/add",a);r.id=n.data.folderGuid,e.hide()}catch(a){n.report(a)}}}a.$inject=["$scope","$mdDialog","$http","errorHandling"],angular.module("smartermail").controller("createAddressBookController",a)}();
147!function(){"use strict";function e(e,t,a,r,i,m,s,d,l){function o(){if(!e.galEnabled&&e.autoMemberText&&m){var t=m.find((t=>2===t.type&&t.emailAddress.toLowerCase()===e.autoMemberText));t&&(e.autoMemberSelectedItem=t)}e.autoMemberSelectedItem&&0!==e.autoMemberSelectedItem.type?(e.emailAddress=e.autoMemberSelectedItem.emailAddress,e.displayName=e.autoMemberSelectedItem.displayName,e.isOneOff=!1,e.isGroup=!e.emailAddress,e.memberForm.autoMember.$setValidity("validate-email",!0)):(!e.isOneOff&&e.isNewItem&&(e.displayName=""),e.isOneOff=!0,e.isGroup=!1)}e.autoMemberSelectedItem=e.originalItem=i,e.isNewItem=!i,e.galEnabled=d,e.getItemText=function(e){return e.emailAddress?e.emailAddress:e.displayName},e.onAutoMemberBlur=o,e.onAutoMemberSelectedChanged=o,e.onAutoMemberTextChanged=function(){e.autoMemberText&&e.memberForm.autoMember.$setValidity("validate-email",l.validateEmailAddress(e.autoMemberText));e.memberForm.$valid&&(e.emailAddress=e.autoMemberText||e.emailAddress,o())},e.cancel=t.cancel,e.isGroup=!1,e.doDelete=function(){t.hide({delete:!0})},e.queryMembers=function(t){if(!t||!m||0===m.length)return a.when([]);const r=t.toLowerCase();var i=m.filter((function(t){if(!e.galEnabled&&2===t.type)return!1;const a=t.emailAddress?t.emailAddress.toLowerCase():null,i=t.displayName?t.dis
147playName.toLowerCase():null;return a&&a.indexOf(r)>=0||i&&i.indexOf(r)>=0}));return a.when(i)},e.save=function(a){if(!a.$valid)return;o();var r=e.autoMemberSelectedItem;e.isOneOff&&(r={type:0,addressType:"SMTP",displayName:e.displayName,emailAddress:e.emailAddress});if(!r)return;r.sendAsMime=!0,t.hide({member:r})},e.isNewItem||(e.emailAddress=e.originalItem.emailAddress,e.displayName=e.originalItem.displayName,e.isOneOff=0===e.originalItem.type,e.isGroup=!e.originalItem.emailAddress)}e.$inject=["$scope","$mdDialog","$q","$timeout","memberItem","possibleMembers","sourceOwner","galEnabled","coreDataSettings"],angular.module("smartermail").controller("editGroupMemberController",e)}();
148!function(){"use strict";function e(e,r,a,n,i,o,s,t){var l=this;l.owner=o?o.ownerUsername?o.ownerUsername:s.user.domain:s.user.username,l.isOwner=l.owner.toLowerCase()===s.user.username.toLowerCase(),l.name=o?o.displayName?a("folderTranslate")(o.displayName,l.owner):o.name:"",l.isGal=!!o&&"gal"===o.itemID,l.id=o?o.id||o.itemID:null,l.cancel=function(){r.cancel()},l.save=async function(){if(""===l.name)return;var e={folder:l.name,uid:l.id};if(l.isOwner)try{await i.post("~/api/v1/contacts/address-book/edit",e),r.hide()}catch(e){t.report(e)}},"gal"===l.id&&(l.id=null)}e.$inject=["$scope","$mdDialog","$filter","$translate","$http","source","userDataService","errorHandling"],angular.module("smartermail").controller("renameAddressBookController",e)}();
149!function(){"use strict";function e(e,s,r,i,n,o,a,t,u,m,p){var c=this;function d(){t.settingsData.userGroups.then((function(e){c.userGroups.push({name:i.instant("SELECT_A_GROUP"),id:void 0,selectText:!0}),c.userGroups.push({name:i.instant("EVERYONE"),id:-1,isEveryone:!0}),c.userGroups.push({name:i.instant("SHARED_RESOURCES_ADMIN"),id:-2,isAdmins:!0});var s=$.extend(!0,[],e).sort((function(e,s){var r=e.name.toLowerCase(),i=s.name.toLowerCase();return r<i?-1:r>i?1:0}));c.userGroups=c.userGroups.concat(s),c.groupPermissions.length>0&&angular.forEach(c.groupPermissions,(function(e){for(var s=0;s<c.userGroups.length;s++){if(c.userGroups[s].isEveryone&&e.isEveryone){e.group=c.userGroups[s];break}if(c.userGroups[s].isAdmins&&e.isAdmins){e.group=c.userGroups[s];break}if(e.group&&c.userGroups[s].id===e.group.id){e.group=c.userGroups[s];break}}})),c.groupPermissions.push({access:4,group:c.userGroups[0]})}))}c.newItem=!o,c.owner=o?o.ownerUsername?o.ownerUsername:u.user.domain:u.user.username,c.isOwner=c.owner.toLowerCase()===u.user.username.toLowerCase(),c.isShareable=c.isOwner,c.name=o?o.displayName?r("folderTranslate")(o.displayName,c.owner):o.name:"",c.originalName=c.name,c.isPrimary=!!o&&o.isPrimary,c.origIsPrimary=c.isPrimary,c.isGal=!!o&&"gal"===o.itemID,c.permission=c.isGal?8:o?o.access:8,c.access=r("translate")("MAPPED_RESOURCES_ACCESS_"+c.permission),c.id=o?o.id||o.itemID:null,c.type=o?o.shareType:void 0,c.galEnabled=a.user.settings.features.enableGlobalAddressList,c.selectedItem=[],c.ignoreNameWatch=!0,c.isNameValid=!0,c.cancel=function(){s.cancel()},c.delete=function(e){if(c.isPrimary)return;const i=s.confirmDeletion().htmlContent(r("translate")("CONFIRMATIONS_DELETE_FOLDER",{name:c.name})).targetEvent(e);s.show(i).then((function(){const e={isPrimary:c.isPrimary,folder:c.name,uid:c.id};n.post("~/api/v1/contacts/address-book/delete",e).then((function(){s.hide()}),(function(e){m.report(e.data.message)}))}),(function(){}))},c.detach=function(){n.post("~/api/v1/settings/disconnect-from-share",JSON.stringify({shareConnectorData:[o]})).then((function(e){s.hide({detached:!0})}),m.report)},c.isValid=function(){return c.isNameValid},c.onEmailBlurred=function(e,s,r){var i=r["email"+s].$viewValue;i&&0!==i.length||e||(c.selectedItem.splice(s,1),c.userPermissions.splice(s,1))},c.onEmailChanged=function(e,s,r){var i=r["email"+s].$viewValue;i&&i.length>0&&e&&c.userPermissions.push({access:4,user:{emailAddress:""}})},c.onGroupChanged=function(e){e&&c.groupPermissions.push({access:4,group:c.userGroups[0]})},c.queryUsers=t.queryUsers,c.removeGroup=function(e,s){c.groupPermissions.splice(e,1),s.$setDirty()},c.removeUser=function(e,s){c.selectedItem.splice(e,1),c.userPermissions.splice(e,1),s.$setDirty()},c.save=function(){if(!c.isValid()||!c.isShareable)return;c.isOwner&&function(){c.userPermissions.pop(),c.groupPermissions=$.grep(c.groupPermissions,(function(e){return!e.group.selectText})),c.groupPermissions=c.groupPermissions.map((function(e){return e.group&&e.group.isEveryone?(e.group=void 0,e.isEveryone=!0):e.group&&e.group.isAdmins?(e.group=void 0,e.isAdmins=!0):(e.isAdmins=!1,e.isEveryone=!1),e}));var e=c.userPermissions.concat(c.groupPermissions),r={shareUsers:e,sharingItem:c.type||2,shareID:c.id},i=e.length;n.post("~/api/v1/settings/share-item",r).then((function(e){t.addPermissions(c.type,c.id,i),s.hide({})}),m.report),e=[],angular.forEach(c.originalShareUsers,(function(s){var r=!1;if(s.user){for(var i=0;i<c.userPermissions.length;i++)if(c.userPermissions[i].user.emailAddress===s.user.emailAddress){r=!0;break}}else for(var n=0;n<c.groupPermissions.length;n++){if(c.groupPermissions[n].isEveryone&&s.isEveryone){r=!0;break}if(c.groupPermissions[n].isAdmins&&s.isAdmins){r=!0;break}if(s.group&&c.groupPermissions[n].group&&c.groupPermissions[n].group.id===s.group.id){r=!0;break}}r||e.push(s)})),r={shareUsers:e,sharingItem:c.type,shareID:c.id};var o=e.length;n.post("~/api/v1/settings/share-users-delete",JSON.stringify(r)).then((function(e){t.removePermissions(c.type,c.id,o)}),m.report)}()},function(){"gal"===c.id&&(c.id=null);
149(c.isShareable||0==c.id)&&function(){if(c.userPermissions=[],c.groupPermissions=[],c.userGroups=[],c.originalShareUsers=[],!o)return c.userPermissions.push({access:4,user:{emailAddress:""}}),void d();n.post("~/api/v1/settings/share-users/",{sharingItem:c.type,shareID:c.id}).then((function(e){c.originalShareUsers=$.extend(!0,[],e.data.shareUsers),angular.forEach(e.data.shareUsers,(function(e){e.user?c.userPermissions.push(e):c.groupPermissions.push(e)})),c.userPermissions.push({access:4,user:{emailAddress:""}}),d()}),m.report)}();e.$watch("name",(function(){c.ignoreNameWatch?c.ignoreNameWatch=!1:c.isNameValid=""!==c.name}))}()}e.$inject=["$scope","$mdDialog","$filter","$translate","$http","source","coreData","coreDataSettings","userDataService","errorHandling","successHandling"],angular.module("smartermail").controller("shareAddressBookController",e)}();
150!function(){"use strict";function e(e,t,s,a,r,i,n,o,l,c,d,m,u,g,p,f,h,y,v,w,A,E,S,F,I,b,C,D,L,M,O){const R={Reply:1,Forward:2},T=/[,;](?=(?:[^"\\]*(?:\\.|"(?:[^"\\]*\\.)*[^"\\]*"))*[^"]*$)/g;var N,k,x=this,H=g.parsePopoutPacket(s.packet),U=!1,P=!1,z=!1,j={},q=!1,G=[],B=!1,W=e.spinner||new p,X=!1;let K=null,J=window.stHAID;b.settingsData.highAvailabilityId.then((e=>J=e)),x.addressSeparatorKeys=[n.KEY_CODE.ENTER,n.KEY_CODE.TAB,n.KEY_CODE.COMMA,-59],x.attachmentGuid=H.attachmentGuid||function(){function e(e){let t="";for(let s=0;s<e;s++)t+="0123456789abcdef"[Math.floor(16*Math.random())];return t}return e(8)+"-"+e(4)+"-"+e(4)+"-"+e(4)+"-"+e(12)}(),x.autocompleteData={to:{selectedItem:"",searchString:""},cc:{selectedItem:"",searchString:""},bcc:{selectedItem:"",searchString:""}},x.cloudStorageEnabled=!1,x.contacts=[],x.editorScope=null,x.fromAddresses=[],x.hasSentMessage=!1,x.hideLinkFile=!1,x.loaded=!1,x.message=null,x.minHeight=150,x.overSizeLimit=!1,x.recipientListBcc=[],x.recipientListCc=[],x.recipientListTo=[],x.reply={priority:1,requestReadReceipt:!1,requestDeliveryReceipt:!1,markForFollowup:!1},x.selectedFromAddress="",x.selectedSignature={},x.showCCs=!1,x.signatures={},x.skipDraftCheck=!1,x.uploaderData=null,x.saveDraft=Se,x.attachmentRemoveForwardedFile=function(e,t){if(e.isAttachedMessage)H.attachEmails=$.grep(H.attachEmails,(t=>t.uid!==e.emailUid)),x.message.attachments=$.grep(x.message.attachments,(t=>t.emailUid!==e.emailUid));else if(e.isNew){if("function"==typeof x.uploaderFuncs.removeFile)return void x.uploaderFuncs.removeFile(e.origFile).then((function(){x.message.attachments=$.grep(x.message.attachments,(t=>t.filename!=e.filename||t.size!=e.size)),e.partID&&(x.reply.removeAttachments=x.reply.removeAttachments||[],x.reply.removeAttachments.push(e.partID)),x.messageForm&&x.messageForm.$setDirty(),$e(),Ee()}))}else e.partID&&(x.reply.removeAttachments=x.reply.removeAttachments||[],x.reply.removeAttachments.push(e.partID)),j.saveParams.excludeFiles=x.reply.removeAttachments,x.message.attachments=$.grep(x.message.attachments,(t=>t.partID!=e.partID));x.messageForm&&x.messageForm.$setDirty();$e(),Ee(),a((function(){te()}),1)},x.onRecipientListChanged=function(){a((()=>{x.reply.to=he(x.recipientListTo),x.reply.cc=he(x.recipientListCc),x.reply.bcc=he(x.recipientListBcc),a((()=>{te(),Ee()}))}))},x.closeWindow=function(){window.close()},x.froalaOnImageInserted=ue,console.log("compose.component: Assigned froalaOnImageInserted callback",typeof ue),x.froalaOnInit=function(e){$(".fr-second-toolbar").click((()=>e.events.focus(!0))),P=!0,me(e),"function"==typeof x.notifyOnEditorInitialized&&x.notifyOnEditorInitialized(e);W.hide()},x.hasMessageChanged=function(){return!x.hasSentMessage&&x.messageForm&&x.messageForm.$dirty}
150,x.onCancel=le,x.onLinkFile=async function(){var e=[b.settingsData.userConnectedServices];x.fileStorageEnabled&&e.push(C.init());try{const n=await Promise.all(e);var t=[],s=[];let c;t=t.concat(n[0]),x.fileStorageEnabled&&(s=C.getFolders(),t=(t=[{type:-1,friendlyName:o.instant("SMARTERMAIL_FILE_STORAGE")}]).concat(n[0]));try{c=await i.show({locals:{services:t,fileStorageList:s},controller:"linkFileController",controllerAs:"ctrl",templateUrl:"app/email/modals/link-file.dlg.html",clickOutsideToClose:!1})}catch(e){return}if(-1===c.type)r(c.link,c.fileName);else try{var a={folder:c.folder,id:c.id};r((await l.post("~/api/v1/mail/filestorage-link/"+c.typeString,a)).data.publicLink,c.fileName)}catch(e){f.report(e.data?e.data.message:e)}}catch(e){L.showErrorMessage(e)}function r(e,t){var s=x.editorScope;s&&"function"==typeof s.insertHtml&&s.insertFileLink(e,t)}},x.onSaveDraft=function(){if(x.filesUploading>0)return f.report(o.instant("FILE_UPLOADING_WAIT")),!1;if(x.savingDraft)return f.report(o.instant("DRAFT_SAVING_WAIT")),!1;Se()},x.onSend=function(){Y()},x.onSendImmediately=function(){Q()},x.onSetPriority=function(e){x.reply.priority=e,Ee()},x.onToggleMarkFollowup=function(){x.reply.markForFollowup=!x.reply.markForFollowup,Ee()},x.onToggleRequestDeliveryReceipt=function(){x.reply.requestDeliveryReceipt=!x.reply.requestDeliveryReceipt,Ee()},x.onToggleRequestReadReceipt=function(){x.reply.requestReadReceipt=!x.reply.requestReadReceipt,Ee()},x.openRecipientsModal=async function(e,s){try{const r=await Promise.all([S.init(),l.get("~/api/v1/contacts/sources")]);let n=null,c=null;A.isInit?n=A.galContactsData:(W.show(),c=A.init().then((function(){W.hide()})).catch((function(e){W.hide(),console.error("GAL init failed:",e),f.report(o.instant("ERROR"))})));const d=await i.show({locals:{sources:r[1].data.sharedLists.concat($.map(F.categories(),(function(e){return{itemID:"category",displayName:e.name}}))),type:"RECIPIENTS",galData:n,galPromise:c,restrictedSenders:A},controller:"emailRecipientsController",controllerAs:"ctrl",templateUrl:"app/shared/modals/recipients.dlg.html",targetEvent:s,clickOutsideToClose:!1});var a="recipientList"+e;e=e.toLowerCase(),$.each(d.selectedContacts,(function(e,t){let s=!1;if(t.isGroup){for(let e=0;e<x[a].length;++e)"CONTACT_GROUP"===x[a][e].source&&x[a][e].id===t.id&&(s=!0);s||x[a].push({displayAs:t.displayAs,formatted:t.displayAs,id:t.id,source:"CONTACT_GROUP",sourceAccount:t.sourceAccount})}else{const e=`"${t.displayAs}" <${t.emailAddressList[0]}>`;for(let e=0;e<x[a].length;++e)x[a][e].formatted===t&&(s=!0);s||x[a].push({formatted:e,displayAs:t.displayAs,emailAddress:t.emailAddressList[0],type:"new"})}})),x.reply[e]="",$.each(x[a],(function(t,s){x.reply[e]+="CONTACT_GROUP"===s.source?`${s.displayAs}|${s.id}|${s.sourceAccount};`:s.formatted+";"})),t.$applyAsync()}catch(e){}},x.showCCFields=function(){x.showCCs=!x.showCCs,a((()=>te()))},x.uploaderOnCanceled=function(e){x.filesUploading--,ge(e),pe()},x.uploaderOnFileRemoved=ge,x.uploaderOnInit=function(e){x.uploaderFuncs=e},x.uploaderOnPreUpload=function(e,t){if(x.filesUploading++,!x.message.attachments)return;for(var s=0;s<x.message.attachments.length;++s){var r=x.message.attachments[s];if(r.size==e.size&&r.filename==e.name)return x.filesUploading--,t.cancel(),void f.warn("MAIL_SAME_FILE_UPLOAD")}a((function(){te()}),1)},x.uploaderOnUploaded=function(e,t,s){var r=(e.name||"").split(".").pop(),i=D.iconFromExtension(r).split("-").pop();"file"===i&&(i="");var n={isNew:!0,filename:e.name,type:i,isAttachedMessage:!1,size:e.size,origFile:s};if(e.type.startsWith("image/")&&e.size<1e6){var o=stSiteRoot+"attachment/preview-uploaded?data="+encodeURIComponent(btoa(y.user.emailAddress+"_"+s.uniqueIdentifier));window.stHA&&window.stHAID&&(o+="&nodeId="+encodeURIComponent(J)),n.previewImage=o}G=$.grep(G,(e=>e.fileName!=s.fileName)),x.message.attachments=x.message.attachments||[];for(var l=-1,c=0;c<x.message.attachments.length;++c){if(x.message.attachments[c].filename===n.filename){l=c;break}}-1!==l?(n.previewImage=x.message.attachments[c].previewImage,x.message.attachments[c]=n):x.message.attachments.push(n);q=!0,x.messageForm&&x.messageForm.$setDirty();x.filesUploading--,$e(),a((function(){$(window).trigger("resize");
150var e=$(".forwardAttachments");e.scrollTop(e.prop("scrollHeight"))})),a((function(){Ee(),te()}),1)},x.uploaderOnUploadFailure=function(e,t){x.message.attachments=$.grep(x.message.attachments||[],(t=>t.filename!=e.name)),$e(),("EXCEPTION_IO"===t.message||"EXCEPTION_FILE_NOT_FOUND"===t.message)&&(t.message="MAIL_UPLOAD_FAILED_IO");a((function(){t.message.indexOf("MAX_SIZE_EXCEEDED|")>-1?(t.message=t.message.replace("MAX_SIZE_EXCEEDED|",""),w.clear(k),k=w.pop({type:"error",title:null,body:o.instant("MAX_SIZE_EXCEEDED",{size:d("bytes")(t.message)}),timeout:1e4,bodyOutputType:"trustedHtml"})):t.message.indexOf("MALWARE_FOUND|")>-1?(t.message=t.message.replace("MALWARE_FOUND|",""),w.pop({type:"error",title:null,body:o.instant("MALWARE_FOUND",{filename:t.message}),timeout:1e4,bodyOutputType:"trustedHtml"})):f.report(t.message)})),x.filesUploading--,a((function(){te()}),1)},t.cancel=le,x.focusSubject=()=>$("#subjectInputCtrl").focus(),x.showScheduleDialog=async function(){let e=await i.show({controller:"scheduleSendController",controllerAs:"ctrl",templateUrl:"app/email/modals/schedule-send.dlg.html",clickOutsideToClose:!1});e.success&&(K=e.scheduleDate,e.sendImmediately?Q():ee())};var V=_.debounce(Ie,20),Z=_.debounce((async function e(t,s){null==s&&(s=P);if(!x.editorScope)return;if(!x.editorScope.editor)return await x.editorScope.getEditor(),void e(void 0,s);if(!P&&x.message&&x.message.isDraft)return;var r=x.editorScope.getHtml().split('"attlinkedfileid:').join(`"${location.origin}${stSiteRoot}attachedfile?data=`),i=$(`<div>${r}</div>`),n=i.find("#divSignature");if(n.length>1)for(let e=1;e<n.length;e++)n[e].id="";var o=null!=x.selectedSignature&&x.selectedSignature.guid?x.selectedSignature.guid:null;if(n&&n.length){o?n.first().attr("data-signature-key",o):n.first().removeAttr("data-signature-key"),n.first().html(l());try{await x.editorScope.setHtmlPromise(i.html())}catch(e){console.log("[Error Setting Html]:onSignatureChanged - setHtml",{err:e})}}else{if((n=$("#divSignature")).length>1)for(let e=1;e<n.length;e++)n[e].id="";if(n&&n.length)o?n.first().attr("data-signature-key",o):n.first().removeAttr("data-signature-key"),n.first().html(l());else if((t=(t||0)+1)<10)return void a((()=>e(t,s)),50)}s&&Ee();function l(){if(null!=x.selectedSignature&&x.selectedSignature.text){return _e(x.selectedSignature.text).split('"attlinkedfileid:').join(`"${location.origin}${stSiteRoot}attachedFile?data=`)}return"<span> </span>"}}),20),Y=_.throttle(ye,500),Q=_.throttle((async function(){await ye(!0,!1)}),500),ee=_.throttle((async function(){await ye(!1,!0)}),500),te=_.throttle((function(){if(!x.loaded)return;const e=document.querySelector("action-bar"),t=e&&e.getBoundingClientRect().height,s=document.querySelector("#replyHeader"),a=s&&s.getBoundingClientRect().height;let r=0;if(x.message&&x.message.attachments&&x.message.attachments.length){const e=document.querySelector(".emailAttachments");r=e&&e.getBoundingClientRect().height}let i=$(window).height()-t-0-a-0-r-35;i<x.minHeight&&(i=x.minHeight);const n=document.querySelector(".fr-toolbar"),o=n&&n.getBoundingClientRect().height;i-=o,$("#composeEditor .fr-wrapper").css({"max-height":i,"min-height":i}),$("#composeEditor .fr-element").css({"min-height":i}),$("#composeEditor").css({visibility:"visible"}),setTimeout((()=>$(".emailPopout").scrollTop(0)),100)}),200,{leading:!1});function se(e){try{"Tab"!==e.key||e.shiftKey||(de(),e.preventDefault())}catch(e){}}x.tryResize=te,x.$onInit=function(){I.ensureActivated(),r.addClass("message-compose"),window.addEventListener("beforeunload",oe,{capture:!0}),window.addEventListener("resize",te),window.addEventListener("resize.doResize",te),t.$on("resize.doResize",te),async function(){try{W.show(),await y.init(),A.init();const e=await Promise.all([v.init(),E.getCategories(),fe()]);if(x.messageCategories=e[2],X=!0,x.uploaderData=JSON.stringify({guid:x.attachmentGuid}),x.autoSaveEnabled=m.user.settings.userMailSettings.draftAutoSave,H.uid){const e=3===H.reply,t=await Promise.all([u.loadMessage(H.owner,H.folder,H.uid,e),l.get("~/api/v1/folders/list-email-folders")]);await async function(e){if(x.messageDoesNotExist=!e,x.messageDoesNotExist)return void(x.message={});if(x.message=e,x.message.messageHTML&&x.message.attachments&&x.message.attachments.length){const e=$(`<div>${x.message.messageHTML}</div>`),t=e.find("#divSignature");
150if(t&&t.length){const s=t.find("img[src]");for(let e=0;e<s.length;e++){const e=s[0].getAttribute("src");if(!e.contains("attachedfile?data=")&&!e.contains("attachment/inline?data=")||!e.contains("&cid="))continue;const t=e.substring(e.indexOf("?data="),e.indexOf("&cid="));for(let e=0;e<x.message.attachments.length;)x.message.attachments[e].link.contains(t)?x.message.attachments.splice(e,1):e++}x.message.messageHTML=e.html()}}if(x.isSentItems=x.message.folder&&-1!==x.message.folder.toLowerCase().indexOf("sent items"),x.message.fromAddress.email){var t=F.getContactByEmail(x.message.fromAddress.email)||{};x.message.fromAddress.displayAs=t.displayAs}}(t[0]),function(e){x.isInSharedFolder=!1;const t=e&&e.data?e.data:{},s=Array.isArray(t.folderList)?t.folderList:[],a=(H.owner||"").toLowerCase(),r=(H.folder||"").toLowerCase();for(let e=0;e<s.length;++e){const t=i(s[e]);if(t){x.isInSharedFolder=t.access&&0!=t.access,x.folderAccess=t.access;break}}function i(e){if(!e)return!1;const t="string"==typeof e.ownerEmailAddress?e.ownerEmailAddress.toLowerCase():"",s="string"==typeof e.path?e.path.toLowerCase():"";if(t===a&&s===r)return e;if(Array.isArray(e.subFolders))for(let t=0;t<e.subFolders.length;++t){const s=i(e.subFolders[t]);if(s)return s}return!1}}(t[1])}else x.message={};!async function(){y&&y.user&&y.user.settings||(x.hideLinkFile=!0);x.fileStorageEnabled=y.user.settings.features.marketplaceSettings.smarterMailFileStoreEnabled;try{const e=await b.settingsData.userConnectedServices;x.cloudStorageEnabled=null!=e,x.hideLinkFile=!(0!=e.length&&x.cloudStorageEnabled||x.fileStorageEnabled)}catch(e){x.cloudStorageEnabled=!1}}(),await async function(){if(x.message&&x.message.uid){const e=H.reply;x.message&&x.message.isDraft?function(){if(x.reply={replyUid:x.message.uid,replyOwner:x.message.ownerEmailAddress,replyFromFolder:x.message.folder,to:x.message.to,cc:x.message.cc,bcc:x.message.bcc,subject:x.message.subject||"",priority:0===x.message.importance?1:1===x.message.importance?0:-1===x.message.importance?2:1,requestReadReceipt:x.message.requestingReadReceipt,requestDeliveryReceipt:x.message.requestingDeliveryReceipt,markForFollowup:x.message.flagInfo&&!x.message.flagInfo.isComplete},x.message.replyInfo){var e=x.message.replyInfo.split(";|");4===e.length&&(x.reply.uid=e[0],x.reply.folder=e[1]?e[1]:x.message.folder,x.reply.owner=e[2],"reply"==e[3]?x.replyForwardMode=R.Reply:"forward"==e[3]&&(x.replyForwardMode=R.Forward))}}():3!==e?function(e){if(x.reply={replyUid:x.message.uid,replyOwner:x.message.ownerEmailAddress||m.user.emailAddress,replyFromFolder:x.message.folder,cc:"",bcc:"",requestReadReceipt:m.user.settings.userMailSettings.requestReadReceipts,requestDeliveryReceipt:!1},2==e&&null!=x.message.to){var s="",a=[];let e="",t="";null!=x.message.replyTo?(e=Te(x.message.replyTo),t=Re(x.message.replyTo)):(e=Te(x.message.from),t=Re(x.message.from));let i=re(x.message.to);for(var r=0;r<i.length;r++){let e=Te(i[r]),s=Re(e);M.isValidEmail(s)&&s!=t&&a.push(e)}a.length>0?(s=a.join("; "),x.reply.to=e+"; "+s):x.reply.to=e}else if(1===e&&H.folder&&"sent items"===H.folder.toLowerCase()&&null!=x.message.to){let e="",t="";x.reply.markForFollowup=x.message.flagInfo&&!x.message.flagInfo.isComplete,null!=x.message.replyTo?(e=Te(x.message.replyTo),t=Re(x.message.replyTo)):(e=Te(x.message.from),t=Re(x.message.from));let s=re(x.message.to);if(s.length>0){let a=Te(s[0]),r=Re(a);M.isValidEmail(r)&&r!=t?x.reply.to=a:x.reply.to=e}else x.reply.to=e}else x.reply.to=Te(x.message.replyTo||x.message.from);if(2==e&&null!=x.message.cc){var i=re(x.message.cc),n=$.map(i,(function(e){return Te(e.trim())}));n=$.grep(n,(function(e){var t=Te(e.trim());return M.isValidEmail(Re(t))&&t!=y.user.emailAddress})),x.reply.cc=n.join(";")}x.reply.subject=null!=x.message.subject?x.message.subject:"";const l=o.instant("REPLY_ABBR");"re:"!==x.reply.subject.trim().substring(0,3).toLowerCase()&&x.reply.subject.trim().substring(0,l.length+1).toLowerCase()!==l.toLowerCase()+":"&&(x.reply.subject=l+": "+x.reply.subject);x.message.attachments.length=0,x.replyForwardMode=R.Reply,t.$applyAsync()}(e):function(){const e=o.instant("FORWARD_ABBR");if(x.replyForwardMode=R.Forward,x.reply={replyUid:x.message.uid,replyOwner:x.message.ownerEmailAddress,replyFromFolder:x.message.folder,requestReadReceipt:m.user.settings.userMailSettings.requestReadReceipts,requestDeliveryReceipt:!1,subject:r(x.message.subject,e)},!H.attachEmails||!H.attachEmails.length)return;x.message.attachments=[];for(var s=0;s<H.attachEmails.length;++s){var a=H.attachEmails[s];x.message.attachments.push({emailUid:a.uid,isAttachedMessage:!0,size:a.size,filename:a.subject+".eml",type:"email"})}H.attachEmails.length>1&&(x.reply.subject=`${e}: `);function r(t,s){const a=(t=(t||"").trim()).toLowerCase();return"fwd:"===a.substring(0,4)||"fw:"===a.substring(0,3)||a.substring(0,s.length+1)===s.toLowerCase()+":"?t:`${e}: ${t}`}t.$applyAsync()}()}else!function(){if(x.replyForwardMode=null,x.isNewMessage=!0,x.reply={to:"",cc:"",bcc:"",subject:"",priority:1,requestReadReceipt:m.user.settings.userMailSettings.requestReadReceipts,requestDeliveryReceipt:m.user.settings.userMailSettings.requestDeliveryReceipts,markForFollowup:!1},H.to){let e=H.to.displayAs.replaceAll('"','\\"').replaceAll("\\","\\\\");H.to.formatted='"'+e+'" <'+H.to.emailAddress+">",x.recipientListTo.push({displayAs:H.to.displayAs,emailAddress:H.to.emailAddress,formatted:H.to.formatted,type:"new"})}x.reply.to&&(x.recipientListTo=ie(x.reply.to));x.reply.cc&&(x.recipientListCc=ie(x.reply.cc));x.reply.bcc&&(x.recipientListBcc=ie(x.reply.bcc))}();x.reply.to&&(x.recipientListTo=ie(x.reply.to));x.reply.cc&&(x.recipientListCc=ie(x.reply.cc));x.reply.bcc&&(x.recipientListBcc=ie(x.reply.bcc));x.reply=x.reply||{},x.showCCs=x.reply.cc||x.reply.bcc,x.reply.owner=x.reply.owner||x.message&&x.message.ownerEmailAddress||H.owner,x.reply.folder=x.reply.folder||x.message&&x.message.folder||H.folder,x.reply.uid=x.reply.uid||x.message&&x.message.uid,H.attachEmails&&H.attachEmails.length>0&&(x.reply.uid=void 0);H.sid&&await async function(){const e=H.sid;var s=sessionStorage.getItem(e),r=JSON.parse(s||"");x.reply.to=(r.emails||[]).join("; ");try{var i=[];angular.forEach(r.vcards||[],(function(e){i.push({id:e.id,sourceId:e.sourceId,sourceOwner:e.sourceFolder})}));for(var n=await l.post("~/api/v1/contacts/fetch-many",i),o=[],c=0;c<n.data.contacts.length;++c){let e=n.data.contacts[c];e.id=r.vcards[c].id,o.push(e)}var d=JSON.stringify({contacts:o}),u="~/api/v1/contacts/export/vcard/data";const e=await l.post(u,d);var g=x.attachmentGuid;var p=function(e){var t=e.split(","),s=t[0].match(/:(.*?);/)[1],a=atob(t[1]),r=a.length,i=new Uint8Array(r);for(;r--;
150)i[r]=a.charCodeAt(r);return new Blob([i],{type:s})}(e.data.data),f=e.data.name,h=(f||"").split(".").pop(),y=D.iconFromExtension(h).split("-").pop(),v=new FormData;v.append("guid",g),v.append("file",p,f),await l.post("/attachment-put",v,{headers:{Authorization:"Bearer "+m.getToken(),"Content-Type":void 0},transformRequest:angular.identity}),x.message.attachments=x.message.attachments||[],x.message.attachments.push({filename:f,size:p.size,type:y}),t.$applyAsync(),a((function(){var e=$(".forwardAttachments");e.scrollTop(e.prop("scrollHeight"))})),a(te,10)}catch(e){console.error(e)}}();let e={to:x.reply.to,cc:x.reply.cc,bcc:x.reply.bcc,replyUid:x.reply.replyUid,replyOwner:x.reply.replyOwner,replyFromFolder:x.reply.replyFromFolder,ownerEmailAddress:m.user.emailAddress,folder:"drafts",date:Date.now(),from:y.user.emailAddress,replyTo:y.user.emailAddress,subject:x.reply.subject,priority:x.reply.priority,readReceiptRequested:x.reply.requestReadReceipt,deliveryReceiptRequested:x.reply.requestDeliveryReceipt,markForFollowup:x.reply.markForFollowup,selectedFrom:x.selectedFromAddress.source+":"+x.selectedFromAddress.email,originalCidLinks:x.message&&x.message.originalCidLinks};H.attachEmails&&H.attachEmails.length&&(e.attachedMessages=H.attachEmails);x.message&&x.message.isDraft&&x.message.uid&&(x.isInSharedFolder&&!x.folderAccess&&(e.replyUid=x.message.uid,e.replyOwner=x.message.ownerEmailAddress,e.replyFolder=x.message.folder,x.message.ownerEmailAddress=m.user.emailAddress,x.message.uid=void 0,x.message.folder="drafts",x.replyForwardMode=R.Forward),e.draftUid=x.message.uid,e.folder=x.message.folder,e.ownerEmailAddress=x.message.ownerEmailAddress);j.saveParam="messageHTML",j.saveParams=e}(),await async function(){$.each(y.user.settings.signatureMappings,(function(e,t){t.signatures&&t.signatures.splice(0,0,{id:"NONE",guid:"NONE",isDefault:!1,name:o.instant("NONE"),text:""}),-1===x.fromAddresses.indexOf(t)&&x.fromAddresses.push(t),0==e&&(x.selectedFromAddress=t)})),x.message&&x.message.isDraft&&x.message.fromAddress?Oe(x.message.fromAddress.email):(Oe(),await async function(){var e=x.isSentItems?x.message.from:x.message.to+","+x.message.cc+","+x.message.bcc;const s=await l.post("~/api/v1/settings/determine-from-address/"+(x.replyForwardMode==R.Reply),{input:e});x.ignoreFromAddressChanges=!0;var a=s.data.addresses;x.selectedFromAddress=a[0],x.selectedFromAddress.email=x.selectedFromAddress.email.toLowerCase();var r=$.grep(x.fromAddresses,(function(e){return e.email===x.selectedFromAddress.email}));r.length>0&&(x.selectedFromAddress=r[0]);Oe(x.selectedFromAddress.email),r=$.grep(a,(function(e){for(var t=0;t<x.fromAddresses.length;t++)if(e.email.toLowerCase()===x.fromAddresses[t].email.toLowerCase())return!1;return!0})),angular.forEach(r,(function(e){e.signatures=x.fromAddresses[0].signatures,x.fromAddresses.push(e)}));var i=x.fromAddresses.filter((e=>e===x.selectedFromAddress||e.email.indexOf(y.user.username+"@")>-1));if(x.reply&&x.reply.to&&x.reply.to.length>0){let e=x.reply.to.trim().split(T);e=Me(e,i),x.reply.to=e.join("; "),x.recipientListTo=ie(x.reply.to)}if(x.reply&&x.reply.cc&&x.reply.cc.length>0){let e=x.reply.cc.trim().split(T);e=Me(e,i,!0),x.reply.cc=e.join("; "),x.recipientListCc=ie(x.reply.cc),0==e.length&&x.showCCFields()}t.$applyAsync()}())}(),await async function(){await ae(),x.message&&x.message.uid?ne(x.editorScope):(await e(),ne(x.editorScope,!0));async function e(){let e=!1;if(x.fromAddresses&&x.fromAddresses.forEach((t=>{t.signatures&&t.signatures.forEach((t=>{t.guid&&"NONE"!=t.guid&&(e=!0)}))})),e){var t="<br/><br/>"+Ne();try{await x.editorScope.setHtmlPromise(t)}catch(e){console.log("[Error Setting Html]:setSignatureOnNewMessage",{err:e})}}}}()}catch(e){x.messageDoesNotExist=!0,f.report()}finally{t.$applyAsync((function(){x.loaded=!0})),a(te),P=!0,function(){!H||1!==H.reply&&2!==H.reply?a(ce,20):a(de,250);t.$watch("$ctrl.reply.subject",De),t.$watch("$ctrl.selectedFromAddress",be),t.$watch("$ctrl.selectedSignature",Ce),t.$watch("$ctrl.message.attachments",$e),t.$watch("$ctrl.messageForm.subject.$valid",(()=>{a(te)}))}(),W.hide()}a((()=>{const e=document.getElementById("subjectInputCtrl");e&&e.addEventListener("keydown",se),document.getElementById("composeEditor").addEventListener("keydown",(function(e){try{if((e.ctrlKey||e.metaKey)&&"a"===e.key)if(document.getElementById("divSignature")){const a=document.createRange();var t=Array.from(document.activeElement.children),s=t.filter((e=>"divSignature"==e.id))[0];e.preventDefault(),a.setStart(t[0],0),a.setEnd(s,0);const r=window.getSelection();r.removeAllRanges(),r.addRange(a)}}catch(e){console.error("Failure selecting compose body.",e)}}))}))}()},x.$onDestroy=function(){window.removeEventListener("resize",te),window.removeEventListener("resize.doResize",te)};const ae=function(){if(P&&x.editorScope&&x.editorScope.editor)return z||me(x.editorScope.editor),c.resolve(x.editorScope.editor);const e=c.defer();return x.notifyOnEditorInitialized=function(t){x.notifyOnEditorInitialized=void 0,e.resolve(t)},e.promise};function re(e){var t=[];try{for(var s=!1,a="",r=0;r<=e.length;r++)if(r==e.length)t.push(a.trim()),a="";else{var i=e[r];'"'==i&&(s=!s),","==i&&0==s?(t.push(a.trim()),a=""):a+=i}}catch(s){t=e.split(",")}return t}const ie=function(e){const t=[];return $.each(e.split(T),(function(e,s){if(s=s.trim()){let a=!1;if(-1===s.indexOf("@")&&-1!==s.indexOf("|")){const r=s.split("|");if(3===r.length){for(let s=0;s<t.length;++s)t.formatted.trim()===r[e]&&(a=!0);a||t.push({formatted:r[0],displayAs:r[0],source:"CONTACT_GROUP",id:r[1],sourceAccount:r[2]})}}else{const e=function(e){if(!e)return e;let t=e;t=t.toLowerCase().replace("mailto:","");let s=t.indexOf("<");const a=t.indexOf(">");return-1===s||a<=s?t.trim():(s+=1,t.substr(s,a-s))}(s),r=function(e){if(!e)return e;let t=e.replace('""',"").trim();if(t.startsWith('"'))return t.substr(1,t.lastIndexOf('"')-1);if(t.startsWith("<"))return t.substr(1,t.lastIndexOf(">")-1);if(t.endsWith(">")&&t.contains("<")){const e=t.indexOf("<");if(t=t.substr(0,e).trim(),!t){const s=t.LastIndexOf(">")-e-1;t=t.substr(e+1,s)}}return t}(s);for(let r=0;r<t.length;++r)t[r].formatted.trim()!==s&&t[r].emailAddress.trim()!==e||(a=!0);a||t.push({formatted:s,displayAs:r,emailAddress:e,type:"new"})}}})),t};function ne(e,s){if(!s){var r="";
150if(H.content)r=H.content;else if(H.attachEmails&&H.attachEmails.length>0)c(r="<div></div><br/>"+Ne());else if(x.message&&x.message.isDraft){r=""+(null!=x.message.messageHTML?x.message.messageHTML:x.message.messagePlainText);var i=$(`<div>${r}</div>`),n=i.find("#divSignature");let e=i.find("#delaySignature");if((!n||0===n.length)&&e&&e.length>0){n=e,e[0].id="divSignature";for(let t=1;t<e.length;t++)e[t].id="";r=i.html()}if(n&&n.length)x.draftSignatureKey=n.attr("data-signature-key"),x.draftSignatureKey&&$.each(x.signatures,(function(e,t){t.guid===x.draftSignatureKey&&(x.selectedSignature=t)}));else if(x.signatures&&x.signatures.length>0){var o=$(`<div>${r}</div>`),l=o.find("#previousmessagehr");l.length?($(l[0]).before("<div></div><br/>"+Ne()+"<br/>"),r=o.html()):r=r+"<div></div><br/>"+Ne()}c(r)}else c(r="<div></div><br/>"+Ne()+function(){var e=angular.copy(x.message),t=e.messagePlainText;if(e.messageHTML){t=e.messageHTML;var s=$("<div>"+t+"</div>");s&&(s.find("base").remove(),s.find("*").removeAttr("contenteditable")),t="<br/><hr id='previousmessagehr'>"+ke(e)+s.html()}else e.isCalendarMessage&&(t="<br/><hr id='previousmessagehr'>"+ke(e));return t}())}async function c(t){try{var s=$(t);1===s.length&&"DIV"===s[0].nodeName.toUpperCase()&&s.children("div,h1,h2,h3,h4,pre,blockquote,ul,ol,p").length>0?await e.setHtmlPromise(s.html()):await e.setHtmlPromise(t)}catch(e){console.log("[Error Setting Html]:setEditorContentForReply",{err:e})}}x.reply.to&&(x.recipientListTo=ie(x.reply.to)),x.reply.cc&&(x.recipientListCc=ie(x.reply.cc)),x.reply.bcc&&(x.recipientListBcc=ie(x.reply.bcc)),t.$applyAsync(),a(te),a((function(){x.editorScope.editor.events.on("contentChanged",(function(){x.messageForm&&!x.messageForm.$dirty&&x.messageForm.$setDirty(),Ee()}))}),50)}function oe(e){if(!U&&x.hasMessageChanged())return U=!0,!0}async function le(e){if(!x.hasMessageChanged())return U=!0,void window.close();if(x.overSizeLimit){var t=o.instant("DOMAIN_SIZE_LIMIT_EXCEEDED_WITH_LIMIT",{size:d("bytes")(y.user.settings.diskSpace.maxAllowedMessageSize)});let s=i.confirm().title(o.instant("DRAFT")).textContent(o.instant("MAIL_CONFIRM_SAVE_DRAFT_OVERSIZE",{text:t})).targetEvent(e).ok(o.instant("YES")).cancel(o.instant("NO"));try{await i.show(s),U=!0,window.close()}catch(e){}}else{let t=i.confirm().title(o.instant("DRAFT")).textContent(o.instant("MAIL_CONFIRM_CANCEL_SAVE_DRAFT")).targetEvent(e).ok(o.instant("YES")).cancel(o.instant("NO"));try{await i.show(t),U=!0,window.close()}catch(e){}}}function ce(){let e=$(".area-to").find("input")[0];$(e).focus(),$(e).trigger("focus"),$("#sendToField").focus(),$("#sendToField").trigger("focus")}function de(){if(x.editorScope)x.editorScope.focusEditor();else{const e=$("st-html-editor textarea.froalaEditor"),t=e&&e.length&&e[0]["data-froala.editor"];t&&t.$el&&"function"==typeof t.$el.focus&&t.$el.focus()}}function me(e){if(P&&X){var t=e.$el;t.off("drop");for(var s=t.data("events"),r=0;r<s.length;r++)s[r][0].toUpperCase().startsWith("DROP")&&t[0].removeEventListener("drop",s[r][1]);var i=m.user.settings.userMailSettings.composeFont;"lucida"==i&&(i="lucida sans"),$(t[0]).css("font-family",i).css("font-size",m.user.settings.userMailSettings.composeFontSize),a(te),z=!0}}function ue(e,t){var s=JSON.parse(t),a=s.link,r=s.returnData.fileName?s.returnData.fileName:JSON.parse(s.returnData).fileName;G.push({link:a,fileName:r,cid:s.cid}),Ee()}function ge(e){try{if(!x.message.attachments)return;x.message.attachments=$.grep(x.message.attachments,(t=>t.filename!=e.filename||t.size!=e.size)),$e(),x.messageForm&&x.messageForm.$setDirty(),Ee()}finally{pe()}a((function(){te()}),1)}function pe(){if(P){var e=y.user.settings.diskSpace.maxAllowedMessageSize,t=0;x.message.attachments&&x.message.attachments.forEach((function(e){t+=e.size})),x.overSizeLimit=t>e,x.overSizeLimit?N&&N.toastId==w.toast.toastId||(w.clear(N),N=w.pop({type:"error",title:null,body:o.instant("DOMAIN_SIZE_LIMIT_EXCEEDED_WITH_LIMIT",{size:d("bytes")(e)}),timeout:0,bodyOutputType:"trustedHtml",onHideCallback:function(){N=void 0}})):N&&w.clear(N)}}
150async function fe(){if(!B)try{if(x.contacts=[],!y.user.isSysAdmin){const e=await l.get("~/api/v1/settings/auto-complete-list-limit/1000");x.contacts=e.data.emailData}}catch(e){null!=e&&f.report(o.instant("ERROR_AUTO_COMPLETE_LIST"))}finally{B=!0}}function he(e){let t="";return e.forEach((e=>{let s=e.displayName;e.displayName&&(s=s.replaceAll('"','\\"').replaceAll("\\","\\\\")),t+=e.source&&"CONTACT_GROUP"===e.source.toUpperCase()?`${s}|${e.id}|${e.sourceAccount};`:`${e.formatted};`})),t}async function ye(e=!1,t=!1){var s,a;if(!x.hasSentMessage)if(x.filesUploading>0)f.report(o.instant("FILE_UPLOADING_WAIT"));else if(x.savingDraft)f.report(o.instant("DRAFT_SAVING_WAIT"));else if(0!==x.recipientListTo.length||0!==x.recipientListCc.length||0!==x.recipientListBcc.length)try{var r=x.editorScope.getHtml();if(r.indexOf("<")>0){const e=r.substring(0,r.indexOf("<"));e&&e.trim()&&(r=`<div>${e}</div>${r.substring(r.indexOf("<"))}`)}try{s=r,(a=Le(a=$(s))).find("hr#previousmessagehr").css("break-after",""),a.find("#divSignature").removeAttr("data-signature-key"),a[0].setAttribute("dir","auto"),r=s=a[0].outerHTML}catch(e){console.log("[Error Sending Message]:cleanseHtmlForSending",{err:e})}if(x.reply.subject=x.reply.subject||"",""==x.reply.subject.trim()){let e=i.confirm().title(o.instant("MISSING_SUBJECT")).textContent(o.instant("CONFIRMATIONS_MESSAGE_MISSING_SUBJECT")).ok(o.instant("SEND")).cancel(o.instant("CANCEL"));await i.show(e)}const n=function(e){if(q||x.message.attachments&&x.message.attachments.length>0)return!1;var t=new RegExp("([^wd_]|^)("+o.instant("ATTACH")+"|"+o.instant("ATTACHED")+"|"+o.instant("ATTACHMENT")+")([^wd_]|$)","i"),s=e,a=e.search("divSignature");-1!=a&&(s=e.substring(0,a));if(null!=s&&null!=s.match(t)&&(t=/([^\w\d_]|^)(<img)([^\w\d_]|$)/i,null==s.match(t)))return!0;return!1}(r);if(n){let e=i.confirm().title(o.instant("MISSING_ATTACHMENT")).textContent(o.instant("CONFIRMATIONS_MESSAGE_MISSING_ATTACHMENT")).ok(o.instant("SEND")).cancel(o.instant("CANCEL"));await i.show(e)}await async function(e,t,s){try{x.hasSentMessage=!0;var a={};x.replyForwardMode&&(a[x.replyForwardMode]=!0),x.reply.markForFollowup&&(a[4]=x.reply.markForFollowup),x.reply.to=he(x.recipientListTo),x.reply.cc=he(x.recipientListCc),x.reply.bcc=he(x.recipientListBcc),await Fe();var r=ve(e);r.sendImmediately=t,r.scheduledSend=s?K:null;let i=await l.post("~/api/v1/mail/message-put",r);window.opener&&"function"==typeof window.opener.confirmMessageSent&&window.opener.confirmMessageSent(r.replyUid,x.replyForwardMode,i.data),x.ignoreMessageChange=!0,window.close()}catch(e){if(x.hasSentMessage=!1,e.data&&e.data.message.indexOf("MAIL_FAILED_ATTACHMENT")>-1){var i=e.data.message.split("||");f.report(o.instant(i[0],{file:i[1]}))}else if(e.data&&e.data.message.indexOf("DOMAIN_SIZE_LIMIT_EXCEEDED|")>-1){var n=e.data.message.split("|");f.report(o.instant("DOMAIN_SIZE_LIMIT_EXCEEDED_WITH_LIMIT",{size:d("bytes")(n[1])}))}else L.showErrorMessage(e)}}(r,e,t)}catch(e){x.hasSentMessage=!1,console.log("[Error Sending Message]:",{err:e})}else f.report(o.instant("NO_TO_ADDRESS"))}function ve(e){var t={};x.replyForwardMode&&(t[x.replyForwardMode]=!0),x.reply.markForFollowup&&(t[4]=x.reply.markForFollowup);var s=we(e),a=j.saveParams||{};return a.to=x.reply.to,a.cc=x.reply.cc,a.bcc=x.reply.bcc,a.date=new Date(Date.now()),a.from=y.user.emailAddress,a.replyTo=x.selectedFromAddress.email,a.subject=null!=x.reply.subject?x.reply.subject:"",a.messageHTML=e,a.attachmentGuid=x.attachmentGuid,a.actions=t,a.readReceiptRequested=x.reply.requestReadReceipt,a.deliveryReceiptRequested=x.reply.requestDeliveryReceipt,a.priority=x.reply.priority,a.excludeFiles=x.reply.removeAttachments,a.inlineToRemove=s,a.selectedFrom=x.selectedFromAddress.source+":"+x.selectedFromAddress.email,a.markForFollowup=x.reply.markForFollowup,(!H.attachEmails||H.attachEmails.length<=1)&&x.message.meetingInfo&&(a.originalMeetingInvite=x.message.meetingInfo.raw),H.attachEmails&&!a.draftUid&&(a.attachedMessages=H.attachEmails),a}function we(e){for(var t=[],s=0;s<G.length;++s)-1===e.indexOf(G[s].link)&&t.push(G[s].cid);for(var a in x.message.originalCidLinks)-1===e.indexOf(x.message.originalCidLinks[a].replace("&","&amp;").replace("&amp;amp;","&amp;"))&&t.push(a);return t}var Ae=_.throttle((function(){x.autoSaveEnabled&&(x.filesUploading>0||x.savingDraft||x.overSizeLimit||Se())}),12e4,{leading:!1});function Ee(){P&&Ae()}async function Se(){if(x.savingDraft)return;if(x.skipDraftCheck=!0,x.filesUploading>0)return;if(0===$(".fr-element").length)return;let e;x.savingDraft=!0;const s=a((function(){e=w.pop({type:"info",title:null,body:o.instant("SAVING_DRAFT"),timeout:0,bodyOutputType:"trustedHtml"})}),3e3);var r,i,n=x.editorScope.getHtml();if(n.indexOf("<")>0){const e=n.substring(0,n.indexOf("<"));if(e&&e.trim()){n=`<div>${e}</div>${n.substring(n.indexOf("<"))}`;try{await x.editorScope.setHtmlPromise(n)}catch(e){console.log("[Error Saving Draft]:setStylesEditorHtml",{err:e})}}}try{r=n,(i=Le(i=$(r))).find("hr#previousmessagehr").css("break-after",""),n=r=i[0].outerHTML}catch(e){console.log("[Error Saving Draft]:setStylesEditorHtml",{err:e})}await Fe();var c=ve(n);c.date=new Date(Date.now()),c.excludeFiles&&(c.draftExcludeFiles=JSON.stringify(c.excludeFiles)),c.draftInlineToRemove=JSON.stringify(we(n)),c.isForward=x.replyForwardMode===R.Forward,c.isReply=x.replyForwardMode===R.Reply,c.originalCidLinks&&(c.originalCidString=JSON.stringify(c.originalCidLinks)),H.attachEmails&&H.attachEmails.length>0&&(c.draftAttachedMessage=c.draftAttachedMessage=JSON.stringify(H.attachEmails)),j.saveParams=c,t.$applyAsync();const m=a((()=>w.clear(e)),5e3);try{!function(e){if(x.skipDraftCheck=!1,null!=e.data.uid){if(j.saveParams.draftUid=parseInt(e.data.uid,10),null!=e.data.mid&&(j.saveParams.draftMid=e.data.mid),j.saveParams.originalCidLinks=e.data.originalCidLinks,j.saveParams.excludeFiles=x.reply.removeAttachments=[],e.data.attachmentInfo&&x.message.attachments&&x.message.attachments.length){const t=Object.keys(e.data.attachmentInfo);for(let s=0;s<t.length;
150++s){const a=e.data.attachmentInfo[t[s]];for(let e=0;e<x.message.attachments.length;++e){const r=x.message.attachments[e];a.actualFileName===r.filename&&(r.partID=Number(t[s]),r.isAttachedMessage=!1)}}}H&&(H.attachEmails=[],j.saveParams.draftAttachedMessage=void 0),a((()=>h.report("DRAFT_SAVED"))),x.messageForm&&x.messageForm.$setPristine()}$.each(x.message.attachments,((e,t)=>t.isNew=!1)),x.messageForm.$setPristine(),t.$applyAsync()}(await l.post(`~/api/v1/mail/draft-put/${x.attachmentGuid}`,c))}catch(e){!function(e){x.skipDraftCheck=!1;const t=e.data||e;if(t&&t.message&&t.message.indexOf("DOMAIN_SIZE_LIMIT_EXCEEDED|")>-1){const e=t.message.split("|");f.report(o.instant("DOMAIN_SIZE_LIMIT_EXCEEDED_WITH_LIMIT",{size:d("bytes")(e[1])}))}else t&&t.message?f.report(o.instant(t.message)):f.report()}(e)}finally{x.savingDraft=!1,a.cancel(m),a.cancel(s),w.clear(e)}}async function Fe(){var e=j.saveParams&&j.saveParams.draftMid;if(e)try{var t=await l.post("~/api/v1/mail/mid-to-uid",{mid:e,folder:j.saveParams.folder||"Drafts",ownerEmailAddress:j.saveParams.ownerEmailAddress});t.data&&t.data.uid&&(j.saveParams.draftUid=t.data.uid)}catch(e){console.log("[Error resolving draft UID]:",{err:e})}}function Ie(e){x.selectedSignature=void 0,x.signatures=x.selectedFromAddress.signatures,x.draftSignatureKey?$.each(x.signatures,(function(e,t){t.guid===x.draftSignatureKey&&(x.selectedSignature=t,x.draftSignatureKey=null)})):$.each(x.signatures,(function(e,t){t.isDefault&&(x.selectedSignature=t)})),x.signatures&&0!=x.signatures.length&&null==x.selectedSignature&&(x.selectedSignature=x.signatures[0]),e||(Z(),Ee(),te())}function be(e,t){e&&null!=t&&e!=t&&V()}function Ce(e,t){e&&t&&e!=t&&Z()}function De(e,t){e&&t&&e!==t&&Ee()}function $e(){pe(),t.$applyAsync(),a((()=>te()),1)}function Le(e){try{var t=m.user.settings.userMailSettings.composeFontSize,s=m.user.settings.userMailSettings.composeFont;"lucida"===s&&(s="lucida sans"),1!==e.length&&(e=$("<div>").append(e)),s&&!e.css("font-family")&&e.css("font-family",s),t&&!e.css("font-size")&&e.css("font-size",t)}catch(e){}return e}function Me(e,t,s){return e.reduce(((a,r,i)=>(r.trim().length>0&&(!t.some((e=>e.email.toLowerCase()===Re(r.toLowerCase())))||i===e.length-1&&0===a.length&&!s)&&a.push(r),a)),[])}function Oe(e){null==e&&(e=y.user.emailAddress),$.each(x.fromAddresses,(function(t,s){if(e.toLowerCase().indexOf(s.email.toLowerCase())>-1)return x.selectedFromAddress=s,Ie(!0),!1}))}function Re(e){return(e=e.trim()).contains("<")?e.substring(e.indexOf("<")+1,e.indexOf(">")).trim():e}function Te(e){var t=function(e){if(!(e=e.trim()).contains("<"))return"";var t=e.substring(0,e.indexOf("<")).trim();return _.trim(t,'"')}(e);return t?'"'+t+'" <'+Re(e)+">":_.trim(Re(e),"<>")}function _e(e){try{const t=$(`<div>${e}</div>`);return t.find("img").each((function(){const e=$(this);if(!e.attr("width")&&e.css("width")){const t=e.css("width");parseInt(t)&&e.attr("width",parseInt(t))}if(!e.attr("height")&&e.css("height")){const t=e.css("height");parseInt(t)&&e.attr("height",parseInt(t))}})),t.html()}catch(t){return e}}function Ne(){if(!x.selectedSignature||!x.selectedSignature.text)return'<div id="divSignature" contenteditable="false"><span> </span></div>';let e='<div id="divSignature" contenteditable="false">'+x.selectedSignature.text.split('"attlinkedfileid:').join(`"${location.origin}${stSiteRoot}attachedFile?data=`)+"</div>";try{e=_e(e)}catch(e){console.log("error parsing signature: ",e)}return e}function ke(e){var t="<span><b>"+o.instant("FROM")+"</b>: "+d("htmlEscape")(e.from)+"<br/><b>"+o.instant("SENT")+"</b>: "+d("date")(e.date,"short")+"<br/><b>"+o.instant("TO")+"</b>: "+d("htmlEscape")(e.to)+"<br/>";return e.isCalendarMessage||(t+=e.cc?"<b>"+o.instant("CC")+"</b>: "+d("htmlEscape")(e.cc)+"<br/>":""),t+=(null!=e.subject?"<b>"+o.instant("SUBJECT")+"</b>: "+d("htmlEscape")(e.subject):"")+"<br/>",e.isCalendarMessage&&(t+="<b>"+o.instant("WHEN")+"</b>: "+d("date")(moment.tz(e.meetingInfo.start.dt,e.meetingInfo.start.tz).toDate(),"short")+"<br/>",t+="<b>"+o.instant("WHERE")+"</b>: "+d("htmlEscape")(e.meetingInfo.location)),t+="</span><br/><br/>"}}e.$inject=["$rootScope","$scope","$stateParams","$timeout","$element","$mdDialog","$mdConstant","$translate","$http","$q","$filter","coreData","emailFunctions","emailNavigation","spinnerFactory","errorHandling","successHandling","userDataService","userTimeService","toaster","restrictedSenders","apiCategories","coreDataCategories","coreDataContacts","themesService","coreDataSettings","coreDataFileStorage","fileInfoProvider","errorMessageService","emailValidationService","claimsService"],angular.module("smartermail").component("messageCompose",{templateUrl:"app/email/compose/compose.component.html",controller:e})}();
151!function(){"use strict";function e(e,t,a,r,i,n,o,s){var l=this;l.addressSeparatorKeys=[r.KEY_CODE.ENTER,r.KEY_CODE.TAB,r.KEY_CODE.COMMA,-59];var c=null;function u(e){return(e=e.trim()).contains("<")?e.substring(e.indexOf("<")+1,e.indexOf(">")).trim():e}l.doAutocompleteQuery=function(){return l.contacts.length>0?l.autocompleteQueryAll(l.autocompleteData.searchString,l.recipientList):l.autocompleteQuerySearch(l.autocompleteData.searchString,l.recipientList)},l.autocompleteTransformChip=function(e){try{let d=l.recipientList;
151if(!e.source||"CONTACT_GROUP"!==e.source.toUpperCase())if(e.emailAddress){if(!s.isValidEmail(e.emailAddress))return null}else for(var t=new RegExp(",|;"),a=e.split(t),r=a.length-1;r>-1;--r){a[r]=a[r].trim();var i=u(a[r]);if(s.isValidEmail(i)){if(i){for(var n=d,o=!1,c=0;c<n.length;++c)if(n[c].emailAddress===i){o=!0;break}o||d.push({emailAddress:i,formatted:i,type:"new"})}}else a.splice(r,1)}return angular.isObject(e)?e:null}finally{l.onRecipientListChanged()}},l.autocompleteRemoveChip=async function(e,r,i){r.preventDefault(),r.stopPropagation();try{var s=JSON.stringify({username:n.user.username,idsToDelete:[e.id]});await a.post("~/api/v1/settings/auto-complete-delete",s),l.contacts.length>0&&(l.contacts=$.grep(l.contacts,(t=>t.id!==e.id)));const r=i.$parent.$mdChipsCtrl.autocompleteCtrl.scope.$mdAutocompleteCtrl,o=$.grep(r.matches,(t=>t.id!==e.id));t.$applyAsync((function(){r.matches=o}))}catch(e){o.report(e)}return!1},l.autocompleteOnChipRemoved=function(){l.onRecipientListChanged()},l.autocompleteQueryAll=async function(e,t){if(e.indexOf(";")>-1||e.indexOf(",")>-1)return null;var a=e?l.contacts.filter(function(e){const t=e.toLowerCase();return function(e){const a=e.emailAddress.toLowerCase(),r=e.displayAs.toLowerCase();return a&&a.indexOf(t)>=0||r&&r.indexOf(t)>=0}}(e)):l.contacts,r={},i=/^mailto:/gi;angular.forEach(a,(function(e){e.emailAddress=e.emailAddress.replace(i,"");for(var a=0;a<t.length;++a){if(t[a].formatted===e.formatted)return}var n=r[e.formatted];n?"CONTACT"===e.source&&"CONTACT"!==n.source||"GAL"===e.source&&"SENT_ITEM"===n.source?r[e.formatted]=e:n.emailAddress===n.displayAs&&e.displayAs&&e.displayAs!==e.emailAddress&&(n.displayAs=e.displayAs,n.formatted=`"${n.displayAs}" <${n.emailAddress}>`):r[e.formatted]=e}));var n=[];return angular.forEach(r,(function(e){n.push(e)})),n},l.autocompleteQuerySearch=async function(e,t){if(e.indexOf(";")>-1||e.indexOf(",")>-1)return null;return new Promise((function(r){c&&i.cancel(c),c=i((async function(){var i={search:e,requestLimit:200,unpackGroups:!1},n=[];await a.post("~/api/v1/settings/auto-complete-list-search/",i).then((function(e){var a=e.data.emailData,i={},o=/^[mM][aA][iI][lL][tT][oO]:/g;angular.forEach(a||[],(function(e){e.emailAddress=e.emailAddress.replace(o,"");for(var a=0;a<t.length;++a){if(t[a].formatted===e.formatted)return}var r=i[e.formatted];r?"CONTACT"===e.source&&"CONTACT"!==r.source||"GAL"===e.source&&"SENT_ITEM"===r.source?i[e.formatted]=e:r.emailAddress===r.displayAs&&e.displayAs&&e.displayAs!==e.emailAddress&&(r.displayAs=e.displayAs.replaceAll("\\","\\\\").replaceAll('"','\\"'),r.formatted=`"${r.displayAs}" <${r.emailAddress}>`):i[e.formatted]=e})),angular.forEach(i,(function(e){n.push(e)})),r(n)}),(function(){r([])}))}),500)}))}}e.$inject=["$rootScope","$scope","$http","$mdConstant","$timeout","userDataService","errorHandling","emailValidationService"],angular.module("smartermail").component("messageRecipientAutocomplete",{templateUrl:"app/email/compose/recipient-autocomplete.component.html",controller:e,bindings:{recipientList:"=",onRecipientListChanged:"&",autocompleteData:"=",autocompleteId:"<",autocompleteInputId:"<",contacts:"="}})}();
152!function(){"use strict";function e(e,s,a,t,n,o,i,c,l,r,m,d,g,h,w){var A=this,u=r.parsePopoutPacket(a.packet);function T(e){80==e.keyCode&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),A.message.mode=A.mode,c.showPrintPopup(A.message))}function E(e,a){var n=document.getElementById("archiveViewFrame");
152n&&n.contentWindow&&n.contentWindow.setHTML?(e.translations=e.translations||{},e.translations.MESSAGE_HAS_NO_TEXT_CONTENT=i.instant("MESSAGE_HAS_NO_TEXT_CONTENT"),e.translations.MESSAGE_HAS_NO_HTML_CONTENT=i.instant("MESSAGE_HAS_NO_HTML_CONTENT"),e.translations.MESSAGE_ENCRYPTED_CANNOT_VIEW=i.instant("MESSAGE_ENCRYPTED_CANNOT_VIEW"),e.translations.MESSAGE_SIGNED=i.instant("MESSAGE_SIGNED"),n.contentWindow.setHTML(e,a),s.$applyAsync((()=>A.iFrameLoaded=!0))):t((function(){E(e,a)}),200)}A.loading=!0,A.message=null,A.isQuarantineMessage=!!u.quarantine,A.iFrameLoaded=!1,A.messageDoesNotExist=!1,A.mode=u.mode||"html",A.addressShowLimit=2,A.showAllToAddresses=!1,A.showAllCcAddresses=!1,A.showAllBccAddresses=!1,A.closeWindow=function(){window.close()},A.onDownloadRaw=async function(){try{await l.downloadEmlFile(u.searchGuid,u.uid)}catch(e){d.report(e)}},A.viewAsClicked=async function(e){try{A.mode=e,"raw"!==e||A.message.raw||(A.message.raw=await l.loadRawContent(u.searchGuid,u.uid)),E(A.message,A.mode)}catch(e){d.report(e)}},A.showAttachmentsModal=async function(){try{await o.show({locals:{message:A.message},controller:"emailAttachmentsController",templateUrl:"app/email/modals/attachments.dlg.html",clickOutsideToClose:!0})}catch(e){}},A.copyContentToClipboard=async function(){try{let e="";switch(A.mode){case"text":e=A.message.messagePlainText;break;case"raw":e=A.message.raw;break;default:throw"View type cannot be copied to clipboard"}navigator.clipboard.writeText(e),g.report("COPIED_TO_CLIPBOARD")}catch(e){d.report(e)}},A.copyArchiveMessageToMailbox=async function(e){try{await l.copyToMailbox(u.searchGuid,u.uid,e)&&g.report()}catch(e){d.report(e)}},A.toggleShowMoreBcc=()=>A.showAllBccAddresses=!A.showAllBccAddresses,A.toggleShowMoreCc=()=>A.showAllCcAddresses=!A.showAllCcAddresses,A.toggleShowMoreTo=()=>A.showAllToAddresses=!A.showAllToAddresses,A.needsComma=function(e,s){return e<s-1},A.$onInit=function(){$(document).on("keydown",T),n.addClass("message-view-archive"),h.init().then((function(){!async function(){const a=e.spinner||new m;try{a.show(),A.loading=!0;const e=await l.loadMessage(u.searchGuid,u.uid),s="["+i.instant("MESSAGE_HAS_NO_TEXT_CONTENT")+"]",t="["+i.instant("MESSAGE_HAS_NO_HTML_CONTENT")+"]";if(A.messageDoesNotExist=!e,e){A.message=e,A.message.raw=e.raw;let a=e.messagePlainText;if(A.message.messagePlainText=e.messagePlainText||s,e.messageHTML)A.message.messageHTML=e.messageHTML;else{const e=/\r\n|\n/gm,s=$("<div>").text(a||t).html();A.message.messageHTML=s.replace(e,"<br>")}if(A.message.date=new Date(e.date),A.hadUnsafeCode=e.hadUnsafeCode,A.htmlIsStillUnsafe=e.htmlIsStillUnsafe,A.imagesBlocked=e.imagesBlocked,A.cleansedFromAddress=e.cleansedFromAddress,A.message.meetingInfo&&(w.loadMeetingInfo(A.message.meetingInfo),A.message.meetingInfo.prop=w.prop,A.message.messagePlainText=A.message.meetingInfo.raw,A.message.raw=A.message.meetingInfo.raw),A.message&&A.message.attachments.length>1){let e=0;for(let s=0;s<A.message.attachments.length;s++)e+=A.message.attachments[s].size;A.message.attachments.push({allAttachments:!0,filename:i.instant("FILENAME_ALL_ATTACHMENTS"),size:e,link:A.message.allAttachmentsLink})}h.convertLocalToUserTime(A.message.date).then((function(e){e.getSeconds()>=30&&e.setMinutes(e.getMinutes()+1),e.setSeconds(0),A.message.userDate=e,A.message.userDataMoment=moment(e).calendar()}),(function(){})),E(A.message,A.mode)}}catch(e){A.messageDoesNotExist=!0,d.report()}finally{A.loading=!1,a.hide()}s.$applyAsync((function(){}))}()}))},A.$onDestroy=function(){$(document).off("keydown",T)}}e.$inject=["$rootScope","$scope","$stateParams","$timeout","$element","$mdDialog","$translate","emailFunctions","emailArchiveFunctions","emailNavigation","spinnerFactory","errorHandling","successHandling","userTimeService","meetingInfoData"],angular.module("smartermail").component("messageViewArchive",{templateUrl:"app/email/archive/view-archive.component.html",controller:e})}();
153!function(){"use strict";function e(e,n){var t=this;function i(){const o=document.getElementById("meetingDescriptionFrame");if($(o).css("height","0"),o&&o.contentWindow&&o.contentWindow.setHTML){t.message.messageHTML=t.message.messageHTML.replaceAll(/\n/g,"</br>"),t.message.translations=t.message.translations||{},t.message.translations.MESSAGE_HAS_NO_TEXT_CONTENT||(t.message.translations.MESSAGE_HAS_NO_TEXT_CONTENT=n.instant("MESSAGE_HAS_NO_TEXT_CONTENT")),t.message.translations.MESSAGE_HAS_NO_HTML_CONTENT||(t.message.translations.MESSAGE_HAS_NO_HTML_CONTENT=n.instant("MESSAGE_HAS_NO_HTML_CONTENT")),o.contentWindow.setHTML(t.message,"invite");var s=o.contentWindow.setHTML(t.message,"invite");const a=$(o.contentDocument||o.contentWindow.document);function c(){if(!r(a))return void e(c,50);const n=a.outerHeight();$(o).css("height",`${n||s}px`),t.onIframeLoaded()}function r(e){const n=e.find("img[src]:not(empty)");if(0===n.length)return!0;for(let e=0;e<n.length;e++)if(!n[e].complete||0===n[e].naturalHeight)return!1;return!0}$(o).ready((function(){e(c,50)}))}else t.resizeTries<10&&(t.resizeTries++,e((function(){i()}),100))}t.resizeTries=0,t.acceptInvite=function(e){t.onAcceptInvite(e,t.meetingInfo)},t.tentativeAcceptInvite=function(e){t.onTentativeAcceptInvite(e,t.meetingInfo)},t.acceptProposal=function(e){t.onAcceptProposal(e,t.meetingInfo)},t.declineInvite=function(e){t.onDeclineInvite(e,t.meetingInfo)},t.checkAvailability=function(e){t.onCheckAvailability(e,t.meetingInfo)},t.showInviteDetails=function(e){t.onShowInviteDetails(e,t.meetingInfo)},t.deleteInvite=function(e){t.onDeleteInvite(e,t.meetingInfo)}
153,t.openProposeChangesModal=function(e){t.onOpenProposeChangesModal(e,t.meetingInfo)},t.$onChanges=function(e){t.meetingInfo&&(t.isSentInvite=!(t.meetingInfo.isReply||t.meetingInfo.isCancel||t.meetingInfo.isCounter)&&t.meetingInfo.isOrganizer,t.resizeTries=0,i(t.message))},t.$onInit=function(){}}e.$inject=["$timeout","$translate"],angular.module("smartermail").component("messageCalendarInvite",{templateUrl:"app/email/message-view-components/message-calendar-invite.component.html",controller:e,bindings:{message:"<",meetingInfo:"<",viewMode:"<",onAcceptInvite:"&",onAcceptProposal:"&",onTentativeAcceptInvite:"&",onOpenProposeChangesModal:"&",onDeclineInvite:"&",onCheckAvailability:"&",onShowInviteDetails:"&",onDeleteInvite:"&",onIframeLoaded:"&"}})}();
154!function(){"use strict";function e(e,a,s,t,r,o,n,i,l,d,m){var c=this;function g(e,s){try{if(c.avatarUrl=null,c.avatarLoaded=!1,!s.avatarUrl)return;if(c.lastAvatarLoaded=s,!c.message||!c.message.folder)return;if(!c.messageData.message||!c.messageData.message.folder)return;c.message.isVerifiedSender&&c.messageData.message.fromAddress.email.toLowerCase()==s.targetEmailAddress&&(c.messageData.message.avatarUrl=s.avatarUrl,c.avatarUrl=s.avatarUrl,c.avatarLoaded=!0,a.$applyAsync((function(){})))}catch(e){console.error(e)}}c.addressShowLimitCount=2,c.showMoreToAddresses=!1,c.showMoreCCAddresses=!1,c.showMoreBCCAddresses=!1,c.lastAvatarLoaded=void 0,c.avatarUrl="",c.avatarLoaded=!1,c.hideHeader=!1,c.twoRows={},c.isMobile=window.innerWidth<=736,c.copyContentToClipboard=async function(){try{let e="";switch(c.messageData.mode){case"text":e=c.messageData.message.messagePlainText;break;case"raw":e=c.messageData.message.raw;break;case"hdr":e=c.messageData.message.hdr;break;case"header":e=c.messageData.message.header;break;default:throw"View type cannot be copied to clipboard"}navigator.clipboard.writeText(e),i.report(r.instant("COPIED_TO_CLIPBOARD"))}catch(e){n.report(e)}},c.showTasksModal=async function(){try{await s.show({locals:{message:c.message},controller:"emailTasksController",templateUrl:"app/email/modals/tasks.dlg.html",clickOutsideToClose:!0})}catch(e){}},c.showTrackersModal=async function(){try{await s.show({locals:{message:c.message},controller:"foundTrackersController",templateUrl:"app/email/modals/found-trackers.dlg.html",clickOutsideToClose:!0})}catch(e){}},c.showAttachmentsModal=async function(){try{await s.show({locals:{message:c.message},controller:"emailAttachmentsController",templateUrl:"app/email/modals/attachments.dlg.html",clickOutsideToClose:!0})}catch(e){}},c.sendReadReceipt=async function(){try{var e={UID:c.message.uid,folder:c.message.folder,ownerEmailAddress:c.message.ownerEmailAddress};c.message.requestingReadReceipt=!1,await t.post("~/api/v1/mail/readreceipt/send",e)}catch(e){}},c.showMoreToggleTo=function(){c.showMoreToAddresses=!c.showMoreToAddresses},c.showMoreToggleCc=function(){c.showMoreCCAddresses=!c.showMoreCCAddresses},c.showMoreToggleBcc=function(){c.showMoreBCCAddresses=!c.showMoreBCCAddresses},c.selectedMessageCategories=function(){return(c.messageCategories||[]).filter((e=>e.selected||!1))},c.toggleFlag=function(){"function"==typeof c.onToggleFlag&&c.onToggleFlag()},c.categoryColorByName=function(e){const a=(s=e,s?c.messageCategories.find((e=>e.name.toUpperCase()===s.toUpperCase())):null);var s;if(!a||-1==a.colorIndex)return null;const t=d.getCategoryColor(a.colorIndex);return t&&t.rgb?t.rgb:null},c.unsubMessage=function(s){var i="",d=void 0,m=setTimeout((function(){d=l.pop({type:"info",title:null,body:r.instant("UNSUBSCRIBING"),timeout:0}),a.$applyAsync((function(){}))}),500);function g(){clearTimeout(m),d&&l.clear(d),a.$applyAsync((function(){}))}s.startsWith("mailto:")?(i="mailto",s=s.substring(7),f(!0)):s.startsWith("oneclick:")?(i="oneclick",s=u(s.substring(9)),async function(){try{const e=new FormData;e.append("List-Unsubscribe","One-Click"),await fetch(s,{method:"POST",body:e,mode:"no-cors"}),g(),f(!0)}catch(e){g(),l.pop({type:"error",title:null,body:r.instant("UNSUBSCRIBE_REQUEST_FAILED"),timeout:5e3})}}()):s.startsWith("link")&&(i="link",s=u(s.substring(5)),function(){function e(e,a,s,t){var r=window.open(e,a,s),o=window.setInterval((function(){try{(null==r||r.closed)&&(window.clearInterval(o),t(r))}catch(e){}}),1e3);return r}g(),e(s,"_blank","popup,width=600,height=600,noopener,noreferrer",(()=>{f(!1)}))}());function u(e){return e.toLowerCase().startsWith("http:")&&"https:"==document.location.protocol.toLowerCase()&&(e=e.replace("http:","https:")),e}async function f(s){var d=JSON.stringify({uid:c.message.uid,ownerEmailAddress:c.message.ownerEmailAddress,folder:c.message.folder});try{if(await t.post("~/api/v1/mail/unsubscribe-message/"+i,d),s){const e=r.instant("UNSUBSCRIBED"),a=r.instant("UNSUBSCRIBE_REQUEST_SUCCEEDED");o((()=>{c.message.alreadyUnsubscribed=!0,l.pop("success",e,a)}))}}catch(e){n.report(failure)}finally{g(),e.spinner?e.spinner.hide():a.spinner&&a.spinner.hide()}}},c.hideEmailHeader=function(){c.hideHeader=!c.hideHeader},c.removedDelayedMessage=async function(){let e={Uids:[c.messageData.message.uid],IsScheduled:!0,KeepInFolder:!1};try{await t.post("~/api/v1/mail/message-undo",e),i.report(r.instant("REMOVE_SCHEDULED_MESSAGE_SUCCESS"))}catch(e){n.report(e)}},c.$onInit=function(){},c.$onChanges=function(e){const a=c.message&&c.message.folder&&c.message.folder.toLowerCase()||"";c.isInScheduled=-1!==a.indexOf("scheduled"),c.isInJunk=-1!==a.indexOf("junk e-mail"),c.isInDeleted=-1!==a.indexOf("deleted items"),c.isSentItems=-1!==a.indexOf("sent items"),c.isDraftsFolder=-1!==a.indexOf("drafts");let s=c.message&&c.message.fromAddress&&c.message.fromAddress.email&&c.message.fromAddress.email.toLowerCase(),t=c.lastAvatarLoaded&&c.lastAvatarLoaded.targetEmailAddress&&c.lastAvatarLoaded.targetEmailAddress.toLowerCase();c.allowShowImagesAlways=c.messageData.message&&c.messageData.message.trustInfo&&(c.messageData.message.trustInfo.authenticated||1!==c.messageData.message.trustInfo.dmarcStatus&&1!==c.messageData.message.trustInfo.spfStatus&&1!==c.messageData.message.trustInfo.dkimStatus),s!=t&&(c.lastAvatarLoaded=null,t=null),c.avatarLoaded=!!c.message.messageID,c.avatarUrl="",c.message&&c.message.isVerifiedSender&&c.message.avatarUrl?(c.avatarLoaded=!0,c.avatarUrl=c.message.avatarUrl,c.lastAvatarLoaded={avatarUrl:c.message.avatarUrl,targetEmailAddress:s}):c.lastAvatarLoaded&&c.lastAvatarLoaded.targetEmailAddress&&c.lastAvatarLoaded.targetEmailAddress.toLowerCase()==s&&g(null,c.lastAvatarLoaded),function(){if(c.flagStatusString=null,c.flagRecipientString=null,!c.message)return;const e=c.message.swappedToDoInfo,a=c.message.flagInfo;e&&c.message.isDraft?(c.flagStatusString=s(e.flagTo,e.startDate,e.dueDate,e.reminderSignalTime),e.recipientFlagTo&&(c.flagRecipientString=t("RECIPIENTS_RECEIVE",e.recipientFlagTo,e.recipientReminderSignalTime))):e&&a&&!c.message.isDraft?(c.flagStatusString=s(a.request,a.startDate,a.dueDate,a.reminderTime),e.recipientFlagTo&&(c.flagRecipientString=t("RECIPIENTS_RECEIVED",e.flagTo,e.reminderSignalTime))):!e&&a&&a.request&&(c.flagStatusString=s(a.request,a.startDate,a.dueDate,a.reminderTime));function s(e,a,s,t){let o=[];return a&&o.push(r.instant("START_BY_DATE",{dt:m("date")(a,"shortDate")})),s&&o.push(r.instant("DUE_BY_DATE",{dt:m("date")(s,"shortDate")})),t&&o.push(r.instant("REMINDER_ON_DATE_AT_TIME",{date:m("date")(t,"shortDate"),time:m("date")(t,"shortTime")})),o.length?e+": "+o.join(", "):e}function t(e,a,s){let t=r.instant(e)+": "+a;return s&&(t=t+" "+r.instant("BY_DT_AT_TIME",{date:m("date")(s,"shortDate"),time:m("date")(s,"shortTime")})),t}}()},angular.element(window).on("resize",(function(){a.$apply((function(){c.isMobile=window.innerWidth<=736,c.isMobile||(c.hideHeader=!1)}))})),a.$on("mail.avatarLoaded",(function(e,a){g(e,a)}))}e.$inject=["$rootScope","$scope","$mdDialog","$http","$translate","$timeout","errorHandling","successHandling","toaster","coreDataCategories","$filter"],angular.module("smartermail").component("messageHeader",{templateUrl:"app/email/message-view-components/message-header.component.html",controller:e,bindings:{message:"<",messageData:"<",messageCategories:"<",sharedMessageCategories:"<",isReadOnly:"<",imagesBlocked:"<",cleansedFromAddress:"<",allowRemoteForMessage:"&",allowRemoteForMessageAll:"&",activeTrackersCount:"<",onToggleFlag:"&",addToFilter:"&",createFilter:"&",activationResolver:"<"}})}();
155!function(){"use strict";function e(e,t,s,a,n,r){var o=this;function i(e){const t=e.getBoundingClientRect();return{left:t.left+window.scrollX,top:t.top+window.scrollY}}o.showTrustMenu=!1,o.isForcedMode=!1,o.spamWeight="None",o.flipTrustFloater=function(e,t){if(o.isForcedMode||o.isDraft())return;if(t){let t=document.getElementsByClassName("trust-floater"),s=e.currentTarget,a=document.getElementById("headergrid").getBoundingClientRect();for(let e=0;e<t.length;e++){let n=t[e];if("rtl"==document.body.dir||"RTL"==document.body.dir){let e=70,t=i(s).right-a.right,r=-1*(t-20);e>t?(n.style.right=r+"px",n.style.left=""):(n.style.right="-50px",n.style.left="")}else{let e=70,t=i(s).left-a.left,r=-1*(t-20);e>t?(n.style.left=r+"px",n.style.right=""):(n.style.left="-50px",n.style.right="")}}}o.showTrustMenu=t},o.forceTrustFloater=function(e){},o.isDraft=function(){return!!(o.messageData&&o.messageData.message&&o.messageData.message.isDraft)},o.$onInit=function(){}
155,o.$onChanges=function(e){!function(){if(o.spamWeight="None",!o.messageData||!o.messageData.message||!o.messageData.message.header)return;var e="X-SmarterMail-SpamAction: ",t=o.messageData.message.header.indexOf(e),s=o.messageData.message.header.indexOf(" | ",t);if(t>-1&&s>-1){var a=o.messageData.message.header.substring(t+e.length,s);o.spamWeight=a}}()}}e.$inject=["$rootScope","$scope","$state","$log","$http","$filter"],angular.module("smartermail").component("senderTrustInfo",{templateUrl:"app/email/message-view-components/sender-trust-info.component.html",controller:e,transclude:!1,bindings:{messageData:"<"}})}();
156!function(){"use strict";function e(e){var n=this;function t(){n.onHidden(),$(".st-click-catcher").remove(),e((function(){$(".user-with-context-menu").remove()}),150)}n.$onInit=function(){!function(){const e=document.createElement("div");e.classList.add("st-click-catcher"),e.addEventListener("contextmenu",(e=>(e.preventDefault(),!1))),e.addEventListener("mouseup",(e=>{t()})),$("body").append(e)}()}
156,n.onOptionClicked=function(e,n){n.func(e),t()}}e.$inject=["$timeout"],angular.module("smartermail").component("userWithContextMenu",{templateUrl:"/interface/app/email/message-view-components/user-with-context-menu.component.html",controller:e,bindings:{options:"<",email:"<",onHidden:"&"}})}();
157!function(){"use strict";function e(e,t,s,a,n,i,o,r,l,c,u,m,d,p,f,g,h,w,S,v,C,y,A,T,D,x,L){var E=this;function F(){return function(e,t){if(null!=E.isTrusted&&!E.isTrusted&&(!E.isChat||E.displayEmail)&&e&&t)return s(e)+" <"+t.trim()+">";if(E.isGroup())return e.split("|")[0].trim();if(e&&t!==e)return s(e);if(t)return t.trim();if(e)return s(e);return e;function s(e){return e.trim().replace(/:$/gm,"")}}(E.name,E.email)}function N(){var e=[],t=E.email,s=(E.name,E.isChatAliasList);if(!t)return null;E.isSelf=k(E.email);const a=E.isSelf;E.isChat&&E.isAlias&&e.push({text:n.instant("VIEW_MEMBERS"),func:H,order:20}),e.push({text:n.instant("SEND_EMAIL"),func:R,order:10}),!a&&D.enabled&&D.getUserStatus(t)&&!s&&e.splice(1,0,{text:n.instant("START_CHAT"),func:W,order:11}),a||E.isChat||s||e.push({text:n.instant("ADD_CONTACT"),func:b,order:20}),a||E.isAlias||e.push({text:n.instant("INVITE_TO_APPOINTMENT"),func:U,order:20});let i=-1!=window.location.href.indexOf("#/popout/");if("from"==E.type&&!a&&!E.isChat&&!i){if(e.push({divider:!0}),E.showTrust){var o="NONE"!==E.trustSource&&"USER"!==E.trustSource;E.isBlocked||E.isTrusted||o||e.push({text:n.instant("TRUST_SENDER"),func:I,order:20}),E.isTrusted&&!o&&e.push({text:n.instant("UNTRUST_SENDER"),func:_,order:20})}E.isBlocked?e.push({text:n.instant("UNBLOCK_SENDER"),func:B,order:20}):E.isTrusted||e.push({text:n.instant("BLOCK_SENDER"),func:M,order:20}),i||("function"==typeof E.createFilter&&e.push({text:n.instant("CREATE_FILTER"),func:z,order:20}),"function"==typeof E.addToFilter&&e.push({text:n.instant("ADD_SENDER_TO_FILTER"),func:J,order:20}))}return e}function k(e){if(!e)return!1;return v.convertEmailFromDomainAlias(e).email==d.user.emailAddress}function O(e){$(e.target).closest(".user-with-context-menu").length||$(e.target).closest(s).length||t.$applyAsync((()=>{E.onMenuHidden()}))}function R(){const e=E.email,t=(E.name,E.displayAs||E.name),s=A.makeComposePacket({to:{emailAddress:e,displayAs:t}}),a=A.getPopoutComposeUrl(s);window.open(a,"","resizable=1, "+S.dimensions.email)}async function b(){const e=E.email,t=E.name;if((await p.getAllContacts()).results.some((t=>t.emailAddressList.includes(e)))){l.show({controller:"contactAlreadyExistsController",controllerAs:"ctrl",templateUrl:"app/email/modals/contact-already-exists.dlg.html",clickOutsideToClose:!0}).then((function(s){var a=window.location.href.substring(0,window.location.href.indexOf("#/"));f.setPopoutData({primaryEmail:e,displayAs:t&&t.length>0?t:e,activateSave:!0}),window.open(a+"#/popout/contact/new","new","resizable=1, "+S.dimensions.contact)}),(function(){}))}else{var s=window.location.href.substring(0,window.location.href.indexOf("#/"));f.setPopoutData({primaryEmail:e,displayAs:t&&t.length>0?t:e,activateSave:!0}),window.open(s+"#/popout/contact/new","new","resizable=1, "+S.dimensions.contact)}}function U(){const e=E.email,t=E.name;localStorage.apptPopout=JSON.stringify({owner:null,calId:null,id:null}),e!==d.user.emailAddress&&(localStorage.apptPopout=JSON.stringify({data:{organizerName:d.user.displayName,organizerEmail:d.user.emailAddress,attendees:[{name:t,email:e,status:0,conflict:!1,nonavail:null}]}})),window.open(stSiteRoot+"#/popout/appointment/new","_blank","resizable=1, "+S.dimensions.calendar)}async function I(){try{const s=E.email.toLowerCase();var e=!1;if(E.messageFrom){var t=E.messageFrom.toLowerCase();e=t===s||t.indexOf("<"+s+">")>-1}await y.trustSender(null,E.messageFolder,[E.messageUid],e),E.isTrusted=!0,E.messageData&&E.messageData.message&&E.messageData.message.trustInfo&&E.messageData.message.trustInfo.trustedSenderLevel<1&&(E.messageData.message.trustInfo.trustedSenderLevel=1),o((function(){E.options=N()}))}catch(e){h.report(e)}}async function _(){try{const s=E.email.toLowerCase();var e=!1;if(E.messageFrom){var t=E.messageFrom.toLowerCase();e=t===s||t.indexOf("<"+s+">")>-1}await y.untrustSender(null,E.messageFolder,[E.messageUid],e),E.isTrusted=!1,E.messageData&&E.messageData.message&&E.messageData.message.trustInfo&&(E.messageData.message.trustInfo.trustedSenderLevel=0),o((function(){E.options=N()}))}catch(e){h.report(e)}}async function M(){try{const a=E.email.toLowerCase();var e={};e[a]=[E.messageUid];var t=!1;if(E.messageFrom){var s=E.messageFrom.toLowerCase();t=s===a||s.indexOf("<"+a+">")>-1}await y.blockSender(null,E.messageFolder,e,!1,!1,t)&&(E.isBlocked=!0,o((function(){E.options=N()})))}catch(e){h.report(e)}}async function B(){try{const a=E.email.toLowerCase();var e={};e[a]=[E.messageUid];var t=!1;if(E.messageFrom){var s=E.messageFrom.toLowerCase();t=s===a||s.indexOf("<"+a+">")>-1}await y.unblockSender(null,E.messageFolder,e,t),E.isBlocked=!1,o((function(){E.options=N()}))}catch(e){h.report(e)}}function P(e){var t=E.contactCategories.flatMap((e=>e.contacts)).find((t=>t.jid.toLowerCase()===e.toLowerCase()));
157return t&&(t.name||t.displayJid)}async function H(e){try{const r=E.email.split("@")[0];var t=m.user.emailAddress;e.username=e.username||e.name;const c=await x.settingsData.aliases;for(var s={name:"",targets:[]},a=0;a<c.length;a++){if(null!=c[a].targets)for(var n=0;n<c[a].targets.length;n++){const e=c[a].targets[n];if(e&&"function"==typeof e.toLowerCase){if(P(e)||e.toLowerCase()==t.toLowerCase()||(c[a].targets.splice(n,1),n--),e.toLowerCase()===t.toLowerCase()){var i=e;c[a].targets.splice(n,1),c[a].targets.unshift(i)}}else console.error("Invalid target:",e)}if(r.toLowerCase()===c[a].name.toLowerCase()){s=c[a];break}}var o=[];null!=s.targets&&(o=s.targets.map((function(e){var t=E.contactCategories.flatMap((e=>e.contacts)).find((t=>t.jid.toLowerCase()===e.toLowerCase()));return t?t.name||t.displayJid:e})).filter(Boolean)),l.show({locals:{name:s.name,targets:s.targets||[],includeAllDomainUsers:s.includeAllDomainUsers,userNames:o,isChatAliasList:!0},controller:"aliasSummaryController",controllerAs:"ctrl",templateUrl:"app/contacts/modals/alias-summary.dlg.html",clickOutsideToClose:!1})}catch(e){h.report(e),console.error("Error in viewMembers:",e)}}function z(){"function"==typeof E.createFilter&&E.createFilter()}function J(){"function"==typeof E.addToFilter&&E.addToFilter()}function W(e){D.openLink(e,E.email)}E.open=!1,E.options=[],E.status=null,E.updateStatus=function(){E.isSelf=k(E.email),!E.isAlias&&(E.isChatAliasList&&!E.isChat||!E.isChatAliasList&&!E.isChat&&E.email)&&(E.email&&!E.isSelf&&D.enabled&&(E.status=D.getUserStatus(E.email)),E.isSelf&&E.isChatAliasList&&(E.status=L.parameters.status));E.fullDisplayAddressText=F(),E.options=N(),t.$applyAsync()},E.fullDisplayAddress=F,E.features={},E.isBlocked=!1,E.isTrusted=!1,E.trustSource="NONE",E.openContextMenu=function(e){if(E.open)return;var a=c('<user-with-context-menu class="user-with-context-menu st-context-menu" \n        ng-class="{\'context-open\': $ctrl.open}"\n        email="$ctrl.email"\n        options="$ctrl.options"\n        on-hidden="$ctrl.onMenuHidden()"></user-with-context>')(t),n=$("#context-menu-area");if(!n||!n.length)return;
157n.append(a),o((function(){var e=$(a),t=$(s).offset(),n=t.top+22;if(n+e.height()>window.innerHeight){var i=n-13+(window.innerHeight-(n+e.height()));i<0&&(i=5),e[0].style.top=i+"px"}else e[0].style.top=n+"px";var o=e.width();t.left+o>window.innerWidth?e[0].style.left=t.left-5+(window.innerWidth-(t.left+o))+"px":e[0].style.left=t.left+"px",E.open=!0,$(document).on("click",O)}))},E.onMenuHidden=function(e){E.open=!1,$(document).off("click",O)},E.isGroup=function(){return!E.email&&E.name&&-1!==E.name.indexOf("|")},E.fullDisplayAddressText=F(),E.contact=null,E.isSelf=!1,E.isActivated=!1,async function(){E.contactCategories=L.contactCategories,t.$on("user-context-menu.options-changed",(()=>E.updateStatus())),t.$watch("[name, email, isTrusted]",(()=>E.fullDisplayAddressText=F())),E.isChat||t.$on("xmpp.contacts-changed",(()=>E.updateStatus()));try{await m.init();const s=v.isBlockedSender(E.email);if("from"==E.type){if(E.messageFrom&&E.email&&(E.messageFrom.toLowerCase()===E.email.toLowerCase()||E.messageFrom.toLowerCase().indexOf("<"+E.email.toLowerCase()+">")>-1)&&E.messageData&&E.messageData.message&&E.messageData.message.trustInfo)switch(E.isTrusted=E.messageData.message.trustInfo.trustedSenderLevel>0,E.messageData.message.trustInfo.trustedSenderLevel){case 1:E.trustSource="USER";break;case 2:E.trustSource="CONTACTS";break;case 3:E.trustSource="DOMAIN";break;case 4:E.trustSource="GAL";break;case 5:E.trustSource="SYSTEM";break;default:E.trustSource="NONE"}else{var e=await v.isTrustedSender(E.email);E.isTrusted=e.isTrusted,E.trustSource=e.trustSource}}E.features=m.user.settings.features,t.$on("chat.user-status-changed",((e,s)=>{s.all?E.updateStatus():s.email===E.email&&s.status&&(E.status=s.status,t.$applyAsync())})),E.updateStatus(),E.isActivated=!0,E.activationResolver&&E.activationResolver(),E.isBlocked=await s,t.$applyAsync()}catch(e){console.error(e),E.isActivated=!0,E.activationResolver&&E.activationResolver()}}()}e.$inject=["$rootScope","$scope","$element","$filter","$translate","$http","$timeout","$state","$mdDialog","$compile","$log","userDataService","coreData","coreDataContacts","authStorage","$localStorage","errorHandling","successHandling","popupService","restrictedSenders","coreDataSettings","emailFunctions","emailNavigation","claimsService","chatProviderFactory","coreDataDomainSettings","xmppService"],angular.module("smartermail").component("userWithContext",{templateUrl:"/interface/app/email/message-view-components/user-with-context.component.html",controller:e,bindings:{type:"<",email:"<",name:"<",isChat:"<",isChatAliasList:"<",isAlias:"<",displayEmail:"<",displayAs:"<",createFilter:"&",addToFilter:"&",isBlockedSender:"<",messageFrom:"<",messageUid:"<",messageFolder:"<",messageData:"<",showTrust:"<",activationResolver:"<"}})}();
158!function(){"use strict";function t(t,a,s,n,e,o){var i=this;function r(t){if(!i.stats)return null;switch(t.statKey){case"primary":return i.stats.primary;case"transactions":return i.stats.transactions;case"updates":return i.stats.updates;case"promotions":return i.stats.promotions;default:return null}}i.stats=null,i.statsLoading=!0,i.categories=[{value:"primary",colorClass:"ai-cat-primary",icon:"toolsicon-person",translationKey:"SPAMFOO_PRIMARY",subtitleKey:"SPAMFOO_PRIMARY_SUBTITLE",descKey:"SPAMFOO_PRIMARY_DESC",statKey:"primary"},{value:"transactions",colorClass:"ai-cat-transactions",icon:"toolsicon-transactions",translationKey:"SPAMFOO_TRANSACTIONS",subtitleKey:"SPAMFOO_TRANSACTIONS_SUBTITLE",descKey:"SPAMFOO_TRANSACTIONS_DESC",statKey:"transactions"},{value:"updates",colorClass:"ai-cat-updates",icon:"toolsicon-updates",translationKey:"SPAMFOO_UPDATES",subtitleKey:"SPAMFOO_UPDATES_SUBTITLE",descKey:"SPAMFOO_UPDATES_DESC",statKey:"updates"},{value:"promotions",colorClass:"ai-cat-promotions",icon:"toolsicon-promotions",translationKey:"SPAMFOO_PROMOTIONS",subtitleKey:"SPAMFOO_PROMOTIONS_SUBTITLE",descKey:"SPAMFOO_PROMOTIONS_DESC",statKey:"promotions"}],i.cancel=function(){t.cancel()},i.resetCategorization=function(){var a=t.confirmDeletion({title:s.instant("CONFIRMATION_REQUIRED"),textContent:s.instant("SPAMFOO_RESET_CLASSIFICATION_DATA"),ok:s.instant("RESET"),cancel:s.instant("CANCEL")});t.show(a).then((function(){o.postClearTabsData().then((function(){n.report(),t.hide()}),e.report)}))},i.getStatForCategory=r,i.getStatText=function(t){if(!i.stats||0===i.stats.totalReceived)return null;var a=r(t);if(null==a)return null;if("primary"===t.statKey){var n=i.stats.totalReceived,e=1===a?"message":"messages",o=1===n?"message":"messages";return s.instant("SPAMFOO_PRIMARY_STATS_SIMPLE",{count:a,messageWord:e,total:n,totalWord:o})}if(0===a)return null;var l=1===a?"message":"messages";return s.instant("SPAMFOO_OTHER_CATEGORY_STATS_SIMPLE",{count:a,word:l})},a.post("~/api/v1/mail/classification-stats").then((function(t){t.data&&t.data.success&&(i.stats=t.data),i.statsLoading=!1}),(function(){i.statsLoading=!1}))}t.$inject=["$mdDialog","$http","$translate","successHandling","errorHandling","spamfooClassification"],angular.module("smartermail").controller("aboutCategoriesDialogController",t)}();
159!function(){"use strict";function e(e,t,s,r,n,i){e.controller=this,e.filters=[],e.selectedFilter=void 0,e.messages=i,e.senderDescription="",e.messages&&1==e.messages.length&&e.messages[0].fromAddress?e.senderDescription=e.messages[0].fromAddress:e.messages&&e.messages.length>1&&(e.senderDescription=r.instant("MULTIPLE",{count:e.messages.length})),async function(){try{const t=await s.get("~/api/v1/settings/content-filter-groups");e.filters=t.data.contentFilterGroups||[],e.filters=e.filters.filter((function(e){return e.filters.filter((function(e){return 1==e.fieldType&&2==e.f
159ilterType||0==e.fieldType&&2==e.filterType||6==e.fieldType&&2==e.filterType})).length>0})),e.selectedFilter=e.filters[0]}catch(e){n.report(e)}}(),e.done=function(){t.hide({success:!0,filter:e.selectedFilter})},e.cancel=function(){t.cancel()}}e.$inject=["$scope","$mdDialog","$http","$translate","errorHandling","messages"],angular.module("smartermail").controller("addToFilterController",e)}();
160!function(){"use strict";angular.module("smartermail").controller("aiCompose",["$scope","$mdDialog","errorHandling","$window","text","highlight","$translate","successHandling","$http","$rootScope",function(t,n,e,s,i,a,o,r,c,d){const I=this;I.initialized=!1,I.text=i,I.highlight=a,I.getAiInstructions=function(t=I.selectedCommand){switch(t){case"translate":I.aiInstructions=o.instant("AI_TRANSLATE_INSTRUCTIONS");break;case"tone":I.aiInstructions=o.instant("AI_TONE_INSTRUCTIONS");break;case"proofread":I.aiInstructions=o.instant("AI_PROOFREAD_INSTRUCTIONS");break;case"shorten":I.aiInstructions=o.instant("AI_SHORTEN_INSTRUCTIONS");break;case"lengthen":I.aiInstructions=o.instant("AI_LENGTHEN_INSTRUCTIONS");break;default:I.aiInstructions=""}return I.aiInstructions},I.aiInstructions="",I.selectedCommand=I.highlight?"proofread":"custom","custom"!==I.selectedCommand&&I.getAiInstructions(I.selectedCommand),I.aiInput=a||i,I.generatedResponse="",I.initialized=!0,I.generateResponse=async function(){try{const n=I.aiInput?.trim();var t="";if("custom"===I.selectedCommand?I.aiInstructions="":t=I.aiInstructions?.trim(),!("custom"===I.selectedCommand||t&&n))return void await e.report(o.instant("PLEASE_PROVIDE_COMMAND_AND_INPUT"));const s={command:`${t} ${n}`};d.spinner.show();const i=await c.post("api/v1/ai/GetAiResponseAsync",s);I.generatedResponse=i?.data,d.$applyAsync((()=>{d.spinner.hide()}))}catch(t){console.error("An error occurred while generating the response:",t),await e.report(t),d.$applyAsync((()=>{d.spinner.hide()}))}},I.insertResponse=function(){if(""!==I.generatedResponse.trim())n.hide(I.generatedResponse);else{const t=o.instant("AI_NO_RESPONSE_TO_INSERT");e.report(t)}},I.closeDialog=function(){n.hide()}}])}();
161!function(){"use strict";function e(e,t,n,o,r,i,a,c,l,s){function d(e){e.previewImage&&!e.previewBlob&&n.get(e.previewImage,{responseType:"blob"}).then((function(t){e.previewBlob=window.URL.createObjectURL(t.data)}))}function u(){for(let t=0;t<e.attachments.length;t++){const n=e.attachments[t];if(n.previewBlob)try{window.URL.revokeObjectURL(n.previewBlob),n.previewBlob=null}catch(e){}}}e.controller=this,e.attachments=r.attachments||[],e.allAttachmentFile=null,e.showOptions=!1,e.downloadAttachment=function(e){let t=e.filename;n.get(e.link,{responseType:"blob"}).then((function(e){let n=window.URL.createObjectURL(e.data),o=document.createElement("a");o.href=n,o.download=t,o.click(),window.URL.revokeObjectURL(n)}))},l.spinner.show(),c.init().then((function(){e.features=c.user.settings.features;try{e.enableOnlyOffice=e.features.enableOnlyOffice}catch(t){e.enableOnlyOffice=!1}try{e.enablewopi=e.features.enableWOPI,e.wopiurl=e.features.wopiURL}catch(t){e.enablewopi=!1,e.wopiurl=""}l.spinner.hide()})),e.$on("$destroy",u);for(let t=0;t<e.attachments.length;t++){const n=e.attachments[t];d(n),n.allAttachments&&!e.allAttachmentFile&&(e.allAttachmentFile=n)}async function f(){return n.post("~/wopi/GetWOPIAccessToken").then((e=>{if(e.data&&e.data.token)return e.data.token;throw new Error("Unexpected response structure: "+JSON.stringify(e.data))})).catch((e=>(console.error(e),"Unknown")))}e.close=function(){t.cancel()};function w(e){return e.replace(/\+/g,"-").replace(/\//g,"_")}async function p(e,t,o){return n.post("~/wopi/getdiscoveryurl/"+t,{editorType:e,filename:t,edit:o}).then((e=>{if(e.data&&e.data.discoveryUrl)return e.data.discoveryUrl;throw new Error("Unexpected response structure: "+JSON.stringify(e.data))})).catch((e=>(console.error(e),"Unknown")))}e.wopiEditCollabora=async function(e){if(!e||!e.link||!e.filename)return void console.error("Invalid item passed to wopiEditCollabora");const t=new URL(e.link,window.location.origin).searchParams.get("data");if(!t)return void console.error("Failed to extract file ID");const n=w(t);try{const t=await f();if(!t||"Unknown"===t)return void console.error("Failed to retrieve WOPI access token");const r=await p(2,e.filename,"edit");if(!r||"Unknown"===r)return void o.reportError("COLLABORA_SERVER_UNAVAILABLE");const i=a.convertToFullLocale(a.language),c=`${window.location.origin}/wopi/files/${n}`,l=`${r}?WOPISrc=${encodeURIComponent(c)}&access_token=${encodeURIComponent(t)}&lang=${encodeURIComponent(i)}`;window.open(l,"_blank"),console.log("Collabora edit opened")}catch(e){console.error("Error in wopiEditCollabora:",e)}},e.wopiEditOnlyOffice=async function(e){try{if(!e||!e.link||!e.filename)return void console.error("Invalid item passed to wopiEditOnlyOffice");const t=new URL(e.link,window.location.origin).searchParams.get("data");if(!t)return void console.error("Failed to extract file_id from item link");const n=w(t),r=await p(1,e.filename,"view");if(!r||"Unknown"===r)return void o.reportError("ONLYOFFICE_SERVER_UNAVAILABLE");const i=await f();if(!i)return void console.error("Failed to retrieve WOPI token");
161const c=a.convertToFullLocale(a.language),l=`${window.location.origin}/wopi/files/${n}`,s=`${r}?WOPISrc=${encodeURIComponent(l)}&ui=${encodeURIComponent(c)}`,d=document.createElement("form");d.method="POST",d.action=s,d.target="_blank";const u=document.createElement("input");u.type="hidden",u.name="access_token",u.value=i,d.appendChild(u),document.body.appendChild(d),d.submit(),document.body.removeChild(d),console.log("WOPI Edit request submitted successfully")}catch(e){console.error("Error in wopiEditOnlyOffice:",e.message)}}}angular.module("smartermail").controller("emailAttachmentsController",e),e.$inject=["$scope","$mdDialog","$http","errorHandling","message","authStorage","localeInfoService","userDataService","$rootScope","$translate"]}();
162!function(){"use strict";function n(n,t,e){n.delete=function(){t.hide({notify:n.notify})},n.cancel=function(){t.cancel()}}n.$inject=["$scope","$mdDialog","$translate"],angular.module("smartermail").controller("contactAlreadyExistsController",n)}();
163!function(){"use strict";function e(e,l,a,r,t,d,s,n,o,c){e.controller=this,e.title=t.instant("NEW_FOLDER"),e.name="",e.parentFolder=n,e.selectedFolder=n,e.owner=o,e.folders=$.grep(c,(e=>1!==e.access&&2!==e.access&&"Scheduled8c61c74014d4e679d52c0a6aca4342b"!==e.path)),3!==n.access&&e.folders.unshift({name:"",path:"",translatedName:"- "+a("translate")("ROOT_FOLDER")+" -"}),e.done=function(){if(e.name&&0!==e.name.length){for(;"."===e.name.charAt(e.name.length-1);)e.name=e.name.substring(0,e.name.length-1);var a={};a=e.selectedFolder&&3===e.selectedFolder.access?{folder:e.name,parentFolder:e.selectedFolder.path,ownerEmailAddress:e.owner}:{folder:e.name,parentFolder:e.selectedFolder.path},d.ignoreFolderUpdate.requested=Date.now(),r.post("~/api/v1/folders/folder-put",a).then((function(a){l.hide({success:a.data.success,folder:a.data.folder,name:e.name,response:a})}),(function(e){l.hide({success:!1,response:e})}))}},e.cancel=function(){l.cancel()},e.onFolderChanged=function(l){e.selectedFolder=JSON.parse(JSON.stringify(l)),e.selectedFolder.translatedName&&(e.selectedFolder.translatedName=l.translatedName.replaceAll(" ","")),e.selectedFolder.name=l.name.replaceAll(" ","")};for(var i=!1,m=0;m<e.folders.length;++m)if(e.folders[m].path.toLowerCase()===e.selectedFolder.path.toLowerCase()){e.selectedFolder=JSON.parse(JSON.stringify(e.folders[m])),i=!0;break}i||(e.selectedFolder=JSON.parse(JSON.stringify(e.folders[0]))),e.selectedFolder.translatedName&&(e.selectedFolder.translatedName=e.selectedFolder.translatedName.replaceAll(" ","")),e.selectedFolder.name&&(e.selectedFolder.name=e.selectedFolder.name.replaceAll(" ",""))}e.$inject=["$scope","$mdDialog","$filter","$http","$translate","coreDataMail","userDataService","parentFolder","owner","folders"],angular.module("smartermail").controller("createFolderController",e)}();
164!function(){"use strict";function n(n,e,t,a,l,i,s,c){var o=this;o.title=e.instant(t),o.message=e.instant(a),o.disclaimer=l?e.instant(l):null,o.shareLabel=e.instant(i),o.dontShareLabel=e.instant(s),o.showCancel=!!c,o.cancelLabel=c?e.instant(c):null,o.cancel=function(){n.cancel()},o.share=function(){n.hide({consent:!0})},o.dontShare=function(){n.hide({consent:!1})}}n.$inject=["$mdDialog","$translate","titleKey","messageKey","disclaimerKey","shareKey","dontShareKey","cancelKey"],angular.module("smartermail").controller("dataConsentController",n)}();
165!function(){"use strict";function e(e,a,t,r,i,s,n,l,o,d,c,m){var p;function f(e){if(void 0!==a.alias&&null!==a.alias&&a.alias)a.selectedText=a.alias.folder;else{for(var t,r=0;r<a.folders.length;++r){var i=JSON.parse(JSON.stringify(a.folders[r]));if(i.path===e.path){t=i;break}}void 0!==t.translatedName&&(void 0!==t.friendlyName&&(t.translatedName=t.translatedName.replace(new RegExp(t.name,"gi"),t.friendlyName)),t.translatedName=t.translatedName.replaceAll(" ","")),t.name=t.name.replaceAll(" ",""),a.selectedText=t.translatedName?s.instant(t.translatedName):t.name,a.selectedFolder=t}}function T(){a.expireTranslate.days=Math.floor(a.expireTime.asDays()),a.expireTranslate.hours=Math.floor(a.expireTime.asHours()-24*a.expireTranslate.days),a.expireTranslate.minutes=Math.floor(a.expireTime.asMinutes()-60*(a.expireTranslate.hours+24*a.expireTranslate.days)),a.expireTranslate.seconds=Math.floor(a.expireTime.asSeconds()-(60*a.expireTranslate.minutes+60*a.expireTranslate.hours*60+24*a.expireTranslate.days*60*60))}function u(){if(a.expireTime&&a.alias){if(a.alias.expireTime<moment())return a.alias=void 0,a.expireTime=void 0,n.Data.disposableAddress=void 0,void(p=r(a.refreshTime,1e3));a.expireTime&&(a.expireTime=a.expireTime.subtract(1e3,"ms"),T()),p=r(a.refreshTime,1e3)}else p=r(a.refreshTime,1e3)}function x(){r.cancel(p)}a.alias=m,a.expireTime=void 0,a.expireTranslate={days:0,hours:0,minutes:0,seconds:0},a.time=4,a.loaded=!1,a.selectedText="",a.cancel=function(){x(),t.hide(a.alias?a.alias.folder:"")}
165,a.copy=function(){var e=$("#address")[0],a=document.createRange();a.selectNodeContents(e),window.getSelection().removeAllRanges(),window.getSelection().addRange(a),document.execCommand("copy"),window.getSelection().removeAllRanges(),c.report("COPIED_TO_CLIPBOARD")},a.extend=async function(){try{const e=await i.post("~/api/v1/mail/disposable-address/4");a.alias.expireTime=moment(e.data.date),a.expireTime=moment.duration(a.alias.expireTime-moment()),T()}catch(e){d.report(e)}},a.generate=async function(){if(!a.addressForm.$valid)return;try{a.selectedText=a.selectedFolder.path;const e=JSON.stringify({folderName:a.selectedFolder.path,hours:a.time}),t=await i.post("~/api/v1/mail/disposable-address",e);a.alias={address:t.data.address,expireTime:moment(t.data.expireTime),folder:a.selectedFolder.name},a.expireTime=moment.duration(a.alias.expireTime-moment()),T()}catch(e){d.report(e)}},a.refreshTime=u,a.revoke=async function(){try{var e=t.confirmDeletion({textContent:s.instant("CONFIRMATIONS_DELETE_DISPOSABLE_ADDRESS"),ok:s.instant("REVOKE")});await t.show(e)}catch(e){return}try{await i.post("~/api/v1/mail/disposable-address-delete"),n.Data.disposableAddress=void 0,x(),t.hide("")}catch(e){d.report(e)}},a.selectFolder=f,async function(){try{if(e.spinner.show(),a.folders=angular.copy(o),a.folders=$.grep(a.folders,(e=>"Drafts"!==e.path&&"Sent Items"!==e.path&&"Scheduled8c61c74014d4e679d52c0a6aca4342b"!==e.path)),a.selectedFolder=a.folders[0],"Drafts"!==l.path&&"Sent Items"!==l.path&&"Scheduled8c61c74014d4e679d52c0a6aca4342b"!==l.path?f(l):f(a.selectedFolder),!a.alias)try{const e=await n.Data.disposableAddress;a.alias=e,a.alias&&(a.expireTime=moment.duration(a.alias.expireTime-moment()),f(a.alias.folder),T())}catch(e){}a.loaded=!0,u()}catch(e){d.report(e)}finally{e.spinner.hide()}}()}e.$inject=["$rootScope","$scope","$mdDialog","$timeout","$http","$translate","coreDataMail","currentFolder","folders","errorHandling","successHandling","alias"],angular.module("smartermail").controller("disposableAddressController",e)}();
166!function(){"use strict";function e(e,n,r,t,a,o,l,c,d){e.controller=this,e.title="EDIT_FOLDER",e.name=o,e.currentFolder=l,t((function(){$("input").trigger("focus")}),350),e.done=function(){if(e.name&&0!==e.name.length){for(;"."===e.name.charAt(e.name.length-1);)e.name=e.name.substring(0,e.name.length-1);var t={folder:e.currentFolder,newFolder:e.name,parentFolder:c,newParentFolder:c,ownerEmailAddress:d};a.ignoreFolderUpdate.requested=Date.now(),r.post("~/api/v1/folders/folder-patch",t).then((function(r){var t=r.data&&r.data.folder?r.data.folder:{};t.newName=e.name,t.path=c?c+"/"+t.newName:t.newName,n.hide({success:r.data.success,data:t,response:r})}),(function(e){n.hide({success:!1,response:e})}))}},e.cancel=function(){n.cancel()}}e.$inject=["$scope","$mdDialog","$http","$timeout","coreDataMail","name","currentFolder","parentFolder","owner"],angular.module("smartermail").controller("editFolderController",e)}();
167!function(){"use strict";function e(e,t,l,r,n,c){e.controller=this,e.selectedFolder=r,e.folderLabel=c,async function(){try{const l=await t.get("~/api/v1/settings/content-filter-groups");e.filters=l.data.contentFilterGroups||[],e.selectedFilter=e.filters[0]}catch(e){n.report(e)}}(),e.done=function(){l.hide({success:!0,folder:e.selectedFolder.path,filter:e.selectedFilter})},e.cancel=function(){l.cancel()}}e.$inject=["$scope","$http","$mdDialog","selectedFolder","errorHandling","folderLabel"],angular.module("smartermail").controller("filterRunCurrentFolder",e)}();
168!function(){"use strict";function e(e,r,t,s,n,o){e.controller=this,e.message=o,e.close=function(){o.foundTrackers.filter((e=>!!e.allowed&&(s.userSettings.remoteTrackersExceptions.push(e.id),e.revert(),!0)));if(s.userSettings.remoteTrackersExceptions.length>0){var e={userMailSettings:{remoteTrackersExceptions:s.userSettings.remoteTrackersExceptions}};t.post("~/api/v1/settings/user-mail",JSON.stringify(e)).then((()=>{}),n.report)}r.cancel()}}e.$inject=["$scope","$mdDialog","$http","coreDataSettings","errorHandling","message"],angular.module("smartermail").controller("foundTrackersController",e)}();
169!function(){"use strict";function e(e,r,l,o,t,i,d,s,a,n,c){var u=this;u.folderName=void 0,u.getIconClass=function(e){return e.isFolder?"toolsicon-folder_fill":`toolsicon-${c.iconFromExtension(e.type)}`},e.connectedServices=s,e.selectedService=void 0,e.selectedServiceType="",e.selectedFile=void 0,e.currentFolder="",e.previousFolderPath="",e.folders=[],e.fileStorageData=$.extend(!0,[],a),e.fileStorageEnabled=a.length>0,e.isLoading=!1;var p=void 0,F=!1;
169e.processFileStorage=function(r){r.isFolder=!0;for(var l=0;l<r.subFolders.length;++l)e.processFileStorage(r.subFolders[l]);if(r.files)for(var o=0;o<r.files.length;++o)r.files[o].name=r.files[o].fileName},e.fileStorageEnabled&&(p=e.fileStorageData[0].data.subFolders[1].data,e.processFileStorage(p)),e.selectService=function(o){switch(e.selectedService=o,e.previousFolderPath="-1|",o.type){case 2:e.selectedServiceType="dropbox";break;case 4:e.selectedServiceType="onedrive";break;case 7:e.selectedServiceType="leitzcloud";break;case 8:e.selectedServiceType="vboxx";break;case 9:return e.selectedServiceType="googlepicker",void function(){F?o():gapi.load("client:picker",o);function o(){function e(e){e.data.success||n.Report(e);var r=new google.picker.DocsView(google.picker.ViewId.DOCS).setIncludeFolders(!0).setEnableDrives(!1).setMode(google.picker.DocsViewMode.LIST);(new google.picker.PickerBuilder).enableFeature(google.picker.Feature.MINE_ONLY).addView(r).setOAuthToken(e.data.token).setDeveloperKey(e.data.key).setAppId(e.data.id).setCallback(t).build().setVisible(!0)}F=!0,l.get("~/api/v1/settings/google-picker-args").then(e,n.report)}function t(l){"cancel"==l.action||"picked"==l.action&&0==l.docs.length?r.cancel():"picked"==l.action&&r.hide({type:e.selectedService.type,typeString:e.selectedServiceType,id:l.docs[0].id,fileName:l.docs[0].name,link:l.docs[0].link})}}();case 10:e.selectedServiceType="owncloud"}e.openFolder(void 0)},e.openFolder=function(r,o){if(r&&"-1|"===r.id)return e.selectedService=void 0,e.previousFolderPath="-1|",e.folders=[],e.currentFolder="",u.folderName="",void(e.selectedFile=void 0);if(-1==e.selectedService.type&&e.fileStorageEnabled){if(e.isLoading=!1,r)if(r.id&&(r.path=r.id),o){e.previousFolderPath=e.previousFolderPath.split("|"),e.previousFolderPath=$.grep(e.previousFolderPath,(function(e){return""!=e.trim()})),e.previousFolderPath.length=e.previousFolderPath.length-1,e.previousFolderPath=e.previousFolderPath.join("|"),"|"!=e.previousFolderPath[e.previousFolderPath.length]&&(e.previousFolderPath=e.previousFolderPath+"|");let l=e.findFileStorageFolder(r.path.replace("-1|",""));l&&(e.folders=[],e.folders=l.files?l.subFolders.concat(l.files):l.subFolders),e.currentFolder=r.path,u.folderName=i.instant(l.name),e.selectedFile=void 0}else{e.previousFolderPath="-1|"+e.currentFolder.replace("-1|","");let l=e.findFileStorageFolder(r.path.replace("-1|",""),r);l&&(e.folders=[],e.folders=l.files?l.subFolders.concat(l.files):l.subFolders),e.currentFolder=r.path,u.folderName=i.instant(l.name),e.selectedFile=void 0}else e.currentFolder=p.path,u.folderName=i.instant(p.name)||e.selectedService.friendlyName,p.subFolders=$.grep(p.subFolders,(function(e){return"ONLINE_MEETING_FILES"!==e.name})),e.folders=p.files?p.subFolders.concat(p.files):p.subFolders;for(var t=0;t<e.folders.length;t++)if("PUBLIC_CHAT_FILES"==e.folders[t].name){e.folders[t].name=i.instant(e.folders[t].name);break}}else if(e.isLoading=!0,r)if(u.folderName=r.name,o){e.isLoading=!0,e.folders.length=0,e.previousFolderPath=e.previousFolderPath.split("|"),e.previousFolderPath=$.grep(e.previousFolderPath,(function(e){return""!=e.trim()}));var d=e.previousFolderPath[e.previousFolderPath.length-1];"root"==d&&(d=void 0),e.selectedFile=void 0,l.get("~/api/v1/mail/filestorage/"+e.selectedServiceType+(d?"/"+d.replace("id:",""):"")).then((function(r){e.isLoading=!1,e.currentFolder=r.data.currentFolderID?r.data.currentFolderID:"root",e.previousFolderPath.length=e.previousFolderPath.length-1,e.previousFolderPath=e.previousFolderPath.join("|")+"|",e.folders=r.data.items,u.folderName=r.data.currentFolderName||e.selectedService.friendlyName}),n.report)}else e.isLoading=!0,e.folders.length=0,e.previousFolderPath+=e.currentFolder+"|",e.selectedFile=void 0,l.get("~/api/v1/mail/filestorage/"+e.selectedServiceType+"/"+r.id.replace("id:","")).then((function(r){e.isLoading=!1,e.currentFolder=r.data.currentFolderID?r.data.currentFolderID:"root",e.folders=r.data.items,u.folderName=r.data.currentFolderName||e.selectedService.friendlyName}),n.report);else e.folders.length=0,u.folderName=e.selectedService.friendlyName,l.get("~/api/v1/mail/filestorage/"+e.selectedServiceType).then((function(r){e.isLoading=!1,e.currentFolder=r.data.currentFolderID?r.data.currentFolderID:"root",e.folders=r.data.items}),n.report)},e.findFileStorageFolder=function(r,l){if(e.fileStorageEnabled){if(l||(l=p),l.path===r)return l;for(var o=0;o<l.subFolders.length;++o)return l.subFolders.path===r?l.subFolders[o]:e.findFileStorageFolder(r,l.subFolders[o])}},e.done=function(){function o(){var l=e.selectedFile.publicDownloadLink;if(!e.selectedServiceType&&l&&!l.startsWith("http")){var o=d.baseUrl.split("/");o.length=3,l=(o=o.join("/"))+"/"+l}r.hide({type:e.selectedService.type,typeString:e.selectedServiceType,id:e.selectedFile.id,link:l,folder:"root"==e.currentFolder?void 0:e.currentFolder,fileName:e.selectedFile.name})}""!==e.selectedServiceType||e.selectedFile.published&&null!=e.selectedFile.publicDownloadLink?o():l.get("~/api/v1/filestorage/"+e.selectedFile.id+"/getlink/public").then((function(r){e.selectedFile.published=!0,e.selectedFile.publicDownloadLink=r.data.publicLink,o()}),n.report)},e.cancel=function(){r.cancel()},e.onKeyUpFile=function(r,l){13===l.which&&(e.selectedFile=r)},e.onKeyUpFolder=function(r,l,o){13===o.which&&e.openFolder(r,l)},e.selectFile=function(r){e.selectedFile=r}}e.$inject=["$scope","$mdDialog","$http","$timeout","$filter","$translate","coreData","services","fileStorageList","errorHandling","fileInfoProvider"],angular.module("smartermail").controller("linkFileController",e)}();
170!function(){"use strict";function e(e,l,r,t,o,d,c,a){e.controller=this,e.selectedNode="",e.title="MOVE_EMAIL",e.owner=a,e.folders=$.grep(d,(function(e){return 2!==e.access&&"Scheduled8c61c74014d4e679d52c0a6aca4342b"!==e.path})),e.selectedFolder=e.folders[0],e.onFolderChanged=function(l){e.selectedFolder=JSON.parse(JSON.stringify(l)),e.selectedFolder.translatedName&&(e.selectedFolder.translatedName=l.translatedName.replaceAll(" ","")),e.selectedFolder.name=l.name.replaceAll(" ","")},e.done=function(){l.hide({success:!0,folder:e.selectedFolder.path,owner:e.selectedFolder.ownerEmailAddress})},e.cancel=function(){l.cancel()}}e.$inject=["$scope","$mdDialog","$http","$timeout","coreDataMail","folders","folder","owner"],angular.module("smartermail").controller("moveEmailController",e)}();
171!function(){"use strict";function e(e,l,d,r,a){e.controller=this,e.selectedNode="",e.title="MOVE_FOLDER",e.folders=$.grep(d,(e=>1!==e.access&&2!==e.access&&"Scheduled8c61c74014d4e679d52c0a6aca4342b"!==e.path)),e.parentFolder=
171a.toLowerCase(),e.selectedFolder=JSON.parse(JSON.stringify(e.folders[0])),void 0!==e.selectedFolder.translatedName&&(e.selectedFolder.translatedName=e.selectedFolder.translatedName.replaceAll(" ","")),e.selectedFolder.name=e.selectedFolder.name.replaceAll(" ",""),e.onFolderChanged=function(l){l.path.toLowerCase()!==a&&(e.selectedFolder=JSON.parse(JSON.stringify(l)),e.selectedFolder.translatedName&&(e.selectedFolder.translatedName=l.translatedName.replaceAll(" ","")),e.selectedFolder.name=l.name.replaceAll(" ",""))},e.done=function(){l.hide({success:!0,folder:e.selectedFolder.path,owner:e.selectedFolder.ownerEmailAddress})},e.cancel=function(){l.cancel()}}e.$inject=["$scope","$mdDialog","folders","folder","parentFolder"],angular.module("smartermail").controller("moveFolderController",e)}();
172!function(){"use strict";function e(e,t,n,c,l){e.controller=this,e.title="SCHEDULE_SEND",e.scheduledWarningText="sent items"===l?"WARNING_SEND_SCHEDULED_EMAIL":"WARNING_MOVE_SCHEDULED_EMAIL",e.done=function(){t.hide({success:!0})},e.cancel=function(){t.cancel()}}e.$inject=["$scope","$mdDialog","$http","$timeout","folder"],angular.module("smartermail").controller("moveScheduledEmailController",e)}();
173!function(){"use strict";function n(n,t,S,i,a){var s=this,e=a>1;s.title=t.instant(e?"RECLASSIFY_SENDERS":"RECLASSIFY_SENDER"),s.message=t.instant(e?"CLASSIFICATION_RECLASSIFY_SCOPE_MULTI":"CLASSIFICATION_RECLASSIFY_SCOPE",{sender:S,classification:i,count:a}),s.justThisLabel=t.instant(e?"CLASSIFICATION_JUST_THESE_EMAILS":"CLASSIFICATION_JUST_THIS_EMAIL"),s.allEmailsLabel=t.instant("CLASSIFICATION_ALL_EMAILS"),s.cancel=function(){n.cancel()},s.justThis=function(){n.hide(!1)},s.allEmails=function(){n.hide(!0)}}n.$inject=["$mdDialog","$translate","senderDisplay","classificationLabel","senderCount"],angular.module("smartermail").controller("reclassifyScopeController",n)}();
174!function(){"use strict";function e(e,t,o){let n=this;function a(e){let a={success:!0,scheduleDate:o.convertUserTimeToLocal(n.sendDateTime),sendImmediately:e};t.hide(a)}n.showTimeInPastError=!1,n.sendDateTime=o.convertLocalToUserTimeMoment(moment().add(15,"minute").toDate()).toDate(),n.minDate=o.convertLocalToUserTimeMoment(moment().add(1,"minute").toDate()).toDate(),n.maxDate=o.convertLocalToUserTimeMoment(moment().add(31,"days").toDate()).toDate(),n.send=function(){if(n.showTimeInPastError)a(!0);else{let e=new Date;o.convertUserTimeToLocal(n.sendDateTime).getTime()<e.getTime()?n.showTimeInPastError=!0:a(!1)}},n.cancel=function(){n.showTimeInPastError?n.showTimeInPastError=!1:t.cancel()}}e.$inject=["$scope","$mdDialog","userTimeService"],angular.module("smartermail").controller("scheduleSendController",e)}();
175!function(){"use strict";function t(t,o,r,s,e,a){t.controller=this,t.tasks=a.tasks||[],t.emailTaskClicked=function(t){try{t.sourcePermission=8,s.$broadcast("startEditTask",t)}catch(t){e.report(t)}},t.close=function(){o.cancel()}}t.$inject=["$scope","$mdDialog","$http","$rootScope","errorHandling","message"],angular.module("smartermail").controller("emailTasksController",t)}();
176!function(){"use strict";function t(t,e,n){t.attachmentName=n,t.close=function(){e.hide()}}t.$inject=["$scope","$mdDialog","attachmentName"],angular.module("smartermail").controller("viewAttachmentsController",t)}();
177!function(){"use strict";function a(a,e,t,s,i,r,n,l,o){var d=this;d.loadMessage=async function(a,t){const s=JSON.stringify({OwnerEmailAddress:a,UID:t}),i=await e.post("~/api/v1/mail/archive-message",s);return i.data.messageData?i.data.messageData:null},d.loadRawContent=async function(a,t){const s={Folder:a,UID:t,OwnerEmailAddress:a};return(await e.post("~/api/v1/mail/archive-message/raw",s)).data},d.downloadEmlFile=async function(a,e){if(null==e)return;Array.isArray(e)||(e=[e]);var t=i.instant("FILENAME_ARCHIVE_MESSAGES")+".zip";await n.downloadLargeFile("~/api/v1/settings/domain/download-message-archive",t,{searchGuid:a,messageIds:e},"archive-download")},d.downloadAll=async function(a){var e=i.instant("FILENAME_ARCHIVE_MESSAGES")+".zip";await n.downloadLargeFile("~/api/v1/settings/domain/download-message-archive-all",e,{searchGuid:a},"archive-download")},d.copyToMailbox=async function(a,s,n){if(null==s)return!1;Array.isArray(s)||(s=[s]);var o;const d=r.init();try{o=await t.show({locals:{title:i.instant("COPY_TO_MAILBOX"),helplink:"sys-message-archive-dialog",ok:i.instant("COPY")},controller:"adminSelectUserMailFolderController",controllerAs:"ctrl",templateUrl:"app/settings/shared/admin-select-user-mail-folder.dlg.html",targetEvent:n})}catch(a){return!1}await d;const c=r.user.isSysAdmin&&!l.params.id?"~/api/v1/settings/sysadmin/copy-message-archive":"~/api/v1/settings/domain/copy-message-archive";var m={searchGuid:a,messageIds:s,destEmail:o.email,destFolder:o.folder};return await e.post(c,JSON.stringify(m)),!0},d.copyAllToMailbox=async function(a,s){var n;const o=r.init();try{n=await t.show({locals:{title:i.instant("COPY_TO_MAILBOX"),helplink:"sys-message-archive-dialog",ok:i.instant("COPY")},controller:"adminSelectUserMailFolderController",controllerAs:"ctrl",templateUrl:"app/settings/shared/admin-select-user-mail-folder.dlg.html",targetEvent:s})}catch(a){return!1}await o;const d=r.user.isSysAdmin&&!l.params.id?"~/api/v1/settings/sysadmin/copy-message-archive-all":"~/api/v1/settings/domain/copy-message-archive-all";var c={searchGuid:a,destEmail:n.email,destFolder:n.folder};return await e.post(d,JSON.stringify(c)),!0}}a.$inject=["$rootScope","$http","$mdDialog","$timeout","$translate","userDataService","coreDataFileStorage","$state","errorHandling"],angular.module("smartermail").service("emailArchiveFunctions",a)}();
178!function(){"use strict";function e(e,s,t,a,n,r,o,i,d,l,c,u,m,p,w,g,f){var S=this;async function h(s){try{e.spinner.show();var t={messageData:JSON.parse(JSON.stringify(s)),translations:{from:n.instant("FROM"),to:n.instant("TO"),cc:n.instant("CC"),bcc:n.instant("BCC"),attachments:n.instant("ATTACHMENTS")}};if(t.messageData.date=r("date")(t.messageData.date,"short"),t.messageData.messageHTML=t.messageData.messageHTML||t.messageData.messageHtml,t.messageData.messageHTML){var a=$("<
178div>");a.html(t.messageData.messageHTML),a.find("hr").css("break-after",""),t.messageData.messageHTML=a.html(),t.messageData.mode||(t.messageData.mode="html")}const o=p.baseUrl+"/print/printmessage",i=`emailID_${s.uid}_P`,l=`resizable=1,${d.dimensions.email}`,c=window.open(o,i,l);if(!c)return void f.report(n.instant("POPUP_BLOCKED"));const u=()=>{try{c.loadMessage&&(c.loadMessage(t),c.focus())}catch(e){}};try{"function"==typeof c.addEventListener?c.addEventListener("load",u):c.onload=u}catch(e){c.onload=u}}finally{e.spinner.hide()}}function D(e){return null==e?[]:(Array.isArray(e)||(e=[e]),e)}S.loadMessage=async function(e,t,a,n){const r=JSON.stringify({OwnerEmailAddress:e,Folder:t,UID:a}),o=n?"~/api/v1/mail/message/forward":"~/api/v1/mail/message";return(await s.post(o,r)).data.messageData||null},S.markRead=async function(e,t,a){if(0==(a=D(a)).length)return;const n={ownerEmailAddress:e,folder:t,UID:a,markRead:!0};await s.post("~/api/v1/mail/messages-patch",n)},S.rejectReadReceipt=async function(e,t,a){var n={ownerEmailAddress:e,folder:t,UID:a};await s.post("~/api/v1/mail/readreceipt/reject",n)},S.downloadEmlFile=async function(s,r,i){if(0===(i=D(i)).length)throw n.instant("MUST_SELECT");const d=a((function(){const e=t.stProgressBar().title(n.instant("DOWNLOADING")).barText("").close(n.instant("DOWNLOAD_IN_BACKGROUND")).showCancel(!1).enableButtons(!0).autoClose(!0).percentProgress(-1).guid("eml-download").progressListener("eml-download.finished");t.show(e)}),1e3);try{const e="~/api/v1/mail/messages-export",t=g.reactPluralize("FILENAME_MESSAGES_WITH_COUNT",{count:i.length}),a=1===i.length?`${t}-${i[0]}.eml`:`${t}.zip`,n={OwnerEmailAddress:s,Folder:r,UID:i};await o.downloadFile(e,a,n)}finally{a.cancel(d),e.$broadcast("eml-download.finished",{guid:"eml-download",current:-1})}},S.popupReplyWindow=function(e,s,t,a){if(!t)return null;const n=w.makeComposePacket({owner:e,folder:s,uid:t,reply:a||1}),r=w.getPopoutComposeUrl(n);return window.open(r,"","resizable=1, "+d.dimensions.email)},S.markSpam=async function(e,t,a){a=D(a);var n={ownerEmailAddress:e,folder:t,UID:a,markSpam:!0};await s.post("~/api/v1/mail/messages-patch",n)},S.markNotSpam=async function(e,t,a){a=D(a);var n={ownerEmailAddress:e,folder:t,UID:a,markNotSpam:!0};await s.post("~/api/v1/mail/messages-patch",n)},S.blockSender=async function(a,r,o,d,c,u){try{var m={blockedSenders:o,sourceFolder:r,sourceOwner:a,isSender:u};const w=await s.post("~/api/v1/settings/block-senders",m);var p=w.data.results.length!=Object.keys(o).length||d?"CONFIRMATIONS_BLOCKED_NOT_GAL_":"SENDERS_BLOCKED_";const g=i.userSettings.blockedSenderAction;switch(g){case 1:p+="junk e-mail"!=r.toLowerCase()?g:"0";break;case 2:p+="deleted items"!=r.toLowerCase()?g:"0";break;default:p+=g}if(w.data.results.length==Object.keys(o).length){let e=n.instant("SENDERS_BLOCKED_0");"SENDERS_BLOCKED_0"!==p&&(e+=" "+n.instant(p)),l.report(e)}else{let e=n.instant("CONFIRMATIONS_BLOCKED_NOT_GAL_0");if("CONFIRMATIONS_BLOCKED_NOT_GAL_0"!==p&&(e+=" "+n.instant(p)),c){let s=t.notify().title(n.instant("BLOCKED_SENDERS")).textContent(e).ok(n.instant("OK"));t.show(s)}else l.report(p)}return i.userSettings.blockedSenders=(i.userSettings.blockedSenders||[]).concat(w.data.results),e.$broadcast("restricted-addresses-updated"),!0}catch(e){return!1}},S.unblockSender=async function(t,a,n,r){var o={blockedSenders:n,sourceFolder:a,sourceOwner:t,isSender:r};const d=await s.post("~/api/v1/settings/unblock-senders",o);var c=r&&"inbox"!==a.toLowerCase()?"SENDERS_UNBLOCKED_MOVED":"SENDERS_UNBLOCKED";l.report(c);for(var u=i.userSettings.blockedSenders.length-1;u>=0;u--)d.data.results.indexOf(i.userSettings.blockedSenders[u])>-1&&i.userSettings.blockedSenders.splice(u,1);e.$broadcast("restricted-addresses-updated")},S.trustSender=async function(t,a,n,r){var o={uids:n,sourceOwner:t,sourceFolder:a,isSender:r};const d=await s.post("~/api/v1/mail/trust-senders",o);l.report(r&&"junk e-mail"===a.toLowerCase()?"SENDERS_TRUSTED_MOVED":"SENDERS_TRUSTED"),i.userSettings.whitelistAddresses=(i.userSettings.whitelistAddresses||[]).concat($.map(d.data.results,(function(e){return{value:e}}))),e.$broadcast("restricted-addresses-updated")},S.untrustSender=async function(a,r,o,d){var c={uids:o,sourceOwner:a,sourceFolder:r,isSender:d};const u=await s.post("~/api/v1/mail/untrust-senders",c);if(u.data.results.length==Object.keys(o).length)l.report("SENDERS_UNTRUSTED");else{var m=t.confirmDeletion().textContent(n.instant("CONFIRMATIONS_UNTRUSTED_NOT_GAL")).ok(n.instant("OK"));t.show(m)}for(var p=i.userSettings.whitelistAddresses.length-1;p>=0;
178p--)u.data.results.indexOf(i.userSettings.whitelistAddresses[p].value.toLowerCase())>-1&&i.userSettings.whitelistAddresses.splice(p,1);e.$broadcast("restricted-addresses-updated")},S.popupAddTaskModal=async function(s){var t,a=moment();a.minute(5*Math.round(a.minute()/5)),a.second(0);try{e.spinner.show();var n=(await Promise.all([u.getUsersCategories(c.user.username),m.init()]))[0].data;n=r("orderBy")(n,"name");var o={id:null,sourceId:null,sourceName:"",sourceOwner:"",subject:"",start:a.toDate(),due:moment(a).add(1,"h").toDate(),reminderIndex:0,priority:0,status:0,percentComplete:0,description:"",attachedMessageId:s.messageID,attachedMessage:{date:s.date,folder:s.folder,from:s.from,owner:s.ownerEmailAddress,subject:s.subject,to:s.to,uid:s.uid},sourcePermission:8};(t=window.open("","","resizable=1, "+d.dimensions.task)).sessionStorage.popoutData=JSON.stringify({isTask:!0,isPopout:!0,isNew:!0,taskInfo:o,categories:n}),window.location.href.indexOf("popout")>0?t.location.href=window.location.href.slice(0,window.location.href.indexOf("/popout/email"))+"/popout/task/new":t.location.href=window.location.hash.replace("/email","/popout/task/new")}catch(e){throw t.close(),e}finally{e.spinner.hide()}},S.popupInviteToMeetingPopup=async function(s){const t=function(e,s){return s&&s.email&&s.email.toLowerCase()!==c.user.emailAddress.toLowerCase()&&!e.some((e=>e.email===s.email.toLowerCase()))&&e.push({name:s.name,email:s.email.toLowerCase(),status:0,nonavail:null}),e},a=window.location.href.substring(0,window.location.href.indexOf("#/"));let n=null;try{const e=[].concat(s.toAddresses,s.ccAddresses);s.fromAddress&&e.push(s.fromAddress);const r=e.reduce(t,[]);n=window.open(`${a}#/popout/appointment/new`,"_blank","resizable=1, "+d.dimensions.calendar),n.localStorage.apptPopout=JSON.stringify({data:{organizerName:c.user.displayName,organizerEmail:c.user.emailAddress,attendees:r,subject:s.subject}})}catch(e){throw n&&n.close(),e}finally{e.spinner.hide()}},S.showPrintPopup=h,S.showPrintPopupAfterLoad=async function(e,t,a,n,r){var o=r?"~/api/v1/mail/archive-message":"~/api/v1/mail/message",i={Folder:t,UID:a,OwnerEmailAddress:e},d=await s.post(o,i);d.data.messageData.mode=n,await h(d.data.messageData)},S.loadRawContent=async function(e,t,a,n){const r={Folder:t,UID:a,OwnerEmailAddress:e};return(await s.post(n?"~/api/v1/mail/archive-message/raw":"~/api/v1/mail/message/raw",r)).data}}e.$inject=["$rootScope","$http","$mdDialog","$timeout","$translate","$filter","coreDataFileStorage","coreDataSettings","popupService","successHandling","coreData","coreDataCategories","coreDataTasks","coreDataMail","emailNavigation","i18n","errorHandling"],angular.module("smartermail").service("emailFunctions",e)}();
179!function(){"use strict";function t(t,e){var n=this;n.acceptInvite=async function(e,n,a,o,i){const l=`~/api/v1/calendars/meeting-accept/${e}/${n}/${a}`,c=JSON.stringify({meetingInfoRaw:o,replyingComment:i});await t.post(l,c)},n.declineInvite=async function(e,n,a,o,i){const l=`~/api/v1/calendars/meeting-decline/${e}/${n}/${a}`,c=JSON.stringify({meetingInfoRaw:o,replyingComment:i});await t.post(l,c)},n.deleteInvite=async function(e,n,a,o){const i=`~/api/v1/calendars/meeting-delete/${e}/${n}/${a}`;var l=o?{instanceStart:o}:{};await t.post(i,l)},n.showAvailabilityModal=function(t,n,a){var o={start:t,attendees:n};e.show({locals:{eventInfo:{info:o},date:new Date(t.dt)},controller:"calAvailabilityController",controllerAs:"ctrl",templateUrl:"app/calendars/modals/calendar-availability.dlg.html",targetEvent:a,clickOutsideToClose:!1})},n.tentativeAcceptInvite=async function(e,n,a,o,i){const l=`~/api/v1/calendars/meeting-tentatively-accept/${e}/${n}/${a}`,c=JSON.stringify({meetingInfoRaw:o,replyingComment:i});await t.post(l,c)},n.openProposeChangesModal=async function(t,n,a,o,i){let l=moment(n.dt).utcOffset();const c=moment.tz(moment(),n.tz).utcOffset()-l;let r=moment.tz(n.dt,n.tz).add(c,"m").utc().toDate(),s={locals:{eventInfo:t,date:r,id:a,replyingComment:i,fromEmail:!0},controller:"calendarEventProposeController",controllerAs:"calendarEventProposeCtrl",templateUrl:"app/calendars/modals/calendar-event-propose.dlg.html",targetEvent:o};await e.show(s)}}t.$inject=["$http","$mdDialog"],angular.module("smartermail").service("emailInviteFunctions",t)}();
180!function(){"use strict";function e(e){var o=this;function t(e){return encodeURIComponent(utf8ToBase64(JSON.stringify(e))).replace(/%2f/gi,"%252f")}o.parsePopoutPacket=function(e){if(!e)return{};const o=base64ToUtf8(decodeURIComponent(e.replace(/%252f/gi,"%2f")));return JSON.parse(o)},o.makeComposePacket=function(o){let t={};o&&o.sid&&(t.sid=o.sid);o&&o.owner&&(t.owner=o.owner);o&&o.folder&&(t.folder=o.folder);o&&o.id&&(t.uid=o.id,t.id=o.id);o&&o.uid&&(t.uid=o.uid,t.id=o.uid);o&&o.attachEmails&&(t.attachEmails=o.attachEmails);o&&o.to&&(t.to=o.to);
180o&&o.reply&&(t.reply=o.reply);t.owner||(t.owner=e.getEmailAddress());return t},o.makeEmailPacket=function(o,t,i,r,a){let n={};i>0?n={owner:o,folder:t,uid:i,mid:r,id:i}:r>0&&(n={owner:o,folder:t,uid:i,mid:r,id:r});a&&a.mode&&(n.mode=a.mode);a&&a.markRead&&(n.markRead=a.markRead);a&&a.softReload&&(n.softReload=a.softReload);n.owner||(n.owner=e.getEmailAddress());return n},o.makeArchivePacket=function(e,o,t){let i={type:"archive",searchGuid:e,uid:o,id:o};t&&t.mode&&(i.mode=t.mode);return i},o.makeSpoolPacket=function(e,o,t,i){let r={type:"spool",spoolName:e,fileName:o,quarantine:t};i&&i.mode&&(r.mode=i.mode);return r},o.getPopoutUrl=function(e){const o=t(e);return"spool"===e.type?`#/popout/email/view-spool/${o}`:"archive"===e.type?`#/popout/email/view-archive/${o}`:`#/popout/email/view/${o}`},o.getPopoutComposeUrl=function(e){return`#/popout/email/compose/${t(e)}`}}e.$inject=["claimsService"],angular.module("smartermail").service("emailNavigation",e)}();
181!function(){"use strict";function e(e,s,t,a,n,o,i){var l=this;l.loadMessage=async function(e,t,a){const n=JSON.stringify({spoolInput:[{fileName:e,spoolName:t}]}),o=a?"~/api/v1/settings/sysadmin/quarantine-message":"~/api/v1/settings/sysadmin/spool-message",i=await s.post(o,n);return 0===i.data.messages.length&&i.data.message?null:i.data.messages[0]},l.loadRawContent=async function(e,t,a){const n={Folder:searchGuid,UID:uid,OwnerEmailAddress:searchGuid};return(await s.post("~/api/v1/mail/archive-message/raw",n)).data},l.popupRecipientsModal=async function(e,a,n){const o=JSON.stringify({spoolInput:[{fileName:e.replace(".eml",""),spoolName:a}]}),i=await s.post("~/api/v1/settings/sysadmin/spool-message-recipients",o);t.show({locals:{recipients:i.data.spoolMessageRecipients,statuses:{0:"COMPLETED",1:"PENDING"}},controller:"spoolViewRecipientsController",controllerAs:"spReCtrl",templateUrl:"app/sysadmin/manage/modals/admin-spool-view-recipients.dlg.html",targetEvent:n}).then((function(){}),(function(){}))},l.downloadEmlFile=async function(e,s,t){const a=t?`${n.instant("SPOOL_QUARANTINED")}-${e}`:e;await o.downloadLargeFile("~/api/v1/settings/sysadmin/spool-messages-export/",a,{fileName:[e],spoolName:[s]},"eml-download")},l.deleteMessage=async function(e,a,o){if(!o)try{const e=t.confirmDeletion({textContent:i.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:1}),ok:n.instant("DELETE")});await t.show(e)}catch(e){return!1}const l=JSON.stringify({spoolInput:[{fileName:e.replace(".eml",""),spoolName:a}]});return await s.post("~/api/v1/settings/sysadmin/spool-delete-message",l),!0}}e.$inject=["$rootScope","$http","$mdDialog","$timeout","$translate","coreDataFileStorage","i18n"],angular.module("smartermail").service("emailSpoolFunctions",e)}();
182!function(){"use strict";angular.module("smartermail").service("emailTracker",(function(){this.replaceTracker=function(s,i){function r(s,i,r){return s.replaceAll(i,'$1 src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" trackerid="'+r+'" trackerurl=$2 $3')}try{if(""==(i=i.toLowerCase()));else{if("mailchimp"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:list-manage\.com)[^"'\s]*?['"])([^>]*>)/gi,"mailchimp");if("sendgrid"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:\/wf\/open\?upn=)[^"'\s]*?['"])([^>]*>)/gi,"sendgrid");if("drip"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:dripemail2)[^"'\s]*?['"])([^>]*>)/gi,"drip");if("mailgun"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:https?:\/\/[^\/]+(?:\/[^\/]+)?\/o\/.+?)[^"'\s]*?['"])([^>]*>)/gi,"mailgun");if("streak"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:mailfoogae\.appspot\.com)[^"'\s]*?['"])([^>]*>)/gi,"streak");if("bananatag"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:bl-1\.com)[^"'\s]*?['"])([^>]*>)/gi,"bananatag");if("yesware"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:t\.yesware\.com)[^"'\s]*?['"])([^>]*>)/gi,"yesware");if("postmark"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:pstmrk\.it\/open)[^"'\s]*?['"])([^>]*>)/gi,"postmark");if("sidekick"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:sidekickopen)[^"'\s]*?['"])([^>]*>)/gi,"sidekick");if("tinyletter"==i)return r(s,/(<img[^>
182]+)src\s*=\s*(['"][^"'\s]*?(?:tinyletterapp\.com)[^"'\s]*?['"])([^>]*>)/gi,"tinyletter");if("mixmax"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:mixmax\.com\/e\/o)[^"'\s]*?['"])([^>]*>)/gi,"mixmax");if("mailtrack"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:mailtrack\.io\/trace\/mail\/)[^"'\s]*?['"])([^>]*>)/gi,"mailtrack");if("toutapp"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:toutapp\.com)[^"'\s]*?['"])([^>]*>)/gi,"toutapp");if("litmus"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:emltrk\.com)[^"'\s]*?['"])([^>]*>)/gi,"litmus");if("boomerang"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:mailstat\.us\/tr)[^"'\s]*?['"])([^>]*>)/gi,"boomerang");if("contactmonkey"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:contactmonkey\.com\/api\/v1\/tracker)[^"'\s]*?['"])([^>]*>)/gi,"contactmonkey");if("cirrusinsight"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:tracking\.cirrusinsight\.com)[^"'\s]*?['"])([^>]*>)/gi,"cirrusinsight");if("convertkit"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:convertkit-mail\.com\/o\/)[^"'\s]*?['"])([^>]*>)/gi,"convertkit");if("polymail"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:share\.polymail\.io)[^"'\s]*?['"])([^>]*>)/gi,"polymail");if("yamm"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:yamm-track\.appspot)[^"'\s]*?['"])([^>]*>)/gi,"yamm");if("getresponse"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:\/open\.html\?x=)[^"'\s]*?['"])([^>]*>)/gi,"getresponse");if("phplist"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:\/ut\.php\?u=)[^"'\s]*?['"])([^>]*>)/gi,"phplist");if("close.io"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:close\.io\/email_opened)[^"'\s]*?['"])([^>]*>)/gi,"close.io");if("constantcontact"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:\.net\/on\.jsp\?)[^"'\s]*?['"])([^>]*>)/gi,"constantcontact");if("marketo"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:\/trk\?t=)[^"'\s]*?['"])([^>]*>)/gi,"marketo");if("returnpath"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:returnpath\.net\/pixel\.gif)[^"'\s]*?['"])([^>]*>)/gi,"returnpath");if("outreach"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:getoutreach\.com\/api\/mailings\/opened)[^"'\s]*?['"])([^>]*>)/gi,"outreach");if("intercom"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:\/\/(?:.*)\.intercom-[a-zA-Z0-9]+\.com(?:\/via)?\/[a-z]\/)[^"'\s]*?['"])([^>]*>)/gi,"intercom");if("mailjet"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:\/oo\/.*\.gif)[^"'\s]*?['"])([^>]*>)/gi,"mailjet");if("nethunt"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:nethunt\.com\/api\/v1\/track\/email\/)[^"'\s]*?['"])([^>]*>)/gi,"nethunt");if("superhuman"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:r\.superhuman\.com)[^"'\s]*?['"])([^>]*>)/gi,"superhuman");if("apple"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:apple\.com\/report\/2\/its_mail_sf)[^"'\s]*?['"])([^>]*>)/gi,"apple");if("fastmail"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:list-manage.com\/track\/open\.php)[^"'\s]*?['"])([^>]*>)/gi,"fastmail");if("freshmail"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:mail\.mailnews\.pl\/o\/.*)[^"'\s]*?['"])([^>]*>)/gi,"freshmail");if("activecampaign"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:\/lt\.php(?:.*)\?l=open)[^"'\s]*?['"])([^>]*>)/gi,"activecampaign");if("aweber"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:openrate\.aweber.com)[^"'\s]*?['"])([^>]*>)/gi,"aweber");if("getnotify"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:email81\.com\/case)[^"'\s]*?['"])([^>]*>)/gi,"getnotify");if("growthdot"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:growthdot\.com\/api\/mail-tracking)[^"'\s]*?['"])([^>]*>)/gi,"growthdot");if("hubspot"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:\/e2t\/to\/)[^"'\s]*?['"])([^>]*>)/gi,"hubspot");if("mailspring"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:getmailspring\.com\/open)[^"'\s]*?['"])([^>]*>)/gi,"mailspring");if("mandrill"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:mandrillapp\.com\/track)[^"'\s]*?['"])([^>]*>)/gi,"mandrill");if("mixpanel"==i)return r(s,/(<img[^>
182]+)src\s*=\s*(['"][^"'\s]*?(?:mixpanel\.com\/tr(?:ac)?k)[^"'\s]*?['"])([^>]*>)/gi,"mixpanel");if("sparkpost"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:go\.sparkpostmail(?:2)?\.com\/q\/)[^"'\s]*?['"])([^>]*>)/gi,"sparkpost");if("salesforce"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:beacon\.krxd\.net)[^"'\s]*?['"])([^>]*>)/gi,"salesforce");if("persistiq"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:infinite-stream-5194\.herokuapp\.com\/pixel\/)[^"'\s]*?['"])([^>]*>)/gi,"persistiq");if("sailthru"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:sailthru\.com\/trk)[^"'\s]*?['"])([^>]*>)/gi,"sailthru");if("trackapp"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:trackapp\.io\/[a-z]\/)[^"'\s]*?['"])([^>]*>)/gi,"trackapp");if("sendinblue"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:sendibww\.com\/track\/)[^"'\s]*?['"])([^>]*>)/gi,"sendinblue");if("segment"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:email\.segment\.com\/e\/o\/)[^"'\s]*?['"])([^>]*>)/gi,"segment");if("salesloft"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:salesloftlinks\.com\/t\/)[^"'\s]*?['"])([^>]*>)/gi,"salesloft");if("saleshandy"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:shhtrk\.com)[^"'\s]*?['"])([^>]*>)/gi,"saleshandy");if("shopify"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:\/tools\/emails\/open\/)[^"'\s]*?['"])([^>]*>)/gi,"shopify");if("amazonses"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:\/[a-zA-Z0-9]*I0\/[a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9]-[a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9]-[a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9])[^"'\s]*?['"])([^>]*>)/gi,"amazonses");if("humblebundle"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:sptrack\.mailer\.humblebundle\.com\/q\/)[^"'\s]*?['"])([^>]*>)/gi,"humblebundle");if("milesmore"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:t\.mailing\.milesandmore\.com\/r\/)[^"'\s]*?['"])([^>]*>)/gi,"milesmore");if("targito"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:e\.targito\.com\/oe)[^"'\s]*?['"])([^>]*>)/gi,"targito");if("mailbird"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:tracking\.getmailbird\.com\/OpenTrackingPixel\/)[^"'\s]*?['"])([^>]*>)/gi,"mailbird");if("mailforce"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:link\.mailforce\.cz\/Open\.ashx)[^"'\s]*?['"])([^>]*>)/gi,"mailforce");if("mailbutler"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:\.mailbutler\.org\/.*x\.gif\?contactid=.*)[^"'\s]*?['"])([^>]*>)/gi,"mailbutler");if("snrlink"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:snrlink-page\.com\/\?q=.*)[^"'\s]*?['"])([^>]*>)/gi,"snrlink");if("gmailtrack"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:gmailtrack-main.cloudfunctions.net\/api\/trackingLogger)[^"'\s]*?['"])([^>]*>)/gi,"gmailtrack");if("snrlink2"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:snrlink-page\.com\/v2\/\?q=.*)[^"'\s]*?['"])([^>]*>)/gi,"snrlink2");if("emaillabs"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:emaillabs\.info\.pl\/open\/\?ot=.*)[^"'\s]*?['"])([^>]*>)/gi,"emaillabs");if("smartemailing"==i)return r(s,/(<img[^>]+)src\s*=\s*(['"][^"'\s]*?(?:https:\/\/.+\.seurl.cz\/email-audience\/opened\?.*)[^"'\s]*?['"])([^>]*>)/gi,"smartemailing")}}catch(s){console.error("Failed to remove tracker: ",i,s)}return s}}))}();
183!function(){"use strict";function e(e,s,a,i){var n=this,g=0;n.message={},n.messageCategories=[],n.markAsReadQueue=[],n.messageLoaded=!1,n.navigationPacket={},n.reloadCategories=function(){n.messageLoaded?(i.categoryOwner=n.message.ownerEmailAddress,n.messageCategories=i.getCategories()):n.messageCategories=[],n.messageCategories.forEach((function(e){e.selected=!1})),n.message&&n.message.categories&&(n.messageCategories=n.message.categories.reduce((function(s,a){const i=s.find((e=>e.name===a));if(i)i.selected=!0;else{var n=e("translate")(a);s.push({name:a,colorIndex:-1,master:!1,translatedName:n,selected:!0})}return s}),n.messageCategories))},n.prop={get AmIMessageOwner(){return n.message&&(!n.message.ownerEmailAddress||""===n.message.ownerEmailAddress||n.message.ownerEmailAddress===s.user.emailAddress)},get fullAccess(){return this.AmIMessageOwner||2!==this.access}
183,get access(){return g},set access(e){g=e}};var r={hasSeen:!1,hasUnseen:!1,isDraft:!1,hasFlagged:!1,hasUnflagged:!1,isDeleted:!1,isDelay:!1};n.selection=r,n.getMessage=function(){return n.message},n.loadMessage=function(e){n.message=e,n.messageLoaded=void 0!==n.message.uid,n.messageLoaded&&n.refreshSelection([n.message]),n.message.meetingInfo&&(a.loadMeetingInfo(n.message.meetingInfo),n.message.meetingInfo.prop=a.prop,n.message.meetingInfo.showAccept=n.message.meetingInfo.showAccept&&!n.message.isDeleted&&!n.message.meetingInfo.isOrganizer,n.message.meetingInfo.showDecline=n.message.meetingInfo.showAccept),n.message.ownerEmailAddress&&""!==n.message.ownerEmailAddress||(n.message.ownerEmailAddress=s.user.emailAddress),n.reloadCategories()},n.unloadMessage=function(){n.messageLoaded=!1,n.message={},n.selection=r,a.loadMeetingInfo(null)},n.refreshSelection=function(e){n.selection.isDraft=e.every((e=>e.isDraft||!1)),n.selection.hasSeen=e.some((e=>e.isSeen||!1)),n.selection.hasFlagged=e.some((e=>e.isFlagged||!1)),n.selection.hasUnseen=e.some((e=>!e.isSeen)),n.selection.hasUnflagged=e.some((e=>!e.isFlagged)),n.selection.isDeleted=e.every((e=>e.isDeleted||!1)),n.selection.isDelay=e.every((e=>e.isDelay||!1)),n.message&&(a.loadMeetingInfo(n.message.meetingInfo),n.message.meetingInfo&&(n.message.meetingInfo.prop=a.prop))},n.ownerHasCategories=function(){if(void 0===n.message)return!1;var e=n.message.ownerEmailAddress;if(void 0===e||e.length<1)return!1;var s=n.sharedMessageCategories[e];return void 0!==s&&void 0!==s.categories&&s.categories.length>0},n.getOwnersCategories=function(){if(void 0!==n.message){var e=n.message.ownerEmailAddress;if(!(void 0===e||e.length<1)){var s=n.sharedMessageCategories[e];if(void 0!==s&&void 0!==s.categories)return s.categories}}}}e.$inject=["$filter","userDataService","meetingInfoData","apiCategories"],angular.module("smartermail").service("messageData",e)}();
184!function(){"use strict";function t(t,n,e,i,a,s,r){var o=this;o.init=u,o.isInit=!1,o.galContacts=[],o.galContactsData=[],o.domainAliases=[];var c,l=s.spinner||new r;function u(){return o.isInit?t.when():(c||(c=function(){const i=[n.get("~/api/v1/contacts/domain/"),n.get("~/api/v1/settings/domain/domain-aliases"),e.init()];return t.all(i).then((function(t){const n=t?.[0]?.data?.contacts??[];o.galContactsData=n.slice();const e=n.flatMap((t=>(t.emailAddressList??[]).map((t=>t.toLowerCase()))));return o.galContacts=[...new Set([...o.galContacts,...e])],o.domainAliases=$.map(t[1].data.domainAliasData,(function(t){return t.name.toLowerCase()}))||[],o.isInit=!0,t}),(function(t){throw o.isInit=!1,c=null,t}))}()),c)}function d(t){if(!t)return{domainAlias:!1,email:""};t=t.toLowerCase(),o.isInit||c||o.isInit||0!==o.domainAliases.length||u();var n=t.split("@"),e=n.length>1?n[1]:t;return o.domainAliases&&o.domainAliases.indexOf(e)>-1?{domainAlias:!0,email:n[0]+"@"+a.user.domain}:{domainAlias:!1,email:t}}o.isBlockedSender=function(e){if(!(e=d(e).email))return t.when({isTrusted:!1,trustSource:"NONE"});const i=t.defer();var a=JSON.stringify({email:e});return n.post("~/api/v1/settings/sender-blocked/",a).then((function(t){i.resolve(t.data.result)}),(function(t){console.warn(t),i.reject(t)})),i.promise},o.isTrustedSender=function(e){if(!(e=d(e).email))return t.when({isTrusted:!1,trustSource:"NONE"});const i=t.defer();var a=JSON.stringify({email:e});return n.post("~/api/v1/settings/sender-trusted/",a).then((function(t){t.data.trustSource||(t.data.trustSource="NONE"),i.resolve(t.data)}),(function(t){console.warn(t),i.reject(t)})),i.promise},o.isSenderInGAL=function(e){if(o.isInit||o.galContacts.length>0)return e=d(e).email,t.when(-1!==o.galContacts.indexOf(e));{const i=t.defer(),a=JSON.stringify({email:e});return n.post("~/api/v1/settings/is-sender-in-gal",a).then((function(t){return!!t.data.Result&&t.data.Result}),(function(t){return console.warn(t),!1})),i.promise}},o.convertEmailFromDomainAlias=d,o.getGalContacts=function(){if(o.isInit||o.galContacts.length>0)return t.when(o.galContacts);if(c)return c.then((function(){return l.hide(),o.galContacts})).catch((function(t){throw l.hide(),console.warn(t),t}));return t.when(o.galContacts)}}t.$inject=["$q","$http","coreDataSettings","coreDataContacts","userDataService","$rootScope","spinnerFactory"],angular.module("smartermail").service("restrictedSenders",t)}();
185!function(){"use strict";
185function e(e,t,a,s,n,o,i,c,r,l,m,d,p,g,E){var T=this,u=l.parsePopoutPacket(a.packet);function N(e){80==e.keyCode&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),T.message.mode=T.mode,c.showPrintPopup(T.message))}function w(t,a){var n=document.getElementById("spoolViewFrame");n&&n.contentWindow&&n.contentWindow.setHTML?(t.translations=t.translations||{},t.translations.MESSAGE_HAS_NO_TEXT_CONTENT=i.instant("MESSAGE_HAS_NO_TEXT_CONTENT"),t.translations.MESSAGE_HAS_NO_HTML_CONTENT=i.instant("MESSAGE_HAS_NO_HTML_CONTENT"),t.translations.MESSAGE_ENCRYPTED_CANNOT_VIEW=i.instant("MESSAGE_ENCRYPTED_CANNOT_VIEW"),t.translations.MESSAGE_SIGNED=i.instant("MESSAGE_SIGNED"),n.contentWindow.setHTML(t,a),e.$applyAsync((()=>T.iFrameLoaded=!0))):s((function(){w(t,a)}),200)}T.loading=!0,T.message=null,T.mode="text",T.isQuarantineMessage=!!u.quarantine,T.iFrameLoaded=!1,T.messageDoesNotExist=!1,T.mode=u.mode||"text",T.closeWindow=function(){window.close()},T.deleteClicked=async function(){try{let e=u.fileName,t=u.spoolName;await r.deleteMessage(e,t,!1)&&("function"==typeof window.opener.refreshSpool&&window.opener.refreshSpool(),window.close())}catch(e){m.showErrorMessage(e)}},T.viewSpoolRecipients=async function(e){try{await r.popupRecipientsModal(u.fileName,u.spoolName,e)}catch(e){p.report(e)}},T.onDownloadRaw=async function(){try{await r.downloadEmlFile(u.fileName,u.spoolName,u.quarantine)}catch(e){p.report(e)}},T.viewAsClicked=async function(e){try{T.mode=e,w(T.message,T.mode)}catch(e){p.report(e)}},T.showAttachmentsModal=async function(){try{await o.show({locals:{message:T.message},controller:"emailAttachmentsController",templateUrl:"app/email/modals/attachments.dlg.html",clickOutsideToClose:!0})}catch(e){}},T.copyContentToClipboard=async function(){try{let e="";switch(T.mode){case"text":e=T.message.messagePlainText;break;case"raw":e=T.message.raw;break;case"hdr":e=T.message.hdr;break;default:throw"View type cannot be copied to clipboard"}navigator.clipboard.writeText(e),g.report(i.instant("COPIED_TO_CLIPBOARD"))}catch(e){p.report(e)}},T.$onInit=function(){E.init(),$(document).on("keydown",N),n.addClass("message-view-spool"),async function(){const a=e.spinner||new d;try{a.show(),T.loading=!0;const e=await r.loadMessage(u.fileName,u.spoolName,!!u.quarantine),t="["+i.instant("MESSAGE_HAS_NO_TEXT_CONTENT")+"]",s="["+i.instant("MESSAGE_HAS_NO_HTML_CONTENT")+"]";if(T.messageDoesNotExist=!e,e){T.message=e,T.message.raw=e.raw||i.instant("NO_CONTENT_TO_SHOW"),T.message.hdr=e.hdr||i.instant("NO_CONTENT_TO_SHOW");let a=e.messagePlainText;if(T.message.messagePlainText=e.messagePlainText||t,e.messageHtml)T.message.messageHTML=e.messageHtml;else{const e=/\r\n|\n/gm,t=$("<div>").text(a||s).html();T.message.messageHTML=t.replace(e,"<br>")}T.message.toAddresses=[e.to],T.message.cc=[e.cc],T.message.bcc=[e.bcc],T.message.date=new Date(e.date),E.convertLocalToUserTime(T.message.date).then((function(e){e.getSeconds()>=30&&e.setMinutes(e.getMinutes()+1),e.setSeconds(0),T.message.userDate=e,T.message.userDataMoment=moment(e).calendar()}),(function(){})),w(T.message,T.mode)}}catch(e){T.messageDoesNotExist=!0,p.report()}finally{T.loading=!1,a.hide()}t.$applyAsync((function(){}))}()},T.$onDestroy=function(){$(document).off("keydown",N)}}e.$inject=["$rootScope","$scope","$stateParams","$timeout","$element","$mdDialog","$translate","emailFunctions","emailSpoolFunctions","emailNavigation","errorMessageService","spinnerFactory","errorHandling","successHandling","userTimeService"],angular.module("smartermail").component("messageViewSpool",{templateUrl:"app/email/spool/view-spool.component.html",controller:e})}();
186!function(){"use strict";function e(e,o,t,n){e.controller=this,e.selectedNode="",e.title="Document Status",e.fileid=n,e.done=function(){o.hide({success:!0}),t.post("~/wopi/ForceCloseDocument",JSON.stringify(n),{headers:{"Content-Type":"application/json"}}).then((function(e){console.log("File ID posted successfully:",e.data)})).catch((function(e){console.error("Error posting file ID:",e)}))},e.cancel=function(){o.cancel()}}e.$inject=["$scope","$mdDialog","$http","fileid"],angular.module("smartermail").controller("documentStatusDlgController",e)}();
187!function(){"use strict";function o(o,e,n){o.folderInfo=$.extend(!0,{},n),o.name=o.folderInfo.name,o.oldName=n.name,o.oldPath=n.path,o.save=function(){e.hide({folderInfo:{count:o.folderInfo.count,files:o.folderInfo.files,key:o.folderInfo.key,name:o.name,path:o.folderInfo.path,size:o.folderInfo.size,subFolders:o.folderInfo.subFolders},oldInfo:{oldName:o.oldName,oldPath:o.oldPath}})},o.cancel=function(){e.cancel()}}o.$inject=["$scope","$mdDialog","folderInfo"],angular.module("smartermail").controller("fsEditFolderController",o)}();
188!function(){"use strict";function e(e,l,r,d,t){e.controller=this,e.selectedNode="",e.title="MOVE_FOLDER",e.folders=$.grep(d,(function(e){return e.path!==t&&2!==e.access&&-1===e.path.indexOf("86bc2a5f-89d8-4e76-a3e8-c53cbebe565d")&&-1===e.path.indexOf("PUBLIC_CHAT_FILES")})),e.selectedFolder=JSON.parse(JSON.stringify(e.folders[0])),void 0!==e.selectedFolder.translatedName&&(e.selectedFolder.translatedName=e.selectedFolder.translatedName.replaceAll(" ","")),e.selectedFolder.name=e.selectedFolder.name.replaceAll(" ",""),e.onFolderChanged=function(l){e.selectedFolder=JSON.parse(JSON.stringify(l)),void 0!==e.selectedFolder.translatedName&&(e.selectedFolder.translatedName=l.translatedName.replaceAll(" ","")),e.selectedFolder.name=l.name.replaceAll(" ","")};for(var a=0;a<e.folders.length;a++)e.folders[a].displayPath=r("translate")("MY_FILES")+e.folders[a].path;e.done=function(){l.hide({success:!0,folder:e.selectedFolder.path,owner:e.selectedFolder.ownerEmailAddress})},e.cancel=function(){l.cancel()}}e.$inject=["$scope","$mdDialog","$filter","folders","folder"],angular.module("smartermail").controller("moveFolderControllerFileStorage",e)}();
189!function(){"use strict";
189function e(e,r,n,t,a){e.treeData=[],e.treeController={},e.treeData=$.extend(!0,[],t.treeData),e.name="",e.folders=a,e.folders=$.grep(e.folders,(function(e){return!(e.path.indexOf("86bc2a5f-89d8-4e76-a3e8-c53cbebe565d")>-1)&&!(e.path.indexOf("PUBLIC_CHAT_FILES")>-1)})),e.currentFolder=JSON.parse(JSON.stringify(e.folders[0])),void 0!==e.currentFolder.translatedName&&(e.currentFolder.translatedName=e.currentFolder.translatedName.replaceAll(" ","")),e.currentFolder.name=e.currentFolder.name.replaceAll(" ",""),t.parentFolderPath.indexOf("86bc2a5f-89d8-4e76-a3e8-c53cbebe565d")>-1||t.parentFolderPath.indexOf("PUBLIC_CHAT_FILES")>-1?e.currentFolder=a.find((e=>"/"===e.path)):e.currentFolder=a.find((e=>e.path===t.parentFolderPath)),e.onFolderChanged=function(r){e.currentFolder=JSON.parse(JSON.stringify(r)),void 0!==e.currentFolder.translatedName&&(e.currentFolder.translatedName=r.translatedName.replaceAll(" ","")),e.currentFolder.name=r.name.replaceAll(" ","")},e.save=function(){r.hide({folderInfo:{folder:e.name,parentFolder:e.currentFolder.path}})},e.cancel=function(){r.cancel()}}e.$inject=["$scope","$mdDialog","$filter","folderInfo","folders"],angular.module("smartermail").controller("fsNewFolderController",e)}();
190!function(){"use strict";function e(e,n,i,a,t,l,o,u,r){e.fileInfo=$.extend(!0,{},o),console.debug("fileInfo",o),e.deleted=!1,e.publishedUntil=e.fileInfo.publishedUntil?moment(e.fileInfo.publishedUntil).toDate():"",e.publishedUntil=e.publishedUntil<new Date?"":e.publishedUntil,e.publishedUntilString=a("date")(e.publishedUntil,"short"),e.expirationOptions=[{shorthand:"na",value:0,name:t.instant("NONE")},{shorthand:"h",value:1,name:r.reactPluralize("REMINDER_HOURS",{count:1})},{shorthand:"h",value:2,name:r.reactPluralize("REMINDER_HOURS",{count:2})},{shorthand:"h",value:3,name:r.reactPluralize("REMINDER_HOURS",{count:3})},{shorthand:"h",value:4,name:r.reactPluralize("REMINDER_HOURS",{count:4})},{shorthand:"h",value:8,name:r.reactPluralize("REMINDER_HOURS",{count:8})},{shorthand:"h",value:8,name:r.reactPluralize("REMINDER_HOURS",{count:12})},{shorthand:"d",value:1,name:r.reactPluralize("REMINDER_DAYS",{count:1})},{shorthand:"d",value:2,name:r.reactPluralize("REMINDER_DAYS",{count:2})},{shorthand:"d",value:3,name:r.reactPluralize("REMINDER_DAYS",{count:3})},{shorthand:"d",value:4,name:r.reactPluralize("REMINDER_DAYS",{count:4})},{shorthand:"d",value:5,name:r.reactPluralize("REMINDER_DAYS",{count:5})},{shorthand:"w",value:1,name:r.reactPluralize("REMINDER_WEEKS",{count:1})},{shorthand:"w",value:2,name:r.reactPluralize("REMINDER_WEEKS",{count:2})},{shorthand:"w",value:3,name:r.reactPluralize("REMINDER_WEEKS",{count:3})},{shorthand:"M",value:1,name:r.reactPluralize("REMINDER_MONTHS",{count:1})},{shorthand:"M",value:6,name:r.reactPluralize("REMINDER_MONTHS",{count:6})},{shorthand:"y",value:1,name:r.reactPluralize("REMINDER_YEARS",{count:1})}],e.expirationOption=e.expirationOptions[0],e.fileInfo.isChatFile="/PUBLIC_CHAT_FILES/"===e.fileInfo.folderPath,e.fileInfo.isOnlineMeetingFile=e.fileInfo.folderPath.indexOf("86bc2a5f-89d8-4e76-a3e8-c53cbebe565d")>-1,e.removeDate=function(){e.publishedUntil=""},e.$watch("fileInfo.published",(function(){e.fileInfo.published?n.get("~/api/v1/filestorage/"+e.fileInfo.id+"/getlink").then((function(n){var i=n.data.publicLink.startsWith("http")?n.data.publicLink:l.baseUrl+"/"+n.data.publicLink;/gif|png|jpe?g$/i.test(e.fileInfo.type)&&(i=i+"."+e.fileInfo.type),e.fileInfo.publicDownloadLink=i,e.fileInfo.shortLink=n.data.shortLink}),(function(){e.fileInfo.publicDownloadLink="",e.fileInfo.published=!1})):e.fileInfo.password=""})),e.copyLink=function(){$("#publicLink").select().trigger("focus"),document.execCommand("copy"),u.report("COPIED_TO_CLIPBOARD")},e.save=function(){i.hide({fileInfo:{dateAdded:e.fileInfo.dateAdded,newFileName:e.fileInfo.fileName,id:e.fileInfo.id,password:e.fileInfo.password,publicDownloadLink:e.fileInfo.publicDownloadLink,published:e.fileInfo.published,publishedUntil:e.expirationOption!==e.expirationOptions[0]?moment().add(e.expirationOption.value,e.expirationOption.shorthand).toDate():new Date("1000"),size:e.fileInfo.size,type:e.fileInfo.type,shortLink:e.fileInfo.shortLink}})},e.delete=function(){i.hide({deleted:!0}
190)},e.cancel=function(){i.cancel()}}e.$inject=["$scope","$http","$mdDialog","$filter","$translate","coreData","fileInfo","successHandling","i18n"],angular.module("smartermail").controller("fileDialogController",e)}();
191!function(){"use strict";function e(e,t,i,p){var n=this;n.exportOptions={"application/vnd.google-apps.document":[{display:"MS_WORD",extension:".docx",type:"application/vnd.openxmlformats-officedocument.wordprocessingml.document"},{display:"OPENDOCUMENT",extension:".odt",type:"application/vnd.oasis.opendocument.text"},{display:"RICH_TEXT",extension:".rtf",type:"application/rtf"},{display:"PDF",extension:".pdf",type:"application/pdf"},{display:"PLAIN_TEXT",extension:".txt",type:"text/plain"},{display:"HTML",extension:".zip",type:"application/zip"},{display:"EPUB",extension:".epub",type:"application/epub-zip"}],"application/vnd.google-apps.spreadsheet":[{display:"MS_EXCEL",extension:".xlsx",type:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"},{display:"OPENDOCUMENT",extension:".ods",type:"application/vnd.oasis.opendocument.spreadsheet"},{display:"PDF",extension:".pdf",type:"application/pdf"},{display:"HTML",extension:".zip",type:"application/zip"},{display:"CSV",limitText:"FIRST_SHEET_ONLY",extension:".csv",type:"text/csv"},{display:"TAB_SEPARATED_VALUES",limitText:"FIRST_SHEET_ONLY",extension:".tsv",type:"text/tab-separated-values"}],"application/vnd.google-apps.presentation":[{display:"MS_POWERPOINT",extension:".pptx",type:"application/vnd.openxmlformats-officedocument.presentationml.presentation"},{display:"OPENDOCUMENT",extension:".odp",type:"application/vnd.oasis.opendocument.presentation"},{display:"PDF",extension:".pdf",type:"application/pdf"},{display:"PLAIN_TEXT",extension:".txt",type:"text/plain"},{display:"JPEG",limitText:"FIRST_SLIDE_ONLY",extension:".jpg",type:"image/jpeg"},{display:"PNG",limitText:"FIRST_SLIDE_ONLY",extension:".png",type:"image/png"},{display:"SVG",limitText:"FIRST_SLIDE_ONLY",extension:".svg",type:"image/svg+xml"}],"application/vnd.google-apps.drawing":[{display:"PDF",extension:".pdf",type:"application/pdf"},{display:"JPEG",extension:".jpg",type:"image/jpeg"},{display:"PNG",extension:".png",type:"image/png"},{display:"SVG",extension:".svg",type:"image/svg+xml"}]}[p],n.fileName=i,n.mimeType=p,n.cancel=function(){e.cancel()},n.export=function(t){if(t.$invalid||!n.exportAs)return;e.hide({mime:n.exportAs.type,extension:n.exportAs.extension})},n.getOptionDisplay=function(e){var i=t.instant(e.display);e.limitText&&(i+=` (${t.instant(e.limitText)})`);return i+=` (${e.extension})`}}e.$inject=["$mdDialog","$translate","fileName","mimeType"],angular.module("smartermail").controller("googleExportController",e)}();
192!function(){"use strict";function e(e,l,r,t,d,o,n,a,s,c){l.controller=this,l.selectedNode="",l.title="MOVE_FILES",l.folders=c,l.folders=$.grep(l.folders,(function(e){return!(e.path.indexOf("86bc2a5f-89d8-4e76-a3e8-c53cbebe565d")>-1)&&!(e.path.indexOf("PUBLIC_CHAT_FILES")>-1)})),l.selectedFolder=JSON.parse(JSON.stringify(l.folders[0])),void 0!==l.selectedFolder.translatedName&&(l.selectedFolder.translatedName=l.selectedFolder.translatedName.replaceAll(" ","")),l.selectedFolder.name=l.selectedFolder.name.replaceAll(" ",""),l.onFolderChanged=function(e){l.selectedFolder=JSON.parse(JSON.stringify(e)),void 0!==l.selectedFolder.translatedName&&(l.selectedFolder.translatedName=e.translatedName.replaceAll(" ","")),l.selectedFolder.name=e.name.replaceAll(" ","")};for(var i=0;i<l.folders.length;++i)l.folders[i].name=l.folders[i].name.replace("PUBLIC_CHAT_FILES",r("translate")("PUBLIC_CHAT_FILES"));l.done=function(){e.spinner.show(),n.moveFiles(a,l.selectedFolder).then((function(){e.spinner.hide(),t.hide()}),(function(l){e.spinner.hide(),t.hide({failure:l})}))},l.cancel=function(){t.cancel()}}e.$inject=["$rootScope","$scope","$filter","$mdDialog","$http","$timeout","coreDataFileStorage","selectedCards","folder","folders"],angular.module("smartermail").controller("fsMoveFilesController",e)}();
193!function(){"use strict";function e(e,t,a,n,i,o,s,r,l,c,d,u,f,E,p,m,S,v,g,y,C,h,N,_,I,A){let b=this;async function O(e,t){switch(e=(e=e.toString()).toLowerCase()){case"emclient":!function(){function e(e){b.countries=[],angular.forEach(e.data.results,(function(e){b.countries.push({key:e,translation:s("translate")("COUNTRY_CODE_"+e)})}))}a.get("~/api/v1/settings/domain/country-codes").then(e,f.report)}(),b.activeSections=[{title:u.instant("EMCLIENT_PAGE_1"),settings:[{key:"code",type:"input",label:u.instant("CODE"),value:b.verificationCode||""}]},{title:u.instant("EMCLIENT_PAGE_2"),settings:[{key:"organizationName",type:"input",label:u.instant("ORGANIZATION_NAME"),value:""},{key:"fullName",type:"input",label:u.instant("FULL_NAME"),value:""},{key:"ownerEmail",type:"input",label:u.instant("OWNER_EMAIL"),value:""},{key:"confirmEmail",type:"input",label:u.instant("CONFIRM_OWNER_EMAIL"),value:""},{key:"countryCode",type:"select",label:u.instant("COUNTRY"),value:""}]}];break;case"collabora":b.activeSections=[{title:u.instant("COLLABORA"),settings:[{key:"serverUrl",type:"url",label:u.instant("SERVER_ADDRESS"),value:""},{key:"maxConnections",type:"input",label:u.instant("MAX_CONNECTIONS_ZERO_UNLIMITED"),value:0},{key:"maxConnectionsPerUser",type:"input",label:u.instant("MAX_CONNECTIONS_PER_USER_ZERO_UNLIMITED"),value:0}]}],t&&void 0!==t.serverUrl?(b.addonEnabled=t.enabled||!1,k(t)):await T();break;case"onlyoffice":b.activeSections=[{title:u.instant("ONLYOFFICE"),settings:[{key:"serverUrl",type:"url",label:u.instant("SERVER_ADDRESS"),value:""},{key:"maxConnections",type:"input",label:u.instant("MAX_CONNECTIONS_ZERO_UNLIMITED"),value:0},{key:"maxConnectionsPerUser",type:"input",label:u.instant("MAX_CONNECTIONS_PER_USER_ZERO_UNLIMITED"),value:0}]}],t&&void 0!==t.serverUrl?(b.addonEnabled=t.enabled||!1,k(t)):await T();break;case"chatgpt":let e=[];
193if(b.activeSections=[{title:u.instant("CHATGPT"),settings:[{key:"usersCanOverrideApiKey",type:"switch",label:u.instant("AI_ALLOW_USERS_TO_OVERRIDE"),value:""},{key:"apiKey",type:"password",label:u.instant("AI_OPENAI_KEY"),value:""},{key:"modelId",type:"select",label:u.instant("AI_MODEL"),value:"",options:e,disabled:!0},{key:"maxMessagesPerDay",type:"input",label:u.instant("MAX_REQUESTS_PER_DAY_ZERO_UNLIMITED"),value:0}]}],t&&Array.isArray(t.models)){b.activeSections[0].settings.find((e=>"modelId"===e.key)).options=t.models,b.addonEnabled=t.enabled||!1,k(t)}else await async function(){const e=b.activeSections[0].settings.find((e=>"modelId"===e.key));e.options=[];try{const t=(await a.get("/interface/api/v1/ai/GetAvailableModels")).data;t&&t.success&&Array.isArray(t.results)&&(e.options=t.results.map((e=>({key:e,translation:e}))),!e.value&&e.options.length&&(e.value=e.options[0].key))}catch(e){b.testMessage=u.instant("AI_ERROR")}}(),await T();break;default:b.activeSections=[{title:"",settings:[]}]}}function T(){var e;switch(b.addonName.toLowerCase()){case"collabora":e="/api/v1/marketplace/GetCollaboraOnlineSettings";break;case"onlyoffice":e="/api/v1/marketplace/GetOnlyOfficeSettings";break;case"chatgpt":e="/api/v1/marketplace/GetChatGPTSettingsAdmin";break;default:return console.warn("No settings endpoint defined for addon: "+b.addonName),Promise.resolve()}return a.post(e,{}).then((function(e){var t=e.data;b.addonEnabled=t.enabled||!1,k(t)})).catch((function(e){console.error("Failed to fetch settings for addon: "+b.addonName,e),b.errorMessage=u.instant("FETCH_SETTINGS_FAILED")}))}function k(e){if(b.activeSections.forEach((function(t){t.settings.forEach((function(t){e.hasOwnProperty(t.key)&&(t.value=void 0!==e[t.key]?e[t.key]:"")}))})),"chatgpt"===b.addonName.toLowerCase()){var a=b.activeSections[0].settings.find((function(e){return"modelId"===e.key}));a&&!a.value&&a.options&&a.options.length&&(a.value=a.options[0].key),t.$evalAsync((function(){_.initializeChatGptState(b)}))}}function R(e){a.post("/api/v1/marketplace/SetChatGPTSettingsAdmin",e).then((function(e){n.hide(e.data)})).catch((function(){f.report("FAILED_TO_SAVE_SETTINGS")}))}if(b.helpLink=N,b.addonName=v,b.addonId=g,b.emailSent=!1,b.alreadyConfigured=C,b.domainAdminCanOverride=h,b.localEnabled=y,b.addonEnabled=b.localEnabled||!1,b.name=u.instant(b.addonId.toUpperCase()),b.countrySearch="",b.countries=[],b.filterCountrySearch=function(e){return e.translation.toLowerCase().startsWith(b.countrySearch.toLowerCase())||e.key.toLowerCase().startsWith(b.countrySearch.toLowerCase())},b.verifyCode=function(e,t){let n=b.activeSections[0].settings[0].value;a.post("~/api/v1/settings/domain/emclient/verify-code",JSON.stringify({authCode:n.toString().padStart(6,"0"),fullName:""})).then((function(e){b.verificationState=e.data.state}),f.report)},b.notEligible=!1,b.chatGptStates=_.STATES,b.chatGptCurrentState=b.chatGptStates.NO_KEY,b.isTestingKey=!1,b.isFetchingModels=!1,b.testMessage="",b.fetchModels=function(){_.fetchModels(b,e)},b.onChatGptKeyInput=function(){_.onChatGptKeyInput(b)},b.onAddonEnableToggled=function(){"chatgpt"===b.addonName.toLowerCase()&&b.addonEnabled&&b.chatGptCurrentState!==b.chatGptStates.NO_KEY&&_.fetchModels(b,e)},b.activeSections=[],b.initialized=!1,b.noAnim=!1,b.cancel=function(){n.hide()},b.saved=function(){n.cancel({success:!0})},b.success=function(){n.hide()},b.save=function(){var t={};if("chatgpt"===b.addonName.toLowerCase()&&b.addonEnabled&&b.chatGptCurrentState===b.chatGptStates.NO_KEY)e.settingsForm&&e.settingsForm.$setSubmitted();else if("chatgpt"!==b.addonName.toLowerCase())"onlyoffice"===b.addonName.toLowerCase()?(t={enabled:b.addonEnabled},b.activeSections.forEach((function(e){e.settings.forEach((function(e){t[e.key]=e.value}))})),a.post("/api/v1/marketplace/setOnlyOfficeSettings",t).then((function(e){n.hide(e.data)})).catch((function(){f.report("FAILED_TO_SAVE_SETTINGS")}))):"collabora"===b.addonName.toLowerCase()?(t={enabled:b.addonEnabled},b.activeSections.forEach((function(e){e.settings.forEach((function(e){t[e.key]=e.value}))})),a.post("/api/v1/marketplace/setCollaboraSettings",t).then((function(e){n.hide(e.data)})).catch((function(){f.report("FAILED_TO_SAVE_SETTINGS")}))):"emclient"===b.addonName.toLowerCase()||b.toggleCloudProvider(b.addonId,b.addonEnabled);else{t={enabled:b.addonEnabled,message:"",debugInfo:""}
193,b.activeSections.forEach((function(e){e.settings.forEach((function(e){t[e.key]="maxMessagesPerDay"===e.key?Number(e.value)||0:e.value}))}));const e=t.apiKey;e&&e.trim()&&"notreturned"!==e?_.testThenSave(b,e,t,R):R(t)}},b.toggleCloudProvider=function(e,t){var n={ProviderKey:e,Enable:t};a.post("/api/v1/marketplace/ToggleCloudStorageProvider",n).then((function(e){b.saved()}),(function(e){f.report("FAILED_TO_SAVE_SETTINGS")})).catch((function(e){console.log(e)}))},b.handleStorageSuccess=function(e){console.log("Storage configuration updated successfully:",e)},"emclient"===b.addonName.toLowerCase()){b.verificationCode="",b.organizationName="",b.fullName="",b.ownerEmail="",b.confirmEmail="",b.countryCode="",b.iAgree=!1,b.disableSendCode=!1,b.serverRejectedReason="",b.requestInfo={},a.get("~/api/v1/settings/domain/emclient/verification-status").then((function(e){return b.verificationState=e.data.state,0===b.verificationState&&sessionStorage.emClientVerificationRequested&&(b.verificationState=1),b.verificationState}),(function(e){f.report(e.data.message),"EMCLIENT_ERROR_OFFER_NOT_AVAILABLE"===e.data.message&&(b.notEligible=!0)})).finally((function(){b.active=!0,t.spinner.isShown&&r(t.spinner.hide)})),b.submitRequestOffer=function(e){a.post("~/api/v1/settings/domain/emclient/request-offer").then((function(e){b.emailSent=!0,b.disableSendCode=!0,r((function(){b.disableSendCode=!1}),1e4),sessionStorage.emClientVerificationRequested=!0,b.verificationState=e.data.state,3===b.verificationState?b.emClientServiceError=e.data.message:E.report(s("translate")("EMCLIENT_DOMAIN_VERIFICATION_EMAIL",{email:p.user.emailAddress}))}),(function(e){e.data&&e.data.errorCode?(b.verificationState=2,b.serverRejectedReason=e.data.message):f.report(e.message)}))},b.registerEmClient=function(e,t){3!==b.verificationState||t.$invalid||a.post("/api/v1/settings/domain/emclient/request-license",JSON.stringify({organizationName:b.organizationName,fullName:b.fullName,ownerEmail:b.ownerEmail,confirmEmail:b.confirmEmail,countryCode:b.countryCode})).then((function(e){b.verificationState=e.data.state,0===b.verificationState&&(b.requestInfo={},delete sessionStorage.emClientRequestInfo),4===b.verificationState&&(E.report(s("translate")("EMCLIENT_ACTIVATION_CONFIRMATION_MESSAGE")),b.licenseInfo=e.data)}),(function(e){f.report(e.data.message),"EMCLIENT_ERROR_INVALID_VERIFICATION_API_KEY"===e.data.message&&(b.verificationState=0)}))}}null!=I?(b.noAnim=!0,O(b.addonName,I),b.initialized=!0,A.clear=function(){b.noAnim=!1}):O(b.addonName,null).then((function(){b.initialized=!0,t.$applyAsync()}))}e.$inject=["$scope","$rootScope","$http","$mdDialog","$q","$compile","$filter","$timeout","NgTableParams","gridCheckboxes","themesService","$translate","errorHandling","successHandling","userDataService","coreLicensing","coreDataDomainSettings","localAddonName","localAddonId","localEnabled","localAlreadyConfigured","localDomainAdminCanOverride","localHelpLink","chatGptStateService","prefetchedSettings","noAnimHandle"],angular.module("smartermail").controller("adminConfigurationModuleController",e)}();
194!function(){"use strict";function t(t,e){var n={NO_KEY:"NO_KEY",READY_TO_TEST:"READY_TO_TEST",VALIDATED:"VALIDATED",HAS_STORED_KEY:"HAS_STORED_KEY"};function i(t){const e=t.activeSections[0].settings.find((t=>"modelId"===t.key));switch(t.chatGptCurrentState){case n.NO_KEY:case n.READY_TO_TEST:e&&(e.disabled=!0);break;case n.VALIDATED:e&&(e.disabled=!1);break;case n.HAS_STORED_KEY:e&&(e.disabled=!(e.options&&e.options.length))}}function s(s,a){return t.post("/interface/api/v1/ai/test",{apiKey:a}).then((function(t){const a=t.data||{};if(!a.ok)return s.testMessage=e.instant(a.message||"AI_ERROR"),!1;const o=s.activeSections[0].settings.find((t=>"modelId"===t.key));return o&&Array.isArray(a.models)&&(o.options=a.models.map((t=>({key:t,translation:t}))),!o.value&&o.options.length&&(o.value=o.options[0].key),o.disabled=!1),s.chatGptCurrentState=n.VALIDATED,i(s),!0})).catch((function(){return s.testMessage=e.instant("AI_ERROR"),!1}))}return{STATES:n,updateChatGptUI:i,initializeChatGptState:function(t){const e=t.activeSections[0].settings.find((t=>"apiKey"===t.key));if(e){if("notreturned"===e.value){const e=t.activeSections[0].settings.find((t=>"modelId"===t.key));t.chatGptCurrentState=e&&e.options&&e.options.length>0?n.VALIDATED:n.HAS_STORED_KEY}else e.value&&e.value.trim()?t.chatGptCurrentState=n.READY_TO_TEST:t.chatGptCurrentState=n.NO_KEY;i(t)}},testThenSave:function(t,e,n,i){return t.isTestingKey=!0,t.testMessage="",s(t,e).then((function(e){if(!e)return;const s=t.activeSections[0].settings.find((t=>"modelId"===t.key));s&&(n.modelId=s.value),i(n)})).finally((function(){t.isTestingKey=!1}))},fetchModels:function(t,e){if(t.chatGptCurrentState===n.NO_KEY||t.isFetchingModels)return;t.isFetchingModels=!0,t.testMessage="";const i=t.activeSections[0].settings.find((t=>"apiKey"===t.key)),a=i&&i.value&&i.value.trim()?i.value:"notreturned";s(t,a).then((function(t){t&&e.settingsForm&&e.settingsForm.$setDirty()})).finally((function(){t.isFetchingModels=!1}))},onChatGptKeyInput:function(t){const e=t.activeSections[0].settings.find((t=>"apiKey"===t.key));if(!e)return;if(e.value&&e.value.trim()&&"notreturned"!==e.value){if(t.chatGptCurrentState!==n.READY_TO_TEST){const e=t.activeSections[0].settings.find((t=>"modelId"===t.key));e&&(e.options=[],e.value="",e.disabled=!0),t.testMessage=""}t.chatGptCurrentState=n.READY_TO_TEST}else{const e=t.activeSections[0].settings.find((t=>"modelId"===t.key));e&&(e.options=[],e.value="",e.disabled=!0),t.testMessage="",t.chatGptCurrentState=n.NO_KEY}i(t)}}}angular.module("smartermail").factory("chatGptStateService",t),t.$inject=["$http","$translate"]}();
195!function(){"use strict";function e(e,i,n,a,o,t,r,s){e.providerType=r,e.providerName=s,e.capabilities=[],e.options={},e.initialized=!1,e.availableEndBehaviors=[{id:0,desc:a.instant("ARCHIVE_MEETING")},{id:1,desc:a.instant("DELETE_MEETING")},{id:2,desc:a.instant("KEEP_ACTIVE")}],e.availableUploadPermissions=[{id:0,desc:a.instant("ORGANIZER_ONLY")},{id:1,desc:a.instant("AUTHENTICATED_ATTENDEES")},{id:2,desc:a.instant("EVERYONE")}];var l={enableLobby:"CONFERENCING_ENABLE_LOBBY",customPassword:"ONLINE_MEETING_PASSWORD",uploadPermissionLevel:"FILE_UPLOAD_PERMISSIONS",endMeetingBehavior:"END_BEHAVIOR"};e.optionLabel=function(e){return l[e]||e},e.selectChoices=function(i){switch(i){case"uploadPermissionLevel":return e.availableUploadPermissions;case"endMeetingBehavior":return e.availableEndBehaviors;default:return[]}},e.save=function(){var a={providerType:r,options:{}};
195e.capabilities.forEach((function(i){var n=e.options[i.key];a.options[i.key]=String(null==n?i.defaultValue:n)})),n.spinner.show(),o.saveDefaults(a).then((function(){i.hide()}),t.report).finally(n.spinner.hide)},e.cancel=function(){i.cancel()},n.spinner.show(),o.loadProviders(!0).then((function(){var n=o.getProvider(r);if(!n)return t.report(),void i.cancel();e.capabilities=n.capabilities||[],e.options=angular.copy(n.defaults||{}),e.capabilities.forEach((function(i){"boolean"===i.valueType?e.options[i.key]="true"===e.options[i.key]:"select"===i.valueType&&(e.options[i.key]=parseInt(e.options[i.key],10)||0)})),e.initialized=!0}),t.report).finally(n.spinner.hide)}e.$inject=["$scope","$mdDialog","$rootScope","$translate","conferencing","errorHandling","providerType","providerName"],angular.module("smartermail").controller("conferencingDefaultsController",e)}();
196!function(){"use strict";function e(e,n,t,o,i,a,r,c,s,l,d,u,p,f,v,y){const h=this;n.helpLink=y,n.descriptor=p,n.translatedName=c.instant(p.titleKey),n.step=1,n.enabled=f,n.alreadyConfigured=v,n.displayName="",n.returnCode=void 0,n.capabilities=[],n.options={};var m={enableLobby:"CONFERENCING_ENABLE_LOBBY",passwordProtected:"CONFERENCING_PASSWORD_PROTECTED",customPassword:"ONLINE_MEETING_PASSWORD",uploadPermissionLevel:"FILE_UPLOAD_PERMISSIONS",endMeetingBehavior:"END_BEHAVIOR"};function g(){void 0!==p.conferencingProviderType&&null!==p.conferencingProviderType&&u.loadProviders(!0).then((function(){var e=u.getProvider(p.conferencingProviderType);e&&(n.capabilities=e.capabilities||[],n.options=angular.copy(e.defaults||{}),n.capabilities.forEach((function(e){"boolean"===e.valueType?n.options[e.key]="true"===n.options[e.key]:"select"===e.valueType&&(n.options[e.key]=parseInt(n.options[e.key],10)||0)})))}),(function(){}))}function E(){if(void 0===p.conferencingProviderType||null===p.conferencingProviderType)return Promise.resolve();var e={providerType:p.conferencingProviderType,options:{}};return n.capabilities.forEach((function(t){var o=n.options[t.key];e.options[t.key]=String(null==o?t.defaultValue:o)})),u.saveDefaults(e)}function N(){t.cancel({success:!0}),s.setModalCallback(null)}n.connectedService=null,n.optionLabel=function(e){return m[e]||e},n.save=function(){if(!n.displayName.trim()||!n.returnCode)return;e.spinner.show(),i.post(p.putEndpoint,JSON.stringify({code:n.returnCode,name:n.displayName})).then((function(e){return e.data&&!1===e.data.success?(d.report(e.data.message||"ERROR"),null):E()}),(function(e){return e.data&&"Invalid Permissions"===e.data.message?d.report(c.instant("INVALID_PERMISSIONS")):d.report("ERROR"),null})).then((function(e){null!==e&&N()})).finally(e.spinner.hide)},n.saveSettings=function(){e.spinner.show();var t=[E()],o=n.displayName.trim();n.connectedService&&o&&o!==n.connectedService.friendlyName&&t.push(i.post("/api/v1/settings/connected-service-rename",JSON.stringify({id:n.connectedService.id,name:o})));a.all(t).then((function(){N()}),(function(){d.report("ERROR")})).finally(e.spinner.hide)},n.close=function(){t.hide()},n.disableConnection=function(){i.get("/api/v1/settings/connected-services").then((function(e){var n=(e.data&&e.data.connectedService||[]).find((function(e){return e.type===p.serviceType}));if(n)return i.post("/api/v1/settings/connected-services-delete",{serviceIDs:[n.id]}).then(N);N()})).catch((function(){d.report("ERROR")}))},n.gotoStep=function(e){n.step=e},h.modalServiceCallback=function(){t.cancel({reason:"cancel"})},s.setModalCallback(h.modalServiceCallback),!n.alreadyConfigured&&n.enabled?function(){n.returnCode=void 0;const e=e=>{const t=n.$root.$$phase;"$apply"===t||"$digest"===t?e&&"function"==typeof e&&e():n.$apply(e)},t=l.baseUrl+"/interface/connect-redirect",a=Math.min(1050,Math.round(.85*window.screen.availWidth)),s=Math.min(850,Math.round(.85*window.screen.availHeight)),u=Math.max(0,Math.round((window.screen.availWidth-a)/2+(window.screen.availLeft||0))),f=Math.max(0,Math.round((window.screen.availHeight-s)/2+(window.screen.availTop||0))),v="width="+a+",height="+s+",left="+u+",top="+f+",menubar=no,toolbar=no,location=no,scrollbars=yes,resizable=yes",y=window.open("","OAuthPopup",v);if(!y||y.closed||void 0===y.closed)return void d.report(c.instant("POPUP_BLOCKED"));let h=setInterval((()=>{y.closed&&(clearInterval(h),n.returnCode||e((()=>{d.report(c.instant("AUTHORIZATION_CANCELED_BY_USER")),N()})))}),500);r.handleConnectClose=function(t){e((()=>{t.code&&(n.returnCode=t.code,n.displayName=o("translate")(p.defaultDisplayKey)||n.translatedName,n.step=2,g(),r.focus()),r.handleConnectClose=null}))},i.post(p.redirectEndpoint,JSON.stringify({redirectUri:t})).then((function(e){y.location=e.data.result}),(function(e){clearInterval(h),y&&!y.closed&&y.close(),e.data&&e.data.message&&e.data.message.includes("not enabled for this domain.")?d.report("CLOUD_STORAGE_PROVIDER_NOT_ENABLED_FOR_DOMAIN"):d.report("ERROR"),N()})),n.$on("$destroy",(()=>{clearInterval(h),y&&!y.closed&&y.close()}))}():n.enabled&&n.alreadyConfigured&&(n.step=3,i.get("/api/v1/settings/connected-services").then((function(e){var t=e.data&&e.data.connectedService||[];n.connectedService=t.find((function(e){return e.type===p.serviceType}))||null,n.connectedService&&(n.displayName=n.connectedService.friendlyName||n.translatedName)}),(function(){})),g())}e.$inject=["$rootScope","$scope","$mdDialog","$filter","$http","$q","$window","$translate","modalService","coreData","errorHandling","conferencing","descriptor","enabled","alreadyConfigured","localHelpLink"],angular.module("smartermail").controller("marketplaceConnectWizardController",e)}();
197!function(){"use strict";function e(e,t,n,a,s,i,o,c,r,l,d,u,p,v,f){const C=this;async function h(e){switch("owncloud"===C.addonName.toLowerCase()&&null==e&&await async function(){return s.get("/api/v1/settings/connected-services").then((function(e){return!(!e.data.success||!Array.isArray(e.data.connectedService))&&e.data.connectedService.some((e=>10===e.type))})).catch((function(){return!1}))}()&&(C.alreadyConfigured=!0),C.activeSections=[],C.addonName.toLowerCase()){case"chatgpt":C.activeSections=[{title:a.instant("CHATGPT"),needsConfig:!0,settings:[{key:"overrideApiKey",type:"switch",label:a.instant("AI_OVERRIDE"),value:""},{key:"apiKey",type:"password",label:a.instant("AI_OPENAI_KEY"),value:""},{key:"modelId",type:"select",label:a.instant("AI_MODEL"),value:"",options:[],disabled:!0},{key:"maxMessagesPerDay",type:"input_number",label:a.instant("MAX_REQUESTS_PER_DAY_ZERO_UNLIMITED"),value:0}]}];const n=C.activeSections[0].settings.find((e=>"modelId"===e.key));e&&Array.isArray(e.models)?(n.options=e.models,!n.value&&n.options.length&&(n.value=n.options[0].key)):await async function(e){return e.options=[],await s.get("/interface/api/v1/ai/GetAvailableModels").then((function(t){const n=t.data;n&&n.success&&Array.isArray(n.results)&&(e.options=n.results.map((e=>({key:e,translation:e}))),!e.value&&e.options.length&&(e.value=e.options[0].key))})).catch((function(){C.testMessage=a.instant("AI_ERROR")}))}(n),e&&e.userSettings?(y(),g(e.userSettings)):await function(){var e;if("chatgpt"!==C.addonName.toLowerCase())return console.warn(`No settings endpoint defined for addon: ${C.addonName}`),Promise.resolve();e="/api/v1/marketplace/GetChatGPTSettingsAdmin";return s.post(e,{}).then((function(e){var n=e.data;if(n.usersCanOverrideApiKey)return t();C.chatGptCannotOverride=!0,C.addonEnabled=n.enabled||!1})).catch((function(e){console.error(`Failed to fetch settings for addon: ${C.addonName}`,e),C.errorMessage=a.instant("FETCH_SETTINGS_FAILED")}));function t(){var e="/api/v1/marketplace/GetChatGPTSettingsUser";return s.post(e,{}).then((function(e){y();var t=e.data;C.ChatGptuserSettings=t,C.addonEnabled=t.enabled||!1,g(t)}
197)).catch((function(e){console.error("Failed to fetch user-specific settings",e),C.errorMessage=a.instant("FETCH_USER_SETTINGS_FAILED")}))}}();break;case"owncloud":C.activeSections=[{title:a.instant("OWNCLOUD"),needsConfig:!0,settings:[{key:"name",type:"input",label:a.instant("DISPLAY_NAME"),value:""},{key:"url",type:"url",label:a.instant("SERVER_ADDRESS"),value:""},{key:"username",type:"input",label:a.instant("USERNAME"),value:""},{key:"password",type:"password",label:a.instant("PASSWORD"),value:""}]}];break;case"collabora":C.activeSections=[{title:a.instant("COLLABORA"),needsConfig:!1}];break;case"onlyoffice":C.activeSections=[{title:a.instant("ONLYOFFICE"),needsConfig:!1}];break;case"rocketchat":C.activeSections=[{title:a.instant("ROCKETCHAT"),needsConfig:!0,settings:[{key:"enabledRocketChat",type:"switch",label:a.instant("ENABLE"),value:""},{key:"serverUrl",type:"url",label:a.instant("ROCKETCHAT_SERVERURL"),value:""},{key:"serviceUserId",type:"input",label:a.instant("ROCKETCHAT_USERID"),value:""},{key:"personalAccessToken",type:"password",label:a.instant("PERSONAL_ACCESS_TOKEN"),value:""}]}],e&&void 0!==e.providerType?(g(e),C.personalAccessTokenEncrypted=e.personalAccessToken&&"notreturned"!==e.personalAccessToken?e.personalAccessToken:null):await(t=1,s.post("/api/v1/marketplace/GetChatProviderSettings").then((function(e){if(1===t){e.data.enabledRocketChat=1===e.data.providerType,g(e.data);const t=e.data.personalAccessToken;C.personalAccessTokenEncrypted=t&&"notreturned"!==t?t:null}})).catch((function(){})));break;case"smartermailchat":C.activeSections=[{title:a.instant("SMARTERMAILCHAT"),needsConfig:!1,settings:[]}];break;case"smartermailfilestore":C.activeSections=[{title:a.instant("SMARTERMAILFILESTORE"),needsConfig:!1,settings:[]}];break;case"smartermailonlinemeetings":C.activeSections=[{title:a.instant("SMARTERMAILONLINEMEETINGS"),needsConfig:!1,settings:[]}]}var t;try{C.title=C.activeSections[0].title,C.needsConfig=C.activeSections[0].needsConfig}catch(e){}}function y(){if("chatgpt"===C.addonName.toLowerCase()&&C.activeSections.length&&C.activeSections[0].settings){var e=C.activeSections[0].settings.find((e=>"overrideApiKey"===e.key));e&&t.$watch((()=>e.value),(function(e,t){e!==t&&(C.disableControls=!e)}))}}function g(e){if(C.activeSections.forEach((function(t){t.settings.forEach((function(t){e.hasOwnProperty(t.key)&&(t.value=void 0!==e[t.key]?e[t.key]:"")}))})),C.disableControls=!e.overrideApiKey,"chatgpt"===C.addonName.toLowerCase()){var n=C.activeSections[0].settings.find((function(e){return"modelId"===e.key}));n&&!n.value&&n.options&&n.options.length&&(n.value=n.options[0].key),t.$evalAsync((function(){p.initializeChatGptState(C)}))}}function S(){e.cancel({success:!0})}function E(t){s.post("/api/v1/marketplace/SetChatGPTSettingsUser",t).then((function(t){e.hide(t.data)})).catch((function(){i.report("FAILED_TO_SAVE_SETTINGS")}))}C.helpLink=u,C.initialized=!1,C.addonName=o,C.activeSections=[],C.addonEnabled=c,C.errorMessage=null,C.cancel=function(){e.cancel()},C.save=function(){let t={};if("chatgpt"===C.addonName.toLowerCase()){t={enabled:C.addonEnabled,message:"",debugInfo:""},C.activeSections.forEach((e=>{e.settings.forEach((e=>{["overrideApiKey","modelId","apiKey","maxMessagesPerDay"].includes(e.key)&&(t[e.key]="maxMessagesPerDay"===e.key?Number(e.value)||0:e.value)}))}));const e=t.apiKey;return void(t.overrideApiKey&&e&&e.trim()&&"notreturned"!==e?p.testThenSave(C,e,t,E):E(t))}if("owncloud"===C.addonName.toLowerCase())t={ownCloud:{enabled:C.addonEnabled}},C.activeSections.forEach((n=>{n.title===a.instant("OWNCLOUD")&&function(t,n,a){n.settings.forEach((e=>{t[a][e.key]=e.value})),function(t){const n={url:t.ownCloud.url,username:t.ownCloud.username,password:t.ownCloud.password,name:t.ownCloud.name};s.post("/api/v1/settings/owncloud-test",n).then((t=>{t.data.success?e.hide(n):i.report("CHECK_DETAILS")})).catch((()=>{i.report("CHECK_DETAILS")}))}(t)}(t,n,"ownCloud")}));else if("rocketchat"===C.addonName.toLowerCase()){t={},C.activeSections.forEach((e=>{e.title===a.instant("ROCKETCHAT")&&e.settings.forEach((e=>{["enabledRocketChat","serverUrl","serviceUserId","personalAccessToken"].includes(e.ke
197y)&&("enabledRocketChat"===e.key?t.providerType=e.value?1:0:t[e.key]=e.value)}))}));var n=!(0!==t.providerType||t.serverUrl||t.serviceUserId||t.personalAccessToken||C.personalAccessTokenEncrypted),o=n?"/api/v1/marketplace/ClearChatProviderSettings":"/api/v1/marketplace/SetChatProviderSettings";s.post(o,n?{}:t).then((function(){S()}),(function(){i.report("FAILED_TO_SAVE_SETTINGS")}))}},C.alreadyConfigured=r,C.disableOwncloudConnection=async function(){const e=await async function(){return s.get("/api/v1/settings/connected-services").then((function(e){if(e.data.success&&Array.isArray(e.data.connectedService)){const t=e.data.connectedService.find((e=>10===e.type));return t?t.id:null}return null})).catch((function(){return null}))}();if(!e)return!1;const t={serviceIDs:[e]};await s.post("/api/v1/settings/connected-services-delete",t).then((function(e){return!!e.data.success&&(S(),!0)}),(function(){return i.report("ERROR_DELETING_CLOUD_STORAGE_CONNECTION"),!1})).catch((function(){return!1}))},C.domainAdminCanOverride=l,C.closeRefresh=S,C.needsConfig=!0,C.chatGptCannotOverride=!0,C.close=function(){e.hide()},C.testRocketChatToken=function(){var e={providerType:1};C.activeSections.forEach((t=>{t.settings.forEach((t=>{["serverUrl","serviceUserId","personalAccessToken"].includes(t.key)&&(e[t.key]=t.value)}))})),C.isTestingRocketChat=!0,C.rocketChatTestMessage=null,s.post("/api/v1/settings/test-rocket-chat",JSON.stringify(e)).then((function(e){var t=e.data||{};t.success?(C.rocketChatTestFailed=!1,C.rocketChatTestMessage=a.instant("SUCCESS")):(C.rocketChatTestFailed=!0,C.rocketChatTestMessage=t.message?a.instant(t.message):a.instant("ERROR_HAS_OCCURRED"))}),(function(){C.rocketChatTestFailed=!0,C.rocketChatTestMessage=a.instant("ERROR_HAS_OCCURRED")})).finally((function(){C.isTestingRocketChat=!1}))},C.isRocketChatEnabled=function(){if("rocketchat"!==C.addonName.toLowerCase())return!0;var e=C.activeSections&&C.activeSections[0];if(!e||!e.settings)return!0;var t=e.settings.find((function(e){return"enabledRocketChat"===e.key}));return!t||!!t.value},C.disableControls=!1,C.ChatGptuserSettings=null,C.personalAccessTokenEncrypted=null,C.isTestingRocketChat=!1,C.rocketChatTestFailed=!1,C.rocketChatTestMessage=null,C.noAnim=!1,C.chatGptStates=p.STATES,C.chatGptCurrentState=C.chatGptStates.NO_KEY,C.isTestingKey=!1,C.isFetchingModels=!1,C.testMessage="",C.fetchModels=function(){p.fetchModels(C,n)},C.onChatGptKeyInput=function(){p.onChatGptKeyInput(C)},C.getEncryptedTokenValue=function(){if(C.activeSections&&C.activeSections.length&&C.activeSections[0].settings){var e=C.activeSections[0].settings.find((function(e){return"personalAccessToken"===e.key}));return e?e.value:null}return null},async function(){"onlyoffice"!==C.addonName&&"collabora"!==C.addonName||(C.alreadyConfigured=!1),"chatgpt"!==C.addonName.toLowerCase()?null!=v?(C.noAnim=!0,h(v),C.initialized=!0,f.clear=function(){C.noAnim=!1}):(await h(),C.initialized=!0,t.$applyAsync()):(C.title=a.instant("CHATGPT"),null!=v?(C.noAnim=!0,C.chatGptCannotOverride=!v.usersCanOverrideApiKey,C.addonEnabled=v.enabled||!1,C.chatGptCannotOverride||h(v),C.initialized=!0,f.clear=function(){C.noAnim=!1}):(await async function(){try{const e=(await s.post("/api/v1/marketplace/GetChatGPTSettingsAdmin",{})).data;C.chatGptCannotOverride=!e.usersCanOverrideApiKey,C.addonEnabled=e.enabled||!1}catch(e){console.error(`Failed to fetch settings for addon: ${C.addonName}`,e),C.errorMessage=a.instant("FETCH_SETTINGS_FAILED")}}(),C.chatGptCannotOverride||await h(),C.initialized=!0,t.$applyAsync()))}()}angular.module("smartermail").controller("modularConfigurationModalController",e),e.$inject=["$mdDialog","$rootScope","$scope","$translate","$http","errorHandling","addonName","enabled","alreadyConfigured","domainAdminCanOverride","successHandling","localHelpLink","chatGptStateService","prefetchedSettings","noAnimHandle"]}();
198!function(){"use strict";function e(e,t,n,a,o,r,i,c,s,l,d,u,p,f,y,g,m,O,v){const b=this;if(t.helpLink=v,t.providerIcon="",t.providerId=p,t.providerName=f,t.step=1,t.folderName=t.folderName||"",t.alreadyConfigured=y,t.enabled=g,t.disableConnection=async function(){const e={serviceIDs:[await h()]};o.post("/api/v1/settings/connected-services-delete",e).then((function(e){if(e.data.success)return C(),!0}),(function(){return u.report("ERROR_DELETING_CLOUD_STORAGE_CONNECTION"),!1})).catch((function(){return!1}))},t.DomainAdminCanOverride=m,t.isDomainAdmin=d.user.isDomainAdmin,t.close=function(){n.hide()},t.closeRefresh=C,t.persistFolderName=function(){t.folderName=t.folderName||""}
198,t.accountTypes=[{translatable:"DROPBOX",id:2,imgSrc:"img/product-icons/dropbox_icon.png",useOAuth:!0,defaultDisplayKey:"MY_DROPBOX"},{translatable:"GOOGLEDRIVE",id:9,imgSrc:"img/product-icons/drive_icon.png",useOAuth:!0,defaultDisplayKey:"MY_GOOGLE_DRIVE"},{translatable:"LEITZCLOUD",id:7,imgSrc:"img/product-icons/leitzcloud_icon.png",useOAuth:!0,defaultDisplayKey:"MY_LEITZCLOUD"},{translatable:"ONEDRIVE",id:4,imgSrc:"img/product-icons/onedrive_icon.png",useOAuth:!0,defaultDisplayKey:"MY_ONEDRIVE_ACCESS"},{translatable:"OWNCLOUD",id:10,imgSrc:"img/product-icons/owncloud_icon.png",useOAuth:!1,defaultDisplayKey:"MY_OWNCLOUD"},{translatable:"VBOXX",id:8,imgSrc:"img/product-icons/vboxx_icon.png",useOAuth:!0,defaultDisplayKey:"MY_VBOXX"}],t.accountType=null,Array.isArray(t.accountTypes))for(let e=0;e<t.accountTypes.length;e++)if(t.accountTypes[e].translatable.toLowerCase()===t.providerId.toLowerCase()){t.accountType=t.accountTypes[e];break}async function h(){const e=t.accountTypes.find((e=>t.providerId.toUpperCase()===e.translatable.toUpperCase()));if(!e)return null;const n=e.id;try{const e=await o.get("/api/v1/settings/connected-services");if(e.data.success){const t=e.data.connectedService.find((e=>e.type===n));return t?t.id:null}return null}catch(e){return null}}function C(){n.cancel({success:!0}),s.setModalCallback(null)}function D(e){if(!e){for(let n=0;n<t.accountTypes.length;n++)if(t.providerId.toUpperCase()===t.accountTypes[n].translatable.toUpperCase()){e=t.accountTypes[n];break}if(!e)return}e.useOAuth?function(e){t.currentType=void 0,t.returnCode=void 0;const n=e=>{const n=t.$root.$$phase;"$apply"===n||"$digest"===n?e&&"function"==typeof e&&e():t.$apply(e)},r=d.baseUrl+"/interface/connect-redirect",c=JSON.stringify({redirectUri:r}),s="width=500,height=600,menubar=no,toolbar=no,location=no,scrollbars=yes,resizable=yes,left=200,top=100",l=window.open("","OAuthPopup",s);if(!l||l.closed||void 0===l.closed)return void u.report(O.instant("POPUP_BLOCKED"));let p=setInterval((()=>{l.closed&&(clearInterval(p),t.returnCode||n((()=>{t.cancelOAuthFlow()})))}),500);switch(i.handleConnectClose=function(e){n((()=>{e.code&&(t.returnCode=e.code,t.step=2,i.focus()),i.handleConnectClose=null}))},e.id){case 2:o.post("~/api/v1/settings/dropbox-redirect",c).then(y,f);break;case 4:o.post("~/api/v1/settings/microsoft-redirect/OneDrive",c).then(y,f);break;case 7:o.post("~/api/v1/settings/leitzcloud-redirect",c).then(y,f);break;case 8:o.post("~/api/v1/settings/vboxx-redirect",c).then(y,f);break;case 9:o.post("~/api/v1/settings/google-redirect",c).then(y,f);break;default:l.close()}function f(e){clearInterval(p),l&&!l.closed&&l.close(),e.data.message.includes("not enabled for this domain.")?u.report("CLOUD_STORAGE_PROVIDER_NOT_ENABLED_FOR_DOMAIN"):(u.report("ERROR"),console.error("API returned an error:",e)),C()}function y(o){n((()=>{t.currentType=e,t.folderName=a("translate")(e.defaultDisplayKey)||e.defaultDisplayKey||"Unnamed Folder"})),l.location=o.data.result}t.$on("$destroy",(()=>{clearInterval(p),l&&!l.closed&&l.close()})),t.cancelOAuthFlow=function(){n((()=>{t.step=1,u.report(O.instant("AUTHORIZATION_CANCELED_BY_USER")),C()}))}}(e):(t.currentType=e,t.folderName=a("translate")(e.defaultDisplayKey)||e.defaultDisplayKey||"Unnamed Folder",t.step=2,t.persistFolderName())}t.translatedName=O.instant(t.accountType.translatable),b.modalServiceCallback=function(){n.cancel({reason:"cancel"})},t.openService=D,function(){s.setModalCallback(b.modalServiceCallback);for(let e=0;e<t.accountTypes.length;e++)if(t.providerId.toUpperCase()===t.accountTypes[e].translatable){let n=t.accountTypes[e];return void(!t.alreadyConfigured&&t.enabled?D(n):t.enabled&&t.alreadyConfigured&&(t.step=3))}}(),t.save=function(){if(t.folderName.trim()&&t.currentType&&t.currentType.useOAuth){!async function(e){function n(e){e.data&&("Invalid Permissions"===e.data.message?u.report(O.instant("INVALID_PERMISSIONS")):(u.report("ERROR"),console.log(e))),console.error("API returned an error:",e)}let a=null;if(t.accountTypes.forEach((function(t){t.id===e.type.id&&(a=t.id)})),null===a)return null;let r=JSON.stringify({code:e.code,name:e.name,providerKey:a});switch(a){case 2:await o.post("~/api/v1/settings/dropbox-put",r).catch(n);break;case 4:await o.post("~/api/v1/settings/one-drive-put",r).catch(n);break;case 7:await o.post("~/api/v1/settings/leitzcloud-put",r).catch(n);break;case 8:await o.post("~/api/v1/settings/vboxx-put",r).catch(n);break;case 9:await o.post("~/api/v1/settings/google-put",r).catch(n)}C()}({name:t.folderName,type:t.currentType,code:t.returnCode})}}}e.$inject=["$rootScope","$scope","$mdDialog","$filter","$http","$state","$window","$timeout","modalService","popupService","coreData","errorHandling","providerId","providerName","alreadyConfigured","enabled","DomainAdminCanOverride","$translate","localHelpLink"],angular.module("smartermail").controller("userCloudStorageConnectController",e)}();
199!function(){"use strict";function e(e,n,t,r){var a=this;a.name="",a.save=async function(e,o){if(""===a.name)return;if(o.$invalid)return;try{const e={folder:a.name};await t.post("~/api/v1/notes/sources/add",e),n.hide()}catch(e){r.report(e)}},a.cancel=function(){n.cancel()}}e.$inject=["$scope","$mdDialog","$http","errorHandling"],angular.module("smartermail").controller("createNoteFolderController",e)}();
200!function(){"use strict";function e(e,n,r,t,o,a,s){var u=this,c=!1;n.FILE_NOT_SELECTED=1,n.FILE_SELECTED=2,n.FILE_PROCESSING=3,n.CSV_MAPPING=4,n.IMPORTING=5,n.REPORT=6,n.step=n.FILE_NOT_SELECTED,n.sources=$.grep(a.getSources(),(function(e){return e.access>4})),u.currentSource=n.sources[0],n.uploaderData=JSON.stringify({source:u.currentSource.ownerUsername}),n.report={numLoaded:0,numAdded:0,numErrors:0};var i,p=[],l={};n.reqFound=!1,n.addedFile=function(){n.step=n.FILE_SELECTED,n.$applyAsync()},n.loadFile=function(e,r){angular.isArray(r.notes)&&(c=!0,angular.forEach(r.notes,(function(e){p.push(e)})));c&&0!==p.length?(!function(){n.mappings=[];for(var e=[],r=0;r<p.length;++r)for(var t=p[r]||[],o=0;o<t.length;++o)e.indexOf(t[o].guid)>-1||(e.push(t[o].guid),n.mappings.push({id:t[o].guid,mappedField:t[o].mappedField||"ignore",uploadedField:t[o].uploadedField}))}(),n.step=n.CSV_MAPPING,f()):n.step=n.REPORT},n.uploadFailed=function(e,t){if(t&&"IMPORTING_IN_PROGRESS"===t.message)return s.warn(t),void r.cancel();n.step=n.FILE_NOT_SELECTED,n.uploaderFunctions.reset(),n.$applyAsync()},n.removedFile=function(){n.step=n.FILE_NOT_SELECTED,n.$applyAsync()},n.uploaderInit=function(e){n.uploaderFunctions=e},n.onCancelClicked=function(){r.cancel()},n.onCloseClicked=function(){r.hide(u.currentSource)},n.onCsvMappingNextClicked=function(){if(n.isProcessingAfterMap)return;n.isProcessingAfterMap=!0,l={};for(var e=0;e<n.mappings.length;++e)l[n.mappings[e].id]=n.mappings[e].mappedField;o(m,100)},n.onLoadClicked=function(){n.step=n.FILE_PROCESSING;var e=JSON.stringify({source:u.currentSource.ownerUsername,id:u.currentSource.itemID});n.uploaderData=e,n.uploaderFunctions.setContextData(e),n.uploaderFunctions.startUpload()},n.onMappingChanged=f,i=e.$on("signalR.mailHub.client.notesImportProgress",(function(e,r){n.step===n.IMPORTING?g(r):d=r})),n.$on("$destroy",(function(){i()}));var d=null;function g(r){n.isProcessingAfterMap=!1,n.report.numLoaded=r.count||0,n.report.numAdded=r.success?r.count:0,n.report.numErrors=r.success?0:r.count,n.step=n.REPORT,e.$broadcast("notesRefresh"),n.$applyAsync(),e.spinner.hide()}function f(){n.reqFound=!1;for(var e=0;e<n.mappings.length;++e)if("subject"===n.mappings[e].mappedField||"body"===n.mappings[e].mappedField){n.reqFound=!0;break}}function m(){for(var e=[],o=0;o<p.length;++o)try{var c=E(p[o]);if(null===c)continue;$.extend(c,{sourceOwner:u.currentSource.ownerUsername,sourceId:u.currentSource.itemID,sourceName:u.currentSource.displayName,sourcePermission:u.currentSource.access,isVisible:u.currentSource.enabled}),e.push(c)}catch(e){}!function(e){e&&0!==e.length?a.startNotesImport(e,u.currentSource).then((function(){if(n.step=n.IMPORTING,null!==d){var e=d;d=null,g(e),n.step=n.REPORT}}),(function(e){d=null,n.isProcessingAfterMap=!1,e&&e.data&&"IMPORTING_IN_PROGRESS"===e.data.message?(s.warn(e.data),r.cancel()):(e&&e.data&&e.data.message?s.report(e.data):s.report("UNKNOWN_ERROR"),n.step=n.CSV_MAPPING),n.$applyAsync()})):t.when()}(e)}function E(e){for(var n={},r=0;r<e.length;++r)if(l[e[r].guid])switch(l[e[r].guid]){default:case"ignore":break;case"subject":n.subject=e[r].value;break;case"body":n.text=e[r].value;break;case"color":n.color=e[r].value;break;case"categories":if(e[r].value){var t=e[r].value.split(",");n.categoriesMetaData=[];for(var o=0;o<t.length;o++)n.categoriesMetaData.push({name:t[o],selected:!0})}}return n.subject||n.text?n:null}}e.$inject=["$rootScope","$scope","$mdDialog","$q","$timeout","coreDataNotes","errorHandling"],angular.module("smartermail").controller("noteImportDialogController",e)}();
201!function(){"use strict";function e(e,r,a,n,i,t){var o=this;o.name=i.displayName?a("folderTranslate")(i.displayName,o.owner):i.name,o.id=i.id||i.itemID,o.save=async function(e,a){if(""===o.name)return;if(a.$invalid)return;try{var i={folder:o.name,uid:o.id};await n.post("~/api/v1/notes/sources/edit",i),r.hide()}catch(e){t.report(e)}},o.cancel=function(){r.cancel()}}e.$inject=["$scope","$mdDialog","$filter","$http","source","errorHandling"],angular.module("smartermail").controller("renameNoteFolderController",e)}();
202!function(){"use strict";function e(e,s,r,i,n,o,a,t,u,m,p,d,c){var l=this;function g(){l.userPermissions.pop(),l.groupPermissions=$.grep(l.groupPermissions,(function(e){if(e.group)return!e.group.selectText})),l.groupPermissions=l.groupPermissions.map((function(e){return e.group&&e.group.isEveryone?(e.group=void 0,e.isEveryone=!0):e.group&&e.group.isAdmins?(e.group=void 0,e.isAdmins=!0):(e.isAdmins=!1,e.isEveryone=!1),e}));var e=l.userPermissions.concat(l.groupPermissions),r={shareUsers:e,sharingItem:l.type,shareID:l.id},i=e.length;o.post("~/api/v1/settings/share-item",r).then((function(e){m.addPermissions(l.type,l.id,i),s.hide({})}),c.report),e=[],angular.forEach(l.originalShareUsers,(function(s){var r=!1;if(s.user){for(var i=0;i<l.userPermissions.length;i++)if(l.userPermissions[i].user.emailAddress===s.user.emailAddress){r=!0;break}}else for(var n=0;n<l.groupPermissions.length;n++){if(l.groupPermissions[n].isEveryone&&s.isEveryone){r=!0;break}if(l.groupPermissions[n].isAdmins&&s.isAdmins){r=!0;break}if(s.group&&l.groupPermissions[n].group&&l.groupPermissions[n].group.id===s.group.id){r=!0;break}}r||e.push(s)})),r={shareUsers:e,sharingItem:l.type,shareID:l.id};var n=e.length;o.post("~/api/v1/settings/share-users-delete",JSON.stringify(r)).then((function(e){m.removePermissions(l.type,l.id,n)}),c.report)}function h(){m.settingsData.userGroups.then((function(e){l.userGroups.push({name:n.instant("SELECT_A_GROUP"),id:void 0,selectText:!0}),l.userGroups.push({name:n.instant("EVERYONE"),id:-1,isEveryone:!0}),l.userGroups.push({name:n.instant("SHARED_RESOURCES_ADMIN"),id:-2,isAdmins:!0});var s=$.extend(!0,[],e).sort((function(e,s){var r=e.name.toLowerCase(),i=s.name.toLowerCase();return r<i?-1:r>i?1:0}));l.userGroups=l.userGroups.concat(s),l.groupPermissions.length>0&&angular.forEach(l.groupPermissions,(function(e){for(var s=0;s<l.userGroups.length;s++){if(l.userGroups[s].isEveryone&&e.isEveryone){e.group=l.userGroups[s];break}if(l.userGroups[s].isAdmins&&e.isAdmins){e.group=l.userGroups[s];break}if(e.group&&l.userGroups[s].id===e.group.id){e.group=l.userGroups[s];break}}})),l.groupPermissions.push({access:4,group:l.userGroups[0]})}))}l.newItem=!t,l.owner=t?t.ownerUsername?t.ownerUsername:d.user.domain:d.user.username,l.isOwner=l.owner.toLowerCase()===d.user.username.toLowerCase(),l.isShareable=l.isOwner,l.name=t?t.dis
202playName?r("folderTranslate")(t.displayName,l.owner):t.name:"",l.originalName=l.name,l.isPrimary=!!t&&t.isPrimary,l.origIsPrimary=l.isPrimary,l.permission=t?t.access:8,l.access=r("translate")("MAPPED_RESOURCES_ACCESS_"+l.permission),l.id=t?t.id||t.itemID:null,l.type=t&&t.shareType||"Notes",l.galEnabled=u.user.settings.features.enableGlobalAddressList,l.selectedItem=[],l.isShareable&&function(){if(l.userPermissions=[],l.groupPermissions=[],l.userGroups=[],l.originalShareUsers=[],!t)return l.userPermissions.push({access:4,user:{emailAddress:""}}),void h();o.post("~/api/v1/settings/share-users/",{sharingItem:l.type,shareID:l.id}).then((function(e){l.originalShareUsers=$.extend(!0,[],e.data.shareUsers),angular.forEach(e.data.shareUsers,(function(e){e.user?l.userPermissions.push(e):l.groupPermissions.push(e)})),l.userPermissions.push({access:4,user:{emailAddress:""}}),h()}),c.report)}(),l.queryUsers=m.queryUsers,l.save=function(e,r){if(!l.isValid())return;if(r.$invalid)return;var i={folder:l.name,uid:l.id};l.isOwner&&(l.newItem?o.post("~/api/v1/notes/sources/add",i).then((function(e){l.id=e.data.id,l.isShareable?g():s.hide()}),(function(e){c.report(e.data.message)})):o.post("~/api/v1/notes/sources/edit",i).then((function(e){l.isShareable?g():s.hide()}),(function(e){c.report(e.data.message)})))},l.delete=function(e){if(l.isPrimary)return;const i=s.confirmDeletion().htmlContent(r("translate")("CONFIRMATIONS_DELETE_FOLDER",{name:l.name})).targetEvent(e);s.show(i).then((function(){var e={isPrimary:l.isPrimary,folder:l.name,uid:l.id};o.post("~/api/v1/notes/sources/delete",e).then(s.hide,c.report)}),(function(){}))},l.detach=function(){o.post("~/api/v1/settings/disconnect-from-share",JSON.stringify({shareConnectorData:[t]})).then((function(){s.hide({detached:!0})}),c.report)},l.cancel=function(){s.cancel()},l.ignoreNameWatch=!0,l.isNameValid=!0,l.isValid=function(){return l.isNameValid},e.$watch("name",(function(){l.ignoreNameWatch?l.ignoreNameWatch=!1:""===l.name?l.isNameValid=!1:l.isNameValid=!0})),l.onEmailChanged=function(e,s,r){var i=r["email"+s].$viewValue;i&&i.length>0&&e&&l.userPermissions.push({access:4,user:{emailAddress:""}})},l.onEmailBlurred=function(e,s,r){var i=r["email"+s].$viewValue;i&&0!==i.length||e||(l.selectedItem.splice(s,1),l.userPermissions.splice(s,1))},l.removeUser=function(e,s){l.selectedItem.splice(e,1),l.userPermissions.splice(e,1),s.$setDirty()},l.onGroupChanged=function(e){e&&l.groupPermissions.push({access:4,group:l.userGroups[0]})},l.removeGroup=function(e,s){l.groupPermissions.splice(e,1),s.$setDirty()}}e.$inject=["$scope","$mdDialog","$filter","$q","$translate","$http","$timeout","source","coreData","coreDataSettings","coreDataNotes","userDataService","errorHandling"],angular.module("smartermail").controller("shareNoteFolderController",e)}();
203!function(){"use strict";function t(t,i,e,n,o){function a(){e.get("/api/v1/settings/copyright").then((function(i){t.copyright=i.data.copyrightText,t.copyrightStatement=i.data.copyrightStatement;var e=o.stFullVersion().split("."),a=parseInt(e[2]),r=moment("2000-01-01").add(a,"days").format("MMM D, YYYY");switch(t.version=a+" ("+r+")",t.edition=n.edition,t.editionString="",t.year=moment().year().toString(),t.edition){case n.EDITION_ENTERPRISE:t.editionString="LICENSE_PRODUCT_NAME_ENTERPRISE";break;case n.EDITION_PROFESSIONAL:t.editionString="LICENSE_PRODUCT_NAME_PROFESSIONAL";break;default:t.editionString="LICENSE_PRODUCT_NAME_FREE"}}))}a(),n.watchForChanges(t,a),t.cancel=function(){i.cancel()}}t.$inject=["$scope","$mdDialog","$http","coreLicensing","claimsService"],angular.module("smartermail").controller("aboutSmartermailController",t)}();
204!function(){"use strict";function e(e,t,i,n,a,o,s,l,r){const c=this;c.email="",c.failedEmail="",c.selectedDomain="",c.userOptions=void 0,c.stopImpersonating=s.stopImpersonating,c.impersonatingEmail=l.getEmailAddress();const m="hub/login"===localStorage.getItem("logoutRoute");t.get("~/api/v1/settings/sysadmin/internationalized-domain-names").then((function(e){c.domainOptions=angular.copy(e.data.data),c.domainOptions.unshift({asciiName:i.instant("ALL")}),c.selectedDomain=c.domainOptions[0]}),o.report),c.impersonate=function(i){const s=c.selectedDomain===c.domainOptions[0];if(s&&(!i||!i.email||!i.email.$valid))return;const l=s?c.email:c.email.item1;var d=null;function p(){delete a.categoryDataCache,delete a.sortingFiltering,e.hide();var t=n.location.href.replace(/#.*$/,"")+"#/impersonation/bootstrap";if(d&&!d.closed){try{n.open("","_self")}catch(e){}try{n.close()}catch(e){}d.location.href=t}else{if(n.open(t,"_blank"))try{n.close()}catch(e){}else n.location.replace(t)}}function u(e){d&&!d.closed&&d.close(),o.report(e)}if(null!==n.opener&&(d=n.open("about:blank","_blank")),m){const e=r.getClientId();t.post("/web/api/auth/impersonate-user",{email:l,clientId:e}).then((function(e){r.saveImpersonateToken(e.data),p()}),u)}else{const e=r.getClientId();t.post("~/api/v1/settings/domain/impersonate-user",JSON.stringify({email:l,clientId:e})).then(p,u)}},c.emailChanged=function(e){e&&(""!==c.failedEmail&&c.failedEmail===c.email.item1?e.email.$setValidity("validateEmailExistence",!1):e.email.$setValidity("validateEmailExistence",!0))},c.queryUsers=function(e){return e.length>0&&!e.endsWith(".")&&c.selectedDomain!==c.domainOptions[0]?t.post("~/api/v1/settings/sysadmin/search-impersonation-users",{domain:c.selectedDomain.asciiName,search:e}).then((function(e){return e.data.data}),o.report).catch((function(){return[]})):[]},c.cancel=function(){e.cancel()},c.changeDomain=function(){c.email="",c.failedEmail="",c.userOptions=void 0}}e.$inject=["$mdDialog","$http","$translate","$window","$sessionStorage","errorHandling","impersonationService","claimsService","authStorage"],angular.module("smartermail").controller("sysAdminImpersonateUserControllerChange",e)}();
205!function(){"use strict";function e(e,i,a,n,t,o,s,m,r,c){var l=this;l.email=c||"",l.failedEmail="",l.selectedDomain=r||"",l.userOptions=void 0,i.get("~/api/v1/settings/sysadmin/internationalized-domain-names").then((function(e){var i;l.domainOptions=angular.copy(e.data.data),l.domainOptions.unshift({asciiName:a.instant("ALL")}),t.$current&&t.$current.name&&t.$current.name.startsWith("index.sysadmin-manage.dashboard.domain-specific")&&!l.selectedDomain&&n.secondaryImpersonationDomain&&(i=n.secondaryImpersonationDomain);var o=_.find(l.domainOptions,(function(e){return e.asciiName==i}));null==o?l.selectedDomain=l.domainOptions[0]:(l.selectedDomain=o,setTimeout((function(){document.querySelector("#impersonateUserAutocompleteBox").focus()}),0))}),o.report),l.customSortFunction=function(e){return e.idnName||e.asciiName},l.impersonate=function(i){if(!(l.selectedDomain===l.domainOptions[0])||i&&i.email&&i.email.$valid){var a=l.email&&l.email.item1?l.email.item1:l.email;s.impersonateUser(a),e.hide()}},l.emailChanged=function(e){e&&(""!==l.failedEmail&&l.failedEmail===l.email.item1?e.email.$setValidity("validateEmailExistence",!1):e.email.$setValidity("validateEmailExistence",!0))},l.queryUsers=function(e){return e.length>0&&!e.endsWith(".")?i.post("~/api/v1/settings/sysadmin/search-impersonation-users",{domain:l.selectedDomain.asciiName,search:e}).then((function(e){return e.data.data}),o.report).catch((function(){return[]})):[]},l.cancel=function(){e.cancel()},l.changeDomain=function(){l.email="",l.failedEmail="",l.userOptions=void 0}}e.$inject=["$mdDialog","$http","$translate","$rootScope","$state","errorHandling","impersonationService","coreDataManageDomain","domain","email"],angular.module("smartermail").controller("sysAdminImpersonateUserController",e)}();
206function onlyOfficeController(e,o,n,t,r,i,a,l,c,s,d,f,u,p,m,E,y,O,w){var g=this;
206function v(){g.enableOnlyOffice&&g.enablewopi||g.enableOnlyOffice?g.details.selectedEditor="onlyoffice":g.enablewopi&&(g.details.selectedEditor="collabora")}function b(){i.get("~/api/v1/filestorage/folders").then((function(e){g.allFolders=h(e.data.folder.subFolders)})).catch((function(e){console.error("Error fetching folders:",e),s.error("Unable to retrieve folders. Please try again later.")}))}function h(e){var o=[];return e.forEach((function(e){if("ONLINE_MEETING_FILES"!==e.name&&""!==e.name&&(o.push(e),e.subFolders&&e.subFolders.length>0)){var n=h(e.subFolders);o=o.concat(n)}})),o}async function C(){return i.post("~/wopi/GetWOPIAccessToken").then((e=>{if(e.data&&e.data.token)return e.data.token;throw new Error("Unexpected response structure: "+JSON.stringify(e.data))})).catch((e=>(console.error(e),"Unknown")))}async function U(e,o,n){return i.post("~/wopi/getdiscoveryurl/"+o,{editorType:e,filename:o,edit:n}).then((e=>{if(e.data&&e.data.discoveryUrl)return e.data.discoveryUrl;throw new Error("Unexpected response structure: "+JSON.stringify(e.data))})).catch((e=>(console.error(e),"Unknown")))}async function F(e){const o=e.card;try{const e=E.convertToFullLocale(E.language),n=await U(2,o.fileName,"edit"),t=await C();if(!n||"Unknown"===n)return void s.reportError("COLLABORA_SERVER_UNAVAILABLE");if(!t||"Unknown"===t)return void console.error("Failed to retrieve WOPI access token");const r=new URL(`${window.location.origin}/wopi/files/${encodeURIComponent(o.id)}`),i=`${n}?WOPISrc=${encodeURIComponent(r.toString())}&access_token=${encodeURIComponent(t)}&lang=${encodeURIComponent(e)}`;window.open(i,"_blank")}catch(e){console.error("Error in wopiEditCollabora:",e)}}async function I(e){try{if(!e||!e.card||!e.card.id)return void console.error("Invalid arguments passed to wopiEditOnlyOffice");const o=e.card,n=await U(1,o.fileName,"edit");if(!n||"Unknown"===n)return void s.reportError("ONLYOFFICE_SERVER_UNAVAILABLE");const t=await C();if(!t)return void console.error("Failed to retrieve WOPI access token");const r=E.convertToFullLocale(E.language),i=`${window.location.origin}/wopi/files/${encodeURIComponent(o.id)}`,a=`${n}?wopisrc=${encodeURIComponent(i)}&ui=${encodeURIComponent(r)}`,l=document.createElement("form");l.method="POST",l.action=a,l.target="_blank";const c=document.createElement("input");c.type="hidden",c.name="access_token",c.value=t,l.appendChild(c),document.body.appendChild(l),l.submit(),document.body.removeChild(l),console.log("WOPI Edit request submitted successfully")}catch(e){console.error("Error in wopiEditOnlyOffice:",e.message)}}g.extension,g.type=y,g.allFolders=[],g.availableDocumentTypes=[{id:0,desc:n.instant("DOCUMENT")},{id:1,desc:n.instant("DOCUMENT_PRESENTATION")},{id:2,desc:n.instant("DOCUMENT_SPREADSHEET")}],g.details={id:null,title:null,availableDocumentTypes:g.type,selectedFolder:null},g.isValid=!0,g.enableOnlyOffice=!1,g.enablewopi=!1,g.cancel=function(){r.hide()},g.save=function(){var e=E.language;g.isValid=!0,g.details.title||(g.isValid=!1);if(g.isValid){var o=g.details.availableDocumentTypes;"0"==o?g.extension=".docx":"1"==o?g.extension=".pptx":"2"==o&&(g.extension=".xlsx");var n={language:e,filetype:o,folder:g.allFolders.find((function(e){return e.path===g.details.selectedFolder}))?g.details.selectedFolder:"",fn:g.details.title};i.post("~/api/v1/filestorage/create-document-from-template",n,{headers:{"Content-Type":"application/json"}}).then((function(e){const o=c.addFilesCallback;c.addFilesCallback=e=>{"function"==typeof o&&o(e),e[0].fileName==g.details.title+g.extension&&(c.addFilesCallback=o,"onlyoffice"===g.details.selectedEditor?I({card:e[0]}):"collabora"===g.details.selectedEditor&&F({card:e[0]}),r.hide(!0))}}),(function(e){console.error("Error saving document:",e),s.error(e),r.hide(!1)}))}},g.getFolders=b,g.wopiEditCollabora=F,g.wopiEditOnlyOffice=I,g.setDefaultEditor=v,O.spinner.show(),b(),w.init().then((function(){g.features=w.user.settings.features,g.enableOnlyOffice=g.features.enableOnlyOffice,g.enablewopi=g.features.enableWOPI,v(),O.spinner.hide()}))}onlyOfficeController.$inject=["$timeout","$scope","$translate","$q","$mdDialog","$http","meetingWorksp
206aces","coreDataCalendar","coreDataFileStorage","errorHandling","userTimeService","coreData","coreDataSettings","claimsService","themesService","localeInfoService","type","$rootScope","userDataService"],angular.module("smartermail").controller("onlyOfficeController",onlyOfficeController);
207!function(){"use strict";function a(a,e,r,t,n,d,o){function i(a){return n&&a.startsWith(n.data.path)}a.isNewFolder=o,a.name=t,a.folders=[],a.parentFolder=d,function(){var e=r.data.feedTree;for(var t in e.map)if(e.map.hasOwnProperty(t)){var d=e.map[t];!d.data.isFolder||n&&d.data.id===n.data.id||!o&&i(d.data.path)||a.folders.push(d)}}(),a.submit=function(r){r&&r.$invalid||e.hide({name:a.name,parentFolderId:a.parentFolder.data.id})},a.cancel=function(){e.cancel()}}a.$inject=["$scope","$mdDialog","coreDataRss","name","currentFolder","parentFolder","newFolder"],angular.module("smartermail").controller("editRssFolderController",a)}();
208!function(){"use strict";function e(e,n,a,t,r,d,o,c,i){var l;e.isNewFeed=i,e.name=d,e.data=o,e.folders=[],e.selectedFolder={},e.canUseEnterKey=!0,function(){var n=r.data.feedTree;for(var a in n.map)if(n.map.hasOwnProperty(a)){var t=n.map[a];t.data.isFolder&&(e.folders.push(t),t.data.id===c&&(e.selectedFolder=t))}}(),e.onUrlChanged=function(){l&&t.cancel(l),e.canUseEnterKey=!1,l=t((function(){e.canUseEnterKey=!0,l=void 0}),1100)},e.onUrlBlur=function(){l&&t.cancel(l),e.canUseEnterKey=!0},e.enterKeySubmit=function(n){e.canUseEnterKey&&e.submit(n)},e.submit=function(a){a&&(a.$invalid||a.$pending)||n.hide({name:e.name,url:e.data,folderId:e.selectedFolder.data.id})},e.cancel=function(){n.cancel()}}e.$inject=["$scope","$mdDialog","$http","$timeout","coreDataRss","name","data","folder","newFeed"],angular.module("smartermail").controller("editRssController",e)}();
209
210!function(){"use strict";function e(e,l,t,a,n,r,d){var o=this;function s(){o.folderList=[],o.targetEmail=null,o.targetUsername=null,o.selectedFolder=null,o.selectedFolderPath=null,o.folderDisplayPath=null,o.newfolder=null}function i(e){const l=e.sort((function(e,l){return e.path.toLowerCase().localeCompare(l.path.toLowerCase())}));for(let e in l){let t=l[e].displayPath.split("/").length-1;l[e].name=l[e].displayPath.split("/")[l[e].displayPath.split("/").length-1];for(let a=0;a<t;a++)l[e].name="    "+l[e].name,null!=l[e].translatedName&&(l[e].translatedName="    "+l[e].translatedName)}return l}o.title=d.title,o.helplink=d.helplink,o.ok=d.ok?d.ok:t.instant("OK"),o.cancel=d.cancel?d.cancel:t.instant("CANCEL"),o.isSysAdmin=!1,o.domains=[],o.selectedDomain=l.params.id?{asciiName:l.params.id}:null,o.selectedFolderText=t.instant("FOLDER"),s(),o.init=function(){r.init().then((function(){o.isSysAdmin=r.isSysAdmin&&!l.params.id,o.domains=r.domains,o.selectedDomain=r.selectedDomain||{asciiName:l.params.id}}),n.report)},o.getUserFolderList=function(e){e?(o.targetEmail=o.selectedDomain.idnName?`${e}@${o.selectedDomain.idnName}`:`${e}@${o.selectedDomain.asciiName}`,r.getUserMailFolderList(e).then((function(e){o.folderList=i(e)}),n.report)):s()},o.onSelectFolderPath=function(l){l&&l.$valid&&o.selectedFolderPath&&e.hide({email:o.targetEmail,folder:o.selectedFolderPath})},o.emailChanged=function(e){if(e&&e.email.$valid){var l=o.targetEmail.toLowerCase().split("@");o.targetUserName=l[0];var t=$.grep(o.domains,((e,t)=>e.asciiName&&e.asciiName.toLowerCase()==l[1]||e.idnName&&e.idnName.toLowerCase()==l[1]));r.selectedDomain=1==t.length?t[0]:null,r.getUserMailFolderList(o.targetUserName).then((function(e){o.folderList=i(e)}),n.report)}},o.queryUsers=function(e){return r.queryUsers(e)},o.onCancel=function(){e.cancel()},o.changeDomain=function(){s(),r.selectedDomain=o.selectedDomain},o.onFolderSelected=function(e){if(e){var l=null!=o.selectedFolder.value.translatedPath?t.instant(o.selectedFolder.value.translatedPath):o.selectedFolder.value.translatedPath;o.selectedFolderPath=e.newfolder.$valid&&o.newfolder?`${o.selectedFolder.value.path}/${o.newfolder}`:o.selectedFolder.value.path,o.folderDisplayPath=e.newfolder.$valid&&o.newfolder?`${l}/${o.newfolder}`:l,o.selectedFolderText=o.selectedFolder.value.translatedName?a("folderTranslate")(o.selectedFolder.value.translatedName,o.selectedFolder.value.ownerEmailAddress):o.selectedFolder.value.name.replaceAll(" ","")}},o.onNewFolderChanged=function(e){if(e&&e.newfolder.$valid){const e=null!=o.selectedFolder.value.translatedPath?t.instant(o.selectedFolder.value.translatedPath):o.selectedFolder.value.translatedPath;o.selectedFolderPath=o.selectedFolder?o.newfolder?`${o.selectedFolder.value.path}/${o.newfolder}`:o.selectedFolder.value.path:o.newfolder,o.folderDisplayPath=o.selectedFolder?o.newfolder?`${e}/${o.newfolder}`:e:o.newfolder}}}e.$inject=["$mdDialog","$state","$translate","$filter","errorHandling","coreDataUserFolder","locals"],angular.module("smartermail").controller("adminSelectUserMailFolderController",e)}();
211!function(){"use strict";function e(e,s,n,t){e.which=t,e.sendersList=(n||[]).slice().sort(),0!==e.sendersList.length&&""===e.sendersList[e.sendersList.length-1]||e.sendersList.push(""),e.listChanged=function(){var s=e.sendersList,n=s.filter((function(e){return""===e})).length;n>1?(e.sendersList=s.filter((function(e){return""!==e})),e.sendersList.push("")):0===n&&e.sendersList.push("")}
211,e.listRemove=function(s){e.sendersList.splice(s,1),e.listChanged()},e.save=function(){s.hide(e.sendersList.filter((function(e){return""!==e.trim()})))},e.cancel=function(){s.cancel()},e.clear=function(){e.sendersList=[""]}}e.$inject=["$scope","$mdDialog","blockedSenders","which"],angular.module("smartermail").controller("blockedSenderDialogController",e)}();
212!function(){"use strict";function n(n,i,t,r,e){n.separatorKeys=[t.KEY_CODE.ENTER,t.KEY_CODE.TAB,t.KEY_CODE.COMMA,-59],n.chipsList=(e||[]).slice().sort(),n.inputError=null,n.transformChip=function(i){if(!i||"string"!=typeof i)return null;var t=i.split(/[,;\n\r]+/).map((function(n){return n.trim()})).filter(Boolean).map((function(n){return Promise.resolve(r.isValidEmail(n)).then((function(i){return i?n:null}))}));return Promise.all(t).then((function(i){var t=i.some((function(n){return null===n}));n.$applyAsync((function(){i.forEach((function(i){null!==i&&-1===n.chipsList.indexOf(i)&&n.chipsList.push(i)})),n.inputError=t?"VALIDATION_INVALID_EMAIL_ADDRESS":null}))})),null},n.save=function(){var t=document.querySelector("#settingAdditionalInfoContent md-chips input"),e=(t?t.value:"").trim();if(e){var l=e.split(/[,;\n\r]+/).map((function(n){return n.trim()})).filter(Boolean).map((function(n){return Promise.resolve(r.isValidEmail(n)).then((function(i){return i?n:null}))}));Promise.all(l).then((function(t){if(t.some((function(n){return null===n})))n.$applyAsync((function(){n.inputError="VALIDATION_INVALID_EMAIL_ADDRESS"}));else{var r=n.chipsList.slice();t.forEach((function(n){null!==n&&-1===r.indexOf(n)&&r.push(n)})),i.hide(r)}}))}else i.hide(n.chipsList.slice())},n.cancel=function(){i.cancel()}}n.$inject=["$scope","$mdDialog","$mdConstant","emailValidationService","bypassedSenders"],angular.module("smartermail").controller("bypassTrustedSenderDialogController",n)}();
213!function(){"use strict";function n(n,e,s,o){n.newPassword="",n.confirmPassword="",n.username=o,s((function(){$("input[name=newpass]").trigger("focus")})),n.save=function(){!n.userForm.$invalid&&n.meetsReq&&e.hide({newPassword:n.newPassword,confirmPassword:n.confirmPassword})},n.cancel=function(){e.cancel()}}n.$inject=["$scope","$mdDialog","$timeout","username"],angular.module("smartermail").controller("userEditPasswordAdminController",n)}();
214!function(){"use strict";function s(s,r,o,a,e,d,t){a.userProperties.passwordLocked&&(s.passwordLocked="PASSWORD_LOCKED_DESCRIPTION"),0!==a.userProperties.securityFlags.authType&&(s.passwordLocked="PASSWORD_ACTIVE_DIRECTORY_DESCRIPTION"),s.oldPassword="",s.newPassword="",s.confirmPassword="",s.save=function(a,d){if(d.$invalid||!s.meetsReq)return;var n=e.getClientId(),i=JSON.stringify({currentPassword:s.oldPassword,userData:{password:s.newPassword},clientId:n});o.post("~/api/v1/settings/user",i).then((function(s){s.data,t.report(),r.hide()}),(function(r){r.data.message.indexOf("PASSWORD_RESET_INCORRECT_OLD_PASSWORD")>-1&&(s.userForm.oldpass.$setValidity("oldpass",!1),s.OldPasswordError=!0),s.$broadcast("passwordCheckCallback",r),d.$invalid=!1}))},s.cancel=function(){r.cancel()},s.OldPasswordError=!1,s.oldPasswordChanged=function(){!0===s.OldPasswordError&&(s.userForm.oldpass.$setValidity("oldpass",!0),s.OldPasswordError=!1)}}s.$inject=["$scope","$mdDialog","$http","coreDataSettings","authStorage","errorHandling","successHandling"],angular.module("smartermail").controller("userEditPasswordController",s)}();
215!function(){"use strict";function t(t,e,n,c){t.name=n,t.text=c,t.save=function(){e.hide(t.text)},t.cancel=function(){e.cancel()}}t.$inject=["$scope","$mdDialog","name","text"],angular.module("smartermail").controller("domainEditTextController",t)}();
216!function(){"use strict";function e(e,l,t,r,o,s,d,a,c,n,h){function i(){var t={folderName:e.selectedFolder.path,processGoalMb:e.processGoal,processThresholdMb:e.processThreshold,thresholdDays:e.thresholdDays,type:e.type,translatedPath:e.selectedFolder.translatedPath||e.selectedFolder.displayPath||e.selectedFolder.name};l.hide({rule:t,deleteItem:!1})}e.folderName=r?r.toLowerCase():r,e.folders=o,e.processGoal=s,e.processThreshold=d,e.thresholdDays=a,e.type=c,e.newItem=h,e.save=i,e.trySave=function(e){e||i()},e.delete=function(){l.hide({deleteItem:!0})},e.cancel=function(){l.cancel()},e.getSelectedText=function(){if(!e.selectedFolder)return"";
216var l=e.selectedFolder.translatedPath||e.selectedFolder.displayPath||e.selectedFolder.name;return l?l.replaceAll(" ",""):""},e.selectedFolder=e.folders.find((l=>l.path.toLowerCase()===e.folderName))}e.$inject=["$scope","$mdDialog","$filter","folderName","folders","processGoal","processThreshold","thresholdDays","type","enabled","newItem"],angular.module("smartermail").controller("userEditAutoCleanController",e)}();
217!function(){"use strict";function t(t,e,n,i,o,s,l,r){e.textValue="",e.extensions=o||[],e.title=s||"EXTENSION_BLACKLIST",e.extensions.sort(),e.textValue=e.extensions.join("\r\n"),e.isReadOnly=l,e.showReset="EXTENSION_BLACKLIST_FOR_UPLOADS"===e.title,e.showBlockNoExtension="EXTENSION_BLACKLIST_FOR_UPLOADS"===e.title,e.blockFilesWithNoExtension=r||!1,e.save=function(){var t=e.textValue.split(/\r?\n/);t=t.filter((function(t){return""!=t})),n.hide({extensions:t,blockFilesWithNoExtension:e.blockFilesWithNoExtension})},e.reset=function(){e.showReset&&i.get("~/api/v1/settings/sysadmin/file-storage-extension-blacklist/defaults").then((function(t){var n=t&&t.data&&t.data.extensions||[];(n=n.map((function(t){return(t||"").toString().trim()})).filter((function(t){return""!==t}))).sort(),e.extensions=n,e.textValue=n.join("\r\n"),e.blockFilesWithNoExtension=!0,e.userForm&&e.userForm.$setDirty()}))},e.cancel=function(){n.cancel()},e.blockFilesWithNoExtensionChanged=function(t){e.blockFilesWithNoExtension=t}}t.$inject=["$rootScope","$scope","$mdDialog","$http","extensions","title","isReadOnly","blockFilesWithNoExtension"],angular.module("smartermail").controller("extensionBlacklistDialogController",t)}();
218!function(){"use strict";function t(t,e,r,n,i,s){t.textValue="",t.title=i||"FILE_SYSTEM_RESTRICTIONS",t.isReadOnly=s;var o=n||[];o.sort(),t.textValue=o.join("\r\n"),t.save=function(){var r=t.textValue.split(/\r?\n/).map((function(t){return(t||"").trim()})).filter((function(t){return""!==t}));e.hide({words:r})},t.reset=function(){r.get("~/api/v1/settings/sysadmin/folder-restrictions/defaults").then((function(e){if(e&&e.data&&e.data.success){var r=e.data.folderRestrictions,n=r&&r.restrictedWords?r.restrictedWords:[];n.sort(),t.textValue=n.join("\r\n"),t.userForm&&t.userForm.$setDirty()}else t.textValue=""})).catch((function(){t.textValue=""}))},t.cancel=function(){e.cancel()}}t.$inject=["$scope","$mdDialog","$http","words","title","isReadOnly"],angular.module("smartermail").controller("fileSystemRestrictionsDialogController",t)}();
219!function(){"use strict";function t(t,e,i,n,l,o){e.textValue="",e.items=n||[],e.title=l||"",e.readonly=o,e.items.sort(),e.textValue=e.items.join("\r\n"),e.save=function(){var t=e.textValue.split(/\r?\n/);t=t.filter((function(t){return""!=t})),i.hide({items:t})},e.cancel=function(){i.cancel()}}t.$inject=["$rootScope","$scope","$mdDialog","items","title","readonly"],angular.module("smartermail").controller("listEditDialogController",t)}();
220!function(){"use strict";function e(e,t,r,s,a,o,n){var c=this;c.title=s,c.serverUrl=a,c.personalAccessToken=n,c.chatUsername=o,c.isNew=!n,c.totpRequiredAuth=!1,c.totpRequiredToken=!1,c.rocketChatAuthHeaders=null,c.generateAccessToken=async function(r){if(r.$invalid)return;if(!c.rocketChatAuthHeaders){const r=await async function(){const r={success:!1,data:null};try{const e={username:c.chatUsername,password:c.chatPassword};c.totpRequired&&(e.code=c.totpCode);const s=await t.post(`${c.serverUrl}/api/v1/login`,JSON.stringify(e));r.success=!0,r.data=s.data}catch(t){401===t.code?(c.totpRequiredAuth="totp-required"===t.error,c.totpRequiredAuth?c.totpCodeDetails=t.details:c.serverError=e("translate")("USERNAME_OR_PASSWORD_INCORRECT")):c.serverError=e("translate")("SERVER_NOT_FOUND")}return r}();if(!r.success)return;c.totpCode=null,c.rocketChatAuthHeaders={headers:{"X-Auth-Token":r.data.authToken,"X-User-Id":r.data.userId}}}const s=await async function(){const e={success:!1,data:null};try{const r={tokenName:c.chatUsername,bypassTwoFactor:!0};c.totpRequiredToken&&(r.code=c.totpCode);const s=await t.post(`${c.serverUrl}/api/v1/users.generatePersonalAccessToken`,JSON.stringify(r),c.rocketChatAuthHeaders);e.success=!0,e.data=s.data}catch(e){throw 401===e.code&&(c.totpRequiredToken="totp-required"===e.error,c.totpRequiredToken?c.totpCodeDetails=e.details:c.totpCode=null),"error-token-already-exists"===e.errorType?r.tokenName.$setValidity("token-already-exists",!1):c.rocketChatAuthHeaders=null,e}return e}();s&&(c.personalAccessToken=s.token)}
220,c.save=function(e){!e.$invalid&&c.personalAccessToken&&r.hide({personalAccessToken:c.personalAccessToken})},c.cancel=function(){r.cancel()}}e.$inject=["$filter","$http","$mdDialog","title","serverUrl","username","personalAccessToken"],angular.module("smartermail").controller("rocketChatPersonalAccessTokenDialog",e)}();
221!function(){"use strict";function e(e,t,a,i,o,n){var c=this;switch(c.title=t,c.actionType=a,c.argument=i,c.weight=o,c.showWeight=null!=o,c.hideMoveToJunk=n,c.actionType){case"Delete":case 1:c.actionType=1;break;case"MoveToFolder":case 4:c.actionType=n?1:4;break;case"PrefixSubject":case 6:c.actionType=6;break;default:c.actionType=0}c.save=function(t){t||(c.actionName="",0===c.actionType&&(c.actionName="NoAction"),1===c.actionType&&(c.actionName="Delete"),4===c.actionType&&(c.actionName=n?"Delete":"MoveToFolder"),6===c.actionType&&(c.actionName="PrefixSubject"),e.hide({actionType:c.actionType,argument:c.argument,weight:c.weight,actionTypeName:c.actionName}))},c.cancel=function(){e.cancel()}}e.$inject=["$mdDialog","title","actionType","argument","weight","hideMoveToJunk"],angular.module("smartermail").controller("editSpamFilterActionDialogController",e)}();
222!function(){"use strict";function e(e,s,n,t){e.isAddresses=t,e.sendersList=(n||[]).slice().sort(),0!==e.sendersList.length&&""===e.sendersList[e.sendersList.length-1]||e.sendersList.push(""),e.listChanged=function(){var s=e.sendersList,n=s.filter((function(e){return""===e})).length;n>1?(e.sendersList=s.filter((function(e){return""!==e})),e.sendersList.push("")):0===n&&e.sendersList.push("")},e.listRemove=function(s){e.sendersList.splice(s,1),e.listChanged()},e.save=function(){s.hide(e.sendersList.filter((function(e){return""!==e.trim()})))},e.cancel=function(){s.cancel()},e.clear=function(){e.sendersList=[""]}}e.$inject=["$scope","$mdDialog","trustedSenders","isAddresses"],angular.module("smartermail").controller("trustedSenderDialogController",e)}();
223!function(){"use strict";function e(e,t,i,a,n,l){const o=this;o.$onInit=function(){},o.fileTypes=angular.isDefined(o.fileTypes)?o.fileTypes:"",o.maxFiles=angular.isDefined(o.maxFiles)?o.maxFiles:1e4,o.uploaderData=()=>JSON.stringify({guid:o.attachmentGuid}),o.uploaderOnInit=function(e){o.uploaderFuncs=e},o.uploaderOnPreUpload=function(e,t){if(o.filesUploading++,!o.attachedFiles||!t.fileName)return;o.attachedFiles.some((e=>e.isNew&&e.filename.toLowerCase()===t.fileName.toLowerCase()))&&(o.filesUploading--,t.cancel(),n.warn("MAIL_SAME_FILE_UPLOAD"))},o.uploaderOnUploaded=function(e,t,i){const n=(e.name||"").split(".").pop();let l=a.iconFromExtension(n).split("-").pop();"file"===l&&(l="");const s={isNew:!0,filename:e.name,type:l,isAttachedMessage:!1,size:e.size,origFile:i,contentType:e.type,isInline:!1,webLink:i.file.webkitRelativePath,remove:function(){return o.uploaderFuncs.removeFile(i)},isComplete:function(){return!0}};void 0===o.attachedFiles&&(o.attachedFiles=[]),o.attachedFiles.push(s),"function"==typeof o.onFileUploaded()&&o.onFileUploaded()(),o.filesUploading--},o.uploaderOnFileRemoved=function(e){o.attachedFiles=o.attachedFiles.filter((t=>t.filename!==e.name||!t.isNew))},o.uploaderOnUploadFailure=function(e,t){o.attachedFiles=o.attachedFiles.filter((t=>t.filename!==e.name||!t.isNew)),o.filesUploading--},o.uploaderOnCanceled=function(e){o.filesUploading--,o.attachedFiles=o.attachedFiles.filter((t=>t.filename!==e.name))},o.removeUploadedAttachment=function(e){e.isNew&&o.uploaderFuncs.removeFile(e).then((function(){o.attachedFiles=o.attachedFiles.filter((t=>t.filename!==e.name))}))}}e.$inject=["$translate","$timeout","toaster","fileInfoProvider","errorHandling","coreData"],angular.module("smartermail").component("attachedFileResourceUpload",{templateUrl:"/interface/app/shared/components/attached-file-resource-upload.component.html",controller:e,bindings:{attachedFiles:"=",dropZoneSelector:"@",browseControlSelector:"@",dropControlSelector:"@",attachmentGuid:"<",onFileUploaded:"&",removeAttachment:"&",maxFiles:"=?",fileTypes:"@"}})}();
224!function(){"use strict";function e(e,r,s,o,a,u,n,l,i,t,d){var c=this,f=5,p=1,m=2,g=4;function h(){switch(c.ready=!0,c.originalValues={isPrimary:c.folder.isPrimary},c.stopSharingVisible=c.folder.accessUsers&&c.folder.accessUsers.length||c.folder.accessGroups&&c.folder.accessGroups.length,c.host=window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:""),c.folder.folderType){case f:c.typeName="notes";break;case p:c.typeName="contacts";break;case m:c.typeName="appointments";break;case g:c.typeName="tasks";break;default:c.typeName="email"}for(var e=0;e<c.folder.accessUsers.length;++e)c.userPermissions.push(c.folder.accessUsers[e]),c.selectedItem[e]=c.folder.accessUsers[e].username;c.userPermissions.push({access:4,user:{username:""}}),l.settingsData.userGroups.then((function(e){var r;c.userGroups.push({groupName:o("translate")("SELECT_A_GROUP"),userGroupId:void 0,selectText:!0}),c.userGroups.push({groupName:o("translate")("EVERYONE"),userGroupId:-1,isEveryone:!0}),c.userGroups.push({groupName:o("translate")("SHARED_RESOURCES_ADMIN"),userGroupId:-2,isAdmins:!0});var s=$.extend(!0,[],e);for(r=0;r<s.length;r++)c.userGroups.push({groupName:s[r].name,userGroupId:s[r].id});for(r=0;r<c.folder.accessGroups.length;++r)c.groupPermissions.push(c.folder.accessGroups[r]);c.groupPermissions.length>0&&angular.forEach(c.groupPermissions,(function(e){for(r=0;r<c.userGroups.length;r++)if(e.userGroupId==c.userGroups[r].userGroupId){e.group=c.userGroups[r];break}}
224)),c.groupPermissions.push({access:4,group:c.userGroups[0]})}))}function G(){r.cancel()}c.folder=d,c.folderId=t,c.ready=!1,c.edition=2,c.userPermissions=[],c.groupPermissions=[],c.userGroups=[],c.selectedItem=[],c.stopSharingVisible=!1,c.galEnabled=i.user.settings.features.enableGlobalAddressList,c.canSetPermissions=!0,c.cancel=G,c.stopSharing=function(o){e.spinner.show(),s.post("~/api/v1/folders/stop-sharing-folders",JSON.stringify({folderIds:[c.folderId]})).then((function(e){r.hide({action:"refresh"})}),(function(e){n.showErrorMessage(e)})).finally((function(){e.spinner.hide()}))},c.save=function(e,o){if(o.$invalid)return;c.folder.folderId||(c.folder.folderType=c.folder.type.value);c.folder.admin_access=0,c.folder.everyone_access=0,c.folder.users=[],c.folder.usergroups=[];for(var a=0;a<c.groupPermissions.length;a++){(u=c.groupPermissions[a]).group.userGroupId&&c.folder.usergroups.push({groupName:u.group.name,userGroupId:u.group.userGroupId,access:u.access})}for(a=0;a<c.userPermissions.length;a++){var u;(u=c.userPermissions[a]).username&&c.folder.users.push({username:u.username,access:u.access})}var n=JSON.stringify({folderId:c.folderId,accessUsers:c.folder.users,accessGroups:c.folder.usergroups,includeSubfolders:c.folder.includeSubfolders});s.post("~/api/v1/folders/set-owned-virtual-folder-properties",n).then((function(){r.hide({resource:c.folder})}))},c.focusUserInput=function(){a((function(){$("md-autocomplete input").last().trigger("focus")}))},c.removeUser=function(e,r){c.selectedItem.splice(e,1),c.userPermissions.splice(e,1),r.$setDirty()},c.removeGroup=function(e,r){c.groupPermissions.splice(e,1),r.$setDirty()},c.queryUsers=function(e){return l.queryUsers(e)},c.onEmailChanged=function(e,r,s){var o=s["email"+r].$viewValue;o&&o.length>0&&e&&c.userPermissions.push({access:4,user:{username:""}})},c.onEmailBlurred=function(e,r,s){var o=s["email"+r].$viewValue;o&&0!==o.length||e||(c.selectedItem.splice(r,1),c.userPermissions.splice(r,1))},c.onGroupChanged=function(e){e&&c.groupPermissions.push({access:4,group:c.userGroups[0]})},function(){c.folder||c.folderId||G();c.folder?(c.folder.folderName=o("folderTranslate")(c.folder.translatableName)||c.folder.dis
224playPath||o("folderTranslate")(c.folder.folderName),c.folderId=c.folder.folderId,h()):s.get("~/api/v1/folders/get-owned-virtual-folder/"+c.folderId).then((function(e){e.data.success?(c.folder=e.data.virtualFolder,c.folder.folderName=o("folderTranslate")(c.folder.translatableName)||c.folder.displayPath||o("folderTranslate")(c.folder.folderName),h(),c.ready=!0):G()}),u.report)}()}e.$inject=["$rootScope","$mdDialog","$http","$filter","$timeout","errorHandling","errorMessageService","coreDataSettings","coreData","folderId","folder"],angular.module("smartermail").controller("editOwnShareDialogController",e)}();
225!function(){"use strict";function e(e,r,o,d,n,a,l,t,s,i,f){var c=this,p=5,m=1,u=2,w=4;function h(){let d;if(e.spinner.show(),c.folder.access>=10&&c.originalFolderName!==c.folder.folderName)switch(c.typeName){case"appointments":return d={id:c.folderId,name:c.folder.folderName,owner:c.folder.ownerUserName},void o.post("~/api/v1/calendars/rename",d).then(n,(function(r){l.showErrorMessage(r),e.spinner.hide()}));case"tasks":return d={ownerEmailAddress:`${c.folder.ownerUserName}@${c.folder.ownerDomain}`,folder:c.folder.folderName,uid:c.folder.folderGuid},void o.post("~/api/v1/tasks/sources/edit",d).then(n,(function(r){l.showErrorMessage(r),e.spinner.hide()}));case"contacts":return d={ownerEmailAddress:`${c.folder.ownerUserName}@${c.folder.ownerDomain}`,folder:c.folder.folderName,uid:c.folder.folderGuid},void o.post("~/api/v1/contacts/address-book/edit",d).then((function(){r.hide({action:"refresh"})}),(function(e){l.showErrorMessage(e)})).finally(e.spinner.hide);case"notes":return d={ownerEmailAddress:`${c.folder.ownerUserName}@${c.folder.ownerDomain}`,folder:c.folder.folderName,uid:c.folder.folderGuid},void o.post("~/api/v1/notes/sources/edit",d).then((function(){r.hide({action:"refresh"})}),(function(e){l.showErrorMessage(e)})).finally(e.spinner.hide);case"email":return d={folder:c.originalFolderName,newFolder:c.folder.folderName,ownerEmailAddress:`${c.folder.ownerUserName}@${c.folder.ownerDomain}`},void o.post("~/api/v1/folders/folder-patch",d).then((function(e){var o=e.data&&e.data.folder?e.data.folder:{};o.newName=c.folder.folderName,o.path=c.parentFolder?c.parentFolder+"/"+o.newName:o.newName,r.hide({action:"refresh"})}),(function(e){l.showErrorMessage(e)})).finally((function(){e.spinner.hide(),f.ignoreFolderUpdate.requested=Date.now()}))}function n(){d=JSON.stringify({folderId:c.folderId,color:c.folder.color,allowWebcalSubscription:c.folder.allowWebcalSubscription}),o.post("~/api/v1/folders/set-virtual-folder-properties",d).then((function(){r.hide({action:"refresh"})}),(function(e){l.showErrorMessage(e)})).finally(e.spinner.hide)}n()}function N(){r.cancel()}function E(e){return d("translate")(e)}c.folder=t,c.folderId=s,c.ready=!1,c.webcalLink=i,c.cancel=N,c.delete=function(e){if(!c.canDelete)return;var a;let l=d("translate")("CONFIRMATIONS_DELETE_FOLDER",{name:c.folder.treeName})+"<br><br>"+d("translate")("CONFIRMATIONS_DELETE_FOLDER_SHARED_FOOTNOTE");const t=r.confirmDeletion().htmlContent(l).targetEvent(e);switch(c.typeName){case"appointments":a=function(){o.post(`~/api/v1/calendars/calendar-delete/${c.folder.folderGuid}/${c.folder.ownerUserName}`).then((function(){r.hide({deleted:!0})}),n.report)};break;case"tasks":a=function(){let e={ownerEmailAddress:`${c.folder.ownerUserName}@${c.folder.ownerDomain}`,folder:c.folder.folderName,uid:c.folder.folderGuid};o.post("~/api/v1/tasks/sources/delete",e).then((function(){r.hide({deleted:!0})}),n.report)};break;case"contacts":a=function(){let e={ownerEmailAddress:`${c.folder.ownerUserName}@${c.folder.ownerDomain}`,folder:c.folder.folderName,uid:c.folder.folderGuid};o.post("~/api/v1/contacts/address-book/delete",e).then((function(){r.hide({deleted:!0})}),n.report)};break;case"notes":a=function(){let e={ownerEmailAddress:`${c.folder.ownerUserName}@${c.folder.ownerDomain}`,folder:c.folder.folderName,uid:c.folder.folderGuid};o.post("~/api/v1/notes/sources/delete",e).then((function(){r.hide({deleted:!0})}),n.report)};break;case"email":a=function(){let e={ownerEmailAddress:`${c.folder.ownerUserName}@${c.folder.ownerDomain}`,folder:c.folder.folderName,folderGuid:c.folder.folderGuid};o.post("~/api/v1/folders/delete-folder",e).then((function(){r.hide({deleted:!0}
225),f.ignoreFolderUpdate.requested=Date.now()}),n.report)}}a&&r.show(t).then(a,(function(){}))},c.stopSharing=function(d){e.spinner.show(),o.post("~/api/v1/folders/detach-from-virtual-folders",JSON.stringify({folderIds:[c.folderId]})).then((function(){r.hide({action:"refresh",detached:!0})}),(function(e){l.showErrorMessage(e)})).finally(e.spinner.hide)},c.save=function(r,d){c.folder.isMapped?h():(e.spinner.show(),o.post("~/api/v1/folders/attach-to-virtual-folders",JSON.stringify({folderIds:[c.folderId]})).then((function(){h()}),(function(e){l.showErrorMessage(e)})).finally(e.spinner.hide))},c.copyWebcalLinkToClipboard=function(){e=c.webcalLink,r=document.createElement("textarea"),r.value=e||"",document.body.appendChild(r),r.focus(),r.select(),document.execCommand("copy"),document.body.removeChild(r),a.report("COPIED_TO_CLIPBOARD");var e,r},c.disableAttach=function(e){return!!c.folder.isMapped&&!(!e.$invalid&&!e.$pristine)},function(){c.folder||c.folderId||N();c.folder?(c.folderId=c.folder.folderId,e()):o.get("~/api/v1/folders/get-virtual-folder/"+c.folderId).then((function(r){r.data.success?(c.folder=r.data.virtualFolder,e()):N()}),n.report);function e(){if(c.ready=!0,c.folder.folderType===u?c.folder.folderName=d("folderTranslate")(c.folder.translatableName)||d("folderTranslate")(c.folder.folderName):c.folder.folderName=d("folderTranslate")(c.folder.translatableName)||c.folder.dis
225playPath||d("folderTranslate")(c.folder.folderName),c.parentFolder="",c.folder.parentFolderId){let e=c.folder.folderPath.split("/");e.pop();let r=e.join("/");c.parentFolder=r}c.originalFolderName=c.folder.folderName,c.folder.webcalLink=c.webcalLink,function(){switch(c.host=window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:""),c.folder.folderType){case p:c.typeName="notes";break;case m:c.typeName="contacts";break;case u:c.typeName="appointments";break;case w:c.typeName="tasks";break;default:c.typeName="email"}c.ownerFullName="",c.folder.ownerUserName&&c.folder.ownerDisplayName&&c.folder.ownerUserName!=c.folder.ownerDisplayName?c.ownerFullName=c.folder.ownerDisplayName+" ("+c.folder.ownerUserName+")":!c.folder.ownerUserName||c.folder.ownerDisplayName&&c.folder.ownerUserName!=c.folder.ownerDisplayName?c.ownerFullName=c.folder.ownerDomain:c.ownerFullName=c.folder.ownerUserName;switch(c.canDelete=!c.folder.isDomainResource&&!c.folder.isPrimary&&!c.folder.isSpecialFolder&&!c.folder.isMapped&&c.folder.access>=10,c.accessAsString="",c.folder.access){case 2:c.accessAsString=E("MAPPED_RESOURCES_ACCESS_2");break;case 4:c.accessAsString=E("MAPPED_RESOURCES_ACCESS_4");break;case 8:c.accessAsString=E("MAPPED_RESOURCES_ACCESS_8");break;case 10:c.accessAsString=E("MAPPED_RESOURCES_ACCESS_10");break;default:c.accessAsString=E("MAPPED_RESOURCES_ACCESS_0")}c.folder.includeSubfolders&&3==c.folder.folderType&&(c.accessAsString+=" ("+E("SHARE_SUBFOLDERS_MESSAGE")+")")}()}}()}e.$inject=["$rootScope","$mdDialog","$http","$filter","errorHandling","successHandling","errorMessageService","folder","folderId","webcalLink","coreDataMail"],angular.module("smartermail").controller("editSharedFolderDialogController",e)}();
226!function(){"use strict";function e(e,t,a,r,i,n,o,c){var s=this;s.categories=[],t.deletedCatIds=[],t.saving=!1,t.delete=function(e){if(e.guid)e.pendingRemoval=!0,t.userForm.$setDirty();else for(let t=0;t<s.categories.length;t++)if(s.categories[t]===e){s.categories.splice(t,1);break}},t.cancel=function(){a.cancel()},t.onNewCategoryBlur=function(e,a,r){var i=r["catName_"+a].$viewValue;i&&0!==i.length||e||(s.categories.splice(a,1),t.userForm.$setDirty())},t.onNewCategoryChanged=function(e,a,r){var i=r["catName_"+a].$viewValue;i&&i.length>0&&e&&(s.categories.push({colorIndex:-1}),t.userForm.$setDirty(),c((function(){var e=document.getElementsByName("catName_"+a);e&&e.length&&e[0].focus()})))},t.save=async function(e,r){if(r.$invalid)return;t.saving=!0;var i=s.categories.filter((e=>!e.pendingRemoval));i.splice(i.length-1),i.forEach((e=>{e.name=e.translatedName,e.translatedName=null}));try{await n.setCategories(i)}catch(e){o.report(e)}finally{t.saving=!1,a.hide()}},n.init().then((function(){s.categories=n.getUsersCategories(),s.categories.push({colorIndex:-1})}),a.cancel)}e.$inject=["$rootScope","$scope","$mdDialog","$filter","preferencesStorage","coreDataCategories","errorHandling","$timeout"],angular.module("smartermail").controller("manageCategoriesDialogController",e).directive("validateCategoryName",["$filter","coreDataCategories",function(e,t){return{restrict:"A",require:"ngModel",link:function(a,r,i,n){a.$watch((()=>n.$viewValue),(e=>{a.origName||(a.origName=e)})),n.$validators.validateCategoryName=function(e,t){return!t||-1===t.indexOf(";")&&-1===t.indexOf(",")&&-1===t.indexOf("؛")&&-1===t.indexOf("﹔")&&-1===t.indexOf(";")},n.$validators.duplicateCategoryName=function(r,i){let n=t.getUsersCategories().map((t=>e("translate")(t.name).toLowerCase()));return!a.origName||!i||a.origName===i||-1===n.indexOf(i.toLowerCase())}}}}])}();
227!function(){"use strict";function e(e,s,r,o,u,n,l,t){var i=this;i.FOLDERTYPE_NOTES=5,i.FOLDERTYPE_CONTACTS=1,i.FOLDERTYPE_APPOINTMENTS=2,i.FOLDERTYPE_TASKS=4,i.FOLDERTYPE_EMAIL=3,i.ready=!1,i.edition=2,i.userPermissions=[],i.groupPermissions=[],i.userGroups=[],i.selectedItem=[],i.stopSharingVisible=!1,i.galEnabled=l.user.settings.features.enableGlobalAddressList,i.canSetPermissions=!0,i.folders=[],i.cancel=function(){e.cancel()},i.save=function(r,o){if(o.$invalid)return;i.selectedFolder.folderId||(i.selectedFolder.folderType=i.selectedFolder.type.value);i.selectedFolder.admin_access=0,i.selectedFolder.everyone_access=0,i.selectedFolder.users=[],i.selectedFolder.usergroups=[];for(var u=0;u<i.groupPermissions.length;u++){(n=i.groupPermissions[u]).group.userGroupId&&i.selectedFolder.usergroups.push({groupName:n.group.name,userGroupId:n.group.userGroupId,access:n.access}
227)}for(u=0;u<i.userPermissions.length;u++){var n;(n=i.userPermissions[u]).username&&i.selectedFolder.users.push({username:n.username,access:n.access})}var l=JSON.stringify({folderId:i.selectedFolder.folderId,accessUsers:i.selectedFolder.users,accessGroups:i.selectedFolder.usergroups,includeSubfolders:i.selectedFolder.includeSubfolders});s.post("~/api/v1/folders/set-owned-virtual-folder-properties",l).then((function(){e.hide({resource:i.selectedFolder})}))},i.focusUserInput=function(){o((function(){$("md-autocomplete input").last().trigger("focus")}))},i.removeUser=function(e,s){i.selectedItem.splice(e,1),i.userPermissions.splice(e,1),s.$setDirty()},i.removeGroup=function(e,s){i.groupPermissions.splice(e,1),s.$setDirty()},i.queryUsers=function(e){return n.queryUsers(e)},i.onEmailChanged=function(e,s,r){var o=r["email"+s].$viewValue;o&&o.length>0&&e&&i.userPermissions.push({access:4,user:{username:""}})},i.onEmailBlurred=function(e,s,r){var o=r["email"+s].$viewValue;o&&0!==o.length||e||(i.selectedItem.splice(s,1),i.userPermissions.splice(s,1))},i.onGroupChanged=function(e){e&&i.groupPermissions.push({access:4,group:i.userGroups[0]})},function(){i.folders=t,i.folders.length>0&&(i.selectedFolder=i.folders[0]);n.settingsData.userGroups.then((function(e){var s;i.userGroups.push({groupName:r("translate")("SELECT_A_GROUP"),userGroupId:void 0,selectText:!0}),i.userGroups.push({groupName:r("translate")("EVERYONE"),userGroupId:-1,isEveryone:!0}),i.userGroups.push({groupName:r("translate")("SHARED_RESOURCES_ADMIN"),userGroupId:-2,isAdmins:!0});var o=$.extend(!0,[],e);for(s=0;s<o.length;s++)i.userGroups.push({groupName:o[s].name,userGroupId:o[s].id});for(s=0;s<i.selectedFolder.accessUsers.length;++s)i.userPermissions.push(i.selectedFolder.accessUsers[s]),i.selectedItem[s]=i.selectedFolder.accessUsers[s];i.userPermissions.push({access:4,user:{username:""}}),angular.forEach(i.selectedFolder.accessGroups,(function(e){i.groupPermissions.push(e)})),i.groupPermissions.length>0&&angular.forEach(i.groupPermissions,(function(e){for(s=0;s<i.userGroups.length;s++)if(e.userGroupId==i.userGroups[s].userGroupId){e.group=i.userGroups[s];break}})),i.groupPermissions.push({access:4,group:i.userGroups[0]}),i.ready=!0}))}()}e.$inject=["$mdDialog","$http","$filter","$timeout","errorHandling","coreDataSettings","coreData","unsharedFolders"],angular.module("smartermail").controller("newSharedFolderDialogController",e)}();
228!function(){"use strict";function e(e,r,t,s,a,n,i,o,c){var l=this;l.sources=s.map((function(e){return Object.assign({},e,{displayName:t.instant(e.displayName)})})),l.selectedSource=l.sources[0],l.filteredContacts=[],l.type=a;var u=new Set,d=new Map;function f(){if(l.sources.length&&l.selectedSource){l.filteredContacts=[],u.clear();var e,t=[(e=l.selectedSource).itemID||"",e.ownerUsername||"",e.domain||"",e.displayName||""].join("|"),s=d.get(t);if(s)l.filteredContacts=s;else{if("conferencerooms"===l.selectedSource.itemID||"equipment"===l.selectedSource.itemID){var a="conferencerooms"===l.selectedSource.itemID?2:3,f=l.selectedSource.domain||"",p=(n.getResources()||[]).filter((function(e){return e.sharedResourceType===a})).map((function(e){return{selected:!1,displayAs:e.name,emailAddressList:[e.emailAlias+"@"+f],id:e.id,isGroup:!1,sourceAccount:"",sharedResourceType:e.sharedResourceType}}));return v(p),l.filteredContacts=p,void d.set(t,p)}if(""!==l.selectedSource.ownerUsername){var h;if("category"===l.selectedSource.itemID){var C=function(){for(var e=0;e<l.sources.length;e++){var r=l.sources[e];if(r&&r.ownerUsername&&""!==r.ownerUsername&&r.isPrimary&&!r.isSharedItem)return r.ownerUsername}for(var t=0;t<l.sources.length;t++){var s=l.sources[t];if(s&&s.ownerUsername&&""!==s.ownerUsername&&!s.isSharedItem)return s.ownerUsername}for(var a=0;a<l.sources.length;a++){var n=l.sources[a];if(n&&n.ownerUsername&&""!==n.ownerUsername)return n.ownerUsername}return""}();h="~/api/v1/contacts/address-book/"+C+"/all"}else h=""===l.selectedSource.ownerUsername?"~/api/v1/contacts/domain/":"~/api/v1/contacts/address-book/"+l.selectedSource.ownerUsername+"/"+l.selectedSource.itemID;r.get(h).then((function(e){var r=m(e,l.selectedSource);v(r),l.filteredContacts=r,d.set(t,r)}),(function(){l.filteredContacts=[]}))}else(async function(){if(Array.isArray(i)&&i.length>0)return Array.isArray(i)&&"string"==typeof i[0]?A(i):g(i,l.selectedSource);if(o&&"function"==typeof o.then)try{await o;var e=y(l.selectedSource);if(e)return e}catch(e){}try{c&&c.isInit||await c.init()}catch(e){}var t=y(l.selectedSource);if(t)return t;try{return m(await r.get("~/api/v1/contacts/domain/"),l.selectedSource)}catch(e){return[]}})().then((function(e){v(e),l.filteredContacts=e,d.set(t,e)}
228)).catch((function(){l.filteredContacts=[]}))}}}function y(e){return c?Array.isArray(c.galContactsData)&&c.galContactsData.length>0?g(c.galContactsData,e):Array.isArray(c.galContacts)&&c.galContacts.length>0?A(c.galContacts):null:null}function m(e,r){var t=e&&e.data&&Array.isArray(e.data.contacts)?e.data.contacts:[];if(!t.length)return[];for(var s=r&&"category"===r.itemID,a=s?r.displayName:null,n=[],i=0;i<t.length;i++){var o=t[i];if(o){var c=Array.isArray(o.emailAddressList)?o.emailAddressList:null,l=Array.isArray(o.groupedContacts)?o.groupedContacts:null,u=c&&c.length>0,d=l&&l.length>0;if((u||d)&&(!s||p(o,a))){var f=h(o.sourceOwner);if(d)n.push({selected:!1,displayAs:o.displayAs,id:o.id,isGroup:!0,sourceAccount:f});else for(var y=0;y<c.length;y++)n.push({selected:!1,displayAs:o.displayAs,emailAddressList:[c[y]],id:o.id+"|"+c[y],isGroup:!1,sourceAccount:f})}}}return n}function g(e,r){if(!Array.isArray(e)||!e.length)return[];for(var t=r&&"category"===r.itemID,s=t?r.displayName:null,a=[],n=0;n<e.length;n++){var i=e[n];if(i){var o=Array.isArray(i.emailAddressList)?i.emailAddressList:null,c=Array.isArray(i.groupedContacts)?i.groupedContacts:null,l=o&&o.length>0,u=c&&c.length>0;if((l||u)&&(!t||p(i,s))){var d=h(i.sourceOwner);if(u)a.push({selected:!1,displayAs:i.displayAs,id:i.id,isGroup:!0,sourceAccount:d});else for(var f=0;f<o.length;f++)a.push({selected:!1,displayAs:i.displayAs,emailAddressList:[o[f]],id:i.id+"|"+o[f],isGroup:!1,sourceAccount:d})}}}return a}function A(e){if(!Array.isArray(e)||!e.length)return[];for(var r=new Array(e.length),t=0;t<e.length;t++){var s=e[t];if(s){var a=(s.split("@")[0]||"").trim();r[t]={selected:!1,displayAs:a,emailAddressList:[s],id:s,isGroup:!1,sourceAccount:""}}else r[t]=null}return r.filter(Boolean)}function p(e,r){if(!r)return!0;var s=Array.isArray(e.categories)?e.categories:null;if(!s||!s.length)return!1;for(var a=0;a<s.length;a++){var n=s[a];if(n)if(0===t.instant(n.name).localeCompare(r,void 0,{sensitivity:"base"}))return!0}return!1}function h(e){if("string"!=typeof e)return"";var r=e.indexOf("@");return r>0?e.slice(0,r):e}function v(e){return!Array.isArray(e)||e.length<2||e.sort((function(e,r){var t=e&&e.displayAs?e.displayAs:"",s=r&&r.displayAs?r.displayAs:"";return t.localeCompare(s,void 0,{sensitivity:"base",numeric:!0})})),e}l.sourceChanged=f,l.selectAll=function(){if(!l.filteredContacts.length)return void u.clear();var e=l.filteredContacts.every((function(e){return u.has(e.id)}));if(u.clear(),!e)for(var r=0;r<l.filteredContacts.length;r++)u.add(l.filteredContacts[r].id)},l.save=function(){e.hide({selectedContacts:l.getSelectedContacts()})},l.cancel=function(){e.cancel()},l.toggle=function(e){u.has(e)?u.delete(e):u.add(e)},l.getSelectedContacts=function(){if(!u.size||!l.filteredContacts.length)return[];for(var e=[],r=0;r<l.filteredContacts.length;r++){var t=l.filteredContacts[r];u.has(t.id)&&e.push(t)}return e},l.isSelected=function(e){return u.has(e)},f()}e.$inject=["$mdDialog","$http","$translate","sources","type","coreDataCalendar","galData","galPromise","restrictedSenders"],angular.module("smartermail").controller("emailRecipientsController",e)}();
229!function(){"use strict";function e(e,t,o,n,i,a,r,l){e.editorScope={},e.headerText=n,e.htmlContent=i,e.context=a,e.domainOverride=l,e.readOnly=r,e.onFroalaInitialized=function(){$("st-html-editor textarea.froalaEditor")[0]["data-froala.editor"].events.focus()},e.save=function(){const n=e.editorScope.getHtml();o((function(){t.hide(n)}))},e.cancel=function(){t.cancel()}}e.$inject=["$scope","$mdDialog","$timeout","headerText","htmlContent","context","readOnly","domainOverride"],angular.module("smartermail").controller("simpleHtmlViewController",e)}();
230!function(){"use strict";function e(e,r,t,s){e.server=t||{serverType:0},e.newItem=s,e.save=function(){for(var t=[],s=e.server.urlstring.replace(/\r/g,"").split("\n"),n="stun:",i="turn:",o=0;o<s.length;++o)if(s[o]){s[o]=s[o].trim();var l=s[o].indexOf("://");l>-1&&(s[o]=s[o].substring(l+3)),0!==e.server.serverType||s[o].toLocaleLowerCase().startsWith(n)?1!==e.server.serverType||s[o].toLocaleLowerCase().startsWith(i)||s[o].toLocaleLowerCase().startsWith("turns:")||(s[o]=i+s[o]):s[o]=n+s[o],t.push(s[o])}
230e.server.urlstring=t.join("\r\n"),r.hide({server:e.server,deleteItem:!1})},e.delete=function(){r.hide({deleteItem:!0})},e.cancel=function(){r.cancel()}}e.$inject=["$scope","$mdDialog","server","newItem"],angular.module("smartermail").controller("editStunServerController",e)}();
231!function(){"use strict";function t(t,n,e,E){const _={ONCE:0,DAILY:4,WEEKLY:5,MONTHLY:6,YEARLY:7},a=[{id:0,name:n.instant("CALENDAR_FIRST")},{id:1,name:n.instant("CALENDAR_SECOND")},{id:2,name:n.instant("CALENDAR_THIRD")},{id:3,name:n.instant("CALENDAR_FOURTH")},{id:4,name:n.instant("CALENDAR_LAST")}],i=[{id:0,name:n.instant("SUNDAY")},{id:1,name:n.instant("MONDAY")},{id:2,name:n.instant("TUESDAY")},{id:3,name:n.instant("WEDNESDAY")},{id:4,name:n.instant("THURSDAY")},{id:5,name:n.instant("FRIDAY")},{id:6,name:n.instant("SATURDAY")},{id:7,name:n.instant("DAY")},{id:8,name:n.instant("CALENDAR_RECUR_WEEKDAY")},{id:9,name:n.instant("CALENDAR_RECUR_WEEKEND_DAY")}],A=[{id:0,name:n.instant("MONTH_NAMES_JANUARY")},{id:1,name:n.instant("MONTH_NAMES_FEBRUARY")},{id:2,name:n.instant("MONTH_NAMES_MARCH")},{id:3,name:n.instant("MONTH_NAMES_APRIL")},{id:4,name:n.instant("MONTH_NAMES_MAY")},{id:5,name:n.instant("MONTH_NAMES_JUNE")},{id:6,name:n.instant("MONTH_NAMES_JULY")},{id:7,name:n.instant("MONTH_NAMES_AUGUST")},{id:8,name:n.instant("MONTH_NAMES_SEPTEMBER")},{id:9,name:n.instant("MONTH_NAMES_OCTOBER")},{id:10,name:n.instant("MONTH_NAMES_NOVEMBER")},{id:11,name:n.instant("MONTH_NAMES_DECEMBER")}];function D(t){return t.seriesStartUser=R(t.start,t.isAllDay),t.startMeetingTimeUser=R(t.start,t.isAllDay),t.endMeetingTimeUser=R(t.end,t.isAllDay),[r(t),C(t),s(t)].filter((t=>t))}function R(n,e){if(!n)return"";if(e){var E=moment(n.dt.substr(0,19)),_=moment.tz({year:E.year(),month:E.month(),date:E.date(),hour:E.hour(),minute:E.minute(),second:0},n.tz);return moment({year:_.year(),month:_.month(),date:_.date()}).toDate()}return t.convertLocalToUserTimeMoment(n.dt).toDate()}function r(t){let E=e("date")(t.startMeetingTimeUser,"shortDate"),_=e("date")(t.startMeetingTimeUser,"shortTime"),a=e("date")(t.endMeetingTimeUser,"shortTime"),i=e("date")(t.startMeetingTimeUser,"short"),A=e("date")(t.endMeetingTimeUser,"short"),D=function(t,n){let e=new Date(t);e.setHours(0,0,0,0);let E=new Date(n);E.setHours(0,0,0,0);let _=(E-e)/864e5;return Math.abs(_)}(t.startMeetingTimeUser,t.endMeetingTimeUser),R=t.isAllDay&&D>1||!t.isAllDay&&D>=1,r=new Date(t.endMeetingTimeUser);r.setDate(r.getDate()-1);let s=e("date")(r,"shortDate");return t.isAllDay?R?t.isRecurring?n.instant("CALENDAR_DESC_TIME_ALLDAY_MULTIPLE_DAYS_RECURRING",{x:D}):n.instant("CALENDAR_DESC_TIME_ALLDAY_MULTIPLE_DAYS",{start:E,end:s}):t.isRecurring?n.instant("CALENDAR_DESC_TIME_ALLDAY_RECURRING"):n.instant("CALENDAR_DESC_TIME_ALLDAY",{start:E}):R?t.isRecurring?n.instant(1==D?"CALENDAR_DESC_TIME_ENDS_1_DAY_LATER":"CALENDAR_DESC_TIME_ENDS_X_DAYS_LATER",{start:_,end:a,count:D}):n.instant("CALENDAR_DESC_TIME_START_TO_END",{start:i,end:A}):t.isRecurring?n.instant("CALENDAR_DESC_TIME_START_TO_END",{start:_,end:a}):n.instant("CALENDAR_DESC_TIME_START_TO_END",{start:i,end:a})}function s(t){let E=e("date")(t.seriesStartUser,"shortDate");return t.isRecurring?t.untilDateEnabled&&t.untilDate?n.instant("CALENDAR_DESC_REPEAT_WITH_END",{start:E,end:e("date")(t.untilDate,"shortDate")}):t.untilCountEnabled?n.instant(1==t.untilCount?"CALENDAR_DESC_REPEAT_1_TIMES":"CALENDAR_DESC_REPEAT_X_TIMES",{start:E,count:t.untilCount}):n.instant("CALENDAR_DESC_REPEAT_NO_END",{start:E}):""}function C(t){let e;if(!t.isRecurring)return"";switch(t.recurrenceType){case _.DAILY:return e=+t.dailyInterval,t.isWeekdaysOnly?1===e?n.instant("CALENDAR_DESC_RECURRENCE_DAILY_EVERY_1_WEEKDAY"):2===e?n.instant("CALENDAR_DESC_RECURRENCE_DAILY_EVERY_2_WEEKDAYS"):n.instant("CALENDAR_DESC_RECURRENCE_DAILY_EVERY_X_WEEKDAYS",{count:e}):1===e?n.instant("CALENDAR_DESC_RECURRENCE_DAILY_EVERY_1_DAY"):2===e?n.instant("CALENDAR_DESC_RECURRENCE_DAILY_EVERY_2_DAYS"):n.instant("CALENDAR_DESC_RECURRENCE_DAILY_EVERY_X_DAYS",{count:e});case _.WEEKLY:return e=+t.weeklyInterval,1===e?n.instant("CALENDAR_DESC_RECURRENCE_WEEKLY",{days:o(t)}):2===e?n.instant("CALENDAR_DESC_RECURRENCE_WEEKLY_EVERY_2_WEEKS",{days:o(t,!0)}):n.instant("CALENDAR_DESC_RECURRENCE_WEEKLY_EVERY_X_WEEKS",{days:o(t,!0),count:e});case _.MONTHLY:return e=+t.monthlyInterval,t.monthlySpecificDay?n.instant(1===e?"CALENDAR_DESC_RECURRENCE_MONTHLY_SPECIFIC_DAY_1":2===e?"CALENDAR_DESC_RECURRENCE_MONTHLY_SPECIFIC_DAY_2":"CALENDAR_DESC_RECURRENCE_MONTHLY_SPECIFIC_DAY_X",{day:N(t.monthDay),count:e}):n.instant(1===e?"CALENDAR_DESC_RECURRENCE_MONTHLY_ORDINAL_DAY_1":2===e?"CALENDAR_DESC_RECURRENCE_MONTHLY_ORDINAL_DAY_2":"CALENDAR_DESC_RECURRENCE_MONTHLY_ORDINAL_DAY_X",{ordinal:L(t.monthlyPeriodIndex).toLowerCase(),day:d(t.monthlyPeriodDayIndex),count:e});case _.YEARLY:return e=+t.yearlyInterval,e=+t.yearlyInterval,t.yearlySpecificDate?n.instant(1===e?"CALENDAR_DESC_RECURRENCE_YEARLY_SPECIFIC_DAY_1":2===e?"CALENDAR_DESC_RECURRENCE_YEARLY_SPECIFIC_DAY_2":"CALENDAR_DESC_RECURRENCE_YEARLY_SPECIFIC_DAY_X",{day:t.yearlyDay,month:A[t.yearlyMonthIndex].name,count:e}):n.instant(1===e?"CALENDAR_DESC_RECURRENCE_YEARLY_ORDINAL_DAY_1":2===e?"CALENDAR_DESC_RECURRENCE_YEARLY_ORDINAL_DAY_2":"CALENDAR_DESC_RECURRENCE_YEARLY_ORDINAL_DAY_X",{ordinal:L(t.yearlyPeriodIndex).toLowerCase(),day:d(t.yearlyPeriodDayIndex),month:A[t.yearlyMonthIndex].name,count:e});default:return""}}function N(t){try{const n=new Intl.PluralRules(E.language||navigator.language,{type:"ordinal"});return n&&n.select(t)||t}catch(n){return t}}function L(t){var n=a.find((n=>n.id===t));return n?n.name:""}function d(t){var n=i.find((n=>n.id===t));return n?n.name:""}function o(t,n){for(var E="",_=[],a=0;a<t.weeklyDays.length;a++)t.weeklyDays[a]&&_.push(i[a].name);if(5===_.length&&"Monday"==_[0]&&"Tuesday"==_[1]&&"Wednesday"==_[2]&&"Thursday"==_[3]&&"Friday"==_[4])E=e("translate")(n?"CALENDAR_RECUR_WEEKDAYS":"CALENDAR_RECUR_WEEKDAY").toLowerCase();else if(1===_.length)E=_[0];else if(2===_.length)E=_[0]+" "+e("translate")("AND").toLowerCase()+" "+_[1];else if(_.length>2){for(a=0;a<_.length-1;++a)E+=_[a]+", ";E+=e("translate")("AND").toLowerCase()+" "+_[_.length-1]}return E}this.recurrenceDescription=function(t,n){return D(t).join(n||", ")},this.recurrenceDescriptionParts=D}t.$inject=["userTimeService","$translate","$filter","localeInfoService"],angular.module("smartermail").service("calendarRecurrenceDescriptionService",t)}();
232!function(){"use strict";function e(e,n,i,c){var s=this;function t(){s.license={version:"",edition:s.EDITION_UNSET,hasEnterpriseFunctionality:!1,hasEas:!1,hasMapiEws:!1},r()}function r(){s.version=s.license.version,s.edition=+s.license.edition,s.hasEnterpriseFunctionality=!!s.license.enterpriseFunctionality,s.hasEas=!!s.license.activeSyncEnabled,s.hasMapiEws=!!s.license.mapiEwsEnabled}function o(){return n.get("~/api/v1/licensing/about").then((function(e){s.license=e.data,s.license.cache_expires=(n=new Date,n.setMinutes(n.getMinutes()+5),n),i.core_license=s.license,r();var n}),(function(e){delete i.core_license,t(),c(o,3e4)}))}s.EDITION_UNSET=-1,s.EDITION_ENTERPRISE=0,s.EDITION_PROFESSIONAL=1,s.EDITION_FREE=2,s.watchForChanges=function(e,n){if(!e)return;e.coreLicensingDeregisterer&&"function"==typeof e.coreLicensingDeregisterer&&(e.coreLicensingDeregisterer(),e.coreLicensingDeregisterer=null);e.coreLicensingDeregisterer=e.$watch((function(){return s.license}),(function(){n()}))},s.reload=function(){o()},s.ensureLoaded=function(){},function(){t(),s.license=i.core_license,null==s.license||null==s.license.cache_expires||s.license.cache_expires<new Date?o():r();e.$on("signalR.mailHub.client.licensingChanged",(function(){o()}))}()}e.$inject=["$rootScope","$http","$sessionStorage","$timeout"],angular.module("smartermail").service("coreLicensing",e)}();
233!function(){"use strict";function t(t,n,e,r,i){var a=this;function s(t){if(t&&void 0!==t.data&&t.data&&(t=t.data),t&&void 0!==t.message&&t.message){var a="";t.message.split("\n").filter((function(t){return t}
233)).forEach((function(t){var n=t,e=null;if(t.contains("|{")&&t.endsWith("}")){var i=t.indexOf("|{");n=t.substr(0,i),e=JSON.parse(t.substr(i+1))}a+=r.instant(n,e)+"\n"})),a=(a=e(a.trim())).replace(new RegExp("&#10;","g"),"<br>");var s=null;s=t.message.split("\n").length>1?15e3:1e4,i((function(){n.pop({type:"error",title:null,body:a,timeout:s,bodyOutputType:"trustedHtml"})}),10)}else i((function(){n.pop("error",r.instant(t||"ERROR_HAS_OCCURRED"))}),10)}a.warn=function(t){if(!t)return;void 0!==t.data&&t.data&&(t=t.data);if(void 0!==t.message&&t.message){var a="";t.message.split("\n").filter((function(t){return t})).forEach((function(t){var n=t,e=null;if(t.contains("|{")&&t.endsWith("}")){var i=t.indexOf("|{");n=t.substr(0,i),e=JSON.parse(t.substr(i+1))}a+=r.instant(n,e)+"\n"})),a=(a=e(a.trim())).replace(new RegExp("&#10;","g"),"<br>");var s=null;s=t.message.split("\n").length>1?15e3:1e4,i((function(){n.pop({type:"warning",title:null,body:a,timeout:s,bodyOutputType:"trustedHtml"})}),10)}else i((function(){n.pop("warning",r.instant(t))}),10)},a.report=s,a.reportError=function(t){i((function(){n.pop("error",r.instant(t))}),10)},a.reportAndHideSpinner=function(n){s(n),t.spinner.hide()}}t.$inject=["$rootScope","toaster","$sanitize","$translate","$timeout"],angular.module("smartermail").service("errorHandling",t)}();
234!function(){"use strict";angular.module("smartermail").service("htmlSandboxing",(function(){this.parseCss=function(e){const t="st-html-editor";let r=(new DOMParser).parseFromString(e,"text/html"),s=e;if(r){let e=r.querySelectorAll("style");if(e)for(let s of e){let e=r.createElement("style"),l=s.sheet.cssRules;for(let r of l){if("CSSMediaRule"===r.constructor.name)for(let e of r.cssRules)n(e,t);else n(r,t);e.innerHTML+=r.cssText+"\n"}r.body.removeChild(s),r.head.appendChild(e)}s=r.head.innerHTML+r.body.innerHTML}return s;function n(e,t){const r=e.selectorText.split(",").map((e=>`${t} ${e.trim()}`));e.selectorText=r.join(", ")}}}))}();
235!function(){"use strict";function t(t,e,n,i){function s(e,s){e&&e.data&&(e=e.data),e&&"object"==typeof e&&(e=e.message);var r=e?t("translate")(e,s):t("translate")("SUCCESS");i((function(){n.pop("success","",r)}),10)}this.report=s,this.reportAndHideSpinner=function(t){s(t),e.spinner.hide()}}t.$inject=["$filter","$rootScope","toaster","$timeout"],angular.module("smartermail").service("successHandling",t)}();
236(function(){"use strict";var t,a,n="pascalprecht.translate",r="translateOnce";function e(a,n,r){var e=t(a);return{restrict:"A",priority:-2,link:function(t,i,l){var c={};l.translateValues&&(c=n(l.translateValues)(t)),r(l[e],c).then((function(t){i.attr(a,t)}),(function(){}))}}}t=function(t){return r+t.charAt(0).toUpperCase()+t.slice(1)},a=function(a){var r=t(a);angular.module(n).directive(r,["$parse","$translate",angular.bind(void 0,e,a)])},["value","title","alt","placeholder"].forEach((function(t){a(t)})),angular.module(n).directive(r,["$compile","$parse","$translate",function(t,a,n){return{restrict:"A",priority:-1,link:function(e,i,l){var c={},s=l[r];s||(s=i.text().trim()),l.translateValues&&(c=a(l.translateValues)(e)),n(s,c).then((function(a){i.html(a),l.hasOwnProperty("translateCompile")&&t(i.contents())(e)}))}}}])}).apply(this);
237angular.module("smartertools").directive("stClick",["$parse",function(t){return{restrict:"A",link:function(n,i,e){var c=t(e.stClick),l=0,o=null;i.on("click",(function(t){1===++l?o=setTimeout((function(){n.$apply((function(){c(n,{$event:t})})),l=0}),300):(clearTimeout(o),l=0)}))}}}]);
238angular.module("smartertools").directive("compileHtml",["$compile",function(t){return{restrict:"A",link:function(n,c,e){n.$watch(e.compileHtml,(function(e){c.html(e),t(c.contents())(n)}))}}}]);
239!function(){"use strict";function n(n,e,t,i,a,r,s,o,c,g){var C,f=this;function u(i){var c=i.$to();if(o.skipNextCheck)o.skipNextCheck=!1;else if(e.$eval(s.confirmOnUnsavedChanges)&&!f.isIE){if(!f.stateChangeTriggeredByDialog){var g=a.confirm({title:r.instant("UNSAVED_CHANGES"),textContent:r.instant("CONFIRMATIONS_UNSAVED_CHANGES_TEXT"),ok:r.instant("LEAVE_PAGE"),cancel:r.instant("CANCEL")});return a.show(g).then((function(){f.stateChangeTriggeredByDialog=!0,t.go(c,i.params(),{inherit:!0}),n.$broadcast("navigation:unsavedChanges",{})}),(function(){})),n.$broadcast("navigation:unsavedChanges",{}),!1}f.stateChangeTriggeredByDialog=!1}}function v(){var n=g.defer();if(o.skipNextCheck)return o.skipNextCheck=!1,n.resolve(),n.promise;if(!e.$eval(s.confirmOnUnsavedChanges)||f.isIE)return n.resolve(),n.promise;var t=a.confirm({title:r.instant("UNSAVED_CHANGES"),textContent:r.instant("CONFIRMATIONS_UNSAVED_CHANGES_TEXT"),ok:r.instant("LEAVE_PAGE"),cancel:r.instant("CANCEL")});return a.show(t).then((function(){n.resolve()}),(function(){n.reject()})),n.promise}f.isIE=!1,function(){(-1!==navigator.userAgent.indexOf("MSIE")||navigator.appVersion.indexOf("Trident/")>0)&&(f.isIE=!0);o.skipNextCheck=!1,C=c.onStart({},u),o.doConfirmDialog=v,e.$on("$destroy",(function(){C&&C()}))}()}n.$inject=["$rootScope","$scope","$state","$filter","$mdDialog","$translate","$attrs","unsavedChangesTrackingService","$transitions","$q"],angular.module("smartertools").service("unsavedChangesTrackingService",(function(){this.skipNextCheck=!1,this.doConfirmDialog=void 0})).directive("confirmOnUnsavedChanges",(function(){return{restrict:"A",controller:n,link:function(n,e,t){}}}))}();
240!function(){"use strict";function t(t){return function(n,i,s){$(i).addClass("st-fluid");var e=angular.element(t);n.$watch((function(){return{h:e.height(),w:e.width()}}),(function(t,s){n.windowWidth<1e3?i.addClass("st-small-fluid"):i.removeClass("st-small-fluid")}),!0),e.on("resize",(function(){n.$applyAsync()}))}}t.$inject=["$window"],angular.module("smartertools").directive("stFluid",t)}();
241!function(){"use strict";function e(e,n,o){return{restrict:"EA",link:function(t,l,i,c){t.helpid=i.page,t.openHelp=function(n){var l=e.$state.current.name;t.helpid&&(l=t.helpid);const i="https://help.smartertools.com/smartermail/current/?page="+encodeURIComponent(l)+"&v="+o.stVersion();console.log("NAVIGATING TO HELP PAGE: "+i),window.open(i,"help")},t.cancelDialog=function(){n.cancel()}},template:"<md-button class='md-icon-button modal-help-link' ng-click='openHelp($event)' aria-label='help'><i class='toolsicon toolsicon-question_mark'></i></md-button>"}}e.$inject=["$rootScope","$mdDialog","claimsService"],angular.module("smartertools").directive("helpLink",e)}();
242!function(){"use strict";function t(t,n){return{restrict:"E",priority:1,scope:{href:"@"},replace:!0,transclude:!0,template:'<a ng-transclude target="_blank"></a>',link:function(t,n){n.on("mouseup",(function(t){t.stopPropagation()})),n.on("click",(function(t){t.stopPropagation()}))}}}t.$inject=["$compile","$timeout"],angular.module("smartertools").directive("isolateClick",(function(){return{link:function(t,n){n.on("click",(function(t){t.stopPropagation()}))}}})),angular.module("smartertools").directive("stLink",t)}();
243!function(){"use strict";function o(o,e,i){return{restrict:"C",link:function(o,e){function i(){e.addClass("image-loaded"),e.removeClass("loading-image"),e.off("load"),e.off("error")}e.on("load",i),e.on("error",i)}}}function e(o,e,i){return{restrict:"C",transclude:!0,scope:{compile:"<"},link:function(e,i,t,n,r){r(e,(function(t){var n=o("<div>"+e.compile+"</div>")(e);i.append(n)}))}}}o.$inject=["$compile","$log","$timeout"],e.$inject=["$compile","$log","$timeout"],angular.module("smartertools").directive("stLoadingImage",o),angular.module("smartertools").directive("stHtmlCompiler",e)}();
244!function(){"use strict";function t(t,e,i){return{restrict:"A",priority:-1,link:function(t,e){i((function(){"md-autocomplete"===e[0].nodeName.toLowerCase()?e[0].hasAttribute("md-input-id")?e.find(`#${e[0].getAttribute("md-input-id")}`).trigger("focus"):e[0].hasAttribute("md-input-name")?e.find(`[name="${e[0].getAttribute("md-input-name")}"]`).trigger("focus"):e.find("input[type='text']").trigger("focus"):e.trigger("focus")}),50)}}}t.$inject=["$compile","$log","$timeout"],angular.module("smartertools").directive("mdAutofocus",t),angular.module("smartertools").directive("stAutofocus",t)}();
245angular.module("smartertools").directive("mdMenuClass",["$window",function(n){return{restrict:"A",link:function(e,t,o){var r=t[0].querySelector("md-menu-content");e.$on("$mdMenuOpen",(function(){n.requestAnimationFrame((function(){r.parentNode.classList.add(o.mdMenuClass)}))})),e.$on("$destroy",(function(){r=null}))}}}]);
246!function(){"use strict";function t(t){return{restrict:"E",link:function(t,e,r,i){if(r.stDirection){var o=r.stDirection;"before"!=o&&"after"!=o||(n(),t.$on("locale:changed",n))}function n(){var t=r.stDirection;if("before"===t)t=$("body[dir=rtl]").length>0?"right":"left";else if("after"===t){t=$("body[dir=rtl]").length>0?"left":"right"}t!=r.mdDirection&&r.$set("mdDirection",t)}}}}t.$inject=["browserSupport"],angular.module("smartertools").directive("mdTooltip",t)}();
247!function(){"use strict";function r(){return{restrict:"A",link:function(r,n,e){n.on("error",(function(n){r.$apply((function(){r.$eval(e.ngImageOnError,{$element:n.target,evt:n})}))}))}}}angular.module("smartertools").directive("ngImageOnError",r),angular.module("smartertools").directive("ngImageOnError",r)}();
248!function(){"use strict";function e(){return{restrict:"A",link:function(e,n,t){n.on("load",(function(n){e.$a
248pply((function(){e.$eval(t.ngImageOnLoad,{$element:n.target,evt:n})})),n.preventDefault()}))}}}angular.module("smartertools").directive("ngImageOnLoad",e),angular.module("smartertools").directive("ngImageOnLoad",e)}();
249!function(){"use strict";angular.module("smartertools").directive("onErrorSrc",(function(){return{link:function(r,o,n){o.on("error",(function(){if(n.src!=n.onErrorSrc){let r=n.onErrorSrc;r&&0==r.indexOf("~/")&&(r=stSiteRoot+r.substr(2)),n.$set("src",r)}}))}}}))}();
250
251!function(){"use strict";angular.module("smartertools").directive("stDragLeave",["$rootScope","$parse",function(n,t){return{restrict:"A",compile:function(n,r){var e=t(r.stDragLeave,null,!0);return function(n,t){t.on("dragleave",(function(t){n.$apply((function(){e(n,{event:t.originalEvent})}))}))}}}}]).directive("stDragOver",["$rootScope","$parse",function(n,t){return{restrict:"A",compile:function(n,r){var e=t(r.stDragOver,null,!0);return function(n,t){t.on("dragover",(function(t){n.$apply((function(){e(n,{event:t.originalEvent})}))}))}}}}]).directive("stDragStart",["$rootScope","$parse",function(n,t){return{restrict:"A",compile:function(n,r){var e=t(r.stDragStart,null,!0);return function(n,t){t.on("dragstart",(function(t){n.$apply((function(){e(n,{event:t.originalEvent})}))}))}}}}]).directive("stDrop",["$rootScope","$parse",function(n,t){return{restrict:"A",compile:function(n,r){var e=t(r.stDrop,null,!0);return function(n,t){t.on("drop",(function(t){n.$apply((function(){e(n,{event:t.originalEvent})}))}))}}}}])}();
252!function(){"use strict";angular.module("smartertools").directive("stEnterKey",(function(){return function(e,t,n){t.on("keydown keypress",(function(t){13===(t.which||t.keyCode)&&(n.hasOwnProperty("stShiftEnter")&&t.shiftKey||(e.$apply((function(){e.$eval(n.stEnterKey)})),t.preventDefault()))}))}}))}();
253!function(){"use strict";angular.module("smartertools").directive("stEscapeKey",(function(){return function(e,n,t){n.on("keyup keypress keydown",(function(n){27===(n.which||n.keyCode)&&(e.$apply((function(){e.$eval(t.stEscapeKey)})),n.preventDefault())}))}}))}();
254!function(){"use strict";angular.module("smartertools").directive("stTouchstart",(function(){return{restrict:"A",controller:["$scope","$element",function(t,n){n.on("touchstart",(function(o){var e=n.attr("st-touchstart");t.$event=o,t.$apply(e)}))}]}})).directive("stTouchmove",(function(){return{restrict:"A",controller:["$scope","$element",function(t,n){function o(o){var e=n.attr("st-touchmove");t.$event=o,t.$apply(e)}function e(t){t.preventDefault(),n.off("touchmove",o),n.off("touchend",e)}n.on("touchstart",(function(t){t.preventDefault(),n.on("touchmove",o),n.on("touchend",e)}))}]}})).directive("stTouchend",(function(){return{restrict:"A",controller:["$scope","$element",function(t,n){n.on("touchend",(function(o){var e=n.attr("st-touchend");t.$event=o,t.$apply(e)}))}]}})).directive("stTouchcancel",(function(){return{restrict:"A",controller:["$scope","$element",function(t,n){n.on("touchcancel",(function(o){var e=n.attr("st-touchcancel");t.$event=o,t.$apply(e)}))}]}})),angular.module("smartertools").directive("stLongTouch",["$parse",function(t){return{restrict:"A",link:function(n,o,e){var c=t(e.stLongTouch),u=null,r=!1;function i(){u&&(clearTimeout(u),u=null,r=!1)}o.on("touchstart",(function(t){i(),t.originalEvent.touches.length>1||(u=setTimeout((function(){!function(t){r=!0,u=null,n.$apply((function(){c(n,{$event:t})}))}(t)}),750))})),o.on("touchmove",i),o.on("touchend",(function(t){r&&(t.stopPropagation(),t.preventDefault()),i()}))}}}])}();
255!function(){"use strict";angular.module("smartertools").directive("webRtcSrc",(function(){return{restrict:"A",scope:{webrtcSrc:"="},link:function(r,e){const t=e[0].tagName.toLowerCase();if("video"!==t&&"audio"!==t)throw new Error("webrtcSrc directive can only be used on video or audio elements");if(!("srcObject"in e[0]))throw new Error("Browser does not support srcObject.");r.$watch("webRtcSrc",(function(r){e[0].srcObject=r||null}))}}}))}();
256angular.module("smartertools").filter("bytes",(function(){return function(t,o,r){if(isNaN(parseFloat(t))||!isFinite(t)||0==t)return r||"0 KB";void 0===o&&(o=1);var e=["bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],i=Math.floor(Math.log(t)/Math.log(1024));return t<1?r:0===i?o>1?(t/1024).toFixed(o)+" "+e[1]:"1 KB":(t/Math.pow(1024,Math.floor(i))).toFixed(o)+" "+e[i]}})).filter("bytesCondensed",(function(){return function(t,o,r){if(isNaN(parseFloat(t))||!isFinite(t)||0==t)return r||"0 KB";(void 0===o||o<3)&&(o=3);var e=["bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],i=Math.floor(Math.log(t)/Math.log(1024));if(t<1)return r;if(0===i)return(t/1024).toFixed(o)+" "+e[1];{const r=t/Math.pow(1024,Math.floor(i)),n=r%1==0?0:r>=100?o-3:r>=10?o-2:r>=1?o-1:o;return r.toFixed(n)+" "+e[i]}}}));
257angular.module("smartertools").filter("htmlEscape",(function(){return function(e){return String(e).replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\//g,"&#x2F;")}})),angular.module("smartertools").filter("htmlUnescape",(function(){return function(e){return String(e).replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&").replace(/&#x2F;/g,"/")}}
257));
258!function(){function r(r){return function(e){return r.fromFolderData(e)}}r.$inject=["folderNameTranslator"],angular.module("smartertools").filter("folderLabel",r)}();
259!function(){function r(r){return function(n,e){return r.fromNameAndOwner(n,e)}}r.$inject=["folderNameTranslator"],angular.module("smartertools").filter("folderTranslate",r)}();
260angular.module("smartertools").filter("friendlyDate",(function(){return function(t,m,e){var r=moment.utc(t,"YYYY-MM-DD HH:mm");return r.isValid()||(r=moment.utc(t)),"true"==m||1==m?("true"!=e&&1!=e||(r=r.local()),r.calendar((new Date).getDate(),{sameDay:"[Today] h:mma - M.D.YYYY",nextDay:"[Tomorrow] h:mma - M.D.YYYY",nextWeek:"dddd h:mma - M.D.YYYY",lastDay:"[Yesterday] h:mma - M.D.YYYY",lastWeek:"[Last] dddd h:mma - M.D.YYYY",sameElse:"dddd h:mma - M.D.YYYY"})):("true"!=e&&1!=e||(r=r.local()),r.format("l LT"))}})),angular.module("smartertools").filter("friendlyDateShort",(function(){return function(t,m){var e=moment.utc(t,"YYYY-MM-DD HH:mm");return"true"!=m&&1!=m||(e=e.local()),e.calendar((new Date).getDate(),{sameDay:"h:mma",nextDay:"[Tomorrow] h:mma",nextWeek:"M.D.YYYY",lastDay:"ddd h:mma",lastWeek:"ddd h:mma",sameElse:"M.D.YYYY"})}})),angular.module("smartertools").filter("friendlyTimespan",(function(){return function(t,m){var e=moment(t,"YYYY-MM-DD HH:mm:ss"),r=(null!=m?moment(t,"YYYY-MM-DD HH:mm:ss"):moment(),e.diff(m));r<0&&(r*=-1);var a=moment.duration(r);return a.years()>0?moment.duration(a).format("y[y] M[M]"):a.months()>0?moment.duration(a).format("M[M] d[d]"):a.days()>0?moment.duration(a).format("d[d] h[h]"):a.hours()>0?moment.duration(a).format("h[h] m[m]"):moment.duration(a).format("m[m] s[s]")}})),angular.module("smartertools").filter("friendlyDateNoTime",(function(){return function(t,m,e){var r=moment.utc(t,"YYYY-MM-DD HH:mm");return r.isValid()||(r=moment.utc(t)),"true"!=e&&1!=e||(r=r.local()),r.format("l")}})),angular.module("smartertools").filter("friendlyDateHourly",(function(){return function(t,m,e){var r=moment.utc(t,"YYYY-MM-DD HH:00");return r.isValid()||(r=moment.utc(t)),"true"!=e&&1!=e||(r=r.local()),r.format("l")+r.format(" h:mm A")}})),angular.module("smartertools").filter("friendlyDateLocalized",(function(){return function(t,m){var e=moment.utc(t,"YYYY-MM-DD HH:mm");return e.isValid()||(e=moment.utc(t)),"true"!=m&&1!=m||(e=e.local()),e.format("LL")}})),angular.module("smartertools").filter("friendlyDateTimeLocalized",(function(){return function(t){return moment.utc(t,"YYYY-MM-DD HH:mm").local().format("LLL")}}));
261angular.module("smartertools").filter("htmlToPlaintext",(function(){return function(r){return r?String(r).replace(/<br\/?>/gm," ").replace(/<p[^>]*>/gm," ").replace(/<[^>]+>/gm,""):""}}));
262!function(){angular.module("smartertools").filter("markdownToHtml",(function(){return function(t){return n.makeHtml(t||"")}})),showdown.extension("strikethrough",(function(){return[{type:"output",regex:/~([^~]+)~/g,replace:function(n,t){return"<s>"+t+"</s>"}}]}));const n=new showdown.Converter({extensions:["strikethrough"],openLinksInNewWindow:!0})}();
263!function(){function r(r){return function(t,e){return r.reactPluralize(t,e)}}function t(r,t){return function(e,n){return n.count=t("number")(n.count||0).replace(/\u00A0/g," "),r.reactPluralize(e,n)}}r.$inject=["i18n"],t.$inject=["i18n","$filter"],angular.module("smartertools").filter("reactPluralize",r),angular.module("smartertools").filter("reactPluralizeWithCommas",t)}();
264!function(){function r(r){return function(r,n){if(isNaN(r))return r;var t="1"+Array(+(n>0)).join("0");return Math.ceil(r*t)/t}}r.$inject=["$filter"],angular.module("smartertools").filter("roundNumUp",r)}();
265!function(){function t(t){return function(e,n){return/^[\d\.]+$/.test(e)?t("number")(e,n):e}}t.$inject=["$filter"],angular.module("smartertools").filter("safeNumber",t)}();
266angular.module("smartertools").filter("secondsToHms",(function(){return function(n){return moment.duration(n,"seconds").format("hh:mm:ss")}}));
267!function(){function n(n){return function(t){return t<1?n.instant("EXPIRED"):moment.duration(t,"seconds").format("hh:mm:ss")}}n.$inject=["$translate"],angular.module("smartertools").filter("secondsToHmsWithExpired",n)}();
268angular.module("smartertools").filter("daysSince",(function(){return function(n){return moment.duration(n,"days").humanize()}})),angular.module("smartertools").filter("fromNow",(function(){return function(n,r){return moment(n).fromNow(!r)}}));
269!function(){function t(t){return function(r){let n="";return r?(r.days&&(n+=t("reactPluralize")("X_DAYS",{count:r.days})+" "),n+=String(r.hours||0).padStart(2,"0")+":",n+=String(r.minutes||0).padStart(2,"0")+":",n+=String(r.seconds||0).padStart(2,"0"),n):"00:00:00"}}t.$inject=["$filter"],angular.module("smartertools").filter("timespanTimer",t)}();
270!function(){function u(u){return function(e,n){return u("number")(e,n).replace(/[\u00A0\u1680​\u180e\u2000-\u2009\u200a​\u200b​\u202f\u205f​\u3000]/g," ")}}u.$inject=["$filter"],angular.module("smartertools").filter("unicodeNumber",u)}();
271!function(){"use strict";function e(e){var t=!1;function n(){e.browserCaps.mouseExists=!1,o()}function o(){t&&(window.removeEventListener("touchstart",n,!0),window.removeEventListener("touchend",n,!0),window.removeEventListener("touchcancel",n,!0),window.removeEventListener("touchmove",n,!0),t=!1)}e.browserCaps=e.browserCaps||{}
271,e.browserCaps.mouseExists=!0,e.browserCaps.supportsDateInput=!1,e.browserCaps.webRtcSupport=!1,window.addEventListener("touchstart",n,!0),window.addEventListener("touchend",n,!0),window.addEventListener("touchcancel",n,!0),window.addEventListener("touchmove",n,!0),e.$on("$destroy",(function(){o()})),t=!0,e.browserCaps.supportsDateInput=function(){var e=document.createElement("input");e.setAttribute("type","date");var t="invalid";return e.setAttribute("value",t),e.value!==t}(),e.browserCaps.webRtcSupport=function(){for(var e=!1,t=["RTCPeerConnection","webkitRTCPeerConnection","mozRTCPeerConnection","RTCIceGatherer"],n=0;n<t.length&&!e;++n)t[n]in window&&(e=!0);return e=e&&null!=navigator.mediaDevices}()}e.$inject=["$rootScope"],angular.module("smartertools").service("browserSupport",e)}();
272!function(){"use strict";angular.module("smartertools").service("crc32Service",(function(){this.Crc32=function(D){return function(D){for(var C=-1,A=0,E=D.length;A<E;A++)C=C>>>8^B[255&(C^D.charCodeAt(A))];return~C>>>0}(D)};var B="00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D".split(" ").map((function(B){return parseInt(B,16)}))}))}();
273!function(){"use strict";function a(a){var e=this;e.ensureTemplateCreated=function(){if(e.created)return;e.created=!0,a.put("error-messages",'<div ng-message="required">{{::"VALIDATION_REQUIRED" | translate}}</div><div ng-message="email">{{::"VALIDATION_INVALID_EMAIL_ADDRESS" | translate}}</div><div ng-message="url">{{::"VALIDATION_INVALID_URL" | translate}}</div><div ng-message="[\'min\', \'max\']">{{::"VALIDATION_INVALID_NUMERIC_RANGE_GENERIC" | translate}}</div><div ng-message="validateIpAddress">{{::"VALIDATION_INVALID_IP_ADDRESS" | translate}}</div><div ng-message="validateIpAddressRange">{{::"VALIDATION_INVALID_IP_ADDRESS_RANGE" | translate}}</div><div ng-message="validateIpAddressWildcard">
273{{::"VALIDATION_INVALID_IP_ADDRESS" | translate}}</div><div ng-message="validateIpAddressCommaSep">{{::"VALIDATION_INVALID_IP_ADDRESS_COMMA_SEP" | translate}}</div><div ng-message="validateDomainName">{{::"VALIDATION_INVALID_DOMAIN_NAME" | translate}}</div><div ng-message="validateDomainNameList">{{::"VALIDATION_INVALID_DOMAIN_NAME_LIST" | translate}}</div><div ng-message="validateDomainOrEmailList">{{::"VALIDATION_INVALID_DOMAIN_NAME_OR_EMAIL_LIST" | translate}}</div><div ng-message="validateDomainOrEmail">{{::"VALIDATION_INVALID_DOMAIN_OR_EMAIL" | translate}}</div><div ng-message="validateRblHost">{{::"VALIDATION_INVALID_DOMAIN_NAME" | translate}}</div><div ng-message="requiresNoUnc">{{::"VALIDATION_INVALID_FOLDER_PATH" | translate}}</div><div ng-message="requiresNoUncAllowRoot">{{::"VALIDATION_INVALID_FOLDER_PATH" | translate}}</div><div ng-message="invalidFolderCharacters">{{::"VALIDATION_INVALID_FOLDER_CHARACTERS" | translate}}</div><div ng-message="invalidFolderCharactersSlashes">{{::"VALIDATION_INVALID_FOLDER_CHARACTERS" | translate}}</div><div ng-message="reservedFolderName">{{::"VALIDATION_RESERVED_FOLDER_NAME" | translate}}</div><div ng-message="validateHexColor">{{::"VALIDATION_INVALID_HEX_COLOR" | translate}}</div><div ng-message="checkPasswords">{{::"VALIDATION_PASSWORD_MISMATCH" | translate}}</div><div ng-message="checkPasswordsOptional">{{::"VALIDATION_PASSWORD_MISMATCH" | translate}}</div><div ng-message="checkPasswordsNotMatch">{{::"VALIDATION_PASSWORD_CANT_MATCH" | translate}}</div><div ng-message="validateEmailList">{{::"VALIDATION_INVALID_EMAIL_LIST" | translate}}</div><div ng-message="validateNumberList">{{::"VALIDATION_INVALID_NUMBER_LIST" | translate}}</div><div ng-message="number">{{::"VALIDATION_INVALID_NUMBER" | translate}}</div><div ng-message="validateEmail">{{::"VALIDATION_INVALID_EMAIL_ADDRESS" | translate}}</div><div ng-message="validateFullyQualifiedPath">{{::"VALIDATION_GENERIC_INVALID_FOLDER_PATH" | translate}}</div><div ng-message="validateFullyQualifiedDomainPath">{{::"VALIDATION_GENERIC_INVALID_FOLDER_PATH" | translate}}</div><div ng-message="validateAttachDomain">{{::"VALIDATION_GENERIC_INVALID_FOLDER_OR_DOMAIN" | translate}}</div><div ng-message="validateLinkExists">{{::"VALIDATION_LINK_DOES_NOT_EXIST" | translate}}</div><div ng-message="LICENSE_KEY_FOR_WRONG_VERSION">{{::"LICENSE_KEY_FOR_WRONG_VERSION" | translate}}</div><div ng-message="LICENSE_INVALID_CREDENTIALS">{{::"LICENSE_INVALID_CREDENTIALS" | translate}}</div><div ng-message="LICENSE_INVALID_LICENSE_KEY">{{::"LICENSE_INVALID_LICENSE_KEY" | translate}}</div><div ng-message="LICENSE_EXPIRED">{{::"LICENSE_EXPIRED" | translate}}</div><div ng-message="LICENSE_NO_MORE_ACTIVATIONS">{{::"LICENSE_NO_MORE_ACTIVATIONS" | translate}}</div><div ng-message="LICENSE_OVER_SERVER_LIMIT">{{::"LICENSE_OVER_SERVER_LIMIT" | translate}} {{::"LICENSE_OVER_LIMIT_2" | translate}}</div><div ng-message="LICENSE_OVER_SITE_LIMIT">{{::"LICENSE_OVER_SITE_LIMIT" | translate}} {{::"LICENSE_OVER_LIMIT_2" | translate}}</div><div ng-message="LICENSE_OVER_USER_LIMIT">{{::"LICENSE_OVER_USER_LIMIT" | translate}} {{::"LICENSE_OVER_LIMIT_2" | translate}}</div><div ng-message="LICENSE_KEY_FOR_WRONG_PRODUCT">{{::"LICENSE_KEY_FOR_WRONG_PRODUCT" | translate}}</div><div ng-message="LICENSE_PROBLEM_ACTIVATING">{{::"LICENSE_PROBLEM_ACTIVATING" | translate}}</div><div ng-message="validateFolderLength">{{::"FOLDER_LENGTH_EXCEEDED" | translate }}</div><div ng-message="validateEmailUsername">{{::"VALIDATION_INVALID_EMAIL_USERNAME" | translate}}</div><div ng-message="validateUsernameNoDomain">{{::"VALIDATION_INVALID_USERNAME_CONTAINS_DOMAIN" | translate}}</div><div ng-message="validateUsernameOctetLength">{{::"VALIDATION_INVALID_MAX_LENGTH" | translate : { max: 64 } }}</div><div ng-message="validateReservedWord">{{::"VALIDATION_INVALID_RESERVED_WORD" | translate}}</div><div ng-message="validateEmailUsernameInvalidCharacters">{{::"VALIDATION_INVALID_EMAIL_USERNAME_INVALID_CHARS" | translate}}</div><div ng-message="validateEmailExistence">{{::"VALIDATION_EMAIL_DOESNT_EXIST" | translate}}</div><div ng-message="validateUrl">
273{{::"VALIDATION_INVALID_URL" | translate}}</div><div ng-message="validateUserExists">{{::"VALIDATION_USER_DOES_NOT_EXIST" | translate}}</div><div ng-message="md-require-match">{{::"VALIDATION_USER_DOES_NOT_EXIST" | translate }}</div><div ng-message="validateAliasName">{{::"VALIDATION_INVALID_ALIAS_NAME" | translate }}</div><div ng-message="validateEmailAliasDoesNotExist">{{::"VALIDATION_EMAIL_ALIAS_NAME_ALREADY_EXISTS" | translate }}</div><div ng-message="validateSysadminDoesNotExists">{{::"VALIDATION_SYSTEM_ADMIN_USERNAME_ALREADY_EXISTS" | translate }}</div><div ng-message="validateCertificateCsr">{{::"VALIDATE_CERTIFICATE_CSR" | translate }}</div><div ng-message="validatePathConversion">{{::"VALIDATE_INVALID_PATH_PERMISSIONS" | translate }}</div><div ng-message="validatePositiveInt">{{::"INVALID_INPUT" | translate}}</div>')},e.ensureTemplateCreated()}a.$inject=["$templateCache"],angular.module("smartertools").service("customNgMessages",a)}();
274!function(){"use strict";function u(u){var t=this;t.isValidDomain=i,t.isValidEmail=function(u,t=!1){if(!u)return!0;const F=s(u);if(F<6||F>256)return!1;if(u.indexOf("@")<0)return!1;let r=u.split("@");if(2!=r.length)return!1;let e=r[0],n=r[1],a=function(u,t){const F=s(u),r=!!t||function(u){for(let t of u)if(t.codePointAt()>127)return!0;return!1}(u);if(r&&(F<0||F>64))return!1;const e=/^([^()<>[\]:;@\\,"\s.\u3002\uFF0E\uFF61]+([.\u3002\uFF0E\uFF61][^()<>[\]:;@\\,"\s.\u3002\uFF0E\uFF61]+)*)$/;return XRegExp?XRegExp(e).test(u):e.test(u)}(e,t);if(function(u){var t=u.split(".");if(4!==t.length)return!1;for(var F=0;F<4;++F){if(!Number.isFinite(parseFloat(t[F])))return!1;var r=parseInt(t[F],10);if(r<0||r>255)return!1}return!0}(n))return a;return!!a&&i(n)},t.isValidRbl=function(u){if(!u)return!0;if(!n(u))return!1;if(e.test(u))return!1;return/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,63}$/.test(u)};const F={},r=/(^|[.\u3002\uFF0E\uFF61])xn--/,e=/[^\x00-\x7F]/;function n(u){if(u.length<4)return!1;if("-"===u[0])return!1;if("-"===u[u.length-1])return!1;if(u.indexOf("-.")>-1)return!1;let t=["*","@","!","_"];for(let F=0;F<t.length;F++)if(u.indexOf(t[F])>-1)return!1;return!!/[.\u3002\uFF0E\uFF61]/.test(u)}function i(u){if(!u)return!0;if(!n(u))return!1;if(r.test(u))return a(u);if(!e.test(u)){return/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,63}$/.test(u)}const t=/^([a-zA-Z0-9\u00A1-\u3001\u3003-\uD7FF\uF900-\uFDCF\uFDF0-\uFF0D\uFF0F-\uFF60\uFF62-\uFFEF]([-a-zA-Z0-9\u00A1-\u3001\u3003-\uD7FF\uF900-\uFDCF\uFDF0-\uFF0D\uFF0F-\uFF60\uFF62-\uFFEF]{0,61}[a-zA-Z0-9\u00A1-\u3001\u3003-\uD7FF\uF900-\uFDCF\uFDF0-\uFF0D\uFF0F-\uFF60\uFF62-\uFFEF])?[.\u3002\uFF0E\uFF61])+[a-zA-Z\u00A1-\u3001\u3003-\uD7FF\uF900-\uFDCF\uFDF0-\uFF0D\uFF0F-\uFF60\uFF62-\uFFEF]{2,63}$/;return!!(XRegExp?XRegExp(t).test(u):t.Test(u))&&a(u)}async function a(t){if(Object.prototype.hasOwnProperty.call(F,t))return F[t];try{var r=await u.post("~/api/v1/settings/validate-domain-name",{input:t});return F[t]=r.data.success,r.data.success}catch(u){return F[t]=!1,!1}}function s(u){try{const t=new TextEncoder;return t.encode(u).length}catch(u){return console.error("emailValidationService error: ",u),0}}}u.$inject=["$http"],angular.module("smartertools").service("emailValidationService",u)}();
275!function(){"use strict";angular.module("smartertools").service("fileInfoProvider",(function(){this.iconFromExtension=function(e){if(!e)return"file-misc";switch(e.toLowerCase()){case"zip":return"file-zip";case"rar":return"file-rar";case"jpg":case"jpeg":case"png":case"gif":case"bmp":return"file-image";case"doc":case"docx":case"txt":case"rtf":case"log":return"file-document";case"pdf":return"file-pdf";case"exe":case"wsf":case"cfg":case"pkg":case"ini":return"file-executable";case"email":case"msg":return"file-email";case"ppt":case"pptx":case"pps":return"file-powerpoint";case"vcf":return"file-vcf";case"xml":case"asp":case"aspx":case"js":case"css":case"html":case"htm":case"json":return"file-programming";case"aif":case"m4a":case"mp3":case"wav":case"wma":case"ogg":return"file-audio";case"m4v":case"avi":case"mov":case"wmv":case"webm":return"file-video";case"obj":case"fbx":case"3ds":case"max":case"mb":case"blend":case"c4d":return"file-3d";case"psd":case"psb":return"file-photoshop";case"ai":return"file-ai";case"tiff":case"tif":return"file-file";case"svg":case"eps":return"file-vector";case"xls":case"xlsx":case"xhr":return"file-excel";case"db":case"dbf":case"mdb":case"sql":case"bin":return"file-database";case"apk":return"file-apk";case"app":return"file-app";case"com":return"file-com";case"jar":return"file-jar";case"cer":case"crt":case"pfx":case"key":case"pem":return"file-certificate";case"crx":return"file-crx";case"plugin":return"file-plugin";case"dmg":return"file-dmg";case"ics":return"file-ics";case"locked":return"file-locked";default:return"file-misc"}}}))}();
276!function(){"use strict";function e(e){var r={},t={},n={ALL_FILES:1,CALENDAR:1,CATEGORY_BLUE:1,CATEGORY_GREEN:1,CATEGORY_ORANGE:1,CATEGORY_PU
276RPLE:1,CATEGORY_RED:1,CATEGORY_YELLOW:1,CONTACTS:1,DELETED_ITEMS:1,DRAFTS:1,FILES:1,GLOBAL_ADDRESS_LIST:1,INBOX:1,JUNK_EMAIL:1,MY_CALENDAR:1,MY_CONTACTS:1,MY_FILES:1,MY_NOTES:1,MY_TASKS:1,NOTES:1,PUBLIC_CHAT_FILES:1,SENT_ITEMS:1,TASKS:1,SHARED_WITH_ME:1},a=this;function i(e){var t=r[e];if(t)return t;var n=document.createElement("textarea");return n.innerHTML=e,t=n.value,r[e]=t,t}function l(r){var n=t[r];return n||((n=e("translate")(r))&&n!=r&&(t[r]=n),n)}a.fromNameAndOwner=function(e,r){if(!e)return e;r&&-1!==r.indexOf("@")&&(r=r.substring(0,r.indexOf("@")));var t=e.startsWith(r+" - "),n=t?e.substring(r.length+3):e,E=n.toLocaleUpperCase(),o=n;a.isBuiltinFolder(n)&&(o=l(E));return o=i(o),E===o?e:t?r+" - "+o:o},a.fromFolderData=function(e){if(!e)return e;var r,t=void 0===e.branch?e.data:e.branch.data;if(t&&t.untranslatedName)r=l(t.untranslatedName);else if(e.key===e.label)r=l(e.key);else{var n;t&&(t.owner?n=t.owner:t.source&&(n=t.source.owner));var E=n&&e.label.startsWith(n+" - "),o=E?e.label.substring(n.length+3):e.label;if(!a.isBuiltinFolder(o))return e.label;r=l(o.toLocaleUpperCase()),r=E?n+" - "+r:r}return i(r)},a.isBuiltinFolder=function(e){return e&&!!n[e.toLocaleUpperCase()]}}e.$inject=["$filter"],angular.module("smartertools").service("folderNameTranslator",e)}();
277!function(){"use strict";function t(t){this.reactPluralize=function(e,n){if("object"!=typeof n){const t=Number(n);isNaN(t)||(n={count:t})}const o=e+"_one",c=e+"_other";return t("translate")(1===n.count?o:c,n)},this.reactPluralizeWithCommas=function(e,n){if("object"!=typeof n){const t=Number(n);isNaN(t)||(n={count:t})}const o=e+"_one",c=e+"_other";let r=Object.assign({},n);return r.count=t("number")(n.count||0).replace(/\u00A0/g," "),t("translate")(1===n.count?o:c,r)}}t.$inject=["$filter"],angular.module("smartertools").service("i18n",t)}();
278!function(){"use strict";angular.module("smartertools").service("localeInfo",(function(){var r;function a(a){return!!r[a]}this.isRtl=a,this.applyBodyDirAttribute=function(r){var t=a(r)?"RTL":"";$("BODY").attr("dir",t)},r={ar:1,"ar-001":1,"ar-AE":1,"ar-BH":1,"ar-DJ":1,"ar-DZ":1,"ar-EG":1,"ar-ER":1,"ar-IL":1,"ar-IQ":1,"ar-JO":1,"ar-KM":1,"ar-KW":1,"ar-LB":1,"ar-LY":1,"ar-MA":1,"ar-MR":1,"ar-OM":1,"ar-PS":1,"ar-QA":1,"ar-SA":1,"ar-SD":1,"ar-SO":1,"ar-SS":1,"ar-SY":1,"ar-TD":1,"ar-TN":1,"ar-YE":1,dv:1,"dv-MV":1,fa:1,"fa-IR":1,he:1,"he-IL":1,ku:1,"ku-Arab":1,"ku-Arab-IQ":1,nqo:1,"nqo-GN":1,"pa-Arab":1,"pa-Arab-PK":1,prs:1,"prs-AF":1,ps:1,"ps-AF":1,sd:1,"sd-Arab":1,"sd-Arab-PK":1,syr:1,"syr-SY":1,"tzm-Arab":1,"tzm-Arab-MA":1,ug:1,"ug-CN":1,ur:1,"ur-IN":1,"ur-PK":1,yi:1,"yi-001":1}}))}();
279!function(){"use strict";function t(t){return{require:"ngModel",link:function(e,i,r,s){t.loadRestrictedWords(),s.$validators.validateAliasName=function(e,i){return"L"==window.stOS?!/[@\*\<\>\:\/\|\"\?\'\\\s]/.test(i):!i||!t.isWordRestricted(i)&&!/[@\*\<\>\:\/\|\"\?\'\\\s]/.test(i)}}}}t.$inject=["restrictedWordsService"],angular.module("smartertools").directive("validateAliasName",t)}();
280!function(){"use strict";function i(i,t,e){return{require:"ngModel",link:function(a,n,s,r){r.$asyncValidators.validateAttachDomain=function(a,n){if(!n)return t.resolve({success:!0});var s="L"==window.stOS?function(i){if(!/^(\/|~\/)/.test(i))return{isValid:!1};if(/^(\/|~\/)$/.test(i))return{isValid:!1};var t=i.lastIndexOf("/");if(-1===t||t+1>=i.length)return{isValid:!1};var e=i.substring(t+1);return{isValid:!0,domainName:e}}(n):function(i){if(!/((^[a-zA-Z]:\\)|(^\\\\[^\\]))/.test(i))return{isValid:!1};if(/((^[a-zA-Z]:\\$)|(^\\\\[^\\]$))/.test(i))return{isValid:!1};var t=i.lastIndexOf("\\");if(-1===t||t+1>=i.length)return{isValid:!1};var e=i.substring(t+1);return{isValid:!0,domainName:e}}(n);if(!s.isValid||!s.domainName)return t.reject({success:!1});var r=t.defer();return i.post("~/api/v1/settings/sysadmin/validate-domain-path",{input:n}).then((async function(i){i.data.success?await e.isValidDomain(s.domainName)?r.resolve({success:!0}):r.reject({success:!1}):r.reject(i)}),r.reject),r.promise}}}}i.$inject=["$http","$q","emailValidationService"],angular.module("smartertools").directive("validateAttachDomain",i)}();
281!function(){"use strict";angular.module("smartertools").directive("validateCertificateCsr",(function(){return{require:"ngModel",link:function(t,e,
281i,r){r.$validators.validateCertificateCsr=function(t,e){return/^[a-z0-9\s.]+$/i.test(e)}}}}))}();
282!function(){"use strict";angular.module("smartertools").directive("validateCountGtZero",(function(){return{require:"ngModel",link:function(t,e,a,n){n.$validators.validateCountGtZero=function(e){if(n=e,a.validateCountGtZeroWhen&&!1===t.$eval(a.validateCountGtZeroWhen,{$value:n}))return!0;var n;var o;return(o=t.$eval(a.validateCountGtZero),Array.isArray(o)?o.map((t=>(t||"").toString().trim())).filter(Boolean):[]).length>0},t.$watch((function(){return{when:!a.validateCountGtZeroWhen||t.$eval(a.validateCountGtZeroWhen,{$value:n.$modelValue}),list:t.$eval(a.validateCountGtZero)}}),(function(){"function"==typeof n.$validate&&n.$validate()}),!0)}}}))}();
283!function(){"use strict";angular.module("smartertools").directive("validateDirectoryAllowRoot",[function(){return{require:"ngModel",link:function(t,r,e,n){n.$validators.requiresNoUncAllowRoot=function(t,r){return!r||("L"==window.stOS?function(t){if(!/^(\/|~\/)/.test(t))return!1;if(/^(\/|~\/)$/.test(t))return!1;let r=t.split("/");for(var e=0;e<r.length;++e){let t=r[e];if(0!=e||"~"!=t&&""!=t){if(0==t.length&&e!=r.length-1)return!1;if(t.startsWith("."))return!1;if(!/^[a-zA-Z0-9._-]*$/.test(r[e]))return!1}}return!0}(r):function(t){if(!/((^[a-zA-Z]:\\)|(^\\\\[^\\]))/.test(t))return!1;if(/((^[a-zA-Z]:\\$)|(^\\\\[^\\]$))/.test(t))return!1;let r=[];if(/^\\\\/.test(t))r=t.substring(2).split("\\");else if(r=t.substring(3).split("\\"),r.length<1)return!1;for(var e=0;e<r.length;++e){if(/[\/\:\*\?\"\<\>\|]|^[.]+|[.]+$/.test(r[e]))return!1;if(e!=r.length-1&&/^$/.test(r[e]))return!1}return!0}(r))}}}}])}();
284!function(){"use strict";angular.module("smartertools").directive("validateDirectory",[function(){return{require:"ngModel",link:function(t,r,e,n){n.$validators.requiresNoUnc=function(t,r){return!r||("L"==window.stOS?function(t){if(!/^(\/|~\/)/.test(t))return!1;if(/^(\/|~\/)$/.test(t))return!1;let r=t.split("/");for(var e=0;e<r.length;++e){let t=r[e];if(0!=e||"~"!=t&&""!=t){if(0==t.length&&e!=r.length-1)return!1;if(t.startsWith("."))return!1;if(!/^[a-zA-Z0-9._-]*$/.test(r[e]))return!1}}return!0}(r):function(t){if(!/((^[a-zA-Z]:\\)|(^\\\\[^\\]))/.test(t))return!1;if(/((^[a-zA-Z]:\\$)|(^\\\\[^\\]$))/.test(t))return!1;let r=[];if(/^\\\\/.test(t))r=t.substring(2).split("\\");else if(r=t.substring(3).split("\\"),0===r.length)return!1;for(var e=0;e<r.length;++e){if(/[\/\:\*\?\"\<\>\|]|^[.]+|[.]+$/.test(r[e]))return!1;if(e!=r.length-1&&/^$/.test(r[e]))return!1}return!0}(r))}}}}])}();
285!function(){"use strict";function e(e,i){return{require:"ngModel",link:function(t,a,n,r){r.$asyncValidators.validateDomainNameList=async function(t,a){if(!a)return e.resolve({succss:!0});var n=a.replace("\r","").split("\n");for(let t=0;t<n.length;t++){if(!await i.isValidDomain(n[t]))return e.reject({success:!1})}return e.resolve({success:!0})}}}}e.$inject=["$q","emailValidationService"],angular.module("smartertools").directive("validateDomainNameList",e)}();
286!function(){"use strict";function e(e,i){return{require:"ngModel",link:function(a,n,s,t){t.$asyncValidators.validateDomainName=async function(a,n){return n?await i.isValidDomain(n)?e.resolve({success:!0}):e.reject({success:!1}):e.resolve({success:!0})}}}}e.$inject=["$q","emailValidationService"],angular.module("smartertools").directive("validateDomainName",e)}();
287!function(){"use strict";function i(i,e){return{require:"ngModel",link:function(a,r,t,n){n.$asyncValidators.validateDomainOrEmailList=async function(a,r){if(!r)return i.resolve({succss:!0});var t=r.replace("\r","").split("\n");for(let a=0;a<t.length;a++){if(!(t[a].indexOf("@")>-1?await e.isValidEmail(t[a]):await e.isValidDomain(t[a])))return i.reject({success:!1})}return i.resolve({success:!0})}}}}i.$inject=["$q","emailValidationService"],angular.module("smartertools").directive("validateDomainOrEmailList",i)}();
288!function(){"use strict";function i(i,a){return{require:"ngModel",link:function(e,s,n,l){l.$asyncValidators.validateDomainOrEmail=async function(s,l){return!1===e.$eval(n.validateDomainOrEmail)?i.resolve({success:!0}):l?(l.indexOf("@")>-1?await a.isValidEmail(l):await a.isValidDomain(l))?i.resolve({success:!0}):i.reject({success:!1}):i.resolve({success:!0})}}}}i.$inject=["$q","emailValidationService"],angular.module("smartertools").directive("validateDomainOrEmail",i)}();
289!function(){"use strict";function t(t,e){return{require:"ngModel",link:function(i,n,s,a){a.$asyncValidators.validateEmailAliasDoesNotExist=function(i,n){if(!n||a.$pristine)return e.when(!0);var s=e.defer();return t.get("~/api/v1/settings/domain/email-alias-does-not-exists/"+n+"/").then((function(t){s.resolve()}),(function(t){s.reject(t)})),s.promise}}}}t.$inject=["$http","$q"],angular.module("smartertools").directive("validateEmailAliasDoesNotExist",t)}();
290!function(){"use strict";function s(s,a){return{require:"ngModel",link:function(e,i,r,n){n.$asyncValidators.validateEmail=async function(i,n){return!1===e.$eval(r.validateEmail)?s.resolve({succss:!0}):n?["#aliasaddresses#","#alldomainadmins#","#forwardingaddresses#","#fromaddress#","#mailinglistaddress#","#primarydomainadmin#","#toaddress#"].indexOf(n)>-1?s.resolve({succss:!0}):await a.isValidEmail(n)?s.resolve({success:!0}):s.reject({success:!1}):s.resolve({succss:!0})}}}}s.$inject=["$q","emailValidationService"],angular.module("smartertools").directive("validateEmailInEventAction",s)}();
291!function(){"use strict";function e(e,i){return{require:"ngModel",link:function(t,r,a,s){s.$asyncValidators.validateEmailList=async function(t,r){if(!r)return e.resolve({succss:!0});var a=r.replace("\r","").split("\n");for(let t=0;t<a.length;t++){if(!await i.isValidEmail(a[t]))return e.reject({success:!1})}return e.resolve({success:!0})}}}}e.$inject=["$q","emailValidationService"],angular.module("smartertools").directive("validateEmailList",e)}();
292!function(){"use strict";angular.module("smartertools").directive("validateEmailUsernameInvalidCharacters",(function(){return{require:"ngModel",link:function(u,t,r,e){e.$validators.validateEmailUsernameInvalidCharacters=function(u,t){if(!(t=t?t.trim():t))return!0;
292if(t.indexOf("..")>-1||t.startsWith(".")||t.endsWith("."))return!1;return/^[-a-zA-Z0-9.!$&=^_`{}~\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u00FF\u0100-\u0148\u014A-\u017F\u0180-\u019B\u019D-\u01A6\u01A9-\u01BA\u01BF\u01C4-\u0240\u0243-\u024F\u1E00-\u1EFF]+$/.test(t)}}}}))}();
293!function(){"use strict";angular.module("smartertools").directive("validateEmailUsername",(function(){return{require:"ngModel",link:function(r,t,e,i){i.$validators.validateEmailUsername=function(r,t){var e=["WEB.CONFIG","BIN","APP_CODE","APP_GLOBALRESOURCES","APP_LOCALRESOURCES","APP_WEBREFERENCES","APP_DATA","APP_BROWSERS","CON","PRN","AUX","CLOCK$","NUL","COM0","COM1","COM2","COM3","COM4","COM5","COM6","COM7","COM8","COM9","LPT0","LPT1","LPT2","LPT3","LPT4","LPT5","LPT6","LPT7","LPT8","LPT9"];if(!(t=t?t.trim():t))return!0;for(var i=0;i<e.length;i++){var n=t.toUpperCase();if(e[i]===n)return!1;if("L"!==window.stOS&&0===n.indexOf(e[i]+"."))return!1}return!(t.indexOf("..")>-1||t.startsWith(".")||t.endsWith("."))&&!/[\#\%\(\)\,\;\[\]\*\<\>\:\/\|\"\?\'\\\s\@]/.test(t)}}}}))}();
294!function(){"use strict";function e(e,i){return{require:"ngModel",link:function(a,l,s,t){t.$asyncValidators.validateEmail=async function(l,t){return!1===a.$eval(s.validateEmail)?e.resolve(!0):t?await i.isValidEmail(t)?e.resolve({success:!0}):e.reject({success:!1}):e.resolve({succss:!0})}}}}e.$inject=["$q","emailValidationService"],angular.module("smartertools").directive("validateEmail",e)}();
295!function(){"use strict";angular.module("smartertools").directive("validateFolderLength",(function(){return{require:"ngModel",link:function(t,n,e,i){i.$validators.validateFolderLength=function(n,e){return!e||!t.domainPath||t.domainPath.length+e.length<=210}}}}))}();
296!function(){"use strict";angular.module("smartertools").directive("validateFolderNameSlashes",(function(){return{require:"ngModel",link:function(t,r,e,n){n.$validators.invalidFolderCharactersSlashes=function(t,r){return!r||("L"==window.stOS?function(t){var r=/[\u0000]/;return!r.test(t)&&!(r=/\.\./g).test(t)}(r):function(t){if(t.startsWith("."))return!1;var r=/[:\*\?\<\>\|\"\u0000]/;return!r.test(t)&&!(r=/\.\./g).test(t)}(r))}}}}))}();
297!function(){"use strict";function r(r){return{require:"ngModel",link:function(t,e,i,n){r.loadRestrictedWords(),n.$validators.invalidFolderCharacters=function(r,t){return!t||function(r){if("L"!==window.stOS&&(r.startsWith(".")||r.endsWith(".")))return!1;var t=/[:/\\*?<>|"\u0000]/;return!t.test(r)&&!(t=/\.\./g).test(r)}(t)},n.$validators.reservedFolderName=function(t,e){return!e||function(t){return!r.isWordRestricted(t)}(e)}}}}
297r.$inject=["restrictedWordsService"],angular.module("smartertools").directive("validateFolderName",r)}();
298!function(){"use strict";function t(t){if(!/^(\/|~\/)/.test(t))return!1;if(/^(\/|~\/)$/.test(t))return!1;let e=t.split("/");for(var i=0;i<e.length;++i){let t=e[i];if(0!=i||"~"!=t&&""!=t){if(0==t.length&&i!=e.length-1)return!1;if(t.startsWith("."))return!1;if(!/^[a-zA-Z0-9._ -]*$/.test(e[i]))return!1}}return!0}function e(t){return!!/((^[a-zA-Z]:\\)|(^\\\\[^\\]))/.test(t)&&!/((^[a-zA-Z]:\\$)|(^\\\\[^\\]$))/.test(t)}function i(i,n){return{require:"ngModel",link:function(r,a,o,u){u.$asyncValidators.validateFullyQualifiedDomainPath=function(r,a){if(!a)return n.when(!0);var o=n.defer();return("L"==window.stOS?t(a):e(a))?(i.post("~/api/v1/settings/sysadmin/validate-domain-path",{input:a}).then((function(t){o.resolve()}),(function(t){o.reject(t)})),o.promise):(o.reject(),o.promise)}}}}function n(i,n){return{require:"ngModel",link:function(r,a,o,u){u.$asyncValidators.validateFullyQualifiedDomainPath=function(r,a){if(!a)return n.when(!0);var u=n.defer();return("L"==window.stOS?t(a):e(a))?o.attachMode?(u.resolve(),u.promise):(i.post("~/api/v1/settings/sysadmin/validate-domain-root-path",{input:a}).then((function(t){u.resolve()}),(function(t){u.reject(t)})),u.promise):(u.reject(),u.promise)}}}}i.$inject=["$http","$q"],n.$inject=["$http","$q"],angular.module("smartertools").directive("validateFullyQualifiedDomainPath",i).directive("validateFullyQualifiedDomainRootPath",n)}();
299!function(){"use strict";function t(t,e){return{require:"ngModel",link:function(r,i,n,u){u.$asyncValidators.validateFullyQualifiedPath=function(r,i){if(!i)return e.when(!0);let n="L"==window.stOS?function(t){if(!/^(\/|~\/)/.test(t))return!1;if(/^(\/|~\/)$/.test(t))return!1;let e=t.split("/");for(var r=0;r<e.length;++r){let t=e[r];if(0!=r||"~"!=t&&""!=t){if(0==t.length&&r!=e.length-1)return!1;if(t.startsWith("."))return!1;if(!/^[a-zA-Z0-9._ -]*$/.test(e[r]))return!1}}return!0}(i):function(t){return!!/((^[a-zA-Z]:\\)|(^\\\\[^\\]))/.test(t)&&!/((^[a-zA-Z]:\\$)|(^\\\\[^\\]$))/.test(t)}(i);if(!n){var u=e.defer();return u.reject(),u.promise}return t.post("~/api/v1/settings/sysadmin/validate-path",{input:i})}}}}t.$inject=["$http","$q"],angular.module("smartertools").directive("validateFullyQualifiedPath",t)}();
300!function(){"use strict";angular.module("smartertools").directive("validateHexColor",[function(){return{require:"ngModel",link:function(t,e,r,n){n.$validators.validateHexColor=function(t,e){return!e||/^#[a-fA-F0-9]{6}$/.test(e)}}}}])}();
301!function(){"use strict";angular.module("smartertools").directive("validateIpAddressRange",[function(){return{require:"ngModel",link:function(d,a,f,A){function F(d){return d.match(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/g)}function t(d){return d.match(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\s*-\s*(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/g)}function n(d){return d.match(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$/g)}function r(d){return d.match(/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/g)}function e(d){return d.match(/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(\/([0-9]|[1-9][0-9]|1[0-1][0-9]|12[0-8]))(%.+)?\s*$/g)}A.$validators.validateIpAddressRange=function(d,f){if(!f)return!0;
301if(null!=a.attr("allow-wildcard")&&"*"==f)return!0;for(var A,i=f.split(","),u=0;u<i.length;++u){var c=i[u].replace(/\s+/g,"");return F(c)||t(c)||n(c)||r(c)||(A=void 0,2==(A=c.split("-")).length&&r(A[0])&&r(A[1]))||e(c)}}}}}])}();
302!function(){"use strict";angular.module("smartertools").directive("validateIpAddressWildcard",[function(){return{require:"ngModel",link:function(r,t,n,e){e.$validators.validateIpAddressWildcard=function(r,t){return!t||!t.contains("-")&&!t.contains("/")&&("*"===t||function(r){var t=r.split(".");if(4!==t.length)return!1;for(var n=0;n<4;++n){if(isNaN(parseFloat(t[n])))return!1;var e=parseInt(t[n],10);if(e<0||e>255)return!1}return!0}(t)||function(r){var t=r.split(":");if(t.length<2||t.length>8)return!1;for(var n=0;n<t.length;++n)if(""!==t[n]&&parseInt(t[n].toLowerCase(),16).toString(16)!==t[n].toLowerCase())return!1;return!0}(t))}}}}])}();
303!function(){"use strict";angular.module("smartertools").directive("validateIpAddress",[function(){return{require:"ngModel",link:function(d,a,f,A){A.$validators.validateIpAddress=function(d,a){return!a||(a=a.trim(),a.match(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/g)||a.match(/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/g))}}}}])}();
304!function(){"use strict";function e(e,t){return{require:"ngModel",link:function(i,n,r,a){a.$asyncValidators.validateLicense=function(n,r){if(a.$error={},!r)return t.when(!0);var s=t.defer();return e.post("~/api/v1/settings/sysadmin/validate-license",{input:r}).then((function(e){i.$emit("validate-license",{isValid:!0,returnedData:e}),s.resolve()}),(function(e){a.$error[e.data.message]=!0,i.$emit("validate-license",{isValid:!1,returnedData:success}),s.reject()})),s.promise}}}}e.$inject=["$http","$q"],angular.module("smartertools").directive("validateLicense",e)}();
305!function(){"use strict";function t(t,i){return{require:"ngModel",link:function(n,e,s,a){a.$asyncValidators.validateLinkExists=function(n,e){return e?t.post("~/api/v1/rss/validate-link-exists",{input:e}):i.when(!0)}}}}t.$inject=["$http","$q"],angular.module("smartertools").directive("validateLinkExists",t)}();
306!function(){"use strict";angular.module("smartertools").directive("validateMonthsAsNum",[function(){return{require:"ngModel",link:function(t,n,e,i){i.$validators.validateMonthsAsNum=function(t,n){return!n||!(n<1)&&!(n>12)}}}}])}();
307!function(){"use strict";function n(n,t,e){return{require:"ngModel",link:function(o,i,a,r){r.$asyncValidators.validateNotCurrentDomain=async function(o,i){await e.init();return(n.secondaryImpersonationDomain||e.domain)==i?t.reject({success:!1}):t.resolve({success:!0})}}}}n.$inject=["$rootScope","$q","coreDataDomainSettings"],angular.module("smartertools").directive("validateNotCurrentDomain",n)}();
308!function(){"use strict";angular.module("smartertools").directive("validateNotSamePath",(function(){return{require:"ngModel",link:function(t,e,a,r){r.$validators.matchesPrimaryPath=function(e,r){return!function(t,e){if(!t||!e)return!1;function a(t){return t.trim().replace(/\\/g,"/").replace(/\/+$/,"")}var r=a(t),n=a(e);return"L"===window.stOS?r===n:r.toLowerCase()===n.toLowerCase()}(r,t.$eval(a.validateNotSamePath))},t.$watch(a.validateNotSamePath,(function(){r.$validate()}))}}}))}();
309!function(){"use strict";angular.module("smartertools").directive("validateNumberList",[function(){return{require:"ngModel",link:function(t,e,r,i){i.$validators.validateNumberList=function(t,e){if(!e)return!0;for(var r=e.split("\n"),i=!0,n=0;n<r.length;n++)if((r[n]||n!=r.length-1)&&!/^\d+$/.test(r[n])){i=!1;break}return i}}}}])}();
310!function(){"use strict";angular.module("smartertools").directive("checkPasswords",[function(){return{require:"ngModel",scope:{otherModelValue:"=checkPasswords"},link:function(e,o,t,r){r.$validators.checkPasswords=function(o){return!e.otherModelValue||o===e.otherModelValue},e.$watch("otherModelValue",(function(){r.$validate()}))}}}]),angular.module("smartertools").directive("checkPasswordsOptional",[function(){return{require:"ngModel",scope:{otherModelValue:"=checkPasswordsOptional"},link:function(e,o,t,r){r.$validators.checkPasswords=function(o){return!o&&!e.otherModelValue||o===e.otherModelValue},e.$watch("otherModelValue",(function(){r.$validate()}))}}}]),angular.module("smartertools").directive("checkPasswordsNotMatch",[function(){return{require:"ngModel",scope:{otherModelValue:"=checkPasswordsNotMatch"},link:function(e,o,t,r){r.$validators.checkPasswordsNotMatch=function(o){return o!==e.otherModelValue},e.$watch("otherModelValue",(function(){r.$validate()}))}}}]),angular.module("smartertools").directive("checkFieldsNotMatch",[function(){return{require:"ngModel",scope:{otherModelValue:"=checkFieldsNotMatch"},link:function(e,o,t,r){r.$validators.checkFieldsNotMatch=function(o){return o!==e.otherModelValue},e.$watch("otherModelValue",(function(){r.$validate()}))}}}])}();
311!function(){"use strict";function t(t,a){return{require:"ngModel",link:function(s,e,o,i){i.$asyncValidators.validatePathConversion=function(s,e){if(!e||i.$pristine)return a.when(!0);var o=a.defer(),n="",r=[],p=i.$$scope.$parent.cStatus.showGroupedSystemPaths(),c=i.$$scope.$parent.cStatus.showGroupedBindingsPaths(),h=i.$$scope.$parent.cStatus.showGroupedDomainPaths(),u={};
311return p?(n=i.$$scope.$parent.cStatus.groupedSystemSettingsPaths.parentPathOld,i.$$scope.$parent.cStatus.settingsPathsOrigNoDups.forEach((function(t){r.push(t.origPath)})),u={parentPathOrig:n,parentPathUpdate:e,childPaths:r,isCertCheck:!1}):c?(n=i.$$scope.$parent.cStatus.groupedBindingCertificatesPaths.parentPathOld,i.$$scope.$parent.cStatus.bindingsPathsOrigNoDups.forEach((function(t){r.push(t.origPath)})),u={parentPathOrig:n,parentPathUpdate:e,childPaths:r,isCertCheck:!0}):h&&(n=i.$$scope.$parent.cStatus.groupedDomainPaths.parentPathOld,i.$$scope.$parent.cStatus.domainPathsNoDups.forEach((function(t){r.push(t.origPath)})),u={parentPathOrig:n,parentPathUpdate:e,childPaths:r,isCertCheck:!1}),t.post("~/api/v1/conversion/os-path-conversion-validation/"+i.$$scope.$parent.cStatus.accessKey,JSON.stringify(u)).then((function(t){t.data.success?(p?i.$$scope.$parent.cStatus.settingsPathsOrigNoDups.forEach((function(a){var s=i.$$scope.$parent.cStatus.searchValidationResult(t.data.pathData,a.origPath);void 0!==s&&(a.pathNotExist=s.pathNotExist,a.pathNoPermissions=s.pathNoPermissions)})):c?i.$$scope.$parent.cStatus.bindingsPathsOrigNoDups.forEach((function(a){var s=i.$$scope.$parent.cStatus.searchValidationResult(t.data.pathData,a.origPath);void 0!==s&&(a.pathNotExist=s.pathNotExist,a.pathNoPermissions=s.pathNoPermissions)})):h&&i.$$scope.$parent.cStatus.domainPathsNoDups.forEach((function(a){var s=i.$$scope.$parent.cStatus.searchValidationResult(t.data.pathData,a.origPath);void 0!==s&&(a.pathNotExist=s.pathNotExist,a.pathNoPermissions=s.pathNoPermissions)})),o.resolve()):!1===t.data.success&&o.reject(t.data.message)}),(function(t){o.reject(t)})),o.promise}}}}t.$inject=["$http","$q"],angular.module("smartertools").directive("validatePathConversion",t)}();
312!function(){"use strict";function i(i,t){return{require:"ngModel",link:function(i,e,n,l){l.$validators.validateRblHost=function(i,e){return t.isValidRbl(e)}}}}i.$inject=["$q","emailValidationService"],angular.module("smartertools").directive("validateRblHost",i)}();
313!function(){"use strict";function e(e){return{require:"ngModel",link:function(r,t,i,d){e.loadRestrictedWords(),d.$validators.validateReservedWord=function(r,t){return!(t=t?t.trim():t)||!e.isWordRestricted(t)}}}}e.$inject=["restrictedWordsService"],angular.module("smartertools").directive("validateReservedWord",e)}();
314!function(){"use strict";angular.module("smartertools").directive("validateRetryIntervals",[function(){return{require:"ngModel",link:function(r,t,e,n){n.$validators.retryIntervals=function(r,t){if(!t)return!1;for(var e=t.split(","),n=0;n<e.length;++n){if(isNaN(e[n]))return!1;if(e[n]<0)return!1}return!0}}}}])}();
315!function(){"use strict";function t(t,e){return{require:"ngModel",link:function(n,i,s,r){r.$asyncValidators.validateSysadminDoesNotExists=function(n,i){if(!i||r.$pristine)return e.when(!0);var s=e.defer();return t.get("~/api/v1/settings/sysadmin/sysadmin-does-not-exist/"+i+"/").then((function(t){s.resolve()}),(function(t){s.reject(t)})),s.promise}}}}t.$inject=["$http","$q"],angular.module("smartertools").directive("validateSysadminDoesNotExists",t)}();
316!function(){"use strict";function t(t){return{require:"ngModel",link:function(r,e,i,n){n.$validators.validateUrl=function(e,n){if(!n)return!0;if(!1===r.$eval(i.validateUrl))return!0;if(!/[^\x00-\x7F]/.test(n))return/https?:\/\/(www\.)?([-a-zA-Z0-9@:%_\+~#=]{2,256}\.)+([a-zA-Z]{2,})\/?(?::([0-9]|[0-8][0-9]|9[0-9]|[0-8][0-9]{2}|9[0-8][0-9]|99[0-9]|[0-8][0-9]{3}|9[0-8][0-9]{2}|99[0-8][0-9]|999[0-9]|[0-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?(?:\/([-a-zA-Z0-9@:%_\/\+\.~#=]*))?$/.test(n)||/https?:\/\/(www\.)?(localhost)\/?(?::([0-9]|[0-8][0-9]|9[0-9]|[0-8][0-9]{2}|9[0-8][0-9]|99[0-9]|[0-8][0-9]{3}|9[0-8][0-9]{2}|99[0-8][0-9]|999[0-9]|[0-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?(?:\/([-a-zA-Z0-9@:%_\/\+\.~#=]*))?$/.test(n)||function(t){if(1!=((t=t.toUpperCase()).match(/HTTPS?:\/\//g)||[]).length)return!1;if((t=t.replace("HTTPS://","").replace("HTTP://","")).split("//").length>1)return!1;var r=t.split("/");if(r.length>1){t=r[0];var e=r;if(e.shift(),e=e.join("/"),/\s/g.test(e))return!1}var i=t.split(":");if(i.length>1){if(!/^\d{1,5}$/.test(i[1]))return!1;var n=parseInt(i[1]);if(n<0||n>65535)return!1;t=i[0]}var a=t.split(".");if(4!=a.length)return!1;for(var l=0;l<4;++l){if(!Number.isFinite(parseFloat(a[l])))return!1;var s=parseInt(a[l],10);if(s<0||s>255)return!1}return!0}(n);const a=/^https?:\/\//i;if(!a.test(n))return!1;for(var l=n.replace(a,"").split("/"),s=/[-a-zA-Z0-9@:%_+.~#=?&]*/,u=1;u<l.length;u++)if(!s.test(l[u]))return!1;return t.isValidDomain(l[0])}}}}t.$inject=["emailValidationService"],angular.module("smartertools").directive("validateUrl",t)}();
317!function(){"use strict";function e(e,t){return{require:"ngModel",link:function(i,n,r,s){s.$asyncValidators.validateUserExists=function(i,n){if(!n)return t.when(!0);var r=t.defer();return e.post("~/api/v1/settings/sysadmin/user-exists",JSON.stringify({email:n})).then((function(e){r.resolve()}),(function(e){r.reject(e)})),r.promise}}}}e.$inject=["$http","$q"],angular.module("smartertools").directive("validateUserExists",e)}();
318!function(){"use strict";angular.module("smartertools").directive("validateUsernameNoDomain",(function(){return{require:"ngModel",link:function(n,e,i,r){r.$validators.validateUsernameNoDomain=function(n,e){return!(e=e?e.trim():e)||!(e.indexOf("@")>-1)}}}}))}();
319!function(){"use strict";angular.module("smartertools").directive("validateUsernameOctetLength",(function(){return{require:"ngModel",link:function(e,t,n,r){r.$validators.validateUsernameOctetLength=function(e,t){let n=function(e){try{const t=new TextEncoder;return t.encode(e).length}catch(e){return console.error("validateUsernameOctetLength error: ",e),0}}(t=t?t.trim():t);return!t||!(n<0||n>64)}}}}))}();
320!function(){"use strict";function t(t,n,e,i,o,s,a,r,c,l,u,d,m,p,f,g,h,C,v,A,w,S,y){var k=this;function E(t,e){n.$evalAsync((function(){k.domainCount=e.domaincount||0,k.spoolCount=e.spoolCount||0,k.userActivity=Math.max(0,e.userActivity||0),k.usersConnections=Math.max(0,e.usersConnections||0),k.currentConnections=e.currentConnections||0,k.idsBlocks=e.idsBlocks||0,k.selfBlacklist=e.selfBlacklist||0}))}k.domainCount=0,k.spoolCount=0,k.userActivity=0,k.usersConnections=0,k.currentConnections=0,k.idsBlocks=0,k.selfBlacklist=0,k.domains=[],k.canImpersonate=w.canImpersonate(),k.isEnterprise=S.edition!=S.EDITION_PROFESSIONAL,k.isInitialized=!1,k.showArchiveSearch=!1,k.isHa=window.stHA,k.onImpersonate=function(t){a.show({locals:{domain:null,email:null},controller:"sysAdminImpersonateUserController",controllerAs:"ctrl",templateUrl:"app/root/modals/impersonate-user.dlg.html",targetEvent:t})},function(){function t(t){E(void 0,t.data)}g.init().then((function(){if(k.isInitialized=!0,function(){function t(t){t.mailHub.invoke("manageConnectWithStartData",v.getToken(),["domaincount","spoolCount","userActivity","usersConnections","currentConnections","i
320dsBlocks","selfBlacklist"],["domainCount","spoolCount","userActivity","currentConnections","selfBlacklist"]).then(e),n.$on("signalR.client.dashboardUpdate",E)}function e(){}h.init().then(t)}(),f.settings.domainArchiveRules){var e=f.settings.domainArchiveRules.find((t=>t.isDefault));k.showArchiveSearch=!e.disabled}else k.showArchiveSearch=!1;n.$applyAsync(),i.get("~/api/v1/settings/sysadmin/dashboard-stats").then(t,C.report)}),C.report)}(),n.treeExpanded=u.isExpanded,n.$on("treeState:stateChange",(function(t,e){n.treeExpanded=e.expanded,l((function(){$(window).trigger("resize")}),300)})),t.$on("signalR.mailHub.client.certificateValidityUpdate",(function(t,n){n.valid&&window.certificateErrorToast&&(y.clear(window.certificateErrorToast),window.certificateErrorToast=null)}))}t.$inject=["$rootScope","$scope","$translate","$http","$q","$state","$mdDialog","$log","$filter","$timeout","treeState","successHandling","NgTableParams","gridCheckboxes","coreDataSysAdminSettings","coreData","signalrHubManager","errorHandling","authStorage","coreDataFileStorage","claimsService","coreLicensing","toaster"],angular.module("smartermail").controller("sysAdminManageRootController",t)}();
321!function(){"use strict";function t(t,n,e,a,i,o,s,r,l,c,d,m,u,g,h,p,f,E,A,D,N){var S=this;function I(){S.checkboxes.reset(),S.tableParams.reload()}function O(t,n){var o=S.checkboxes.selectedCount;if(o){var r=s.confirmDeletion().textContent(N.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:o})).targetEvent(n);s.show(r).then((function(){var t=[],n=new Date;for(var o in S.checkboxes.items)S.checkboxes.items.hasOwnProperty(o)&&S.checkboxes.items[o]&&(t.push(o),S.deletingDomains[o]={phase:"DELETING",startedUtc:n});d.pop({type:"info",title:null,body:e.instant("DOMAIN_MANAGEMENT_DELETE_DOMAIN_RUNNING"),timeout:0,bodyOutputType:"trustedHtml"});I();var s=t.map((function(t){return a.post("~/api/v1/settings/sysadmin/domain-delete/"+t+"/true").catch((function(n){return delete S.deletingDomains[t],i.reject(n)}))}));i.all(s).catch(p.report)}))}else p.warn("ERROR_NO_CARDS")}function y(t,n,a){if(t.isDetaching||S.detachingDomains[t.name]){var i=s.confirmDeletion().title(e.instant("DOMAIN_DETACH_IN_PROGRESS")).textContent(e.instant("DOMAIN_DETACH_IN_PROGRESS_MESSAGE")).ok(e.instant("OK")).noWarn(!0).hideCancel(!0);s.show(i)}else if(t.isAttaching||S.attachingDomains[t.name]){i=s.confirmDeletion().title(e.instant("DOMAIN_ATTACH_IN_PROGRESS")).textContent(e.instant("DOMAIN_ATTACH_IN_PROGRESS_MESSAGE")).ok(e.instant("OK")).noWarn(!0).hideCancel(!0);s.show(i)}else if(t.isDeleting||S.deletingDomains[t.name]){i=s.confirmDeletion().title(e.instant("DOMAIN_DELETE_IN_PROGRESS")).textContent(e.instant("DOMAIN_OPERATION_IN_PROGRESS_WAIT")).ok(e.instant("OK")).noWarn(!0).hideCancel(!0);s.show(i)}else if(t.isProcessing){i=s.confirmDeletion().title(e.instant("CONFIRMATIONS_DOMAIN_PROCESSING")).textContent(e.instant("CONFIRMATIONS_CANNOT_MODIFY_PROCESSING_DOMAIN")).ok(e.instant("OK")).noWarn(!0).hideCancel(!0);s.show(i)}else t.criticallyErrored?s.show({locals:{domainName:t.name,domainPath:t.domainPath},controller:"failedToLoadDialogController",controllerAs:"ctrl",templateUrl:"app/sysadmin/manage/modals/domain-failed-to-load.dlg.html",targetEvent:n}).then((function(t){t&&I()}),(function(){})):o.go("index.sysadmin-manage.dashboard.domain-specific",{id:t.name,idn:t.idnName,isNew:!!a||null})}function w(t,n){var o=S.checkboxes.selectedCount;if(o){var l=s.confirm().title(r("translate")(n?"ENABLE_DOMAIN":"DISABLE_DOMAIN")).textContent(n?N.reactPluralize("CONFIRMATIONS_ENABLE_DOMAIN",{count:o}):N.reactPluralize("CONFIRMATIONS_DISABLE_DOMAIN",{count:o})).targetEvent(t).ok(r("translate")(n?"ENABLE":"DISABLE")).cancel(r("translate")("CANCEL"));s.show(l).then((async function(){var t=[];for(var o in S.checkboxes.items)if(S.checkboxes.items.hasOwnProperty(o)&&S.checkboxes.items[o]){S.detachingDomainNames.push(o);let e={domainSettings:{isEnabled:!!n}};t.push(a.post("~/api/v1/settings/sysadmin/domain-settings/"+o+"/",JSON.stringify(e)))}var s=d.pop({type:"info",title:null,body:e.instant("DOMAIN_MANAGEMENT_ALTER_DOMAIN_RUNNING"),timeout:0,bodyOutputType:"trustedHtml"});I(),i.all(t).then(m.report,p.report).finally((()=>{d.clear(s),S.detachingDomainNames=[],I()}))}),(function(){}))}else p.warn("ERROR_NO_CARDS")}function C(t){var n=S.checkboxes.selectedCount;if(n){var o=s.confirm().title(r("translate")("RELOAD_DOMAIN")).textContent(N.reactPluralize("CONFIRMATIONS_RELOAD_DOMAIN",{count:n})+" "+e.instant("CONFIRMATIONS_RELOAD_DOMAIN_NOTE")).targetEvent(t).ok(r("translate")("RELOAD")).cancel(r("translate")("CANCEL"));s.show(o).then((function(){var t=[];for(var n in S.checkboxes.items)S.checkboxes.items.hasOwnProperty(n)&&S.checkboxes.items[n]&&(S.detachingDomainNames.push(n),t.push(a.post("~/api/v1/settings/sysadmin/reload-domain/"+n)));var o=d.pop({type:"info",title:null,body:e.instant("DOMAIN_MANAGEMENT_RELOAD_DOMAIN_RUNNING"),timeout:0,bodyOutputType:"trustedHtml"});I(),i.all(t).then(m.report,p.report).finally((()=>{d.clear(o),S.detachingDomainNames=[],I()}))}),(function(){}))}else p.warn("ERROR_NO_CARDS")}function T(t){var n=S.checkboxes.selectedCount;if(n){var o=s.confirm().title(r("translate")("DETACH_DOMAIN")).textContent(N.reactPluralize("CONFIRMATIONS_DETACH_DOMAIN",{count:n})+" "+e.instant("CONFIRMATIONS_DETACH_DOMAIN_NOTE")).targetEvent(t).ok(r("translate")("DETACH")).cancel(r("translate")("CANCEL"));s.show(o).then((function(){var t=[],n=new Date;for(var o in S.checkboxes.items)S.checkboxes.items.hasOwnProperty(o)&&S.checkboxes.items[o]&&(t.push(o),S.detachingDomains[o]={phase:"DETACHING",startedUtc:n});var s=d.pop({type:"info",title:null,body:e.instant("DOMAIN_MANAGEMENT_DETACH_DOMAIN_RUNNING"),timeout:0,bodyOutputType:"trustedHtml"});I();var r=t.map((function(t){return a.post("~/api/v1/settings/sysadmin/detach-domain/"+t).catch((function(n){return delete S.detachingDomains[t],i.reject(n)}))}));i.all(r).then(m.report,p.report).finally((()=>{d.clear(s),c((function(){I()}))}))}),(function(){}))}else p.warn("ERROR_NO_CARDS")}function b(n,i){var o=i?i.name:S.checkboxes.getCheckedItems()[0];if(o){var l=s.confirm().title(r("translate")("CANCEL_ATTACH_DOMAIN")).textContent(e.instant("CONFIRM_CANCEL_ATTACH_DOMAIN")).targetEvent(n).ok(r("translate")("CANCEL_ATTACH")).cancel(r("translate")("CANCEL"));s.show(l).then((function(){t.spinner.show(),a.post("~/api/v1/settings/sysadmin/cancel-attach-domain/"+o).then((function(){I()}),p.report).finally(t.spinner.hide)}),(function(){}))}else p.warn("ERROR_NO_DOMAIN_SELECTED")}S.searchParams={skip:0,take:0,search:null,sortField:null,sortDescending:!1},S.tableParams=new u({sorting:{idnName:"asc"},count:25},{getData:function(n){for(var e in S.searchParams.skip=(n.page()-1)*n.count(),S.searchParams.take=n.count(),S.searchParams.includeErrored=!0,S.searchParams.sortField=null,n.sorting())if(n.sorting().hasOwnProperty(e)&&n.sorting()[e]){S.searchParams.sortField=e,S.searchParams.sortDescending="desc"===n.sorting()[e];break}return t.spinner.show(),a.post("~/api/v1/settings/sysadmin/domain-list-search",JSON.stringify(S.searchParams)).then((function(t){return S.searchResults=t.data.results,S.searchResults.forEac
321h((t=>{S.detachingDomainNames.includes(t.name)&&(t.detaching=!0),S.attachingDomains[t.name]&&(t.isAttaching=!0),S.detachingDomains[t.name]&&(t.isDetaching=!0),S.deletingDomains[t.name]&&(t.isDeleting=!0)})),S.searchResultCount=t.data.totalCount,n.total(S.searchResultCount),S.searchResults}),(function(){})).finally(t.spinner.hide)},counts:t.commonTableCounts}),S.checkboxes=g.init("name"),S.checkboxes.table=S.tableParams,S.domains=[],S.coreDataSysAdminSettings=E,S.isInitialized=!1,n.domainStr=e.instant("DOMAIN"),n.statusStr=e.instant("STATUS"),n.userCountStr=e.instant("USERS"),n.aliasCountStr=e.instant("ALIASES"),n.listCountStr=e.instant("MAILING_LISTS"),n.easMailboxCountStr=e.instant("EAS_MAILBOXES"),n.mapiEwsMailboxCountStr=r("htmlUnescape")(e.instant("MAPI_EWS_MAILBOXES")),n.domainUsageStr=e.instant("DISK_USAGE"),n.messageArchivingStr=e.instant("MESSAGE_ARCHIVING"),n.certificatesStr=e.instant("SSL_TLS_CERTIFICATES"),S.underFifteenDays=!1,S.detachingDomainNames=[],S.attachingDomains={},S.detachingDomains={},S.deletingDomains={},S.isHighAvailability=window.stHA,S.newDomain=function(n){t.spinner.show();var e=[a.get("~/api/v1/settings/sysadmin/domain-path"),a.get("~/api/v1/settings/sysadmin/global-mail")];i.all(e).then((function(t){var e=t[0].data.result,a=t[1].data.globalMailSettings.domainDefaultSettings.hostname,i=t[1].data.globalMailSettings.domainDefaultSettings.secondaryStoragePath||"",o=t[1].data.globalMailSettings.domainDefaultSettings.secondaryStorageAgeDays||90;s.show({locals:{defaultPath:e,defaultHostname:a,defaultSecondaryStoragePath:i,defaultSecondaryStorageAgeDays:o},controller:"domainManageNewDomainController",controllerAs:"ctrl",templateUrl:"app/sysadmin/manage/domains/modals/new-domain.dlg.html",targetEvent:n}).then((function(t){y({name:t.name,idnName:t.idnName},n,!0)}),(function(){}))}),p.report).finally(t.spinner.hide)},S.deleteItems=O,S.editDomain=y,S.contextMenuGridItem=function(t,e){if(!e||"touchstart"!==e.type&&"touchend"!==e.type&&3!==e.which||t.criticallyErrored)return;if(t.isDetaching||S.detachingDomains[t.name])return;e.stopPropagation(),e.preventDefault();var a=S.checkboxes.getCheckedItems();(a.length>1&&!_.some(a,(function(n){return n===t.name}))||a.length<=1)&&(S.checkboxes.reset(),S.checkboxes.checkCheckbox(e,t),a=[t.name]);var i=t.isAttaching||S.attachingDomains[t.name];if(n.dropdownEvent=$.extend(!0,{},e),i)n.dropdownOptions=[{key:"cancelAttach",click:n=>b(n,t),translateKey:"CANCEL_ATTACH_DOMAIN"}];else{var o=S.searchResults?S.searchResults.filter((function(t){return S.checkboxes.items[t.name]})):[t],s=o.every((function(t){return t.isEnabled})),r=o.every((function(t){return!t.isEnabled}));n.dropdownOptions=[{key:"enableDomain",click:t=>w(t,!0),translateKey:"ENABLE_DOMAIN",disabled:s},{key:"disableDomain",click:t=>w(t,!1),translateKey:"DISABLE_DOMAIN",disabled:r},{key:"reloadDomain",click:C,translateKey:"RELOAD_DOMAIN"},{divider:!0},{key:"detachDomain",click:T,translateKey:"DETACH_DOMAIN"},{divider:!0},{key:"deleteItems",click:O,translateKey:"DELETE"}]}var c=$("#context-menu-area");if(c){var d=l('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(n);c.append(d)}},S.exportCsv=function(n){t.spinner.show(),f.downloadFile("~/api/v1/settings/sysadmin/export-domains-list","domains.csv",{}).then((function(){}),p.report).finally(t.spinner.hide)},S.exportUsers=function(n){var a=e.instant("USERS")+".csv";t.spinner.show(),f.downloadFile("~/api/v1/settings/sysadmin/export-users",a,{}).then((function(){}),p.report).finally(t.spinner.hide)},S.massEmail=function(n){s.show({locals:{from:"System Administrator",to:e.instant("USER"),subject:"",emailText:"",isReminder:!1},controller:"domainMassEmailController",controllerAs:"ctrl",templateUrl:"app/sysadmin/manage/domains/modals/mass-email.dlg.html",targetEvent:n}).then((function(n){var e="";switch(n.toOption.value){case 0:case 2:e=JSON.stringify({recipientType:n.toOption.value,subject:n.subject,from:n.from,toHeader:n.toFriendly,body:n.emailText,html:!0});break;case 1:e=JSON.stringify({recipientType:n.toOption.value,subject:n.subject,from:n.from,toHeader:n.toFriendly,body:n.emailText,emailAddresses:[n.domainName],html:!0});break;case 3:for(var i=n.toEmail.split(";"),o=0;o<i.length;++o)i[o].trim();e=JSON.stringify({recipientType:n.toOption.value,subject:n.subject,from:n.from,toHeader:n.toFriendly,body:n.emailText,emailAddresses:i,html:!0})}t.spinner.show(),a.post("~/api/v1/settings/sysadmin/send-mass-email",e).then((function(){m.report()}),p.report).finally(t.spinner.hide)}))},S.massReminder=function(n){s.show({locals:{from:"System Administrator",to:e.instant("USER"),subject:"",emailText:"",isReminder:!0},controller:"domainMassEmailController",controllerAs:"ctrl",templateUrl:"app/sysadmin/manage/domains/modals/mass-email.dlg.html",targetEvent:n}).then((function(n){var e="";switch(n.toOption.value){case 0:case 2:e=JSON.stringify({recipientType:n.toOption.value,subject:n.subject,from:n.from,body:n.emailText,html:!0});break;case 1:e=JSON.stringify({recipientType:n.toOption.value,subject:n.subject,from:n.from,body:n.emailText,emailAddresses:[n.domainName],html:!0});break;case 3:for(var i=n.toEmail.split(";"),o=0;o<i.length;++o)i[o].trim();e=JSON.stringify({recipientType:n.toOption.value,subject:n.subject,from:n.from,body:n.emailText,emailAddresses:i,html:!0})}t.spinner.show(),a.post("~/api/v1/settings/sysadmin/send-reminder",e).then((function(){m.report()}),p.report).finally(t.spinner.hide)}))},S.searchItems=function(){S.searchParams.search=S.searchText,I()},S.restore=function(t,n){s.show({controller:"editDomainRestoreController",controllerAs:"ctrl",locals:{options:{type:n}},templateUrl:"app/sysadmin/manage/domains/modals/restore.dlg.html",targetEvent:t,clickOutsideToClose:!1}).then((function(){0!==n&&3!==n||I()}),(function(){}))},S.attachDomain=function(t){s.show({controller:"attachDomainsController",controllerAs:"ctrl",templateUrl:"app/sysadmin/manage/domains/modals/attach-domains.dlg.html",targetEvent:t,clickOutsideToClose:!1}).then(I,(function(){}))},S.reloadDomain=C,S.enableDomain=w,S.detachDomain=T,S.cancelAttachDomain=b,S.getDomainAttachStatus=function(t){if(t&&S.attachingDomains[t])return"CANCELED"===S.attachingDomains[t].phase?e.instant("CANCELING"):e.instant(S.attachingDomains[t].phase);return""},S.getDomainDetachStatus=function(t){if(t&&S.detachingDomains[t])return e.instant("DETACHING");return""},S.getDomainDeleteStatus=function(t){if(t&&S.deletingDomains[t])return e.instant("DELETING");return""},S.allSelectedDomainsEnabled=function(){return!!S.searchResults&&S.searchResults.filter((function(t){return S.checkboxes.items[t.n
321ame]})).every((function(t){return t.isEnabled}))},S.allSelectedDomainsDisabled=function(){return!!S.searchResults&&S.searchResults.filter((function(t){return S.checkboxes.items[t.name]})).every((function(t){return!t.isEnabled}))},function(){function n(n){S.showOverLicenseLimit=n.data.isOverLicenseLimit;var a=n.data.isFreeEdition,i=n.data.isUpgradeProtectionExpired,s=n.data.isUpgradeProtectionExpiringSoon,l=n.data.daysUntilUpgradeProtectionExpires,c=n.data.isTrialLicenseExpiringSoon,m=n.data.daysUntilTrialExpires;S.isHighAvailability?(S.showLicenseWarningBar=!1,S.licenseWarningMessage=null,S.licenseWarningButton1Text=null,S.licenseWarningButton2Text=null):(c?(S.showLicenseWarningBar=!0,S.licenseWarningMessage=r("translate")("LICENSE_WARNING_TRIAL_EXPIRING",{x:m}),S.underFifteenDays=m<=15,S.licenseWarningButton2Text="PURCHASE",S.licenseWarningAction2=function(){window.open("https://www.smartertools.com/forwarder/smartermail/16/purchase")}):i?(S.showLicenseWarningBar=!0,S.licenseWarningMessage=r("translate")("LICENSE_WARNING_UP_EXPIRED"),S.underFifteenDays=!0,S.licenseWarningButton1Text="MORE_INFO",S.licenseWarningAction1=function(){window.open("https://www.smartertools.com/forwarder/smartermail/16/up-info")},S.licenseWarningButton2Text="RENEW",S.licenseWarningAction2=function(){window.open("https://www.smartertools.com/forwarder/smartermail/16/up-renew")}):s?(S.showLicenseWarningBar=!0,S.licenseWarningMessage=r("translate")("LICENSE_WARNING_UP_EXPIRING",{x:l}),S.underFifteenDays=l<=15,S.licenseWarningButton1Text="MORE_INFO",S.licenseWarningAction1=function(){window.open("https://www.smartertools.com/forwarder/smartermail/16/up-info")},S.licenseWarningButton2Text="RENEW",S.licenseWarningAction2=function(){window.open("https://www.smartertools.com/forwarder/smartermail/16/up-renew")}):a&&(S.showLicenseWarningBar=!0,S.licenseWarningMessage=r("translate")("LICENSE_WARNING_FREE_EDITION"),S.licenseWarningButton1Text="PURCHASE",S.licenseWarningAction1=function(){window.open("https://www.smartertools.com/forwarder/smartermail/16/purchase")},S.licenseWarningButton2Text="ACTIVATE",S.licenseWarningAction2=function(){o.go("index.sysadmin-settings.activation")}),n.data.hasMissedCallbacks&&d.pop("warning",e.instant("MISSED_LICENSING_CALLBACKS_WARNING"),"",0)),setTimeout((function(){let a="True"==localStorage.getItem("hideDetailedLogWarning"),i="True"==localStorage.getItem("hideDebugLogWarning");if(S.secondsOffOfOfficialUtcTime=S.coreDataSysAdminSettings.settings.globalMailSettings.secondsOffOfOfficialUtcTime,S.showDebugLoggingWarning=S.coreDataSysAdminSettings.settings.globalMailSettings.logSettings.showDebugLoggingWarning,S.showEASAllocationWarning=S.coreDataSysAdminSettings.settings.globalMailSettings.showEASAllocationWarning,S.showDetailedProtocolLogWarning=S.coreDataSysAdminSettings.settings.globalMailSettings.logSettings.showDetailedProtocolLogWarning,S.showCertificateValidityError=S.coreDataSysAdminSettings.settings.globalMailSettings.showCertificateValidityError,!t.showWarnings){var o=[];if(S.showCertificateValidityError&&o.push(e.instant("INVALID_CERTIFICATE_ERROR")),Math.abs(S.secondsOffOfOfficialUtcTime)>15&&o.push(e.instant("TIME_DESYNC_WARNING")),S.showUnknownMountsWarning&&o.push(e.instant("UNKNOWN_MOUNTS_WARNING_MESSAGE").replace("{count}",n.data.unknownMountCount)),S.showDebugLoggingWarning&&!i&&(window.debugLoggingWarningFunction=function(){return event.stopPropagation(),localStorage.setItem("hideDebugLogWarning","True"),d.clear(window.debugLoggingWarning),!1},window.debugLoggingWarning=d.pop({type:"warning",title:e.instant("DEBUG_LOG_WARNING"),body:`\n\t\t\t\t\t\t\t\t<div style='margin-top: 5px;'>\n\t\t\t\t\t\t\t\t\t<button class='md-button md-primary' onclick='debugLoggingWarningFunction()' style='margin-left: 0;' type='button'>${e.instant("DISMISS")}</button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t`,timeout:0,bodyOutputType:"trustedHtml"})),S.showDetailedProtocolLogWarning&&!a&&(window.detailedProtocolLogWarningFunction=function(){return event.stopPropagation(),localStorage.setItem("hideDetailedLogWarning","True"),d.clear(window.detailedProtocolLogWarning),!1},window.detailedProtocolLogWarning=d.pop({type:"warning",title:e.instant("DETAILED_PROTOCOL_LOG_WARNING"),body:`\n                                <div style='margin-top: 5px;'>\n                                    <button class='md-button md-primary' style='margin-left: 0;' onclick='detailedProtocolLogWarningFunction()' type='button'>${e.instant("DISMISS")}</button>\n                                </div>\n\t\t\t\t\t\t\t\t`,timeout:0,bodyOutputType:"trustedHtml"})),S.showEASAllocationWarning&&o.push(e.instant("EAS_ALLOCATION_WARNING")),S.showOverLicenseLimit&&!S.isHighAvailability&&o.push(e.instant("LICENSE_WARNING_LIMITS_EXCEEDED")),0!==o.length&&1!==o.length){for(var s='<ul class="md-warning" style="display: flex; flex-direction: column; list-style: outside; padding-left: 14px;">',r=0;r<o.length;r++)s+="<li>"+o[r]+"</li>";s+="</ul>",window.generalWarning=d.pop({type:"warning",title:"",body:s,timeout:0,bodyOutputType:"trustedHtml"})}else 0!==o.length&&(window.generalWarning=d.pop({type:"warning",title:"",body:o[0],timeout:0,bodyOutputType:"trustedHtml"}));t.showWarnings=!0}}),500)}S.checkUnknownMounts=function(){a.get("~/api/v1/settings/sysadmin/check-unknown-mounts").then((function(t){t.data&&t.data.hasUnknownMounts&&(S.showUnknownMountsWarning=!0,S.unknownMountCount=t.data.unknownMountCount)}
321),(function(t){console.log("Error checking unknown mounts:",t)}))},S.checkUnknownMounts(),a.get("~/api/v1/settings/sysadmin/attaching-domains").then((function(t){t.data&&t.data.success&&t.data.domains&&t.data.domains.forEach((function(t){S.attachingDomains[t.domain]={phase:t.phase,startedUtc:new Date(t.startedUtc)}}))}),(function(t){console.log("Error loading attaching domains:",t)})),a.get("~/api/v1/settings/sysadmin/detaching-domains").then((function(t){t.data&&t.data.success&&t.data.domains&&t.data.domains.forEach((function(t){S.detachingDomains[t.domain]={phase:t.phase,startedUtc:new Date(t.startedUtc)}}))}),(function(t){console.log("Error loading detaching domains:",t)})),a.get("~/api/v1/settings/sysadmin/deleting-domains").then((function(t){t.data&&t.data.success&&t.data.domains&&t.data.domains.forEach((function(t){S.deletingDomains[t.domain]={phase:t.phase,startedUtc:new Date(t.startedUtc)}}))}),(function(t){console.log("Error loading deleting domains:",t)})),h.init().then((function(){S.isInitialized=!0,S.hasEnterpriseFunctionality=A.hasEnterpriseFunctionality,a.get("~/api/v1/settings/sysadmin/license-notifications").then(n,p.report)}),p.report)}(),n.$on("signalR.mailHub.client.domainReload",(function(){S.tableParams.reload()})),n.$on("signalR.mailHub.client.domainAttachStateChanged",(function(t,a){if(a){var i=a.phase,o=a.domain;if("SUCCESS"===i||"FAILED"===i){if(delete S.attachingDomains[o],"SUCCESS"===i)d.pop("SUCCESS","",e.instant("DOMAIN_ATTACH_SUCCESS",{domain:o}));else if("FAILED"===i){var s=a.error?a.error:"DOMAIN_ATTACH_FAILED";"DOMAIN_ATTACH_FAILED"===s&&(s=e.instant("DOMAIN_ATTACH_FAILED",{domain:o})),"USER_ADD_ERROR_NAME_IN_USE"===s?d.pop("error",e.instant("ERROR_ATTACHING_DOMAIN_NAME_IN_USE",{domain:o})):d.pop("error","",e.instant(s))}I()}else S.attachingDomains[o]={phase:i,startedUtc:a.startedUtc||new Date};n.$applyAsync()}})),n.$on("signalR.mailHub.client.domainAttachError",(function(t,n){n&&n.message&&console.log("Domain attach error:",n.message)})),n.$on("signalR.mailHub.client.domainDetachStateChanged",(function(t,n){if(n){var a=n.phase,i=n.domain;if("SUCCESS"===a||"FAILED"===a){if(delete S.detachingDomains[i],"SUCCESS"===a)d.pop("success","",e.instant("DOMAIN_DETACH_SUCCESS",{domain:i}));else if("FAILED"===a){var o=n.error?n.error:"DOMAIN_DETACH_FAILED";d.pop("error","",e.instant(o))}c((function(){I()}))}else S.detachingDomains[i]={phase:a,startedUtc:n.startedUtc||new Date},c((function(){I()}))}})),n.$on("signalR.mailHub.client.domainDeleteStateChanged",(function(t,n){if(n){var a=n.phase,i=n.domain;if("SUCCESS"===a||"FAILED"===a){if(delete S.deletingDomains[i],"SUCCESS"===a)d.pop("success","",e.instant("DOMAIN_DELETE_SUCCESS",{domain:i}));else if("FAILED"===a){var o=n.error?n.error:"DOMAIN_DELETE_FAILED";d.pop("error","",e.instant(o))}c((function(){I()}))}else S.deletingDomains[i]={phase:a,startedUtc:n.startedUtc||new Date},"DELETING"===a&&d.pop("info","",e.instant("DOMAIN_DELETE_STARTED",{domain:i})),c((function(){I()}))}}))}t.$inject=["$rootScope","$scope","$translate","$http","$q","$state","$mdDialog","$filter","$compile","$timeout","toaster","successHandling","NgTableParams","gridCheckboxes","coreData","errorHandling","coreDataFileStorage","coreDataSysAdminSettings","coreLicensing","claimsService","i18n"],angular.module("smartermail").controller("sysAdminManageController",t)}();
322!function(){"use strict";function t(t,e,i,n,r){var o=this;this.isInitialized=!1,e.init().then((function(){i.changePageReset(),o.isInitialized=!0}),r.report),n.navigate=function(t,e){window.location.href="root#/reports/"+t+"/"+e}}t.$inject=["$filter","coreData","coreDataSettings","$scope","errorHandling"],angular.module("smartermail").controller("reportsSystemController",t)}();
323!function(){"use strict";function n(n,e){var t=this,o="smImpersonationPopupHeartbeat",i=6e3,r=null;function a(){r&&(n.clearInterval(r),r=null);try{n.localStorage.removeItem(o)}catch(n){}}function s(){try{n.localStorage.setItem(o,String(Date.now()))}catch(n){}}function c(){try{var e=+n.localStorage.getItem(o);return e&&Date.now()-e<i}catch(n){return!1}}t.impersonatingWindow=void 0,t.createImpersonationWindow=function(){var e=n.open("","ImpersonatedWindow");/^((?!chrome|android).)*safari/i.test(navigator.userAgent)&&e&&(e.closed||e.close(),e=n.open("","ImpersonatedWindow"));return t.impersonatingWindow=e||void 0,e},t.getLiveImpersonatingWindow=function(){return t.impersonatingWindow&&c()?t.impersonatingWindow:void 0},t.hasLivePopup=c,t.clearImpersonatingWindow=function(){t.impersonatingWindow=void 0},t.startHeartbeat=function(){if(r)return;if(!e.impersonating())return;if(!n.sessionStorage.getItem("isImpersonationWindow"))return;s(),r=n.setInterval(s,2e3),n.addEventListener("beforeunload",a)},t.stopHeartbeat=a}n.$inject=["$window","claimsService"],angular.module("smartermail").service("coreDataManageDomain",n)}();
324!function(){"use strict";function e(e,t,l,r,d){var s=this;s.cards=[],s.filteredCards=[],s.selectedCards=[],s.newItemDelegate=void 0,s.editItemDelegate=void 0,s.deleteItemsDelegate=void 0,s.searchItemsDelegate=void 0,s.selectAllDelegate=void 0,s.searchEnabled=!0,s.searchText="",s.searchPredicate=void 0,s.selectMode=!1,s.sortField="",s.isDescending=!1,s.totalCount=s.cards.length,s.listDataCache={},s.listController={}
324,s.changePageReset=function(){s.cards.length=0,s.filteredCards.length=0,s.selectedCards.length=0,s.newItemDelegate=void 0,s.editItemDelegate=void 0,s.deleteItemsDelegate=void 0,s.searchItemsDelegate=void 0,s.selectAllDelegate=void 0,s.searchEnabled=!0,s.searchText="",s.searchPredicate={$:s.searchText},s.selectMode=!1,s.sortField="",s.isDescending=!1},s.listDataProvider=function(e){for(var t=[],l=0,r=s.getFilteredCards(),d=e.start;d<e.start+e.take&&null!=r[d];++d)t[l++]=r[d];return e.defer.resolve(t),e.defer.promise},s.getFilteredCards=function(){s.searchEnabled&&s.searchPredicate?s.filteredCards=r("filter")(s.cards,s.searchPredicate):s.filteredCards=s.cards;return s.filteredCards=r("orderBy")(s.filteredCards,s.sortField,s.isDescending),s.filteredCards},s.updateFilteredCards=function(){s.totalCount=s.cards.length,s.filteredCards=s.getFilteredCards(),s.listController.reset&&s.listController.updateDisplayList&&(s.listController.reset(),s.listController.updateDisplayList())},s.onSortingChanged=function(e){s.sortField=e,s.updateFilteredCards()},s.onSortOrderChanged=function(e){s.isDescending=e,s.updateFilteredCards()},s.setSelectMode=function(e){s.selectedCards.length=0,$("md-card").removeAttr("style"),s.selectMode=e},s.isCardSelected=function(e){return s.selectedCards.indexOf(e)>-1},s.selectAll=function(){s.selectAllDelegate?s.selectAllDelegate():(s.selectedCards.length=0,angular.forEach(s.filteredCards,(function(e){s.selectedCards.push(e)})))},s.deselectAll=function(){s.selectedCards.length=0},s.newItem=function(e){s.newItemDelegate&&s.newItemDelegate(e)},s.editItem=function(e,t){if(s.selectMode){var l=s.selectedCards.indexOf(e);l>-1?s.selectedCards.splice(l,1):s.selectedCards.push(e)}else s.editItemDelegate&&s.editItemDelegate(e,t)},s.deleteItems=function(e,t){s.deleteItemsDelegate&&s.deleteItemsDelegate(e,t)},s.searchItems=function(){s.searchItemsDelegate&&s.searchItemsDelegate()},s.selectItem=function(e,t){s.selectItemDelegate&&s.selectItemDelegate(e,t)},s.getIndexOf=function(e){if(s.getIndexOfDelegate)return s.getIndexOfDelegate(e)},s.getSelectedIndexOf=function(e){if(s.getSelectedIndexOfDelegate)return s.getSelectedIndexOfDelegate(e)},s.parseUserTimeSpan=function(e){if(!/\d/.test(e))return"";var t=moment(e,["h:m a","H:m"]);return t.isValid()?t:""},s.validateEmailAddress=function(e){return d.isValidEmail(e)}}e.$inject=["$rootScope","$http","$q","$filter","emailValidationService"],angular.module("smartermail").service("coreDataSysAdminCards",e)}();
325!function(){"use strict";function n(n,e,i,t,s,r,a){var o,u=this,g=!1,f=null,d=null,c=null,l=[],p=[],m={},v={},h=[],y=[],S=[],A=[],O={},M=[],b=!1,w={},L=!1,I={},R=!1,_={},x=!1,P={},T=!1,D={},E=!1,N={};function k(){return n.get("~/api/v1/settings/sysadmin/global-mail").then((function(n){f=n.data.globalMailSettings}),(function(n){f=null}))}function F(){return n.get("~/api/v1/companyinfo").then((function(n){c=n.data.companyInfo,t.$broadcast("pageTitleUpdated",c.customTitleText)}),(function(n){c=null}))}function B(){return n.get("~/api/v1/settings/sysadmin/domain-archive-rules").then((function(n){A=n.data.rules,angular.forEach(A,(function(n){n.allDomains="GlobalStrings.AllDomains"===n.domain||"ALL_DOMAINS"===n.domain,n.allDomains&&(n.domain="GlobalStrings.AllDomains")}))}),(function(n){A=[]}))}u.settings={get globalMailSettings(){return f},set globalMailSettings(n){f=n},get localIPs(){return d},get localIPv4(){return $.grep(d,(function(n){return 2===n.addressFamily&&"127.0.0.1"!==n.address}))},get localIPv6(){return $.grep(d,(function(n){return 23===n.addressFamily&&"::1"!==n.address}))},get companyInfo(){return c},get favicon(){return null},get systemAdmins(){return l},get systemMessages(){return p},get bindingManager(){return m},get forwardingBlacklist(){return v},get outgoingGateways(){return h},get incomingGateways(){return y},get senderPriorityOverrides(){return S},get domainArchiveRules(){return A},get listingCounts(){return function(){var i=e.defer();if(b)return e.when(O);return function(){return n.get("~/api/v1/settings/sysadmin/listing-counts").then((function(n){O=n.data,b=!0}),(function(n){O={},b=!1}))}().then((function(n){i.resolve(O)}),(function(n){i.reject("FAILED_TO_LOAD_LISTING_COUNTS")})),i.promise}()}
325,get blacklist(){return function(){var i=e.defer();if(L)return e.when(w);return function(){return n.get("~/api/v1/settings/sysadmin/ip-access/"+!1).then((function(n){w=n.data.ipAccessList,L=!0}),(function(n){w={},L=!1}))}().then((function(n){i.resolve(w)}),(function(n){i.reject("FAILED_TO_LOAD_BLACKLIST")})),i.promise}()},set blacklist(n){w=n||{}},get whitelist(){return function(){var i=e.defer();if(R)return e.when(I);return function(){return n.get("~/api/v1/settings/sysadmin/ip-access/"+!0).then((function(n){I=n.data.ipAccessList,R=!0}),(function(n){I={},R=!1}))}().then((function(n){i.resolve(I)}),(function(n){i.reject("FAILED_TO_LOAD_BLACKLIST")})),i.promise}()},set whitelist(n){I=n||{}},get smtpBlocks(){return function(){var i=e.defer();if(x)return e.when(_);return function(){return n.get("~/api/v1/settings/sysadmin/smtp-block-rules").then((function(n){_=n.data.blockRules,x=!0}),(function(n){_={},x=!1}))}().then((function(n){i.resolve(_)}),(function(n){i.reject("FAILED_TO_LOAD_SMTP_AUTH_BYPASS_LIST")})),i.promise}()},set smtpBlocks(n){_=n||{}},get spamAssassinServers(){return function(){var i=e.defer();if(T)return e.when(P);return function(){return n.get("~/api/v1/settings/sysadmin/spam-assassin-servers").then((function(n){P=n.data.spamAssassinServers,T=!0}),(function(n){P={},T=!1}))}().then((function(n){i.resolve(P)}),(function(n){i.reject("FAILED_TO_LOAD_SPAM_ASSASSIN_SERVERS")})),i.promise}()},set spamAssassinServers(n){P=n||{}},get abuseDetection(){return function(){var i=e.defer();if(E)return e.when(D);return function(){return n.get("~/api/v1/settings/sysadmin/temp-ip-blocks").then((function(n){D=n.data.tempIPBlocks,E=!0}),(function(n){D={},E=!1}))}().then((function(n){i.resolve(D)}),(function(n){i.reject("ERROR_FAILED_TO_LOAD_ABUSE_DETECTION")})),i.promise}()},set abuseDetection(n){D=n||{}},get honeyPotList(){return function(){var i=e.defer();if(honeypotInitialized)return e.when(N);return function(){return n.get("~/api/v1/settings/sysadmin/honey-pot/list").then((function(n){N=n.data.entries,honeypotInitialized=!0}),(function(n){N={},honeypotInitialized=!1}))}().then((function(n){i.resolve(N)}),(function(n){i.reject("FAILED_TO_LOAD_BLACKLIST")})),i.promise}()},set honeyPotList(n){N=n||{}}},u.loadGlobalMailSettings=k,u.loadCompanyInfo=F,u.init=function(){if(o)return o.promise;if(g)return e.when();var i=(o=e.defer()).promise,t=[];return t.push(k()),t.push(function(){return n.get("~/api/v1/settings/sysadmin/ips").then((function(n){d=n.data.ips}),(function(n){d=null}))}()),t.push(F()),t.push(function(){return n.get("~/api/v1/settings/sysadmin/logins").then((function(n){angular.forEach(n.data.systemLogins,(function(n){n.description=n.description||""})),l=n.data.systemLogins}),(function(){l=[]}))}()),t.push(function(){return n.get("~/api/v1/settings/sysadmin/system-messages").then((function(n){p=n.data.systemMessages}),(function(n){p=[]}))}()),t.push(function(){return n.get("~/api/v1/settings/sysadmin/ip-binding-manager").then((function(n){m=n.data.bindingManager}),(function(n){m={}}))}()),t.push(function(){return n.get("~/api/v1/settings/sysadmin/forward-blacklist").then((function(n){v=n.data.forwardBlacklists}),(function(n){v={}}))}()),t.push(function(){return n.get("~/api/v1/settings/sysadmin/priority-overrides").then((function(n){S=n.data.priorityOverrides||[]}),(function(n){S=[]}))}()),t.push(B()),e.all(t).then((function(){g=!0,o.resolve()}),(function(n){o.reject(n)})).finally((function(){s.setSortingFilteringParam("system","doLogout",void 0),sessionStorage.rememberMe="false",o=null})),i},u.reset=function(){g=!1,O={},b=!1,w={},L=!1,I={},R=!1,f=[],_={},x=!1,P={},T=!1,D={},E=!1,N={},!1},u.saveGlobalMailSettings=function(i){if(!i)return e.when();var t=JSON.stringify({globalMailSettings:i});return n.post("~/api/v1/settings/sysadmin/global-mail/",t)},u.saveCompanyInfo=function(i){if(!i)return e.when();var t=JSON.stringify({companyInfo:i});return n.post("~/api/v1/companyinfo",t)},u.addSystemAdministrator=function(i,t){var s=JSON.stringify({systemLogin:i,confirmPassword:t}),r=e.defer();return n.post("~/api/v1/settings/sysadmin/login-post",s).then((function(n){l.push(n.data.systemLogin),r.resolve(n.data.systemLogin)}),(function(n){r.reject(n)})),r.promise},u.editSystemAdministrator=function(e,i){var t=JSON.stringify({systemLogin:e,confirmPassword:i});return n.post("~/api/v1/settings/sysadmin/login",t).then((function(){var n=$.grep(l,(function(n){return e.id===n.id}));if(n.length>0){var i=l.indexOf(n[0]);i>-1&&(l[i]=e)}}),a.report)},u.addSystemMessage=function(i){if(!i)return e.when();var t=JSON.stringify(i);return n.post("~/api/v1/settings/sysadmin/system-message-new",t).then((function(){p.push(i)}))},u.saveSystemMessage=function(i){if(!i)return e.when();var t=JSON.stringify(i);return n.post("~/api/v1/settings/sysadmin/system-message",t).then((function(){var n=$.grep(p,(function(n){return n.key===i.key&&n.localeId===i.localeId}));if(n.length>0){var e=p.indexOf(n[0]);e>-1&&(p[e]=i)}}))},u.saveIpAddressBinding=function(i){if(!i)return e.when();var t=JSON.stringify({bindingInfo:[i]});return n.post("~/api/v1/settings/sysadmin/ip-binding-info",t).then((function(){var n=$.grep(m.bindingInfo,(function(n){return n.ipAddress===i.ipAddress}));if(n.length>0){var e=m.bindingInfo.indexOf(n[0]);e>-1&&(m.bindingInfo[e]=i)}}))},u.savePortInfo=function(e,i,t){var s={};e&&(s.bindingPorts=[e]);i&&(s.toAdd=[i]);t&&(s.toRemove=t);return s=JSON.stringify(s),n.post("~/api/v1/settings/sysadmin/ip-binding-ports",s).then((function(n){if(e){var s=$.grep(m.bindingPorts,(function(n){return n.id===e.id}));if(s.length>0){var r=m.bindingPorts.indexOf(s[0]);r>-1&&(m.bindingPorts[r]=e)}}t&&angular.isArray(t)&&(m.bindingPorts=$.grep(m.bindingPorts,(function(n){return t.indexOf(n.id)>-1}),!0)),i&&n.data.bindingPorts&&(m.bindingPorts=m.bindingPorts.concat(n.data.bindingPorts))}))},u.saveForwardingBlacklist=function(e,i){var t=JSON.stringify({forwardBlacklists:e,toRemove:i});return n.post("~/api/v1/settings/sysadmin/forward-blacklist",t).then((function(n){e&&(v=e),i&&angular.forEach(i,(function(n){var e=v.indexOf(n);e>-1&&v.splice(e,1)}))}))},u.saveSenderPriorityOverride=function(e,i,t){if(!i||!t&&!e)return;var s=JSON.stringify({priorityOverride:i});return t?n.post("~/api/v1/settings/sysadmin/priority-override-put",s).then((function(){S.push(i)})):n.post("~/api/v1/settings/sysadmin/priority-override/"+e,s).then((function(){var n=$.grep(S,(function(n){return n.address===e}));if(n.length>0){var t=S.indexOf(n[0]);t>-1&&(S[t]=i)}}))},u.deleteSenderPriorityOverride=function(e){if(!angular.isArray(e))return;var i=JSON.stringify({addresses:e});return n.post("~/api/v1/settings/sysadmin/priority-overrides/delete",i).then((function(){angular.forEach(e,(function(n){var e=$.grep(S,(function(e){return e.address===n}));if(e.length>0){var i=S.indexOf(e[0]);i>-1&&S.splice(i,1)}}))}))},u.saveMessageArchiving=function(e,i,t){for(var s=0;s<e.length;++s)if("ALL_DOMAINS"===e[s].domain){e[s].domain="GlobalStrings.AllDomains";break}var r=JSON.stringify({rules:e,toAdd:i,toRemove:t});return n.post("~/api/v1/settings/sysadmin/domain-archive-rules",r).then((function(n){angular.isArray(i)&&(A=A.concat(i)),angular.isArray(e)&&(angular.forEach(e,(function(n){"GlobalStrings.AllDomains"===n.domain&&(n.domain="ALL_DOMAINS");var e=$.grep(A,(function(e){return e.domain===n.domain}));if(e.length>0){var i=A.indexOf(e[0]);i>-1&&A.splice(i,1)}})),A=A.concat(e)),angular.isArray(t)&&angular.forEach(t,(function(n){var e=$.grep(A,(function(e){return e.domain===n}));if(e.length>0){var i=A.indexOf(e[0]);i>-1&&A.splice(i,1)}}))}))},u.removeFailoverClusterNode=function(i){if(!angular.isArray(i))return e.when();var t=JSON.stringify({ips:i});return n.post("~/api/v1/settings/sysadmin/delete-failover-nodes",t).then((function(){angular.forEach(i,(function(n){var e=$.grep(f.failoverClusterSettings.failoverNodes||[],(function(e){return e.ipAddress===n}));if(e.length>0){var i=f.failoverClusterSettings.failoverNodes.indexOf(e[0]);i>-1&&f.failoverClusterSettings.failoverNodes.splice(i,1)}}))}))},u.showingMessageReindexMessageRef=void 0,u.isMessageArchiveReindexRunning=function(n){return M.indexOf(n)>-1},u.showingMessageReindexMessageTimer=0,u.loadDomainArchiveRules=B,window.addEventListener("storage",(function(n){s.getSortingFilteringParam("system","doLogout")&&(s.setSortingFilteringParam("system","doLogout",void 0),t.$broadcast("signalR.mailHub.client.logout",{}))})),setTimeout((()=>{t.$on("signalR.mailHub.client.messageArchiveReindex",(function(n,e){u.showingMessageReindexMessageRef||e.finished||(u.showingMessageReindexMessageRef=r.pop("info",i.instant("MESSAGE_ARCHIVE_REINDEXING_TOOLTIP"),"",0)),e.finished||-1!==M.indexOf(e.archivePath)||M.push(e.domain),u.showingMessageReindexMessageTimer>0&&clearTimeout(u.showingMessageReindexMessageTimer),e.finished?(u.showingMessageReindexMessageRef&&(r.clear(u.showingMessageReindexMessageRef),clearTimeout(u.showingMessageReindexMessageTimer),u.showingMessageReindexMessageRef=void 0),M.indexOf(e.archivePath)>-1&&M.splice(M.indexOf(e.domain))):u.showingMessageReindexMessageTimer=setTimeout((()=>{u.showingMessageReindexMessageRef&&(r.clear(u.showingMessageReindexMessageRef),u.showingMessageReindexMessageRef=void 0)}),2e4)}))}),500)}n.$inject=["$http","$q","$translate","$rootScope","preferencesStorage","toaster","errorHandling"],angular.module("smartermail").service("coreDataSysAdminSettings",n)}();
326!function(){"use strict";function e(e,t,i,s,n,a,d,o,r,l,m,g){var c=this;function S(e,t){var i=t?"spamfoo-dashboard/"+encodeURIComponent(t)+"/":"spamfoo-dashboard/",s=(stSiteRoot||"/")+i;window.open(s+"?token="+encodeURIComponent(e),"SpamFooDashboard_"+(t||"local"),"width=1200,height=800,resizable=1")}c.isInitialized=!1,c.isEnterprise=!1,c.activesyncEnabled=!1,c.adminSections=[],c.haNodeId=window.stHAID||null,n.init().then((function(){window.stHA&&n.highAvailabilityId().then((function(e){c.haNodeId=e||c.haNodeId}),l.report),a.init().then((function(){d.init().then((function(){c.isInitialized=!0,c.isEnterprise=a.Data.Licensing.enterpriseFunctionality,c.activesyncEnabled=a.Data.Licensing.services.activesync.enabled,c.isFailoverEnabled=d.settings.globalMailSettings.failoverEnabled,window.stHA?c.adminSections=[{title:"ADMINISTRATORS",sref:"index.sysadmin-settings.system-administrators"},{title:"EVENTS",sref:"index.sysadmin-settings.events({page: 'events'})"}
326,{title:"GENERAL",sref:"index.sysadmin-settings.general-settings"},{title:"SYSTEM_MESSAGES",sref:"index.sysadmin-settings.system-messages"},{title:"VOLUME_MOUNTS",sref:"index.sysadmin-settings.mounts"},{type:"divider"},{title:"ANTI_SPAM",sref:"index.sysadmin-settings.antispam"},{type:"divider"},{title:"OTHER_PROTOCOLS",sref:"index.sysadmin-settings.protocol-settings"},{title:"SMTP_OUT",sref:"index.sysadmin-settings.smtp-out"},{type:"divider"},{title:"DELIVERY_LIMITS",sref:"index.sysadmin-settings.delivery-limits"},{type:"divider"},{title:"Diagnostics",sref:"index.sysadmin-settings.diagnostics"}]:c.adminSections=[{title:"ADMINISTRATORS",sref:"index.sysadmin-settings.system-administrators"},{title:"EVENTS",sref:"index.sysadmin-settings.events({page: 'events'})"},{title:"GENERAL",sref:"index.sysadmin-settings.general-settings"},{title:"LICENSING",sref:"index.sysadmin-settings.activation"},{title:"SYSTEM_MESSAGES",sref:"index.sysadmin-settings.system-messages"},{title:"VOLUME_MOUNTS",sref:"index.sysadmin-settings.mounts"},{type:"divider"},{title:"ANTI_SPAM",sref:"index.sysadmin-settings.antispam"},{title:"ANTIVIRUS",sref:"index.sysadmin-settings.antivirus"},{title:"SECURITY",sref:"index.sysadmin-settings.security"},{type:"divider"},{title:"BINDINGS",sref:"index.sysadmin-settings.bindings"},{title:"OTHER_PROTOCOLS",sref:"index.sysadmin-settings.protocol-settings"},{title:"SMTP_IN",sref:"index.sysadmin-settings.smtp-in"},{title:"SMTP_OUT",sref:"index.sysadmin-settings.smtp-out"},{title:"SSL_TLS_CERTIFICATES",sref:"index.sysadmin-settings.ssl-certificates"},{type:"divider"},{title:"DELIVERY_LIMITS",sref:"index.sysadmin-settings.delivery-limits"},{title:c.isFailoverEnabled?"GATEWAYS_FAILOVER":"GATEWAYS",sref:"index.sysadmin-settings.gateways"},{title:"ROUTING_RULES",sref:"index.sysadmin-settings.routing-rules"},{type:"divider"},{title:"Diagnostics",sref:"index.sysadmin-settings.diagnostics"}]}),l.report)}),l.report)}),l.report),e.$on("locale:changed",(function(){i((function(){location.reload()}))})),c.openAPIDocs=function(){window.open(stSiteRoot+"Documentation/api")},c.openSpamFooDashboard=function(e){var t=g.getToken(!0);if(!t)return;if(!window.stHA)return void S(t,null);var i=e||c.haNodeId;if(i)return void S(t,i);n.highAvailabilityId().then((function(e){e?(c.haNodeId=e,S(t,e)):o.pop("error","","Unable to determine the HA node for the SpamFoo dashboard.")}),l.report)},c.enableSpamfoo=window.stEnableSpamfoo,c.spamFooActive=window.stSpamFooActive,e.treeExpanded=m.isExpanded,e.$on("treeState:stateChange",(function(t,s){e.treeExpanded=s.expanded,i((function(){$(window).trigger("resize")}),300)}))}e.$inject=["$scope","$filter","$timeout","$mdDialog","coreData","coreDataLicensing","coreDataSysAdminSettings","toaster","claimsService","errorHandling","treeState","authStorage"],angular.module("smartermail").controller("adminSettingsMainController",e)}();
327!function(){"use strict";function r(r,a,n){var t=this;t.name="",t.color="#C6DE70",t.save=async function(o,e){if(""===t.name)return;if(e.$invalid)return;try{const n={folder:t.name,color:t.color},o=await a.post("~/api/v1/tasks/sources/add",n);t.id=o.data.id,r.hide()}catch(r){n.report(r)}},t.cancel=function(){r.cancel()}}r.$inject=["$mdDialog","$http","errorHandling"],angular.module("smartermail").controller("createTaskFolderController",r)}();
328!function(){"use strict";function s(s,e,r,i,a,n,o,t,u,p,m){var c=this;function d(){c.ignoreNameWatch?c.ignoreNameWatch=!1:""===c.name?c.isNameValid=!1:c.isNameValid=!0}function l(){u.settingsData.userGroups.then((function(s){c.userGroups.push({name:i.instant("SELECT_A_GROUP"),id:void 0,selectText:!0}),c.userGroups.push({name:i.instant("EVERYONE"),id:-1,isEveryone:!0}),c.userGroups.push({name:i.instant("SHARED_RESOURCES_ADMIN"),id:-2,isAdmins:!0});var e=$.extend(!0,[],s).sort((function(s,e){var r=s.name.toLowerCase(),i=e.name.toLowerCase();return r<i?-1:r>i?1:0}));c.userGroups=c.userGroups.concat(e),c.groupPermissions.length>0&&angular.forEach(c.groupPermissions,(function(s){for(var e=0;e<c.userGroups.length;e++){if(c.userGroups[e].isEveryone&&s.isEveryone){s.group=c.userGroups[e];break}if(c.userGroups[e].isAdmins&&s.isAdmins){s.group=c.userGroups[e];break}if(s.group&&c.userGroups[e].id===s.group.id){s.group=c.userGroups[e];break}}})),c.groupPermissions.push({access:4,group:c.userGroups[0]})}))}c.newItem=!n,c.isCalendarView=o||!1,c.owner=n?n.owner?n.owner:p.user.domain:p.user.username,c.isOwner=c.owner.toLowerCase()===p.user.username.toLowerCase(),c.isShareable=c.isOwner,c.name=n?n.displayName?i.instant(n.displayName):n.name:"",c.originalName=c.name,c.isPrimary=!!n&&n.isPrimary,c.origIsPrimary=c.isPrimary,c.permission=n?n.access||n.permission:8,c.access=r
328("translate")("MAPPED_RESOURCES_ACCESS_"+c.permission),c.id=n?n.id||n.itemID:null,c.type=n&&n.shareType||"Tasks",c.galEnabled=t.user.settings.features.enableGlobalAddressList,c.selectedItem=[],c.color=n?n.color:"#C6DE70",c.ignoreNameWatch=!0,c.isNameValid=!0,c.queryUsers=u.queryUsers,c.save=async function(s,r){if(!c.isValid())return;if(r.$invalid)return;try{const s={folder:c.name,uid:c.id,color:c.color};if(c.isOwner){if(c.newItem){const e=await a.post("~/api/v1/tasks/sources/add",s);c.id=e.data.id}else await a.post("~/api/v1/tasks/sources/edit",s);c.isShareable&&await async function(){c.userPermissions.pop(),c.groupPermissions=c.groupPermissions.filter((s=>s.group&&!s.group.selectText)),c.groupPermissions=c.groupPermissions.map((function(s){return s.group&&s.group.isEveryone?(s.group=void 0,s.isEveryone=!0):s.group&&s.group.isAdmins?(s.group=void 0,s.isAdmins=!0):(s.isAdmins=!1,s.isEveryone=!1),s}));var s=c.userPermissions.concat(c.groupPermissions),e={shareUsers:s,sharingItem:c.type,shareID:c.id},r=s.length;await a.post("~/api/v1/settings/share-item",e),u.addPermissions(c.type,c.id,r),s=[],angular.forEach(c.originalShareUsers,(function(e){var r=!1;if(e.user){for(var i=0;i<c.userPermissions.length;i++)if(c.userPermissions[i].user.emailAddress===e.user.emailAddress){r=!0;break}}else for(var a=0;a<c.groupPermissions.length;a++){if(c.groupPermissions[a].isEveryone&&e.isEveryone){r=!0;break}if(c.groupPermissions[a].isAdmins&&e.isAdmins){r=!0;break}if(e.group&&c.groupPermissions[a].group&&c.groupPermissions[a].group.id===e.group.id){r=!0;break}}r||s.push(e)})),e={shareUsers:s,sharingItem:c.type,shareID:c.id};var i=s.length;await a.post("~/api/v1/settings/share-users-delete",JSON.stringify(e)),u.removePermissions(c.type,c.id,i)}()}e.hide()}catch(s){m.report(s)}},c.delete=async function(s){if(c.isPrimary)return;try{const i=e.confirmDeletion().htmlContent(r("translate")("CONFIRMATIONS_DELETE_FOLDER",{name:c.name})).targetEvent(s);await e.show(i)}catch(s){return}try{const s={folder:c.name,uid:c.id};await a.post("~/api/v1/tasks/sources/delete",s),e.hide()}catch(s){m.report(s)}},c.detach=async function(){try{var s={ownerUsername:n.owner,shareType:c.type,itemID:c.id};await a.post("~/api/v1/settings/disconnect-from-share",JSON.stringify({shareConnectorData:[s]})),e.hide({detached:!0})}catch(s){m.report(s)}},c.cancel=function(){e.cancel()},c.onEmailChanged=function(s,e,r){var i=r["email"+e].$viewValue;i&&i.length>0&&s&&c.userPermissions.push({access:4,user:{emailAddress:""}})},c.onEmailBlurred=function(s,e,r){var i=r["email"+e].$viewValue;i&&0!==i.length||s||(c.selectedItem.splice(e,1),c.userPermissions.splice(e,1))},c.removeUser=function(s,e){c.selectedItem.splice(s,1),c.userPermissions.splice(s,1),e.$setDirty()},c.onGroupChanged=function(s){s&&c.groupPermissions.push({access:4,group:c.userGroups[0]})},c.removeGroup=function(s,e){c.groupPermissions.splice(s,1),e.$setDirty()},c.isValid=()=>c.isNameValid,function(){if(c.isShareable||0===c.id)c.userPermissions=[],c.groupPermissions=[],c.userGroups=[],c.originalShareUsers=[],n?a.post("~/api/v1/settings/share-users/",{sharingItem:c.type,shareID:c.id}).then((function(s){c.originalShareUsers=$.extend(!0,[],s.data.shareUsers),angular.forEach(s.data.shareUsers,(function(s){s.user?c.userPermissions.push(s):c.groupPermissions.push(s)})),c.userPermissions.push({access:4,user:{emailAddress:""}}),l()}),m.report):(c.userPermissions.push({access:4,user:{emailAddress:""}}),l())}(),s.$watch("name",d)}s.$inject=["$scope","$mdDialog","$filter","$translate","$http","source","isCalendarView","coreData","coreDataSettings","userDataService","errorHandling"],angular.module("smartermail").controller("editTaskFolderController",s)}();
329!function(){"use strict";function e(e,r,n,a,o,t){var i=this;i.owner=a?a.owner?a.owner:o.user.domain:o.user.username,i.isOwner=i.owner.toLowerCase()===o.user.username.toLowerCase(),i.name=a?a.displayName?r.instant(a.displayName):a.name:"",i.id=a?a.id||a.itemID:null,i.color=a?a.color:"#C6DE70",i.save=async function(r,a){if(""===i.name)return;if(a.$invalid)return;try{const r={folder:i.name,uid:i.id,color:i.color};await n.post("~/api/v1/tasks/sources/edit",r),e.hide()}catch(e){t.report(e)}},i.cancel=function(){e.cancel()}}e.$inject=["$mdDialog","$translate","$http","source","userDataService","errorHandling"],angular.module("smartermail").controller("renameTaskFolderController",e)}();
330!function(){"use strict";function s(s,e,r,i,a,n,o,t,u,p,m){var c=this;function d(){c.ignoreNameWatch?c.ignoreNameWatch=!1:""===c.name?c.isNameValid=!1:c.isNameValid=!0}function l(){u.settingsData.userGroups.then((function(s){c.userGroups.push({name:i.instant("SELECT_A_GROUP"),id:void 0,selectText:!0}),c.userGroups.push({name:i.instant("EVERYONE"),id:-1,isEveryone:!0}),c.userGroups.push({name:i.instant("SHARED_RESOURCES_ADMIN"),id:-2,isAdmins:!0});var e=$.extend(!0,[],s).sort((function(s,e){var r=s.name.toLowerCase(),i=e.name.toLowerCase();return r<i?-1:r>i?1:0}));c.userGroups=c.userGroups.concat(e),c.groupPermissions.length>0&&angular.forEach(c.groupPermissions,(function(s){for(var e=0;e<c.userGroups.length;e++){if(c.userGroups[e].isEveryone&&s.isEveryone){s.group=c.userGroups[e];break}if(c.userGroups[e].isAdmins&&s.isAdmins){s.group=c.userGroups[e];break}if(s.group&&c.userGroups[e].id===s.group.id){s.group=c.userGroups[e];break}}})),c.groupPermissions.push({access:4,group:c.userGroups[0]})}))}c.newItem=!n,c.isCalendarView=o||!1,c.owner=n?n.owner?n.owner:p.user.domain:p.user.username,c.isOwner=c.owner.toLowerCase()===p.user.username.toLowerCase(),c.isShareable=c.isOwner,c.name=n?n.displayName?i.instant(n.displayName):n.name:"",c.originalName=c.name,c.isPrimary=!!n&&n.isPrimary,c.origIsPrimary=c.isPrimary,c.permission=n?n.access||n.permission:8,c.access=r
330("translate")("MAPPED_RESOURCES_ACCESS_"+c.permission),c.id=n?n.id||n.itemID:null,c.type=n&&n.shareType||"Tasks",c.galEnabled=t.user.settings.features.enableGlobalAddressList,c.selectedItem=[],c.color=n?n.color:"#C6DE70",c.ignoreNameWatch=!0,c.isNameValid=!0,c.queryUsers=u.queryUsers,c.save=async function(s,r){if(!c.isValid())return;if(r.$invalid)return;try{const s={folder:c.name,uid:c.id,color:c.color};if(c.isOwner){if(c.newItem){const e=await a.post("~/api/v1/tasks/sources/add",s);c.id=e.data.id}else await a.post("~/api/v1/tasks/sources/edit",s);c.isShareable&&await async function(){c.userPermissions.pop(),c.groupPermissions=c.groupPermissions.filter((s=>s.group&&!s.group.selectText)),c.groupPermissions=c.groupPermissions.map((function(s){return s.group&&s.group.isEveryone?(s.group=void 0,s.isEveryone=!0):s.group&&s.group.isAdmins?(s.group=void 0,s.isAdmins=!0):(s.isAdmins=!1,s.isEveryone=!1),s}));var s=c.userPermissions.concat(c.groupPermissions),e={shareUsers:s,sharingItem:c.type,shareID:c.id},r=s.length;await a.post("~/api/v1/settings/share-item",e),u.addPermissions(c.type,c.id,r),s=[],angular.forEach(c.originalShareUsers,(function(e){var r=!1;if(e.user){for(var i=0;i<c.userPermissions.length;i++)if(c.userPermissions[i].user.emailAddress===e.user.emailAddress){r=!0;break}}else for(var a=0;a<c.groupPermissions.length;a++){if(c.groupPermissions[a].isEveryone&&e.isEveryone){r=!0;break}if(c.groupPermissions[a].isAdmins&&e.isAdmins){r=!0;break}if(e.group&&c.groupPermissions[a].group&&c.groupPermissions[a].group.id===e.group.id){r=!0;break}}r||s.push(e)})),e={shareUsers:s,sharingItem:c.type,shareID:c.id};var i=s.length;await a.post("~/api/v1/settings/share-users-delete",JSON.stringify(e)),u.removePermissions(c.type,c.id,i)}()}e.hide()}catch(s){m.report(s)}},c.delete=async function(s){if(c.isPrimary)return;try{const i=e.confirmDeletion().htmlContent(r("translate")("CONFIRMATIONS_DELETE_FOLDER",{name:c.name})).targetEvent(s);await e.show(i)}catch(s){return}try{const s={folder:c.name,uid:c.id};await a.post("~/api/v1/tasks/sources/delete",s),e.hide()}catch(s){m.report(s)}},c.detach=async function(){try{var s={ownerUsername:n.owner,shareType:c.type,itemID:c.id};await a.post("~/api/v1/settings/disconnect-from-share",JSON.stringify({shareConnectorData:[s]})),e.hide({detached:!0})}catch(s){m.report(s)}},c.cancel=function(){e.cancel()},c.onEmailChanged=function(s,e,r){var i=r["email"+e].$viewValue;i&&i.length>0&&s&&c.userPermissions.push({access:4,user:{emailAddress:""}})},c.onEmailBlurred=function(s,e,r){var i=r["email"+e].$viewValue;i&&0!==i.length||s||(c.selectedItem.splice(e,1),c.userPermissions.splice(e,1))},c.removeUser=function(s,e){c.selectedItem.splice(s,1),c.userPermissions.splice(s,1),e.$setDirty()},c.onGroupChanged=function(s){s&&c.groupPermissions.push({access:4,group:c.userGroups[0]})},c.removeGroup=function(s,e){c.groupPermissions.splice(s,1),e.$setDirty()},c.isValid=()=>c.isNameValid,function(){if(c.isShareable||0===c.id)c.userPermissions=[],c.groupPermissions=[],c.userGroups=[],c.originalShareUsers=[],n?a.post("~/api/v1/settings/share-users/",{sharingItem:c.type,shareID:c.id}).then((function(s){c.originalShareUsers=$.extend(!0,[],s.data.shareUsers),angular.forEach(s.data.shareUsers,(function(s){s.user?c.userPermissions.push(s):c.groupPermissions.push(s)})),c.userPermissions.push({access:4,user:{emailAddress:""}}),l()}),m.report):(c.userPermissions.push({access:4,user:{emailAddress:""}}),l())}(),s.$watch("name",d)}s.$inject=["$scope","$mdDialog","$filter","$translate","$http","source","isCalendarView","coreData","coreDataSettings","userDataService","errorHandling"],angular.module("smartermail").controller("shareTaskFolderController",s)}();
331!function(){"use strict";function r(r,e,n,o,t,c,i){var u=this;function s(r){return JSON.stringify({source:r.owner,fileId:r.folderId})}r.isProcessing=!1,r.sources=$.grep(c.getSources(),(function(r){return r})),u.currentSource=r.sources[0],r.uploaderData=s(u.currentSource),u.onSourceChange=function(){r.uploaderData=s(u.currentSource)},r.uploaderInit=function(e){r.uploaderFunctions=e},r.importFile=function(n,o){r.isProcessing=!1,e.hide()},r.uploadFailed=function(e,n){r.isProcessing=!1,n&&"IMPORTING_IN_PROGRESS"===n.message?i.warn("IMPORTING_IN_PROGRESS"):i.report("ERROR_UPLOADING"),r.uploaderFunctions.reset()},r.done=function(){r.isProcessing=!0,r.uploaderFunctions.startUpload()},r.cancel=function(){e.cancel()}}r.$inject=["$scope","$mdDialog","$q","$timeout","$translate","coreDataTasks","errorHandling"],angular.module("smartermail").controller("taskImportDialogController",r)}();
332!function(){"use strict";function o(o,e,n,r){o.outlookVersionOptions=[],o.outlookVersionOptions.push({version:"3.0",name:n("translate")("OUTLOOK_2007_OR_LATER")}),o.outlookVersionOptions.push({version:"1.0",name:n("translate")("OUTLOOK_2003")}),o.currentVersion=o.outlookVersionOptions[0],o.sources=r.getSources().filter((o=>!o.isDomainResource)),o.currentSource=o.sources[0],o.done=function(){var n={outlookVersion:o.currentVersion.version,source:o.currentSource,displayName:o.displayName};e.hide(n)}.bind(this),o.cancel=function(){e.cancel()}}o.$inject=["$scope","$mdDialog","$filter","coreDataTasks"],angular.module("smartermail").controller("taskOutlookDialogController",o)}();
333!function(){"use strict";function t(t,e,a,s,r,n,o,c,i,u,l,h,m,d,f,p,g,v,R,D){var I,P=this;function w(){if(P.searchID){var t=P.searchID,e=0,s=0;a.get("~/api/v1/chat/history-search/"+t+"/"+e+"/"+s).then((function(t){P.searchResultCount=t.data.searchResults.totalItems,P.percentProgress=t.data.searchResults.percentProgress,P.percentProgress<100?r((function(){w()}),1e3):P.percentProgress>=100&&0===P.searchResultCount&&(P.noResults=!0);
333var e=(P.tableParams.page()-1)*P.tableParams.count()+1;(P.percentProgress>=100||P.searchResultCount-e>25&&P.searchResults.length<P.tableParams.count())&&(P.tableParams.reload(),P.showingResults=!0,P.noResults=!1)}),(function(t){R.report(o.instant(t.data.message))}))}}P.searchResults=[],e.startDate=moment().local().subtract(7,"d").toDate(),e.endDate=moment().local().toDate(),e.aliasOptions=[],P.percentProgress=100,P.showingResults=!0,g.init().then((function(){P.hasLoaded=!0}),(function(){})),P.tableParams=new f({sorting:{from:"asc"},count:25},{getData:function(t){if(!P.searchID)return;var e={searchID:P.searchID,startIndex:(t.page()-1)*t.count(),count:t.count()};return a.get("~/api/v1/chat/history-search/"+e.searchID+"/"+e.startIndex+"/"+e.count).then((function(e){P.searchResults=e.data.searchResults.results;for(var a=0;a<P.searchResults.length;++a){var s=P.searchResults[a];s.previewText=$(i("<div>"+s.previewText+"</div>")).text()}return P.searchResultCount=e.data.searchResults.totalItems,t.total(P.searchResultCount),P.searchResults}),(function(t){R.report(o.instant(t.data.message))}))},counts:t.commonTableCounts}),P.queryUsers=function(t){var r=s.defer();return a.get("~/api/v1/settings/search-users/"+t).then((function(a){var s=a.data.userData.map((function(t){return{userName:t.userName,emailAddress:t.emailAddress,fullName:t.fullName}}));s=s.concat(e.aliasOptions.filter((function(e){return e.toLowerCase().indexOf(t.toLowerCase())>-1})).map((function(t){return{userName:t,emailAddress:"",fullName:""}}))),r.resolve(s)}),(function(t){r.resolve([])})),r.promise},P.editItem=function(t,a){var s=moment(t.date).startOf("day").toISOString(),r=moment(t.date).endOf("day").toISOString();window.open(window.location.href.replace("/settings/domain/domain-chat-search","/popout/chat-search/transcript/"+e.from+"/"+encodeURIComponent(t.chatId)+"/"+s+"/"+r),"","resizable=1, "+D.dimensions.transcript)},P.searchItems=function(){var t={searchArgs:{from:e.from,startDateUtc:e.startDate,endDateUtc:e.endDate,text:e.text,to:e.to}};a.post("~/api/v1/chat/history-search",JSON.stringify(t)).then((function(t){P.showingResults=!1,P.tableParams,P.searchResults=[],P.searchID=t.data.result,w()}),R.report)},I=[a.get("~/api/v1/settings/domain/aliases/"+p.user.username+"/")],s.all(I).then((function(t){e.aliasOptions=$.map(t[0].data.gridInfo,(function(t){return t.name}))}))}t.$inject=["$rootScope","$scope","$http","$q","$timeout","$filter","$translate","$compile","$sanitize","authStorage","$sce","$log","$mdDialog","$mdMedia","NgTableParams","userDataService","coreData","coreDataSettings","errorHandling","popupService"],angular.module("smartermail").controller("chatHistorySearchController",t)}();
334!function(){"use strict";function t(t,e,r,n,a,i){var s=this;s.chatTranscript="",n.init().then((function(){s.hasLoaded=!0,o()}),(function(){})),s.isDifferentTime=function(t,e){return!t||!e||(t.toDateString()!=e.toDateString()||(t.getHours()!=e.getHours()||t.getMinutes()!=e.getMinutes()))};var o=function(){i.ensureActivated(),"undefined"===r.text&&(r.text=""),"undefined"===r.to&&(r.to="");var o={startDateUtc:new Date(r.dtStart),endDateUtc:new Date(r.dtStop)};t.spinner.show(),e.post("~/api/v1/chat/history-transcript/"+r.username+"/"+r.id,JSON.stringify(o)).then((function(t){s.chatTranscript=t.data.result;for(var e=0;e<s.chatTranscript.length;++e){var r=s.chatTranscript[e];r.date=new Date(r.date),r.from!==n.user.username&&r.from!==n.user.displayName&&r.from!==n.user.emailAddress||(r.isMe=!0)}}),a.report).finally(t.spinner.hide)}}t.$inject=["$rootScope","$http","$stateParams","coreData","errorHandling","themesService"],angular.module("smartermail").controller("chatHistoryTranscriptController",t)}();
335!function(){"use strict";function e(e,t,n,r,i,a,s,l,o,c,f,d,u,g,h,p,m){var T=this,A=m.create(t);function N(){console.log("initialize conditions"),console.log(""+T.filter.filters),angular.forEach(T.filter.filters,(function(e,t){e.$$index=t,e.executionOrder=t+1})),T.conditionsTableParams.settings({dataset:T.filter.filters}),T.conditionsCheckboxes.reset(),T.conditionsTableParams.reload()}function E(){console.log("initialize actions"),console.log(""+T.filter.actions),angular.forEach(T.f
335ilter.actions,(function(e,t){e.$$index=t,e.executionOrder=t+1})),T.actionsTableParams.settings({dataset:T.filter.actions}),T.actionsCheckboxes.reset(),T.actionsTableParams.reload()}function y(){T.gridSections[1].length=T.filter.filters.length,T.gridSections[2].length=T.filter.actions.length}function C(){const e=new Map([[12,"CONTENT_FILTERING_TYPES_TO_USER"],[13,"CONTENT_FILTERING_TYPES_NAME_TO_DOMAIN"],[15,"CONTENT_FILTERING_TYPES_NAME_TO_CC_DOMAIN"]]);T.filterTypes=T.filterTypes.map((function(t){return e.has(t.id)?Object.assign({},t,{translate:o.instant(e.get(t.id))}):t})),n.get("~/api/v1/settings/domain/content-filter-groups").then((function(e){T.folders=[],T.filter=null,T.contentFilters=e.data.contentFilterGroups||[];var t=0;angular.forEach(T.contentFilters,(function(e){e.id===T.filterId&&(T.filter=e),t<e.order&&(t=e.order)})),T.filter||(T.filter={actions:[],filters:[],internalType:0,matchType:0,title:null,isEnabled:!0});var n=T.filter.filters;n&&n.length>0&&(n=n.sort(((e,t)=>t.executionOrder-e.executionOrder)));T.filter.filters=n||[],T.filter.filters=T.filter.filters||[],T.filter.actions=T.filter.actions||[],T.filter.isEnabled=T.filter.isEnabled??!0,T.enableWildcard=!1,T.matchAllMessages=T.filter.matchAllMessages??!0,angular.forEach(T.filter.filters,(function(e){e.isWildcard&&(T.enableWildcard=!0)})),"new"===T.filterId&&(T.filter.order=t+1);E(),N(),y(),T.initialized=!0,T.loading=!1,A.wait((function(){T.contentReady=!0}))}),f.report)}function v(t,r){if(r.$valid){var i;if(T.filter.matchAllMessages=T.matchAllMessages??!0,angular.forEach(T.filter.filters,(function(e){e.isWildcard=T.enableWildcard})),angular.forEach(T.filter.actions,(function(e){if(4===e.actionType)for(var t=0;t<T.folders.length;t++)T.folders[t].translatedPath==e.argument&&(e.argument=T.folders[t].name)})),"new"===T.filterId){if($.grep(T.contentFilters,(function(e){return e.title.toUpperCase()===T.filter.title.toUpperCase()})).length>0)return void f.report(o.instant("CONTENT_FILTERING_NAME_IN_USE",{title:T.filter.title}));i=JSON.stringify({toAdd:[T.filter]})}else i=JSON.stringify({contentFilterGroups:[T.filter]});n.post("~/api/v1/settings/domain/content-filter-groups",i).then((function(t){if(!t.data.success)return void f.report(t);"new"===T.filterId&&t.data.iDs.length>0&&(T.filterId=t.data.iDs[0].id,T.filter.id=T.filterId,T.gridSections[1].disabled=!1,T.gridSections[2].disabled=!1);r.$setPristine(),e.$broadcast("user-settings:changed")}),f.report)}}T.loading=!0,T.contentReady=!1,T.filterId=parseInt(s.params.contentfilterid,10)||"new",T.filter=null,T.filterTypes=c.filterTypes,T.matchTypes=c.matchTypes,T.actionTypes=c.actionTypes,T.folders=null,T.contentFilters=[],T.initialized=!1,T.save=function(t,r){if(!r.$valid)return;var i;if(T.filter.matchAllMessages=T.matchAllMessages??!0,angular.forEach(T.filter.filters,(function(e){e.isWildcard=T.enableWildcard})),angular.forEach(T.filter.actions,(function(e){if(4===e.actionType)for(var t=0;t<T.folders.length;t++)T.folders[t].translatedPath==e.argument&&(e.argument=T.folders[t].name)})),"new"===T.filterId){if($.grep(T.contentFilters,(function(e){return e.title.toUpperCase()===T.filter.title.toUpperCase()})).length>0)return void f.report(o.instant("CONTENT_FILTERING_NAME_IN_USE",{title:T.filter.title}));i=JSON.stringify({toAdd:[T.filter]})}else i=JSON.stringify({contentFilterGroups:[T.filter]});n.post("~/api/v1/settings/domain/content-filter-groups",i).then((function(t){t.data.success?"new"===T.filterId&&t.data.iDs.length>0?(T.filterId=t.data.iDs[0].id,T.filter.id=T.filterId,T.gridSections[1].disabled=!1,T.gridSections[2].disabled=!1,r.$setPristine(),e.$broadcast("user-settings:changed")):(r.$setPristine(),e.$broadcast("user-settings:changed"),s.go("^")):f.report(t)}),f.report)},T.deleteThis=function(e){if("new"===T.filterId)return void s.go("^");var t=a.confirmDeletion().textContent(i("translate")("CONFIRMATIONS_DELETE_ITEMS_one")).targetEvent(e);a.show(t).then((function(){var e=JSON.stringify({toRemove:[T.filter.id]});n.post("~/api/v1/settings/domain/content-filter-groups",e).then((function(){T.skipNavigateConfirm=!0,s.go("^")}),f.report)}),(function(){}))},T.addCondition=function(e,t){a.show({locals:{newRule:!0,filterId:-1,ruleTypes:angular.copy(c.filterTypes),ruleCategories:angular.copy(c.filterCategories),oldRule:{applyLogicalNot:!1,fieldType:-1,filterType:2,isWildcard:T.enableWildcard,searchArguments:[]},usedRules:T.filter.filters,wildcard:T.enableWildcard,internalType:"0",isDomain:!0},controller:"userFilterRuleEditController",controllerAs:"FiMoCtrl",templateUrl:"app/settings/shared/content-filters/filter-rule.dlg.html",targetEvent:e}).then((function(e){T.filter.filters.push(e.rule),t.$setDirty()}),(function(){})).finally((function(){N(),y(),v(e,t)}))},T.editCondition=function(e,t,n){a.show({locals:{newRule:!1,filterId:T.filter.id,ruleTypes:$.extend(!0,[],c.filterTypes),ruleCategories:$.extend(!0,[],c.filterCategories),oldRule:$.extend(!0,{},t),usedRules:T.filter.filters,wildcard:T.enableWildcard,internalType:"0",isDomain:!0},controller:"userFilterRuleEditController",controllerAs:"FiMoCtrl",templateUrl:"app/settings/shared/content-filters/filter-rule.dlg.html",targetEvent:e}).then((function(e){var r;e.deleteRule?-1!==(r=t.$$index??-1)&&(T.filter.filters.splice(r,1),n.$setDirty()):(-1===(r=t.$$index??-1)?T.filter.filters.push(e.rule):T.filter.filters[r]=e.rule,n.$setDirty())}),(function(){})).finally((function(){N(),y(),v(e,n)}))},T.addAction=function(e,t){const n=T.folders.sort((function(e,t){return e.path.toLowerCase().localeCompare(t.path.toLowerCase())}));for(let e in n){let t=n[e].displayPath.split("/").length-1;n[e].name=n[e].displayPath.split("/")[n[e].displayPath.split("/").length-1];for(let r=0;r<t;r++)n[e].name="    "+n[e].name,null!=n[e].translatedName&&(n[e].translatedName="    "+n[e].translatedName)}a.show({locals:{oldAction:{actionType:1,argument:"",isDefaultAction:!1},newAction:!0,filterActions:$.extend(!0,[],c.actionTypes),usedActions:T.filter.actions,folders:n,validateMail:d.validateEmailAddress,type:"domain"},controller:"userFilterActionEditController",controllerAs:"FiMoCtrl",templateUrl:"app/settings/shared/content-filters/filter-action.dlg.html",targetEvent:e}).then((function(e){T.filter.actions.push(e.saveAction),t.$setDirty()}),(function(){})).finally((function(){E(),y(),v(e,t)}))},T.editAction=function(e,t,n){const r=T.folders.sort((function(e,t){return e.path.toLowerCase().localeCompare(t.path.toLowerCase())}));for(let e in r){let t=r[e].displayPath.split("/").length-1;for(let n=0;n<t;n++)r[e].name="  "+r[e].name,null!=r[e].translatedName&&(r[e].translatedName="  "+r[e].translatedName)}a.show({locals:{oldAction:$.extend(!0,{},t),newAction:!1,filterActions:$.extend(!0,[],c.actionTypes),usedActions:T.filter.actions,folders:r,validateMail:d.validateEmailAddress,type:"domain"},controller:"userFilterActionEditController",controllerAs:"FiMoCtrl",templateUrl:"app/settings/shared/content-filters/filter-action.dlg.html",targetEvent:e}).then((function(e){var r;e.deleteAction?-1!==(r=t.$$index??-1)&&(T.filter.actions.splice(r,1),n.$setDirty()):(-1===(r=t.$$index??-1)?T.filter.actions.push(e.saveAction):T.filter.actions[r]=e.saveAction,n.$setDirty())}),(function(){})).finally((function(){E(),y(),v(e,n)}))},T.getActionArgument=function(e){switch(e.actionType){case 6:case 5:case 7:case 2:case 4:var t=e.argument?e.argument:"";return""!==t&&angular.forEach(T.folders,(function(e){t===e.path&&(t=e.n
335ame)})),t;case 9:switch(e.argument){case"low":return i("translate")("LOW");case"normal":return i("translate")("NORMAL");case"high":return i("translate")("HIGH")}}return""},T.getActionTypeDescription=function(e){var t=$.grep(T.actionTypes,(function(t){return t.id===e.actionType}));return t.length>0?t[0].translate:i("translate")("UNKNOWN")},T.getFilterArgument=function(e){switch(e.fieldType){case 0:case 1:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 17:case 18:case 28:case 30:case 31:case 32:case 33:return e.searchArguments&&e.searchArguments&&0!==e.searchArguments.length?1===e.searchArguments.length?'"'+(e.searchArguments[0]?e.searchArguments[0]:"")+'"':i("translate")("MULTIPLE",{count:e.searchArguments.length}):'""';case 23:case 24:return e.searchArguments?"1"===e.searchArguments[0]?i("translate")("NO"):i("translate")("YES"):"";case 19:case 25:return e.searchArguments?e.searchArguments[0]?i("bytes")(e.searchArguments[0],1):"":i("translate")("X_BYTES",{count:0});case 26:return e.searchArguments&&e.searchArguments[0]?i("translate")("X_BYTES",{count:e.searchArguments[0]}):"";case 27:if(e.searchArguments){var t=i("date")(e.searchArguments[0],"shortDate"),n=i("date")(e.searchArguments[1],"shortDate");return i("translate")("CONTENT_FILTERING_TIME_OF_DAY",{start:t,end:n})}return"";case 29:if(!e.searchArguments||!e.searchArguments[0])return"";switch(e.searchArguments[0]){case"low":return i("translate")("CONTENT_FILTERING_SPAM_LOW");case"normal":return i("translate")("CONTENT_FILTERING_SPAM_MED");case"high":return i("translate")("HIGH")}default:return""}},T.getFilterCondition=function(e){switch(e.fieldType){case 0:case 1:case 10:case 11:case 17:case 18:case 30:case 31:case 32:case 33:return e.applyLogicalNot?i("translate")("DOES_NOT_MATCH"):i("translate")("MATCHES");case 3:case 4:case 5:case 6:case 7:case 8:case 9:return e.applyLogicalNot?i("translate")("CONTAINS_NOT"):i("translate")("CONTAINS");case 13:case 15:case 16:case 20:case 21:case 22:case 28:case 29:return e.applyLogicalNot?i("translate")("FALSE"):i("translate")("TRUE");default:return""}},T.getFilterTypeDescription=function(e){var t=$.grep(T.filterTypes,(function(t){return t.id===e.fieldType}));if(t.length>0){var n=$.grep(c.filterCategories,(function(e){return e.id===t[0].category}));if(n.length>0)return n[0].translate}return""},T.cancel=function(){s.go("^")},T.cancelOptions=function(e,t){t.$setPristine(),C()},T.hasActions=function(){return T.filter&&T.filter.actions&&T.filter.actions.length>0},T.hasConditions=function(){return T.filter&&T.filter.filters&&T.filter.filters.length>0},T.getFilterFieldDescription=function(e){var t=$.grep(T.filterTypes,(function(t){return t.id===e.fieldType}));return t.length>0?t[0].translate:i("translate")("UNKNOWN")},T.setActionHigherPriority=function(e,t,n){t.stopPropagation();var r=e.$$index;if(void 0===r||r<=0)return;var i=T.filter.actions[r-1];T.filter.actions[r-1]=T.filter.actions[r],T.filter.actions[r]=i,E(),v(t,n)},T.setActionLowerPriority=function(e,t,n){t.stopPropagation();var r=e.$$index;if(void 0===r||r>=T.filter.actions.length-1)return;var i=T.filter.actions[r+1];T.filter.actions[r+1]=T.filter.actions[r],T.filter.actions[r]=i,E(),v(t,n)},T.setConditionHigherPriority=function(e,t,n){t.stopPropagation();var r=e.$$index;if(void 0===r||r<=0)return;var i=T.filter.filters[r-1];T.filter.filters[r-1]=T.filter.filters[r],T.filter.filters[r]=i,N(),v(t,n)},T.setConditionLowerPriority=function(e,t,n){t.stopPropagation();var r=e.$$index;if(void 0===r||r>=T.filter.filters.length-1)return;var i=T.filter.filters[r+1];T.filter.filters[r+1]=T.filter.filters[r],T.filter.filters[r]=i,N(),v(t,n)},T.deleteCheckedConditions=function(e,t){var n=T.conditionsCheckboxes.getCheckedItems();if(!n||!n.length)return;var r=a.confirmDeletion().textContent(u.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:n.length})).targetEvent(e);a.show(r).then((function(){var r=n.map((function(e){return parseInt(e,10)}));T.filter.filters=T.filter.filters.filter((function(e){return-1===r.indexOf(e.$$index)})),N(),y(),v(e,t)}),(function(){}))},T.deleteCheckedActions=function(e,t){var n=T.actionsCheckboxes.getCheckedItems();if(!n||!n.length)return;var r=a.confirmDeletion().textContent(u.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:n.length})).targetEvent(e);a.show(r).then((function(){var r=n.map((function(e){return parseInt(e,10)}));T.filter.actions=T.filter.actions.filter((function(e){return-1===r.indexOf(e.$$index)})),E(),y(),v(e,t)}),(function(){}))},C(),T.gridSections=[{translate:"OPTIONS",length:-1},{translate:"CONDITIONS",length:0,disabled:"new"===T.filterId},{translate:"ACTIONS",length:0,disabled:"new"===T.filterId}],T.selectedSection="OPTIONS",T.changeSection=function(e){T.selectedSection=e},T.conditionsTableParams=new h({sorting:{executionOrder:"asc"},count:25},{dataset:[],counts:e.commonTableCounts}),T.conditionsCheckboxes=p.init("$$index"),T.conditionsCheckboxes.table=T.conditionsTableParams,T.actionsTableParams=new h({sorting:{executionOrder:"asc"},count:25},{dataset:[],counts:e.commonTableCounts}),T.actionsCheckboxes=p.init("$$index"),T.actionsCheckboxes.table=T.actionsTableParams}e.$inject=["$rootScope","$scope","$http","$q","$filter","$mdDialog","$state","$timeout","$translate","contentFilterData","errorHandling","coreDataSettings","i18n","successHandling","NgTableParams","gridCheckboxes","masonryReveal"],angular.module("smartermail").controller("domainSettingsContentFilterController",e)}();
336!function(){"use strict";function t(t,e,n,r,i,o,s,a,c,l,u,d,p,f){var g=this;function h(){n.get("~/api/v1/settings/domain/content-filter-groups").then(T,c.report)}function T(t){e.contentFiltering=t.data.contentFilterGroups||[],a.cards=angular.copy(e.contentFiltering),a.updateFilteredCards(),g.checkboxes.reset(),g.tableParams.reload(),g.initialized=!0}function m(t){var e=[];for(var r in g.checkboxes.items)g.checkboxes.items[r]&&(e=e.concat($.grep(g.listResults,(function(t){return t.title===r}))));if(e&&0!==e.length){var o=i.confirmDeletion().textContent(f.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:e.length})).targetEvent(t);i.show(o).then((function(){var t=[];angular.forEach(e,(function(e,n){t.push(e.id)}
336));var r=JSON.stringify({toRemove:t});n.post("~/api/v1/settings/domain/content-filter-groups",r).then(h,c.report)}))}else c.warn("ERROR_NO_CARDS")}e.contentFiltering=void 0,e.settingCore=a,e.filterTypes=p.filterTypes,e.actionTypes=p.actionTypes,g.tableParams=new u({sorting:{order:"desc"},count:25},{getData:function(t){var e="",n="",i=(t.page()-1)*t.count(),o=t.count();for(var s in t.sorting())if(t.sorting().hasOwnProperty(s)&&t.sorting()[s]){e=s,n="desc"!==t.sorting()[s];break}return a.cards=r("orderBy")(a.cards,e,n),g.listResults=angular.copy(a.cards),g.listResults=g.listResults.splice(i,o),t.total(a.cards.length),g.listResults},counts:t.commonTableCounts}),g.checkboxes=d.init("title"),g.checkboxes.table=g.tableParams,g.initialized=!1,g.deleteFilters=m,g.editFilter=function(t,e){if(a.selectMode){var n=a.selectedCards.indexOf(t);n>-1?a.selectedCards.splice(n,1):a.selectedCards.push(t)}else o.go(".specific",{contentfilterid:t.id})},g.newFilter=function(t){o.go(".specific",{contentfilterid:"new"})},g.getActionsString=function(t){if(t.actions&&0!==t.actions.length){if(1===t.actions.length){var n=$.grep(e.actionTypes,(function(e){return e.id===t.actions[0].actionType}));return n.length>0?n[0].translate:r("translate")("UNKNOWN")}return r("translate")("MULTIPLE",{count:t.actions.length})}return r("translate")("NONE")},g.getRulesString=function(t){if(t.filters&&0!==t.filters.length){if(1===t.filters.length){var n=$.grep(e.filterTypes,(function(e){return e.id===t.filters[0].fieldType}));return n.length>0?r("translate")(n[0].translate):r("translate")("UNKNOWN")}return r("translate")("MULTIPLE",{count:t.filters.length})}return r("translate")("NONE")},g.contextMenuGridItem=function(t,n){if(!n||"touchstart"!==n.type&&"touchend"!==n.type&&3!==n.which||t.criticallyErrored)return;n.stopPropagation(),n.preventDefault();var r=g.checkboxes.getCheckedItems();(r.length>1&&!_.some(r,(function(e){return e===t.title}))||r.length<=1)&&(g.checkboxes.reset(),g.checkboxes.checkCheckbox(n,t),r=[t.title]);e.dropdownEvent=$.extend(!0,{},n),e.dropdownOptions=[{key:"deleteFilters",click:m,params:e.dropdownEvent,translateKey:"DELETE"}];var i=$("#context-menu-area");if(i){var o=s('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);i.append(o)}},g.setLowerPriority=function(t){if(t.order===g.tableParams.total())return;n.post("~/api/v1/settings/domain/content-filter-groups/order/"+t.id+"/false").then((function(t){l.report(),T(t)}),c.report)},g.setHigherPriority=function(t){if(1===t.order)return;n.post("~/api/v1/settings/domain/content-filter-groups/order/"+t.id+"/true").then((function(t){l.report(),T(t)}),c.report)},g.editRule=function(t,e){o.go("index.settings.domain-content-filtering.specific",{id:t.id})},function(){const t=new Map([[12,"CONTENT_FILTERING_TYPES_TO_USER"],[13,"CONTENT_FILTERING_TYPES_NAME_TO_DOMAIN"],[15,"CONTENT_FILTERING_TYPES_NAME_TO_CC_DOMAIN"]]);e.filterTypes=e.filterTypes.map((function(e){return t.has(e.id)?Object.assign({},e,{translate:t.get(e.id)}):e})),h()}()}t.$inject=["$rootScope","$scope","$http","$filter","$mdDialog","$state","$compile","coreDataDomainSettings","errorHandling","successHandling","NgTableParams","gridCheckboxes","contentFilterData","i18n"],angular.module("smartermail").controller("domainSettingsContentFiltersController",t)}();
337!function(){"use strict";function e(e,t,a,n,i,o,s,r,c,l,d,u,f,m,h){var v=this;function g(e){if(4!==v.verificationState||!v.active)return i.when();for(var t in v.searchParams.skip=(e.page()-1)*e.count(),v.searchParams.take=e.count(),v.searchParams.fullName=v.requestInfo&&v.requestInfo.fullName||m.user.displayName,e.sorting())if(e.sorting().hasOwnProperty(t)&&e.sorting()[t]){v.searchParams.sortField=t,v.searchParams.sortDescending="desc"===e.sorting()[t];break}return a.post("~/api/v1/settings/domain/emclient/activations",JSON.stringify(v.searchParams)).then((function(t){return v.searchResults=t.data.activations,v.searchResultCount=t.data.totalCount,v.activeCount=t.data.activeCount,v.licenseInfo.availableActivations=t.data.activationDeviceCount,e.total(v.searchResultCount),v.searchResults}),(function(e){e.data&&11===e.data.errorCode&&(l.report(e.data),v.verificationState=e.data.state)}))}v.form=null,v.edition=1,v.verificationState=sessionStorage.emClientVerificationRequested?1:0,v.verificationCode="",v.requestInfo={},v.searchParams={domain:v.domain,skip:0,take:0,search:null,sortField:"date",sortDescending:!0},v.user=m.user,v.active=!1,async function(){try{t.spinner.show(),v.tableParams=new f({sorting:{activationState:"asc"}},{getData:g,counts:t.commonTableCounts}),v.checkboxes=u.init("activationId"),v.checkboxes.table=v.tableParams;const n=await h.settingsData.domainData;v.domainData=n,y(),c.watchForChanges(e,y),await a.get("~/api/v1/settings/domain/emclient/verification-status").then((function(e){v.verificationState=e.data.state,e.data.state>=3&&w(),0===v.verificationState&&sessionStorage.emClientVerificationRequested&&(v.verificationState=1)})).catch(l.report).finally((function(){v.active=!0})),await v.refresh()}catch(e){l.report(e)}finally{t.spinner.hide()}}(),v.contextMenuGridItem=function(t,a){if(!a||"touchstart"!==a.type&&"touchend"!==a.type&&3!==a.which||t.criticallyErrored)return;var n=v.checkboxes.getCheckedItems();(n.length>0&&!n.some((e=>e===t.activationId.toString()))||0===n.length)&&(v.checkboxes.reset(),v.checkboxes.checkCheckbox(a,t),n=[t.activationId]);v.refreshSelectionStatus(),e.dropdownEvent=$.extend(!0,{},a),e.dropdownOptions=[{key:"activate",disabled:!v.hasInactiveSelected,click:()=>v.changeActivationState(!0),translateKey:"REACTIVATE"},{key:"deactivate",disabled:!v.hasActiveSelected,click:()=>v.changeActivationState(!1),translateKey:"DEACTIVATE"}];for(var i={},s=0;s<n.length;++s)i[n[s]]=!0;var r=$("#context-menu-area");if(r){var c=o('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);r.append(c)}},v.countrySearch="";const p=function(){v.checkboxes.reset(),v.tableParams.reload().then((function(){}),(function(){}))};v.refresh=function(){p()};function C(){a.get("~/api/v1/settings/domain/country-codes").then((function(e){v.countries=[],angular.forEach(e.data.results,(function(e){v.countries.push({key:e,translation:s("translate")("COUNTRY_CODE_"+e)})}))}),l.report)}v.clearSearchTerm=function(){v.countrySearch=""},v.filterCountrySearch=function(e){return e.translation.toLowerCase().startsWith(v.countrySearch.toLowerCase())||e.key.toLowerCase().startsWith(v.countrySearch.toLowerCase())},v.registerEmClientActivationKey=function(e,n){3!==v.verificationState||n.$invalid||(t.spinner.show(),a.post("~/api/v1/settings/domain/emclient/request-license",JSON.stringify({organizationName:v.organizationName,countryCode:v.countryCode,fullName:v.fullName,ownerEmail:v.ownerEmail})).then((function(e){v.verificationState=e.data.state,0===v.verificationState&&(v.requestInfo={},delete sessionStorage.emClientRequestInfo),4===v.verificationState&&(d.report(s("translate")("EMCLIENT_ACTIVATION_CONFIRMATION_MESSAGE")),v.licenseInfo=e.data)}),I).finally((function(){t.spinner.hide(),p()})))},v.resendCode=_.debounce((function(e){a.post("~/api/v1/settings/domain/emclient/request-offer").then((function(e){var t;t=1e4,v.disableSendCode=!0,r((function(){v.disableSendCode=!1}),t),sessionStorage.emClientVerificationRequested=!0,v.verificationState=e.data.state,3===v.verificationState?v.emClientServiceError=e.data.message:d.report(s("translate")("EMCLIENT_DOMAIN_VERIFICATION_EMAIL",{email:m.user.emailAddress}))}),(function(e){e.data&&e.data.errorCode?(v.verificationState=2,v.serverRejectedReason=e.data.message):l.report(e.message)}))}),500),v.verifyCode=_.debounce((function(e){const t=v.requestInfo&&v.requestInfo.fullName||m.user.displayName;a.post("~/api/v1/settings/domain/emclient/verify-code",JSON.stringify({authCode:v.verificationCode.toString().padStart(6,"0"),fullName:t})).then((function(e){switch(e.data.state||v.verificationState){case 3:C();break;case 4:w()}v.verificationState=e.data.state}),l.report)}),250,!0),v.purchaseActivations=function(){if(4!==v.verificationState||!v.licenseInfo.activationKey)return;const e=debugMode?"https://www-test.emclient.com":"https://www.emclient.com";window.open(`${e}/add-seats.aspx?key=${v.licenseInfo.activationKey}`,"_blank")},v.changeActivationState=function(e){var t=v.checkboxes.getCheckedItems();t&&angular.isArray(t)&&0!==t.length&&a.post(`~/api/v1/settings/domain/emclient/set-activation-state/${e||!1}`,JSON.stringify({ints:t})).then(v.refresh,l.report)},v.deleteActivations=function(){var e=v.checkboxes.getCheckedItems();e&&angular.isArray(e)&&0!==e.length&&a.post("~/api/v1/settings/domain/emclient/delete-activations",JSON.stringify({ints:e})).then(v.refresh,l.report)},v.refreshSelectionStatus=function(){var e=v.checkboxes.getCheckedItems();if(!e||!angular.isArray(e)||0===e.length)return v.hasInactiveSelected=!1,void(v.hasActiveSelected=!1);const t=v.searchResults.filter((t=>e.includes(t.activationId.toString())));v.hasInactiveSelected=t&&t.some((e=>"Inactive"===e.activationState)),v.hasActiveSelected=t&&t.some((e=>"Active"===e.activationState))};const S=function(){return c.edition<2&&c.license&&!c.license.isTrialLicense&&v.domainData.emClientOffersAvailable&&v.domainData.isTopLevelDomain};function y(){v.edition=c.edition,v.isEligibleEmClientLicenses=S()}function I(e){l.report(e.data.message),v.emClientServiceError=e.data.message,"EMCLIENT_ERROR_INVALID_VERIFICATION_API_KEY"===e.data.message&&(v.verificationState=0)}function w(){v.active&&t.spinner.show(),a.get("~/api/v1/settings/domain/emclient/license-info").then((function(e){switch(e.data.state){case 3:C();break;case 4:v.licenseInfo=e.data}v.verificationState=e.data.state}),I).finally((function(){v.active&&t.spinner.hide()}))}v.showEmClientIntro=async function(){try{angular.element(document.querySelector("#domain-emclient-license"))[0];const e=await n.show({controller:"domainOfferEmClientNotifyController",controllerAs:"ctrl",templateUrl:"app/root/modals/domain-offer-emclient-notify.dlg.html",clickOutsideToClose:!0});e&&console.log("Dialog Response"+JSON.stringify(e))}catch(e){}},v.copyActivationKeyToClipboard=function(){!function(e){if(e=e||"",window.isSecureContext&&navigator.clipboard)navigator.clipboard.writeText(e).then((()=>d.report("COPIED_TO_CLIPBOARD")));else{const t=document.createElement("textarea");
337t.value=e,document.body.appendChild(t),t.focus(),t.select(),document.execCommand("copy"),document.body.removeChild(t),d.report("COPIED_TO_CLIPBOARD")}}(v.licenseInfo.activationKey)}}e.$inject=["$scope","$rootScope","$http","$mdDialog","$q","$compile","$filter","$timeout","coreLicensing","errorHandling","successHandling","gridCheckboxes","NgTableParams","userDataService","coreDataDomainSettings"],angular.module("smartermail").controller("domainEmClientLicenseController",e)}();
338!function(){"use strict";function a(a,i,n,e,t,s,r,g,u,o,p,l,d,m,c,f,v){var M=this;i.signatureMappings=[],i.availableMappings=[],i.edition=1;function b(a,n){if(2===n)for(var e=0;e<i.availableMappings.length;++e){if((t=i.availableMappings[e]).signatureGuid===a&&t.signatureMapOption===n)return t}else for(e=0;e<i.availableMappings.length;++e){var t;if((t=i.availableMappings[e]).signatureMapOption===n)return t}}M.getSignatureFromGuid=b,M.newSignature=function(e){o.show({locals:{name:"",body:"",newItem:!0,variables:i.variables,sigId:0,domainOverride:a.secondaryImpersonationDomain||c.domain},controller:"domainEditSignatureController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/email-customization/signature.dlg.html",targetEvent:e}).then((function(a){if(a.deleteItem);else{var e=a.name,t=a.body;if(""!==e){var s={signatureConfig:{id:"",name:e,text:t,isDefault:!1}};n.post("~/api/v1/settings/domain/signature-put",s).then((function(a){var n=a.data.signatureID,s=a.data.signatureGuid,r={id:n,guid:s,name:e,text:t,isDefault:!1};i.signatures||(i.signature=[]),i.signatures.push(r),i.signatures.sort((function(a,i){return a.name.localeCompare(i.name)})),i.availableMappings.push({name:e,signatureGuid:s,signatureMapOption:2})}),f.report)}}}),(function(){}))},M.editSignature=function(e,s){o.show({locals:{name:s.name,body:s.text,newItem:!1,variables:i.variables,sigId:s.id,domainOverride:a.secondaryImpersonationDomain||c.domain},controller:"domainEditSignatureController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/email-customization/signature.dlg.html",targetEvent:e}).then((function(a){if(a.deleteItem){var e=o.confirmDeletion().textContent(t("translate")("CONFIRMATIONS_DELETE_ITEMS_one")).targetEvent(event);o.show(e).then((function(){M.deleteItem(s)}),(function(){}))}else{var r=a.name,g=a.body;if(r!==s.name||g!==s.text){var u={id:s.id,guid:s.guid,name:r,text:g,isDefault:s.isDefault},p={signatureConfig:u};n.post("~/api/v1/settings/domain/signature",p).then((function(a){for(var n=0;n<i.signatures.length;++n)if(i.signatures[n].guid===u.guid){i.signatures[n]=u;break}for(n=0;n<i.availableMappings.length;++n)if(i.availableMappings[n].signatureGuid===u.guid){i.availableMappings[n]={name:u.name,signatureGuid:u.guid,signatureMapOption:2};break}angular.forEach(i.signatureMappings,(function(a,i){a.signature.signatureGuid===u.guid&&(a.signature.name=u.name)}))}),f.report)}}}),(function(){}))},M.editMapping=function(a,n,e){o.show({locals:{mapping:$.extend(!0,{},i.signatureMappings[n]),availableMappings:i.availableMappings},controller:"domainEditMappingController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/email-customization/mapping.dlg.html",targetEvent:a}).then((function(a){i.signatureMappings[n].signatureGuid===a.signature.signatureGuid&&i.signatureMappings[n].allowUsersToOverride===a.allowUsersToOverride&&i.signatureMappings[n].mapOption===a.mapOption||e.$setDirty(),i.signatureMappings[n]=a}),(function(){}))},M.deleteItem=function(a){n.post("~/api/v1/settings/domain/signature-delete/"+a.id).then((function(e){for(var t=0;t<i.signatures.length;++t)if(i.signatures[t].guid===a.guid){i.signatures.splice(t,1);break}for(t=0;t<i.availableMappings.length;++t)if(i.availableMappings[t].signatureGuid===a.guid){i.availableMappings.splice(t,1);break}angular.forEach(i.signatureMappings,(function(i,n){i.signature.signatureGuid===a.guid&&(2===i.type?(i.name="NONE",i.signatureGuid="",i.mapOption=0,i.signature=M.getSignatureFromGuid(i.signatureGuid,i.mapOption)):(i.name="USE_PRIMARY_SIGNATURE",i.signatureGuid="",i.mapOption=1,i.signature=M.getSignatureFromGuid(i.signatureGuid,i.mapOption)))})),n.post("~/api/v1/settings/domain/signature-mappings",{signatureMaps:i.signatureMappings}).then((function(){}),f.report)}),f.report)},function(){a.spinner.show();var e=[n.get("~/api/v1/settings/domain/domain"),n.get("~/api/v1/settings/domain/signature-mappings"),n.get("~/api/v1/settings/domain/signatures"),m.settingsData.signatureVariables];r.all(e).then((function(a){angular.copy(a[0].data.domainSettings),i.signatureMappings=a[1].data.maps,i.signatures=angular.copy(a[2].data.signatureConfigs||[]),i.variables=a[3],i.availableMappings=[{name:"NONE",signatureGuid:"",signatureMapOption:0}
338,{name:"USE_PRIMARY_SIGNATURE",signatureGuid:"",signatureMapOption:1}],angular.forEach(i.signatures,(function(a,n){i.availableMappings.push({name:a.name,signatureGuid:a.guid,signatureMapOption:2})})),function(){for(var a=Object.keys(i.variables),n=0;n<a.length;++n)i.variables[a[n]]=t("translate")(i.variables[a[n]]);for(n=0;n<i.signatureMappings.length;n++)i.signatureMappings[n].signature=b(i.signatureMappings[n].signatureGuid,i.signatureMappings[n].mapOption)}()}),f.report).finally(a.spinner.hide)}()}a.$inject=["$rootScope","$scope","$http","$timeout","$filter","$compile","$q","$sce","$log","$mdDialog","$mdMedia","$state","coreData","coreDataSettings","coreDataDomainSettings","errorHandling","i18n"],angular.module("smartermail").controller("domainSettingsGeneralSignaturesController",a)}();
339!function(){"use strict";function o(o,t,e,n,r,i,a){o.editorScope={},o.footerText=n,o.context=i,o.domainOverride=r,o.readOnly=a,o.onFroalaInitialized=function(){$("st-html-editor textarea.froalaEditor")[0]["data-froala.editor"].events.focus()},o.save=function(){const n=o.editorScope.getHtml();e((function(){t.hide(n)}))},o.cancel=function(){t.cancel()}}o.$inject=["$scope","$mdDialog","$timeout","footerText","domainOverride","context","readOnly"],angular.module("smartermail").controller("domainFooterController",o)}();
340!function(){"use strict";function i(i,a,n,p,t,e,g,r){a.mapping=g,a.availableMappings=r,function(){if(2===a.mapping.mapOption)for(var i=0;i<a.availableMappings.length;++i){if((n=a.availableMappings[i]).signatureGuid===a.mapping.signatureGuid&&n.signatureMapOption===a.mapping.mapOption)return a.mapping.signature=n}else for(i=0;i<a.availableMappings.length;++i){var n;if((n=a.availableMappings[i]).signatureMapOption===a.mapping.mapOption)return a.mapping.signature=n}}(),a.save=function(){i.spinner.show(),a.mapping.signatureGuid=a.mapping.signature.signatureGuid,a.mapping.mapOption=a.mapping.signature.signatureMapOption,t.post("~/api/v1/settings/domain/signature-mappings ",{signatureMaps:[a.mapping]}).then((function(i){n.hide(a.mapping)}),e.report).finally(i.spinner.hide)},a.cancel=function(){n.cancel()}}i.$inject=["$rootScope","$scope","$mdDialog","$filter","$http","errorHandling","mapping","availableMappings"],angular.module("smartermail").controller("domainEditMappingController",i)}();
341!function(){"use strict";function e(e,n,t,i,o,a,d,m,r,c){e.name=o,e.body=a,e.newItem=d,e.variables=Object.keys(m),e.sigId=d?123:r,e.domainOverride=c,e.editorScope={},e.save=function(){const t=e.editorScope.getHtml();i((function(){e.userForm.$valid&&n.hide({name:e.name,body:t,deleteItem:!1})}))},e.delete=function(){n.hide({name:e.name,body:e.body,deleteItem:!0})},e.cancel=function(){n.cancel()}}e.$inject=["$scope","$mdDialog","$filter","$timeout","name","body","newItem","variables","sigId","domainOverride"],angular.module("smartermail").controller("domainEditSignatureController",e)}();
342!function(){"use strict";function e(e,n,t,o,i,a,s,r,c,l,d,v,u,g,k,f,H,h,p,E){var C=this,I=E.create(n);function y(){i.all([t.get("~/api/v1/settings/domain/domain-events"),t.post("~/api/v1/settings/domain/event-hooks-by-owner"),v.settingsData.availableEventVars,v.settingsData.domainNotificationProfiles]).then((function(t){C.availableEvents=t[0].data.events||[],o=[],angular.forEach(C.availableEvents,(function(e){e.categoryResourceId=e.categoryResourceId.replace("@","").toUpperCase(),e.translation="EVENT_TYPES_"+e.id.toUpperCase();var n=null;angular.forEach(o,(function(t){t.categoryResourceId==e.categoryResourceId&&(n=t)})),n||(n={categoryResourceId:e.categoryResourceId,events:[],internalId:o.length},o.push(n)),n.events.push(e)})),C.eventCategories=o;var o;var i=t[1].data.eventHooks||[];angular.forEach(i,(function(e){e.id==C.eventHookId&&(C.eventHook=e)}));var a=!C.eventHook;a&&(C.eventHook={actions:[],actionsByKey:{},conditions:[],conditionsByKey:{},enabled:!0,eventID:null,groupID:e.secondaryImpersonationDomain||d.user.domain,isNew:!0,name:"",owner:e.secondaryImpersonationDomain||v.domain});C.eventHook.conditions=C.eventHook.conditions||[],C.eventHook.actions=C.eventHook.actions||[],angular.forEach(C.eventCategories,(function(e){angular.forEach(e.events,(function(n){if(C.eventHook.eventID||(C.eventHook.eventID=n.eventId),n.eventId==C.eventHook.eventID)return C.selectedCategory=e,void(C.selectedEventType=n)}))})),C.eventVariables=t[2],a&&(S(),n.$watch((function(){return C.selectedCategory}),N),n.$watch((function(){return C.selectedEventType}),A));T(),m(),b(),C.initialized=!0,C.loading=!1,I.wait((function(){C.contentReady=!0}))}),k.report)}function m(){console.log("initialize conditions"),console.log(""+C.eventHook.conditions),angular.forEach(C.eventHook.conditions,(function(e,n){e.$$index=n,e.$$order=n+1})),C.conditionsTableParams.settings({dataset:C.eventHook.conditions}),C.conditionsCheckboxes.reset(),C.conditionsTableParams.reload()}function T(){console.log("initialize actions"),console.log(""+C.eventHook.actions),angular.forEach(C.eventHook.actions,(function(e,n){e.$$index=n,e.$$order=n+1})),C.actionsTableParams.settings({dataset:C.eventHook.actions}),C.actionsCheckboxes.reset(),C.actionsTableParams.reload()}function b(){C.gridSections[1].length=C.eventHook.conditions.length,C.gridSections[2].length=C.eventHook.actions.length}function D(e){var n=null;return angular.forEach(C.eventCategories,(function(t){angular.forEach(t.events,(function(o){e&&e.eventId==o.eventId&&(n=t)}))})),n}function N(e,n){C.lastCategory!=e&&C.lastCategory?(C.eventHook.eventID=e.events[0].eventId,C.selectedEventType=e.events[0]):C.lastCategory=e}function A(e,n){if(C.lastEvent!=e&&C.lastEvent){var t=[];angular.forEach(C.eventHook.conditions,(function(n){if(C.isConditionEditable(C.lastEvent.eventId,n)){var o=!1;angular.forEach(e.conditions,(function(e){e.key==n.key&&e.inputType==n.inputType&&e.descriptionResourceID==n.descriptionResourceID&&(o=!0)})),o||t.push(n)}}));var i=[];if(angular.forEach(C.eventHook.actions,(function(n){var t=!1;
342angular.forEach(e.possibleActions,(function(e){e.key==n.key&&e.inputType==n.inputType&&e.descriptionResourceID==n.descriptionResourceID&&(t=!0)})),t||i.push(n)})),t.length||i.length){c.instant("EVENTS_NOTICE_CONDITIONS_AND_ACTIONS_CHANGED");var s=a.confirm().title(o("translate")("EVENTS_NOTICE_CONDITIONS_AND_ACTIONS_CHANGED_TITLE")).textContent(o("translate")("EVENTS_NOTICE_CONDITIONS_AND_ACTIONS_CHANGED")).ariaLabel(o("translate")("EVENTS_NOTICE_CONDITIONS_AND_ACTIONS_CHANGED")).ok(o("translate")("CONTINUE")).cancel(o("translate")("CANCEL"));a.show(s).then((function(){r(t,i)}),(function(){C.selectedCategory=D(C.lastEvent),C.selectedEventType=C.lastEvent,C.eventHook.eventID=C.lastEvent.eventId}))}else r()}else r();function r(n,t){e&&(n&&angular.forEach(n,(function(e){var n=C.eventHook.conditions.indexOf(e);-1!==n&&C.eventHook.conditions.splice(n,1),delete C.eventHook.conditionsByKey[e.key]})),t&&angular.forEach(t,(function(e){var n=C.eventHook.actions.indexOf(e);-1!==n&&C.eventHook.actions.splice(n,1)})),C.lastCategory=D(e),C.lastEvent=e,C.eventHook.eventID=e.eventId,S())}}function S(){C.eventHook.conditions=[],C.eventHook.conditionsByKey={},angular.forEach(C.availableEvents[C.eventHook.eventID].conditions,(function(n){if(!C.isConditionEditable(C.eventHook.eventID,n)){switch(n.key){case"fromdomain":case"todomain":case"domain":n.value1=e.secondaryImpersonationDomain||d.user.domain;break;case"fromaddress":case"emailaddress":n.value1=d.user.emailAddress;break;default:return}C.eventHook.conditions.push(n),C.eventHook.conditionsByKey[n.key]=n}}))}function O(n,o){if(o.$valid){var i=C.eventHook;t.post("~/api/v1/settings/domain/event-hook",i).then((function(n){if(!n.data.success)return void k.report(n);o.$setPristine(),e.$broadcast("domain-settings:changed"),b(),m(),T()}),k.report)}}C.loading=!0,C.contentReady=!1,C.eventHookId=s.params.domainEventId,C.eventHook=null,C.availableEvents=[],C.lastCategory=null,C.lastEvent=null,C.initialized=!1,C.save=function(n,o){if(!o.$valid)return;var i=C.eventHook;t.post("~/api/v1/settings/domain/event-hook",i).then((function(n){n.data.success?"new"===C.eventHookId&&n.data.id?(C.eventHookId=n.data.id,C.eventHook.id=C.eventHookId,C.gridSections[1].disabled=!1,C.gridSections[2].disabled=!1,s.go(".",{"index.settings.domain-events.specific":C.eventHook.id},{location:"replace",notify:!1}),o.$setPristine(),e.$broadcast("domain-settings:changed")):(o.$setPristine(),e.$broadcast("domain-settings:changed"),s.go("^")):k.report(n)}),k.report)},C.deleteThis=function(e,n){if("new"==C.eventHookId)return void s.go("^");var i=a.confirmDeletion().textContent(o("translate")("CONFIRMATIONS_DELETE_ITEMS_one")).targetEvent(e);a.show(i).then((function(){C.skipNavigateConfirm=!0;var e=JSON.stringify({input:[C.eventHookId]});t.post("~/api/v1/settings/domain/event-hook-delete",e).then((function(e){s.go("^")}),k.report)}))},C.addCondition=function(e,n){a.show({locals:{newCondition:!0,conditionKey:"",eventId:C.eventHook.eventID,operator:"Equals",availableEvents:C.availableEvents,usedConditions:C.eventHook.conditionsByKey,value1:void 0,value2:void 0,parseTimeSpan:v.parseUserTimeSpan,level:"user"},controller:"eventConditionEditDialogController",controllerAs:"EvMoCtrl",templateUrl:"app/settings/shared/events/event-condition.dlg.html",targetEvent:e}).then((function(t){C.eventHook.conditions.push(t.condition),C.eventHook.conditionsByKey=C.eventHook.conditionsByKey||[],C.eventHook.conditionsByKey[t.condition.key]=t.condition,O(e,n),n.$setDirty()}))},C.editCondition=function(e,n,t){if(!C.isConditionEditable(C.eventHook.eventID,n))return;a.show({locals:{newCondition:!1,conditionKey:n.key,eventId:C.eventHook.eventID,operator:n.condition,availableEvents:C.availableEvents,usedConditions:C.eventHook.conditionsByKey,getConditionTranslation:g.getConditionTranslation,value1:n.value1,value2:n.value2,parseTimeSpan:v.parseUserTimeSpan,level:"user"},controller:"eventConditionEditDialogController",controllerAs:"EvMoCtrl",templateUrl:"app/settings/shared/events/event-condition.dlg.html",targetEvent:e}).then((function(o){var i;o.deleteCond?-1!=(i=n.$$index)&&(C.eventHook.conditions.splice(i,1),delete C.eventHook.conditionsByKey[n.key],t.$setDirty(),O(e,t)):(-1==(i=n.$$index)?C.eventHook.conditions.push(o.condition):C.eventHook.conditions[i]=o.condition,t.$setDirty(),O(e,t))}))},C.addAction=function(e,n){var t=C.availableEvents[C.eventHook.eventID],o=$.grep(t.possibleActions,
342(function(e){return"AlertAction"===e.key}));if(!o[0])return void k.report("ERROR_GETTING_ACTION");a.show({locals:{newAction:!0,eventGuid:C.eventHookId,eventId:C.eventHook.eventID,availableEvents:C.availableEvents,availableVariables:C.eventVariables,action:o[0],defaultEmail:d.user.emailAddress,level:"domain"},controller:"eventActionEditDialogController",controllerAs:"EvMoCtrl",templateUrl:"app/settings/shared/events/event-action.dlg.html",targetEvent:e}).then((function(t){C.eventHook.actions.push(t.action),n.$setDirty(),O(e,n)}))},C.editAction=function(e,n,t){a.show({locals:{newAction:!1,eventGuid:C.eventHookId,eventId:C.eventHook.eventID,availableEvents:C.availableEvents,availableVariables:C.eventVariables,action:angular.copy(n),defaultEmail:d.user.emailAddress,level:"domain"},controller:"eventActionEditDialogController",controllerAs:"EvMoCtrl",templateUrl:"app/settings/shared/events/event-action.dlg.html",targetEvent:e}).then((function(o){var i;if(o.deleteAction)return-1!=(i=n.$$index)&&(C.eventHook.actions.splice(i,1),t.$setDirty()),void O(e,t);-1==(i=n.$$index)?C.eventHook.actions.push(o.action):C.eventHook.actions[i]=o.action,t.$setDirty(),O(e,t)}))},C.getActionTranslation=g.getActionTranslation,C.getGenericConditionTranslation=g.getGenericConditionTranslation,C.getConditionTranslation=g.getConditionTranslation,C.getConditionTypeString=g.getConditionTypeString,C.getActionMiddleString=g.getActionMiddleString,C.getActionBottomString=g.getActionBottomString,C.verifyEventTypeChange=A,C.verifyEventCategoryChange=N,C.isConditionEditable=function(e,n){if("domain"===n.key||"password"===n.key)return!1;switch(e){case 3e4:return"todomain"!==n.key;case 30001:return"fromdomain"!==n.key;case 30002:case 30004:case 30005:return!0}return!0},C.cancel=function(){s.go("^")}
342,C.cancelOptions=function(e,n){n.$setPristine(),y()},C.hasActions=function(){return C.eventHook&&C.eventHook.actions&&C.eventHook.actions.length>0},C.hasConditions=function(){return C.eventHook&&C.eventHook.conditions&&C.eventHook.conditions.length>0},C.setActionHigherPriority=function(e,n,t){n.stopPropagation();var o=e.$$index;if(void 0===o||o<=0)return;var i=C.eventHook.actions[o-1];C.eventHook.actions[o-1]=C.eventHook.actions[o],C.eventHook.actions[o]=i,T(),O(n,t)},C.setActionLowerPriority=function(e,n,t){n.stopPropagation();var o=e.$$index;if(void 0===o||o>=C.eventHook.actions.length-1)return;var i=C.eventHook.actions[o+1];C.eventHook.actions[o+1]=C.eventHook.actions[o],C.eventHook.actions[o]=i,T(),O(n,t)},C.setConditionHigherPriority=function(e,n,t){n.stopPropagation();var o=e.$$index;if(void 0===o||o<=0)return;var i=C.eventHook.conditions[o-1];C.eventHook.conditions[o-1]=C.eventHook.conditions[o],C.eventHook.conditions[o]=i,m(),O(n,t)},C.setConditionLowerPriority=function(e,n,t){n.stopPropagation();var o=e.$$index;if(void 0===o||o>=C.eventHook.conditions.length-1)return;var i=C.eventHook.conditions[o+1];C.eventHook.conditions[o+1]=C.eventHook.conditions[o],C.eventHook.conditions[o]=i,m(),O(n,t)},C.deleteCheckedConditions=function(e,n){var t=C.conditionsCheckboxes.getCheckedItems();if(!t||!t.length)return;var o=a.confirmDeletion().textContent(f.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:t.length})).targetEvent(e);a.show(o).then((function(){var o=t.map((function(e){return parseInt(e,10)}));C.eventHook.conditions=C.eventHook.conditions.filter((function(e){return-1===o.indexOf(e.$$index)})),m(),b(),O(e,n)}),(function(){}))},C.deleteCheckedActions=function(e,n){var t=C.conditionsCheckboxes.getCheckedItems();if(!t||!t.length)return;var o=a.confirmDeletion().textContent(f.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:t.length})).targetEvent(e);a.show(o).then((function(){var o=t.map((function(e){return parseInt(e,10)}));C.eventHook.actions=C.eventHook.actions.filter((function(e){return-1===o.indexOf(e.$$index)})),T(),b(),O(e,n)}),(function(){}))},y(),C.gridSections=[{translate:"OPTIONS",length:-1},{translate:"CONDITIONS",length:0,disabled:"new"===C.eventHookId},{translate:"ACTIONS",length:0,disabled:"new"===C.eventHookId}],C.selectedSection="OPTIONS",C.changeSection=function(e){C.selectedSection=e},C.conditionsTableParams=new h({sorting:{$$order:"asc"},count:25},{dataset:[],counts:e.commonTableCounts}),C.conditionsCheckboxes=p.init("$$index"),C.conditionsCheckboxes.table=C.conditionsTableParams,C.actionsTableParams=new h({sorting:{$$order:"asc"},count:25},{dataset:[],counts:e.commonTableCounts}),C.actionsCheckboxes=p.init("$$index"),C.actionsCheckboxes.table=C.actionsTableParams}e.$inject=["$rootScope","$scope","$http","$filter","$q","$mdDialog","$state","$log","$translate","$timeout","coreData","coreDataDomainSettings","coreDataSettings","eventData","errorHandling","i18n","successHandling","NgTableParams","gridCheckboxes","masonryReveal"],angular.module("smartermail").controller("domainSettingsGeneralEventItemController",e)}();
343!function(){"use strict";function e(e,t,n,o,a,r,s,i,c,d,l,u,v,h,p){var g=this;function m(e){var t=g.checkboxes.getCheckedItems();if(t&&t.length&&angular.isArray(t)){var o=a.confirmDeletion().textContent(p.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:t.length})).targetEvent(e);a.show(o).then((function(){var e=JSON.stringify({input:t});n.post("~/api/v1/settings/domain/event-hook-delete",e).then((function(){g.checkboxes.reset(),g.tableParams.reload()}),i.report)}))}}g.eventData=v,g.tableParams=new l({sorting:{name:"asc"},count:25},{getData:function(e){var t=!1,a="",r=h.defer();for(var s in e.sorting())if(e.sorting().hasOwnProperty(s)&&e.sorting()[s]){t="desc"===e.sorting()[s],a=s;break}var i={startIndex:(e.page()-1)*e.count(),count:e.count(),name:g.searchText,sortDescending:t};function c(e){g.eventData.eventIsLoading?setTimeout(c,10,e):(e.forEach((function(e){e.whenType=g.eventData.getEventWhenString(e)})),e=o("orderBy")(e,a,t),g.currentPageResults=e,r.resolve(e))}return n.post("~/api/v1/settings/domain/event-hooks-by-owner",JSON.stringify(i)).then((function(t){e.total(t.data.total),c(t.data.eventHooks)}),(function(){r.reject()})),r.promise},counts:e.commonTableCounts}),g.checkboxes=u.init("id"),g.checkboxes.table=g.tableParams,g.deleteEvents=m,g.editEvent=function(e,t){if(d.selectMode){var n=d.selectedCards.indexOf(e);n>-1?d.selectedCards.splice(n,1):d.selectedCards.push(e)}else r.go(".specific",{domainEventId:e.id})},g.newEvent=function(e){r.go(".specific",{domainEventId:"new"})},g.searchItems=function(){g.tableParams.reload()},g.contextMenuGridItem=function(e,n){if(!n||"touchstart"!==n.type&&"touchend"!==n.type&&3!==n.which||e.criticallyErrored)return;n.stopPropagation(),n.preventDefault();var o=g.checkboxes.getCheckedItems();(o.length>1&&!_.some(o,(function(t){return t===e.id}))||o.length<=1)&&(g.checkboxes.reset(),g.checkboxes.checkCheckbox(n,e),o=[e.
343id]);t.dropdownEvent=$.extend(!0,{},n),t.dropdownOptions=[{key:"deleteEvents",click:m,params:t.dropdownEvent,translateKey:"DELETE"}];var a=$("#context-menu-area");if(a){var r=s('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(t);a.append(r)}}}e.$inject=["$rootScope","$scope","$http","$filter","$mdDialog","$state","$compile","errorHandling","coreData","coreDataDomainSettings","NgTableParams","gridCheckboxes","eventData","$q","i18n"],angular.module("smartermail").controller("domainSettingsEventsController",e)}();
344!function(){"use strict";function o(o,t,e,n){o.body=n,o.editorScope={},o.save=function(){const n=o.editorScope.getHtml;e((function(){t.hide({body:n,update:!0})}))},o.cancel=function(){t.cancel()}}o.$inject=["$scope","$mdDialog","$timeout","body"],angular.module("smartermail").controller("domainEditAUPHtmlController",o)}();
345!function(){"use strict";function i(i,e,n,a,d,l,o,r,t,m,s){i.isSysAdmin=d.isSysAdmin(),i.isNewItem=!l,i.name=o||l,i.originalName=l,i.domain=r,i.domainIdn=t,i.verifyMX=!0,i.isValid=!0,i.doDelete=function(){e.hide({deleteAlias:i.name})},i.save=function(n){if(!(i.isValid=n.$valid))return;i.isNewItem?m.addAlias(i.name,i.verifyMX).then(e.hide,s.report):m.updateAlias(i.originalName,i.name,i.verifyMX).then(e.hide,s.report)},i.cancel=function(){e.cancel()}}i.$inject=["$scope","$mdDialog","$q","$filter","claimsService","name","idn","domain","domainIdn","domainAliasesData","errorHandling"],angular.module("smartermail").controller("domainEditDomainAliasController",i)}();
346!function(){"use strict";function a(a,e,n,i){var t=this;function s(){var a=n.defer();return e.get("~/api/v1/settings/domain/domain-aliases").then((function(e){t.domainAliases=e.data.domainAliasData||[],o(),a.resolve(t.domainAliases)}),a.reject),a.promise}function o(){t.domainAliases.sort((function(a,e){return a.aliasIdn?e.aliasIdn?a.aliasIdn.localeCompare(e.aliasIdn):a.aliasIdn.localeCompare(e.name):e.aliasIdn?a.name.localeCompare(e.aliasIdn):a.name.localeCompare(e.name)}))}t.domainAliases=[],t.loadAliases=s,t.addAlias=function(s,r){var d=n.defer();return e.post("~/api/v1/settings/domain/domain-alias-put/"+s+"/"+r+"/").then((function(e){t.domainAliases.push({name:e.data.name,aliasIdn:e.data.idnName,domainName:a.secondaryImpersonationDomain||i.domain}),o(),d.resolve(e)}),d.reject),d.promise},t.updateAlias=function(a,i,t){var o=n.defer();return e.post("~/api/v1/settings/domain/domain-alias/"+a+"/"+i+"/"+t+"/").then((function(){s().then(o.resolve,o.reject)}),o.reject),o.promise},t.deleteAlias=function(a){var i=n.defer();return e.post("~/api/v1/settings/domain/domain-aliases-delete",JSON.stringify({input:[a]})).then((function(){s().then(i.resolve)}),i.reject),i.promise},t.verifyMx=function(a){var i=n.defer();return e.post("~/api/v1/settings/domain/domain-alias-verify/"+a+"/").then((function(a){i.resolve(a.data.success)}),i.reject),i.promise}}a.$inject=["$rootScope","$http","$q","coreDataDomainSettings"],angular.module("smartermail").service("domainAliasesData",a)}();
347!function(){"use strict";function e(e,t,n,i,o,a,s,r,l,d,c,m,g,u,p,v,f,S,h,y,C){var A=this,E=C.create(t);function w(){A.edition=l.edition,A.hasEnterpriseFunctionality=l.hasEnterpriseFunctionality}async function I(){try{let t=await c.init();A.domain=e.secondaryImpersonationDomain||c.domain,A.permissions=$.extend(!0,{},c.domainPermissions),A.uploaderData||(A.uploaderData=JSON.stringify({domain:A.domain,guid:R()})),t=await a.all([g.loadAliases(),i.get("~/api/v1/settings/domain/domain"),i.get(`~/api/v1/companyInfo/${A.domain}/`),i.get("~/api/v1/settings/auto-clean").then((function(e){A.autoCleanSettings=e.data,A.autoCleanSettings.domainRules=A.autoCleanSettings.domainRules||[],A.autoCleanSettings.systemRules=A.autoCleanSettings.systemRules||[];for(var t=0;t<A.autoCleanSettings.domainRules.length;++t)A.autoCleanSettings.domainRules[t].translatedPath=M(A.autoCleanSettings.domainRules[t].folderName);for(t=0;t<A.autoCleanSettings.systemRules.length;++t)A.autoCleanSettings.systemRules[t].translatedPath=M(A.autoCleanSettings.systemRules[t].folderName);A.autoCleanFolders=A.autoCleanSettings.allowAutoCleanInbox?[{name:"deleted items",folderName:"deleted items",path:"deleted items",translatedPath:r.instant("DELETED_ITEMS")},{name:"inbox",folderName:"inbox",path:"inbox",translatedPath:r.instant("INBOX")},{name:"junk e-mail",folderName:"junk e-mail",path:"junk e-mail",translatedPath:r.instant("JUNK_EMAIL")},{name:"sent items",folderName:"sent items",path:"sent items",translatedPath:r.instant("SENT_ITEMS")}]:[{name:"deleted items",folderName:"deleted items",path:"deleted items",translatedPath:r.instant("DELETED_ITEMS")},{name:"junk e-mail",folderName:"junk e-mail",path:"junk e-mail",translatedPath:r.instant("JUNK_EMAIL")},{name:"sent items",folderName:"sent items",path:"sent items",translatedPath:r.instant("SENT_ITEMS")}],angular.forEach(A.autoCleanFolders,(function(e){e.translatedPath=M(e.name)})),A.autoCleanInheritedRuleSource="system",A.autoCleanInheritedRules=A.autoCleanSettings.systemRules}),(function(){})),i.get("~/api/v1/settings/domain/webrtc-config").then((function(e){A.webRtcServers=e.data.stunTurnServers}),(function(){})),i.get("~/api/v1/settings/auto-clean-calendar").then((function(e){A.calAutoCleanSettings=e.data})),i.get("~/api/v1/settings/domain/country-codes").then((function(e){const t=e.data.results,n=new Array(t.length);for(let e=0;e<t.length;
347e++)n[e]={key:t[e],translation:r.instant("COUNTRY_CODE_"+t[e])};n.sort(((e,t)=>e.translation.localeCompare(t.translation))),A.countries=n,A.filteredCountries=n}),m.report),i.get("~/api/v1/settings/domain/mailing-lists/0/system-messages").then(b,m.report),i.get("~/api/v1/settings/domain/idn").then((function(e){A.domainIdn=e.data.idnName}),(function(){})),i.get("~/api/v1/settings/domain/aliases-autocomplete/").then((function(e){A.userAliases=e.data.aliases}),(function(){})),N()]),function(e){A.domainAliases=g.domainAliases,A.domainSettings=e[1].data.domainSettings,A.authProviders=A.domainSettings.authenticationProviders,A.editedAuthProviders={deletedProviderIds:[],updatedProviders:[],addedProviders:[]};const t=(A.domainSettings.authBlockedCountrySettings.countryList||[]).map((function(e){const t=void 0!==e.item1?e.item1:e.Item1,n=void 0!==e.item2?e.item2:e.Item2;return{item1:t,item2:A.countries.find((function(e){return e.key===n}))||{key:n,translation:r.instant("COUNTRY_CODE_"+n)}}}));A.blockedCountrySettings={type:-5&A.domainSettings.authBlockedCountrySettings.listType,isGlobal:!!(4&A.domainSettings.authBlockedCountrySettings.listType),countryList:t.length>0?t:[],removedItem:[]},A.blockedCountrySettings.type>0?H():0===A.blockedCountrySettings.countryList.length&&(A.blockedCountrySettings.countryList=[]);A.isSysAdmin=f.isSysAdmin()||f.impersonating(),A.showDomainAliasMenu=A.domainSettings.showDomainAliasMenu,A.canEditDomainAliases=A.showDomainAliasMenu||f.isSysAdmin()||f.impersonating(),A.calendarPublicAvailability=A.domainSettings.calendarPublicAvailability,A.customLoginDisplay=A.domainSettings.customLoginDisplay,A.allowUserProfileEdits=A.domainSettings.allowUserProfileEdits,A.allowUsersToOptOutOfGal=!A.domainSettings.ldapDisallowOptOut,A.isSysAdmin&&A.twoFactorSettingOptions.push({value:6,translation:"FORCE_LOCKED"});A.footerAllowOverride=A.domainSettings.footerSettings.allowOverride,A.footerEnabled=A.domainSettings.footerSettings.enabled,A.footerApplyToMailingLists=A.domainSettings.footerSettings.applyToMailingLists,A.footerText=A.domainSettings.footerSettings.footerText,A.systemFooterText=A.domainSettings.systemFooterSettings.footerText,A.systemFooterEnabled=A.domainSettings.systemFooterSettings.enabled,A.allowCatchAll=1===A.domainSettings.caRestrictionLevel,A.companyInfo=e[2].data.companyInfo,A.companyInfo.customLoginTextEnabled||(A.companyInfo.customLoginText=null);A.dkim=A.domainSettings.domainKeysSettings,A.dkim.enabled=A.domainSettings.enableDkimSigningDomainAdmin,A.dkim.activeData=A.dkim.isActive?{keySize:A.dkim.keySize,selector:A.dkim.selector,publicKey:A.dkim.publicKey,forced:A.dkim.forced}:void 0,A.previewingLogin&&_();if(A.incomingExtensionBlacklist=A.domainSettings.incomingFileTypeRestriction.blackList||[],A.outgoingExtensionBlacklist=A.domainSettings.outgoingFileTypeRestriction.blackList||[],H(),A.domainSettings.sslCertificates)for(let e=0;e<A.domainSettings.sslCertificates.length;e++){let t=A.domainSettings.sslCertificates[e];t.IsExpired=t.cert_expires_utc&&new Date(t.cert_expires_utc)<new Date}}(t)}catch(e){m.report(e)}finally{A.loading=!1,E.wait((function(){A.contentReady=!0})),t.$applyAsync()}}function b(e){A.mailingListHelpMessage=e.data.systemMessages.find((e=>"HELPMESSAGE"===e.name))||{name:"HELPMESSAGE",lastModified:null,needsSubject:!0,body:""}}function k(){A.domainAliases=g.domainAliases}function D(e){var t=a.defer();return o.show({controller:"mailSigningViewController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/general-settings/modals/mail-signing-view.dlg.html",targetEvent:e,locals:{settings:{keySize:A.dkim.keySize},mode:"newRollover",preventDelete:!A.dkim.active}}).then((function(e){var n,o;x(),n=e.force,o=!1,n=!!n,i.post(`~/api/v1/settings/domain/dkim-verify-rollover/${n}`).then((function(e){e.data.success?x():o&&m.report("DNS_VERIFICATION_FAILED")}),m.report),t.resolve(e)}),(function(){t.reject()})),t.promise}function T(){u.disableDkim().then((function(){A.dkim.enabled=!1}),m.report)}function P(e,t){t.domain.toLowerCase()===A.domain.toLowerCase()&&(A.dkim.isActive=t.isActive,A.dkim.activeData=t.activeData,A.dkim.pending=t.pending)}function x(){return u.getSettings().then((function(e){A.dkim.dkimCanonicalizationAlgorithmBody=e.canonicalizationBody,A.dkim.dkimCanonicalizationAlgorithmHeader=e.canonicalizationHeader,A.dkim.dkimHeaderFieldOption=e.fieldOption,A.dkim.dkimHeaderFields=e.fields,A.dkim.keySize=e.keySize,A.dkim.maxMessageSign=e.maxMessageSign,A.dkim.enabled=!0,A.dkim.activeData=e.isActive?{keySize:e.keySize,selector:e.selector,publicKey:e.publicKey,forced:e.forced}:void 0,A.dkim.pending=e.pending}),(function(e){m.report(e)}))}function O(e){var t=$.extend(A.dkim.activeData,{enabled:A.dkim.enabled});o.show({controller:"mailSigningViewController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/general-sett
347ings/modals/mail-signing-view.dlg.html",targetEvent:e,locals:{settings:t,mode:"viewActive",preventDelete:!1}}).then((function(e){e.validate&&i.post("~/api/v1/settings/domain/dkim-verify-active").then((function(e){e.data.success?x():m.report("DNS_VERIFICATION_FAILED")}),m.report)}),(function(){}))}function L(e){o.show({controller:"mailSigningViewController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/general-settings/modals/mail-signing-view.dlg.html",targetEvent:e,locals:{settings:A.dkim.pending,mode:"viewRollover",preventDelete:!A.dkim.active}}).then((function(e){if(e.delete){let e=o.confirmDeletion().textContent(r.instant("CONFIRMATIONS_DELETE_PENDING_DKIM"));o.show(e).then((function(){i.post("~/api/v1/settings/domain/dkim-delete-rollover").then((function(){A.dkim.pending=null}),m.report)}),(function(){}))}else e.force&&i.post("~/api/v1/settings/domain/dkim-verify-rollover/true").then((function(){x()}),m.report)}),(function(){}))}function R(){return A.loginPreviewGuid="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)})),A.loginPreviewGuid}function N(){var e=[];return e.push(i.get("~/api/v1/companyinfo/logo-exists/"+A.domain+"/")),a.all(e).then((function(e){A.logoUrl=e[0].data?stSiteRoot+"api/v1/companyinfo/logo/"+A.domain:void 0,A.randomUrlString=(A.num--).toString()}),(function(){}))}function U(e){if(!A.file)return a.when();var t=i({method:"POST",url:"~/api/v1/settings/sysadmin/temp-image/"+R(),headers:{"Content-Type":void 0},data:{upload:A.file},transformRequest:function(e,t){var n=new FormData;return angular.forEach(e,(function(e,t){n.append(t,e)})),delete t()["Content-Type"],n}}).then((function(){e&&p.setLocalParam("loginPreviewChanges",{imageGuid:A.loginPreviewGuid})}),m.report);return A.file=void 0,t}function _(){p.setLocalParam("loginPreviewChanges",{isDomain:!0,customTitle:A.companyInfo.customLoginText,customHelpUrl:A.companyInfo.customHelpLinkEnabled?A.companyInfo.customHelpLink:"",customHelpText:A.companyInfo.customHelpLinkEnabled?A.companyInfo.customHelpText:"",customHtmlBlock:A.companyInfo.showLoginAreaHTML?A.companyInfo.htmlDisplayBadge:"",imageGuid:A.logoChanged?A.loginPreviewGuid:void 0,logoAction:A.logoAction})}function M(e){switch(e.toLowerCase()){case"deleted items":return r.instant("DELETED_ITEMS");case"inbox":return r.instant("INBOX");case"junk e-mail":return r.instant("JUNK_EMAIL");case"sent items":return r.instant("SENT_ITEMS");default:return e}}function F(e,t){var n=A.autoCleanSettings.domainRules.indexOf(e);-1!=n&&A.autoCleanSettings.domainRules.splice(n,1),t.$setDirty()}function B(){const e=(A.countrySearch||"").toLowerCase();A.filteredCountries=e?A.countries.filter((t=>t.translation.toLowerCase().includes(e))):A.countries}function H(e){if(A.blockedCountrySettings.isGlobal&&2===A.blockedCountrySettings.type){const e=A.domainSettings.systemBlockedCountries.map((function(e){return{key:e,translation:r.instant("COUNTRY_CODE_"+e)}}));e.sort(((e,t)=>e.translation.localeCompare(t.translation))),A.countries=e,A.filteredCountries=e,A.blockedCountrySettings.countryList.some((e=>""===e.item2))||A.blockedCountrySettings.countryList.push({item1:!1,item2:""})}else{const e=new Set,t=[];for(let n=0;n<A.blockedCountrySettings.countryList.length;n++){const i=A.blockedCountrySettings.countryList[n];if(i.item2){const n="object"==typeof i.item2?i.item2.key:i.item2;n&&""!==n&&(e.has(n)?m.report("ERROR_DUPLICATE_COUNTRIES_ARE_NOT_ALLOWED"):(e.add(n),t.push(i)))}}A.blockedCountrySettings.countryList=t,A.blockedCountrySettings.countryList.push({item1:!1,item2:""})}}function G(e,t,n){o.show({locals:{headerText:t,htmlContent:n,domainOverride:s("translate")("SYSTEM_POLICY"),context:"system",readOnly:!0},controller:"simpleHtmlViewController",controllerAs:"ctrl",templateUrl:"app/shared/modals/simple-html-viewer.dlg.html",targetEvent:e}).then((function(){}))}A.companyInfo=void 0,A.domainAliases=[],A.domainSettings=null,A.form=null,A.edition=1,A.num=1e3,A.iconPendingSave=!1,A.imagePendingSave=!1,A.pendingRemoveIcon=!1,A.pendingRemoveImage=!1,A.uploaderFunctionsIcon=!1,A.uploaderFunctionsImage=!1,A.logoAction="",A.loginPreviewGuid="",A.twoFactorSettingOptions=[{value:1,translation:"ENABLED"},{value:2,translation:"FORCED"}],A.allowUsersToOptOutOfGal=!1,A.autoCleanFolders=[],A.autoCleanInheritedRules=[],A.autoCleanInheritedRuleSource=null,A.showDomainAliasMenu=!1,A.allowUserProfileEdits=!0,A.allowCatchAll=!1,A.countries=[],A.filteredCountries=[],A.countrySearch="",A.editedAuthProviders={deletedProviderIds:[],updatedProviders:[],addedProviders:[]},A.searchedAlias="",A.loading=!0,A.contentReady=!1,A.reloadState=function(e){A.logoAction="revert",I(),e.$setPristine()},A.clearSearchTerm=function(){A.countrySearch="",B()},A.deleteCountryFromList=function(e,t){A.blockedCountrySettings.countryList.splice(e,1),A.countryListChanged(),t.$setDirty()},A.countryListChanged=H,A.updateCountryFilter=B,A.disableDkim=function(e){var t=r.instant("CONFIRMATIONS_DISABLE_DKIM");A.dkim.pending&&(t+=`\r\n${r.instant("CONFIRMATIONS_DISABLE_DKIM_PENDING")}`);var n=o.confirmDeletion().textContent(t).ok(s("translate")("DISABLE")).targetEvent(e);o.show(n).then(T,null)},A.editAlias=function(e,t,n){if(!A.canEditDomainAliases)return;o.show({locals:{name:t.name,idn:t.aliasIdn,domain:A.domain,domainIdn:A.domainIdn},controller:"domainEditDomainAliasController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/general-sett
347ings/domain-alias.dlg.html",targetEvent:e}).then((function(t){if(t.deleteAlias){var n=o.confirmDeletion().textContent(s("translate")("CONFIRMATIONS_DELETE_ITEMS_one")).targetEvent(e);o.show(n).then((function(){g.deleteAlias(t.deleteAlias).then(k,m.report)}),o.cancel)}else k()}),(function(){}))},A.enableDkim=function(e){u.enableDkim().then(x,m.report).then((function(){A.dkim.activeData?O(e):A.dkim.pending?L(e):D(e).then((function(){}),T)}),(function(){}))},A.newAlias=function(e,t){if(!A.canEditDomainAliases)return;o.show({locals:{name:void 0,idn:void 0,domain:A.domain,domainIdn:A.domainIdn},controller:"domainEditDomainAliasController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/general-settings/domain-alias.dlg.html",targetEvent:e}).then(k,(function(){}))},A.save=function(t,n){if(!n.$valid)return;A.allowUserProfileEdits||(A.allowUsersToOptOutOfGal=!1);var o={disableMailingListDeliveryAfterXBounces:A.domainSettings.disableMailingListDeliveryAfterXBounces,disableMailingListDeliveryAfterBouncesInXDays:A.domainSettings.disableMailingListDeliveryAfterBouncesInXDays,enableMailingListDayThreshold:A.domainSettings.enableMailingListDayThreshold,listCommandAddress:A.domainSettings.listCommandAddress,allowUserProfileEdits:A.allowUserProfileEdits,ldapDisallowOptOut:!A.allowUsersToOptOutOfGal,calendarPublicAvailability:A.calendarPublicAvailability,footerSettings:{allowOverride:A.footerAllowOverride,enabled:A.footerEnabled,applyToMailingLists:A.footerApplyToMailingLists,footerText:A.footerText},outgoingFileTypeRestriction:{blacklist:A.outgoingExtensionBlacklist},incomingFileTypeRestriction:{blacklist:A.incomingExtensionBlacklist},twoFactorSettings:{setting:A.domainSettings.twoFactorSettings.setting},acceptableUsePolicySettings:{html:A.domainSettings.acceptableUsePolicySettings.html,enabled:A.domainSettings.acceptableUsePolicySettings.enabled,version:A.domainSettings.acceptableUsePolicySettings.version,emailsEnabled:A.domainSettings.acceptableUsePolicySettings.emailsEnabled},allowSpamActionOverride:A.domainSettings.allowSpamActionOverride,authProviderInputs:A.editedAuthProviders,catchAll:A.domainSettings.catchAll??""};o.domainUrl=A.domainSettings.domainUrl,A.calAutoCleanSettings.allowDomainOverride&&(o.calendarAutoCleanOverrideActive=A.calAutoCleanSettings.domainOverrideActive,o.allowCalendarAutoCleanUserOverride=A.calAutoCleanSettings.allowUserOverride,o.CalendarAutoCleanMonths=A.calAutoCleanSettings.domainCalendarAutoCleanSetting);const a=[];for(var s=0;s<A.blockedCountrySettings.countryList.length;++s){const e=A.blockedCountrySettings.countryList[s];if(e&&""!==e.item2){const t="object"==typeof e.item2?e.item2.key:e.item2;t&&""!==t&&a.push(t)}}o.blockedCountriesAtAuth={type:A.blockedCountrySettings.type,countries:a},A.domainSettings.externalSenderOverrideSettings.allowOverride&&(o.externalSenderSettings={enabled:A.domainSettings.externalSenderOverrideSettings.overrideActive,add_to_body:A.domainSettings.externalSenderSettings.add_to_body,add_to_subject:A.domainSettings.externalSenderSettings.add_to_subject,subject_text:A.domainSettings.externalSenderSettings.subject_text,body_text:A.domainSettings.externalSenderSettings.body_text,whitelist:A.domainSettings.externalSenderSettings.whitelist});i.post("~/api/v1/settings/domain/domain",JSON.stringify({domainSettings:o})).then((function(e){return e.data&&e.data.message&&e.data.message.includes("AUTHENTICATION_PROVIDER_CANNOT_DELETE_IN_USE_ERROR_MESSAGE")&&m.warn("AUTHENTICATION_PROVIDER_CANNOT_DELETE_IN_USE_ERROR_MESSAGE"),A.imagePendingSave?A.uploaderFunctionsImage.startUpload():A.pendingRemoveImage?i.post("~/api/v1/companyinfo/logo-delete/"+A.domain+"/"):void 0}),(function(e){"BLOCKING_AUTHENTICATION_TO_THE_COUNTRY_ERROR_MESSAGE"===e.data.message&&I(),m.report(e)})).then((function(e){return A.imagePendingSave&&e&&e.link?(A.companyInfo.logoUrl=e.link,A.imagePendingSave=!1):A.pendingRemoveImage&&(A.companyInfo.logoUrl="",A.pendingRemoveImage=!1),A.iconPendingSave?A.uploaderFunctionsIcon.startUpload():A.pendingRemoveIcon?i.post("~/api/v1/companyinfo/favicon-delete/"+A.domain+"/"):void 0}),m.report).then((function(){var e={customHelpLink:A.companyInfo.customHelpLink,customHelpLinkEnabled:A.companyInfo.customHelpLinkEnabled,customHelpText:A.companyInfo.customHelpText,customTitleText:A.companyInfo.customTitleText,customLoginText:A.companyInfo.customLoginText,customLoginTextEnabled:!!A.companyInfo.customLoginText,showLoginAreaHTML:A.companyInfo.showLoginAreaHTML,htmlDisplayBadge:A.companyInfo.htmlDisplayBadge,logoImage:A.companyInfo.logoUrl};return i.post(`~/api/v1/companyinfo/${A.domain}/`,JSON.stringify({companyInfo:e}))}),m.report).then((function(){if(A.autoCleanSettings.allowDomainOverride){var e={domainOverrideActive:A.autoCleanSettings.domainOverrideActive,allowUserOverride:A.autoCleanSettings.allowUserOverride,domainRules:A.autoCleanSettings.domainRules};return i.post("~/api/v1/settings/auto-clean-domain",JSON.stringify(e))}}),m.report).then((function(){var e={stunTurnServers:A.webRtcServers};return i.post("~/api/v1/settings/domain/webrtc-config",JSON.stringify(e))}),m.report).then((function(){var e={maxMessageSign:A.dkim.maxMessageSign,canonicalizationBody:A.dkim.dkimCanonicalizationAlgorithmBody,canonicalizationHeader:A.dkim.dkimCanonicalizationAlgorithmHeader,fieldOption:A.dkim.dkimHeaderFieldOption,fields:A.dkim.dkimHeaderFields};return i.post("~/api/v1/settings/domain/dkim-settings-set",JSON.stringify(e))}),m.report).then((function(){0!==o.twoFactorSettings.setting?d.userPermissions.enableTwoFactor=!0:d.userPermissions.enableTwoFactor=!1,d.userPermissions.twoFactorTypes=[1,2],2!==o.twoFactorSettings.setting&&d.userPermissions.twoFactorTypes.push(0),n.$setPristine(),e.$broadcast("domain-settings:changed"),A.logoAction="replace",A.previewingLogin&&_(),A.countryListChanged(),I()}),m.report)},A.autoCleanNewRule=function(e,t){for(var n="Deleted Items",i=0;i<A.autoCleanFolders.length;i++)if("deleted items"===A.autoCleanFolders[i].name.toLowerCase()){
347n=A.autoCleanFolders[i].name;break}o.show({locals:{folderName:n,folders:A.autoCleanFolders,processGoal:75,processThreshold:100,thresholdDays:30,type:0,enabled:!0,newItem:!0},controller:"userEditAutoCleanController",controllerAs:"ctrl",templateUrl:"app/settings/shared/edit-auto-clean.dlg.html",targetEvent:e}).then((function(e){e.rule.processGoalBytes=1024*e.rule.processGoalMb*1024,e.rule.processThresholdBytes=1024*e.rule.processThresholdMb*1024,e.rule.translatedPath=M(e.rule.folderName),A.autoCleanSettings.domainRules.push(e.rule),t.$setDirty()}))},A.autoCleanEditRule=function(e,t,n){o.show({locals:{folderName:t.folderName,folders:A.autoCleanFolders,processGoal:t.processGoalMb,processThreshold:t.processThresholdMb,thresholdDays:t.thresholdDays,type:t.type,enabled:t.enabled,newItem:!1},controller:"userEditAutoCleanController",controllerAs:"ctrl",templateUrl:"app/settings/shared/edit-auto-clean.dlg.html",targetEvent:e}).then((function(e){e.deleteItem?F(t,n):(e.rule.id=t.id,e.rule.processGoalBytes=1024*e.rule.processGoalMb*1024,e.rule.processThresholdBytes=1024*e.rule.processThresholdMb*1024,e.rule.translatedPath=M(e.rule.folderName),F(t,n),A.autoCleanSettings.domainRules.push(e.rule),n.$setDirty())}))},A.autoCleanDeleteItem=F,A.autoCleanGetCleanBottomString=function(e){switch(e.type){case 0:var t=s("bytes")(e.processThresholdBytes,1),n=s("bytes")(e.processGoalBytes,1);return s("translate")("AUTO_CLEAN_SUMMARY_SIZE",{over:t,reduce:n});case 1:return s("translate")("AUTO_CLEAN_SUMMARY_TIME_IN_FOLDER",{days:e.thresholdDays});case 2:return s("translate")("AUTO_CLEAN_SUMMARY_MESSAGE_AGE",{days:e.thresholdDays})}},A.webRtcNewServer=function(e,t){o.show({locals:{server:null,newItem:!0},controller:"editStunServerController",controllerAs:"ctrl",templateUrl:"app/shared/modals/stun-server.dlg.html",targetEvent:e}).then((function(e){e.server.uris=e.server.urlstring&&e.server.urlstring.split(/[\r\n]+/),e.server.uris.sort(),e.server.urlstring=null,A.webRtcServers.push(e.server),A.webRtcServers.sort((function(e,t){return(e.uris[0]||"").localeCompare(t.uris[0]||"")})),t.$setDirty()}),(function(){}))},A.webRtcEditServer=function(e,t,n){o.show({locals:{server:{serverType:t.serverType,urlstring:t.uris.join("\r\n"),username:t.username,credential:t.credential},newItem:!1},controller:"editStunServerController",controllerAs:"ctrl",templateUrl:"app/shared/modals/stun-server.dlg.html",targetEvent:e}).then((function(e){var i;if(e.deleteItem)return(i=A.webRtcServers.indexOf(t))>-1&&A.webRtcServers.splice(i,1),void n.$setDirty();e.server.uris=e.server.urlstring&&e.server.urlstring.split(/[\r\n]+/),e.server.uris.sort(),e.server.urlstring=null,(i=A.webRtcServers.indexOf(t))>-1&&A.webRtcServers.splice(i,1,e.server),A.webRtcServers.sort((function(e,t){return(e.uris[0]||"").localeCompare(t.uris[0]||"")})),n.$setDirty()}),(function(){}))},A.adjustLogoHover=function(){$(".profile-setting-logo #logo-hover").css({width:$(".profile-setting-logo img").width()})},A.imagePreviewIcon=function(e){A.faviconUrl=e,A.form.$setDirty(),A.iconPendingSave=!0},A.imagePreviewImage=function(e,t){A.file=t,A.previewingLogin&&U(!0);A.logoAction="",A.logoUrl=e,A.form.$setDirty(),A.imagePendingSave=!0,A.logoChanged=!0},A.removePicture=function(e,t){"logo"==(e?"logo":"favicon")?(A.logoUrl=null,A.pendingRemoveImage=!0,A.imagePendingSave=!1,p.setLocalParam("loginPreviewChanges",{imageGuid:""}),A.logoChanged=!0,A.logoAction="",A.loginPreviewGuid=""):(A.faviconUrl=null,A.pendingRemoveIcon=!0,A.iconPendingSave=!1);A.form.$setDirty()},A.uploadFile=function(e,t){e&&-1!==e&&500!==e.code?N():m.report("ERROR_UPLOADING")},A.uploaderInitIcon=function(e){A.uploaderFunctionsIcon=e},A.uploaderInitImage=function(e){A.uploaderFunctionsImage=e},A.addDkimRollover=D,A.openDkimFieldsModal=function(e){o.show({controller:"mailSigningFieldsDialogController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/general-settings/modals/mail-signing-fields.dlg.html",targetEvent:e,locals:{fields:A.dkim.dkimHeaderFields}}).then((function(e){A.dkim.dkimHeaderFields=e.fields,A.form.$setDirty()}),(function(){}))},A.viewActiveDkimKey=O,A.viewPendingDkimKey=L,A.openExternalWhitelistModal=function(e,t){const n=angular.copy(A.domainSettings.externalSenderOverrideSettings.overrideActive?A.domainSettings.externalSenderSettings.whitelist:A.domainSettings.externalSenderOverrideSettings.defaultWhitelist);o.show({locals:{extensions:n,title:"KNOWN_EXTERNAL_DOMAINS",isReadOnly:!A.domainSettings.externalSenderOverrideSettings.overrideActive,blockFilesWithNoExtension:!1},controller:"extensionBlacklistDialogController",controllerAs:"ctrl",templateUrl:"app/settings/shared/extension-blacklist.dlg.html",targetEvent:e}).then((function(e){if(A.domainSettings.externalSenderOverrideSettings.overrideActive){var n=$.grep(e.extensions,(e=>(e||"").trim()));A.domainSettings.externalSenderSettings.whitelist=n,A.domainSettings.externalSenderOverrideSettings.whitelist=n,t.$setDirty()}}),(function(){}))},A.openFooterBody=function(e,t){o.show({locals:{footerText:A.permissions.footerSettingsAllowOverride&&A.footerAllowOverride?A.footerText:A.systemFooterText,domainOverride:A.domain,context:"domain",readOnly:!A.permissions.footerSettingsAllowOverride||!A.footerAllowOverride}
347,controller:"domainFooterController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/email-customization/email-footer.dlg.html",targetEvent:e}).then((function(e){A.footerText!==e&&(A.footerText=e,t.$setDirty())}))},A.openHtmlLoginModal=function(e,t){o.show({locals:{body:A.companyInfo.htmlDisplayBadge},controller:"domainEditLoginHtmlController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/general-settings/login-html.dlg.html",targetEvent:e}).then((function(e){A.companyInfo.htmlDisplayBadge!==e&&(A.companyInfo.htmlDisplayBadge=e,t.$setDirty(),p.setLocalParam("loginPreviewChanges",{customHtmlBlock:A.companyInfo.htmlDisplayBadge}))}),(function(){}))},A.openHtmlAUPModal=function(e,t){o.show({locals:{body:A.domainSettings.acceptableUsePolicySettings.html},controller:"domainEditAUPHtmlController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/general-settings/aup-html.dlg.html",targetEvent:e}).then((function(e){A.domainSettings.acceptableUsePolicySettings.html!==e.body&&(A.domainSettings.acceptableUsePolicySettings.html=e.body,e.update&&(A.domainSettings.acceptableUsePolicySettings.version=A.domainSettings.acceptableUsePolicySettings.version+1),t.$setDirty())}),(function(){}))},A.openLoginPreview=function(){A.logoChanged?U().then(e,m.report):e();function e(){A.previewingLogin=!0,_();var e=window.location.href.split("#")[0]+"#/popout/login-preview";A.previewWindow=window.open(e,"login-preview","resizable=1, "+v.dimensions.loginPreview)}},A.openIncomingExtensionBlacklist=function(e,t){o.show({locals:{extensions:angular.copy(A.incomingExtensionBlacklist),title:"INBOUND_EXTENSION_BLACKLIST",isReadOnly:!1,blockFilesWithNoExtension:!1},controller:"extensionBlacklistDialogController",controllerAs:"ctrl",templateUrl:"app/settings/shared/extension-blacklist.dlg.html",targetEvent:e}).then((function(e){A.incomingExtensionBlacklist=e.extensions,t.$setDirty()}),(function(){}))},A.openOutgoingExtensionBlacklist=function(e,t){o.show({locals:{extensions:angular.copy(A.outgoingExtensionBlacklist),title:"OUTBOUND_EXTENSION_BLACKLIST",isReadOnly:!1,blockFilesWithNoExtension:!1},controller:"extensionBlacklistDialogController",controllerAs:"ctrl",templateUrl:"app/settings/shared/extension-blacklist.dlg.html",targetEvent:e}).then((function(e){A.outgoingExtensionBlacklist=e.extensions,t.$setDirty()}),(function(){}))},A.editMailingListHelpMessage=function(e){if(!A.mailingListHelpMessage)return;function t(){i.get("~/api/v1/settings/domain/mailing-lists/0/system-messages").then(b,m.report)}o.show({locals:{message:A.mailingListHelpMessage,listId:0},controller:"sharedEditSystemMessageController",controllerAs:"ctrl",templateUrl:"app/settings/shared/mailing-lists/modals/message.dlg.html",targetEvent:e}).then((function(n){if(n.reset){var a=o.confirmDeletion().textContent(s("translate")("CONFIRMATIONS_RESET_SYSTEM_MESSAGE")).ok(s("translate")("RESET")).targetEvent(e);o.show(a).then((function(){i.post("~/api/v1/settings/domain/mailing-lists/0/system-messages/reset",JSON.stringify([A.mailingListHelpMessage.name])).then(t,m.report)}),(function(){}))}else{var r={name:A.mailingListHelpMessage.name,subject:n.subject,body:n.body};i.post("~/api/v1/settings/domain/mailing-lists/0/system-message",JSON.stringify(r)).then(t,m.report)}}))},A.customHelpTextChanged=function(){p.setLocalParam("loginPreviewChanges",{customHelpText:A.companyInfo.customHelpLinkEnabled?A.companyInfo.customHelpText:""})},A.customHelpUrlChanged=function(){p.setLocalParam("loginPreviewChanges",{customHelpUrl:A.companyInfo.customHelpLinkEnabled?A.companyInfo.customHelpLink:""})},A.customLoginTextChanged=function(){p.setLocalParam("loginPreviewChanges",{customTitle:A.companyInfo.customLoginText})},A.customLoginPageHtmlEnabledChanged=function(){A.companyInfo.showLoginAreaHTML?p.setLocalParam("loginPreviewChanges",{customHtmlBlock:A.companyInfo.htmlDisplayBadge}):p.setLocalParam("loginPreviewChanges",{customHtmlBlock:""})},function(){function n(){A.previewWindow&&A.previewWindow.close()}I(),w(),l.watchForChanges(t,w),t.$on("$destroy",(function(){n(),window.removeEventListener("beforeunload",n)}
347)),window.addEventListener("beforeunload",n),e.$on("signalR.mailHub.client.dkimRecordsUpdated",P)}(),A.openReadonlyBody=function(e){G(e,s("translate")("BODY"),A.domainSettings.externalSenderOverrideSettings.defaultBodyText)},A.openReadonlySubject=function(e){G(e,s("translate")("SUBJECT"),A.domainSettings.externalSenderOverrideSettings.defaultSubjectText)},A.authProviderFilter=function(e){return!e.providerId||!A.editedAuthProviders.deletedProviderIds.includes(e.providerId)},A.editAuthProvider=function(e,t){o.show({locals:{existingProvider:t},controller:"directoryServiceProviderController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/general-settings/modals/directory-service-provider.html",targetEvent:e}).then((function(e){if(A.form.$setDirty(),e.delete)t&&!t.providerId?(A.authProviders=A.authProviders.filter((e=>e!==t)),A.editedAuthProviders.addedProviders=A.editedAuthProviders.addedProviders.filter((e=>e!==t))):A.editedAuthProviders.deletedProviderIds.push(t.providerId);else{const n={providerId:t.providerId,providerType:e.providerType,providerName:e.providerName,serverName:e.serverName,serverPort:e.serverPort,encryption:e.encryption,ldapBaseDn:e.ldapBaseDn,ldapUsername:e.ldapUsername,ldapPassword:e.ldapPassword,saveCredentials:e.saveCredentials,fqdn:e.fqdn,organizationalUnit:e.organizationalUnit},i=A.authProviders.indexOf(t);i>-1&&A.authProviders.splice(i,1),A.authProviders.push(n),A.editedAuthProviders.updatedProviders.push(n)}}))},A.newAuthProvider=function(e){o.show({locals:{existingProvider:void 0},controller:"directoryServiceProviderController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/general-settings/modals/directory-service-provider.html",targetEvent:e}).then((function(e){A.form.$setDirty();const t={providerType:e.providerType,providerName:e.providerName,serverName:e.serverName,serverPort:e.serverPort,encryption:e.encryption,ldapBaseDn:e.ldapBaseDn,ldapUsername:e.ldapUsername,ldapPassword:e.ldapPassword,saveCredentials:e.saveCredentials,fqdn:e.fqdn,organizationalUnit:e.organizationalUnit};A.authProviders.push(t),A.editedAuthProviders.addedProviders.push(t)}))},A.authProviderLabel=function(e,t){let n="";switch(e){case 0:n=s("translate")("SMARTERMAIL");break;case 1:n=s("translate")("ACTIVE_DIRECTORY");break;case 3:n=s("translate")("LDAP");break;default:n=s("translate")("UNKNOWN")}return t?`${n}: ${t}`:n},t.query=function(e){return A.userAliases&&A.userAliases.length?A.userAliases.filter((t=>t.startsWith(e))):A.userAliases}}e.$inject=["$rootScope","$scope","$state","$http","$mdDialog","$q","$filter","$translate","coreLicensing","coreDataSettings","coreDataDomainSettings","errorHandling","domainAliasesData","mailSigningData","preferencesStorage","popupService","claimsService","userDataService","successHandling","i18n","masonryReveal"],angular.module("smartermail").controller("domainGeneralSettingsController",e)}();
348!function(){"use strict";function o(o,t,e,n){o.editorScope={},o.body=n,o.onFroalaInitialized=function(){$("st-html-editor textarea.froalaEditor")[0]["data-froala.editor"].events.focus()},o.save=function(){const n=o.editorScope.getHtml();e((function(){t.hide(n)}))},o.cancel=function(){t.cancel()}}o.$inject=["$scope","$mdDialog","$timeout","body"],angular.module("smartermail").controller("domainEditLoginHtmlController",o)}();
349!function(){"use strict";function i(i,e,n){var t=this;function a(){var i=e.defer();return n((function(){i.resolve()}),1e3),i.promise}t.getSettings=function(){var n=e.defer();return i.get("~/api/v1/settings/domain/domain").then((function(i){var e=i.data.domainSettings.domainKeysSettings,t={canonicalizationBody:e.dkimCanonicalizationAlgorithmBody,canonicalizationHeader:e.dkimCanonicalizationAlgorithmHeader,fieldOption:e.dkimHeaderFieldOption,fields:e.dkimHeaderFields||"",publicKey:e.publicKey,selector:e.selector,keySize:e.keySize,maxMessageSign:e.maxMessageSign,pending:e.pending,isActive:e.isActive,forced:e.forced};n.resolve(t)}),n.reject),n.promise},t.saveSettings=function(e){return i.post("~/api/v1/settings/domain/dkim-settings",JSON.stringify(e))},t.enableDkim=function(){var n=e.defer();return e.all([i.post("~/api/v1/settings/domain/dkim-enable"),a()]).then((function(i){n.resolve(i[0])}),(function(i){n.reject(i[0])})),n.promise},t.disableDkim=function(){return i.post("~/api/v1/settings/domain/dkim-disable")}}i.$inject=["$http","$q","$timeout"],angular.module("smartermail").service("mailSigningData",i)}();
350!function(){"use strict";function e(e,r,s,o,u,a,c){var i=/[\`\~\$\^\&\!\=\+\#\{\}\%\(\)\,\;\[\]\*\<\>\:\/\|\"\?\'\\\s\@]/g;e.oldResource=a,e.resource=angular.copy(a),e.isPublicFolder=c,e.userPermissions=[],e.groupPermissions=[],e.userGroups=[],e.selectedItem=[];const n=[{value:2,shared_resource_type:2,translation:"SHARED_RESOURCES_CONFERENCE_ROOM"},{value:2,shared_resource_type:3,translation:"SHARED_RESOURCES_EQUIPMENT"}];function t(){(e.resource.folderName&&2===e.resource.type.shared_resource_type||3===e.resource.type.shared_resource_type)&&(e.resource.emailAlias=e.resource.folderName.replaceAll(i,"_").toLowerCase(),e.resourcesForm.emailAlias&&(e.resourcesForm.emailAlias.$dirty=!0,e.resourcesForm.emailAlias.$pristine=!1))}e.shareAccessOptions=[{value:0,label:s("translate")("MAPPED_RESOURCES_ACCESS_0"),group:!1},{value:4,label:s("translate")("MAPPED_RESOURCES_ACCESS_4"),group:!0}
350,{value:8,label:s("translate")("MAPPED_RESOURCES_ACCESS_8"),group:!0}],e.filterByResourceType=function(r){return 4!==r.value||!n.some((r=>r.shared_resource_type===e.resource.type.shared_resource_type))},e.itemOptions=c?[{value:1,shared_resource_type:4,translation:"CONTACTS"},{value:2,shared_resource_type:1,translation:"CALENDAR"},{value:4,shared_resource_type:5,translation:"TASKS"},{value:5,shared_resource_type:6,translation:"NOTES"}]:n,e.maximumBookingWindowOptions=[{value:0,label:s("translate")("BOOKING_WINDOW_3_MONTHS")},{value:1,label:s("translate")("BOOKING_WINDOW_6_MONTHS")},{value:2,label:s("translate")("BOOKING_WINDOW_1_YEAR")},{value:3,label:s("translate")("BOOKING_WINDOW_2_YEARS")},{value:4,label:s("translate")("BOOKING_WINDOW_NO_LIMIT")}],e.removeUser=function(r,s){e.selectedItem.splice(r,1),e.userPermissions.splice(r,1),s.$setDirty()},e.removeGroup=function(r,s){e.groupPermissions.splice(r,1),s.$setDirty()},e.queryUsers=function(e){return o.queryUsers(e,!1)},e.onEmailChanged=function(r,s,o){var u=o["email"+s].$viewValue;u&&u.length>0&&r&&(2==e.resource.type.shared_resource_type||3==e.resource.type.shared_resource_type?e.userPermissions.push({access:8,user:{username:""}}):e.userPermissions.push({access:4,user:{username:""}}))},e.onEmailBlurred=function(r,s,o){var u=o["email"+s].$viewValue;u&&0!==u.length||r||(e.selectedItem.splice(s,1),e.userPermissions.splice(s,1))},e.onGroupChanged=function(r){r&&(2==e.resource.type.shared_resource_type||3==e.resource.type.shared_resource_type?e.groupPermissions.push({access:8,group:e.userGroups[0]}):e.groupPermissions.push({access:4,group:e.userGroups[0]}))},e.onTypeChanged=function(){if(2==e.resource.type.shared_resource_type||3==e.resource.type.shared_resource_type){for(var r=0;r<e.userPermissions.length;++r)2!==e.userPermissions[r].access&&4!==e.userPermissions[r].access||(e.userPermissions[r].access=8);for(r=0;r<e.groupPermissions.length;++r)2!==e.groupPermissions[r].access&&4!==e.groupPermissions[r].access||(e.groupPermissions[r].access=8)}t()},e.onNameChanged=t,e.deleteThis=function(e){r.hide({action:"delete"})},e.save=function(s,o){if(o.$invalid)return;e.resource.folderId||(e.resource.folderType=e.resource.type.value,e.resource.sharedResourceType=e.resource.type.shared_resource_type);e.resource.admin_access=0,e.resource.everyone_access=0,e.resource.users=[],e.resource.userGroups=[];for(var u=0;u<e.groupPermissions.length;u++){(a=e.groupPermissions[u]).group.userGroupId&&e.resource.userGroups.push({groupName:a.group.name,userGroupId:a.group.userGroupId,access:a.access})}for(u=0;u<e.userPermissions.length;u++){var a;(a=e.userPermissions[u]).username&&e.resource.users.push({username:a.username,access:a.access})}r.hide({resource:e.resource})},e.cancel=function(){r.cancel()},function(){e.resource.type=e.itemOptions[0];for(let r=0;r<e.itemOptions.length;r++){const s=e.itemOptions[r];if(s.value===e.resource.folderType&&s.shared_resource_type===e.resource.sharedResourceType){e.resource.type=s;break}}void 0===e.resource.enabled&&(e.resource.enabled=!0);e.userGroups.push({groupName:s("translate")("SELECT_A_GROUP"),userGroupId:void 0,selectText:!0}),e.userGroups.push({groupName:s("translate")("EVERYONE"),userGroupId:-1,isEveryone:!0}),e.userGroups.push({groupName:s("translate")("SHARED_RESOURCES_ADMIN"),userGroupId:-2,isAdmins:!0});for(let r=0;r<u.length;r++)e.userGroups.push({groupName:u[r].name,userGroupId:u[r].id});angular.forEach(e.resource.accessUsers,(function(r){2!==e.resource.sharedResourceType&&3!==e.resource.sharedResourceType||2!==r.access&&4!==r.access||(r.access=8),e.userPermissions.push(r)})),2==e.resource.type.shared_resource_type||3==e.resource.type.shared_resource_type?e.userPermissions.push({access:8,user:{username:""}}):e.userPermissions.push({access:4,user:{username:""}});angular.forEach(e.resource.accessGroups,(function(r){2!==e.resource.type.shared_resource_type&&3!==e.resource.type.shared_resource_type||!e.resource.isDomainResource||2!==r.access&&4!==r.access||(r.access=8),e.groupPermissions.push(r)})),(2===e.resource.sharedResourceType||3===e.resource.sharedResourceType||2===e.resource.type.shared_resource_type||3===e.resource.type.shared_resource_type)&&(e.shareAccessOptions[0].label=s("translate")("MAPPED_RESOURCES_ACCESS_20"),e.shareAccessOptions[2].label=s("translate")("MAPPED_RESOURCES_ACCESS_21"));e.groupPermissions.length>0&&angular.forEach(e.groupPermissions,(function(r){for(var s=0;s<e.userGroups.length;s++)if(r.userGroupId==e.userGroups[s].userGroupId){r.group=e.userGroups[s];break}}
350));2==e.resource.type.shared_resource_type||3==e.resource.type.shared_resource_type?e.groupPermissions.push({access:8,group:e.userGroups[0]}):e.groupPermissions.push({access:4,group:e.userGroups[0]});void 0!==e.resource.maximumBookingWindow&&null!==e.resource.maximumBookingWindow||(e.resource.maximumBookingWindow=1)}()}e.$inject=["$scope","$mdDialog","$filter","coreDataSettings","userGroups","resource","isPublicFolder"],angular.module("smartermail").controller("domainSharedResourceDialogController",e)}();
351!function(){"use strict";function e(e,r,s,o,t,n,i,a,u,l,c){var d=this;function p(){return o.get("~/api/v1/settings/domain/all-user-groups").then((function(e){d.userGroups=e.data.userGroupCollection.customUserGroups||[]}),l.report)}function m(e){const r=t.confirmDeletion().textContent(s("translate")("CONFIRMATIONS_DELETE_ITEMS_one")).targetEvent(event);t.show(r).then((function(){o.post("~/api/v1/settings/domain/shared-resources/delete",JSON.stringify({id:e.folderId})).then((function(){f(),u.reloadOnEnterCalendar=!0,u.resetSources()}),l.report)}))}function f(){o.get("~/api/v1/settings/domain/shared-resources/list").then((function(e){d.resources=[],d.publicFolders=[];const r=e.data.virtualFolders||[];for(let e=0;e<r.length;e++){const s=r[e];2!==s.folderType||1===s.sharedResourceType?d.publicFolders.push(s):d.resources.push(s)}}),l.report)}d.resources=[],d.publicFolders=[],d.userDomainSettings={},d.searchParamsUserGroups={skip:0,take:0,search:null,sortField:null,sortDescending:!1},d.userList=[],d.editPublicFolder=function(e,r){t.show({controller:"domainSharedResourceDialogController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/shared-resources/shared-resource.dlg.html",targetEvent:e,locals:{resource:r,isPublicFolder:!0},userGroups:d.userGroups}).then((function(e){if("delete"!==e.action){var s=e.resource,t=JSON.stringify({folderId:r.folderId,folderName:s.folderName});o.post("~/api/v1/settings/domain/shared-resources/rename",t).then((function(){t=JSON.stringify({folderId:r.folderId,accessUsers:s.users,accessGroups:s.userGroups}),o.post("~/api/v1/settings/domain/shared-resources/update-shares",t).then((function(){f()})),u.reloadOnEnterCalendar=!0,u.resetSources()}),l.report)}else m(r)}),(function(){}))},d.editResource=function(e,r){t.show({controller:"domainSharedResourceDialogController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/shared-resources/shared-resource.dlg.html",targetEvent:e,locals:{resource:r,isPublicFolder:!1},userGroups:d.userGroups}).then((function(e){if("delete"!==e.action){var s=e.resource,t=JSON.stringify({folderId:r.folderId,folderName:s.folderName});o.post("~/api/v1/settings/domain/shared-resources/rename",t).then((function(){t=JSON.stringify({folderId:r.folderId,accessUsers:s.users,accessGroups:s.userGroups,maximumBookingWindow:s.maximumBookingWindow}),o.post("~/api/v1/settings/domain/shared-resources/update-shares",t).then((function(){f()})),u.reloadOnEnterCalendar=!0,u.resetSources()}),l.report)}else m(r)}),(function(){}))},d.newPublicFolder=function(e){t.show({controller:"domainSharedResourceDialogController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/shared-resources/shared-resource.dlg.html",targetEvent:e,locals:{resource:{folderType:2,sharedResourceType:1},isPublicFolder:!0},userGroups:d.userGroups}).then((function(e){var r=e.resource,s=JSON.stringify({folderName:r.folderName,emailAlias:r.emailAlias,folderType:r.type.value,sharedResourceType:r.type.shared_resource_type,accessUsers:r.users,accessGroups:r.userGroups});o.post("~/api/v1/settings/domain/shared-resources/create",s).then((function(){u.reloadOnEnterCalendar=!0,u.resetSources(),f()}),l.report)}),(function(){}))},d.newResource=function(e){t.show({controller:"domainSharedResourceDialogController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/shared-resources/shared-resource.dlg.html",targetEvent:e,locals:{resource:{folderType:2,sharedResourceType:2},isPublicFolder:!1},userGroups:d.userGroups}).then((function(e){var r=e.resource,s=JSON.stringify({folderName:r.folderName,emailAlias:r.emailAlias,folderType:r.type.value,sharedResourceType:r.type.shared_resource_type,accessUsers:r.users,accessGroups:r.userGroups,maximumBookingWindow:r.maximumBookingWindow});o.post("~/api/v1/settings/domain/shared-resources/create",s).then((function(){u.reloadOnEnterCalendar=!0,u.resetSources(),f()}),l.report)}),(function(){}))},d.setClickedRow=function(e,r){if(r._checked=!r._checked,r._checked)d.selectedUsers.push(r);else{var s=d.selectedUsers.indexOf(r);-1!==s&&d.selectedUsers.splice(s,1)}},d.newUserGroup=function(e){t.show({locals:{id:void 0,name:void 0,usernames:[]},controller:"domainEditUserGroupController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/users/edit-user-group.dlg.html",targetEvent:e}).then((function(e){var r=JSON.stringify({userGroup:{name:e.name,userNames:e.grouped,type:2}});o.post("~/api/v1/settings/domain/user-group-put",r).then(p,l.report)}),(function(){}))},d.editUserGroup=function(e,r){t.show({locals:{id:e.id,name:e.name,usernames:e.userNames},controller:"domainEditUserGroupController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/users/edit-user-group.dlg.html",targetEvent:r}).then((function(r){var s=JSON.stringify({userGroup:{name:r.name,userNames:r.grouped,id:e.id}});o.post("~/api/v1/settings/domain/user-group",s).then(p,l.report)}),(function(){}))},function(){function s(){}a.watchForChanges(r,s),p(),f(),n.settingsData.userList.then((function(e){d.userList=e||[]}),(function(){})),i.init().then((function(){d.userDomainSettings=i.userDomainSettings}),(function(){})),e.$on("refreshUsersGrid",p)}()}e.$inject=["$rootScope","$scope","$filter","$http","$mdDialog","coreDataDomainSettings","coreDataSettings","coreLicensing","coreDataCalendar","errorHandling","i18n"],angular.module("smartermail").controller("domainSharedResourcesController",e)}();
352!function(){"use strict";function n(n,t,i,e,s,o,r,a,l){const d=this;var f=l.create(t);function c(){n.spinner.show(),i.get("~/api/v1/settings/domain/password-settings").then((function(n){d.systemDefaults=n.data.systemDefaults,d.domainOverrides=n.data.overrides,d.systemDefaults.length=d.systemDefaults.passLe
352ngthEnabled?d.systemDefaults.length:3,d.notificationTimings=e("orderBy")(d.domainOverrides.expiration.notificationTimings,null,!0).join(", "),d.loading=!1,f.wait((function(){d.contentReady=!0}))}),(function(){})).finally(n.spinner.hide)}d.loading=!0,d.contentReady=!1,d.save=function(t,s){if(s.$invalid)return void a.report("CORRECT_INVALID_FIELDS");for(var o=d.notificationTimings.split(","),r=[],l=0;l<o.length;l++)r.push(Number(o[l].trim()));d.domainOverrides.expiration.notificationTimings=e("orderBy")(r,null,!0);var f=JSON.stringify(d.domainOverrides);n.spinner.show(),i.post("~/api/v1/settings/domain/password-settings",f).then((function(n){n.data.message&&(a.warn(e("translate")("SETTINGS_CONTROLLED_BY_SYSTEM_ADMIN")),c()),s.$setPristine()}),a.report).finally(n.spinner.hide)},d.doCancel=function(n,t){if(!t.$dirty)return;r.show(r.confirmRevertChanges().targetEvent(n)).then((function(){c(),t.$setPristine()}),(function(){}))},c()}n.$inject=["$rootScope","$scope","$http","$filter","$state","$timeout","$mdDialog","errorHandling","masonryReveal"],angular.module("smartermail").controller("domainSecurityPassSettingsController",n)}();
353!function(){"use strict";function e(e,n,a,i,t,o,s,r,d,l,p,c,m,g,u,f){var h=this,v=f.create(n);function S(){h.edition=s.edition,h.activeSyncLicensed=s.hasEas,h.mapiEwsLicensed=s.hasMapiEws,h.isEnterprise=s.edition!==s.EDITION_PROFESSIONAL,!s.hasEnterpriseFunctionality&&h.data&&h.data.services&&(h.data.services.xmpp=!1)}function O(){h.loading=!0,h.contentReady=!1,e.spinner.show();const n=[a.get("~/api/v1/settings/domain/user-defaults"),a.get("~/api/v1/settings/domain/domain-aliases")];o.all(n).then((function(e){h.data=e[0].data.settings,h.enableGreylisting=!e[0].data.settings.disableGreylisting,h.mailboxSpaceInput=h.data.maxMailboxSize/1048576,h.previewPaneOption=h.data.previewUsePreview?"right":"none",h.data.defaultComposeDomain=h.data.defaultComposeDomain?h.data.defaultComposeDomain:"",h.domainAliases=e[1].data.domainAliasData,S(),i((function(){$("#timeZoneSearch").on("keydown",(function(e){e.stopPropagation()})),$("#textEncodeSearch").on("keydown",(function(e){e.stopPropagation()}))}))}),c.report).finally((function(){h.isLoaded=!0,e.spinner.hide(),e.$broadcast("masonry:contentsChanged"),h.loading=!1,v.wait((function(){h.contentReady=!0}))}))}h.loading=!0,h.contentReady=!1,h.enableSpamfoo=window.stEnableSpamfoo,h.settingCore=d,h.domain=e.secondaryImpersonationDomain||l.user.domain,h.timeZoneSearch="",h.textEncodeSearch="",h.isLoaded=!1,h.edition=1,h.canChangeGreylist=!1,h.availableIndexers=[],h.mailboxSpaceInput=0,h.availableLocales=[],h.allowedSizeChanges=!1,h.enableGreylisting=!1,h.clearSearchTerm=function(){h.timeZoneSearch="",h.textEncodeSearch=""},h.openPropagateModal=function(n){h.data.previewPaneOption=h.previewPaneOption,t.show({locals:{modUser:h.data,domain:e.secondaryImpersonationDomain||p.user.domain},controller:"domainUserPropagationController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/user-defaults/propagation.dlg.html",targetEvent:n})},h.save=function(n,i){if(!i.$valid)return;h.data.previewUsePreview="none"!==h.previewPaneOption,h.data.maxMailboxSize=1048576*h.mailboxSpaceInput,h.data.disableGreylisting=!h.enableGreylisting,e.spinner.show(),a.post("~/api/v1/settings/domain/user-defaults",JSON.stringify(h.data)).then((function(){i.$setPristine(),i.$setUntouched()})).catch(c.report).finally(e.spinner.hide)},h.cancel=function(e,n){O(),n.$setPristine()},h.data=void 0,h.mailForwardingChanged=function(){h.data.mailForwarding&&(h.data.keepRecipients=!0)},function(){S(),s.watchForChanges(n,S);for(var e=0;e<angularLangNames.length;e++){var i={n:angularLangNames[e].n,v:angularLangNames[e].v,engName:u.getEnglishName(angularLangNames[e].v)};h.availableLocales.push(i)}var t=[a.get("~/api/v1/settings/domain/domain"),m.init(),r.init(),a.get("~/api/v1/settings/domain/idn").then((function(e){h.domainIdn=e.data.idnName}),(function(){}))];o.all(t).then((function(e){h.domainSettings=e[0].data.domainSettings,h.showEmailForwarding=h.domainSettings.enableMailForwarding,h.canChangeGreylist=r.userPermissions.greyListEnabled,h.isImpersonating=g.impersonating()||g.isSysAdmin(),h.authOptions=m.authOptions,h.autoSaveOptions=m.autoSaveOptions,h.deleteOptions=m.deleteOptions,h.junkOption=m.junkOption,h.removeFromJunkMailOption=m.removeFromJunkMailOption,h.encodingOptions=m.encodingOptions,h.fontOptions=m.fontOptions,h.fontSizeOptions=m.fontSizeOptions,h.forwardOptions=m.forwardOptions,h.plusAddressOptions=m.plusAddressOptions,h.previewPaneOptions=m.previewPaneOptions,h.replyHeaderOptions=m.replyHeaderOptions,h.throttleOptions=m.throttleOptions,h.timeZoneOptions=m.timeZoneOptions,h.userStatusOptions=m.userStatusOptions,h.availableIndexers=m.availableIndexers,h.delayOptions=m.delaySendOption,h.allowedSizeChanges=h.isImpersonating||h.domainSettings&&h.domainSettings.allowUserSizeChanging,O()}),(function(e){c.report(e),h.loading=!1}))}()}e.$inject=["$rootScope","$scope","$http","$timeout","$mdDialog","$q","coreLicensing","coreDataSettings","coreDataDomainSettings","userDataService","coreData","errorHandling","userSettingEnums","claimsService","localeInfoService","masonryReveal"],angular.module("smartermail").controller("domainSettingsUserEditDefaultsController",e)}();
354!function(){"use strict";function e(e,a,t,s,i,n,o,l,r,u,d,c,p,E,A){var S,O,m=this;function b(){a.settingOptions&&g()}function g(){var e,t=a.modUser,s=c.timeZoneOptions.slice();s.push({translated:o.instant("USE_SERVER_TIME_ZONE"),index:-1});for(var i=0;i<angularLangNames.length;
354i++)if(angularLangNames[i].v===t.localeId){e=angularLangNames[i].n;break}if(a.settingOptions=[],a.allowedSizeChanges&&a.settingOptions.push({cat:"ACCOUNT",id:"MailboxSize",translation:"DOMAIN_USERS_MAILBOX_SIZE_LIMIT",value:I(t.maxMailboxSize/1048576)}),a.settingOptions=a.settingOptions.concat([{cat:"SERVICE_ACCESS",id:"EnableWebmailAccess",translation:"WEBMAIL",value:v(t.services.webmail)},{cat:"SERVICE_ACCESS",id:"EnablePopAccess",translation:"POP",value:v(t.services.pop)},{cat:"SERVICE_ACCESS",id:"EnableImapAccess",translation:"IMAP",value:v(t.services.imap)},{cat:"SERVICE_ACCESS",id:"EnableIncomingSmtpAccess",translation:"INCOMING_SMTP",value:v(t.services.incomingSmtp)},{cat:"SERVICE_ACCESS",id:"EnableOutgoingSmtpAccess",translation:"OUTGOING_SMTP",value:v(t.services.outgoingSmtp)},{cat:"USER",id:"LocaleID",translation:"LANGUAGE",value:e},{cat:"USER",id:"TimeZoneIndex",translation:"TIME_ZONE",value:c.findOptionTextByIndexValue(s,t.timeZoneIndex)},{cat:"USER",id:"PlusAddressing",translation:"PLUS_ADDRESS",value:c.findOptionTextByValue(c.plusAddressOptions,t.plusAddressingOption)},{cat:"USER",id:"LockPassword",translation:"DISABLE_PASSWORD_CHANGES",value:h(t.lockPassword)},{cat:"EMAIL",id:"DeleteOption",translation:"DELETE_EMAIL_ACTION",value:c.findOptionTextByValue(c.deleteOptions,t.deleteMailAction)},{cat:"EMAIL",id:"JunkOption",translation:"MOVE_TO_JUNK_ACTION",value:c.findOptionTextByValue(c.junkOption,t.junkMailAction)},{cat:"EMAIL",id:"RemoveFromJunkMailAction",translation:"REMOVE_FROM_JUNK_ACTION",value:c.findOptionTextByValue(c.removeFromJunkMailOption,t.removeFromJunkMailAction)},{cat:"EMAIL",id:"DelaySendOption",translation:"DELAY_SEND",value:c.findOptionTextByValue(c.delaySendOption,t.delaySendOption)},{cat:"EMAIL",id:"MarkPOP3DownloadsAsRead",translation:"MARK_MESSAGES_AS_DOWNLOADED_POP3",value:h(t.markPopDownloadsAsRead)},{cat:"WEBMAIL",id:"ComposeFont",translation:"COMPOSE_FONT",value:c.findOptionTextByValue(c.fontOptions,t.composeFont)},{cat:"WEBMAIL",id:"ComposeFontSize",translation:"FONT_SIZE",value:c.findOptionTextByValue(c.fontSizeOptions,t.composeFontSize)},{cat:"WEBMAIL",id:"PreviewPaneOption",translation:"PREVIEW_PANE",value:c.findOptionTextByValue(c.previewPaneOptions,t.previewPaneOption)},{cat:"WEBMAIL",id:"DefaultComposeDomain",translation:"DEFAULT_FROM_ADDRESS",value:t.defaultComposeDomain&&t.defaultComposeDomain.length>0?t.defaultComposeDomain:r},{cat:"WEBMAIL",id:"PreferredIndexer",translation:"SEARCH_LANGUAGE_INDEXER",value:c.findOptionTextByValue(c.availableIndexers,t.preferredIndexer)},{cat:"WEBMAIL",id:"ReplyFromToField",translation:"REPLY_FROM_TO_FIELD",value:h(t.replyFromToField)},{cat:"WEBMAIL",id:"RequestReadReceipts",translation:"ENABLE_READ_RECEIPTS",value:h(t.requestReadReceipts)},{cat:"WEBMAIL",id:"RequestDeliveryReceipts",translation:"ENABLE_DELIVERY_READ_RECEIPTS",value:h(t.requestDeliveryReceipts)},{cat:"WEBMAIL",id:"DraftAutoSave",translation:"DRAFT_AUTO_SAVE",value:h(t.draftAutoSave)},{cat:"WEBMAIL",id:"HideMailAvatars",translation:"HIDE_MAIL_AVATARS",value:h(t.hideMailAvatars)},{cat:"WEBMAIL",id:"AllowRemoteContent",translation:"ALLOW_REMOTE_CONTENT",value:h(t.allowRemoteContent)},{cat:"THROTTLING",id:"ThrottleMessages",translation:"DOMAIN_MANAGEMENT_OUTGOING_PER_HOUR",value:I(t.throttling.messagesPerHour)},{cat:"THROTTLING",id:"ThrottleMessagesAction",translation:"DOMAIN_MANAGEMENT_MESSAGE_THROTTLING",value:c.findOptionTextByValue(c.throttleOptions,t.throttling.messagesAction)},{cat:"THROTTLING",id:"ThrottleBandwidth",translation:"DOMAIN_MANAGEMENT_OUTGOING_BANDWIDTH",value:I(t.throttling.bandwidthPerHour)},{cat:"THROTTLING",id:"ThrottleBandwidthAction",translation:"DOMAIN_MANAGEMENT_BANDWIDTH_THROTTLING",value:c.findOptionTextByValue(c.throttleOptions,t.throttling.bandwidthAction)}]),m.domainSettings.sharedGlobalAddressList&&a.settingOptions.push({cat:"USER",id:"HideFromLdap",translation:"SHOW_IN_GAL_FULL_NAME",value:h(!t.hideFromGal)}),S&&a.settingOptions.push({cat:"USER",id:"DisableGreylisting",translation:"ENABLE_GREYLISTING",value:h(!t.disableGreylisting)}),window.stEnableSpamfoo){var n=a.settingOptions.findIndex((function(e){return"PreviewPaneOption"===e.id})),l={cat:"WEBMAIL",id:"EnableClassification",translation:"ENABLE_CLASSIFICATION",value:h(t.enableClassification)};-1===n?a.settingOptions.push(l):a.settingOptions.splice(n,0,l)}m.domainSettings.enableMailForwarding&&a.settingOptions.push({cat:"USER",id:"MailForwarding",translation:"MAIL_FORWARD
354ING_ENABLE",value:h(t.mailForwarding)}),(m.domainSettings.enableXmpp||m.isImpersonating)&&a.settingOptions.push({cat:"SERVICE_ACCESS",id:"EnableXmppAccess",translation:"DOMAIN_MANAGEMENT_FEATURES_LIVE_CHAT",value:v(t.services.xmpp)}),a.settingOptions.push({cat:"SERVICE_ACCESS",id:"EnableWebdavAccess",translation:"WEBDAV",value:v(t.services.webdav)}),(m.domainSettings.enableActiveSyncAccountManagement||m.isImpersonating)&&a.settingOptions.push({cat:"SERVICE_ACCESS",id:"EnableEas",translation:"EAS_ENTERPRISE_ONLY",value:v(t.enableEas)}),(m.domainSettings.enableMapiEwsAccountManagement||m.isImpersonating)&&a.settingOptions.push({cat:"SERVICE_ACCESS",id:"EnableMapiEws",translation:"MAPI_EWS_ENTERPRISE",value:v(t.enableMapiEws)}),angular.forEach(a.settingOptions,(function(e){switch(e.cat){case"ACCOUNT":e.cat_order=1;break;case"EMAIL":e.cat_order=5;break;case"SERVICE_ACCESS":e.cat_order=3;break;case"USER":e.cat_order=2;break;case"WEBMAIL":e.cat_order=4;break;case"THROTTLING":e.cat_order=6}e.label=o.instant(e.translation)}))}function I(e){return e?s("number")(e):s("translate")("UNLIMITED")}function h(e){return e?s("translate")("YES"):s("translate")("NO")}function v(e){return e?s("translate")("ENABLED"):s("translate")("DISABLED")}a.modUser=l,a.users=[],a.updateSettings=!0,a.updateDefaults=!1,a.domain=r,a.selectedOptions={},a.allUsers=!1,a.save=function(e,s){var i=[];if(angular.forEach(a.selectedOptions,(function(e,t){!function(e,t){var s=a.modUser;switch(t){case"LocaleID":e.push({userField:t,strValue:s.localeId});break;case"TimeZoneIndex":e.push({userField:t,intValue:s.timeZoneIndex});break;case"MailboxSize":e.push({userField:t,longValue:s.maxMailboxSize});break;case"LockPassword":e.push({userField:t,boolValue:s.lockPassword});break;case"HideFromLdap":e.push({userField:t,boolValue:s.hideFromGal});break;case"DisableGreylisting":e.push({userField:t,boolValue:s.disableGreylisting});break;case"DeleteOption":e.push({userField:t,intValue:s.deleteMailAction});break;case"JunkOption":e.push({userField:t,intValue:s.junkMailAction});break;case"RemoveFromJunkMailAction":e.push({userField:t,intValue:s.removeFromJunkMailAction});break;case"PlusAddressing":e.push({userField:"PlusAddressingEnable",boolValue:"disabled"!==s.plusAddressingOption}),e.push({userField:"PlusAddressingFolder",strValue:"disabled"===s.plusAddressingOption?"":s.plusAddressingOption});break;case"ComposeFont":e.push({userField:t,strValue:s.composeFont});break;case"ComposeFontSize":e.push({userField:t,strValue:s.composeFontSize});break;case"ReplyFromToField":e.push({userField:t,boolValue:s.replyFromToField});break;case"DefaultComposeDomain":e.push({userField:t,strValue:s.defaultComposeDomain});break;case"RequestReadReceipts":e.push({userField:t,boolValue:s.requestReadReceipts});break;case"RequestDeliveryReceipts":e.push({userField:t,boolValue:s.requestDeliveryReceipts});break;case"MarkPOP3DownloadsAsRead":e.push({userField:t,boolValue:s.markPopDownloadsAsRead});break;case"AllowRemoteContent":e.push({userField:t,boolValue:s.allowRemoteContent});break;case"ThrottleMessages":e.push({userField:t,intValue:s.throttling.messagesPerHour});break;case"ThrottleMessagesAction":e.push({userField:t,intValue:s.throttling.messagesAction});break;case"ThrottleBandwidth":e.push({userField:t,intValue:s.throttling.bandwidthPerHour});break;case"ThrottleBandwidthAction":e.push({userField:t,intValue:s.throttling.bandwidthAction});break;case"EnableWebmailAccess":e.push({userField:t,boolValue:s.services.webmail});break;case"EnableWebdavAccess":e.push({userField:t,boolValue:s.services.webdav});break;case"EnablePopAccess":e.push({userField:t,boolValue:s.services.pop});break;case"EnableImapAccess":e.push({userField:t,boolValue:s.services.imap});break;case"EnableIncomingSmtpAccess":e.push({userField:t,boolValue:s.services.incomingSmtp});break;case"EnableOutgoingSmtpAccess":e.push({userField:t,boolValue:s.services.outgoingSmtp});break;case"EnableXmppAccess":e.push({userField:t,boolValue:s.services.xmpp});break;case"PreferredIndexer":e.push({userField:t,strValue:s.preferredIndexer});break;case"PreviewPaneOption":e.push({userField:"PreviewUsePreview",boolValue:"none"!==s.previewPaneOption});break;case"MailForwarding":e.push({userField:t,boolValue:s.mailForwarding});break;case"EnableEas":e.push({userField:t,boolValue:s.enableEas});break;case"EnableMapiEws":e.push({userField:t,boolValue:s.enableMapiEws});break;case"DraftAutoSave":e.push({userField:t,boolValue:s.draftAutoSave});break;case"HideMailAvatars":e.push({userField:t,boolValue:s.hideMailAvatars});break;case"EnableClassification":e.push({userField:t,boolValue:s.enableClassification});break;case"DelaySendOption":e.push({userField:t,intValue:s.delaySendOption})}}(i,t)})),0===i.length)return void p.report("PROPAGATION_NOTHING_TO_PROPAGATE");n.post("~/api/v1/settings/domain/propagate-settings",JSON.stringify({globalUpdate:i,emails:a.allUsers?["*@"+a.domain]:a.users})).then((function(){E.report("PROPAGATION_PROPAGATION_INPROGRESS")}),p.report),t.hide({})},a.cancel=function(){t.cancel()},a.YesNo=h,a.checked=function(e,t){if(document.getSelection().removeAllRanges(),O&&t.id!=O&&event.shiftKey)for(var s=a.selectedOptions[t.id],i=!1,n=0;n<a.settingOptions.length;n++){var o=a.settingOptions[n];if(i){if(o.id!==t.id&&(a.selectedOptions[o.id]=s),o.id==O||o.id==t.id)break}else o.id!=O&&o.id!=t.id||(o.id!==t.id&&(a.selectedOptions[o.id]=s),i=!0)}
354O=t.id},a.queryUsers=function(e){return u.queryUsers(e,!1)},m.updateUsersList=function(){a.users||(a.users=[]);if(0===a.users.length)a.users.push("");else if(a.users.length>0){var e=$.grep(a.users,(function(e){return""===e}));e.length>1?(a.users=$.grep(a.users,(function(e){return""!==e})),a.users.push("")):0===e.length&&a.users.push("")}},function(){e.$on("$translateChangeSuccess",b),m.isImpersonating=A.impersonating()||A.isSysAdmin();var t=[u.init(),n.get("~/api/v1/settings/domain/domain"),n.get("~/api/v1/settings/domain/user-defaults")];i.all(t).then((function(e){S=u.userPermissions.greyListEnabled,m.domainSettings=e[1].data.domainSettings,a.allowedSizeChanges=m.isImpersonating||m.domainSettings&&m.domainSettings.allowUserSizeChanging;var t={isTemplate:!0,userData:e[2].data.userData,userMailSettings:e[2].data.userMailSettings,mailboxForwardList:e[2].data.mailboxForwardList,userGroups:{}};a.defaults=angular.copy(t),g()}),(function(e){})),a.$watchCollection("users",(function(){void 0!==a.users&&m.updateUsersList()}))}()}e.$inject=["$rootScope","$scope","$mdDialog","$filter","$q","$http","$translate","modUser","domain","coreDataSettings","coreDataDomainSettings","userSettingEnums","errorHandling","successHandling","claimsService"],angular.module("smartermail").controller("domainUserPropagationController",e)}();
355!function(){"use strict";function a(a,n,t,e,l){var i=this;function o(){var a=t.defer();return t.all([l.settingsData.availiableTimeZones,e.get("~/api/v1/settings/available-indexers")]).then((function(n){i.timeZoneOptions=n[0],i.availableIndexers=n[1].data.indexers,r(),a.resolve()}),a.reject),a.promise}function r(){angular.forEach(i.encodingOptions,(function(a){a.translated=n.instant(a.name)})),angular.forEach(i.timeZoneOptions,(function(a){a.translated=n.instant(a.displayName)})),s(i.authOptions),s(i.autoSaveOptions),s(i.deleteOptions),s(i.junkOption),s(i.removeFromJunkMailOption),s(i.fontOptions),s(i.fontSizeOptions),s(i.forwardOptions),s(i.plusAddressOptions),s(i.replyHeaderOptions),s(i.sortOptions),s(i.sortOrder),s(i.throttleOptions),s(i.userStatusOptions),s(i.previewPaneOptions),s(i.delaySendOption),angular.forEach(i.calCleanOptions,(function(a){a.value>0?a.translated=n.instant(a.translation,{count:a.value}):a.translated=n.instant(a.translation)}))}function s(a){angular.forEach(a,(function(a){a.translated=n.instant(a.translation)}))}i.authOptions=[{value:0,translation:"SMARTERMAIL"},{value:1,translation:"ACTIVE_DIRECTORY"}],i.autoSaveOptions=[{value:0,translation:"NONE"},{value:6e4,translation:"1_MINUTES"},{value:12e4,translation:"2_MINUTES"},{value:18e4,translation:"3_MINUTES"},{value:3e5,translation:"5_MINUTES"}],i.calCleanOptions=[{value:-2,translation:"DOMAIN_DEFAULT"},{value:-1,translation:"NEVER"},{value:3,translation:"X_MONTHS_other"},{value:6,translation:"X_MONTHS_other"},{value:12,translation:"X_MONTHS_other"},{value:18,translation:"X_MONTHS_other"},{value:24,translation:"X_MONTHS_other"}],i.deleteOptions=[{value:0,translation:"MOVE_TO_DELETED"},{value:1,translation:"PERMANENTLY_DELETE"},{value:2,translation:"MARK_DELETED"}],i.junkOption=[{value:0,translation:"MOVE_TO_JUNK_ONLY"},{value:1,translation:"MOVE_TO_JUNK_BLACKLIST_EMAIL"},{value:2,translation:"MOVE_TO_JUNK_BLACKLIST_DOMAIN"}],i.removeFromJunkMailOption=[{value:0,translation:"REMOVE_FROM_JUNK_ONLY"},{value:1,translation:"ADD_TO_TRUSTED_SENDERS"},{value:2,translation:"REMOVE_FROM_JUNK_REMOVE_FROM_BLACKLISTED_EMAILS"}],i.delaySendOption=[{value:0,translation:"DISABLED"},{value:5,translation:5},{value:15,translation:15},{value:30,translation:30},{value:60,translation:60}],i.encodingOptions=[],i.fontOptions=[{value:"arial",translation:"ARIAL"},{value:"comic sans ms",translation:"COMIC_SANS_MS"},{value:"courier new",translation:"COURIER_NEW"},{value:"georgia",translation:"GEORGIA"},{value:"lucida",translation:"LUCIDA"},{value:"tahoma",translation:"TAHOMA"},{value:"times new roman",translation:"TIMES_NEW_ROMAN"},{value:"trebuchet ms",translation:"TREBUCHET_MS"},{value:"verdana",translation:"VERDANA"}],i.fontSizeOptions=[{value:"8px",translation:8},{value:"9px",translation:9},{value:"10px",translation:10},{value:"11px",translation:11},{value:"12px",translation:12},{value:"14px",translation:14},{value:"16px",translation:16},{value:"18px",translation:18},{value:"20px",translation:20},{value:"22px",translation:22},{value:"24px",translation:24},{value:"26px",translation:26},{value:"28px",translation:28},{value:"36px",translation:36},{value:"48px",translation:48},{value:"72px",translation:72}],i.forwardOptions=[{value:"normal",translation:"NORMAL"},{value:"plain",translation:"TEXT"},{value:"attachment",translation:"EMBED_AS_ATTACHMENT"}],i.plusAddressOptions=[{value:"disabled",translation:"DISABLED"},{value:"autocreate",translation:"MOVE_TO_FOLDER"},{value:"",translation:"MOVE_TO_FOLDER_EXISTS"},{value:"inbox",translation:"LEAVE_IN_INBOX"}],i.previewPaneOptions=[{value:"right",translation:"RIGHT"},{value:"none",translation:"NONE"}],i.replyHeaderOptions=[{value:"Basic",translation:"BASIC"},{value:"Full",translation:"FULL"}],i.sortOptions=[{value:"From",translation:"FROM"},{value:"Subject",translation:"SUBJECT"},{value:"Size",translation:"SIZE"},{value:"InternalDate",translation:"DATE"}],i.sortOrder=[{value:!0,translation:"DESCENDING"},{value:!1,translation:"ASCENDING"}],i.timeZoneOptions=[],i.throttleOptions=[{value:2,translation:"NONE"},{value:1,translation:"DELAY"},{value:0,translation:"REJECT"}],i.userStatusOptions=[{value:{isEnabled:!0,canReceiveMail:!0},translation:"ENABLED"},{value:{isEnabled:!1,canReceiveMail:!0},translation:"DOMAIN_USERS_DISABLED_ALLOW_MAIL"},{value:{isEnabled:!1,canReceiveMail:!1},translation:"DOMAIN_USERS_DISABLED_DISALLOW_MAIL"}],i.availableIndexers=["LUCENE_BASE"],i.findOptionByValue=function(a,n){for(var t=0;t<a.length;t++){var e=a[t].value;if(null==e&&(e=a[t]),e==n)return a[t]}return null},i.findOptionTextByValue=function(a,t){for(var e=0;e<a.length;e++){var l=a[e].value;if(null==l&&(l=a[e]),l==t)return a[e].translated||n.instant(a[e])}return null},i.findOptionTextByIndexValue=function(a,t){for(var e=0;e<a.length;e++)if(a[e].index==t)return a[e].translated||n.instant(a[e]);return null},i.findEncodingOptionTextByValue=function(a,t){for(var e=0;e<a.length;e++)if(a[e].code==t)return a[e].translated||n.instant(a[e]);return null},i.init=o,o().then((function(){a.$on("$translateChangeSuccess",r)}
355),(function(){}))}a.$inject=["$rootScope","$translate","$q","$http","coreDataSettings"],angular.module("smartermail").service("userSettingEnums",a)}();
356!function(){"use strict";function t(t,e,i,n,s,a,o,r,d,c,l){var m=this,g=l.create(e);function u(){m.loading=!0,m.contentReady=!1,d.init().then((function(){return n.all([i.get("~/api/v1/settings/domain/spam-settings"),i.get("~/api/v1/settings/domain/domain")]).then((function(t){var e,i;m.domainSettings=t[0].data.domainSettings,m.defaultSettings=t[0].data.defaultSettings,m.allowOverride=d.domainPermissions.spamCheckAllowDomainOverride,v(!1),e=t[1],i=e.data.domainSettings,m.showSpamMenu=i.showSpamMenu||!1,m.spamCheckOverrideActive=i.spamCheckOverrideActive||!1,m.trustedDomains=[],angular.forEach(i.whitelistDomains||[],(function(t){m.trustedDomains.push(t.value)})),m.trustedEmails=[],angular.forEach(i.whitelistAddresses||[],(function(t){m.trustedEmails.push(t.value)}))}),o.report)}),o.report).finally((function(){m.loading=!1,g.wait((function(){m.contentReady=!0}))}))}function v(t){t&&!0===m.domainSettings.overrideActive&&(m.domainSettings=angular.copy(m.defaultSettings)),m.activeSettings=m.allowOverride&&m.domainSettings.overrideActive?m.domainSettings:m.defaultSettings}function h(t,e,i){a.show({locals:{trustedSenders:i?m.trustedEmails:m.trustedDomains,isAddresses:i},controller:"trustedSenderDialogController",controllerAs:"ctrl",templateUrl:"app/settings/shared/trusted-senders.dlg.html",targetEvent:t}).then((function(t){var n=$.grep(t,(function(t){return(t||"").trim()}));i?m.trustedEmails=n:m.trustedDomains=n;e.$setDirty()}),(function(){}))}m.loading=!0,m.contentReady=!1,m.overrideActive=!1,m.defaultSettings={},m.domainSettings={},m.activeSettings=m.domainSettings,m.trustedDomains=[],m.trustedEmails=[],m.domainSettings={},m.showSpamMenu=!1,m.spamCheckOverrideActive=!1,m.reloadState=function(t){u(),t.$setPristine()},m.save=function(e,n){if(!n.$valid)return void o.report("CORRECT_INVALID_FIELDS");if(!m.allowOverride)return void a();var s=JSON.stringify({domainSettings:{spamCheckOverrideActive:m.spamCheckOverrideActive,showSpamMenu:m.showSpamMenu,spamLevelLowAction:m.activeSettings.lowAction,spamLevelMedAction:m.activeSettings.medAction,spamLevelHighAction:m.activeSettings.highAction,spamLevelLowWeight:m.activeSettings.lowWeight,spamLevelMedWeight:m.activeSettings.medWeight,spamLevelHighWeight:m.activeSettings.highWeight}});function a(){var t=JSON.stringify({domains:m.trustedDomains,emails:m.trustedEmails});i.post("~/api/v1/settings/domain/whitelist",t).then(d,o.report)}function d(){n.$setPristine(),t.$broadcast("domain-settings:changed")}i.post("~/api/v1/settings/domain/domain",s).then((function(){r.userPermissions.spamCheckOverrideActive=m.allowOverride&&m.showSpamMenu,a()}),o.report)},m.switchOverride=v,m.editItem=function(t,e,i){if(!m.spamCheckOverrideActive)return;var n;n=i===m.activeSettings.lowAction?"SPAM_FILTERING_LOW_PROBABILITY":i===m.activeSettings.medAction?"SPAM_FILTERING_MED_PROBABILITY":"SPAM_FILTERING_HIGH_PROBABILITY";i||(i={});a.show({locals:{title:n,actionType:i.actionType,argument:i.argument,weight:null,hideMoveToJunk:!1},controller:"editSpamFilterActionDialogController",controllerAs:"ctrl",templateUrl:"app/settings/shared/spam-filter-action.dlg.html",targetEvent:t}).then((function(t){i.actionType=t.actionType,i.argument=t.argument,i===m.activeSettings.lowAction&&t.weight?m.activeSettings.lowWeight=t.weight:i===m.activeSettings.medAction&&t.weight?m.activeSettings.medWeight=t.weight:t.weight&&(m.activeSettings.highWeight=t.weight),e.$setDirty()}),(function(){}))},m.openTrustedDomains=function(t,e){h(t,e,!1)},m.openTrustedEmails=function(t,e){h(t,e,!0)},m.importTrusted=function(t){c.importList((function(e,i){c.mergeUnique(m.trustedEmails,e),c.mergeUnique(m.trustedDomains,i),t.$setDirty()}))},m.exportTrusted=function(){c.downloadList(m.trustedEmails.concat(m.trustedDomains),"trusted-senders.txt")},u()}t.$inject=["$rootScope","$scope","$http","$q","$timeout","$mdDialog","errorHandling","coreDataSettings","coreDataDomainSettings","trustedSendersImportExport","masonryReveal"],angular.module("smartermail").controller("domainSettingsFilteringSpamController",t)}();
357!function(){"use strict";function t(t,e,n,i,s,o,a,r,l,c,u,d){var S=this;S.isInitialized=!1,S.domain=t.params.id||r.user.domain,S.gridSections=[{translate:"USERS",length:"0"},{translate:"ALIASES",length:"0"},{translate:"MAILING_LISTS",length:"0"}],S.selectedSection="USERS",S.importInProgress=!1;var g=null,m=null,I={};function p(t,e){e&&I[e]||(S.importInProgress=!0,g||(g=l.pop({type:"info",title:null,body:d.instant("USER_IMPORT_IN_PROGRESS"),timeout:0,tapToDismiss:!1,showCloseButton:!1})),n.$applyAsync())}function R(t,i){if(i.done)i.jobId&&(I[i.jobId]=!0),S.importInProgress=!1,m&&(s.cancel(m),m=null),g&&(l.clear(g),g=null),i.success?c.report(d.instant("USER_IMPORT_COMPLETE",{imported:i.importedCount,edited:i.editedCount})):u.report(i.error||"UNKNOWN_ERROR"),e.$broadcast("refreshUsersGrid"),e.$broadcast("refresh-users-counts");else{if(i.jobId&&I[i.jobId])return;var o;S.importInProgress=!0,o="APPLYING_SETTINGS"===i.status?i.total>0?d.instant("USER_IMPORT_APPLYING_SETTINGS",{current:i.current,total:i.total}):d.instant("USER_IMPORT_APPLYING_SETTINGS_NO_COUNT"):i.total>0?d.instant("USER_IMPORT_PROGRESS",{current:i.current,total:i.total}):d.instant("USER_IMPORT_IN_PROGRESS"),m&&(s.cancel(m),m=null),g&&(l.clear(g),g=null),m=s((function(){m=null,g=l.pop({type:"info",title:null,body:o,timeout:0,tapToDismiss:!1,showCloseButton:!1})}),50)}n.$applyAsync()}function P(){return i.get("~/api/v1/settings/domain/account-list-counts").then((function(t){S.gridSections[0].length=t.data.users,t.data.userLimit?S.gridSections[0].label="/ "+o("unicodeNumber")(t.data.userLimit):S.gridSections[0].label="",S.gridSections[1].length=t.data.aliases,t.data.aliasLimit?S.gridSections[1].label="/ "+o("unicodeNumber")(t.data.aliasLimit):S.gridSections[1].label="",S.gridSections[2].hidden=!t.data.mailingListsAllowed,S.gridSections[2].length=t.data.mailingLists,t.data.mailingListLimit?S.gridSections[2].label="/ "+o("unicodeNumber")(t.data.mailingListLimit):S.gridSections[2].label=""}),(function(){}))}S.changeSection=function(t){S.selectedSection=t,P()},function(){a.changePageReset(),e.$on("refreshUsersGrid",P),e.$on("refresh-users-counts",P);var t=e.$on("signalR.mailHub.client.userImportProgress",R),i=e.$on("userImportStarted",p);n.$on("$destroy",(function(){t(),i(),m&&(s.cancel(m),m=null),g&&l.clear(g)})),P(),S.isInitialized=!0}()}t.$inject=["$state","$rootScope","$scope","$http","$timeout","$filter","coreDataDomainSettings","userDataService","toaster","successHandling","errorHandling","$translate"],angular.module("smartermail").controller("domainSettingsAccountsController",t)}();
358!function(){"use strict";function e(e,a,i,n,l,t,s,r,o,d,m,c,p,g,h,u,E,f,v,w,A,I){var y=this;function V(){a.isEnterprise=s.hasEnterpriseFunctionality,a.isEnterprise||(a.showInXmpp=!1)}
358function N(e){a.invalidEmails=[],a.targets=e.emails.$viewValue;for(var i=a.targets.split("\n"),n=0;n<i.length;n++)(i[n]||n!==i.length-1)&&(d.isValidEmail(i[n])||a.invalidEmails.push({invalidEmailIndex:n,emailToFix:i[n]}))}y.arrayTargets=[],y.oldName=m,a.name=m,a.isNew=!m,a.targets=p.join("\n"),a.invalidEmails=[],a.allowSending=g,a.showInGal=h,a.showInXmpp=u,a.internalOnly=E,a.includeAllDomainUsers=f,a.isCatchAll=v,a.catchAllEnabled=w,a.description=A,a.isEnabled=I,a.isValid=!0,a.isEnterprise=!1,a.displayName=c,a.save=function(){if(!(a.isValid=function(){var e;if(a.targets&&a.targets.length>0){y.arrayTargets=a.targets.split("\n"),e=!0;for(var i=0;i<y.arrayTargets.length;i++)if(!d.isValidEmail(y.arrayTargets[i])){a.areTargetsValid=!1;break}}else e=a.includeAllDomainUsers;var n=a.name&&a.name.length>0&&-1===a.name.indexOf("@");return e&&n}()))return;var e={alias:{name:a.name,displayName:a.displayName,aliasTargetList:y.arrayTargets,allowSending:a.allowSending,hideFromGAL:!a.showInGal,enableForXmpp:a.showInXmpp,internalOnly:a.internalOnly,includeAllDomainUsers:a.includeAllDomainUsers,isCatchAll:!!a.catchAllEnabled&&a.isCatchAll,description:a.description,isEnabled:a.isEnabled}};a.isNew?n.post("~/api/v1/settings/domain/alias-put/",e).then(l,r.report):(e.oldName=y.oldName,n.post("~/api/v1/settings/domain/alias/",e).then(l,r.report));function l(){i.hide({name:a.name,targets:y.arrayTargets,showInGal:a.showInGal,showInXmpp:a.showInXmpp,internalOnly:a.internalOnly,includeAllDomainUsers:a.includeAllDomainUsers,isCatchAll:a.isCatchAll,description:a.description,isEnabled:a.isEnabled})}},a.cancel=function(){i.cancel()},a.getInvalidEmails=N,a.fixInvalidEmail=function(e,i){var n=a.targets.split("\n");n[i.invalidEmailIndex]=i.emailToFix,a.targets=n.join("\n"),e.emails.$viewValue=a.targets,e.emails.$modelValue=a.targets,e.emails.$commitViewValue(),e.emails.$rollbackViewValue(),N(e)},a.removeInvalidEmail=function(e,i){var n=a.targets.split("\n");n.splice(i.invalidEmailIndex,1),a.targets=n.join("\n"),e.emails.$viewValue=a.targets,e.emails.$modelValue=a.targets,e.emails.$commitViewValue(),e.emails.$rollbackViewValue(),N(e)},a.delete=function(t){if(a.isNew)return;var s=i.confirmDeletion().textContent(l("translate")("CONFIRMATIONS_DELETE_ALIASES_one")).targetEvent(t);function d(a){if(a&&a.data.result){var n=i.confirmDeletion().title().textContent(l("translate")("CONFIRMATIONS_UNABLE_TO_DELETE_ACCOUNTS")).ok(l("translate")("OK")).noWarn(!0).hideCancel(!0);i.show(n)}o.report(),e.$broadcast("refreshUsersGrid"),i.hide()}i.show(s).then((function(){e.spinner.show(),n.post("~/api/v1/settings/domain/aliases-delete",JSON.stringify({input:[m]})).then(d,r.report).finally(e.spinner.hide)}),(function(){}))},V(),s.watchForChanges(a,V)}e.$inject=["$rootScope","$scope","$mdDialog","$http","$filter","$q","coreLicensing","errorHandling","successHandling","emailValidationService","name","displayName","targets","allowSending","showInGal","showInXmpp","internalOnly","includeAllDomainUsers","isCatchAll","catchAllEnabled","description","isEnabled"],angular.module("smartermail").controller("domainEditAliasController",e)}();
359!function(){"use strict";function e(e,n,t,r,s,i,o,a,u,l,c,m){n.id=u,n.name=l,n.isNew=!l,n.userOptions=[],n.users=[],n.selectedItem=[],n.save=function(e){if(e&&e.$invalid)return;n.users.pop(),t.hide({name:n.name,grouped:$.map(n.users,(function(e){return e.name}))})},n.cancel=function(){t.cancel()},n.delete=function(i){if(n.isNew)return;var l=t.confirmDeletion().textContent(r("translate")("CONFIRMATIONS_DELETE_ITEMS_one")).targetEvent(i);function c(n){if(n&&n.data.result){var s=t.confirmDeletion().title().textContent(r("translate")("CONFIRMATIONS_UNABLE_TO_DELETE_ACCOUNTS")).ok(r("translate")("OK")).noWarn(!0).hideCancel(!0);t.show(s)}a.report(),e.$broadcast("refreshUsersGrid"),t.hide()}t.show(l).then((function(){e.spinner.show(),s.post("~/api/v1/settings/domain/remove-user-groups",JSON.stringify({IDs:[u]})).then(c,o.report).finally(e.spinner.hide)}),(function(){}))},n.queryUsers=function(e){return i.queryUsers(e,!1)},n.onEmailChanged=function(e,t,r){var s=r["email"+t].$viewValue;s&&s.length>0&&e&&n.users.push({name:""})},n.onEmailBlurred=function(e,t,r){var s=r["email"+t].$viewValue;s&&0!==s.length||e||(n.selectedItem.splice(t,1),n.users.splice(t,1)
359)},n.removeUser=function(e,t){n.selectedItem.splice(e,1),n.users.splice(e,1),t.$setDirty()},n.users=$.map(c,(function(e){return{name:e}})),n.users.push({name:""})}e.$inject=["$rootScope","$scope","$mdDialog","$filter","$http","coreDataSettings","errorHandling","successHandling","id","name","usernames","i18n"],angular.module("smartermail").controller("domainEditUserGroupController",e)}();
360!function(){"use strict";function e(e,n,a,i){var r;e.oldUsername=i,e.newUsername="",e.isUsernameValid=!0,e.isValid=!0,e.domainPath="",e.close=function(){if(!(e.isValid=(e.isUsernameValid=e.newUsername&&e.newUsername.length>0,e.isUsernameValid)))return;n.hide({newUsername:e.newUsername})},e.cancel=function(){n.cancel()},r=!0,a.settingsData.domainData.then((function(n){e.domainPath=n.path,e.userForm&&e.userForm.newValue&&e.userForm.newValue.$validate()}),(function(){})),e.$watch("newUsername",(function(){!0!==r?(e.isUsernameValid=e.newUsername&&e.newUsername.length>0,e.isValid=!0):r=!1}))}e.$inject=["$scope","$mdDialog","coreDataDomainSettings","oldUsername"],angular.module("smartermail").controller("domainEditUsernameController",e)}();
361!function(){"use strict";function e(e,r){var a=this;a.cancel=function(e){r.cancel()},a.enterCredentials=function(e){r.hide({ldapUser:a.ldapUser,ldapPassword:a.ldapPass,rememberCredentials:a.rememberMe})}}e.$inject=["$scope","$mdDialog"],angular.module("smartermail").controller("getLdapCredentialsController",e)}();
362!function(){"use strict";function e(e,r,s,a,t,i,n){const d=this;r.isBindingValid=!1,r.ldapBinding="",d.ldapPass="",d.ldapUser="",r.emailAsUsername=!1,r.ldapUsers=[],r.selectedUsers={};var l=!1,o=[];function p(){for(var e in r.selectedUsers)if(r.selectedUsers.hasOwnProperty(e)&&!0===r.selectedUsers[e])return!0;return!1}r.cancel=function(e){s.cancel()},r.listUsers=function(s){e.spinner.show();const n=r.authRequired?{ldapProviderId:r.authProvider.id,ldapUsername:d.ldapUser,ldapPassword:d.ldapPass}:{ldapProviderId:r.authProvider.id};a.post("~/api/v1/settings/domain/ldap-users",JSON.stringify(n)).then((function(e){r.ldapUsers=e.data.contacts.reduce(((e,r)=>(e.push({id:r.guid||r.username,username:r.username,emailAddress:r.email||"",displayName:r.displayAs}),e)),[]),0===r.ldapUsers.length&&(r.noneFound=!0),r.ldapUsers=t("orderBy")(r.ldapUsers,"displayName"),r.isBindingValid=!0}),(function(e){"LDAP_ANONYMOUS_QUERIES_NOT_ALLOWED"===e.data.message?r.authRequired=!0:(i.report(e),r.isBindingValid=!1)})).finally(e.spinner.hide)},r.importUsers=function(e){if(!p())return;var t=[];for(var d in r.selectedUsers)if(r.selectedUsers.hasOwnProperty(d)&&!1!==r.selectedUsers[d]){var l,u;if(r.emailAsUsername){if(!(l=$.grep(r.ldapUsers,(function(e){return e.username.toUpperCase()===d.toUpperCase()}))[0]))continue;u=l.emailAddress.split("@")[0]}else u=/[^@]+/.exec(d)[0],l=$.grep(r.ldapUsers,(function(e){return e.username===u}))[0];if(u)$.grep(o,(function(e){return e.userName.toUpperCase()===u.toUpperCase()}))[0]||t.push({userData:{securityFlags:{authProviderId:r.authProvider.id,authType:r.authProvider.type},fullName:l.displayName||"",userName:u,adUsername:l.username,domain:n.user.domain},userMailSettings:{userContactInfo:l}})}t.length>0&&a.post("~/api/v1/settings/domain/users-put-bypass",JSON.stringify({newUsers:t})).then(s.hide,i.report)},r.toggleAllUsers=function(e){if(l=!l){r.selectedUsers={};for(var s=0;s<r.ldapUsers.length;++s)r.selectedUsers[r.ldapUsers[s].id]=!0}else r.selectedUsers={}},r.isUserSelected=p,a.get("~/api/v1/settings/domain/domain").then((function(e){function a(e,r){let s="";switch(e){case 0:s=t("translate")("SMARTERMAIL");break;case 1:s=t("translate")("ACTIVE_DIRECTORY");break;case 3:s=t("translate")("LDAP");break;default:s=t("translate")("UNKNOWN")}return r?`${s}: ${r}`:s}r.ldapBinding=e.data.domainSettings.ldapDomain,r.authProvider=r.adEnabled=e.data.domainSettings.activeDirectoryIntegration,r.authProviders=e.data.domainSettings.authenticationProviders.map((e=>({id:e.providerId,name:e.providerName,type:e.providerType,label:a(e.providerType,e.providerName)}))),r.authProviders||s.cancel(),r.authProvider=r.authProviders[0]}),i.report),r.$watch("authProvider",(function(e,s){e!==s&&(r.ldapUsers=[],r.authRequired=!1,r.ldapUser=null,r.ldapPass=null,r.noneFound=!1)}))}e.$inject=["$rootScope","$scope","$mdDialog","$http","$filter","errorHandling","userDataService"],angular.module("smartermail").controller("importLdapUsersController",e)}();
363!function(){"use strict";function e(e,r,i,s,o,t,a,n,c,p,m){var d=this;function l(){r.tempPasswordRequired=void 0===r.importDictionary.password||"ignore"===r.importDictionary.password||r.fieldsWithMissingValues.indexOf(r.importDictionary.password)>-1}d.fileCount=0,r.step=1,r.importOptions=[],r.importDictionary={},r.parameters={importUsers:!1},r.uploaderData=JSON.stringify({importUsers:!1}),r.fieldsWithMissingValues=[],d.temporaryPassword="",r.isProcessing=!1,r.tempPasswordRequired=!1,r.importingOptions=["ignore","username","password","displayas","title","firstname","middlename","lastname","suffix","otheremail","im","homepage","birthday","homephone","workphone","mobilephone","pager","homefax","workfax","homeaddress","homecity","homestate","homezip","homecountry","company","jobtitle","department","office","workaddress","workcity","workstate","workzip","workcountry","recoveryemail"],r.uploaderInit=function(e){r.uploaderFunctions=e},r.save=function(){r.step=3},r.confirmImport=function(){for(var e in r.parameters.importUsers=!0,r.parameters.importOptions=[],r.importDictionary)r.parameters.importOptions.push(e+"\r\n"+r.importDictionary[e]);r.parameters.temporaryPassword=d.temporaryPassword,r.uploaderData=JSON.stringify(r.parameters),r.isProcessing=!0,r.uploaderFunctions.uploadFile(r.csvFile)},r.next=function(){if(!(d.isValid=d.fileCount>0))return;r.step=2,r.uploaderData=JSON.stringify(r.parameters),r.isProcessing=!0,r.uploaderFunctions.startUpload()},r.cancel=function(){i.cancel()},r.uploadedFile=function(e,o){if(r.csvFile=e,o&&o.jobId&&o.started)return void i.hide({jobId:o.jobId,started:!0});if(o&&!o.success&&o.message)return r.isProcessing=!1,void n.report(o.message);if(r.isProcessing=!1,r.totalAccounts=o.totalAccounts||0,r.exceedsUserLimits=o.exceedsUserLimits||!1,r.fieldsWithMissingValues=o.fieldsWithMissingValues?$.map(o.fieldsWithMissingValues,(function(e){return e.toLowerCase()})):[],o.importedUsers||o.editedUsers)i.hide({importedUsers:o.importedUsers,editedUsers:o.editedUsers});else if(o.importOptions){r.importOptions=$.map(o.importOptions,(function(e){return e.toLowerCase()}));var t=[];angular.forEach(r.importingOptions,(function(e){var r="";switch(e){case"ignore":case"displayas":case"otheremail":r="IMPORT_USERS_";break;case"firstname":e="FIRST_NAME";break;case"middlename":e="MIDDLE_NAME";break;case"lastname":e="LAST_NAME";break;case"im":e="CONTACT_INFO_IM";break;case"homepage":e="HOME_PAGE";break;case"homephone":e="HOME_PHONE";break;case"workphone":e="WORK_PHONE";break;case"mobilephone":e="MOBILE_PHONE";break;case"homefax":e="HOME_FAX";break;case"workfax":e="WORK_FAX";break;case"homeaddress":e="HOME_ADDRESS";break;case"homecity":e="HOME_CITY";break;case"homestate":e="HOME_STATE";break;case"homezip":e="HOME_ZIP";break;case"homecountry":e="HOME_COUNTRY";break;case"jobtitle":e="JOB_TITLE";break;
363case"workaddress":e="COMPANY_ADDRESS";break;case"workcity":e="COMPANY_CITY";break;case"workstate":e="COMPANY_STATE";break;case"workzip":e="COMPANY_ZIP";break;case"workcountry":e="COMPANY_COUNTRY";break;case"recoveryemail":e="RECOVERY_EMAIL"}r+=e.toUpperCase(),t.push(s("translate")(r))})),angular.forEach(r.importOptions,(function(e){var i=r.importingOptions.indexOf(e);r.importDictionary[e]=-1!=i?r.importingOptions[i]:"ignore"})),l(),r.$applyAsync()}else r.step=1,d.fileCount=0,r.totalAccounts=0,r.exceedsUserLimits=!1,r.uploaderFunctions.reset()},r.uploadFailed=function(e,s){if(r.isProcessing=!1,d.fileCount=0,r.totalAccounts=0,r.exceedsUserLimits=!1,r.uploaderFunctions.reset(),2===r.step)return s&&s.message&&n.report(s.message),void i.cancel();r.step=1},r.addedFile=function(e){if(m>0&&e){var i=new FileReader;i.onload=function(e){a((function(){var i=e.target.result.split(/\r?\n|\r/).filter((function(e){return e.trim().length>0})),s=Math.max(0,i.length-1);if(p+s>m)return n.report("EXCEPTION_DOMAIN_USER_LIMIT_EXCEEDED"),void r.uploaderFunctions.reset();d.isValid=!0,d.fileCount++}))},i.onerror=function(){a((function(){d.isValid=!0,d.fileCount++}))},i.readAsText(e)}else d.isValid=!0,d.fileCount++,r.$applyAsync()},r.removedFile=function(){d.fileCount--,d.fileCount<0&&(d.fileCount=0)},r.checkTempPassRequired=l,d.isValid=!1}e.$inject=["$rootScope","$scope","$mdDialog","$filter","$q","$http","$timeout","errorHandling","$translate","domainUserCount","domainUserLimit"],angular.module("smartermail").controller("domainImportUsersController",e)}();
364!function(){"use strict";function t(t,i,e,n,l){t.listName=l,t.cancel=function(){i.cancel()},t.deleteList=function(){e.post("~/api/v1/settings/domain/mailing-lists/delete",JSON.stringify(t.listName)).then((function(){i.hide(!0)}),n.report)}}t.$inject=["$scope","$mdDialog","$http","errorHandling","listName"],angular.module("smartermail").controller("listFailedToLoadDialogController",t)}();
365!function(){"use strict";function e(e,a,r,t,n,i,s,o){var d,m=this;e.username="",e.password="",e.confirmPassword="",e.isValid=!0,e.authType=0,e.adUsername=null,e.adEnabled=!1,e.meetsReq=!1,e.newPasswordOnLogin=!1,e.domainAdmin=o,e.save=function(t){if(!t.$valid)return;if(m.domainSettings.domainPath.length+e.username.length>210)return void s.report(n("translate")("FOLDER_LENGTH_EXCEEDED"));var i={userName:e.username,password:e.password,adUsername:e.adUsername,securityFlags:{authType:e.authProvider.type,authProviderId:e.authProvider.id,isDomainAdmin:e.domainAdmin},isPasswordExpired:e.newPasswordOnLogin};0===e.authProvider.type?o():r.post("~/api/v1/settings/domain/ldap-usernames",JSON.stringify({ldapProvi
365derId:e.authProvider.id})).then((function(a){const r=e.adUsername||e.username;a.data.usernames.find((e=>e.toLowerCase()===r.toLowerCase()))?o():s.report(n("translate")("ERROR_ACTIVE_DIRECTORY_USERNAME_NOT_FOUND_ON_DOMAIN"))}),s.report);function o(){r.post("~/api/v1/settings/domain/user-put",JSON.stringify({userData:i})).then((function(r){r.data.success&&a.hide({username:e.username})}),s.report)}},e.cancel=function(){a.cancel()},d=[i.init(),r.get("~/api/v1/settings/domain/domain")],t.all(d).then((function(a){function r(e,a){let r="";switch(e){case 0:r=n("translate")("SMARTERMAIL");break;case 1:r=n("translate")("ACTIVE_DIRECTORY");break;case 3:r=n("translate")("LDAP");break;default:r=n("translate")("UNKNOWN")}return a?`${r}: ${a}`:r}m.domainSettings=a[1].data.domainSettings,e.adEnabled=m.domainSettings.activeDirectoryIntegration,e.authProviders=m.domainSettings.authenticationProviders.map((e=>({id:e.providerId,name:e.providerName,type:e.providerType,label:r(e.providerType,e.providerName)}))),e.authProviders.unshift({id:"",name:n("translate")("SMARTERMAIL"),type:0,label:r(0)}),e.authProvider=e.authProviders[0]}),s.report),e.$watch("authProvider",(function(a,r){a!==r&&(e.password="",e.confirmPassword="",e.adUsername="")}))}e.$inject=["$scope","$mdDialog","$http","$q","$filter","coreDataDomainSettings","errorHandling","isDomainAdmin"],angular.module("smartermail").controller("domainNewUserController",e)}();
366!function(){"use strict";function e(e,n,a,t,o,r){e.username=o,e.domainPath=r+"/Users/"+o,e.cancel=function(){n.cancel()},e.detachUser=function(){a.post("~/api/v1/settings/domain/user-detach/"+e.username).then((function(){n.hide(!0)}),t.report)}}e.$inject=["$scope","$mdDialog","$http","errorHandling","username","domainPath"],angular.module("smartermail").controller("userFailedToLoadDialogController",e)}();
367!function(){"use strict";function e(e,t,s,a,r,n,i,o,d,l,u,m,p,c,g,S,h,w,f,E,v,U){var A,P=this;P.enableSpamfoo=window.stEnableSpamfoo,P.settingCore=l,P.validateEmailAddress=m.validateEmailAddress,P.showPasswordEnabled=!1,P.showPassword=!1,P.showAppPasswords=!1,P.appPasswords={},P.userTemplateSelected=!1,P.domain=e.params.id||p.user.domain,P.userId=decodeURIComponent(e.params.selectedUserId),P.timeZoneSearch="",P.textEncodeSearch="",P.isLoaded=!1,P.isMe=!1,P.canImpersonate=I(),P.showTempPassword=c.isSysAdmin()||c.impersonating(),P.usesLDAP=!1,P.needsPasswordForSMAuthType=!1,P.newPassword="",P.mailboxSpaceInput=0,P.canChangeGreylist=!1,P.initialEasState=!1,P.initialMapiEwsState=!1,P.allowedSizeChanges=!1,P.selectedLocale="",P.originalLocale="",l.searchEnabled=!0,P.ldapDomainCred="",P.ldapUsernameCred="",P.ldapPasswordCred="",P.encodingOptions=[],P.availableIndexers=[],P.availableLocales=[];for(var D=0;D<angularLangNames.length;D++){var M={n:angularLangNames[D].n,v:angularLangNames[D].v,engName:E.getEnglishName(angularLangNames[D].v)};P.availableLocales.push(M)}P.appPasswordTypes=["UNUSED","APP_PASSWORD_PSI","APP_PASSWORD_EAS","APP_PASSWORD_MAPI_EWS","APP_PASSWORD_WEBDAV","INTERNAL","INTERNAL","SERVICES","WEBMAIL","APP_PASSWORD_MAPI","LDAP","SHAREPOINT","APP_PASSWORD_XMPP"],P.fontOptions=[{value:"arial",translation:"ARIAL"},{value:"comic sans ms",translation:"COMIC_SANS_MS"},{value:"courier new",translation:"COURIER_NEW"},{value:"georgia",translation:"GEORGIA"},{value:"lucida",translation:"LUCIDA"},{value:"tahoma",translation:"TAHOMA"},{value:"times new roman",translation:"TIMES_NEW_ROMAN"},{value:"trebuchet ms",translation:"TREBUCHET_MS"},{value:"verdana",translation:"VERDANA"}],P.fontSizeOptions=[{value:"8px",translation:8},{value:"9px",translation:9},{value:"10px",translation:10},{value:"11px",translation:11},{value:"12px",translation:12},{value:"14px",translation:14},{value:"16px",translation:16},{value:"18px",translation:18},{value:"20px",translation:20},{value:"22px",translation:22},{value:"24px",translation:24},{value:"26px",translation:26},{value:"28px",translation:28},{value:"36px",translation:36},{value:"48px",translation:48},{value:"72px",translation:72}],P.forwardOptions=[{value:"normal",translation:"NORMAL"},{value:"plain",translation:"TEXT"},{value:"attachment",translation:"EMBED_AS_ATTACHMENT"}],P.plusAddressOptions=[{value:"autocreate",translation:"MOVE_TO_FOLDER"},{value:"",translation:"MOVE_TO_FOLDER_EXISTS"},{value:"inbox",translation:"LEAVE_IN_INBOX"}],P.previewPaneOptions=[{value:"right",translation:"RIGHT"},{value:"none",translation:"NONE"}],P.replyHeaderOptions=[{value:"Basic",translation:"BASIC"},{value:"Full",translation:"FULL"}],P.sortOptions=[{value:"From",translation:"FROM"},{value:"Subject",translation:"SUBJECT"},{value:"Size",translation:"SIZE"},{value:"InternalDate",translation:"DATE"}],P.startupOptions=[{value:"today",translation:"MY_TODAY_PAGE"},{value:"inbox",translation:"MY_INBOX"}],P.timeZoneOptions=[],P.throttleOptions=[{value:2,translation:"NONE"},{value:1,translation:"DELAY"},{value:0,translation:"REJECT"}],P.userStatusOptions=[{value:{isEnabled:!0,canReceiveMail:!0},translation:"ENABLED"},{value:{isEnabled:!1,canReceiveMail:!0},translation:"DOMAIN_USERS_DISABLED_ALLOW_MAIL"},{value:{isEnabled:!1,canReceiveMail:!1},translation:"DOMAIN_USERS_DISABLED_DISALLOW_MAIL"}];var C={0:"NONE",1:"QUEUED",2:"INDEXING",3:"OPTIMIZING",4:"COMPLETED"};function y(){P.edition=u.edition,P.activeSyncLicensed=u.hasEas,P.mapiEwsLicensed=u.hasMapiEws,P.isEnterprise=u.edition!=u.EDITION_PROFESSIONAL}function I(){return c.canImpersonate()||c.impersonating()}function O(e,s){s.$valid&&(t.spinner.show(),function(){P.modUser.userMailSettings.maxSize=1048576*P.mailboxSpaceInput,P.authProvider.id!==P.modUser.userData.securityFlags.authProviderId&&(P.modUser.userData.securityFlags.authType=P.authProvider.type,P.modUser.userData.securityFlags.authProviderId=P.authProvider.id,P.modUser.userData.securityFlags.authenticatingWindowsDomain=P.authProvider.domainname);var e={securityFlags:{authType:P.modUser.userData.securityFlags.authType,authProviderId:P.modUser.userData.securityFlags.authProviderId,authenticatingWindowsDomain:P.modUser.userData.securityFlags.authenticatingWindowsDomain,isDomainAdmin:P.modUser.userData.securityFlags.isDomainAdmin},adUsername:P.modUser.userData.adUsername,fullName:P.modUser.userData.fullName,passwordLocked:P.modUser.userData.passwordLocked};""!=P.newPassword&&(e.password=P.newPassword);var t=g.getClientId();return a.post("~/api/v1/settings/domain/post-user",JSON.stringify({email:P.modUser.userData.emailAddress,userData:e,clientId:t}))}().then((function(){var e={deleteOption:P.modUser.userMailSettings.deleteOption,markPOP3DownloadsAsRead:P.modUser.userMailSettings.markPOP3DownloadsAsRead,composeFont:P.modUser.userMailSettings.composeFont,composeFontSize:P.modUser.userMailSettings.composeFontSize,requestReadReceipts:P.modUser.userMailSettings.requestReadReceipts,replyFromToField:P.modUser.userMailSettings.replyFromToField,requestDeliveryReceipts:P.modUser.userMailSettings.requestDeliveryReceipts,throttleSettings:{messagesPerHour:P.modUser.userMailSettings.throttleSettings.messagesPerHour,messagesAction:P.modUser.userMailSettings.throttleSettings.messagesAction,bandwidthPerHour:P.modUser.userMailSettings.throttleSettings.bandwidthPerHour,bandwidthAction:P.modUser.userMailSettings.throttleSettings.bandwidthAction},plusAddressingFolder:"disabled"==P.plusAddressing?"":P.plusAddressing,plusAddressingEnabled:"disabled"!=P.plusAddressing,serviceLevelMap:N(),replyToAddress:P.modUser.userMailSettings.replyToAddress,timeZoneIndex:P.modUser.userMailSettings.timeZoneIndex,backupEmailAddress:P.modUser.userMailSettings.backupEmailAddress,isEasEnabled:P.modUser.userMailSettings.isEasEnabled,isEnabled:P.modUser.userMailSettings.isEnabled,isMapiEwsEnabled:P.modUser.userMailSettings.isMapiEwsEnabled,canReceiveMail:P.modUser.userMailSettings.canReceiveMail,maxSize:P.modUser.userMailSettings.maxSize,disableGreylisting:!P.modUser.userMailSettings.disableGreylisting,allowRemoteContent:P.modUser.userMailSettings.allowRemoteContent,previewUsePreview:"none"!==P.modUser.userMailSettings.previewPaneOption,enableMailForwarding:P.modUser.userMailSettings.enableMailForwarding,enableClassification:P.modUser.userMailSettings.enableClassification,preferredIndexer:P.modUser.userMailSettings.preferredIndexer,userContactInfo:{hideFromLdap:P.modUser.userMailSettings.userContactInfo.hideFromLdap},defaultComposeDomain:P.modUser.userMailSettings.defaultComposeDomain,remoteContentExceptions:P.modUser.userMailSettings.remoteContentExceptions,remoteTrackersExceptions:P.modUser.userMailSettings.remoteTrackersExceptions,draftAutoSave:P.modUser.userMailSettings.draftAutoSave,hideMailAvatars:P.modUser.userMailSettings.hideMailAvatars,localeID:P.selectedLocale};return a.post("~/api/v1/settings/domain/post-user-mail",JSON.stringify({email:P.modUser.userData.emailAddress,userMailSettings:e}))})).then((function(){var e={forwardList:P.modUser.mailboxForwardList.forwardList,deleteOnForward:P.modUser.mailboxForwardList.deleteOnForward,keepRecipients:P.modUser.mailboxForwardList.keepRecipients};return a.post("~/api/v1/settings/domain/post-mailbox-forward-list",JSON.stringify({email:P.modUser.userData.emailAddress,mailboxForwardList:e}))})).then((function(){var e=[];return e.push(a.post("~/api/v1/settings/domain/all-user-groups/"+P.modUser.userData.userName+"/",JSON.stringify({userGroups:P.modUser.userGroups}))),o.all(e)})).then((function(){if(!P.autoCleanSettings.allowUserOverride)return o.when();var e={userOverrideActive:P.autoCleanSettings.userOverrideActive,userRules:P.autoCleanSettings.userRules};return a.post(`~/api/v1/settings/${P.modUser.userData.userName}/auto-clean`,JSON.stringify(e))})).then((function(){var e=[];P.calendarDefault&&!P.calendarDefault.isPrimary&&e.push(a.post("~/api/v1/settings/set-folder-as-primary/"+P.modUser.userData.userName,{input:P.calendarDefault.folderGuid}));P.notesDefault&&!P.notesDefault.isPrimary&&e.push(a.post("~/api/v1/settings/set-folder-as-primary/"+P.modUser.userData.userName,{input:P.notesDefault.folderGuid}));P.tasksDefault&&!P.tasksDefault.isPrimary&&e.push(a.post("~/api/v1/settings/set-folder-as-primary/"+P.modUser.userData.userName,{input:P.tasksDefault.folderGuid}));P.contactsDefault&&!P.contactsDefault.isPrimary&&e.push(a.post("~/api/v1/settings/set-folder-as-primary/"+P.modUser.userData.userName,{input:P.contactsDefault.folderGuid}));return 0===e.length?o.resolve():o.all(e)})).then((function(){P.navigateUp(s)}),h.report).catch(h.report).finally(t.spinner.hide))}function b(e){if(arguments.length)P.modUser.userMailSettings.isEnabled=e.value.isEnabled,P.modUser.userMailSettings.canReceiveMail=e.value.canReceiveMail,b=e;else{var t=$.grep(P.userStatusOptions,(function(e){return e.translation===P.getUserStatus()}));if(t.length>0)return b=t[0]}}P.clearSearchTerm=function(){P.timeZoneSearch="",P.textEncodeSearch=""},P.userStatus=b,P.defaultUserGroups=function(){for(var e=0;e<P.modUser.userGroups.length;e++)void 0===P.modUser.userGroups[e].enabled&&(P.modUser.userGroups[e].enabled=!1)},P.editUserDropdown=function(e){l.editItem(e.card,e.event)},P.getUserStatus=function(){if(!P.modUser||!P.modUser.userMailSettings)return null;if(P.modUser.userMailSettings.isEnabled&&P.modUser.userMailSettings.canReceiveMail)return"ENABLED";if(!P.modUser.userMailSettings.isEnabled&&P.modUser.userMailSettings.canReceiveMail)return"DOMAIN_USERS_DISABLED_ALLOW_MAIL";if(!P.modUser.userMailSettings.isEnabled&&!P.modUser.userMailSettings.canReceiveMail)return"DOMAIN_USERS_DISABLED_DISALLOW_MAIL"},P.loadEditUser=function(e,s){if(L)return L.promise;L=o.defer(),t.spinner.show(),P.editingCard={emailAddress:e,userName:e.split("@")[0]};var i=[];return i.push(a.post("~/api/v1/settings/domain/get-user-mail",JSON.stringify({email:e}))),i.push(a.post("~/api/v1/settings/domain/get-mailbox-forward-list",JSON.stringify({email:e}))),i.push(a.get("~/api/v1/settings/domain/all-user-groups/"+e.split("@")[0]+"/")),i.push(a.get("~/api/v1/settings/domain/indexing-user/"+e.split("@")[0]+"/")),i.push(a.get("~/api/v1/settings/available-indexers")),i.push(a.post("~/api/v1/settings/domain/get-available-app-passwords",JSON.stringify({token:g.getToken(),emailAddress:e}))),i.push(a.get("~/api/v1/licensing/domain-info")),i.push(a.get(`~/api/v1/settings/${e.split("@")[0]}/auto-clean`).then(T)),i.push(a.get(`~/api/v1/folders/list-owned-folders/${e.split("@")[0]}/2`).then((e=>{P.notesFolders=e.data.folders,P.notesDefault=P.notesFolders.find((e=>e.isPrimary))}))),i.push(a.get(`~/api/v1/folders/list-owned-folders/${e.split("@")[0]}/3`).then((e=>{P.contactsFolders=e.data.folders,P.contactsDefault=P.contactsFolders.find((e=>e.isPrimary))}))),i.push(a.get(`~/api/v1/folders/list-owned-folders/${e.split("@")[0]}/4`).then((e=>{P.calendarFolders=e.data.folders,P.calendarDefault=P.calendarFolders.find((e=>e.isPrimary))}))),i.push(a.get(`~/api/v1/folders/list-owned-folders/${e.split("@")[0]}/5`).then((e=>{P.tasksFolders=e.data.folders,P.tasksDefault=P.tasksFolders.find((e=>e.isPrimary))}))),i.push(a.get(`~/api/v1/settings/delegation/${e.split("@")[0]}`).then((e=>{P.hasDelegation=e.data.delegateAccounts&&e.data.delegateAccounts.length>0}))),i.push(a.get("~/api/v1/settings/from-address-options/"+e.split("@")[0]).then((e=>{P.fromAddressOptions=e.data.options}))),o.all(i).then((function(e){var t={userData:s.data.userData,userMailSettings:e[0].data.userMailSettings,mailboxForwardList:e[1].data.mailboxForwardList,userGroups:e[2].data.userGroups};P.modUser=$.extend(!0,{},t),P.authProvider=P.authProviders.find((e=>e.id===P.modUser.userData.securityFlags.authProviderId)),P.usesLDAP=1==P.modUser.userData.securityFlags.authType,P.modUser.userMailSettings.previewPaneOption=P.modUser.userMailSettings.previewUsePreview?"right":"none",P.isMe=t.userData.emailAddress===p.user.emailAddress,P.isPrimaryAdmin=t.userData.isPrimaryDomainAdmin,P.indexingUser=e[3].data.indexingUser,P.indexingUser&&(P.translatedIndexingDate=n("date")(P.indexingUser.dateAddedToList,"
367short"),P.indexingUser.translatedStatus=d.instant(C[P.indexingUser.currentStatus]),P.timeoutPromise=r(R,5e3)),P.selectedLocale=e[0].data.userMailSettings.localeId,P.originalLocale=P.selectedLocale,P.modUser.userMailSettings.disableGreylisting=!P.modUser.userMailSettings.disableGreylisting,P.availableIndexers=e[4].data.indexers||["Lucene_Base"],P.isImpersonating=c.impersonating(),P.showPasswordEnabled=!P.usesLDAP&&(c.isSysAdmin()&&c.canViewPasswords()||!c.isSysAdmin()&&c.impersonating()&&c.canViewPasswords()||!c.isSysAdmin()&&!c.impersonating()&&P.domainSettings.enableShowPasswords),P.showPassword=!1,P.twoFactorEnabled=P.domainSettings.twoFactorSettings.isEnabled&&t.userMailSettings.twoFactorSettings.isSetup,P.canShowAppPasswords=P.twoFactorEnabled&&P.showPasswordEnabled,P.enablePop=!!(1&P.modUser.userMailSettings.serviceLevelMap),P.enableImap=!!(2&P.modUser.userMailSettings.serviceLevelMap),P.enableIncomingSMTP=!!(4&P.modUser.userMailSettings.serviceLevelMap),P.enableOutgoingSMTP=!!(8&P.modUser.userMailSettings.serviceLevelMap),P.enableWebmail=!!(16&P.modUser.userMailSettings.serviceLevelMap),P.enableXMPP=!!(32&P.modUser.userMailSettings.serviceLevelMap),P.enableWebdav=!!(64&P.modUser.userMailSettings.serviceLevelMap),P.updateForwardList(),P.defaultUserGroups(),P.initialEasState=P.modUser.userMailSettings.isEasEnabled,P.initialMapiEwsState=P.modUser.userMailSettings.isMapiEwsEnabled,P.oldUserData=$.extend(!0,{},P.modUser.userData),P.oldUserMailSettings=$.extend(!0,{},P.modUser.userMailSettings),P.oldMailboxForwardList=$.extend(!0,{},P.modUser.mailboxForwardList),P.oldUserGroups=$.extend(!0,[],P.modUser.userGroups),P.editingCard.securityFlags={},P.editingCard.securityFlags.authType=P.modUser.userData.securityFlags.authType,P.editingCard.securityFlags.authenticatingWindowsDomain=P.modUser.userData.securityFlags.authenticatingWindowsDomain,P.editingCard.adUsername=P.modUser.userData.adUsername,P.editingCard.fullName=P.modUser.userData.fullName,P.editingCard.securityFlags.isDomainAdmin=P.modUser.userData.securityFlags.isDomainAdmin,P.editingCard.securityFlags.isDisabled=!P.modUser.userMailSettings.isEnabled,P.editingCard.userName=P.modUser.userData.userName,P.editingCard.emailAddress=P.modUser.userData.emailAddress,r((function(){$("#timeZoneSearch").on("keydown",(function(e){e.stopPropagation()})),$("#textEncodeSearch").on("keydown",(function(e){e.stopPropagation()}))})),P.plusAddressing=P.modUser.userMailSettings.plusAddressingEnabled?P.modUser.userMailSettings.plusAddressingFolder:"disabled",P.pageForm.$setSubmitted(),P.domainSettings.sharedGlobalAddressList||(P.modUser.userMailSettings.userContactInfo.hideFromLdap=!0),P.domainSettings.enableXmpp||(P.enableXMPP=!1),P.appPasswordsAvailable=e[5].data.appPasswords,P.appPasswordsShow={};for(var a=0;a<P.appPasswordsAvailable.length;++a)P.appPasswordsShow[P.appPasswordsAvailable[a]]=!1;P.mailboxSpaceInput=P.modUser.userMailSettings.maxSize/1048576,P.systemEasLimit=e[6].data.data.systemEasLimit,P.systemEasCount=e[6].data.data.systemEasCount,P.domainEasLimit=e[6].data.data.domainEasLimit,P.domainEasCount=e[6].data.data.domainEasCount,P.systemMapiEwsLimit=e[6].data.data.systemMapiEwsLimit,P.systemMapiEwsCount=e[6].data.data.systemMapiEwsCount,P.domainMapiEwsLimit=e[6].data.data.domainMapiEwsLimit,P.domainMapiEwsCount=e[6].data.data.domainMapiEwsCount,P.canAddEasAccounts=(-1===P.systemEasLimit||P.systemEasCount<=P.systemEasLimit)&&(0===P.domainEasLimit||P.domainEasCount<=P.domainEasLimit),P.canAddMapiEwsAccounts=P.systemMapiEwsCount<P.systemMapiEwsLimit&&(0===P.domainMapiEwsLimit||P.domainMapiEwsCount<P.domainMapiEwsLimit),A=P.modUser.userData&&P.modUser.userData.adUsername,P.modUser.userData.securityFlags.ldapProviderId,L.resolve()}),(function(e){h.report(e),L.reject()})).finally((function(){L=null,P.isLoaded=!0,t.spinner.hide(),t.$broadcast("masonry:contentsChanged")})),L.promise},P.onShowPasswordClicked=function(e,s){if(P.password)P.showPassword=!!s;else{t.spinner.show();var r=JSON.stringify({token:g.getToken(),emailAddress:P.editingCard.emailAddress});a.post("~/api/v1/settings/domain/show-password/",r).then((function(e){P.showPassword=!0,P.password=e.data.password;e.data.appPasswords;P.appPasswords={};for(var t=0;t<e.data.appPasswords.length;++t){var s=e.data.appPasswords[t];P.appPasswords[s.deviceId]=s}}),(function(e){P.showPassword=!1,P.password="",P.appPasswords={},h.report(e)})).finally((function(){t.spinner.hide()}))}},P.showAppPassword=function(e){if(0===Object.keys(P.appPasswords).length){t.spinner.show();var s=JSON.stringify({token:g.getToken(),emailAddress:P.editingCard.emailAddress});a.post("~/api/v1/settings/domain/show-password/",s).then((function(t){P.appPasswords={};for(var s=0;s<t.data.appPasswords.length;++s){var a=t.data.appPasswords[s];P.appPasswords[a.deviceId]=a}P.appPasswordsShow[e]=!0}),(function(e){P.appPasswords={},h.report(e)})).finally((function(){t.spinner.hide()}))}else P.appPasswordsShow[e]=!0},P.resetAppPassword=function(e){var t=i.confirm({title:d.instant("CONFIRMATION_REQUIRED"),textContent:d.instant("APP_PASSWORD_RESET_CONFIRM"),ok:d.instant("RESET"),cancel:d.instant("CANCEL")});i.show(t).then((function(t){var s={id:P.appPasswords[e].guid,email:P.editingCard.emailAddress,token:g.getToken()};a.post("~/api/v1/settings/domain/reset-app-password",s).then((function(e){for(var t=Object.keys(P.appPasswords),s=0;s<t.length;++s)if(P.appPasswords[t[s]].guid===e.data.appPassword.guid){P.appPasswords[t[s]].password=e.data.appPassword.password;break}}),h.report)}))},P.impersonateUser=function(){if(!I())return;S.impersonateUser(P.editingCard.emailAddress)},P.openChangePassword=function(e){i.show({controller:"userEditPasswordAdminController",controllerAs:"ctrl",templateUrl:"app/settings/shared/change-user-password-admin.dlg.html",locals:{username:P.modUser.userData.userName},targetEvent:e}).then((function(e){if(""!==e.newPassword&&""!==e.confirmPassword)if(e.newPassword===e.confirmPassword){var t=g.getClientId(),s=JSON.stringify({email:P.modUser.userData.emailAddress,userData:{password:e.newPassword},clientId:t});a.post("~/api/v1/settings/domain/post-user",s).then((function(){w.report()}),h.report)}else h.report("PASSWORDS_DONT_MATCH");else h.report("INVALID_PASSWORDS")}))},P.openExpirePassword=function(e){var s=i.confirmDeletion().title(d.instant("CONFIRMATION_REQUIRED")).textContent(U.reactPluralize("EXPIRE_PASSWORD_MESSAGE",{count:1})).ok(d.instant("EXPIRE_PASSWORD")).noWarn(!0);i.show(s).then((function(){var e=JSON.stringify({emailAddresses:[P.modUser.userData.emailAddress]});t.spinner.show(),a.post("~/api/v1/settings/expire-passwords",e).then((function(e){e.data.activeDirectoryCount>0?h.warn("EXPIRE_PASSWORD_ACTIVEDIRECTORY"):w.report()}),h.report).finally(t.spinner.hide)}))},P.openChangeUsername=function(t,s){if(P.isMe)return;i.show({locals:{oldUsername:P.modUser.userData.userName},controller:"domainEditUsernameController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/users/edit-username.dlg.html",targetEvent:t}).then((function(t){P.newUsername=t.newUsername,P.newUsername.indexOf("@")>-1&&(P.newUsername=P.newUsername.split("@")[0]);var r=g.getClientId();a.post("~/api/v1/settings/domain/rename-user/"+P.modUser.userData.userName+"/"+P.newUsername,{clientId:r}).then((function(){s.$setPristine(),e.go("^.specific",{selectedUserId:encodeURIComponent(P.newUsername+"@"+P.domain)})}),h.report)}))},P.generateTempPassword=function(e){var t=JSON.stringify({email:P.modUser.userData.emailAddress});a.post("~/api/v1/auth/generate-temp-pass",t).then((function(e){P.modUser.userData.tempPassword=e.data.tempPassword,P.modUser.userData.tempPasswordExpUtc=e.data.tempPasswordExpUtc}),h.report)},P.extendTempPassword=function(e){var t=JSON.stringify({email:P.modUser.userData.emailAddress});a.post("~/api/v1/auth/extend-temp-pass",t).then((function(e){P.modUser.userData.tempPassword=e.data.tempPassword,P.modUser.userData.tempPasswordExpUtc=e.data.tempPasswordExpUtc}),h.report)},P.revokeTempPassword=function(e){var t=JSON.stringify({email:P.modUser.userData.emailAddress});a.post("~/api/v1/auth/revoke-temp-pass/",t).then((function(e){P.modUser.userData.tempPassword=e.data.tempPassword,P.modUser.userData.tempPasswordExpUtc=e.data.tempPasswordExpUtc}),h.report)}
367,P.searchItems=function(){l.searchPredicate={emailAddress:l.searchText},l.searchText&&0!==l.searchText.length||(l.searchPredicate=void 0);l.updateFilteredCards()},P.updateForwardList=function(){P.modUser.mailboxForwardList.forwardList||(P.modUser.mailboxForwardList.forwardList=[]);if(0===P.modUser.mailboxForwardList.forwardList.length)P.modUser.mailboxForwardList.forwardList.push("");else if(P.modUser.mailboxForwardList.forwardList.length>0){var e=$.grep(P.modUser.mailboxForwardList.forwardList,(function(e){return""===e}));e.length>1?(P.modUser.mailboxForwardList.forwardList=$.grep(P.modUser.mailboxForwardList.forwardList,(function(e){return""!==e})),P.modUser.mailboxForwardList.forwardList.push("")):0===e.length&&P.modUser.mailboxForwardList.forwardList.push("")}},P.validDate=function(e){return moment(e).year()>100},P.dateExpired=function(e){if(null==e)return!1;var t=moment(),s=moment(e);return t>s},P.deleteThis=function(e,t){var s=i.confirmDeletion().textContent(U.reactPluralize("CONFIRMATIONS_DELETE_USERS",{count:1})).targetEvent(e);i.show(s).then((function(){a.post("~/api/v1/settings/domain/users-delete",JSON.stringify({input:[P.userId]})).then((function(){P.navigateUp(t)}),h.report)}),(function(){}))},P.changeAuthType=function(){P.modUser.userData.securityFlags.authProviderId&&0===P.authProvider.type&&""===P.newPassword&&(P.needsPasswordForSMAuthType=!0,r((function(){i.show({controller:"userEditPasswordAdminController",controllerAs:"ctrl",locals:{username:P.modUser.userData.userName},templateUrl:"app/settings/shared/change-user-password-admin.dlg.html"}).then((function(e){""!==e.newPassword&&""!==e.confirmPassword?e.newPassword===e.confirmPassword?P.newPassword=e.newPassword:h.report("PASSWORDS_DONT_MATCH"):h.report("INVALID_PASSWORDS")}),(function(){P.newPassword="",P.authProvider=P.authProviders.find((e=>e.id===P.modUser.userData.securityFlags.authProviderId))}))}),500))},P.save=O,P.preSave=function(e,t){function s(r,o,d){const l={ldapProviderId:P.authProvider.id};r&&o&&(l.ldapUsername=o,l.ldapPassword=o,l.rememberCredentials=d||!1),a.post("~/api/v1/settings/domain/ldap-usernames",JSON.stringify(l)).then((function(s){var a=P.modUser.userData.adUsername||P.modUser.userData.userName;s.data.usernames.find((e=>e.toLowerCase()===a.toLowerCase()))?O(e,t):h.report(n("translate")("ERROR_ACTIVE_DIRECTORY_USERNAME_NOT_FOUND_ON_DOMAIN"))}),(function(t){"LDAP_ANONYMOUS_QUERIES_NOT_ALLOWED"===t.data.message?i.show({controller:"getLdapCredentialsController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/users/get-ldap-credentials.dlg.html",targetEvent:e}).then((function(e){s(e.ldapUser,e.ldapPassword,e.rememberCredentials)})):h.report(t)}))}0!==P.authProvider.providerType&&P.authProvider.id!==P.modUser.userData.securityFlags.ldapProviderId&&P.modUser.userData.adUsername!==A&&1===P.modUser.userData.securityFlags.authType?P.domainSettings.activeDirectoryIntegration&&P.authProvider?s():h.report(n("translate")("ERROR_ACTIVE_DIRECTORY_USERNAME_NOT_FOUND_ON_DOMAIN")):O(e,t)},P.navigateUp=function(t){t.$setPristine(),e.go("^")},P.reindexThis=function(){var e=i.confirmDeletion().title(d.instant("CONFIRMATION_REQUIRED")).textContent(d.instant("CONFIRMATIONS_REINDEX")).ok(d.instant("REINDEX")).noWarn(!0);i.show(e).then((function(){a.post("~/api/v1/settings/domain/reindex-users",JSON.stringify({input:[P.userId.split("@")[0]]})).then(w.report,h.report)}),(function(){}))},P.recalculateThis=function(){a.post("~/api/v1/settings/domain/recalculate-users",JSON.stringify({input:[P.userId.split("@")[0]]})).then(w.report,h.report)},P.resyncUser=function(){var e=i.confirm().title(n("translate")("CONFIRMATION_REQUIRED")).textContent(U.reactPluralize("CONFIRMATIONS_RESYNC_USERS",{count:1})).cancel(n("translate")("CANCEL")).ok(n("translate")("CONTINUE"));i.show(e).then((function(e){var t;t=`~/api/v1/settings/domain/resync-users/${P.domain}`,a.post(t,JSON.stringify({input:[P.userId.split("@")[0]]})).then((function(e){w.report(U.reactPluralize("RESYNC_ACTION_MESSAGE",{count:1}))}),h.report)}))},P.getTranslatedThrottleOption=function(e){var t=P.throttleOptions.length-1-e;return isNaN(t)?void 0:d.instant(P.throttleOptions[t].translation)},P.disableUserTwoFactor=function(){if(!P.canChangeTwoFactor)return;var e=i.confirm().title(d.instant("CONFIRMATION_REQUIRED")).textContent(d.instant("TWO_FACTOR_WANT_RESET")).ok(d.instant("RESET")).cancel(d.instant("CANCEL"));i.show(e).then((function(){a.post("~/api/v1/settings/domain/disable-two-factor/"+P.modUser.userData.userName).then((function(){w.report("SUCCESS"),P.twoFactorEnabled=!1,P.canShowAppPasswords=!1}),h.report)}))},P.serviceAccessControlledBySysAdmin=function(){return!c.impersonating()&&!c.isSysAdmin()&&(!P.activeSyncLicensed||!P.mapiEwsLicensed||(!P.canAddEasAccounts||!P.canAddMapiEwsAccounts||!P.isImpersonating&&(!P.domainSettings||!P.domainSettings.enableActiveSyncAccountManagement||!P.domainSettings.enableMapiEwsAccountManagement)))},P.enableEasCheckbox=!1,P.mailForwardingChanged=function(){P.modUser.userMailSettings.enableMailForwarding&&(P.modUser.mailboxForwardList.keepRecipients=!0)},P.enableMapiCheckbox=!1,P.onCopyPassword=function(){var e=document.createElement("textarea");e.value=P.password||"",document.body.appendChild(e),e.focus(),e.select(),document.execCommand("copy"),document.body.removeChild(e),w.report("COPIED_TO_CLIPBOARD")},P.onCopyTempPassword=function(){var e=document.createElement("textarea");e.value=P.modUser.userData.tempPassword||"",document.body.appendChild(e),e.focus(),e.select(),document.execCommand("copy"),document.body.removeChild(e),w.report("COPIED_TO_CLIPBOARD")},P.redirect=function(e){f.location.href=e},e.current.data.pageTitle="default"==P.userId?n("translate")("USER_DEFAULTS"):n("translate")("USER")+" ("+P.userId+")",y(),u.watchForChanges(s,y),o.all([m.
367init(),v.init()]).then((function(){a.get("~/api/v1/settings/domain/domain").then((function(t){P.domainSettings=t.data.domainSettings,function(){function t(e,t){let s="";switch(e){case 0:s=n("translate")("SMARTERMAIL");break;case 1:s=n("translate")("ACTIVE_DIRECTORY");break;case 3:s=n("translate")("LDAP");break;default:s=n("translate")("UNKNOWN")}return t?`${s}: ${t}`:s}P.canChangeGreylist=m.userPermissions.greyListEnabled,P.canChangeTwoFactor=m.userPermissions.enableTwoFactor,P.forwardingEnabled=P.domainSettings.enableMailForwarding,P.authProviders=P.domainSettings.authenticationProviders.map((e=>({id:e.providerId,name:e.providerName,type:e.providerType,label:t(e.providerType,e.providerName),domainname:e.fqdn}))),P.authProviders.unshift({id:"",name:n("translate")("SMARTERMAIL"),type:0,label:t(0),domainname:""}),P.modUser=void 0,m.settingsData.availiableTimeZones.then((function(e){P.timeZoneOptions=e;for(var t=0;t<P.timeZoneOptions.length;++t)P.timeZoneOptions[t].translated=n("translate")(P.timeZoneOptions[t].displayName)})),P.allowedSizeChanges=c.impersonating()||c.isSysAdmin()||P.domainSettings&&P.domainSettings.allowUserSizeChanging,P.enableEasCheckbox=P.domainSettings&&P.activeSyncLicensed&&(c.impersonating()||c.isSysAdmin()||P.domainSettings.enableActiveSyncAccountManagement),P.enableMapiCheckbox=P.domainSettings&&P.mapiEwsLicensed&&(c.impersonating()||c.isSysAdmin()||P.domainSettings.enableMapiEwsAccountManagement),s.$watchCollection((function(){return P.modUser&&P.modUser.mailboxForwardList?P.modUser.mailboxForwardList.forwardList:null}),(function(){void 0!==P.modUser&&P.updateForwardList()}));var r=decodeURIComponent(P.userId),i=r.split("@")[1];function o(){s.$watch((function(){return P.modUser.userMailSettings.isEasEnabled}),(function(e,t){null==e&&null==t||e!==t&&(P.domainEasCount+=e?1:-1,P.systemEasCount+=e?1:-1)})),s.$watch((function(){return P.modUser.userMailSettings.isMapiEwsEnabled}),(function(e,t){null==e&&null==t||e!==t&&(P.domainMapiEwsCount+=e?1:-1,P.systemMapiEwsCount+=e?1:-1)}))}a.post("~/api/v1/settings/domain/get-user",JSON.stringify({email:r})).then((function(e){P.loadEditUser(r,e).then(o,h.report)}),(function(t){h.report(t),e.go("index.sysadmin-manage.dashboard.domain-specific.domain-users",{id:i})}))}()}),(function(){}))}),h.report);var L=null;function N(){var e=0;return P.enablePop&&(e|=1),P.enableImap&&(e|=2),P.enableIncomingSMTP&&(e|=4),P.enableOutgoingSMTP&&(e|=8),P.enableWebmail&&(e|=16),P.enableXMPP&&(e|=32),P.enableWebdav&&(e|=64),e}function R(){a.get("~/api/v1/settings/domain/indexing-user/"+P.modUser.userData.userName+"/").then((function(e){if(l.editingItem){if(!e.data.indexingUser)return P.indexingUser.itemsIndexed=P.indexingUser.itemsToIndex,void(P.indexingUser.translatedStatus=d.instant(C[4]));P.indexingUser=e.data.indexingUser,P.indexingUser.translatedStatus=d.instant(C[P.indexingUser.currentStatus]),P.timeoutPromise=r(R,5e3)}}),(function(e){}))}async function T(e){P.autoCleanSettings=e.data;try{P.autoCleanSettings.domainRules.forEach((e=>e.translatedPath=x(e.folderName))),P.autoCleanSettings.systemRules.forEach((e=>e.translatedPath=x(e.folderName))),P.autoCleanSettings.userOverrideActive&&P.autoCleanSettings.userRules?(P.autoCleanFolders=await v.getUserMailFolderListByEmail(P.userId),P.autoCleanSettings.userRules&&P.autoCleanSettings.userRules.forEach((e=>e.translatedPath=function(e){const t=P.autoCleanFolders.find((t=>t.path===e.toLowerCase())),s=t&&t.translatedPath?t.translatedPath:e;return s?s.replaceAll(" ",""):s}(e.folderName)))):P.autoCleanSettings.allowDomainOverride&&P.autoCleanSettings.domainOverrideActive?(P.autoCleanInheritedRuleSource="domain",P.autoCleanInheritedRules=P.autoCleanSettings.domainRules):(P.autoCleanInheritedRuleSource="system",P.autoCleanInheritedRules=P.autoCleanSettings.systemRules)}catch(e){return void h.report(e)}}function x(e){switch(e.toLowerCase()){case"deleted items":return d.instant("DELETED_ITEMS");case"inbox":return d.instant("INBOX");case"drafts":return d.instant("DRAFTS");case"junk e-mail":return d.instant("JUNK_EMAIL");case"sent items":return d.instant("SENT_ITEMS");default:return e}}async function F(){return P.autoCleanFolders||(c.isSysAdmin()?P.autoCleanFolders=await v.getUserMailFolderListByEmail(P.modUser.userData.emailAddress):P.autoCleanFolders=await v.getUserMailFolderList(P.modUser.userData.userName)),P.autoCleanFolders}function _(e,s){var a=P.autoCleanSettings.userRules.indexOf(e);-1!==a&&P.autoCleanSettings.userRules.splice(a,1),s.$setDirty(),t.$broadcast("masonry:contentsChanged")}P.autoCleanNewRule=async function(e,s){try{P.autoCleanFolders=await F()}catch(e){return void h.report(e)}try{const r=P.autoCleanFolders.find((e=>"deleted items"===e.path)).name||"deleted Items",n=await i.show({locals:{folderName:r,folders:P.autoCleanFolders,processGoal:75,processThreshold:100,thresholdDays:30,type:0,enabled:!0,newItem:!0},controller:"userEditAutoCleanController",controllerAs:"ctrl",templateUrl:"app/settings/shared/edit-auto-clean.dlg.html",targetEvent:e});n&&((a=n).rule.processGoalBytes=1024*a.rule.processGoalMb*1024,a.rule.processThresholdBytes=1024*a.rule.processThresholdMb*1024,P.autoCleanSettings.userRules.push(a.rule),s.$setDirty(),t.$broadcast("masonry:contentsChanged"))}catch(e){}var a},P.autoCleanEditRule=async function(e,s,a){try{P.autoCleanFolders=await F()}catch(e){return void h.report(e)}try{const r=await i.show({locals:{folderName:s.folderName,folders:P.autoCleanFolders,processGoal:s.processGoalMb,processThreshold:s.processThresholdMb,thresholdDays:s.thresholdDays,type:s.type,enabled:s.enabled,newItem:!1},controller:"userEditAutoCleanController",controllerAs:"ctrl",templateUrl:"app/settings/shared/edit-auto-clean.dlg.html",targetEvent:e});r&&function(e){if(e.deleteItem)return void _(s,a);
367e.rule.id=s.id,e.rule.processGoalBytes=1024*e.rule.processGoalMb*1024,e.rule.processThresholdBytes=1024*e.rule.processThresholdMb*1024,_(s,a),P.autoCleanSettings.userRules.push(e.rule),a.$setDirty(),t.$broadcast("masonry:contentsChanged")}(r)}catch(e){}},P.autoCleanGetCleanBottomString=function(e){switch(e.type){case 0:var t=n("bytes")(e.processThresholdBytes,1),s=n("bytes")(e.processGoalBytes,1);return n("translate")("AUTO_CLEAN_SUMMARY_SIZE",{over:t,reduce:s});case 1:return n("translate")("AUTO_CLEAN_SUMMARY_TIME_IN_FOLDER",{days:e.thresholdDays});case 2:return n("translate")("AUTO_CLEAN_SUMMARY_MESSAGE_AGE",{days:e.thresholdDays});default:return""}},P.onDefaultFolderChange=function(){P.defaultFolderEditsPending=P.tasksDefault&&!P.tasksDefault.isPrimary||P.notesDefault&&!P.notesDefault.isPrimary||P.tasksDefault&&!P.contactsDefault.isPrimary||P.calendarDefault&&!P.calendarDefault.isPrimary},P.openRemoteContentExceptions=function(e,t){i.show({locals:{header:d.instant("REMOTE_CONTENT_EXCEPTIONS"),exceptions:angular.copy(P.modUser.userMailSettings.remoteContentExceptions)},controller:"remoteContentExceptionsDialogController",controllerAs:"ctrl",templateUrl:"app/settings/user-settings/account-settings/content-exceptions.dlg.html",targetEvent:e}).then((function(e){P.modUser.userMailSettings.remoteContentExceptions=e.exceptions,t.$setDirty()}),(function(){}))},P.openRemoteTrackersExceptions=function(e,t){i.show({locals:{header:d.instant("REMOTE_TRACKERS_EXCEPTIONS"),exceptions:angular.copy(P.modUser.userMailSettings.remoteTrackersExceptions)},controller:"remoteContentExceptionsDialogController",controllerAs:"ctrl",templateUrl:"app/settings/user-settings/account-settings/content-exceptions.dlg.html",targetEvent:e}).then((function(e){P.modUser.userMailSettings.remoteTrackersExceptions=e.exceptions,t.$setDirty()}),(function(){}))}}e.$inject=["$state","$rootScope","$scope","$http","$timeout","$filter","$mdDialog","$q","$translate","coreDataDomainSettings","coreLicensing","coreDataSettings","userDataService","claimsService","authStorage","impersonationService","errorHandling","successHandling","$window","localeInfoService","coreDataUserFolder","i18n"],angular.module("smartermail").controller("domainSettingsUserEditController",e)}();
368!function(){"use strict";function e(e,t,n,a,s,i,o,r,l,c,d,u,h,m,g,p,f){var A=this;function w(e){var n=function(){var e=[];for(var t in A.checkboxes.items)A.checkboxes.items.hasOwnProperty(t)&&A.checkboxes.items[t]&&e.push(t);return e}(),i=s.confirmDeletion().textContent(f.reactPluralize("CONFIRMATIONS_DELETE_ALIASES",{count:n.length})).targetEvent(e);function o(e){if(e.data.result){var n=s.confirmDeletion().title().textContent(l("translate")("CONFIRMATIONS_UNABLE_TO_DELETE_ACCOUNTS")).ok(l("translate")("OK")).noWarn(!0).hideCancel(!0);s.show(n)}E(),t.$broadcast("refresh-users-counts")}s.show(i).then((function(){t.spinner.show(),a.post("~/api/v1/settings/domain/aliases-delete",JSON.stringify({input:n})).then(o,h.report).finally(t.spinner.hide)}),(function(){}))}function L(e){for(var t in A.searchParams.skip=(e.page()-1)*e.count(),A.searchParams.take=e.count(),A.searchParams.sortField=null,A.searchParams.searchFlags=["aliases"],e.sorting())if(e.sorting().hasOwnProperty(t)&&e.sorting()[t]){A.searchParams.sortField=t,A.searchParams.sortDescending="desc"===e.sorting()[t];break}return a.post("~/api/v1/settings/domain/account-list-search",JSON.stringify(A.searchParams)).then((function(t){return A.searchResults=t.data.results,angular.forEach(A.searchResults,(function(e){e.accountTypeString=e.aliasIsCatchAll?"CATCH_ALL_ALIAS":"USER_ALIAS",e.authTypeString="DOMAIN_MANAGEMENT_LOCAL",e.emailAddress=e.userName+"@"+A.domain,e.accountTypeClass=e.aliasIsCatchAll?"red-text":null,e.percent=e.bytesAllowed?100*(e.bytesUsed||0)/e.bytesAllowed:null,e.lastLoginTime=new Date(e.lastLoginTime),e.easLastLogin=new Date(e.easLastLogin),e.mapiLastLogin=new Date(e.mapiLastLogin),e.ewsLastLogin=new Date(e.ewsLastLogin)})),A.searchResultCount=t.data.totalCount,e.total(A.searchResultCount),A.searchResults}),(function(e){})).catch((function(e){}))}function E(){A.checkboxes.reset(),A.tableParams.reload()}A.domain=e.params.id||p.user.domain,A.domainSettings={},A.edition=1,A.searchText="",A.searchParams={skip:0,take:0,search:null,sortField:null,sortDescending:!1},A.settingCore=g,A.newAlias=function(e){s.show({locals:{name:void 0,displayName:void 0,targets:[],allowSending:!1,showInGal:!0,showInXmpp:!1,internalOnly:!1,includeAllDomainUsers:!1,isCatchAll:!1,catchAllEnabled:1===A.domainSettings.caRestrictionLevel,de
368scription:"",isEnabled:!0},controller:"domainEditAliasController",controllerAs:"NUCtrl",templateUrl:"app/settings/domain-settings/users/alias.dlg.html",targetEvent:e}).then((function(){E(),t.$broadcast("refresh-users-counts")}),(function(){}))},A.searchItems=function(){A.searchParams.search=A.searchText,E()},A.contextMenuGridItem=function(e,t){if(!t||"touchstart"!==t.type&&"touchend"!==t.type&&3!==t.which||e.criticallyErrored)return;t.stopPropagation(),t.preventDefault();var a=A.checkboxes.getCheckedItems();(a.length>1&&!_.some(a,(function(t){return t===e.userName}))||a.length<=1)&&(A.checkboxes.reset(),A.checkboxes.checkCheckbox(t,e),a=[e.userName]);n.dropdownEvent=$.extend(!0,{},t),n.dropdownOptions=[{key:"deleteItems",click:w,translateKey:"DELETE"}];var s=$("#context-menu-area");if(s){var i=r('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(n);s.append(i)}},A.deleteItems=w,A.editAlias=function(e,t){var n={name:e.userName};a.post("~/api/v1/settings/domain/alias-get",n).then((function(e){var n=e.data.alias;s.show({locals:{name:n.name,displayName:n.displayName,targets:n.aliasTargetList||[],allowSending:n.allowSending,showInGal:!n.hideFromGAL,showInXmpp:n.enableForXmpp,internalOnly:n.internalOnly,includeAllDomainUsers:n.includeAllDomainUsers,isCatchAll:n.isCatchAll,catchAllEnabled:1===A.domainSettings.caRestrictionLevel,de
368scription:n.description,isEnabled:n.isEnabled},controller:"domainEditAliasController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/users/alias.dlg.html",targetEvent:t}).then(E,(function(){}))}),(function(){}))},function(){function e(){A.edition=c.edition,A.activeSyncLicensed=c.hasEas,A.mapiEwsLicensed=c.hasMapiEws}e(),c.watchForChanges(n,e),a.get("~/api/v1/settings/domain/domain").then((function(e){A.domainSettings=e.data.domainSettings,t.$on("refreshUsersGrid",E),t.$on("refresh-users-counts",E),A.tableParams=new d({sorting:{userName:"asc"}},{getData:L,counts:t.commonTableCounts}),A.checkboxes=u.init("userName"),A.checkboxes.table=A.tableParams}),(function(e){}))}()}e.$inject=["$state","$rootScope","$scope","$http","$mdDialog","$q","$translate","$compile","$filter","coreLicensing","NgTableParams","gridCheckboxes","errorHandling","successHandling","coreDataDomainSettings","userDataService","i18n"],angular.module("smartermail").controller("domainSettingsAliasesController",e)}();
369!function(){"use strict";function e(e,t,n,s,r,a,o,i,c,l,u,d,m,p,h,f,E,g,S,I){var R=this;function O(e){var n=function(){var e=[];for(var t in R.checkboxes.items)R.checkboxes.items.hasOwnProperty(t)&&R.checkboxes.items[t]&&e.push(t);return e}(),o=a.confirmDeletion().textContent(I.reactPluralize("CONFIRMATIONS_DELETE_USERS",{count:n.length})).targetEvent(e);function i(e){if(e.data.result){var t=a.confirmDeletion().title().textContent(r("translate")("CONFIRMATIONS_UNABLE_TO_DELETE_ACCOUNTS")).ok(r("translate")("OK")).noWarn(!0).hideCancel(!0);a.show(t)}b()}a.show(o).then((function(){t.spinner.show(),s.post("~/api/v1/settings/domain/account-list-delete",JSON.stringify({input:n})).then(i,d.report).finally(t.spinner.hide)}),(function(){}))}function A(e,t){var n=[];if(angular.forEach(e,(function(e,t){n.push(t+"@"+R.domain)})),0!==n.length){var o=a.confirmWithOption().title(r("translate")("CONFIRMATION_REQUIRED")).textContent(I.reactPluralize("CONFIRMATIONS_DISABLE_USERS",{count:n.length})).optionText(i.instant("ALLOW_INCOMING_MESSAGES")).cancel(r("translate")("CANCEL")).ok(r("translate")("DISABLE"));a.show(o).then((function(e){var t;t=`~/api/v1/settings/domain/users-disable/true/${e}`,s.post(t,JSON.stringify({input:n})).then((function(e){R.checkboxes.reset(),R.tableParams.reload(),m.report()}),d.report)}))}else d.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function C(e,t){var n=[];if(angular.forEach(e,(function(e,t){n.push(t+"@"+R.domain)})),0!==n.length)if(1===n.length)i();else{var o=a.confirm().title(r("translate")("CONFIRMATION_REQUIRED")).textContent(I.reactPluralize("CONFIRMATIONS_ENABLE_USERS",{count:n.length})).cancel(r("translate")("CANCEL")).ok(r("translate")("ENABLE"));a.show(o).then((function(){i()}))}else d.report("SPOOL_ERRORS_NO_ITEMS_SELECTED");function i(){s.post("~/api/v1/settings/domain/users-disable/false",JSON.stringify({input:n})).then((function(e){R.checkboxes.reset(),R.tableParams.reload(),m.report()}),d.report)}}function N(e){var t=a.confirmDeletion().title(i.instant("CONFIRMATION_REQUIRED")).textContent(i.instant("CONFIRMATIONS_REINDEX")).ok(i.instant("REINDEX")).noWarn(!0);a.show(t).then((function(t){var n=[];angular.forEach(e,(function(e,t){n.push(t)})),s.post("~/api/v1/settings/domain/reindex-users",JSON.stringify({input:n})).then(m.report,d.report)}),(function(){}))}function y(e){var t=a.confirmDeletion().title(i.instant("CONFIRMATION_REQUIRED")).textContent(i.instant("CONFIRMATIONS_RECLASSIFY")).ok(i.instant("RECLASSIFY")).noWarn(!0);a.show(t).then((function(t){var n=[];angular.forEach(e,(function(e,t){n.push(t)})),s.post("~/api/v1/settings/domain/reclassify-users",JSON.stringify({input:n})).then(m.report,d.report)}),(function(){}))}function v(e,t){e.length>R.maxResyncRequestsAllowed&&d.report(i("RESYNC_USERS_MAX_EXCEEDED"));var n=[];angular.forEach(e,(function(e,t){n.push(t)}));var o=a.confirm().title(r("translate")("CONFIRMATION_REQUIRED")).textContent(I.reactPluralize("CONFIRMATIONS_RESYNC_USERS",{count:n.length})).cancel(r("translate")("CANCEL")).ok(r("translate")("CONTINUE"));a.show(o).then((function(e){var t;t=`~/api/v1/settings/domain/resync-users/${R.domain}`,s.post(t,JSON.stringify({input:n})).then((function(e){R.checkboxes.reset(),R.tableParams.reload(),m.report(I.reactPluralize("RESYNC_ACTION_MESSAGE",{count:n.length}))}),d.report)}))}function D(e){var t=[];angular.forEach(e,(function(e,n){t.push(n)})),s.post("~/api/v1/settings/domain/recalculate-users",JSON.stringify({input:t})).then(m.report,d.report)}function T(e,n){var r=[];angular.forEach(e,(function(e,t){r.push(t+"@"+R.domain)}));var o=a.confirmDeletion().title(i.instant("CONFIRMATION_REQUIRED")).textContent(I.reactPluralize("EXPIRE_PASSWORD_MESSAGE",{count:r.length})).ok(i.instant("EXPIRE_PASSWORD")).noWarn(!0);a.show(o).then((function(){var e=JSON.stringify({emailAddresses:r});t.spinner.show(),s.post("~/api/v1/settings/expire-passwords",e).then((function(e){e.data.activeDirectoryCount>0?d.warn("EXPIRE_PASSWORD_ACTIVEDIRECTORY"):m.report()}),d.report).finally(t.spinner.hide)}),(function(){}))}function k(e){var t="";angular.forEach(e,(function(e,n){t=n+"@"+R.domain})),S.impersonating()?h.impersonateUserReplaceCurrent(t):h.impersonateUser(t)}function w(e){var t={1:"USER",2:"DOMAIN_ADMINISTRATOR",3:"PRIMARY_ADMINISTRATOR",4:"USER_ALIAS",5:"MAILINGLIST"},n={1:"DOMAIN_MANAGEMENT_LOCAL",2:"ACTIVE_DIRECTORY",3:"TWO_FACTOR_SHORT",4:"LDAP"};for(var r in R.searchParams.skip=(e.page()-1)*e.count(),R.searchParams.take=e.count(),R.searchParams.sortField=null,R.searchParams.searchFlags=["users"],e.sorting())if(e.sorting().hasOwnProperty(r)&&e.sorting()[r]){R.searchParams.sortField=r,R.searchParams.sortDescending="desc"===e.sorting()[r];break}return R.aupEnabled=!1,s.post("~/api/v1/settings/domain/account-search-quick",JSON.stringify(R.searchParams)).then((function(s){return R.searchResults=s.data.users,R.searchResults.forEac
369h((function(e,s,r){e.accountTypeString=t[e.accountType],e.authTypeString=n[e.authType],e.emailAddress=e.userName+"@"+R.domain,e.percent=e.bytesUsedPercent,e.lastLoginTime=new Date(e.lastLoginTime),e.createdAt=new Date(e.createdAt)})),R.searchResultCount=s.data.totalCount,e.total(R.searchResultCount),R.searchResults}),(function(e){})).catch((function(e){}))}function U(){R.checkboxes.reset(),R.tableParams.reload()}function b(){U(),t.$broadcast("refresh-users-counts")}R.domain=e.params.id||E.user.domain,R.domainSettings={},R.edition=1,R.searchText="",R.searchParams={skip:0,take:0,search:null,sortField:null,sortDescending:!1},R.settingCore=p,R.isSystemAdmin=S.isSysAdmin()||S.impersonating(),R.minDate=new Date("2002"),R.aupEnabled=!1,R.myUsername=g.user.username,R.columnLabels={size:r("translate")("SIZE"),spaceUsed:r("translate")("DISK_USAGE")},R.maxResyncRequestsAllowed=25,R.primaryDomainAdminSelected=!1,R.newUser=function(t){a.show({locals:{isDomainAdmin:!1},controller:"domainNewUserController",controllerAs:"NUCtrl",templateUrl:"app/settings/domain-settings/users/new-user.dlg.html",targetEvent:t}).then((function(t){R.newUsername=t.username;var n=t.username.split("@")[0];e.go(".specific",{selectedUserId:encodeURIComponent(n+"@"+R.domain)})}),(function(){}))},R.deleteItems=O,R.editUser=function(t,n){if(3===t.status)return void a.show({locals:{username:t.userName,domainPath:R.domainSettings.domainPath},controller:"userFailedToLoadDialogController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/users/user-failed-to-load.dlg.html",targetEvent:n}).then((function(e){e&&U()}),(function(){}));5===t.accountType?e.go("^.domain-mailing-lists",{id:encodeURIComponent(t.emailAddress)}):e.go(".specific",{selectedUserId:encodeURIComponent(t.emailAddress)})},R.enableUsers=C,R.disableUsers=A,R.reindexItems=N,R.reclassifyItems=y,R.resyncUsers=v,R.impersonateUser=k,R.doImpersonate=function(e){for(var t=R.checkboxes.getCheckedItems(),n={},s=0;s<t.length;++s)n[t[s]]=!0;k(n)},R.recalculateItems=D,R.expirePasswords=T,R.isAdOrLdapSelected=function(){for(var e in R.checkboxes.items)if(R.checkboxes.items.hasOwnProperty(e)&&R.checkboxes.items[e]){var t=R.searchResults.find((function(t){return t.userName===e}));if(t&&(2===t.authType||4===t.authType))return!0}return!1},R.importUsers=function(e){a.show({controller:"domainImportUsersController",controllerAs:"IUCtrl",templateUrl:"app/settings/domain-settings/users/import-users.dlg.html",targetEvent:e,locals:{domainUserCount:R.tableParams&&R.tableParams.total()||0,domainUserLimit:R.domainSettings&&R.domainSettings.maxUsers||0}}).then((function(e){e&&e.started&&t.$broadcast("userImportStarted",e.jobId),b()}),(function(){}))},R.importLdap=function(e){a.show({controller:"importLdapUsersController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/users/import-ldap.dlg.html",targetEvent:e}).then(b,(function(){}))},R.exportUsers=function(){m.report("EXPORT_CSV_STARTED"),f.downloadFile("~/api/v1/settings/domain/export-users",r("translate")("USERS")+".csv",{}).then((function(){m.report("EXPORT_CSV_READY")}),(function(){d.report}))},R.searchItems=function(){R.searchParams.search=R.searchText,U()},R.contextMenuGridItem=function(e,t){if(!t||"touchstart"!==t.type&&"touchend"!==t.type&&3!==t.which||3===e.status)return;t.stopPropagation(),t.preventDefault();var s=R.checkboxes.getCheckedItems();(s.length>1&&!_.some(s,(function(t){return t===e.userName}))||s.length<=1)&&(R.checkboxes.reset(),R.checkboxes.checkCheckbox(t,e),s=[e.userName]);n.dropdownEvent=$.extend(!0,{},t),n.dropdownOptions=[{key:"deleteItems",click:O,translateKey:"DELETE"}],n.dropdownOptions.unshift({divider:!0});for(var r={},a=0;a<s.length;++a)r[s[a]]=!0;s.length>0&&(R.activeSyncLicensed||R.mapiEwsLicensed)&&n.dropdownOptions.unshift({key:"resyncusers",click:v,params:r,translateKey:"RESYNC_DEVICES",disabled:s.length>R.maxResyncRequestsAllowed});n.dropdownOptions.unshift({key:"recalculateItems",click:D,params:r,translateKey:"REFRESH_DISK_USAGE"}),R.domainSettings&&R.domainSettings.enableClassification&&n.dropdownOptions.unshift({key:"reclassifyItems",click:y,params:r,translateKey:"RECLASSIFY"});n.dropdownOptions.unshift({key:"reindexItems",click:N,params:r,translateKey:"REINDEX"}),n.dropdownOptions.unshift({key:"expirePasswords",click:T,params:r,translateKey:"EXPIRE_PASSWORD",disabled:s.some((function(e){var t=R.searchResults.find((function(t){return t.userName===e}));return t&&(2===t.authType||4===t.authType)}))}),n.dropdownOptions.unshift({divider:!0}),n.dropdownOptions.unshift({key:"disableUsers",click:A,params:r,translateKey:"DISABLE"}),n.dropdownOptions.unshift({key:"enableUsers",click:C,params:r,translateKey:"ENABLE"}),1==s.length&&R.allowImpersonation&&(n.dropdownOptions.unshift({divider:!0}),n.dropdownOptions.unshift({key:"impersonate",click:k,params:r,translateKey:"IMPERSONATE_USER"}));var i=$("#context-menu-area");if(i){var c=o('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(n);i.append(c)}},R.restore=function(e,t){let n=R.checkboxes.getCheckedItems(),s={type:t};n&&1==n.length&&(s.emailAddress=n[0]+"@"+R.domain);a.show({controller:"editDomainRestoreController",controllerAs:"ctrl",locals:{options:s},templateUrl:"app/sysadmin/manage/domains/modals/restore.dlg.html",targetEvent:e,clickOutsideToClose:!1}).then((function(){0!==t&&3!==t||U()}),(function(){}))},R.checkIfPrimary=function(e,t){"PRIMARY_ADMINISTRATOR"==e&&(R.checkboxes.items[t]?R.primaryDomainAdminSelected=!0:R.primaryDomainAdminSelected=!1)},n.aupColumnEnabled=function(){return R.aupEnabled},function(){function e(){R.edition=c.edition,R.activeSyncLicensed=c.hasEas,R.mapiEwsLicensed=c.hasMapiEws}e(),c.watchForChanges(n,e),s.get("~/api/v1/settings/domain/domain").then((function(e){R.domainSettings=e.data.domainSettings,t.$on("refreshUsersGrid",U),t.$on("refresh-users-counts",U),R.allowImpersonation=S.canImpersonate()||S.impersonating(),R.isSysAdmin=S.isSysAdmin(),R.tableParams=new l({sorting:{userName:"asc"}},{getData:w,counts:t.commonTableCounts}),R.checkboxes=u.init("userName"),R.checkboxes.table=R.tableParams}),(function(e){}))}()}e.$inject=["$state","$rootScope","$scope","$http","$filter","$mdDialog","$compile","$translate","coreLicensing","NgTableParams","gridCheckboxes","errorHandling","successHandling","coreDataDomainSettings","impersonationService","coreDataFileStorage","userDataService","coreData","claimsService","i18n"],angular.module("smartermail").controller("domainSettingsUsersController",e)}();
370!function(){"use strict";function e(e,t,n,s,o,r,a,c,i,l,d,h,u,m,p,f){var g=this;g.domain=e.params.id||u.user.domain,g.searchText="",g.searchParams={domain:g.domain,skip:0,take:0,search:null,sortField:null,sortDescending:!1},g.myUsername=m.user.username,g.searchItems=function(){g.searchParams.search=g.searchText,k()},g.refresh=k;var C=-1;function E(e){for(var n in g.searchParams.skip=(e.page()-1)*e.count(),g.searchParams.take=e.count(),g.searchParams.sortField=null,g.searchParams.type="*",e.sorting())if(e.sorting().hasOwnProperty(n)&&e.sorting()[n]){g.searchParams.sortField=n,g.searchParams.sortDescending="desc"===e.sorting()[n];break}return t.spinner.show(),s.post("~/api/v1/settings/domain/users-connections-summary",JSON.stringify(g.searchParams)).then((function(t){return g.searchResults=t.data.data,angular.forEach(g.searchResults,(function(e){e.lastLogin&&(e.lastLoginTranslate=o("date")(e.lastLogin,"short"))})),g.searchResultCount=t.data.totalCount,e.total(g.searchResultCount),g.searchResults}),(function(){})).finally((function(){t.spinner.hide()}))}function k(){n.$emit("reloadUsersConnectionsCounts"),g.checkboxes.reset(),g.tableParams.reload().then((function(){}),(function(){}))}function y(){var e=[];for(var r in g.checkboxes.items)g.checkboxes.items[r]&&(e=e.concat($.grep(g.searchResults,(function(e){return e.emailAddress===r}))));if(0!==e.length)if(1==e.length)l();else{var i=c.confirmDeletion().textContent(o("translate")("CONFIRMATIONS_MULTI_GENERIC",{count:e.length})).ok(o("translate")("OK")).title(o("translate")("CONFIRMATION_REQUIRED"));c.show(i).then(l,(function(){}))}else p.report("SPOOL_ERRORS_NO_ITEMS_SELECTED");function l(){var o=[],r=[];angular.forEach(e,(function(e){o.push({email:e.emailAddress,ip:e.ipAddress}),r.push(e.emailAddress)}));var c=!1,i=[];if(r.length>0){var l=JSON.stringify({type:C,dropInfo:r});i.push(s.post("~/api/v1/settings/domain/drop-user-connections",l))}if(o.length>0){var d=JSON.stringify({type:C,sessions:o});i.push(s.post("~/api/v1/settings/domain/kill-user-sessions",d)),o.forEach((function(e){e.email===f.getUsername()&&(c=!0)}))}t.spinner.show(),a.all(i).then((function(){g.checkboxes.reset(),g.tableParams.reload(),h.report(),c&&(window.location.hash=""),n.$emit("reloadUsersConnectionsCounts")}),p.report).finally((function(){t.spinner.hide()}))}}function I(){if(g.checkboxes.selectedCount>g.maxResyncRequestsAllowed)p.report(i.instant("RESYNC_USERS_MAX_EXCEEDED"));else{var e=[];for(var n in g.checkboxes.items)g.checkboxes.items[n]&&(e=e.concat($.grep(g.searchResults,(function(e){return e.emailAddress===n}))));var r=c.confirmDeletion().title(o("translate")("CONFIRMATION_REQUIRED")).htmlContent(o("translate")("CONFIRMATIONS_RESYNC_OTHER_USER_DEVICES_COUNT",{count:e.length})+"<br/><br/>"+o("translate")("CONFIRMATIONS_RESYNC_OTHER_USER_DEVICES",{count:e.length})).cancel(o("translate")("CANCEL")).ok(o("translate")("CONTINUE"));c.show(r).then((function(n){var o;o=[],angular.forEach(e,(function(e){o.push(e.emailAddress)})),t.spinner.show(),s.post("~/api/v1/settings/domain/resync-users-devices",JSON.stringify({input:o}
370)).then((function(e){h.report(i.instant("RESYNC_COMPLETE_USER_NOTIFICATION"))}),p.report).finally((function(){t.spinner.hide()}))}))}}function O(){var e=g.checkboxes.getCheckedItems();c.show({locals:{items:e},controller:"modifyProtocolAccess",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/users-connections/modals/modify-protocol-access.dlg.html"}).then((function(e){t.spinner.show(),s.post("~/api/v1/settings/domain/modify-protocol-access",e).then((function(){h.report()}),p.report).finally((function(){t.spinner.hide()}))}),(function(){}))}function R(e,t){var n="";n=t?t.emailAddress:1==g.checkboxes.getCheckedItems().length?g.checkboxes.getCheckedItems()[0]:e.currentTarget.childNodes[4].innerText,c.show({locals:{selectedUserEmailAddress:encodeURIComponent(n)},controller:"authIpsController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/users-connections/modals/auth-ips.dlg.html",targetEvent:e}).then((function(){h.report("SUCCESS")}),(function(){}))}function v(e){var t="";t=1==g.checkboxes.getCheckedItems().length?g.checkboxes.getCheckedItems()[0]:e.currentTarget.childNodes[4].innerText;var n=document.createElement("textarea");n.value=t,document.body.appendChild(n),n.focus(),n.select(),document.execCommand("copy"),document.body.removeChild(n),h.report("COPIED_TO_CLIPBOARD")}g.contextMenuGridItem=function(e,t){if(!t||"touchstart"!==t.type&&"touchend"!==t.type&&3!==t.which||e.criticallyErrored)return;var s=g.checkboxes.getCheckedItems();(s.length>1&&!_.some(s,(function(t){return e.emailAddress}))||s.length<=1)&&(g.checkboxes.reset(),g.checkboxes.checkCheckbox(t,e),s=[e.emailAddress]);n.dropdownEvent=$.extend(!0,{},t),n.dropdownOptions=[{key:"dropConnections",click:y,translateKey:"DROP_CONNECTIONS"},{key:"resyncUsers",click:I,translateKey:"RESYNC_DEVICES"},{key:"modifyProtocolAccess",click:O,translateKey:"MODIFY_PROTOCOL_ACCESS"},{divider:!0},{key:"authIps",click:R,params:n.dropdownEvent,translateKey:"VIEW_AUTHENTICATED_IPS"},{key:"copyAddress",click:v,params:n.dropdownEvent,translateKey:"COPY_ADDRESS"}];for(var o={},a=0;a<s.length;++a)o[s[a]]=!0;var c=$("#context-menu-area");if(c){var i=r('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(n);c.append(i)}},g.dropConnections=y,g.resyncAllProtocols=I,g.modifyProtocolAccess=O,g.getAuthIps=R,g.copyAddress=v,g.maxResyncRequestsAllowed=25,g.tableParams=new l({sorting:{connections:"desc"},count:25},{getData:E,counts:t.commonTableCounts}),g.checkboxes=d.init("emailAddress"),g.checkboxes.table=g.tableParams}e.$inject=["$state","$rootScope","$scope","$http","$filter","$compile","$q","$mdDialog","$translate","NgTableParams","gridCheckboxes","successHandling","userDataService","coreData","errorHandling","claimsService"],angular.module("smartermail").controller("allUserConnectionsController",e)}();
371!function(){"use strict";function e(e,t,s,n,r,o,a,c,i,l,d,u,h,p){var m=this;m.domain=e.params.id||u.user.domain,m.searchText="",m.searchParams={domain:m.domain,skip:0,take:0,search:null,sortField:null,sortDescending:!1},m.maxResyncRequestsAllowed=25,m.searchItems=function(){m.searchParams.search=m.searchText,g()},m.refresh=g;var f=2;function E(e){for(var s in m.searchParams.skip=(e.page()-1)*e.count(),m.searchParams.take=e.count(),m.searchParams.sortField=null,m.searchParams.type=t.protoType,e.sorting())if(e.sorting().hasOwnProperty(s)&&e.sorting()[s]){m.searchParams.sortField=s,m.searchParams.sortDescending="desc"===e.sorting()[s];break}return t.spinner.show(),n.post("~/api/v1/settings/domain/users-connections-summary",JSON.stringify(m.searchParams)).then((function(t){return m.searchResults=t.data.data,angular.forEach(m.searchResults,(function(e){e.lastLogin&&(e.lastLoginTranslate=r("date")(e.lastLogin,"short"))})),m.searchResultCount=t.data.totalCount,e.total(m.searchResultCount),m.searchResults}),(function(){})).finally((function(){t.spinner.hide()}))}function g(){s.$emit("reloadUsersConnectionsCounts"),m.checkboxes.reset(),m.tableParams.reload().then((function(){}),(function(){}))}function C(){var e=[];for(var o in m.checkboxes.items)m.checkboxes.items[o]&&(e=e.concat($.grep(m.searchResults,(function(e){return e.emailAddress===o}))));if(0!==e.length)if(1==e.length)l();else{var i=c.confirmDeletion().textContent(r("translate")("CONFIRMATIONS_MULTI_GENERIC",{count:e.length})).ok(r("translate")("OK")).title(r("translate")("CONFIRMATION_REQUIRED"));c.show(i).then(l,(function(){}))}else p.report("SPOOL_ERRORS_NO_ITEMS_SELECTED");function l(){var r=[],o=[];angular.forEach(e,(function(e){r.push({email:e.emailAddress,ip:e.ipAddress}),o.push(e.emailAddress)}));var c=[];if(o.length>0){var i=JSON.stringify({type:f,dropInfo:o});c.push(n.post("~/api/v1/settings/domain/drop-user-connections",i))}t.spinner.show(),a.all(c).then((function(){m.checkboxes.reset(),m.tableParams.reload(),h.report(),s.$emit("reloadUsersConnectionsCounts")}),p.report).finally((function(){t.spinner.hide()}))}}function A(){var e,s=[];for(var r in m.checkboxes.items)m.checkboxes.items[r]&&(s=s.concat($.grep(m.searchResults,(function(e){return e.emailAddress===r}))));0!==s.length?(e=[],angular.forEach(s,(function(t){e.push(t.emailAddress)})),t.spinner.show(),n.post("~/api/v1/settings/domain/protocol-mailboxes-patch",JSON.stringify({type:f,isActive:!0,emailAddresses:e})).then((function(){m.checkboxes.reset(),m.tableParams.reload(),h.report()}),p.report).finally((function(){t.spinner.hide()}))):p.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function k(){var e=[];for(var r in m.checkboxes.items)m.checkboxes.items[r]&&(e=e.concat($.grep(m.searchResults,(function(e){return e.emailAddress===r}))));0!==e.length?function(){var r=[],o=[];angular.forEach(e,(function(e){r.push(e.emailAddress),o.push(e.emailAddress)}));var c=[];c.push(n.post("~/api/v1/settings/domain/protocol-mailboxes-patch",JSON.stringify({type:f,isActive:!1,emailAddresses:r}))),c.push(n.post("~/api/v1/settings/domain/drop-user-connections",JSON.stringify({type:f,dropInfo:o}))),t.spinner.show(),a.all(c).then((function(){m.checkboxes.reset(),m.tableParams.reload(),h.report(),s.$emit("reloadUsersConnectionsCounts")}),p.report).finally((function(){t.spinner.hide()}))}():p.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function R(){if(m.checkboxes.selectedCount>m.maxResyncRequestsAllowed)p.report(i.instant("RESYNC_USERS_MAX_EXCEEDED"));else{var e=[];for(var s in m.checkboxes.items)m.checkboxes.items[s]&&(e=e.concat($.grep(m.searchResults,(function(e){return e.emailAddress===s}))));var o=c.confirmDeletion().title(r("translate")("CONFIRMATION_REQUIRED")).htmlContent(r("translate")("CONFIRMATIONS_RESYNC_OTHER_USER_DEVICES_COUNT",{count:e.length})+"<br/><br/>"+r("translate")("CONFIRMATIONS_RESYNC_OTHER_USER_DEVICES",{count:e.length})).cancel(r("translate")("CANCEL")).ok(r("translate")("CONTINUE"));c.show(o).then((function(s){var r;r=[],angular.forEach(e,(function(e){r.push(e.emailAddress)})),t.spinner.show(),n.post("~/api/v1/settings/domain/resync-users-devices",JSON.stringify({input:r})).then((function(){h.report(i.instant("RESYNC_COMPLETE_USER_NOTIFICATION"))}),p.report).finally((function(){t.spinner.hide()}))}))}}function b(e,t){var s="";s=t?t.emailAddress:1==m.checkboxes.getCheckedItems().length?m.checkboxes.getCheckedItems()[0]:e.currentTarget.childNodes[4].innerText,c.show({locals:{selectedUserEmailAddress:encodeURIComponent(s)},controller:"authIpsController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/users-connections/modals/auth-ips.dlg.html",targetEvent:e}).then((function(){}),(function(){}))}function S(e){var t="";t=1==m.checkboxes.getCheckedItems().length?m.checkboxes.getCheckedItems()[0]:e.currentTarget.childNodes[4].innerText;var s=document.createElement("textarea");s.value=t,document.body.appendChild(s),s.focus(),s.select(),document.execCommand("copy"),document.body.removeChild(s),h.report("COPIED_TO_CLIPBOARD")}m.contextMenuGridItem=function(e,t){if(!t||"touchstart"!==t.type&&"touchend"!==t.type&&3!==t.which||e.criticallyErrored)return;var n=m.checkboxes.getCheckedItems();(n.length>1&&!_.some(n,(function(t){return e.emailAddress}))||n.length<=1)&&(m.checkboxes.reset(),m.checkboxes.checkCheckbox(t,e),n=[e.emailAddress]);s.dropdownEvent=$.extend(!0,{},t),s.dropdownOptions=[{key:"dropConnections",click:C,translateKey:"DROP_CONNECTIONS"},{key:"resyncUsers",click:R,translateKey:"RESYNC_DEVICES"},{key:m.enableAccess,click:A,translateKey:m.enableAccess},{key:m.disableAccess,click:k,translateKey:m.disableAccess},{divider:!0},{key:"authIps",click:b,params:s.dropdownEvent,translateKey:"VIEW_AUTHENTICATED_IPS"},{key:"copyAddress",click:S,params:s.dropdownEvent,translateKey:"COPY_ADDRESS"}];for(var r={},a=0;a<n.length;++a)r[n[a]]=!0;var c=$("#context-menu-area");if(c){var i=o('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(s);c.append(i)}},m.dropConnections=C,m.enable=A,m.disable=k,m.enableAccess=r("translate")("ENABLE_EAS_ACCESS"),m.disableAccess=r("translate")("DISABLE_EAS_ACCESS"),m.resyncAllProtocols=R,m.getAuthIps=b,m.copyAddress=S,m.maxResyncRequestsAllowed=25,m.tableParams=new l({sorting:{connections:"desc"},count:25},{getData:E,counts:t.commonTableCounts}),m.checkboxes=d.init("emailAddress"),m.checkboxes.table=m.tableParams}e.$inject=["$state","$rootScope","$scope","$http","$filter","$compile","$q","$mdDialog","$translate","NgTableParams","gridCheckboxes","userDataService","successHandling","errorHandling"],angular.module("smartermail").controller("easConnectionsController",e)}();
372!function(){"use strict";function e(e,t,s,n,r,o,a,c,i,l,d,u,h,p){var m=this;m.domain=e.params.id||u.user.domain,m.searchText="",m.searchParams={domain:m.domain,skip:0,take:0,search:null,sortField:null,sortDescending:!1},m.maxResyncRequestsAllowed=25,m.searchItems=function(){m.searchParams.search=m.searchText,g()},m.refresh=g;var f=3;function E(e){for(var s in m.searchParams.skip=(e.page()-1)*e.count(),m.searchParams.take=e.count(),m.searchParams.sortField=null,m.searchParams.type=t.protoType,e.sorting())if(e.sorting().hasOwnProperty(s)&&e.sorting()[s]){m.searchParams.sortField=s,m.searchParams.sortDescending="desc"===e.sorting()[s];break}return t.spinner.show(),n.post("~/api/v1/settings/domain/users-connections-summary",JSON.stringify(m.searchParams)).then((function(t){return m.searchResults=t.data.data,angular.forEach(m.searchResults,(function(e){e.lastLogin&&(e.lastLoginTranslate=r("date")(e.lastLogin,"short"))})),m.searchResultCount=t.data.totalCount,e.total(m.searchResultCount),m.searchResults}),(function(){})).finally((function(){t.spinner.hide()}))}function g(){s.$emit("reloadUsersConnectionsCounts"),m.checkboxes.reset(),m.tableParams.reload().then((function(){}),(function(){}))}function C(){var e=[];for(var o in m.checkboxes.items)m.checkboxes.items[o]&&(e=e.concat($.grep(m.searchResults,(function(e){return e.emailAddress===o}))));if(0!==e.length)if(1==e.length)l();else{var i=c.confirmDeletion().textContent(r("translate")("CONFIRMATIONS_MULTI_GENERIC",{count:e.length})).ok(r("translate")("OK")).title(r("translate")("CONFIRMATION_REQUIRED"));c.show(i).then(l,(function(){}))}else p.report("SPOOL_ERRORS_NO_ITEMS_SELECTED");function l(){var r=[],o=[];angular.forEach(e,(function(e){r.push({email:e.emailAddress,ip:e.ipAddress}),o.push(e.emailAddress)}));var c=[];if(o.length>0){var i=JSON.stringify({type:f,dropInfo:o});c.push(n.post("~/api/v1/settings/domain/drop-user-connections",i))}t.spinner.show(),a.all(c).then((function(){m.checkboxes.reset(),m.tableParams.reload(),h.report(),s.$emit("reloadUsersConnectionsCounts")}),p.report).finally((function(){t.spinner.hide()}))}}function A(){var e,s=[];for(var r in m.checkboxes.items)m.checkboxes.items[r]&&(s=s.concat($.grep(m.searchResults,(function(e){return e.emailAddress===r}))));0!==s.length?(e=[],angular.forEach(s,(function(t){e.push(t.emailAddress)})),t.spinner.show(),n.post("~/api/v1/settings/domain/protocol-mailboxes-patch",JSON.stringify({type:f,isActive:!0,emailAddresses:e})).then((function(){m.checkboxes.reset(),m.tableParams.reload(),h.report()}),p.report).finally((function(){t.spinner.hide()}))):p.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function k(){var e=[];for(var r in m.checkboxes.items)m.checkboxes.items[r]&&(e=e.concat($.grep(m.searchResults,(function(e){return e.emailAddress===r}))));0!==e.length?function(){var r=[],o=[];angular.forEach(e,(function(e){r.push(e.emailAddress),o.push(e.emailAddress)}));var c=[];c.push(n.post("~/api/v1/settings/domain/protocol-mailboxes-patch",JSON.stringify({type:f,isActive:!1,emailAddresses:r}))),c.push(n.post("~/api/v1/settings/domain/drop-user-connections",JSON.stringify({type:f,dropInfo:o}))),t.spinner.show(),a.all(c).then((function(e){m.checkboxes.reset(),m.tableParams.reload(),h.report(),s.$emit("reloadUsersConnectionsCounts")}),p.report).finally((function(){t.spinner.hide()}))}():p.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function R(){if(m.checkboxes.selectedCount>m.maxResyncRequestsAllowed)p.report(i.instant("RESYNC_USERS_MAX_EXCEEDED"));else{var e=[];for(var s in m.checkboxes.items)m.checkboxes.items[s]&&(e=e.concat($.grep(m.searchResults,(function(e){return e.emailAddress===s}))));var o=c.confirmDeletion().title(r("translate")("CONFIRMATION_REQUIRED")).htmlContent(r("translate")("CONFIRMATIONS_RESYNC_OTHER_USER_DEVICES_COUNT",{count:e.length})+"<br/><br/>"+r("translate")("CONFIRMATIONS_RESYNC_OTHER_USER_DEVICES",{count:e.length})).cancel(r("translate")("CANCEL")).ok(r("translate")("CONTINUE"));c.show(o).then((function(s){var r;r=[],angular.forEach(e,(function(e){r.push(e.emailAddress)})),t.spinner.show(),n.post("~/api/v1/settings/domain/resync-users-devices",JSON.stringify({input:r})).then((function(e){h.report(i.instant("RESYNC_COMPLETE_USER_NOTIFICATION"))}),p.report).finally((function(){t.spinner.hide()}))}))}}function b(e,t){var s="";s=t?t.emailAddress:1==m.checkboxes.getCheckedItems().length?m.checkboxes.getCheckedItems()[0]:e.currentTarget.childNodes[4].innerText,c.show({locals:{selectedUserEmailAddress:encodeURIComponent(s)},controller:"authIpsController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/users-connections/modals/auth-ips.dlg.html",targetEvent:e}).then((function(){}),(function(){}))}function I(e){var t="";t=1==m.checkboxes.getCheckedItems().length?m.checkboxes.getCheckedItems()[0]:e.currentTarget.childNodes[4].innerText;var s=document.createElement("textarea");s.value=t,document.body.appendChild(s),s.focus(),s.select(),document.execCommand("copy"),document.body.removeChild(s),h.report("COPIED_TO_CLIPBOARD")}m.contextMenuGridItem=function(e,t){if(!t||"touchstart"!==t.type&&"touchend"!==t.type&&3!==t.which||e.criticallyErrored)return;var n=m.checkboxes.getCheckedItems();(n.length>1&&!_.some(n,(function(t){return e.emailAddress}))||n.length<=1)&&(m.checkboxes.reset(),m.checkboxes.checkCheckbox(t,e),n=[e.emailAddress]);s.dropdownEvent=$.extend(!0,{},t),s.dropdownOptions=[{key:"dropConnections",click:C,translateKey:"DROP_CONNECTIONS"},{key:"resyncUsers",click:R,translateKey:"RESYNC_DEVICES"},{key:m.enableAccess,click:A,translateKey:m.enableAccess},{key:m.disableAccess,click:k,translateKey:m.disableAccess},{divider:!0},{key:"authIps",click:b,params:s.dropdownEvent,translateKey:"VIEW_AUTHENTICATED_IPS"},{key:"copyAddress",click:I,params:s.dropdownEvent,translateKey:"COPY_ADDRESS"}];for(var r={},a=0;a<n.length;++a)r[n[a]]=!0;var c=$("#context-menu-area");if(c){var i=o('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(s);c.append(i)}},m.dropConnections=C,m.enable=A,m.disable=k,m.enableAccess=r("translate")("ENABLE_IMAP_ACCESS"),m.disableAccess=r("translate")("DISABLE_IMAP_ACCESS"),m.resyncAllProtocols=R,m.getAuthIps=b,m.copyAddress=I,m.maxResyncRequestsAllowed=25,m.tableParams=new l({sorting:{connections:"desc"},count:25},{getData:E,counts:t.commonTableCounts}),m.checkboxes=d.init("emailAddress"),m.checkboxes.table=m.tableParams}e.$inject=["$state","$rootScope","$scope","$http","$filter","$compile","$q","$mdDialog","$translate","NgTableParams","gridCheckboxes","userDataService","successHandling","errorHandling"],angular.module("smartermail").controller("imapConnectionsController",e)}();
373!function(){"use strict";function e(e,t,n,s,r,o,a,c,i,l,d,u,h,p){var m=this;m.doma
373in=e.params.id||u.user.domain,m.searchText="",m.searchParams={domain:m.domain,skip:0,take:0,search:null,sortField:null,sortDescending:!1},m.maxResyncRequestsAllowed=25,m.searchItems=function(){m.searchParams.search=m.searchText,g()},m.refresh=g;var f=1;function E(e){for(var n in m.searchParams.skip=(e.page()-1)*e.count(),m.searchParams.take=e.count(),m.searchParams.sortField=null,m.searchParams.type=t.protoType,e.sorting())if(e.sorting().hasOwnProperty(n)&&e.sorting()[n]){m.searchParams.sortField=n,m.searchParams.sortDescending="desc"===e.sorting()[n];break}return t.spinner.show(),s.post("~/api/v1/settings/domain/users-connections-summary",JSON.stringify(m.searchParams)).then((function(t){return m.searchResults=t.data.data,angular.forEach(m.searchResults,(function(e){e.lastLogin&&(e.lastLoginTranslate=r("date")(e.lastLogin,"short"))})),m.searchResultCount=t.data.totalCount,e.total(m.searchResultCount),m.searchResults}),(function(){})).finally((function(){t.spinner.hide()}))}function g(){n.$emit("reloadUsersConnectionsCounts"),m.checkboxes.reset(),m.tableParams.reload().then((function(){}),(function(){}))}function C(){var e=[];for(var o in m.checkboxes.items)m.checkboxes.items[o]&&(e=e.concat($.grep(m.searchResults,(function(e){return e.emailAddress===o}))));if(0!==e.length)if(1==e.length)l();else{var i=c.confirmDeletion().textContent(r("translate")("CONFIRMATIONS_MULTI_GENERIC",{count:e.length})).ok(r("translate")("OK")).title(r("translate")("CONFIRMATION_REQUIRED"));c.show(i).then(l,(function(){}))}else p.report("SPOOL_ERRORS_NO_ITEMS_SELECTED");function l(){var r=[],o=[];angular.forEach(e,(function(e){r.push({email:e.emailAddress,ip:e.ipAddress}),o.push(e.emailAddress)}));var c=[];if(o.length>0){var i=JSON.stringify({type:f,dropInfo:o});c.push(s.post("~/api/v1/settings/domain/drop-user-connections",i))}t.spinner.show(),a.all(c).then((function(){m.checkboxes.reset(),m.tableParams.reload(),h.report(),n.$emit("reloadUsersConnectionsCounts")}),p.report).finally((function(){t.spinner.hide()}))}}function k(){var e,n=[];for(var r in m.checkboxes.items)m.checkboxes.items[r]&&(n=n.concat($.grep(m.searchResults,(function(e){return e.emailAddress===r}))));0!==n.length?(e=[],angular.forEach(n,(function(t){e.push(t.emailAddress)})),t.spinner.show(),s.post("~/api/v1/settings/domain/protocol-mailboxes-patch",JSON.stringify({type:f,isActive:!0,emailAddresses:e})).then((function(){m.checkboxes.reset(),m.tableParams.reload(),h.report()}),p.report).finally((function(){t.spinner.hide()}))):p.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function R(){var e=[];for(var r in m.checkboxes.items)m.checkboxes.items[r]&&(e=e.concat($.grep(m.searchResults,(function(e){return e.emailAddress===r}))));0!==e.length?function(){var r=[],o=[];angular.forEach(e,(function(e){r.push(e.emailAddress),o.push(e.emailAddress)}));var c=[];c.push(s.post("~/api/v1/settings/domain/protocol-mailboxes-patch",JSON.stringify({type:f,isActive:!1,emailAddresses:r}))),c.push(s.post("~/api/v1/settings/domain/drop-user-connections",JSON.stringify({type:f,dropInfo:o}))),t.spinner.show(),a.all(c).then((function(){m.checkboxes.reset(),m.tableParams.reload(),h.report(),n.$emit("reloadUsersConnectionsCounts")}),p.report).finally((function(){t.spinner.hide()}))}():p.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function A(){if(m.checkboxes.selectedCount>m.maxResyncRequestsAllowed)p.report(i.instant("RESYNC_USERS_MAX_EXCEEDED"));else{var e=[];for(var n in m.checkboxes.items)m.checkboxes.items[n]&&(e=e.concat($.grep(m.searchResults,(function(e){return e.emailAddress===n}))));var o=c.confirmDeletion().title(r("translate")("CONFIRMATION_REQUIRED")).htmlContent(r("translate")("CONFIRMATIONS_RESYNC_OTHER_USER_DEVICES_COUNT",{count:e.length})+"<br/><br/>"+r("translate")("CONFIRMATIONS_RESYNC_OTHER_USER_DEVICES",{count:e.length})).cancel(r("translate")("CANCEL")).ok(r("translate")("CONTINUE"));c.show(o).then((function(n){var r;r=[],angular.forEach(e,(function(e){r.push(e.emailAddress)})),t.spinner.show(),s.post("~/api/v1/settings/domain/resync-users-devices",JSON.stringify({input:r})).then((function(){h.report(i.instant("RESYNC_COMPLETE_USER_NOTIFICATION"))}),p.report).finally((function(){t.spinner.hide()}))}))}}function S(e,t){var n="";n=t?t.emailAddress:1==m.checkboxes.getCheckedItems().length?m.checkboxes.getCheckedItems()[0]:e.currentTarget.childNodes[4].innerText,c.show({locals:{selectedUserEmailAddress:encodeURIComponent(n)},controller:"authIpsController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/users-connections/modals/auth-ips.dlg.html",targetEvent:e}).then((function(){}),(function(){}))}function I(e){var t="";t=1==m.checkboxes.getCheckedItems().length?m.checkboxes.getCheckedItems()[0]:e.currentTarget.childNodes[4].innerText;var n=document.createElement("textarea");n.value=t,document.body.appendChild(n),n.focus(),n.select(),document.execCommand("copy"),document.body.removeChild(n),h.report("COPIED_TO_CLIPBOARD")}m.contextMenuGridItem=function(e,t){if(!t||"touchstart"!==t.type&&"touchend"!==t.type&&3!==t.which||e.criticallyErrored)return;var s=m.checkboxes.getCheckedItems();(s.length>1&&!_.some(s,(function(t){return e.emailAddress}))||s.length<=1)&&(m.checkboxes.reset(),m.checkboxes.checkCheckbox(t,e),s=[e.emailAddress]);n.dropdownEvent=$.extend(!0,{},t),n.dropdownOptions=[{key:"dropConnections",click:C,translateKey:"DROP_CONNECTIONS"},{key:"resyncUsers",click:A,translateKey:"RESYNC_DEVICES"},{key:"enableMapiEwsAccess",click:k,translateKey:"ENABLE_MAPI_EWS_ACCESS"},{key:"disableMapiEwsAccess",click:R,translateKey:"DISABLE_MAPI_EWS_ACCESS"},{divider:!0},{key:"authIps",click:S,params:n.dropdownEvent,translateKey:"VIEW_AUTHENTICATED_IPS"},{key:"copyAddress",click:I,params:n.dropdownEvent,translateKey:"COPY_ADDRESS"}];for(var r={},a=0;a<s.length;++a)r[s[a]]=!0;var c=$("#context-menu-area");if(c){var i=o('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(n);c.append(i)}},m.dropConnections=C,m.enable=k,m.disable=R,m.resyncAllProtocols=A,m.getAuthIps=S,m.copyAddress=I,m.maxResyncRequestsAllowed=25,m.tableParams=new l({sorting:{connections:"desc"},count:25},{getData:E,counts:t.commonTableCounts}),m.checkboxes=d.init("emailAddress"),m.checkboxes.table=m.tableParams}e.$inject=["$state","$rootScope","$scope","$http","$filter","$compile","$q","$mdDialog","$translate","NgTableParams","gridCheckboxes","userDataService","successHandling","errorHandling"],angular.module("smartermail").controller("mapiEwsConnectionsController",e)}();
374!function(){"use strict";function e(e,t,n,o,c,s,r,a,i,l,d,u){var m=this;function h(e){return getonlyofficedata(m.domain).then((function(t){return e.total(t.total),t.items}))}function p(){m.tableParams.reload()}function f(){}function g(e,t){var n="";n=t?t.emailAddress:1===m.checkboxes.getCheckedItems().length?m.checkboxes.getCheckedItems()[0]:e.currentTarget.childNodes[4].innerText,r.show({locals:{selectedUserEmailAddress:encodeURIComponent(n)},controller:"authIpsController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/users-connections/modals/auth-ips.dlg.html",targetEvent:e}).then((function(){}),(function(){}))}function C(e){var t="";t=1===m.checkboxes.getCheckedItems().length?m.checkboxes.getCheckedItems()[0]:e.currentTarget.childNodes[4].innerText;var n=document.createElement("textarea");n.value=t,document.body.appendChild(n),n.focus(),n.select(),document.execCommand("copy"),document.body.removeChild(n),d.report("COPIED_TO_CLIPBOARD")}m.searchText="",m.searchParams={domain:m.domain,skip:0,take:0,search:null,sortField:null,sortDescending:!1},m.maxResyncRequestsAllowed=25,m.searchItems=function(){m.searchParams.search=m.searchText,p()},m.refresh=p,m.contextMenuGridItem=function(e,t){if(!t||"touchstart"!==t.type&&"touchend"!==t.type&&3!==t.which||e.criticallyErrored)return;var o=m.checkboxes.getCheckedItems();(o.length>1&&!_.some(o,(function(t){return t===e.emailAddress}))||o.length<=1)&&(m.checkboxes.reset(),m.checkboxes.checkCheckbox(t,e),o=[e.emailAddress]);n.dropdownEvent=$.extend(!0,{},t),n.dropdownOptions=[{key:"dropConnections",click:f,translateKey:"DROP_CONNECTIONS"},{divider:!0},{key:"authIps",click:g,params:n.dropdownEvent,translateKey:"VIEW_AUTHENTICATED_IPS"},{key:"copyAddress",click:C,params:n.dropdownEvent,translateKey:"COPY_ADDRESS"}];var c=$("#context-menu-area");if(c){var r=s('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(n);c.append(r)}},m.dropConnections=f,m.enable=function(){},m.disable=function(){var e=[];for(var t in m.checkboxes.items)m.checkboxes.items[t]&&(e=e.concat($.grep(m.searchResults,(function(e){return e.emailAddress===t}))));if(0===e.length)return void u.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")},m.enableAccess=c("translate")("ENABLE_EAS_ACCESS"),m.disableAccess=c("translate")("DISABLE_EAS_ACCESS"),m.getAuthIps=g,m.copyAddress=C,m.getonlyofficedata=getonlyofficedata,m.tableParams=new a({sorting:{connections:"desc"},count:25},{getData:h,counts:t.commonTableCounts}),m.checkboxes=i.init("emailAddress"),m.checkboxes.table=m.tableParams,p()}e.$inject=["$state","$rootScope","$scope","$http","$filter","$compile","$mdDialog","NgTableParams","gridCheckboxes","userDataService","successHandling","errorHandling"],angular.module("smartermail").controller("onlyOfficeConnectionsController",e)}();
375!function(){"use strict";function e(e,t,s,n,r,o,a,c,i,l,d,u,h,p){var m=this;m.domain=e.params.id||u.user.domain,m.searchText="",m.searchParams={domain:m.domain,skip:0,take:0,search:null,sortField:null,sortDescending:!1},m.maxResyncRequestsAllowed=25,m.searchItems=function(){m.searchParams.search=m.searchText,g()},m.refresh=g;var f=4;function E(e){for(var s in m.searchParams.skip=(e.page()-1)*e.count(),m.searchParams.take=e.count(),m.searchParams.sortField=null,m.searchParams.type=t.protoType,e.sorting())if(e.sorting().hasOwnProperty(s)&&e.sorting()[s]){m.searchParams.sortField=s,m.searchParams.sortDescending="desc"===e.sorting()[s];break}return t.spinner.show(),n.post("~/api/v1/settings/domain/users-connections-summary",JSON.stringify(m.searchParams)).then((function(t){return m.searchResults=t.data.data,angular.forEach(m.searchResults,(function(e){e.lastLogin&&(e.lastLoginTranslate=r("date")(e.lastLogin,"short"))})),m.searchResultCount=t.data.totalCount,e.total(m.searchResultCount),m.searchResults}),(function(){})).finally((function(){t.spinner.hide()}))}function g(){s.$emit("reloadUsersConnectionsCounts"),m.checkboxes.reset(),m.tableParams.reload().then((function(){}),(function(){}))}function C(){var e=[];for(var o in m.checkboxes.items)m.checkboxes.items[o]&&(e=e.concat($.grep(m.searchResults,(function(e){return e.emailAddress===o}))));if(0!==e.length)if(1==e.length)l();else{var i=c.confirmDeletion().textContent(r("translate")("CONFIRMATIONS_MULTI_GENERIC",{count:e.length})).ok(r("translate")("OK")).title(r("translate")("CONFIRMATION_REQUIRED"));c.show(i).then(l,(function(){}))}else p.report("SPOOL_ERRORS_NO_ITEMS_SELECTED");function l(){var r=[],o=[];angular.forEach(e,(function(e){r.push({email:e.emailAddress,ip:e.ipAddress}),o.push(e.emailAddress)}));var c=[];if(o.length>0){var i=JSON.stringify({type:f,dropInfo:o});c.push(n.post("~/api/v1/settings/domain/drop-user-connections",i))}t.spinner.show(),a.all(c).then((function(){m.checkboxes.reset(),m.tableParams.reload(),h.report(),s.$emit("reloadUsersConnectionsCounts")}),p.report).finally((function(){t.spinner.hide()}))}}function A(){var e,s=[];for(var r in m.checkboxes.items)m.checkboxes.items[r]&&(s=s.concat($.grep(m.searchResults,(function(e){return e.emailAddress===r}))));0!==s.length?(e=[],angular.forEach(s,(function(t){e.push(t.emailAddress)})),t.spinner.show(),n.post("~/api/v1/settings/domain/protocol-mailboxes-patch",JSON.stringify({type:f,isActive:!0,emailAddresses:e})).then((function(e){m.checkboxes.reset(),m.tableParams.reload(),h.report()}),p.report).finally((function(){t.spinner.hide()}))):p.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function R(){var e=[];for(var r in m.checkboxes.items)m.checkboxes.items[r]&&(e=e.concat($.grep(m.searchResults,(function(e){return e.emailAddress===r}))));0!==e.length?function(){var r=[],o=[];angular.forEach(e,(function(e){r.push(e.emailAddress),o.push(e.emailAddress)}));var c=[];c.push(n.post("~/api/v1/settings/domain/protocol-mailboxes-patch",JSON.stringify({type:f,isActive:!1,emailAddresses:r}))),c.push(n.post("~/api/v1/settings/domain/drop-user-connections",JSON.stringify({type:f,dropInfo:o}))),t.spinner.show(),a.all(c).then((function(){m.checkboxes.reset(),m.tableParams.reload(),h.report(),s.$emit("reloadUsersConnectionsCounts")}),p.report).finally((function(){t.spinner.hide()}))}():p.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function k(){if(m.checkboxes.selectedCount>m.maxResyncRequestsAllowed)p.report(i.instant("RESYNC_USERS_MAX_EXCEEDED"));else{var e=[];for(var s in m.checkboxes.items)m.checkboxes.items[s]&&(e=e.concat($.grep(m.searchResults,(function(e){return e.emailAddress===s}))));var o=c.confirmDeletion().title(r("translate")("CONFIRMATION_REQUIRED")).htmlContent(r("translate")("CONFIRMATIONS_RESYNC_OTHER_USER_DEVICES_COUNT",{count:e.length})+"<br/><br/>"+r("translate")("CONFIRMATIONS_RESYNC_OTHER_USER_DEVICES",{count:e.length})).cancel(r("translate")("CANCEL")).ok(r("translate")("CONTINUE"));c.show(o).then((function(s){var r;r=[],angular.forEach(e,(function(e){r.push(e.emailAddress)})),t.spinner.show(),n.post("~/api/v1/settings/domain/resync-users-devices",JSON.stringify({input:r})).then((function(){h.report(i.instant("RESYNC_COMPLETE_USER_NOTIFICATION"))}),p.report).finally((function(){t.spinner.hide()}))}))}}function b(e,t){var s="";s=t?t.emailAddress:1==m.checkboxes.getCheckedItems().length?m.checkboxes.getCheckedItems()[0]:e.currentTarget.childNodes[4].innerText,c.show({locals:{selectedUserEmailAddress:encodeURIComponent(s)},controller:"authIpsController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/users-connections/modals/auth-ips.dlg.html",targetEvent:e}).then((function(){}),(function(){}))}function O(e){var t="";t=1==m.checkboxes.getCheckedItems().length?m.checkboxes.getCheckedItems()[0]:e.currentTarget.childNodes[4].innerText;var s=document.createElement("textarea");s.value=t,document.body.appendChild(s),s.focus(),s.select(),document.execCommand("copy"),document.body.removeChild(s),h.report("COPIED_TO_CLIPBOARD")}m.contextMenuGridItem=function(e,t){if(!t||"touchstart"!==t.type&&"touchend"!==t.type&&3!==t.which||e.criticallyErrored)return;var n=m.checkboxes.getCheckedItems();(n.length>1&&!_.some(n,(function(t){return e.emailAddress}))||n.length<=1)&&(m.checkboxes.reset(),m.checkboxes.checkCheckbox(t,e),n=[e.emailAddress]);s.dropdownEvent=$.extend(!0,{},t),s.dropdownOptions=[{key:"dropConnections",click:C,translateKey:"DROP_CONNECTIONS"},{key:"resyncUsers",click:k,translateKey:"RESYNC_USERS"},{key:m.enableAccess,click:A,translateKey:m.enableAccess},{key:m.disableAccess,click:R,translateKey:m.disableAccess},{divider:!0},{key:"authIps",click:b,params:s.dropdownEvent,translateKey:"VIEW_AUTHENTICATED_IPS"},{key:"copyAddress",click:O,params:s.dropdownEvent,translateKey:"COPY_ADDRESS"}];for(var r={},a=0;a<n.length;++a)r[n[a]]=!0;var c=$("#context-menu-area");if(c){var i=o('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(s);c.append(i)}},m.dropConnections=C,m.enable=A,m.disable=R,m.enableAccess=r("translate")("ENABLE_POP_ACCESS"),m.disableAccess=r("translate")("DISABLE_POP_ACCESS"),m.resyncAllProtocols=k,m.getAuthIps=b,m.copyAddress=O,m.maxResyncRequestsAllowed=25,m.tableParams=new l({sorting:{connections:"desc"},count:25},{getData:E,counts:t.commonTableCounts}),m.checkboxes=d.init("emailAddress"),m.checkboxes.table=m.tableParams}e.$inject=["$state","$rootScope","$scope","$http","$filter","$compile","$q","$mdDialog","$translate","NgTableParams","gridCheckboxes","userDataService","successHandling","errorHandling"],angular.module("smartermail").controller("popConnectionsController",e)}();
376!function(){"use strict";function e(e,t,s,n,r,o,a,c,i,l,d,h,u,p){var m=this;m.domain=e.params.id||h.user.domain,m.searchText="",m.searchParams={domain:m.domain,skip:0,take:0,search:null,sortField:null,sortDescending:!1},m.maxResyncRequestsAllowed=25,m.searchIt
376ems=function(){m.searchParams.search=m.searchText,g()},m.refresh=g;var f=9;function E(e){for(var s in m.searchParams.skip=(e.page()-1)*e.count(),m.searchParams.take=e.count(),m.searchParams.sortField=null,m.searchParams.searchFlags=["users"],m.searchParams.type=t.protoType,e.sorting())if(e.sorting().hasOwnProperty(s)&&e.sorting()[s]){m.searchParams.sortField=s,m.searchParams.sortDescending="desc"===e.sorting()[s];break}return t.spinner.show(),n.post("~/api/v1/settings/domain/users-connections-summary",JSON.stringify(m.searchParams)).then((function(t){return m.searchResults=t.data.data,angular.forEach(m.searchResults,(function(e){e.lastLogin&&(e.lastLoginTranslate=r("date")(e.lastLogin,"short"))})),m.searchResultCount=t.data.totalCount,e.total(m.searchResultCount),m.searchResults}),(function(){})).finally((function(){t.spinner.hide()}))}function g(){s.$emit("reloadUsersConnectionsCounts"),m.checkboxes.reset(),m.tableParams.reload().then((function(){}),(function(){}))}function C(){var e=[];for(var o in m.checkboxes.items)m.checkboxes.items[o]&&(e=e.concat($.grep(m.searchResults,(function(e){return e.emailAddress===o}))));if(0!==e.length)if(1==e.length)l();else{var i=c.confirmDeletion().textContent(r("translate")("CONFIRMATIONS_MULTI_GENERIC",{count:e.length})).ok(r("translate")("OK")).title(r("translate")("CONFIRMATION_REQUIRED"));c.show(i).then(l,(function(){}))}else p.report("SPOOL_ERRORS_NO_ITEMS_SELECTED");function l(){var r=[],o=[];angular.forEach(e,(function(e){r.push({email:e.emailAddress,ip:e.ipAddress}),o.push(e.emailAddress)}));var c=[];if(o.length>0){var i=JSON.stringify({type:f,dropInfo:o});c.push(n.post("~/api/v1/settings/domain/drop-user-connections",i))}t.spinner.show(),a.all(c).then((function(){m.checkboxes.reset(),m.tableParams.reload(),u.report(),s.$emit("reloadUsersConnectionsCounts")}),p.report).finally((function(){t.spinner.hide()}))}}function A(){var e,s=[];for(var r in m.checkboxes.items)m.checkboxes.items[r]&&(s=s.concat($.grep(m.searchResults,(function(e){return e.emailAddress===r}))));0!==s.length?(e=[],angular.forEach(s,(function(t){e.push(t.emailAddress)})),t.spinner.show(),n.post("~/api/v1/settings/domain/protocol-mailboxes-patch",JSON.stringify({type:f,isActive:!0,emailAddresses:e})).then((function(){m.checkboxes.reset(),m.tableParams.reload(),u.report()}),p.report).finally((function(){t.spinner.hide()}))):p.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function k(){var e=[];for(var r in m.checkboxes.items)m.checkboxes.items[r]&&(e=e.concat($.grep(m.searchResults,(function(e){return e.emailAddress===r}))));0!==e.length?function(){var r=[],o=[];angular.forEach(e,(function(e){r.push(e.emailAddress),o.push(e.emailAddress)}));var c=[];c.push(n.post("~/api/v1/settings/domain/protocol-mailboxes-patch",JSON.stringify({type:f,isActive:!1,emailAddresses:r}))),c.push(n.post("~/api/v1/settings/domain/drop-user-connections",JSON.stringify({type:f,dropInfo:o}))),t.spinner.show(),a.all(c).then((function(){m.checkboxes.reset(),m.tableParams.reload(),u.report(),s.$emit("reloadUsersConnectionsCounts")}),p.report).finally((function(){t.spinner.hide()}))}():p.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function R(){if(m.checkboxes.selectedCount>m.maxResyncRequestsAllowed)p.report(i.instant("RESYNC_USERS_MAX_EXCEEDED"));else{var e=[];for(var s in m.checkboxes.items)m.checkboxes.items[s]&&(e=e.concat($.grep(m.searchResults,(function(e){return e.emailAddress===s}))));var o=c.confirmDeletion().title(r("translate")("CONFIRMATION_REQUIRED")).htmlContent(r("translate")("CONFIRMATIONS_RESYNC_OTHER_USER_DEVICES_COUNT",{count:e.length})+"<br/><br/>"+r("translate")("CONFIRMATIONS_RESYNC_OTHER_USER_DEVICES",{count:e.length})).cancel(r("translate")("CANCEL")).ok(r("translate")("CONTINUE"));c.show(o).then((function(s){var r;r=[],angular.forEach(e,(function(e){r.push(e.emailAddress)})),t.spinner.show(),n.post("~/api/v1/settings/domain/resync-users-devices",JSON.stringify({input:r})).then((function(){u.report(i.instant("RESYNC_COMPLETE_USER_NOTIFICATION"))}),p.report).finally((function(){t.spinner.hide()}))}))}}function b(e,t){var s="";s=t?t.emailAddress:1==m.checkboxes.getCheckedItems().length?m.checkboxes.getCheckedItems()[0]:e.currentTarget.childNodes[4].innerText,c.show({locals:{selectedUserEmailAddress:encodeURIComponent(s)},controller:"authIpsController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/users-connections/modals/auth-ips.dlg.html",targetEvent:e}).then((function(){}),(function(){}))}function O(e){var t="";t=1==m.checkboxes.getCheckedItems().length?m.checkboxes.getCheckedItems()[0]:e.currentTarget.childNodes[4].innerText;var s=document.createElement("textarea");s.value=t,document.body.appendChild(s),s.focus(),s.select(),document.execCommand("copy"),document.body.removeChild(s),u.report("COPIED_TO_CLIPBOARD")}m.contextMenuGridItem=function(e,t){if(!t||"touchstart"!==t.type&&"touchend"!==t.type&&3!==t.which||e.criticallyErrored)return;var n=m.checkboxes.getCheckedItems();(n.length>1&&!_.some(n,(function(t){return e.emailAddress}))||n.length<=1)&&(m.checkboxes.reset(),m.checkboxes.checkCheckbox(t,e),n=[e.emailAddress]);s.dropdownEvent=$.extend(!0,{},t),s.dropdownOptions=[{key:"dropConnections",click:C,translateKey:"DROP_CONNECTIONS"},{key:"resyncUsers",click:R,translateKey:"RESYNC_DEVICES"},{key:m.enableAccess,click:A,translateKey:m.enableAccess},{key:m.disableAccess,click:k,translateKey:m.disableAccess},{divider:!0},{key:"authIps",click:b,params:s.dropdownEvent,translateKey:"VIEW_AUTHENTICATED_IPS"},{key:"copyAddress",click:O,params:s.dropdownEvent,translateKey:"COPY_ADDRESS"}];for(var r={},a=0;a<n.length;++a)r[n[a]]=!0;var c=$("#context-menu-area");if(c){var i=o('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(s);c.append(i)}},m.dropConnections=C,m.enable=A,m.disable=k,m.enableAccess=r("translate")("ENABLE_INBOUND_SMTP_ACCESS"),m.disableAccess=r("translate")("DISABLE_INBOUND_SMTP_ACCESS"),m.resyncAllProtocols=R,m.getAuthIps=b,m.copyAddress=O,m.maxResyncRequestsAllowed=25,m.tableParams=new l({sorting:{connections:"desc"},count:25},{getData:E,counts:t.commonTableCounts}),m.checkboxes=d.init("emailAddress"),m.checkboxes.table=m.tableParams}e.$inject=["$state","$rootScope","$scope","$http","$filter","$compile","$q","$mdDialog","$translate","NgTableParams","gridCheckboxes","userDataService","successHandling","errorHandling"],angular.module("smartermail").controller("smtpConnectionsController",e)}();
377!function(){"use strict";function t(t,e,n,a,i,o,l){var s=this;function r(){var t={domain:s.domain};return a.post("~/api/v1/settings/domain/users-connections-counts",JSON.stringify(t)).then((function(t){s.gridSections[0].length=t.data.allC
377ount,s.gridSections[0].label="/ "+i("unicodeNumber")(t.data.allUsersCount),s.gridSections[1].length=t.data.webmailCount,s.gridSections[1].label="/ "+i("unicodeNumber")(t.data.allUsersCount),s.gridSections[2].length=t.data.smtpCount,s.gridSections[2].label="/ "+i("unicodeNumber")(t.data.allUsersCount),s.gridSections[3].length=t.data.imapCount,s.gridSections[3].label="/ "+i("unicodeNumber")(t.data.allUsersCount),s.gridSections[4].length=t.data.popCount,s.gridSections[4].label="/ "+i("unicodeNumber")(t.data.allUsersCount),s.gridSections[5].length=t.data.xmppCount,s.gridSections[5].label="/ "+i("unicodeNumber")(t.data.allUsersCount),s.gridSections[6].length=t.data.easCount,s.gridSections[6].label="/ "+i("unicodeNumber")(t.data.allUsersCount),s.gridSections[7].length=t.data.mapiEwsCount,s.gridSections[7].label="/ "+i("unicodeNumber")(t.data.allUsersCount),s.gridSections[8].length=t.data.webdavCount,s.gridSections[8].label="/ "+i("unicodeNumber")(t.data.allUsersCount)}),(function(){}))}s.isInitialized=!1,s.domain=t.params.id||l.user.domain,s.gridSections=[{translate:"ALL",length:"0"},{translate:"WEBMAIL",length:"0"},{translate:"SMTP",length:"0"},{translate:"IMAP",length:"0"},{translate:"POP",length:"0"},{translate:"XMPP",length:"0"},{translate:"ACTIVESYNC",length:"0"},{translate:"MAPI_EWS",length:"0"},{translate:"WEBDAV",length:"0"}],s.selectedSection="ALL",s.changeSection=function(t){s.selectedSection=t,e.protoType=t,r()},o.changePageReset(),r(),n.$on("reloadUsersConnectionsCounts",r),s.isInitialized=!0}t.$inject=["$state","$rootScope","$scope","$http","$filter","coreDataDomainSettings","userDataService"],angular.module("smartermail").controller("usersConnectionsController",t)}();
378!function(){"use strict";function e(e,t,s,n,r,o,a,c,i,l,d,h,u,p){var m=this;m.domain=e.params.id||h.user.domain,m.searchText="",m.searchParams={domain:m.domain,skip:0,take:0,search:null,sortField:null,sortDescending:!1},m.maxResyncRequestsAllowed=25,m.searchItems=function(){m.searchParams.search=m.searchText,g()},m.refresh=g;var f=5;function E(e){for(var s in m.searchParams.skip=(e.page()-1)*e.count(),m.searchParams.take=e.count(),m.searchParams.sortField=null,m.searchParams.searchFlags=["users"],m.searchParams.type=t.protoType,e.sorting())if(e.sorting().hasOwnProperty(s)&&e.sorting()[s]){m.searchParams.sortField=s,m.searchParams.sortDescending="desc"===e.sorting()[s];break}return t.spinner.show(),n.post("~/api/v1/settings/domain/users-connections-summary",JSON.stringify(m.searchParams)).then((function(t){return m.searchResults=t.data.data,angular.forEach(m.searchResults,(function(e){e.lastLogin&&(e.lastLoginTranslate=r("date")(e.lastLogin,"short"))})),m.searchResultCount=t.data.totalCount,e.total(m.searchResultCount),m.searchResults}),(function(){})).finally((function(){t.spinner.hide()}))}function g(){s.$emit("reloadUsersConnectionsCounts"),m.checkboxes.reset(),m.tableParams.reload().then((function(){}),(function(){}))}function C(){var e=[];for(var o in m.checkboxes.items)m.checkboxes.items[o]&&(e=e.concat($.grep(m.searchResults,(function(e){return e.emailAddress===o}))));if(0!==e.length)if(1==e.length)l();else{var i=c.confirmDeletion().textContent(r("translate")("CONFIRMATIONS_MULTI_GENERIC",{count:e.length})).ok(r("translate")("OK")).title(r("translate")("CONFIRMATION_REQUIRED"));c.show(i).then(l,(function(){}))}else p.report("SPOOL_ERRORS_NO_ITEMS_SELECTED");function l(){var r=[],o=[];angular.forEach(e,(function(e){r.push({email:e.emailAddress,ip:e.ipAddress}),o.push(e.emailAddress)}));var c=[];if(o.length>0){var i=JSON.stringify({type:f,dropInfo:o});c.push(n.post("~/api/v1/settings/domain/drop-user-connections",i))}t.spinner.show(),a.all(c).then((function(){m.checkboxes.reset(),m.tableParams.reload(),u.report(),s.$emit("reloadUsersConnectionsCounts")}),p.report).finally((function(){t.spinner.hide()}))}}function A(){var e,s=[];for(var r in m.checkboxes.items)m.checkboxes.items[r]&&(s=s.concat($.grep(m.searchResults,(function(e){return e.emailAddress===r}))));0!==s.length?(e=[],angular.forEach(s,(function(t){e.push(t.emailAddress)})),t.spinner.show(),n.post("~/api/v1/settings/domain/protocol-mailboxes-patch",JSON.stringify({type:f,isActive:!0,emailAddresses:e})).then((function(){m.checkboxes.reset(),m.tableParams.reload(),u.report()}),p.report).finally((function(){t.spinner.hide()}))):p.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function b(){var e=[];for(var r in m.checkboxes.items)m.checkboxes.items[r]&&(e=e.concat($.grep(m.searchResults,(function(e){return e.emailAddress===r}))));0!==e.length?function(){var r=[],o=[];angular.forEach(e,(function(e){r.push(e.emailAddress),o.push(e.emailAddress)}));var c=[];c.push(n.post("~/api/v1/settings/domain/protocol-mailboxes-patch",JSON.stringify({type:f,isActive:!1,emailAddresses:r}))),c.push(n.post("~/api/v1/settings/domain/drop-user-connections",JSON.stringify({type:f,dropInfo:o}))),t.spinner.show(),a.all(c).then((function(){m.checkboxes.reset(),m.tableParams.reload(),u.report(),s.$emit("reloadUsersConnectionsCounts")}),p.report).finally((function(){t.spinner.hide()}))}():p.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function k(){if(m.checkboxes.selectedCount>m.maxResyncRequestsAllowed)p.report(i.instant("RESYNC_USERS_MAX_EXCEEDED"));else{var e=[];for(var s in m.checkboxes.items)m.checkboxes.items[s]&&(e=e.concat($.grep(m.searchResults,(function(e){return e.emailAddress===s}))));var o=c.confirmDeletion().title(r("translate")("CONFIRMATION_REQUIRED")).htmlContent(r("translate")("CONFIRMATIONS_RESYNC_OTHER_USER_DEVICES_COUNT",{count:e.length})+"<br/><br/>"+r("translate")("CONFIRMATIONS_RESYNC_OTHER_USER_DEVICES",{count:e.length})).cancel(r("translate")("CANCEL")).ok(r("translate")("CONTINUE"));c.show(o).then((function(s){var r;r=[],angular.forEach(e,(function(e){r.push(e.emailAddress)})),t.spinner.show(),n.post("~/api/v1/settings/domain/resync-users-devices",JSON.stringify({input:r})).then((function(){u.report(i.instant("RESYNC_COMPLETE_USER_NOTIFICATION"))}),p.report).finally((function(){t.spinner.hide()}))}))}}function R(e,t){var s="";s=t?t.emailAddress:1==m.checkboxes.getCheckedItems().length?m.checkboxes.getCheckedItems()[0]:e.currentTarget.childNodes[4].innerText,c.show({locals:{selectedUserEmailAddress:encodeURIComponent(s)},controller:"authIpsController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/users-connections/modals/auth-ips.dlg.html",targetEvent:e}).then((function(){}),(function(){}))}function v(e){var t="";t=1==m.checkboxes.getCheckedItems().length?m.checkboxes.getCheckedItems()[0]:e.currentTarget.childNodes[4].innerText;var s=document.createElement("textarea");s.value=t,document.body.appendChild(s),s.focus(),s.select(),document.execCommand("copy"),document.body.removeChild(s),u.report("COPIED_TO_CLIPBOARD")}m.contextMenuGridItem=function(e,t){if(!t||"touchstart"!==t.type&&"touchend"!==t.type&&3!==t.which||e.criticallyErrored)return;var n=m.checkboxes.getCheckedItems();(n.length>1&&!_.some(n,(function(t){return e.emailAddress}))||n.length<=1)&&(m.checkboxes.reset(),m.checkboxes.checkCheckbox(t,e),n=[e.emailAddress]);s.dropdownEvent=$.extend(!0,{},t),s.dropdownOptions=[{key:"dropConnections",click:C,translateKey:"DROP_CONNECTIONS"},{key:"resyncUsers",click:k,translateKey:"RESYNC_DEVICES"},{key:m.enableAccess,click:A,translateKey:m.enableAccess},{key:m.disableAccess,click:b,translateKey:m.disableAccess},{divider:!0},{key:"authIps",click:R,params:s.dropdownEvent,translateKey:"VIEW_AUTHENTICATED_IPS"},{key:"copyAddress",click:v,params:s.dropdownEvent,translateKey:"COPY_ADDRESS"}];for(var r={},a=0;a<n.length;++a)r[n[a]]=!0;var c=$("#context-menu-area");if(c){var i=o('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(s);c.append(i)}},m.dropConnections=C,m.enable=A,m.disable=b,m.enableAccess=r("translate")("ENABLE_WEBDAV_ACCESS"),m.disableAccess=r("translate")("DISABLE_WEBDAV_ACCESS"),m.resyncAllProtocols=k,m.getAuthIps=R,m.copyAddress=v,m.maxResyncRequestsAllowed=25,m.tableParams=new l({sorting:{connections:"desc"},count:25},{getData:E,counts:t.commonTableCounts}),m.checkboxes=d.init("emailAddress"),m.checkboxes.table=m.tableParams}e.$inject=["$state","$rootScope","$scope","$http","$filter","$compile","$q","$mdDialog","$translate","NgTableParams","gridCheckboxes","userDataService","successHandling","errorHandling"],angular.module("smartermail").controller("webdavConnectionsController",e)}();
379!function(){"use strict";function e(e,s,t,n,r,a,o,i,c,l,d,u,h,m,p){var f=this;f.domain=e.params.id||u.user.domain,f.searchText="",f.searchParams={domain:f.domain,skip:0,take:0,search:null,sortField:null,sortDescending:!1},f.maxResyncRequestsAllowed=25,f.searchItems=function(){f.searchParams.search=f.searchText,C()},f.refresh=C;var E=6;function g(e){for(var t in f.searchParams.skip=(e.page()-1)*e.count(),f.searchParams.take=e.count(),f.searchParams.sortField=null,f.searchParams.type=s.protoType,e.sorting())if(e.sorting().hasOwnProperty(t)&&e.sorting()[t]){f.searchParams.sortField=t,f.searchParams.sortDescending="desc"===e.sorting()[t];break}return s.spinner.show(),n.post("~/api/v1/settings/domain/users-connections-summary",JSON.stringify(f.searchParams)).then((function(s){return f.searchResults=s.data.data,angular.forEach(f.searchResults,(function(e){if(e.webmailLastLogin){e.webmailLastLogin=new Date(e.webmailLastLogin);var s=moment.duration(new Date-e.webmailLastLogin);
379e.timeHours=Math.floor(s.asHours()),e.timeMinutes=Math.floor(s.asMinutes()-60*e.timeHours),e.timeSeconds=Math.floor(s.asSeconds()-60*(e.timeMinutes+60*e.timeHours)),e.webmailLastLoginTranslate=r("translate")(e.timeHours?"SPOOL_TIME_HOURS":"SPOOL_TIME_NO_HOURS",{hours:e.timeHours,minutes:e.timeMinutes,seconds:e.timeSeconds})}e.lastLogin&&(e.lastLoginTranslate=r("date")(e.lastLogin,"short"))})),f.searchResultCount=s.data.totalCount,e.total(f.searchResultCount),f.searchResults}),(function(){})).finally((function(){s.spinner.hide()}))}function C(){t.$emit("reloadUsersConnectionsCounts"),f.checkboxes.reset(),f.tableParams.reload().then((function(){}),(function(){}))}function b(){var e=[];for(var a in f.checkboxes.items)f.checkboxes.items[a]&&(e=e.concat($.grep(f.searchResults,(function(e){return e.emailAddress===a}))));if(0!==e.length)if(1==e.length)l();else{var c=i.confirmDeletion().textContent(r("translate")("CONFIRMATIONS_MULTI_GENERIC",{count:e.length})).ok(r("translate")("OK")).title(r("translate")("CONFIRMATION_REQUIRED"));i.show(c).then(l,(function(){}))}else m.report("SPOOL_ERRORS_NO_ITEMS_SELECTED");function l(){var r=[],a=[];angular.forEach(e,(function(e){r.push({email:e.emailAddress,ip:e.ipAddress}),a.push(e.emailAddress)}));var i=!1,c=[];if(r.length>0){var l=JSON.stringify({type:E,sessions:r});c.push(n.post("~/api/v1/settings/domain/kill-user-sessions",l)),r.forEach((function(e){e.email===p.getUsername()&&(i=!0)}))}s.spinner.show(),o.all(c).then((function(){f.checkboxes.reset(),f.tableParams.reload(),h.report(),i&&(window.location.hash=""),t.$emit("reloadUsersConnectionsCounts")}),m.report).finally((function(){s.spinner.hide()}))}}function A(){var e,t=[];for(var r in f.checkboxes.items)f.checkboxes.items[r]&&(t=t.concat($.grep(f.searchResults,(function(e){return e.emailAddress===r}))));0!==t.length?(e=[],angular.forEach(t,(function(s){e.push(s.emailAddress)})),s.spinner.show(),n.post("~/api/v1/settings/domain/protocol-mailboxes-patch",JSON.stringify({type:E,isActive:!0,emailAddresses:e})).then((function(){f.checkboxes.reset(),f.tableParams.reload(),h.report()}),m.report).finally((function(){s.spinner.hide()}))):m.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function O(){var e=[];for(var r in f.checkboxes.items)f.checkboxes.items[r]&&(e=e.concat($.grep(f.searchResults,(function(e){return e.emailAddress===r}))));0!==e.length?function(){var r=[],a=[];angular.forEach(e,(function(e){r.push(e.emailAddress),a.push({email:e.emailAddress,ip:e.ipAddress})}));var i=[];i.push(n.post("~/api/v1/settings/domain/protocol-mailboxes-patch",JSON.stringify({type:E,isActive:!1,emailAddresses:r}))),i.push(n.post("~/api/v1/settings/domain/kill-user-sessions",JSON.stringify({type:E,sessions:a}))),s.spinner.show(),o.all(i).then((function(){f.checkboxes.reset(),f.tableParams.reload(),h.report(),t.$emit("reloadUsersConnectionsCounts")}),m.report).finally((function(){s.spinner.hide()}))}():m.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function S(){if(f.checkboxes.selectedCount>f.maxResyncRequestsAllowed)m.report(c.instant("RESYNC_USERS_MAX_EXCEEDED"));else{var e=[];for(var t in f.checkboxes.items)f.checkboxes.items[t]&&(e=e.concat($.grep(f.searchResults,(function(e){return e.emailAddress===t}))));var a=i.confirmDeletion().title(r("translate")("CONFIRMATION_REQUIRED")).htmlContent(r("translate")("CONFIRMATIONS_RESYNC_OTHER_USER_DEVICES_COUNT",{count:e.length})+"<br/><br/>"+r("translate")("CONFIRMATIONS_RESYNC_OTHER_USER_DEVICES",{count:e.length})).cancel(r("translate")("CANCEL")).ok(r("translate")("CONTINUE"));i.show(a).then((function(t){var r;r=[],angular.forEach(e,(function(e){r.push(e.emailAddress)})),s.spinner.show(),n.post("~/api/v1/settings/domain/resync-users-devices",JSON.stringify({input:r})).then((function(){h.report(c.instant("RESYNC_COMPLETE_USER_NOTIFICATION"))}),m.report).finally((function(){s.spinner.hide()}))}))}}function k(e,s){var t="";t=s?s.emailAddress:1==f.checkboxes.getCheckedItems().length?f.checkboxes.getCheckedItems()[0]:e.currentTarget.childNodes[4].innerText,i.show({locals:{selectedUserEmailAddress:encodeURIComponent(t)},controller:"authIpsController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/users-connections/modals/auth-ips.dlg.html",targetEvent:e}).then((function(){}),(function(){}))}function R(e){var s="";s=1==f.checkboxes.getCheckedItems().length?f.checkboxes.getCheckedItems()[0]:e.currentTarget.childNodes[4].innerText;var t=document.createElement("textarea");
379t.value=s,document.body.appendChild(t),t.focus(),t.select(),document.execCommand("copy"),document.body.removeChild(t),h.report("COPIED_TO_CLIPBOARD")}f.contextMenuGridItem=function(e,s){if(!s||"touchstart"!==s.type&&"touchend"!==s.type&&3!==s.which||e.criticallyErrored)return;var n=f.checkboxes.getCheckedItems();(n.length>1&&!_.some(n,(function(s){return e.emailAddress}))||n.length<=1)&&(f.checkboxes.reset(),f.checkboxes.checkCheckbox(s,e),n=[e.emailAddress]);t.dropdownEvent=$.extend(!0,{},s),t.dropdownOptions=[{key:"dropConnections",click:b,translateKey:"DROP_CONNECTIONS"},{key:"resyncUsers",click:S,translateKey:"RESYNC_DEVICES"},{key:f.enableAccess,click:A,translateKey:f.enableAccess},{key:f.disableAccess,click:O,translateKey:f.disableAccess},{divider:!0},{key:"authIps",click:k,params:t.dropdownEvent,translateKey:"VIEW_AUTHENTICATED_IPS"},{key:"copyAddress",click:R,params:t.dropdownEvent,translateKey:"COPY_ADDRESS"}];for(var r={},o=0;o<n.length;++o)r[n[o]]=!0;var i=$("#context-menu-area");if(i){var c=a('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(t);i.append(c)}},f.dropConnections=b,f.enable=A,f.disable=O,f.enableAccess=r("translate")("ENABLE_WEBMAIL_ACCESS"),f.disableAccess=r("translate")("DISABLE_WEBMAIL_ACCESS"),f.resyncAllProtocols=S,f.getAuthIps=k,f.copyAddress=R,f.maxResyncRequestsAllowed=25,f.tableParams=new l({sorting:{connections:"desc"},count:25},{getData:g,counts:s.commonTableCounts}),f.checkboxes=d.init("emailAddress"),f.checkboxes.table=f.tableParams}e.$inject=["$state","$rootScope","$scope","$http","$filter","$compile","$q","$mdDialog","$translate","NgTableParams","gridCheckboxes","userDataService","successHandling","errorHandling","claimsService"],angular.module("smartermail").controller("webmailConnectionsController",e)}();
380!function(){"use strict";function e(e,t,s,n,r,o,a,c,i,l,d,u,h,p){var m=this;m.domain=e.params.id||u.user.domain,m.searchText="",m.searchParams={domain:m.domain,skip:0,take:0,search:null,sortField:null,sortDescending:!1},m.maxResyncRequestsAllowed=25,m.searchItems=function(){m.searchParams.search=m.searchText,g()},m.refresh=g;var f=13;function E(e){for(var s in m.searchParams.skip=(e.page()-1)*e.count(),m.searchParams.take=e.count(),m.searchParams.sortField=null,m.searchParams.type=t.protoType,e.sorting())if(e.sorting().hasOwnProperty(s)&&e.sorting()[s]){m.searchParams.sortField=s,m.searchParams.sortDescending="desc"===e.sorting()[s];break}return t.spinner.show(),n.post("~/api/v1/settings/domain/users-connections-summary",JSON.stringify(m.searchParams)).then((function(t){return m.searchResults=t.data.data,angular.forEach(m.searchResults,(function(e){e.lastLogin&&(e.lastLoginTranslate=r("date")(e.lastLogin,"short"))})),m.searchResultCount=t.data.totalCount,e.total(m.searchResultCount),m.searchResults}),(function(){})).finally((function(){t.spinner.hide()}))}function g(){s.$emit("reloadUsersConnectionsCounts"),m.checkboxes.reset(),m.tableParams.reload().then((function(){}),(function(){}))}function C(){var e=[];for(var o in m.checkboxes.items)m.checkboxes.items[o]&&(e=e.concat($.grep(m.searchResults,(function(e){return e.emailAddress===o}))));if(0!==e.length)if(1==e.length)l();else{var i=c.confirmDeletion().textContent(r("translate")("CONFIRMATIONS_MULTI_GENERIC",{count:e.length})).ok(r("translate")("OK")).title(r("translate")("CONFIRMATION_REQUIRED"));c.show(i).then(l,(function(){}))}else p.report("SPOOL_ERRORS_NO_ITEMS_SELECTED");function l(){var r=[],o=[];angular.forEach(e,(function(e){r.push({email:e.emailAddress,ip:e.ipAddress}),o.push(e.emailAddress)}));var c=[];if(o.length>0){var i=JSON.stringify({type:f,dropInfo:o});c.push(n.post("~/api/v1/settings/domain/drop-user-connections",i))}t.spinner.show(),a.all(c).then((function(){m.checkboxes.reset(),m.tableParams.reload(),h.report(),s.$emit("reloadUsersConnectionsCounts")}),p.report).finally((function(){t.spinner.hide()}))}}function A(){var e,s=[];for(var r in m.checkboxes.items)m.checkboxes.items[r]&&(s=s.concat($.grep(m.searchResults,(function(e){return e.emailAddress===r}))));0!==s.length?(e=[],angular.forEach(s,(function(t){e.push(t.emailAddress)})),t.spinner.show(),n.post("~/api/v1/settings/domain/protocol-mailboxes-patch",JSON.stringify({type:f,isActive:!0,emailAddresses:e})).then((function(e){m.checkboxes.reset(),m.tableParams.reload(),h.report()}),p.report).finally((function(){t.spinner.hide()}))):p.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function k(){var e=[];for(var r in m.checkboxes.items)m.checkboxes.items[r]&&(e=e.concat($.grep(m.searchResults,(function(e){return e.emailAddress===r}))));0!==e.length?function(){var r=[],o=[];angular.forEach(e,(function(e){r.push(e.emailAddress),o.push(e.emailAddress)}));var c=[];c.push(n.post("~/api/v1/settings/domain/protocol-mailboxes-patch",JSON.stringify({type:f,isActive:!1,emailAddresses:r}))),c.push(n.post("~/api/v1/settings/domain/drop-user-connections",JSON.stringify({type:f,dropInfo:o}))),t.spinner.show(),a.all(c).then((function(){m.checkboxes.reset(),m.tableParams.reload(),h.report(),s.$emit("reloadUsersConnectionsCounts")}),p.report).finally((function(){t.spinner.hide()}))}():p.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function R(){if(m.checkboxes.selectedCount>m.maxResyncRequestsAllowed)p.report(i.instant("RESYNC_USERS_MAX_EXCEEDED"));else{var e=[];for(var s in m.checkboxes.items)m.checkboxes.items[s]&&(e=e.concat($.grep(m.searchResults,(function(e){return e.emailAddress===s}))));var o=c.confirmDeletion().title(r("translate")("CONFIRMATION_REQUIRED")).htmlContent(r("translate")("CONFIRMATIONS_RESYNC_OTHER_USER_DEVICES_COUNT",{count:e.length})+"<br/><br/>"+r("translate")("CONFIRMATIONS_RESYNC_OTHER_USER_DEVICES",{count:e.length})).cancel(r("translate")("CANCEL")).ok(r("translate")("CONTINUE"));c.show(o).then((function(s){var r;r=[],angular.forEach(e,(function(e){r.push(e.emailAddress)})),t.spinner.show(),n.post("~/api/v1/settings/domain/resync-users-devices",JSON.stringify({input:r})).then((function(){h.report(i.instant("RESYNC_COMPLETE_USER_NOTIFICATION"))}),p.report).finally((function(){t.spinner.hide}))}))}}function b(e,t){var s="";s=t?t.emailAddress:1==m.checkboxes.getCheckedItems().length?m.checkboxes.getCheckedItems()[0]:e.currentTarget.childNodes[4].innerText,c.show({locals:{selectedUserEmailAddress:encodeURIComponent(s)},controller:"authIpsController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/users-connections/modals/auth-ips.dlg.html",targetEvent:e}).then((function(){}),(function(){}))}function O(e){var t="";t=1==m.checkboxes.getCheckedItems().length?m.checkboxes.getCheckedItems()[0]:e.currentTarget.childNodes[4].innerText;var s=document.createElement("textarea");s.value=t,document.body.appendChild(s),s.focus(),s.select(),document.execCommand("copy"),document.body.removeChild(s),h.report("COPIED_TO_CLIPBOARD")}m.contextMenuGridItem=function(e,t){if(!t||"touchstart"!==t.type&&"touchend"!==t.type&&3!==t.which||e.criticallyErrored)return;var n=m.checkboxes.getCheckedItems();(n.length>1&&!_.some(n,(function(t){return e.emailAddress}))||n.length<=1)&&(m.checkboxes.reset(),m.checkboxes.checkCheckbox(t,e),n=[e.emailAddress]);s.dropdownEvent=$.extend(!0,{},t),s.dropdownOptions=[{key:"dropConnections",click:C,translateKey:"DROP_CONNECTIONS"},{key:"resyncUsers",click:R,translateKey:"RESYNC_DEVICES"},{key:m.enableAccess,click:A,translateKey:m.enableAccess},{key:m.disableAccess,click:k,translateKey:m.disableAccess},{divider:!0},{key:"authIps",click:b,params:s.dropdownEvent,translateKey:"VIEW_AUTHENTICATED_IPS"},{key:"copyAddress",click:O,params:s.dropdownEvent,translateKey:"COPY_ADDRESS"}];for(var r={},a=0;a<n.length;++a)r[n[a]]=!0;var c=$("#context-menu-area");if(c){var i=o('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(s);c.append(i)}},m.dropConnections=C,m.enable=A,m.disable=k,m.enableAccess=r("translate")("ENABLE_XMPP_ACCESS"),m.disableAccess=r("translate")("DISABLE_XMPP_ACCESS"),m.resyncAllProtocols=R,m.getAuthIps=b,m.copyAddress=O,m.maxResyncRequestsAllowed=25,m.tableParams=new l({sorting:{connections:"desc"},count:25},{getData:E,counts:t.commonTableCounts}),m.checkboxes=d.init("emailAddress"),m.checkboxes.table=m.tableParams}e.$inject=["$state","$rootScope","$scope","$http","$filter","$compile","$q","$mdDialog","$translate","NgTableParams","gridCheckboxes","userDataService","successHandling","errorHandling"],angular.module("smartermail").controller("xmppConnectionsController",e)}();
381!function(){"use strict";function e(e,t,s,n,r,a,o,i,c,l,u,d,h,m,p){var f=this;function g(){f.checkboxes.reset(),f.tableParams.reload().then((function(){}),(function(){}))}function x(e){for(var s in f.searchParams.skip=(e.page()-1)*e.count(),f.searchParams.take=e.count(),f.searchParams.sortField=null,e.sorting())if(e.sorting().hasOwnProperty(s)&&e.sorting()[s]){f.searchParams.sortField=s,f.searchParams.sortDescending="desc"===e.sorting()[s];break}return t.spinner.show(),n.post("~/api/v1/settings/domain/users-statuses",JSON.stringify(f.searchParams)).then((function(t){return f.searchResults=t.data.usersStatuses,f.searchResultCount=t.data.totalCount,e.total(f.searchResultCount),f.searchResults}),(function(e){})).catch((function(e){})).finally((function(){t.spinner.hide()}))}function k(){var e=a.confirmDeletion().title(o.instant("CONFIRMATION_REQUIRED")).textContent(o.instant("CONFIRMATIONS_REINDEX")).ok(o.instant("REINDEX")).noWarn(!0);a.show(e).then((function(e){var t=[];angular.forEach(f.checkboxes.getCheckedItems(),(function(e,s){t.push(e)})),n.post("~/api/v1/settings/domain/reindex-users",JSON.stringify({input:t})).then((function(e){u.report,f.checkboxes.reset(),f.tableParams.reload()}),h.report)}),(function(){}))}function E(){var e=f.checkboxes.getCheckedItems(),s=a.confirmDeletion().title(o.instant("CONFIRMATION_REQUIRED")).textContent(p.reactPluralize("EXPIRE_PASSWORD_MESSAGE",{count:e.length})).ok(o.instant("EXPIRE_PASSWORD")).noWarn(!0);a.show(s).then((function(){var s={emailAddresses:e};t.spinner.show(),n.post("~/api/v1/settings/expire-passwords",JSON.stringify(s)).then((function(e){e.data.success?(e.data.activeDirectoryCount>0?h.warn("EXPIRE_PASSWORD_ACTIVEDIRECTORY"):u.report(),f.checkboxes.reset(),f.tableParams.reload()):h.report(e.data.message)}),h.report).finally(t.spinner.hide)}),(function(){}))}function P(){t.spinner.show(),m.downloadFile("~/api/v1/settings/domain/export-users-statuses",i("translate")("USERS_STATUSES")+".csv",f.searchParams).then((function(){}),h.report).finally(t.spinner.hide)}f.domain=e.params.id||d.user.domain,f.searchText="",f.searchParams={domain:f.domain,skip:0,take:0,search:null,sortField:null,sortDescending:!1},f.searchItems=function(){f.searchParams.search=f.searchText,g()},f.contextMenuGridItem=function(e,t){if(!t||"touchstart"!==t.type&&"touchend"!==t.type&&3!==t.which||e.criticallyErrored)return;var n=f.checkboxes.getCheckedItems();(n.length>1&&!_.some(n,(function(t){return e.emailAddress}))||n.length<=1)&&(f.checkboxes.reset(),f.checkboxes.checkCheckbox(t,e),n=[e.emailAddress]);s.dropdownEvent=$.extend(!0,{},t),s.dropdownOptions=[{key:"reindexItems",click:k,translateKey:"REINDEX"},{key:"expirePassword",click:E,translateKey:"EXPIRE_PASSWORD"},{key:"exportToCsv",click:P,translateKey:"EXPORT_TO_CSV"}];for(var a={},o=0;o<n.length;++o)a[n[o]]=!0;var i=$("#context-menu-area");if(i){var c=r('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(s);i.append(c)}},f.refresh=g,f.reindexItems=k,f.expirePassword=E,f.exportToCsv=P,f.tableParams=new c({sorting:{emailAddress:"asc"},count:25},{getData:x,counts:t.commonTableCounts}),f.checkboxes=l.init("emailAddress"),f.checkboxes.table=f.tableParams}e.$inject=["$state","$rootScope","$scope","$http","$compile","$mdDialog","$translate","$filter","NgTableParams","gridCheckboxes","successHandling","userDataService","errorHandling","coreDataFileStorage","i18n"],angular.module("smartermail").controller("usersStatusesControllers",e)}();
382!function(){"use strict";function t(t,T,n,a,_,E,i){var N=this,e=void 0,s={};function I(){N.matchTypes=[{value:1,label:_.instant("ANY_CONDITION_MUST_BE_MET")},{value:0,label:_.instant("ALL_CONDITIONS_MUST_BE_MET")}],N.filterCategories=[{id:0,translate:_.instant("FROM_ADDRESS")},{id:1,translate:_.instant("CONTENT_FILTERING_CATEGORIES_CONTAINS_WORDS")},{id:2,translate:_.instant("TO_ADDRESS")},{id:3,translate:_.instant("ATTACHMENTS")},{id:4,translate:_.instant("MESSAGE_PROPERTIES")}],N.filterTypes=[{id:0,translate:_.instant("CONTENT_FILTERING_TYPES_FROM_ADDRESS"),category:0,inputType:1,inputTranslate:_.instant("CONTENT_FILTERING_INPUTS_FROM_ADDRESS")},{id:1,translate:_.instant("CONTENT_FILTERING_TYPES_FROM_DOMAIN"),category:0,inputType:1,inputTranslate:_.instant("CONTENT_FILTERING_INPUTS_FROM_DOMAIN")},{id:2,translate:_.instant("CONTENT_FILTERING_TYPES_FROM_TRUSTED_SENDER"),category:0,inputType:0,inputTranslate:_.instant("CONTENT_FILTERING_TYPES_FROM_TRUSTED_SENDER")},{id:3,translate:_.instant("SUBJECT"),category:1,inputType:1,inputTranslate:_.instant("CONTENT_FILTERING_INPUTS_WORDS_SUBJECT")},{id:4,translate:_.instant("BODY"),category:1,inputType:1,inputTranslate:_.instant("CONTENT_FILTERING_INPUTS_WORDS_BODY")},{id:5,translate:_.instant("CONTENT_FILTERING_TYPES_WORDS_SUBJECT_BODY"),category:1,inputType:1,inputTranslate:_.instant("CONTENT_FILTERING_INPUTS_WORDS_SUBJECT_BODY")},{id:6,translate:_.instant("FROM_ADDRESS"),category:1,inputType:1,inputTranslate:_.instant("CONTENT_FILTERING_INPUTS_WORDS_FROM")},{id:7,translate:_.instant("TO_ADDRESS"),category:1,inputType:1,inputTranslate:_.instant("CONTENT_FILTERING_INPUTS_WORDS_TO")},{id:8,translate:_.instant("CONTENT_FILTERING_TYPES_WORDS_HEADERS"),category:1,inputType:1,inputTranslate:_.instant("CONTENT_FILTERING_INPUTS_WORDS_HEADERS")},{id:9,translate:_.instant("CONTENT_FILTERING_TYPES_WORDS_MESSAGE"),category:1,inputType:1,inputTranslate:_.instant("CONTENT_FILTERING_INPUTS_WORDS_MESSAGE")},{id:10,translate:_.instant("CONTENT_FILTERING_TYPES_TO_ADDRESS"),category:2,inputType:1,inputTranslate:_.instant("CONTENT_FILTERING_INPUTS_TO_ADDRESS")},{id:11,translate:_.instant("CONTENT_FILTERING_TYPES_TO_DOMAIN"),category:2,inputType:1,inputTranslate:_.instant("CONTENT_FILTERING_INPUTS_TO_DOMAIN")},{id:30,translate:_.instant("CONTENT_FILTERING_TYPES_CC_ADDRESS"),category:2,inputType:1,inputTranslate:_.instant("CONTENT_FILTERING_INPUTS_CC_ADDRESS")},{id:31,translate:_.instant("CONTENT_FILTERING_TYPES_CC_DOMAIN"),category:2,inputType:1,inputTranslate:_.instant("CONTENT_FILTERING_INPUTS_CC_DOMAIN")},{id:32,translate:_.instant("CONTENT_FILTERING_TYPES_TO_OR_CC_ADDRESS"),category:2,inputType:1,inputTranslate:_.instant("CONTENT_FILTERING_INPUTS_TO_OR_CC_ADDRESS")},{id:33,translate:_.instant("CONTENT_FILTERING_TYPES_TO_OR_CC_DOMAIN"),category:2,inputType:1,inputTranslate:_.instant("CONTENT_FILTERING_INPUTS_TO_OR_CC_DOMAIN")},{id:12,translate:_.instant("CONTENT_FILTERING_TYPES_TO_ME"),category:2,inputType:0,inputTranslate:_.instant("CONTENT_FILTERING_TYPES_TO_ME")},{id:13,translate:_.instant("CONTENT_FILTERING_TYPES_NAME_TO"),category:2,inputType:0,inputTranslate:_.instant("CONTENT_FILTERING_TYPES_NAME_TO")},{id:15,translate:_.instant("CONTENT_FILTERING_TYPES_NAME_TO_CC"),category:2,inputType:0,inputTranslate:_.instant("CONTENT_FILTERING_TYPES_NAME_TO_CC")},{id:16,translate:_.instant("CONTENT_FILTERING_TYPES_ATT_HAS"),category:3,inputType:0,inputTranslate:_.instant("CONTENT_FILTERING_TYPES_ATT_HAS")},{id:17,translate:_.instant("CONTENT_FILTERING_TYPES_ATT_FILENAME"),category:3,inputType:1,inputTranslate:_.instant("CONTENT_FILTERING_INPUTS_ATT_FILENAME")},{id:18,translate:_.instant("CONTENT_FILTERING_TYPES_ATT_EXTENSION"),category:3,inputType:1,inputTranslate:_.instant("CONTENT_FILTERING_INPUTS_ATT_EXTENSION")},{id:19,translate:_.instant("CONTENT_FILTERING_TYPES_ATT_SIZE"),category:3,inputType:2,inputTranslate:_.instant("CONTENT_FILTERING_INPUTS_ATT_SIZE")},{id:20,translate:_.instant("CONTENT_FILTERING_TYPES_PRIORITY_HIGH"),category:4,inputType:0,inputTranslate:_.instant("CONTENT_FILTERING_TYPES_PRIORITY_HIGH")},{id:21,translate:_.instant("CONTENT_FILTERING_TYPES_PRIORITY_NORMAL"),category:4,inputType:0,inputTranslate:_.instant("CONTENT_FILTERING_TYPES_PRIORITY_NORMAL")},{id:22,tra
382nslate:_.instant("CONTENT_FILTERING_TYPES_PRIORITY_LOW"),category:4,inputType:0,inputTranslate:_.instant("CONTENT_FILTERING_TYPES_PRIORITY_LOW")},{id:23,translate:_.instant("CONTENT_FILTERING_TYPES_AUTO_MESSAGE"),category:4,inputType:6,inputTranslate:_.instant("CONTENT_FILTERING_TYPES_AUTO_MESSAGE")},{id:24,translate:_.instant("CONTENT_FILTERING_TYPES_IS_AUTH"),category:4,inputType:6,inputTranslate:_.instant("CONTENT_FILTERING_TYPES_IS_AUTH")},{id:25,translate:_.instant("CONTENT_FILTERING_TYPES_SIZE_OVER"),category:4,inputType:2,inputTranslate:_.instant("CONTENT_FILTERING_INPUTS_SIZE_OVER")},{id:26,translate:_.instant("CONTENT_FILTERING_TYPES_SIZE_UNDER"),category:4,inputType:3,inputTranslate:_.instant("CONTENT_FILTERING_INPUTS_SIZE_UNDER")},{id:27,translate:_.instant("CONTENT_FILTERING_TYPES_DATE_RANGE"),category:4,inputType:4,inputTranslate:_.instant("CONTENT_FILTERING_TYPES_DATE_RANGE")},{id:28,translate:_.instant("CONTENT_FILTERING_TYPES_SENDER_IP"),category:4,inputType:1,inputTranslate:_.instant("CONTENT_FILTERING_INPUTS_SENDER_IP")},{id:29,translate:_.instant("CONTENT_FILTERING_TYPES_SPAM_WEIGHT"),category:4,inputType:5,inputTranslate:_.instant("CONTENT_FILTERING_TYPES_SPAM_WEIGHT")}],N.filterInputTypes=[{id:0,translate:_.instant("NONE")},{id:1,translate:_.instant("MULTILINE")},{id:2,translate:_.instant("KB")},{id:3,translate:_.instant("BYTES")},{id:4,translate:_.instant("DATE_RANGE")},{id:5,translate:_.instant("SPAM")},{id:6,translate:_.instant("BOOL")}],N.actionTypes=[{id:0,translate:_.instant("CONTENT_FILTERING_ACTIONS_NONE")},{id:1,translate:_.instant("DELETE_MESSAGE")},{id:3,translate:_.instant("BOUNCE_MESSAGE")},{id:4,translate:_.instant("MOVE_MESSAGE")},{id:5,translate:_.instant("ADD_HEADER"),inputTranslate:_.instant("TEXT_TO_ADD")},{id:6,translate:_.instant("SPAM_FILTERING_ADD_SUBJECT"),inputTranslate:_.instant("TEXT_TO_ADD")},{id:7,translate:_.instant("FORWARD_MESSAGE"),inputTranslate:_.instant("EMAIL_ADDRESS")},{id:8,translate:_.instant("MARK_AS_READ")},{id:9,translate:_.instant("SET_PRIORITY")},{id:10,translate:_.instant("FLAG_MESSAGE")}]}function S(t,n){if(n.done)n.guid&&(s[n.guid]=!0,T((function(){delete s[n.guid]}),1e4)),i.report(_.instant("SUCCESS")),e&&E.clear(e),e=void 0,N.runningFilters=!1;else{if(n.guid&&s[n.guid])return void delete s[n.guid];N.runningFilters=!0,e=E.pop({type:"info",title:null,body:_.instant("CONTENT_FILTER_RUNNING"),timeout:0,bodyOutputType:"trustedHtml"})}}N.runningFilters=!1,N.contentFilterProgress=S,I(),t.$on("$translateChangeSuccess",I),t.$on("signalR.mailHub.client.contentFilterProgress",S)}t.$inject=["$rootScope","$timeout","$log","$filter","$translate","toaster","successHandling"],angular.module("smartermail").service("contentFilterData",t)}();
383!function(){"use strict";function e(e,t,n,a,i,r,l,o,c,s,d,u,A,p,f,m,g,v,y){function T(){if(e.currentAction){if(e.hasSelectedAction=!0,e.currentAction.id!==e.oldAction.fieldType||e.newAction){if(e.newAction){for(var t=0;t<e.folders.length;t++)if("Inbox"===e.folders[t].name){e.selectedFolder=e.folders[t],e.selectedFolder.translatedName&&(e.selectedFolder.translatedName=e.selectedFolder.translatedName.replaceAll(" ","")),e.selectedFolder.name&&(e.selectedFolder.name=e.selectedFolder.name.replaceAll(" ","")),e.selectedFolderText=null!=e.selectedFolder.translatedName?n("folderTranslate")(e.selectedFolder.translatedName):e.selectedFolder.selectedFolder.name;break}e.textInput="",e.prioritySelection="low"}}else e.loadArguments();4===e.currentAction.id&&"domain"===e.type&&(e.currentAction.inputTranslate="FOLDER")}}function F(t,n){t!==n&&e.currentAction&&2===e.currentAction.id&&f(t)&&(e.isValid=!0)}e.oldAction=s,e.newAction=d,e.hasSelectedAction=!e.newAction,e.availableActions=u,e.currentAction=void 0,e.usedActions=A,e.folders=p,e.type=m,e.textInput="",e.selectedFolderText="Inbox",e.prioritySelection="low",e.isValid=!0,e.addressList=[{value:""}],e.keepRecipients=!1,e.deleteOriginal=!1,e.getCurrentAction=function(){var t=$.grep(e.availableActions,(function(t){return t.id===e.oldAction.actionType}));t.length>0&&(e.currentAction=t[0])},e.getPriTranslation=function(e){switch(e){case"low":return n("translate")("LOW");case"normal":return n("translate")("NORMAL");case"high":return n("translate")("HIGH")}},e.loadArguments=function(){switch(e.currentAction.id){default:case 0:case 1:case 3:case 8:case 10:break;case 4:if("domain"===e.type){e.currentAction.inputTranslate="FOLDER",e.textInput=e.oldAction.argument;break}let r;for(var t=e.oldAction.argument,a=0;a<e.folders.length;a++){if(e.folders[a].path.slice().replaceAll(" ","").toLowerCase()===t.toLowerCase()){r=e.folders[a];break}}if(!r){let n=new Object;n.name=t,n.path=t,e.folders.unshift(n),r=e.folders[0]}e.selectedFolder=r,e.selectedFolderText=void 0!==e.selectedFolder.translatedName?n("folderTranslate")(e.selectedFolder.translatedName.replaceAll(" ","")):e.selectedFolder.name.replaceAll(" ","");break;
383case 5:case 6:e.textInput=e.oldAction.argument;break;case 7:case 2:var i=e.oldAction.argument.split(";");e.addressList=$.map(i,(function(e){return{value:e}})),e.addressList.push({value:""}),e.keepRecipients=e.oldAction.boolOption1,e.deleteOriginal=e.oldAction.boolOption2;break;case 9:e.prioritySelection=e.oldAction.argument}},e.buildSaveAction=function(){switch(e.currentAction.id){default:case 0:case 1:case 3:case 8:case 10:return{actionType:e.currentAction.id,argument:"",isDefaultAction:!1};case 4:return"domain"===e.type?{actionType:e.currentAction.id,argument:e.textInput,isDefaultAction:!1}:{actionType:e.currentAction.id,argument:e.selectedFolder.path,isDefaultAction:!1};case 5:case 6:return{actionType:e.currentAction.id,argument:e.textInput,isDefaultAction:!1};case 7:case 2:var t=e.addressList.reduce((function(e,t){return t.value&&e.push(t.value),e}),[]);return{actionType:e.currentAction.id,argument:t.join(";"),isDefaultAction:!1,boolOption1:e.keepRecipients,boolOption2:e.deleteOriginal};case 9:return{actionType:e.currentAction.id,argument:e.prioritySelection,isDefaultAction:!1}}},e.save=async function(n){var a=e.userForm;if(a&&a.$invalid)return;if(7===e.currentAction.id){if(e.addressList.some((t=>t.value===v.getEmailAddress()&&"user"===e.type)))return e.isValid=!1,void y.report(i.instant("CONTENT_FILTERING_FORWARD_MESSAGE_CANNOT_CONTAIN_OWN_EMAIL"));if(a.email0.$setValidity("required",e.addressList.some((e=>e.value))),a.$invalid)return}if(e.isValid){var l=e.buildSaveAction();if(7==l.actionType){var o=await r.post("~/api/v1/settings/forwardable-address/"+e.type,JSON.stringify({emailAddresses:e.addressList.map((e=>e.value))}));if(!o.data.success)return"DOMAIN"==o.data.message||"USER"==o.data.message?g.pop("error",i.instant("AUTOMATED_FORWARDING_DISABLED")):g.pop("error",i.instant("FORWARDS_TO_X_NOT_ALLOWED",{forwardingAddress:o.data.message})),void e.$applyAsync()}t.hide({saveAction:l,oldType:e.oldAction.actionType,deleteAction:!1})}},e.addEmail=function(t,n){if(!t)return;if(t.$validate(),t.$invalid||!t.$viewValue)return;e.addressList.some((e=>!e.value))||e.addressList.push({value:""})},e.delete=function(){t.hide({actionType:e.currentAction.id,deleteAction:!0})},e.cancel=function(){t.cancel()},e.emailDelete=function(t,n){n.$setDirty(),e.addressList.splice(t,1),n.email0.$setValidity("required",e.addressList.some((e=>e.value)))},function(){e.newAction?angular.forEach(A,(function(t){e.availableActions=$.grep(e.availableActions,(function(e){return e.id!==t.actionType}))})):angular.forEach(A,(function(t){e.availableActions=$.grep(e.availableActions,(function(n){return n.id!==t.actionType||n.id===e.oldAction.actionType}))}));e.folders=_.filter(e.folders,(function(e){return e.ownerEmailAddress===l.user.emailAddress})),e.availableActions=$.grep(e.availableActions,(function(e){return 0!==e.id})),e.newAction||(e.getCurrentAction(),e.loadArguments());e.$watch("currentAction",T),e.$watch("textInput",F)}(),e.onFolderChanged=function(t){e.selectedFolder=JSON.parse(JSON.stringify(t)),e.selectedFolderText=null!=t.translatedName?n("folderTranslate")(t.translatedName.replaceAll(" ","")):t.name.replaceAll(" ","")}}e.$inject=["$scope","$mdDialog","$filter","$timeout","$translate","$http","userDataService","coreDataSettings","coreDataDomainSettings","oldAction","newAction","filterActions","usedActions","folders","validateMail","type","toaster","claimsService","errorHandling"],angular.module("smartermail").controller("userFilterActionEditController",e)}();
384!function(){"use strict";function e(e,t,r,a,n,i,u,s,l,d,o,c,y,p){function m(t,r){var a=$.grep(e.monthOptions,(function(e){return e.value==r}));return t%4==0&&a[0].daysAlt?a[0].daysAlt:a[0].days}function g(){e.yearLimit=e.dates.start.year,e.startMonthDayLimit=m(e.dates.start.year,e.dates.start.month),e.dates.end.year<e.yearLimit&&(e.dates.end.year=e.yearLimit),e.dates.end.year===e.dates.start.year?e.monthLimit=e.dates.start.month>12?12:e.dates.start.month:e.monthLimit=0,e.dates.end.month<e.monthLimit&&(e.dates.end.month=e.monthLimit),e.endMonthDayLimit=m(e.dates.end.year,e.dates.end.month),e.dates.end.month===e.dates.start.month&&e.dates.end.year===e.dates.start.year?e.dayLimit=e.dates.start.day+1>e.endMonthDayLimit?e.endMonthDayLimit:e.dates.start.day+1:e.dayLimit=0,e.dates.end.day<e.dayLimit&&(e.dates.end.day=e.dayLimit),e.dates.end.day>e.endMonthDayLimit&&(e.dates.end.day=e.endMonthDayLimit),e.dates.start.day>e.startMonthDayLimit&&(e.dates.start.day=e.startMonthDayLimit)}e.filterId=i,e.newRule=u,e.isCategorySelected=!u,e.isRuleSelected=!u,e.ruleCategories=l,e.ruleTypes=s,e.rule=d,e.wildcard=c,e.internalType=y,e.currentCategory=void 0,e.currentRule=void 0,e.rulesForCategory=[],e.logicInput=!1,e.textInput="",e.KBInput="",e.bytesInput="",e.dateTimeDisplays={start:"",end:""},e.timePickers={start:void 0,end:void 0},e.boolOption=!0,e.spamOption="low",e.isValid=!0,e.isDomain=p,e.monthOptions=[{translation:"MONTH_NAMES_JANUARY",value:1,days:31},{translation:"MONTH_NAMES_FEBRUARY",value:2,days:28,daysAlt:29},{translation:"MONTH_NAMES_MARCH",value:3,days:31},{translation:"MONTH_NAMES_APRIL",value:4,days:30},{translation:"MONTH_NAMES_MAY",value:5,days:31},{translation:"MONTH_NAMES_JUNE",value:6,days:30},{translation:"MONTH_NAMES_JULY",value:7,days:31},{translation:"MONTH_NAMES_AUGUST",value:8,days:31},{translation:"MONTH_NAMES_SEPTEMBER",value:9,days:30},{translation:"MONTH_NAMES_OCTOBER",value:10,days:31},{translation:"MONTH_NAMES_NOVEMBER",value:11,days:30},{translation:"MONTH_NAMES_DECEMBER",value:12,days:31}],function(){e.yearOptions=[];for(var t=Number(moment().format("Y"));t>=1970;t--)e.yearOptions.push(t)}(),function(){e.dayOptions=[];for(var t=1;t<=31;t++)e.dayOptions.push(t)}(),e.dates={start:{year:e.yearOptions[0],month:1,day:1},end:{year:e.yearOptions[0],month:1,day:2}},e.yearLimit=0,e.monthLimit=0,e.dayLimit=0,g(),e.updateDateLimits=g,e.getCurrentRule=function(){var t=$.grep(e.ruleTypes,(function(t){return t.id===e.rule.fieldType}));t.length>0&&(e.currentRule=t[0]);var r=$.grep(e.ruleCategories,(function(t){return t.id===e.currentRule.category}));r.length>0&&(e.currentCategory=r[0])},e.getRulesForCategory=function(){e.rulesForCategory=$.grep(e.ruleTypes,(function(t){return t.category===e.currentCategory.id}))},e.loadArguments=function(){if(!e.newRule&&!e.resetRule)switch(e.logicInput=e.rule.applyLogicalNot,e.currentRule.inputType){default:case 0:break;case 1:e.textInput=e.rule.searchArguments?e.rule.searchArguments.join("\n"):"";break;case 2:e.KBInput=e.rule.searchArguments?e.rule.searchArguments[0]/1024:"";break;
384case 3:e.bytesInput=e.rule.searchArguments?Number(e.rule.searchArguments[0]):"";break;case 4:if(e.rule.searchArguments){var t=e.rule.searchArguments[0].split("/"),r=e.rule.searchArguments[1].split("/");e.dates.start={year:Number(t[2]),month:Number(t[0]),day:Number(t[1])},e.dates.end={year:Number(r[2]),month:Number(r[0]),day:Number(r[1])},g()}break;case 5:e.spamOption=e.rule.searchArguments?e.rule.searchArguments[0]:"low";break;case 6:e.rule.searchArguments&&"0"==e.rule.searchArguments[0]?e.boolOption=!0:e.boolOption=!1}},e.getSpamTranslation=function(e){switch(e){case"low":return r("translate")("CONTENT_FILTERING_SPAM_LOW");case"normal":return r("translate")("CONTENT_FILTERING_SPAM_MED");case"high":return r("translate")("HIGH")}},e.buildSaveRule=function(){switch(e.currentRule.inputType){default:case 0:return{applyLogicalNot:e.logicInput,fieldType:e.currentRule.id,filterType:2,isWildcard:e.wildcard,searchArguments:[]};case 1:var t=e.textInput?e.textInput.split("\n"):[];return{applyLogicalNot:e.logicInput,fieldType:e.currentRule.id,filterType:2,isWildcard:e.wildcard,searchArguments:t};case 2:return{applyLogicalNot:e.logicInput,fieldType:e.currentRule.id,filterType:2,isWildcard:e.wildcard,searchArguments:[(1024*e.KBInput).toString()]};case 3:return{applyLogicalNot:e.logicInput,fieldType:e.currentRule.id,filterType:2,isWildcard:e.wildcard,searchArguments:[e.bytesInput.toString()]};case 4:var r=moment(e.dates.start.year+"-"+e.dates.start.month+"-"+e.dates.start.day,"YYYY-MM-DD").format("MM/DD/YYYY"),a=moment(e.dates.end.year+"-"+e.dates.end.month+"-"+e.dates.end.day,"YYYY-MM-DD").format("MM/DD/YYYY");return{applyLogicalNot:e.logicInput,fieldType:e.currentRule.id,filterType:2,isWildcard:e.wildcard,searchArguments:[r,a]};case 5:return{applyLogicalNot:e.logicInput,fieldType:e.currentRule.id,filterType:2,isWildcard:e.wildcard,searchArguments:[e.spamOption]};case 6:return{applyLogicalNot:e.logicInput,fieldType:e.currentRule.id,filterType:2,isWildcard:e.wildcard,searchArguments:[e.boolOption?"0":"1"]}}},e.save=function(){var r=e.buildSaveRule();t.hide({rule:r,oldType:e.rule.fieldType,deleteRule:!1})},e.delete=function(){t.hide({fieldType:e.currentRule.id,deleteRule:!0})},e.cancel=function(){t.cancel()},e.showTrueFalse=function(e){return-1!==[12,15,13,16,20,22,21,28,29].indexOf(e)},function(){e.newRule?angular.forEach(o,(function(t){e.ruleTypes=$.grep(e.ruleTypes,(function(e){return e.id!==t.fieldType}))})):angular.forEach(o,(function(t){e.ruleTypes=$.grep(e.ruleTypes,(function(r){return r.id!==t.fieldType||r.id===e.rule.fieldType}))}));if(e.isDomain){const t=new Map([[12,"CONTENT_FILTERING_TYPES_TO_USER"],[13,"CONTENT_FILTERING_TYPES_NAME_TO_DOMAIN"],[15,"CONTENT_FILTERING_TYPES_NAME_TO_CC_DOMAIN"]]);e.ruleTypes=e.ruleTypes.map((function(e){return t.has(e.id)?Object.assign({},e,{translate:n.instant(t.get(e.id))}):e}))}e.ruleCategories=$.grep(e.ruleCategories,(function(t){for(var r=0;r<e.ruleTypes.length;++r)if(e.ruleTypes[r].category===t.id)return!0;return!1})),e.newRule||(e.getCurrentRule(),e.getRulesForCategory());e.$watch("currentCategory",h),e.$watch("currentRule",N),e.loadArguments()}();var T=-1,f=-1;function h(){if(T=f,f=e.currentCategory?e.currentCategory.id:-1,e.currentCategory){if(e.isCategorySelected=!0,e.getRulesForCategory(),(e.newRule||e.resetRule)&&(e.currentRule=e.rulesForCategory[0]),e.isRuleSelected=!0,e.currentRule.id!==e.rule.fieldType||e.newRule||e.resetRule){if(!(0!==T&&0!==f||2!==T&&2!==f))return;e.textInput="",e.KBInput="",e.bytesInput=""}else e.loadArguments();e.resetRule=!0}}function N(){if(e.currentRule)if(e.currentRule.id===e.rule.fieldType)e.loadArguments();else if(e.newRule||e.resetRule){if(!(0!==T&&0!==f||2!==T&&2!==f))return void(T=-1);e.textInput="",e.KBInput="",e.bytesInput=""}}}e.$inject=["$scope","$mdDialog","$filter","$timeout","$translate","filterId","newRule","ruleTypes","ruleCategories","oldRule","usedRules","wildcard","internalType","isDomain"],angular.module("smartermail").controller("userFilterRuleEditController",e)}();
385!function(){"use strict";function e(e,t,a,n,i,r,o,s,c,l,u,p,d,v,A,E,b,T,m){var _=this;function f(t){(e.subject=a("translate")("EVENT_ACTIONS_DEFAULTS_"+e.eventId+"_SUBJECT"),e.body=a("translate")("EVENT_ACTIONS_DEFAULTS_"+e.eventId+"_BODY"),e.recipientOptions=[],e.currentActionKey&&""!==e.currentActionKey)&&(e.actionTemplate=$.grep(e.possibleActions,
385(function(t){return t.key===e.currentActionKey})),e.actionTemplate[0]&&e.actionTemplate[0].supportedActionRecipients&&e.actionTemplate[0].supportedActionRecipients.replace(/\s+/g,"").split(",").reverse().forEach((t=>{if("SystemAdmins"===t)return;if("user"===e.level&&"DomainAdmins"===t)return;if("EmailAction"===e.currentActionKey&&"user"===e.level&&"Users"===t)return;let n="";"DOMAINADMINS"===t.toUpperCase()&&(n="domain"===e.level?"_ALL":"_SOME"),"USERS"===t.toUpperCase()&&(n="user"===e.level?"_ME":"_AFFECTED"),e.recipientOptions.push({value:t,translation:a("translate")("EVENT_ACTIONS_RECIPIENT_TYPE_"+t.toUpperCase()+n)})})));e.newAction||angular.forEach(e.action.inputs,(function(a){switch(a.descriptionResourceId){case"@EventInput_RecipientType":e.recipientType=a.value;break;case"@EventInput_FromAddress":e.fromAddress=a.value;break;case"@EventInput_ToAddress":_.toAddress=a.value;break;case"@EventInput_AddressToAdd":e.addAddress=a.value;break;case"@EventInput_Recipient":e.recipient=a.value;break;case"@EventInput_Subject":t||(e.subject=a.value);break;case"@Body":t||(e.body=a.value);break;case"@EventInput_BrowserNotify":e.browserNotify="True"===a.value;break;case"@EventInput_WebhookMethod":e.webhookMethod=a.value||"POST";break;case"@EventInput_WebhookUrl":e.webhookUrl=a.value;break;case"@EventInput_WebhookHeaders":e.webhookHeaders=a.value;break;case"@EventInput_WebhookPayload":e.webhookPayload=a.value}})),"None"===e.recipientType&&e.recipientOptions.length>0&&(e.recipientType=e.recipientOptions[0].value),t&&(e.fromAddress||(e.fromAddress=e.defaultEmail),_.toAddress||(_.toAddress=e.defaultEmail),e.recipientOptions.length>0&&!e.recipientOptions.some((t=>t.value===e.recipientType))&&(e.recipientType=e.recipientOptions[0].value)),e.showRecipientOptions=e.recipientOptions>1||"DomainAdmins"===e.recipientType}function I(e){return a("translate")("EVENT_CONDITIONS_"+e.toUpperCase().replace(/#/g,""))}e.level=E,e.action=v,e.eventId=l,e.eventGuid=c,e.newAction=u,e.availableEvents=p,e.isValid=!0,e.availableVariables=d[l],e.variables={},angular.forEach(e.availableVariables,(function(t){e.variables[t]=I(t)})),e.customVariables=[{key:"var_dropdown",options:e.variables,icon:"cog",title:a("translate")("SIGNATURES_CUSTOM_VARIABLES"),callback:function(t,a,n){e.form.$setDirty(),e.$applyAsync(),n.insertHtml&&n.insertHtml(a)}}],e.repeatTime=0,e.defaultEmail=A,e.possibleActions=e.availableEvents[l].possibleActions,e.possibleActions=$.grep(e.possibleActions,(function(t){return"domain"==e.level?"CommandLineAction"===t.key||"WebhookAction"===t.key:"CommandLineAction"===t.key||"AlertUserAction"===t.key||"WebhookAction"===t.key}),!0),e.currentActionKey=u?"":e.action.key,e.addAddress="",e.recipient="",e.fromAddress="",_.toAddress="",e.subject="",e.body="",e.recipientOptions=[],e.recipientType="None",e.webhookMethod="POST",e.webhookUrl="",e.webhookHeaders="",e.webhookPayload="",e.repeatOptions=[{value:0,translation:a("translate")("NONE")},{value:1,translation:m.reactPluralize("EVENT_ACTIONS_MINUTES",{count:1})},{value:2,translation:m.reactPluralize("EVENT_ACTIONS_MINUTES",{count:2})},{value:5,translation:m.reactPluralize("EVENT_ACTIONS_MINUTES",{count:5})},{value:15,translation:m.reactPluralize("EVENT_ACTIONS_MINUTES",{count:15})},{value:30,translation:m.reactPluralize("EVENT_ACTIONS_MINUTES",{count:30})},{value:60,translation:m.reactPluralize("EVENT_ACTIONS_HOURS",{count:1})},{value:120,translation:m.reactPluralize("EVENT_ACTIONS_HOURS",{count:2})},{value:300,translation:m.reactPluralize("EVENT_ACTIONS_HOURS",{count:5})},{value:720,translation:m.reactPluralize("EVENT_ACTIONS_HOURS",{count:12})},{value:1440,translation:m.reactPluralize("EVENT_ACTIONS_HOURS",{count:24})}],e.alertEditorScope={},e.emailEditorScope={},e.selectedTab=0,e.getSetAction=function(t){if(!arguments.length)return e.currentActionKey;if(e.currentActionKey=t,!e.newAction&&(e.newTemplate=$.grep(e.possibleActions,(function(t){return t.key===e.currentActionKey})),e.newTemplate[0])){var a=e.action.id;e.action=e.newTemplate[0],e.action.id=a,e.fromAddress=e.defaultEmail,_.toAddress=e.defaultEmail}f(!0)},e.parseRepeatTime=function(){var t=e.action.constraintFrequency.split(":");e.repeatTime=Number(t[0]>0?60*t[0]:0)+Number(t[1]>0?t[1]:0)}
385,e.getVariableName=I,e.save=function(a){if(a.$invalid)return;let s=e.body;switch(e.currentActionKey){case"AlertAction":s=e.alertEditorScope.getHtml();break;case"EmailAction":s=e.emailEditorScope.getHtml()}n((async function(){if(e.newAction){if(e.newTemplate=$.grep(e.possibleActions,(function(t){return t.key===e.currentActionKey})),!e.newTemplate[0])return;e.action=JSON.parse(JSON.stringify(e.newTemplate[0])),e.action.id=""}var a,n;if(e.action.defaultFrequencyInMinutes=e.repeatTime,e.action.constraintFrequency=(a=Math.floor(e.repeatTime/60),n=Math.floor(e.repeatTime%60),(a<10?"0"+a:a)+":"+(n<10?"0"+n:n)+":00"),angular.forEach(e.action.inputs,(function(t){switch(t.descriptionResourceId){case"@EventInput_Owner":t.value=e.defaultEmail;break;case"@EventInput_RecipientType":t.value=e.recipientType;break;case"@EventInput_FromAddress":t.value=e.fromAddress;break;case"@EventInput_ToAddress":t.value=_.toAddress;break;case"@EventInput_AddressToAdd":t.value=e.addAddress;break;case"@EventInput_Recipient":t.value=e.recipient;break;case"@EventInput_Subject":t.value=e.subject;break;case"@Body":t.value=s;break;case"@EventInput_BrowserNotify":t.value=e.browserNotify?"True":"False";break;case"@EventInput_WebhookMethod":t.value=e.webhookMethod||"POST";break;case"@EventInput_WebhookUrl":t.value=e.webhookUrl;break;case"@EventInput_WebhookHeaders":t.value=e.webhookHeaders;break;case"@EventInput_WebhookPayload":t.value=e.webhookPayload}})),"AddRecipientAction"==e.action.key){var c=await r.post("~/api/v1/settings/forwardable-address/"+e.level,JSON.stringify({emailAddresses:[e.action.inputs[0].value]}));if(!c.data.success)return"DOMAIN"==c.data.message||"USER"==c.data.message?o.pop("error",i.instant("AUTOMATED_FORWARDING_DISABLED")):o.pop("error",i.instant("FORWARDS_TO_X_NOT_ALLOWED",{forwardingAddress:c.data.message})),void e.$applyAsync()}t.hide({action:e.action,deleteAction:!1})}))},e.delete=function(){t.hide({action:e.action,deleteAction:!0})},e.cancel=function(){t.cancel()},e.isDomainAdmin=function(){return s.user.isDomainAdmin},e.onDeselect=function(e){console.log(e)},f(!1),e.parseRepeatTime()}e.$inject=["$scope","$mdDialog","$filter","$timeout","$translate","$http","toaster","coreData","eventGuid","eventId","newAction","availableEvents","availableVariables","action","defaultEmail","level","coreDataSettings","coreDataDomainSettings","i18n"],angular.module("smartermail").controller("eventActionEditDialogController",e)}();
386!function(){"use strict";function e(e,a,n,t,o,i,s,l,r,u,c,d,v,m,p){e.level=m,e.eventId=s,e.newCondition=o,e.availableEvents=$.extend(!0,[],r),e.isValid=!0,e.currentKey=i||"",e.availableConditions=[],e.availableConditions=e.availableEvents[s]?e.availableEvents[s].conditions:[],e.availableConditions=$.grep(e.availableConditions,(function(e){return"domain"!=e.prefillKey&&"alldomainadmins"!=e.prefillKey&&"primarydomainadmin"!=e.prefillKey})),e.availableConditions.unshift({key:"eventoccured",value1:new Date,value2:new Date,prefillKey:""}),angular.forEach(Object.keys(u),(function(a){e.availableConditions=$.grep(e.availableConditions,(function(e){return e.key===a}),!0)})),o||e.availableConditions.push({key:e.currentKey,value1:"",value2:"",prefillKey:""}),0===e.availableConditions.length&&e.availableConditions.push({key:"NO_CONDITIONS"});var b="LT";e.conditionOptions={eventoccured:["Between","Outside"],daysofweek:["Equals","DoesNotEqual","Between"],basic:["Equals","DoesNotEqual","Contains","StartsWith","EndsWith"],number:["Equals","DoesNotEqual","Between","LessThan","GreaterThan"],equals:["Equals","DoesNotEqual"]},e.currentOperator=l,e.dayOptions=[{value:0,translation:"SUNDAY"},{value:1,translation:"MONDAY"},{value:2,translation:"TUESDAY"},{value:3,translation:"WEDNESDAY"},{value:4,translation:"THURSDAY"},{value:5,translation:"FRIDAY"},{value:6,translation:"SATURDAY"}],e.boolOptions=[{value:!0,translation:"TRUE"},{value:!1,translation:"FALSE"}],e.spamLevelOptions=["none","low","medium","high"],e.statusOptions=["NeedsAction","InProcess","Completed","Cancelled"],e.subscribeMethodOptions=["manual","emailcommand"],e.bounceReasonOptions=[],e.bounceCodeOptions=[400,401,421,422,431,432,441,442,446,447,449,450,451,452,471,500,501,502,503,504,510,511,512,513,521,523,530,541,550,551,552,553,554],e.smtpResponseOptions=["Unspecified","BadAddress","BadMailbox","Busy","ConnectionRefused","ContentRejected","ExceededStorageAllocation","MailboxFull","MessageSizeExceeded","NetworkError","NoMailbox","NotAcceptingMail","PolicyIssue","ProtocolError","RoutingIssue","SecurityIssue","Suspended","SystemIssue","TooManyHops","TooManyRecipients","Undeliverable","UserRejected"],e.getSetCondition=function(a){if
386(!arguments.length)return e.currentKey;if(e.currentKey!=a&&"NO_CONDITIONS"!=a){e.currentKey=a,e.value1="",e.value2="",e.currentOperator=e.conditionOptions[e.getFriendlyKey(a)][0];var n=$.grep(e.availableConditions,(function(e){return e.key===a}));if(n=n[0]?n[0]:void 0)switch(n.key){case"daysofweek":e.value1=0,e.value2=0;break;case"hardreject":case"intradomain":e.value1=!0;break;case"spamlevel":e.value1="none";break;case"subscribemethod":case"unsubscribemethod":e.value1="manual";break;case"status":e.value1="NeedsAction";break;case"eventoccured":e.value1=moment().format(b),e.value2=moment().format(b);break;default:e.value1||(e.value1=n.value1),e.value2||(e.value2=n.value2)}}},e.getFriendlyKey=function(e){switch(e){case"fromdomain":case"fromaddress":case"subject":case"todomain":case"toaddress":case"location":case"description":case"aliasname":case"aliasaddresses":case"emailaddress":case"listname":case"mailinglistaddress":case"username":case"fullname":case"forwardingaddresses":case"password":case"path":case"bouncereason":case"smtpresponse":return"basic";case"sizekb":case"mailboxusagepercent":case"mailboxusagemb":case"priority":case"percentcomplete":case"amtinhour":case"daysuntilexpires":case"bouncecode":return"number";case"spamlevel":case"intradomain":case"status":case"hardreject":case"unsubscribemethod":case"subscribemethod":return"equals";default:return e}},e.checkValueRange=function(){switch(e.currentKey){case"mailboxusagemb":case"sizekb":case"priority":e.value2<e.value1&&(e.value2=e.value1);break;case"percentcomplete":case"mailboxusagepercent":e.value1>100&&(e.value1=100),e.value2>100&&(e.value2=100),e.value1<0&&(e.value1=0),e.value2<0&&(e.value2=0),e.value1>e.value2&&(e.value2=e.value1);break;case"eventoccured":var a=v(e.value1),n=v(e.value2);e.value1=""===a?"":a.format(b),e.value2=""===n?"":n.format(b),a>n&&(n=a)}},e.save=function(n){if(n.$invalid)return;"Between"!==e.currentOperator&&"Outside"!==e.currentOperator&&(e.value2=null);var t;if("eventoccured"===e.currentKey){var o=v(e.value1),i=v(e.value2);return t={key:e.currentKey,condition:e.currentOperator,value1:1e4*o,value2:1e4*i,prefillKey:"",descriptionResourceID:"@EventCondition_TimeOfDay",type:"SmarterMail.Common.Events.EventCondition.EventConditionTime"},void a.hide({condition:t,newCond:e.newCondition,deleteCond:!1})}(t=$.grep(r[s].conditions,(function(a){return a.key===e.currentKey})))[0]&&(t=t[0]);t?(t.condition=e.currentOperator,t.value1=e.value1,t.value2=e.value2,a.hide({condition:t,newCond:e.newCondition,deleteCond:!1})):a.cancel()},e.delete=function(){a.hide({condition:{key:e.currentKey,condition:e.currentOperator,value1:e.value1,value2:e.value2},newCond:e.newCondition,deleteCond:!0})},e.cancel=function(){a.cancel()},function(){if(p.get("~/api/v1/settings/get-bounce-reasons").then((function(a){e.bounceReasonOptions=a.data||[]}),(function(){e.bounceReasonOptions=[]})),"eventoccured"===e.currentKey){var a=moment().hour(moment().hours()-moment().utc().hours()).minutes(moment().minutes()-moment().utc().minutes()).second(0);e.value1=c?a.add(c/1e4).format(b):moment().format(b),a.add(-c/1e4),e.value2=d?a.add(d/1e4).format(b):moment().format(b)}else e.value1=c||(0===c?0:""),e.value2=d||(0===d?0:"")}()}e.$inject=["$scope","$mdDialog","$filter","$timeout","newCondition","conditionKey","eventId","operator","availableEvents","usedConditions","value1","value2","parseTimeSpan","level","$http"],angular.module("smartermail").controller("eventConditionEditDialogController",e)}();
387!function(){"use strict";function e(e,t,a,n,r,s,o,i){var l=this;function u(){var t;l.eventIsLoading=!0,t=l.isSysAdmin?[s.get("~/api/v1/settings/sysadmin/sysadmin-events")]:[s.post("~/api/v1/settings/user-events"),s.get("~/api/v1/settings/domain/domain-events")],o.all(t).then((function(t){l.isSysAdmin?l.availableUserEvents=t[0].data.events:(l.availableUserEvents=t[0].data.events,l.availableDomainEvents=t[1].data.events),function(){var t={};for(var a in l.eventTypeOptions=[],l.eventIDGetterObject=[],l.eventCategoryOptions=[],l.availableUserEvents){var r=l.availableUserEvents[a],s=Number(a);void 0===t[r.categoryResourceId]&&(l.eventCategoryOptions.push({value:s,translation:r.categoryResourceId.replace("@","").toUpperCase()}),t[r.categoryResourceId]=s),l.eventIDGetterObject[s]=t[r.categoryResourceId],void 0===l.eventTypeOptions[t[r.categoryResourceId]]&&(l.eventTypeOptions[t[r.categoryResourceId]]=[]),l.eventTypeOptions[t[r.categoryResourceId]].push({value:s,translation:"EVENT_TYPES_"+r.id.toUpperCase()})}for(var a in l.availableDomainEvents){r=l.availableDomainEvents[a],s=Number(a);void 0===t[r.categoryResourceId]&&(l.eventCategoryOptions.push({value:s,translation:r.categoryResourceId.replace("@","").toUpperCase()}),t[r.categoryResourceId]=s),l.eventIDGetterObject[s]=t[r.categoryResourceId],void 0===l.eventTypeOptions[t[r.categoryResourceId]]&&(l.eventTypeOptions[t[r.categoryResourceId]]=[]),l.eventTypeOptions[t[r.categoryResourceId]].push({value:s,translation:"EVENT_TYPES_"+r.id.toUpperCase()})}l.eventCategoryOptions=n("orderBy")(l.eventCategoryOptions,"translation"),e.$applyAsync()}(),l.eventIsLoading=!1}),(function(){l.eventIsLoading=!1}))}function c(e){return n("translate")("EVENT_ACTIONS_"+e.toUpperCase())}function v(e,t){var a,r,s=I(e.condition),o=E(e.key),i=Boolean(e.value2),l=!1;switch(e.key){case"eventoccured":var u=moment().hour(moment().hours()-moment().utc().hours()).minutes(moment().minutes()-moment().utc().minutes()).second(0);a=u.add(e.value1/1e4).format("hh:mm A"),u.add(-e.value1/1e4),r=i?u.add(e.value2/1e4).format("hh:mm A"):void 0;break;case"daysofweek":a=_(e.value1),r=i?_(e.value2):void 0;break;case"sizekb":a=n("bytes")(1024*e.value1,1),r=i?n("bytes")(1024*e.value2,1):void 0;break;case"mailboxusagemb":o=o.replace("(MB)",""),a=n("bytes")(1024*e.value1*1024,1),r=i?n("bytes")(1024*e.value2*1024,1):void 0;break;case"intradomain":case"spamlevel":a=n("translate")(e.value1.toString().toUpperCase());break;case"status":a=n("translate")("EVENTS_"+e.value1.toString().toUpperCase());break;case"mailboxusagepercent":o=o.replace("(%)","");case"percentcomplete":l=!0;
387default:a=e.value1,r=i?e.value2:void 0}if(t){switch(e.condition.toLowerCase()){case"lessthan":case"greaterthan":a==r&&(r=void 0)}return n("translate")(r?"EVENT_CONDITIONS_MINICARD_GENERIC_CONDITION_TWO_VALS":"EVENT_CONDITIONS_MINICARD_GENERIC_CONDITION_ONE_VAL",{value1:a,value2:r,symbol:l?"%":""})}switch(e.condition.toLowerCase()){case"lessthan":case"greaterthan":return n("translate")("EVENT_CONDITIONS_CARD_GENERIC_CONDITION_IS",{field:o,comparison:s,value1:a,symbol:l?"%":""});default:return n("translate")(i?r?"EVENT_CONDITIONS_CARD_GENERIC_CONDITION_IS_TWO_VALS":"EVENT_CONDITIONS_CARD_GENERIC_CONDITION_IS":r?"EVENT_CONDITIONS_CARD_GENERIC_CONDITION_NO_IS_TWO_VALS":"EVENT_CONDITIONS_CARD_GENERIC_CONDITION_NO_IS",{field:o,comparison:s,value1:a,value2:r,symbol:l?"%":""})}}function E(e){return n("translate")("EVENT_CONDITIONS_"+e.toUpperCase())}function I(e){return n("translate")(e.toUpperCase())}function N(e,t){var a,r=n("translate")("TO");switch(e.key){case"AlertUserAction":case"AlertAction":case"EmailAction":var s=p(e.inputs,"recipienttype","SpecifiedUser");if("SpecifiedUser"===s)a=p(e.inputs,"emailto");else if(""!==s){let e="";null!=t&&("DOMAINADMINS"===s.toUpperCase()&&(e="domain"===t?"_ALL":"_SOME"),"USERS"===s.toUpperCase()&&(e="user"===t?"_ME":"_AFFECTED")),a=n("translate")(`EVENT_ACTIONS_RECIPIENT_TYPE_${s.toUpperCase()}${e}`)}else a=n("translate")("UNDEFINED");r=n("translate")("TO");break;case"TrustedSender":case"AddRecipientAction":return"";case"CommandLineAction":a=p(e.inputs,"process",""),r=n("translate")("EVENTS_SCRIPT_FILE");break;case"WebhookAction":r=n("translate")("WEBHOOK_URL")}return a?`${r}: ${a}`:n("translate")("UNDEFINED")}function p(e,t,a=""){var n=$.grep(e,(function(e){return e.key===t}));return n&&n[0]?n[0].value:a}function _(e){switch(e){case 0:return n("translate")("SUNDAY");case 1:return n("translate")("MONDAY");case 2:return n("translate")("TUESDAY");case 3:return n("translate")("WEDNESDAY");case 4:return n("translate")("THURSDAY");case 5:return n("translate")("FRIDAY");case 6:return n("translate")("SATURDAY");default:return n("translate")("UNDEFINED")}}l.isSysAdmin=i.user.isSysAdmin,l.availableUserEvents=[],l.availableDomainEvents=[],l.eventTypeOptions=[],l.eventIDGetterObject=[],l.eventCategoryOptions=[],l.eventIsLoading=!0,l.getEventWhenString=function(e){var t=l.eventTypeOptions[l.eventIDGetterObject[e.eventID]];if(!t)return null;for(var a=0;a<t.length;a++)if(t[a].value==e.eventID)return n("translate")(t[a].translation.replace("EVENT_TYPES_","EVENT_TYPES_WHEN_"))},l.getEventWithString=function(e,t){var a=t?2:!1===t?1:0,r=e.conditions?e.conditions.length:0;if(r>0&&r===a)return n("translate")("EVENT_CONDITIONS_"+e.conditions[0].key.toUpperCase())+" "+e.conditions[0].value1;if(r===a+1){var s=$.grep(e.conditions,(function(e){return"pasword"!==e.key}));return(s=s.length>0?s[0]:void 0)?v(s):n("translate")("UNDEFINED")}return r>a+1?n("translate")("MULTIPLE",{count:r-a}):n("translate")("NO_CONDITIONS")},l.getEventThenString=function(e){var t=e.actions?e.actions.length:0;if(1===t){var a=e.actions[0];return a?c(a.key):n("translate")("UNDEFINED")}return t>1?n("translate")("MULTIPLE",{count:t}):n("translate")("NO_ACTIONS")},l.getActionTranslation=c,l.getGenericConditionTranslation=v,l.getConditionTranslation=E,l.getConditionTypeString=I,l.getActionMiddleString=N,l.getActionBottomString=function(e,t){var a,r=[];switch(e.key){case"AlertUserAction":case"AlertAction":var s=$.grep(e.inputs,(function(e){return"alertsubject"===e.key}));a=n("translate")("SUBJECT");break;case"EmailAction":let o=$.grep(e.inputs,(function(e){return"emailfrom"===e.key}));o&&o[0]&&r.push(n("translate")("EVENT_ACTIONS_GENERIC_MINICARD_ACTION",{action:n("translate")("FROM"),value:o[0].value}));let i=N(e,t);i&&r.push(i);let l=$.grep(e.inputs,(function(e){return"emailsubject"===e.key}));l&&l[0]&&r.push(n("translate")("EVENT_ACTIONS_GENERIC_MINICARD_ACTION",{action:n("translate")("SUBJECT"),value:l[0].value}));let u=$.grep(e.inputs,(function(e){return"emailbody"===e.key}));if(u&&u[0]){let e=(new DOMParser).parseFromString(u[0].value,"text/html");e.body.querySelectorAll("br, p, div").forEach((e=>{"BR"===e.tagName?e.replaceWith(" "):e.insertAdjacentText("afterend"," ")}));let t=e.body.textContent||"";r.push(n("translate")("EVENT_ACTIONS_GENERIC_MINICARD_ACTION",{action:n("translate")("BODY"),value:t.slice(0,50)+"..."}))}break;case"TrustedSender":s=$.grep(e.inputs,(function(e){return"addaddress"===e.key}));a=n("translate")("ADD_ADDRESS");break;case"AddRecipientAction":s=$.grep(e.inputs,(function(e){return"addrecipient"===e.key}));a=n("translate")("RECIPIENT");break;case"CommandLineAction":let c=$.grep(e.inputs,(function(e){return"arguments"===e.key})),v=$.grep(e.inputs,(function(e){return"process"===e.key}));v&&v[0]&&r.push(n("translate")("EVENT_ACTIONS_GENERIC_MINICARD_ACTION",{action:n("translate")("EVENTS_SCRIPT_FILE"),value:v[0].value})),c&&c[0]&&c[0].value&&r.push(n("translate")("EVENT_ACTIONS_GENERIC_MINICARD_ACTION",{action:n("translate")("EVENTS_ARGUMENTS"),value:c[0].value}));break;case"WebhookAction":s=$.grep(e.inputs,(function(e){return"webhookurl"===e.key}));a=p(e.inputs,"webhookmethod","")}return r?.length>0?r.join("\n "):s&&s[0]?n("translate")("EVENT_ACTIONS_GENERIC_MINICARD_ACTION",{action:a,value:s[0].value}):n("translate")("UNDEFINED")},u(),e.$on("$translateChangeSuccess",u)}e.$inject=["$rootScope","$timeout","$log","$filter","$translate","$http","$q","userDataService"],angular.module("smartermail").service("eventData",e)}();
388!function(){"use strict";function e(e,t,n,i,s,o,a,l,r,c,d){var u=this;function m(e){n.get("~/api/v1/settings/domain/subscriber-field-definitions").then((function(t){u.customFields=t.data.subscriberFields||[],u.tableParams.settings({dataset:u.customFields}),f(),!0!==e&&h()}),(function(){}))}function f(){u.checkboxes.reset(),u.tableParams.reload()}function h(){e.$broadcast("mailing-list:counts-changed")}function p(e){g(u.checkboxes.getCheckedItems(),e)}function g(e,t){if(e&&angular.isArray(e)&&e.length){var o=s.confirmDeletion().textContent(i("translate")("CUSTOM_FIELDS_SHARED")+" "+d.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:e.length})).targetEvent(t);s.show(o).then((function(){n.post("~/api/v1/settings/domain/mailing-lists/subscriber-field-definitions/delete-bulk",JSON.stringify({ints:e})).then(m,c.report)}),null)}}function f(){u.checkboxes.reset(),u.tableParams.reload()}u.isDomain="domain"===a.type,u.tableParams=new l({sorting:{name:"asc"},count:25},{dataset:[],counts:e.commonTableCounts}),u.checkboxes=r.init("id"),u.checkboxes.table=u.tableParams,u.newItem=function(e){s.show({locals:{name:void 0,defaultValue:void 0},controller:"sharedEditCustomFieldController",controllerAs:"ctrl",templateUrl:"app/settings/shared/mailing-lists/modals/custom-field.dlg.html",targetEvent:e}).then((function(e){let t=JSON.parse(JSON.stringify(u.customFields));var i={name:e.name,defaultValue:e.defaultValue};t.push(i),n.post("~/api/v1/settings/domain/subscriber-field-definitions",JSON.stringify({subscriberFieldDefinitions:t})).then((function(e){u.customFields.push(i),m(e)}),c.report)}))},u.editItem=function(e,t){s.show({locals:{name:e.name,defaultValue:e.defaultValue},controller:"sharedEditCustomFieldController",controllerAs:"ctrl",templateUrl:"app/settings/shared/mailing-lists/modals/custom-field.dlg.html",targetEvent:t}).then((function(i){i.delete?g([e.id],t):(e.name=i.name,e.defaultValue=i.defaultValue,n.post("~/api/v1/settings/domain/subscriber-field-definitions",JSON.stringify({subscriberFieldDefinitions:u.customFields})).then(m,c.report))}))},u.deleteItems=p,u.contextMenuGridItem=function(e,n){if(!n||"touchstart"!==n.type&&"touchend"!==n.type&&3!==n.which||e.criticallyErrored)return;n.stopPropagation(),n.preventDefault();var i=u.checkboxes.getCheckedItems();(i.length>1&&!_.some(i,(function(t){return t==e.id}))||i.length<=1)&&(u.checkboxes.reset(),u.checkboxes.checkCheckbox(n,e),i=[e.id]);t.dropdownEvent=$.extend(!0,{},n),t.dropdownOptions=[{key:"deleteItems",click:p,translateKey:"DELETE"}];var s=$("#context-menu-area");if(s){var a=o('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(t);s.append(a)}},m(!0)}e.$inject=["$rootScope","$scope","$http","$filter","$mdDialog","$compile","$stateParams","NgTableParams","gridCheckboxes","errorHandling","i18n"],angular.module("smartermail").controller("sharedMailingListCustomFieldsController",e)}();
389!function(){"use strict";function t(t,s,e,a,n,i,o,r,l,m,g,c,d,S,u,f,p,E,M){var h=this;function I(){n.get("~/api/v1/settings/domain/mailing-lists/"+h.mailingListId+"/system-messages").then((function(t){h.systemMessages=t.data.systemMessages.filter((t=>"HELPMESSAGE"!==t.name))||[],angular.forEach(h.systemMessages,(function(t){t.translated=c.instant("MAILING_LISTS_MESSAGE_TYPES_"+t.name.toUpperCase())})),h.tableParams.settings({dataset:h.systemMessages}),h.tableParams.reload(),h.initialized=!0}),(function(){}))}h.isDomain="domain"===s.type,h.mailingListId=t.params.mailingListId,h.systemMessages=[],h.tableParams=new d({sorting:{translated:"asc"},count:100},{dataset:[],counts:e.commonTableCounts}),h.initialized=!1,h.editItem=function(t,s){r.show({locals:{message:t,listId:h.mailingListId},controller:"sharedEditSystemMessageController",controllerAs:"ctrl",templateUrl:"app/settings/shared/mailing-lists/modals/message.dlg.html",targetEvent:s}).then((function(e){if(e.reset){var a=r.confirmDeletion().textContent(o("translate")("CONFIRMATIONS_RESET_SYSTEM_MESSAGE")).ok(o("translate")("RESET")).targetEvent(s);r.show(a).then((function(){n.post("~/api/v1/settings/domain/mailing-lists/"+h.mailingListId+"/system-messages/reset",JSON.stringify([t.name])).then(I,S.report)}),(function(){}))}else{var i={name:t.name,subject:e.subject,body:e.body};n.post("~/api/v1/settings/domain/mailing-lists/"+h.mailingListId+"/system-message",JSON.stringify(i)).then(I,S.report)}}))},h.searchItems=function(){h.tableParams.reload()},I(),e.$on("$translateChangeSuccess",(function(){h.systemMessages&&angular.forEach(h.systemMessages,(function(t){t.translated=c.instant("MAILING_LISTS_MESSAGE_TYPES_"+t.name.toUpperCase())}))}))}t.$inject=["$state","$stateParams","$rootScope","$scope","$http","$timeout","$filter","$mdDialog","$q","$log","$compile","$translate","NgTableParams","errorHandling","coreDataDomainSettings","coreDataSettings","userDataService","coreData","impersonationService"],angular.module("smartermail").controller("sharedMailingListMessagesController",t)}();
390!function(){"use strict";function t(t,s,i,e,n,a,o,r,d,l,g,p,c,m,u){var S=this;function T(){S.isEnterprise=u.hasEnterpriseFunctionality}function b(){S.pageForm?S.pageForm.$setPristine():n(b,20,!1)}S.canManageMailingLists=m.isSysAdmin()||m.isDomainAdmin(),S.isEnterprise=!1,S.data={},S.mailingListId=t.params.mailingListId,S.listFromOption="LISTADDRESS",S.listFromAddress="",S.listReplyToOption="DONOTSET",S.listReplyToAddress="",S.originalDoubleOpt=!1,S.allowAnyoneToPost=!1,S.allowSubscribersToPost=!1,S.save=function(t,i){if(!i.$valid)return;S.data.listFromAddress="SPECIFICADDRESS"===S.listFromOption?S.listFromAddress:S.listFromOption,S.data.listReplyToAddress="SPECIFICADDRESS"===S.listReplyToOption?S.listReplyToAddress:S.listReplyToOption,S.allowSubscribersToPost||S.allowAnyoneToPost?S.data.postingPermissions=S.allowAnyoneToPost?0:1:S.data.postingPermissions=2;var n={password:S.data.password,postingPermissions:S.data.postingPermissions,subject:S.data.subject,listToAddress:S.data.listToAddress,listFromAddress:S.data.listFromAddress,listReplyToAddress:S.data.listReplyToAddress,unsubscribeText:S.data.unsubscribeText,enableDigest:S.data.enableDigest,sendSubscribeEmail:S.data.sendSubscribeEmail,sendUnsubscribeEmail:S.data.sendUnsubscribeEmail,disableSubscriptions:S.data.disableSubscriptions,doubleOptIn:S.data.doubleOptIn,disableListErrorReplies:S.data.disableListErrorReplies,digestSubject:S.data.digestSubject,digestSendTriggerType:S.data.digestSendTriggerType,digestSendTriggerSize:S.data.digestSendTriggerSize,digestSendType:S.data.digestSendType,digestStripNonTextAttachments:S.data.digestStripNonTextAttachments,baseUrl:S.data.baseUrl};e.post(`~/api/v1/settings/domain/mailing-lists/${S.mailingListId}/settings`,JSON.stringify(n)).then((function(){i.$setPristine(),s.$broadcast("domain-settings:changed"),S.originalDoubleOpt&&!S.data.doubleOptIn&&s.$broadcast("mailing-list:counts-changed")}),l.report)},S.sendDigestNow=function(t){const s=o.confirm().title(a("translate")("SEND_DIGEST")).ok(a("translate")("SEND")).cancel(a("translate")("CANCEL")).textContent(a("translate")("MAILING_LISTS_SEND_DIGEST_CONFIRMATION")).targetEvent(t);o.show(s).then((function(){e.post(`~/api/v1/settings/domain/mailing-lists/${S.mailingListId}/send-digest`).then(g.report,l.report)}),(function(){}))},S.queryUsers=function(t){if(t.length>0)return e.get(`~/api/v1/settings/domain/list-usernames/?usersToReturn=50&includeDomain=true&search=${t}`).then((function(t){return t.data.usernames}),l.report).catch((function(){return[]}));return r.when([])},T(),u.watchForChanges(i,T),function(){var a=[e.get(`~/api/v1/settings/domain/mailing-lists/${S.mailingListId}/settings`)];function o(t){S.data=t[0].data.item,S.listFromOption=S.data.listFromAddress,"LISTADDRESS"!==S.listFromOption&&"POSTERADDRESS"!==S.listFromOption&&(S.listFromAddress=S.data.listFromAddress,S.listFromOption="SPECIFICADDRESS"),S.listReplyToOption=S.data.listReplyToAddress,"LISTADDRESS"!==S.listReplyToOption&&"POSTERADDRESS"!==S.listReplyToOption&&"DONOTSET"!==S.listReplyToOption&&(S.listReplyToAddress=S.data.listReplyToAddress,S.listReplyToOption="SPECIFICADDRESS"),S.allowAnyoneToPost=0===S.data.postingPermissions,S.allowSubscribersToPost=S.data.postingPermissions<=1,S.originalDoubleOpt=S.data.doubleOptIn,S.listAddress=S.data.listAddress+"@"+(s.secondaryImpersonationDomain||p.domain),S.listCommandAddress=S.data.listCommandAddress,!S.data.enableDigest||S.data.digestSubject&&0!==S.data.digestSubject.length?n(b,200,!1):(S.data.digestSubject=d.instant("DIGEST"),S.pageForm.$setDirty()),i.$watch((function(){return S.allowAnyoneToPost}),(function(t,s){t!==s&&!0===t&&(S.allowSubscribersToPost=!0)}))}function g(s){S.canManageMailingLists?l.report(s):c.userPermissions.isListModerator?t.go("index.settings.mailing-lists"):t.go("index.settings.user-account-settings")}S.canManageMailingLists&&a.push(p.init()),r.all(a).then(o,g)}()}t.$inject=["$state","$rootScope","$scope","$http","$timeout","$filter","$mdDialog","$q","$translate","errorHandling","successHandling","coreDataDomainSettings","coreDataSettings","claimsService","coreLicensing"],angular.module("smartermail").controller("sharedMailingListModeratorSettingsController",t)}();
391!function(){"use strict";function t(t,e,i,s,n,a,r,o,l,d,c,m,p,g,u){var h=this;function f(t){v(h.checkboxes.getCheckedItems(),t)}function v(t,e){if(t&&t.length&&angular.isArray(t)){var i=a.confirmDeletion().textContent(u.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:t.length})).targetEvent(e);a.show(i).then((function(){var e="Whitelist"==h.listType?"~/api/v1/settings/domain/mailing-lists/"+h.mailingListId+"/poster-remove":"~/api/v1/settings/domain/mailing-lists/"+h.mailingListId+"/banned-user-remove";s.post(e,JSON.stringify(t)).then(b,m.report)}),null)}}function b(){h.checkboxes.reset(),e.$broadcast("mailing-list:counts-changed"),h.tableParams.reload()}h.isDomain="domain"===l.type,h.mailingListId=t.params.mailingListId,h.currentPageResults=[],h.tableParams=new d({sorting:{emailAddress:"asc"},count:25},{getData:function(t){t.page(),t.count(),t.count();for(var e in t.sorting())if(t.sorting().hasOwnProperty(e)&&t.sorting()[e]){"desc"===t.sorting()[e];break}var i={skip:(t.page()-1)*t.count(),take:t.count(),search:h.searchText},n="Whitelist"==h.listType?"~/api/v1/settings/domain/mailing-lists/"+h.mailingListId+"/poster-search":"~/api/v1/settings/domain/mailing-lists/"+h.mailingListId+"/banned-user-search";return s.post(n,JSON.stringify(i)).then((function(e){t.total(e.data.total);var i=[];return angular.forEach(e.data.items,(function(t){i.push({emailAddress:t})})),h.currentPageResults=i,i}),(function(){}))},counts:e.commonTableCounts}),h.checkboxes=c.init("emailAddress"),h.checkboxes.table=h.tableParams,h.newItem=function(t){a.show({locals:{email:void 0,subscriberType:h.listType},controller:"sharedEditPo
391sterController",controllerAs:"ctrl",templateUrl:"app/settings/shared/mailing-lists/modals/poster-or-ban.dlg.html",targetEvent:t}).then((function(t){var e="Whitelist"===h.listType?"~/api/v1/settings/domain/mailing-lists/"+h.mailingListId+"/poster-add":"~/api/v1/settings/domain/mailing-lists/"+h.mailingListId+"/banned-user-add";s.post(e,JSON.stringify([t.email])).then((function(){b(),p.report()}),m.report)}),(function(){}))},h.editItem=function(t,e){var i=t.emailAddress;a.show({locals:{email:i,subscriberType:h.listType},controller:"sharedEditPosterController",controllerAs:"ctrl",templateUrl:"app/settings/shared/mailing-lists/modals/poster-or-ban.dlg.html",targetEvent:e}).then((function(t){if(t.delete)v([i],e);else if(t.email!==i){var n="Whitelist"===h.listType?"~/api/v1/settings/domain/mailing-lists/"+h.mailingListId+"/poster-add":"~/api/v1/settings/domain/mailing-lists/"+h.mailingListId+"/banned-user-add",a="Whitelist"===h.listType?"~/api/v1/settings/domain/mailing-lists/"+h.mailingListId+"/poster-remove":"~/api/v1/settings/domain/mailing-lists/"+h.mailingListId+"/banned-user-remove";r.all([s.post(n,JSON.stringify([t.email])),s.post(a,JSON.stringify([i]))]).then((function(){b(),p.report()}),m.report)}}),(function(){}))},h.deleteItems=f,h.searchItems=function(){h.tableParams.reload()},h.importEmails=function(t){a.show({locals:{options:{subscriberType:h.listType,filterListID:h.mailingListId}},controller:"sharedUploadMailListPostersController",controllerAs:"ctrl",templateUrl:"app/settings/shared/mailing-lists/modals/upload-posters.dlg.html",targetEvent:t}).then((function(t){b()}))},h.exportEmails=function(t){var i="Whitelist"===h.listType?"~/api/v1/settings/domain/mailing-lists/"+h.mailingListId+"/poster-export":"~/api/v1/settings/domain/mailing-lists/"+h.mailingListId+"/banned-user-export",s="Whitelist"===h.listType?n("translate")("POSTERS")+".csv":n("translate")("BANNED_POSTERS")+".csv";e.spinner.show(),g.downloadFile(i,s,{}).then((function(){}),m.report).finally(e.spinner.hide)},h.contextMenuGridItem=function(t,e){if(!e||"touchstart"!==e.type&&"touchend"!==e.type&&3!==e.which||t.criticallyErrored)return;e.stopPropagation(),e.preventDefault();var s=h.checkboxes.getCheckedItems();(s.length>1&&!_.some(s,(function(e){return e===t.emailAddress}))||s.length<=1)&&(h.checkboxes.reset(),h.checkboxes.checkCheckbox(e,t),s=[t.emailAddress]);i.dropdownEvent=$.extend(!0,{},e),i.dropdownOptions=[{key:"deleteItems",click:f,translateKey:"DELETE"}];var n=$("#context-menu-area");if(n){var a=o('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(i);n.append(a)}}}t.$inject=["$state","$rootScope","$scope","$http","$filter","$mdDialog","$q","$compile","$stateParams","NgTableParams","gridCheckboxes","errorHandling","successHandling","coreDataFileStorage","i18n"],angular.module("smartermail").controller("sharedMailingListPostersController",t)}();
392!function(){"use strict";function t(t,i,e,n,a,s,o,d,l,r,m,g,c,p,S,u){var A=this,h=u.create(e);function T(){A.isEnterprise=S.hasEnterpriseFunctionality}function b(){A.pageForm?A.pageForm.$setPristine():a(b,20,!1)}A.loading=!0,A.contentReady=!1,A.canManageMailingLists=p.isSysAdmin()||p.isDomainAdmin(),A.isEnterprise=!1,A.domainSpamSettings={},A.data={},A.mailingListId=t.params.mailingListId,A.listFromOption="LISTADDRESS",A.listFromAddress="",A.listReplyToOption="DONOTSET",A.listReplyToAddress="",A.originalDoubleOpt=!1,A.allowAnyoneToPost=!1,A.allowSubscribersToPost=!1,A.spamSettings=null,A.save=function(t,e){if(!e.$valid)return;A.data.listFromAddress="SPECIFICADDRESS"===A.listFromOption?A.listFromAddress:A.listFromOption,A.data.listReplyToAddress="SPECIFICADDRESS"===A.listReplyToOption?A.listReplyToAddress:A.listReplyToOption,A.allowSubscribersToPost||A.allowAnyoneToPost?A.data.postingPermissions=A.allowAnyoneToPost?0:1:A.data.postingPermissions=2;"never"===A.autoCleanSentItemsOption?A.data.autoCleanSentItemsEnabled=!1:(A.data.autoCleanSentItemsEnabled=!0,A.data.autoCleanSentItemsThresholdDays=parseInt(A.autoCleanSentItemsOption,10));const a={listAddress:A.data.listAddress,moderatorAddress:A.data.moderatorAddress,password:A.data.password,subject:A.data.subject,listToAddress:A.data.listToAddress,listFromAddress:A.data.listFromAddress,listReplyToAddress:A.data.listReplyToAddress,unsubscribeText:A.data.unsubscribeText,disabled:A.data.disabled,description:A.data.description,enableDigest:A.data.enableDigest,sendSubscribeEmail:A.data.sendSubscribeEmail,sendUnsubscribeEmail:A.data.sendUnsubscribeEmail,disableSubscriptions:A.data.disableSubscriptions,doubleOptIn:A.data.doubleOptIn,disableListErrorReplies:A.data.disableListErrorReplies,digestSubject:A.data.digestSubject,digestSendTriggerType:A.data.digestSendTriggerType,digestSendTriggerSize:A.data.digestSendTriggerSize,digestSendType:A.data.digestSendType,digestStripNonTextAttachments:A.data.digestStripNonTextAttachments,maxMessagesSentPerHour:A.data.maxMessagesSentPerHour,messagesAction:A.data.messagesAction,maxSmtpOutBandwidthPerHour:A.data.maxSmtpOutBandwidthPerHour,bandwidthAction:A.data.bandwidthAction,baseUrl:A.data.baseUrl,showInGal:A.data.showInGal,postingPermissions:A.data.postingPermissions,allowAnyoneToPost:A.data.allowAnyoneToPost,allowSubscribersToPost:A.data.allowSubscribersToPost,enableSpamFiltering:A.data.enableSpamFiltering,autoCleanSentItemsEnabled:A.data.autoCleanSentItemsEnabled,autoCleanSentItemsThresholdDays:A.data.autoCleanSentItemsThresholdDays,spamHighAction:s(A.spamSettings.highAction),spamLowAction:s(A.spamSettings.lowAction),spamMedAction:s(A.spamSettings.medAction)};function s(t){return{action_type:t.actionType,argument:t.argument,boolOption1:t.boolOption1??!1,boolOption2:t.boolOption2??!1,isDefaultAction:t.isDefaultAction}}n.post(`~/api/v1/settings/domain/mailing-lists/${A.mailingListId}/settings`,JSON.stringify(a)).then((function(){e.$setPristine(),i.$broadcast("domain-settings:changed"),A.originalDoubleOpt&&!A.data.doubleOptIn&&i.$broadcast("mailing-list:counts-changed"),A.originalDoubleOpt=A.data.doubleOptIn}),r.report)},A.openDescriptionModal=function(t){o.show({locals:{name:"DESCRIPTION",text:A.data.description},controller:"domainEditTextController",controllerAs:"ctrl",templateUrl:"app/settings/shared/domain-settings-edit-text.dlg.html",targetEvent:t}).then((function(t){A.data.description=t,A.pageForm.$setDirty()}),(function(){}))},A.deleteThis=function(i){const e=o.confirmDeletion().textContent(s("translate")("CONFIRMATIONS_DELETE_MAILING_LIST")).targetEvent(i);o.show(e).then((function(){n.post(`~/api/v1/settings/domain/mailing-lists/${A.mailingListId}/delete`).then((function(){A.skipNavigateConfirm=!0,t.go("^")}),r.report)}),(function(){}))},A.sendDigestNow=function(t){const i=o.confirm().title(s("translate")("SEND_DIGEST")).ok(s("translate")("SEND")).cancel(s("translate")("CANCEL")).textContent(s("translate")("MAILING_LISTS_SEND_DIGEST_CONFIRMATION")).targetEvent(t);o.show(i).then((function(){n.post(`~/api/v1/settings/domain/mailing-lists/${A.mailingListId}/send-digest`).then(m.report,r.report)}),(function(){}))},A.queryUsers=function(t,i){if(t.length>0)return n.get(`~/api/v1/settings/domain/list-usernames/?usersToReturn=50&includeDomain=true&includeDomainAliases=${i}&search=${t}`).then((function(t){return t.data.usernames}),r.report).catch((function(){return[]}));return d.when([])},A.editSpamItem=function(t,i,e){if(!A.data.enableSpamFiltering)return;var n;n=e===A.spamSettings.lowAction?"SPAM_FILTERING_LOW_PROBABILITY":e===A.spamSettings.medAction?"SPAM_FILTERING_MED_PROBABILITY":"SPAM_FILTERING_HIGH_PROBABILITY";e||(e={});o.show({locals:{title:n,actionType:e.actionType,argument:e.argument,weight:null,hideMoveToJunk:!0},controller:"editSpamFilterActionDialogController",controllerAs:"ctrl",templateUrl:"app/settings/shared/spam-filter-action.dlg.html",targetEvent:t}).then((function(t){e.actionType=t.actionType,e.argument=t.argument,e===A.spamSettings.lowAction&&t.weight?A.spamSettings.lowWeight=t.weight:e===A.spamSettings.medAction&&t.weight?A.spamSettings.medWeight=t.weight:t.weight&&(A.spamSettings.highAction=t.weight),i.$setDirty()}),(function(){}))},T(),S.watchForChanges(e,T),function(){const s=[n.get(`~/api/v1/settings/domain/mailing-lists/${A.mailingListId}/settings`),n.get("~/api/v1/settings/domain/spam-settings"),g.init()];function o(t){A.data=t[0].data.item,A.listFromOption=A.data.listFromAddress,"LISTADDRESS"!==A.listFromOption&&"POSTERADDRESS"!==A.listFromOption&&(A.listFromAddress=A.data.listFromAddress,A.listFromOption="SPECIFICADDRESS"),A.listReplyToOption=A.data.listReplyToAddress,"LISTADDRESS"!==A.listReplyToOption&&"POSTERADDRESS"!==A.listReplyToOption&&"DONOTSET"!==A.listReplyToOption&&(A.listReplyToAddress=A.data.listReplyToAddress,A.listReplyToOption="SPECIFICADDRESS"),A.allowAnyoneToPost=0===A.data.postingPermissions,A.allowSubscribersToPost=A.data.postingPermissions<=1,A.autoCleanSentItemsOption=A.data.autoCleanSentItemsEnabled?String(A.data.autoCleanSentItemsThresholdDays):"never";const n=g.domainPermissions.spamCheckAllowDomainOverride&&t[1].data.domainSettings.overrideActive;function s(t){return t?t?{actionType:t.action_type,argument:t.argument,boolOption1:t.boolOption1,boolOption2:t.boolOption2,isDefaultAction:t.isDefaultAction}:null:t}A.domainSpamSettings={highAction:n?t[1].data.domainSettings.highAction:t[1].data.defaultSettings.highAction,highWeight:t[1].data.defaultSettings.highWeight,lowAction:n?t[1].data.domainSettings.lowAction:t[1].data.defaultSettings.lowAction,lowWeight:t[1].data.defaultSettings.lowWeight,medAction:n?t[1].data.domainSettings.medAction:t[1].data.defaultSettings.medAction,medWeight:t[1].data.defaultSettings.medWeight},4===A.domainSpamSettings.highAction.actionType&&(A.domainSpamSettings.highAction.actionType=1),4===A.domainSpamSettings.lowAction.actionType&&(A.domainSpamSettings.lowAction.actionType=1),4===A.domainSpamSettings.medAction.actionType&&(A.domainSpamSettings.medAction.actionType=1),A.data.enableSpamFiltering?A.spamSettings={highAction:s(A.data.spamHighAction)??A.domainSpamSettings.highAction,lowAction:s(A.data.spamLowAction)??A.domainSpamSettings.lowAction,medAction:s(A.data.spamMedAction)??A.domainSpamSettings.medAction}:A.spamSettings={highAction:A.domainSpamSettings.highAction,lowAction:A.domainSpamSettings.lowAction,medAction:A.domainSpamSettings.medAction},A.originalDoubleOpt=A.data.doubleOptIn,A.listAddress=A.data.listAddress+"@"+(i.secondaryImpersonationDomain||g.domain),A.listCommandAddress=A.data.listCommandAddress,!A.data.enableDigest||A.data.digestSubject&&0!==A.data.digestSubject.length?a(b,200,!1):(A.data.digestSubject=l.instant("DIGEST"),A.pageForm.$setDirty()),e.$watch((function(){return A.allowAnyoneToPost}),(function(t,i){t!==i&&!0===t&&(A.allowSubscribersToPost=!0)})),A.loading=!1,h.wait((function(){A.contentReady=!0}))}function m(i){A.canManageMailingLists?r.report(i):c.userPermissions.isListModerator?t.go("index.settings.mailing-lists"):t.go("index.settings.user-account-settings")}d.all(s).then(o,m)}()}t.$inject=["$state","$rootScope","$scope","$http","$timeout","$filter","$mdDialog","$q","$translate","errorHandling","successHandling","coreDataDomainSettings","coreDataSettings","claimsService","coreLicensing","masonryReveal"],angular.module("smartermail").controller("sharedMailingListSettingsController",t)}();
393!function(){"use strict";function e(e,t,i,s,n,r,a,o,l,c,d,u,m,b,g){var p=this;function h(e){var t=p.checkboxes.getCheckedItems();if(t&&t.length&&angular.isArray(t)){var i=r.confirmDeletion().textContent(g.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:t.length})).targetEvent(e);r.show(i).then((function(){var e="Subscriber"===p.subscriberType?"~/api/v1/settings/domain/mailing-lists/"+p.mailingListId+"/subscriber-remove":"~/api/v1/settings/domain/mailing-lists/"+p.mailingListId+"/digest-subscriber-remove";s.post(e,JSON.stringify(t)).then(f,u.report)}),(function(){}))}}function f(){p.checkboxes.reset(),t.$broadcast("mailing-list:counts-changed"),p.tableParams.reload()}function I(e){var t=p.checkboxes.getCheckedItems();t&&t.length&&angular.isArray(t)&&s.post("~/api/v1/settings/domain/mailing-lists/"+p.mailingListId+"/resend-opt-in",JSON.stringify(t)).then((function(){f(),m.report()}),u.report)}function v(){p.checkboxes.reset(),p.tableParams.reload()}p.isDomain="domain"===o.type,p.mailingListId=e.params.mailingListId,p.tableParams=new c({sorting:{emailaddress:"asc"},count:25},{getData:function(e){e.page(),e.count(),e.count();var t="emailAddress",i=!1;for(var n in e.sorting())if(e.sorting().hasOwnProperty(n)&&e.sorting()[n]){t=n,i="desc"===e.sorting()[n];break}var r={skip:(e.page()-1)*e.count(),take:e.count(),search:p.searchText,subscriberType:p.subscriberType,sortField:t,sortDescending:i};return s.post("~/api/v1/settings/domain/mailing-lists/"+p.mailingListId+"/subscriber-search",JSON.stringify(r)).then((function(t){return e.total(t.data.total),t.data.items}),(function(){})).finally((function(){l((function(){p.cols.length>=5&&(p.cols[4].show=function(){return p.doubleOptIn})}))}))},counts:t.commonTableCounts}),p.checkboxes=d.init("emailAddress"),p.checkboxes.table=p.tableParams,p.cols=[],p.doubleOptIn=!1,p.newItem=function(e){r.show({locals:{id:void 0,email:void 0,newItem:{hideMailLists:!0,mailingListID:p.mailingListId}},controller:"sharedAddSubscriberController",controllerAs:"ctrl",templateUrl:"app/settings/shared/mailing-lists/modals/subscriber-add.dlg.html",targetEvent:e}).then((function(e){var t="Subscriber"===p.subscriberType?"~/api/v1/settings/domain/mailing-lists/"+p.mailingListId+"/subscriber-add":"~/api/v1/settings/domain/mailing-lists/"+p.mailingListId+"/digest-subscriber-add";s.post(t,JSON.stringify(e.emailAddresses)).then((function(){f(),m.report()}),u.report)}),(function(){}))},p.editItem=function(e,t){r.show({locals:{id:e.id,email:e.emailAddress,mailingListId:p.mailingListId},controller:"sharedEditSubscriberController",controllerAs:"ctrl",templateUrl:"app/settings/shared/mailing-lists/modals/subscriber.dlg.html",targetEvent:t}).then((function(t){var i={emailAddress:t.subscriber.emailAddress,fieldValues:null,subscribedLists:null,subscribedDigests:null};i.fieldValues=t.subscriber.fieldValues,i.subscribedLists=t.subscriber.subscribedLists,i.subscribedDigests=t.subscriber.subscribedDigests,s.post("~/api/v1/settings/domain/mailing-lists/subscribers/"+e.emailAddress+"/edit",JSON.stringify(i)).then((function(){f(),m.report()}),u.report)}),v)},p.deleteItems=h,p.deleteAll=function(e){var t=r.confirmDeletion().textContent(n("translate")("CONFIRMATIONS_DELETE_ITEMS_ALL")).targetEvent(e);r.show(t).then((function(){var e="Subscriber"===p.subscriberType?"~/api/v1/settings/domain/mailing-lists/"+p.mailingListId+"/subscriber-remove-all":"~/api/v1/settings/domain/mailing-lists/"+p.mailingListId+"/digest-subscriber-remove-all";s.post(e).then(f,u.report)}),(function(){}))},p.searchItems=function(){p.tableParams.reload()},p.importEmails=function(e){r.show({locals:{options:{subscriberType:p.subscriberType,filterListID:p.mailingListId}},controller:"sharedUploadSubscribersController",controllerAs:"ctrl",templateUrl:"app/settings/shared/mailing-lists/modals/upload-subscribers.dlg.html",targetEvent:e}).then((function(){f(),m.report()}),(function(){}))},p.exportEmails=function(e){var i="Subscriber"===p.subscriberType?"~/api/v1/settings/domain/mailing-lists/"+p.mailingListId+"/subscriber-export":"~/api/v1/settings/domain/mailing-lists/"+p.mailingListId+"/digest-subscriber-export",s="Subscriber"===p.subscriberType?n("translate")("SUBSCRIBERS")+".csv":n("translate")("DIGEST_SUBSCRIBERS")+".csv";t.spinner.show(),b.downloadFile(i,s,{}).then((function(){}),u.report).finally(t.spinner.hide)},p.contextMenuGridItem=function(e,t){if(!t||"touchstart"!==t.type&&"touchend"!==t.type&&3!==t.which||e.criticallyErrored)return;t.stopPropagation(),t.preventDefault();var s=p.checkboxes.getCheckedItems();(s.length>1&&!_.some(s,(function(t){return t===e.emailAddress}))||s.length<=1)&&(p.checkboxes.reset(),p.checkboxes.checkCheckbox(t,e),s=[e.emailAddress]);i.dropdownEvent=$.extend(!0,{},t),i.dropdownOptions=[{key:"resendOptIn",click:I,translateKey:"RESEND_DOUBLE_OPT_IN_VERIFICATION"},{divider:!0},{key:"deleteItems",click:h,translateKey:"DELETE"}];var n=$("#context-menu-area");if(n){var r=a('<st-context-menu options="dropdownOptions" event="dropdownEvent" 
393classes="[\'dropdown-no-scroll\']"></st-context-menu>')(i);n.append(r)}},p.resendVerification=I,s.get("~/api/v1/settings/domain/mailing-lists/"+p.mailingListId+"/settings").then((function(e){p.doubleOptIn=e.data.item.doubleOptIn}),(function(){}))}e.$inject=["$state","$rootScope","$scope","$http","$filter","$mdDialog","$compile","$stateParams","$timeout","NgTableParams","gridCheckboxes","errorHandling","successHandling","coreDataFileStorage","i18n"],angular.module("smartermail").controller("sharedMailingListSubscribersController",e)}();
394!function(){"use strict";function n(n,t,i,e,s,a,o){var l=this;function c(){n.spinner.show(),e.get("~/api/v1/settings/domain/mailing-lists/"+l.mailingListId+"/counts").then((function(n){l.counts=n.data,l.gridSections[1].length=l.counts.listSubscribers,l.gridSections[2].length=l.counts.digestSubscribers,l.gridSections[3].length=l.counts.posters,l.gridSections[4].length=l.counts.bannedUsers,l.gridSections[5].length=l.counts.messages,l.gridSections.length>=7&&(l.gridSections[6].length=l.counts.customFields);l.ready=!0}),s.report).finally(n.spinner.hide)}l.mailingListId=i.params.mailingListId,l.ready=!1,l.canManageMailingLists=o.isSysAdmin()||o.isDomainAdmin(),l.gridSections=[{translate:"OPTIONS",length:-1},{translate:"SUBSCRIBERS",length:"0"},{translate:"DIGEST_SUBSCRIBERS",length:"0"},{translate:"ALLOWED_POSTERS",length:"0"},{translate:"BANNED_POSTERS",length:"0"},{translate:"MESSAGES",length:"0"}],l.canManageMailingLists&&l.gridSections.push({translate:"CUSTOM_FIELDS",length:"0"}),l.selectedSection="OPTIONS",l.changeSection=function(n){a.doConfirmDialog?a.doConfirmDialog().then((function(){a.doConfirmDialog=void 0,l.selectedSection=n,c()}),(function(){})):(l.selectedSection=n,c())},function(){l.mailingListId||i.go("^");c(),t.$on("mailing-list:counts-changed",c)}()}n.$inject=["$rootScope","$scope","$state","$http","errorHandling","unsavedChangesTrackingService","claimsService"],angular.module("smartermail").controller("sharedSettingsMailListController",n)}();
395!function(){"use strict";function t(t,e,i,n,s,a,l,o,r,c,d,g,m,u){var h=this;function p(){h.checkboxes.reset(),h.tableParams.reload()}function f(){n.get("~/api/v1/settings/domain/mailing-lists/list").then((function(t){h.mailingLists=t.data.items||[],h.tableParams.settings({dataset:h.mailingLists}),p()}))}function b(e){var i=h.checkboxes.getCheckedItems();if(i&&angular.isArray(i)&&0!==i.length){var a=s.confirmDeletion().textContent(u.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:i.length})).targetEvent(e);s.show(a).then((function(){return t.spinner.show(),n.post("~/api/v1/settings/domain/mailing-lists/delete-bulk",JSON.stringify({ints:i})).then((function(){f(),c.report(),t.$broadcast("refresh-users-counts")}),r.report).finally(t.spinner.hide)}),null)}}h.canAddMailingListAccounts=m.isSysAdmin()||m.isDomainAdmin(),h.settingCore=o,h.mailingListHostHeader=null,h.mailingListBaseUrlEnabled=null,h.disableMailingListDeliveryAfterXBounces=null,h.disableMailingListDeliveryAfterBouncesInXDays=null,h.enableMailingListDayThreshold=null,h.mailingLists=[],h.customFields=[],h.tableParams=new d({sorting:{listAddress:"asc"}},{dataset:[],counts:t.commonTableCounts}),h.checkboxes=g.init("id"),h.checkboxes.table=h.tableParams,h.newMailingList=function(t){s.show({locals:{},controller:"sharedNewMailingListController",controllerAs:"ctrl",templateUrl:"app/settings/shared/mailing-lists/modals/new-list.dlg.html",targetEvent:t}).then((function(t){var e={listAddress:t.listAddress,moderatorAddress:t.moderator};n.post("~/api/v1/settings/domain/mailing-lists/add",JSON.stringify(e)).then((function(t){i.go(".specific-list",{mailingListId:t.data.item.id})}),r.report)}),(function(){}))},h.deleteMailingLists=b,h.searchItems=function(){h.checkboxes.reset(),h.tableParams.filter({$:h.searchText}),h.tableParams.reload()},h.contextMenuGridItem=function(t,i){if(!i||"touchstart"!==i.type&&"touchend"!==i.type&&3!==i.which||t.criticallyErrored)return;if(!h.canAddMailingListAccounts)return;i.stopPropagation(),i.preventDefault();var n=h.checkboxes.getCheckedItems();(n.length>1&&!_.some(n,(function(e){return e==t.id}))||n.length<=1)&&(h.checkboxes.reset(),h.checkboxes.checkCheckbox(i,t),n=[t.id]);e.dropdownEvent=$.extend(!0,{},i),e.dropdownOptions=[{key:"deleteMailingLists",click:b,params:e.dropdownEvent,translateKey:"DELETE"}];var s=$("#context-menu-area");if(s){var a=l('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);s.append(a)}},h.editList=function(t,e){3===t.status?s.show({locals:{listName:t.listAddress},controller:"listFailedToLoadDialogController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/users/list-failed-to-load.dlg.html",targetEvent:e}).then((function(t){t&&f()}),(function(){})):i.go(".specific-list",{mailingListId:t.id})},n.get("~/api/v1/settings/domain/mailing-lists/list").then((function(t){h.mailingLists=t.data.items||[],h.tableParams.settings({dataset:h.mailingLists}),h.initialized=!0,p()}),(function(t){i.go("^"),r.report(t)})),e.$on("signalR.mailHub.client.listModeratorChanged",(function(t,e){f()}))}t.$inject=["$rootScope","$scope","$state","$http","$mdDialog","$filter","$compile","coreDataDomainSettings","errorHandling","successHandling","NgTableParams","gridCheckboxes","claimsService","i18n"],angular.module("smartermail").controller("sharedSettingsMailingListOptionsController",t)}();
396!function(){"use strict";function e(e,t,a,r,s,n,o,c,i,l,u,d,h,m,p,E,f,S,g,R,y){var D=this;const C=l&&l.$current&&l.$current.name&&l.$current.name.toLowerCase().startsWith("index.sysadmin-manage.dashboard.domain-specific");D.isSysAdmin=m.user.isSysAdmin&&!C;const v=C?l.params.id:m.user.domain;async function O(e){if(D.isEnterprise){var t=[];if(D.checkboxes.items)for(var a in D.checkboxes.items)t.push(Number(a));if(0!==t.length)try{await R.copyToMailbox(D.searchGuid,t,e)&&E.report("SUCCESS")}catch(e){p.report(e)}else p.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}else p.report("ENTERPRISE_ONLY")}async function N(){var e=[];
396if(D.checkboxes.items)for(var t in D.checkboxes.items)e.push(Number(t));if(0!==e.length){if(e.length>1){var a=n.confirm().textContent(s("translate")("CONFIRMATIONS_MULTI_GENERIC",{count:e.length})).cancel(s("translate")("CANCEL")).ok(s("translate")("OK")).title(s("translate")("CONFIRMATION_REQUIRED"));try{await n.show(a)}catch(e){return}}try{await R.downloadEmlFile(D.searchGuid,e)}catch(e){p.report(e)}}else p.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function T(e){const t=o.instant("AND").toLocaleLowerCase(),a=o.instant("BETWEEN_X_AND_Y",{x:s("date")(e.startDateUtc,"shortDate"),y:s("date")(e.endDateUtc,"shortDate")}),r=e.to?`${o.instant("SENT_TO")}: ${e.to}`:"",n=e.from?`${o.instant("SENT_FROM")}: ${e.from}`:"",c=r&&n?`${r} ${t} ${n}`:r||(n||""),i=e.subject?o.instant("SUBJECT_CONTAINS_X",{x:e.subject}):"",l=i&&c?`${o.instant("WHERE").toLocaleLowerCase()} ${i} ${c}`:i?`${o.instant("WHERE").toLocaleLowerCase()} ${i}`:c?` ${c}`:"";return l&&a?`${o.instant("MESSAGES")} ${s("htmlUnescape")(l)} ${a}`:`${o.instant("ALL")} ${o.instant("MESSAGES").toLocaleLowerCase()} ${a}`}t.archiveType=D.isSysAdmin?"sysadmin":"domain",t.archiveName=D.isSysAdmin?"all":v,t.searchResults=[],t.startDate=moment().local().subtract(7,"d").toDate(),t.endDate=moment().local().toDate(),t.percentProgress=100,D.searchGuid=l.params.searchGuid,D.isEnterprise=u.hasEnterpriseFunctionality,D.searchingAdmin=m.user.emailAddress+(D.isSysAdmin?"@":""),D.showingResults=!1,D.searchPerformed=!1,D.searchParams={startIndex:0,count:0,sortType:null,ascending:!0},D.tableParams=new S({sorting:{receivedDateUtc:"asc"},count:25},{getData:function(r){for(var s in D.searchParams.startIndex=(r.page()-1)*r.count(),D.searchParams.count=r.count(),D.searchParams.searchGuid=D.searchGuid,r.sorting())if(r.sorting().hasOwnProperty(s)&&r.sorting()[s]){D.searchParams.sortType=100===t.percentProgress?s:"receivedDateUtc",D.searchParams.ascending=100!==t.percentProgress||"desc"!==r.sorting()[s];break}return e.spinner.show(),a.post("~/api/v1/settings/"+t.archiveType+"/message-archive-results",JSON.stringify(D.searchParams)).then((function(e){D.searchResultCount=e.data.searchResults.results.length,t.percentProgress=e.data.searchResults.percentProgress,t.matchLimitExceeded=e.data.searchResults.matchLimitExceeded,D.totalSearchResultCount=e.data.searchResults.totalItems,r.total(D.totalSearchResultCount),t.searchDescription=e.data.searchResults.searchDescription,t.searchSummary=T(e.data.searchResults.searchArgs),t.cutoffDate=e.data.searchResults.cutoffDate,t.disableActions=0===D.searchResultCount||!e.data.searchResults.results.some((function(e){return e.receivedDateUtc>t.cutoffDate})),t.percentProgress>=100&&0===D.totalSearchResultCount&&(D.noResults=!0);return e.data.searchResults.results}),p.report).finally(e.spinner.hide)},counts:e.commonTableCounts}),D.checkboxes=g.init("id"),D.checkboxes.ignoreItemDelegate=function(e){return e.receivedDateUtc<t.cutoffDate},D.checkboxes.table=D.tableParams,D.editItem=function(e,a){if(e.receivedDateUtc<t.cutoffDate)return;const r=y.makeArchivePacket(D.searchGuid,e.id),s=y.getPopoutUrl(r);
396window.open(s,"emailID"+e.id,"resizable=1, "+f.dimensions.email)},D.contextMenuGridItem=function(e,a){if(!a||"touchstart"!==a.type&&"touchend"!==a.type&&3!==a.which||e.criticallyErrored)return;if(a.stopPropagation(),a.preventDefault(),e.receivedDateUtc<t.cutoffDate)return;var r=D.checkboxes.getCheckedItems();(r.length>1&&!_.some(r,(function(t){return t==e.id}))||r.length<=1)&&(D.checkboxes.reset(),D.checkboxes.checkCheckbox(a,e),r=[e.id]);t.dropdownEvent=$.extend(!0,{},a),t.dropdownOptions=[{key:"copyToMailbox",click:O,params:t.dropdownEvent,translateKey:"COPY_TO_MAILBOX"},{key:"downloadMessages",click:N,translateKey:"DOWNLOAD"}];var s=$("#context-menu-area");if(s){var n=c('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(t);s.append(n)}},D.copyToMailbox=O,D.copyAll=async function(e){if(!D.isEnterprise)return void p.report("ENTERPRISE_ONLY");try{await R.copyAllToMailbox(D.searchGuid,e)&&E.report("SUCCESS")}catch(e){p.report(e)}},D.downloadMessages=N,D.downloadAll=async function(){if(0===D.totalSearchResultCount)return void p.report("SPOOL_ERRORS_NO_ITEMS_SELECTED");var e=n.confirm().textContent(s("translate")("CONFIRMATIONS_MULTI_GENERIC",{count:D.totalSearchResultCount})).cancel(s("translate")("CANCEL")).ok(s("translate")("OK")).title(s("translate")("CONFIRMATION_REQUIRED"));try{await n.show(e)}catch(e){return}try{await R.downloadAll(D.searchGuid)}catch(e){p.report(e)}},D.searchArgsToSummaryText=T,function(){if(!D.isEnterprise)return;e.$on("signalR.mailHub.client.messageArchiveSearchUpdate",(function(e,t){t===D.searchGuid&&D.tableParams.reload()}))}()}e.$inject=["$rootScope","$scope","$http","$timeout","$filter","$mdDialog","$translate","$compile","$q","$state","coreLicensing","coreDataDomainSettings","coreDataFileStorage","userDataService","errorHandling","successHandling","popupService","NgTableParams","gridCheckboxes","emailArchiveFunctions","emailNavigation"],angular.module("smartermail").controller("messageArchiveSearchViewController",e)}();
397!function(){"use strict";function e(e,t,s,n,a,r,i,o,c,l,h,u,d,m,p,g,E,S,f,v,D,T,w,x,b){var C=this;const y=l&&l.$current&&l.$current.name&&l.$current.name.toLowerCase().startsWith("index.sysadmin-manage.dashboard.domain-specific");function A(){C.isEnterprise=d.hasEnterpriseFunctionality,C.isEnterprise&&e.$on("signalR.mailHub.client.messageArchiveSearchUpdate",(function(e,t){C.searchResults&&C.searchResults.some((e=>e.id==t))&&k()}))}function k(){C.checkboxes.reset(),C.tableParams.reload()}function L(e,t){var n=[];if(C.checkboxes.items)for(var a in C.checkboxes.items)n.push(a);if(0!==n.length){var o=r.confirmDeletion().textContent(b.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:n.length})).targetEvent(t);r.show(o).then((function(){s.post("~/api/v1/settings/domain/remove-list-searches",{input:n}).then((function(e){e.data?E.report():g.warn(i.instant("WARN_SOME_ITEMS_NOT_DELETED"))}),g.report).finally((()=>k()))}))}else g.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function P(e){return e&&e>0?a("translate")("YOU_HAVE_MESSAGES_SELECTED",{count:e}):a("translate")("NO_MESSAGE_SELECTED")}C.isEnterprise=d.hasEnterpriseFunctionality,C.isSysAdmin=p.user.isSysAdmin&&!y,C.archiveType=C.isSysAdmin?"sysadmin":"domain",C.searchParams={skip:0,take:0,search:null,sortField:"progress",sortDescending:!0},C.tableParams=new f({sorting:{progress:"desc"},count:25},{getData:function(t){for(var n in C.searchParams.startIndex=(t.page()-1)*t.count(),C.searchParams.count=t.count(),C.searchParams.includeErrored=!0,C.searchParams.sortField=null,t.sorting())if(t.sorting().hasOwnProperty(n)&&t.sorting()[n]){C.searchParams.sortType=n,C.searchParams.sortDescending="desc"===t.sorting()[n];break}return e.spinner.show(),s.post(`/api/v1/settings/${C.archiveType}/message-archive-list-searches`,JSON.stringify(C.searchParams)).then((function(e){return C.searchResults=e.data.results,C.searchResultCount=e.data.totalCount,t.total(C.searchResultCount),C.searchResults}),(function(){})).finally(e.spinner.hide)},counts:e.commonTableCounts}),C.checkboxes=v.init("id"),C.checkboxes.table=C.tableParams,C.archiveSearches=[],C.selectStatusMessage=P(),C.searchText="",C.contextMenuGridItem=function(e,s){if(!s||"touchstart"!==s.type&&"touchend"!==s.type&&3!==s.which||e.criticallyErrored)return;s.stopPropagation(),s.preventDefault();var n=C.checkboxes.getCheckedItems();(n.length>1&&!_.some(n,(function(t){return t==e.id}))||n.length<=1)&&(C.checkboxes.reset(),C.checkboxes.checkCheckbox(s,e),n=[e.id]);t.dropdownEvent=$.extend(!0,{},s),t.dropdownOptions=[{key:"copyToMailbox",click:L,params:t.dropdownEvent,translateKey:"DELETE"}];var a=$("#context-menu-area");if(a){var r=o('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(t);a.append(r)}},C.deleteItems=L,C.editItem=function(e,t){const s=w.makeArchivePacket(C.searchGuid,e.id),n=w.getPopoutUrl(s);window.open(n,"emailID"+e.id,"resizable=1, "+S.dimensions.email)},C.newSearch=function(e){r.show({locals:{isNew:!0,searchGuid:""},controller:"messageArchiveEditDialogController",controllerAs:"ctrl",templateUrl:"app/settings/shared/message-archiving/modals/message-archive-edit.dlg.html",targetEvent:e}).then((function(e){l.go(".search",{searchGuid:e.searchGuid})}),(function(){}))},C.editSearch=function(e,t){r.show({locals:{searchGuid:e.id,isNew:!1},controller:"messageArchiveEditDialogController",controllerAs:"ctrl",skipHide:!0,templateUrl:"app/settings/shared/message-archiving/modals/message-archive-edit.dlg.html",targetEvent:t}).then((function(e){k()}),(function(){}))},C.viewSearchResults=function(e,t){l.go(".search",{searchGuid:e.id})},C.searchArgsToSummaryText=function(e){const t=i.instant("AND").toLocaleLowerCase(),s=i.instant("BETWEEN_X_AND_Y",{x:a("date")(e.startDateUtc,"shortDate"),y:a("date")(e.endDateUtc,"shortDate")}),n=e.to?`${i.instant("SENT_TO")}: ${e.to}`:"",r=e.from?`${i.instant("SENT_FROM")}: ${e.from}`:"",o=n&&r?`${n} ${t} ${r}`:n||(r||""),c=e.subject?i.instant("SUBJECT_CONTAINS_X",{x:e.subject}):"",l=c&&o?`${i.instant("WHERE").toLocaleLowerCase()} ${c} ${o}`:c?`${i.instant("WHERE").toLocaleLowerCase()} ${c}`:o?` ${o}`:"";return l&&s?`${i.instant("MESSAGES")} ${a("htmlUnescape")(l)} ${s}`:`${i.instant("ALL")} ${i.instant("MESSAGES").toLocaleLowerCase()} ${s}`},C.searchItems=function(){C.searchParams.search=C.searchText,k()},C.refresh=k,t.$on("licensingChanged",(function(){u.init().then(A,g.report)})),A()}e.$inject=["$rootScope","$scope","$http","$timeout","$filter","$mdDialog","$translate","$compile","$q","$state","coreDataDomainSettings","coreDataLicensing","coreLicensing","coreDataFileStorage","userDataService","errorHandling","successHandling","popupService","NgTableParams","gridCheckboxes","coreData","authStorage","emailNavigation","claimsService","i18n"],angular.module("smartermail").controller("messageAchiveSectionController",e)}();
398!function(){"use strict";function e(e,t,s,r,n,a,i,o,c,l,d,m,h,u,p){var g=this;g.isSystemRequirements=c.user.isSysAdmin&&!o.params.id;const f=g.isSystemRequirements?"sysadmin":"domain";function S(t){const r=c.user.isSysAdmin?o.params.id:c.user.domain,i=g.checkboxes.getCheckedItems();if(i){var m=[];for(let e=0;e<i.length;++e){let t=i[e].split("|");t[1]&&t[1].length>0?m.push(t[0]+"@"+t[1]):m.push(t[0]+"@"+r)}n.show({locals:{from:"System Administrator",subject:a.instant("PASSWORD_RESET_PASSWORD_WARNING_MESSAGE"),emailText:"",isSysAdmin:c.user.isSysAdmin},controller:"passwordComplianceSendEmailController",controllerAs:"ctrl",templateUrl:"app/settings/shared/password-requirements/send-email.dlg.html",targetEvent:t}).then((function(t){if(!t||!t.emailText)return;if(c.user.isSysAdmin){var r={from:t.from,toHeader:a.instant("USER"),emailAddresses:m,subject:t.subject,body:t.emailText,html:!0};e.spinner.show(),s.post("~/api/v1/settings/sysadmin/send-password-violation-email",JSON.stringify(r)).then((function(){d.report()}),l.report).finally(e.spinner.hide)}else e.spinner.show(),s.post("~/api/v1/mail/message-put",JSON.stringify({actions:{},folder:"drafts",to:"",ownerEmailAddress:c.user.emailAddress,bcc:m.join(";"),subject:t.subject,date:new Date(Date.now()),from:c.user.emailAddress,replyTo:c.user.emailAddress,messageHTML:t.emailText,attachmentGuid:""})).then((function(){d.report()}),l.report).finally(e.spinner.hide)}))}}function v(t){for(var r=g.checkboxes.getCheckedItems(),i=[],o=0;o<r.length;++o){var c=r[o].split("|");i.push(c[0]+"@"+c[1])}var m=n.confirmDeletion().title(a.instant("CONFIRMATION_REQUIRED")).textContent(p.reactPluralize("EXPIRE_PASSWORD_MESSAGE",{count:i.length})).ok(a.instant("EXPIRE_PASSWORD")).noWarn(!0);n.show(m).then((function(){var t={emailAddresses:i};e.spinner.show(),s.post("~/api/v1/settings/expire-passwords",JSON.stringify(t)).then((function(e){e.data.activeDirectoryCount>0?l.warn("EXPIRE_PASSWORD_ACTIVEDIRECTORY"):d.report(),y()}),l.report).finally(e.spinner.hide)}))}function y(){g.checkboxes.reset(),g.tableParams.reload()}g.searchText=null,g.searchParams={skip:0,take:0,search:null,sortField:null,sortDescending:!1},g.tableParams=new m({sorting:{age:"desc"},count:25},{getData:function(t){for(var r in g.searchParams.skip=(t.page()-1)*t.count(),g.searchParams.take=t.count(),g.searchParams.sortField=null,t.sorting())if(t.sorting().hasOwnProperty(r)&&t.sorting()[r]){g.searchParams.sortField=r,g.searchParams.sortDescending="desc"===t.sorting()[r];break}return e.spinner.show(),s.post(`~/api/v1/settings/${f}/aged-password-list-no-activedirectory`,JSON.stringify(g.searchParams)).then((function(e){g.searchResults=e.data.agedPasswordList,g.searchResultCount=e.data.count,t.total(g.searchResultCount);for(let e=0;e<g.searchResults.length;++e)g.searchResults[e].id=g.searchResults[e].username+"|"+g.searchResults[e].domain;return g.searchResults}),l.report).finally(e.spinner.hide)},counts:e.commonTableCounts}),g.checkboxes=h.init("id"),g.checkboxes.ignoreItemDelegate=function(e){return e.default},g.checkboxes.table=g.tableParams,g.initialized=!1,g.searchText="",g.searchItems=function(){g.searchParams.search=g.searchText,y()}
398,g.exportCsv=function(t){var s=`~/api/v1/settings/${f}/export-aged-password-list-no-activedirectory`;s+=g.searchText?"/"+g.searchText:"";var r=JSON.stringify({});e.spinner.show(),u.downloadFile(s,"aged.csv",r).then((function(){}),l.report).finally(e.spinner.hide)},g.sendEmail=S,g.expirePassword=v,g.contextMenuGridItem=function(e,s){if(!s||"touchstart"!==s.type&&"touchend"!==s.type&&3!==s.which||e.criticallyErrored)return;s.stopPropagation(),s.preventDefault();var r=g.checkboxes.getCheckedItems();(r.length>1&&!_.some(r,(function(t){return t===e.id}))||r.length<=1)&&(g.checkboxes.reset(),g.checkboxes.checkCheckbox(s,e),r=[e.id]);t.dropdownEvent=$.extend(!0,{},s),t.dropdownOptions=[{key:"sendEmail",click:S,params:t.dropdownEvent,translateKey:"SEND_EMAIL"},{key:"expirePassword",click:v,params:t.dropdownEvent,translateKey:"EXPIRE_PASSWORD"}];var n=$("#context-menu-area");if(n){var a=i('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(t);n.append(a)}},moment.relativeTimeThreshold("d",180),moment.relativeTimeThreshold("M",24),moment.relativeTimeRounding(Math.floor)}e.$inject=["$rootScope","$scope","$http","$filter","$mdDialog","$translate","$compile","$state","userDataService","errorHandling","successHandling","NgTableParams","gridCheckboxes","coreDataFileStorage","i18n"],angular.module("smartermail").controller("sharedAdminSecurityPassAgedController",e)}();
399!function(){"use strict";function e(e,s,t,r,n,a,i,o,c,l,d,u,m,p,h){var f=this;f.isSystemRequirements=p.user.isSysAdmin&&!o.params.id;const g=f.isSystemRequirements?"sysadmin":"domain";var y={1:"DOMAIN_MANAGEMENT_LOCAL",2:"ACTIVE_DIRECTORY",3:"TWO_FACTOR_SHORT"};function v(s){const r=p.user.isSysAdmin?o.params.id:p.user.domain,i=f.checkboxes.getCheckedItems();if(i){var d=[];for(let e=0;e<i.length;++e){let s=i[e].split("|");s[1]&&s[1].length>0?d.push(s[0]+"@"+s[1]):d.push(s[0]+"@"+r)}n.show({locals:{from:"System Administrator",subject:a.instant("PASSWORD_POLICY_COMPLIANCE"),emailText:"",isSysAdmin:p.user.isSysAdmin},controller:"passwordComplianceSendEmailController",controllerAs:"ctrl",templateUrl:"app/settings/shared/password-requirements/send-email.dlg.html",targetEvent:s}).then((function(s){if(!s||!s.emailText)return;if(p.user.isSysAdmin){var r={from:s.from,toHeader:a.instant("USER"),emailAddresses:d,subject:s.subject,body:s.emailText,html:!0};e.spinner.show(),t.post("~/api/v1/settings/sysadmin/send-password-violation-email",JSON.stringify(r)).then((function(){l.report()}),c.report).finally(e.spinner.hide)}else e.spinner.show(),t.post("~/api/v1/mail/message-put",JSON.stringify({actions:{},folder:"drafts",to:"",ownerEmailAddress:p.user.emailAddress,bcc:d.join(";"),subject:s.subject,date:new Date(Date.now()),from:p.user.emailAddress,replyTo:p.user.emailAddress,messageHTML:s.emailText,attachmentGuid:""})).then((function(){l.report()}),c.report).finally(e.spinner.hide)}))}}function E(s){for(var r=f.checkboxes.getCheckedItems(),i=[],o=0;o<r.length;++o){var d=r[o].split("|");i.push(d[0]+"@"+d[1])}var u=n.confirmDeletion().title(a.instant("CONFIRMATION_REQUIRED")).textContent(h.reactPluralize("EXPIRE_PASSWORD_MESSAGE",{count:i.length})).ok(a.instant("EXPIRE_PASSWORD")).noWarn(!0);n.show(u).then((function(){var s={emailAddresses:i};e.spinner.show(),t.post("~/api/v1/settings/expire-passwords",JSON.stringify(s)).then((function(e){e.data.activeDirectoryCount>0?c.warn("EXPIRE_PASSWORD_ACTIVEDIRECTORY"):l.report(),S()}),c.report).finally(e.spinner.hide)}))}function S(){f.checkboxes.reset(),f.tableParams.reload()}f.searchText=null,f.searchParams={skip:0,take:0,search:null,sortField:null,sortDescending:!1},f.tableParams=new d({sorting:{username:"asc"},count:25},{getData:function(r){for(var n in f.searchParams.skip=(r.page()-1)*r.count(),f.searchParams.take=r.count(),f.searchParams.sortField=null,r.sorting())if(r.sorting().hasOwnProperty(n)&&r.sorting()[n]){f.searchParams.sortField=n,f.searchParams.sortDescending="desc"===r.sorting()[n];break}return e.spinner.show(),t.post(`~/api/v1/settings/${g}/password-compliance-users-no-activedirectory`,JSON.stringify(f.searchParams)).then((function(e){f.searchResults=e.data.users,f.searchResultCount=e.data.count,r.total(f.searchResultCount),f.searchText||s.$emit("password-compliance-count",e.data.count);for(var t=0;t<f.searchResults.length;++t)f.searchResults[t].id=f.searchResults[t].username+"|"+f.searchResults[t].domain,f.searchResults[t].authTypeString=y[f.searchResults[t].authType];return f.searchResults}),c.report).finally(e.spinner.hide)},counts:e.commonTableCounts}),f.checkboxes=u.init("id"),f.checkboxes.ignoreItemDelegate=function(e){return e.default},f.checkboxes.table=f.tableParams,f.initialized=!1,f.searchText="",f.searchItems=function(){f.searchParams.search=f.searchText,S()}
399,f.exportCsv=function(s){var t=`~/api/v1/settings/${g}/export-password-compliance-users-no-activedirectory`+(f.searchText?"/"+f.searchText:""),r=JSON.stringify({active:a.instant("ENABLED"),inactive:a.instant("DISABLED")});e.spinner.show(),m.downloadFile(t,"compliancy.csv",r).then((function(){}),c.report).finally(e.spinner.hide)},f.sendEmail=v,f.expirePassword=E,f.contextMenuGridItem=function(e,t){if(!t||"touchstart"!==t.type&&"touchend"!==t.type&&3!==t.which||e.criticallyErrored)return;t.stopPropagation(),t.preventDefault();var r=f.checkboxes.getCheckedItems();(r.length>1&&!_.some(r,(function(s){return s===e.id}))||r.length<=1)&&(f.checkboxes.reset(),f.checkboxes.checkCheckbox(t,e),r=[e.id]);s.dropdownEvent=$.extend(!0,{},t),s.dropdownOptions=[{key:"sendEmail",click:v,params:s.dropdownEvent,translateKey:"SEND_EMAIL"},{key:"expirePassword",click:E,params:s.dropdownEvent,translateKey:"EXPIRE_PASSWORD"}];var n=$("#context-menu-area");if(n){var a=i('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(s);n.append(a)}}}e.$inject=["$rootScope","$scope","$http","$filter","$mdDialog","$translate","$compile","$state","errorHandling","successHandling","NgTableParams","gridCheckboxes","coreDataFileStorage","userDataService","i18n"],angular.module("smartermail").controller("sharedAdminSecurityPassCompController",e)}();
400!function(){"use strict";function e(e,s,t,r,n,a,i,o,c,l,d,m,u,h){var p=this;p.isSystemRequirements=c.user.isSysAdmin&&!o.params.id;const f=p.isSystemRequirements?"sysadmin":"domain";function g(s){const r=c.user.isSysAdmin?o.params.id:c.user.domain,i=p.checkboxes.getCheckedItems();if(i){var m=[];for(let e=0;e<i.length;++e){let s=i[e].split("|");s[1]&&s[1].length>0?m.push(s[0]+"@"+s[1]):m.push(s[0]+"@"+r)}n.show({locals:{from:"System Administrator",subject:a.instant("PASSWORD_RESET_PASSWORD_WARNING_MESSAGE"),emailText:"",isSysAdmin:c.user.isSysAdmin},controller:"passwordComplianceSendEmailController",controllerAs:"ctrl",templateUrl:"app/settings/shared/password-requirements/send-email.dlg.html",targetEvent:s}).then((function(s){if(!s||!s.emailText)return;if(c.user.isSysAdmin){var r={from:s.from,toHeader:a.instant("USER"),emailAddresses:m,subject:s.subject,body:s.emailText,html:!0};e.spinner.show(),t.post("~/api/v1/settings/sysadmin/send-password-violation-email",JSON.stringify(r)).then((function(){d.report()}),l.report).finally(e.spinner.hide)}else e.spinner.show(),t.post("~/api/v1/mail/message-put",JSON.stringify({actions:{},folder:"drafts",to:"",ownerEmailAddress:c.user.emailAddress,bcc:m.join(";"),subject:s.subject,date:new Date(Date.now()),from:c.user.emailAddress,replyTo:c.user.emailAddress,messageHTML:s.emailText,attachmentGuid:""})).then((function(){d.report()}),l.report).finally(e.spinner.hide)}))}}p.searchText=null,p.searchParams={skip:0,take:0,search:null,sortField:null,sortDescending:!1},p.tableParams=new m({sorting:{username:"desc"},count:25},{getData:function(r){for(var n in p.searchParams.skip=(r.page()-1)*r.count(),p.searchParams.take=r.count(),p.searchParams.sortField=null,r.sorting())if(r.sorting().hasOwnProperty(n)&&r.sorting()[n]){p.searchParams.sortField=n,p.searchParams.sortDescending="desc"===r.sorting()[n];break}return e.spinner.show(),t.post(`~/api/v1/settings/${f}/expired-password-list`,JSON.stringify(p.searchParams)).then((function(e){p.searchResults=e.data.agedPasswordList,p.searchResultCount=e.data.count,r.total(p.searchResultCount),p.searchText||s.$emit("password-expired-count",{expiredCount:e.data.expiredCount,count:e.data.count});for(let e=0;e<p.searchResults.length;++e)p.searchResults[e].id=p.searchResults[e].username+"|"+p.searchResults[e].domain;return p.searchResults}),l.report).finally(e.spinner.hide)},counts:e.commonTableCounts}),p.checkboxes=u.init("id"),p.checkboxes.ignoreItemDelegate=function(e){return e.default},p.checkboxes.table=p.tableParams,p.initialized=!1,p.searchText="",p.searchItems=function(){p.searchParams.search=p.searchText,p.checkboxes.reset(),p.tableParams.reload()},p.exportCsv=function(s){var t=`~/api/v1/settings/${f}/export-expired-password-list`;t+=p.searchText?"/"+p.searchText:"";var r=JSON.stringify({});e.spinner.show(),h.downloadFile(t,"expired.csv",r).then((function(){}),l.report).finally(e.spinner.hide)},p.sendEmail=g,p.contextMenuGridItem=function(e,t){if(!t||"touchstart"!==t.type&&"touchend"!==t.type&&3!==t.which||e.criticallyErrored)return;t.stopPropagation(),t.preventDefault();var r=p.checkboxes.getCheckedItems();(r.length>1&&!_.some(r,(function(s){return s===e.id}))||r.length<=1)&&(p.checkboxes.reset(),p.checkboxes.checkCheckbox(t,e),r=[e.id]);s.dropdownEvent=$.extend(!0,{},t),s.dropdownOptions=[{key:"sendEmail",click:g,params:s.dropdownEvent,translateKey:"SEND_EMAIL"}
400];var n=$("#context-menu-area");if(n){var a=i('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(s);n.append(a)}},moment.relativeTimeThreshold("d",180),moment.relativeTimeThreshold("M",24),moment.relativeTimeRounding(Math.floor)}e.$inject=["$rootScope","$scope","$http","$filter","$mdDialog","$translate","$compile","$state","userDataService","errorHandling","successHandling","NgTableParams","gridCheckboxes","coreDataFileStorage"],angular.module("smartermail").controller("sharedAdminSecurityPassExpiredController",e)}();
401!function(){"use strict";function e(e,t,n,i,s,o,r,a,c){var d=this;d.isSystemRequirements=c.user.isSysAdmin&&!s.params.id;const l=d.isSystemRequirements?"sysadmin":"domain";function S(){var t=JSON.stringify({skip:0,take:2147483647,search:null,sortField:null,sortDescending:!1});return o.all([n.post(`~/api/v1/settings/${l}/password-compliance-users-no-activedirectory`,t),n.post(`~/api/v1/settings/${l}/expired-password-list`,t),n.post(`~/api/v1/settings/${l}/aged-password-list-no-activedirectory`,t)]).then((function(e){d.gridSections[1].length=e[0].data.count,d.gridSections[2].length=e[1].data.expiredCount,d.gridSections[3].length=e[2].data.count}),r.report).finally(e.spinner.hide)}function u(e,t,n,i){d.gridSections[n].length=t}d.gridSections=[{translate:"OPTIONS",length:-1},{translate:"PASSWORD_VIOLATIONS",length:"0"},{translate:"EXPIRED_PASSWORDS",length:"0"},{translate:"PASSWORDS_AGED",length:"0"}],d.selectedSection="OPTIONS",d.changeSection=function(e){a.doConfirmDialog?a.doConfirmDialog().then((function(){a.doConfirmDialog=void 0,d.selectedSection=e}),(function(){})):d.selectedSection=e,"PASSWORD_VIOLATIONS"!==d.selectedSection&&S()},t.$on("password-compliance-count",((e,t)=>u(e,t,1))),t.$on("password-update-count",S),t.$on("password-expired-count",((e,t)=>u(e,t.expiredCount,2,t.count))),S()}e.$inject=["$rootScope","$scope","$http","$filter","$state","$q","errorHandling","unsavedChangesTrackingService","userDataService"],angular.module("smartermail").controller("sharedAdminSecurityPassReqsController",e)}();
402!function(){"use strict";function e(e,i,o,n,t,l,m){e.isSysAdmin=m,e.emailInfo={from:n,subject:t,emailText:l},e.editorScope={},e.save=function(){e.emailInfo.emailText=e.editorScope.getHtml(),o((function(){e.emailForm.$valid&&i.hide(e.emailInfo)}))},e.cancel=function(){i.cancel()}}e.$inject=["$scope","$mdDialog","$timeout","from","subject","emailText","isSysAdmin"],angular.module("smartermail").controller("passwordComplianceSendEmailController",e)}();
403!function(){"use strict";function e(e,t,n,a,o,i,r,s,c,d,l,p,u,f,m,h,g,v,I){var y=this,T=I.create(a);function b(t){function n(n){y.data.emailAddress=d.user.emailAddress,y.data.contactInfo=angular.copy(n.data.userMailSettings.userContactInfo),moment(y.data.contactInfo.birthDate)<moment(new Date("1/1/101"))&&(y.data.contactInfo.birthDate=null),y.data.temp.birthDateAsDate=y.data.contactInfo.birthDate?P(y.data.contactInfo.birthDate):null,y.data.temp.weddingAnniversary=y.data.contactInfo.weddingAnniversary?P(y.data.contactInfo.weddingAnniversary):null,y.data.contactInfo.phoneNumberList=y.data.contactInfo.phoneNumberList||[],angular.forEach(y.data.contactInfo.phoneNumberList,(function(e,t){var n=$.grep(y.phoneNumberTypes,(function(t){return t.device===e.device&&t.phoneType===e.phoneType}));n.length>0&&(e.type=n[0])})),S(),y.data.contactInfo.emailAddressList=y.data.contactInfo.emailAddressList||[],L(),t&&setTimeout((function(){e.$broadcast("DateModelReset")}),350)}function i(){y.data.profileUrl=d.user.pictureUrl,y.randomUrlString=Math.random().toString(),a.$applyAsync()}d.init().then((function(){var e=[v.init().then((function(){y.canSave=d.user.isDomainAdmin||v.userPermissions.allowProfileEdits,y.isDisabled=!y.canSave})),o.get("~/api/v1/settings/user-mail").then(n,(function(){})),d.user.refreshPictureUrl().then(i,(function(){}))];c.all(e).then((function(){}),(function(){})).finally((function(){y.loading=!1,T.wait((function(){y.contentReady=!0}))}))}))}function P(e){var t=new Date(e).getTimezoneOffset()/-60*-1;return moment(e).add(t,"hours").toDate()}function A(e){var t=new Date(e).getTimezoneOffset()/-60;return moment(e).add(t,"hours").toDate()}function E(e){new Blob([e]).size>5242880?(g.pop("error",t.instant("MAX_SIZE_EXCEEDED",{size:r("bytes")(5242880)})),a.$applyAsync()):s.show({locals:{imageData:e,dimensions:{height:128,width:128}},controller:"uploadCropperController",controllerAs:"upCtrl",templateUrl:"app/shared/upload-cropper.dlg.html"}).then(N,(function(){}))}function N(e){if(e.delete)D();else if(e.blob){y.toUploadBlob=e.blob;var t=new window.FileReader;
403t.readAsDataURL(e.blob),t.onloadend=function(){y.data.profileUrl=t.result,y.imagePendingSave=!0,y.pendingRemoveImage=!1,y.pageForm.$setDirty(),a.$applyAsync()}}}function D(e){y.isDisabled||(y.data.profileUrl=null,y.pageForm.$setDirty(),y.pendingRemoveImage=!0,y.imagePendingSave=!1,a.$applyAsync())}function L(){if(0===y.data.contactInfo.emailAddressList.length)y.data.contactInfo.emailAddressList.push("");else if(y.data.contactInfo.emailAddressList.length>0){var e=$.grep(y.data.contactInfo.emailAddressList,(function(e){return""===e}));e.length>1?(y.data.contactInfo.emailAddressList=$.grep(y.data.contactInfo.emailAddressList,(function(e){return""!==e})),y.data.contactInfo.emailAddressList.push("")):0===e.length&&y.data.contactInfo.emailAddressList.push("")}}function S(){if(0===y.data.contactInfo.phoneNumberList.length)y.data.contactInfo.phoneNumberList.push({type:y.phoneNumberTypes[0],id:"",number:""});else if(y.data.contactInfo.phoneNumberList.length>0){var e=$.grep(y.data.contactInfo.phoneNumberList,(function(e){return""===e.number}));e.length>1?(y.data.contactInfo.phoneNumberList=$.grep(y.data.contactInfo.phoneNumberList,(function(e){return""!==e.number})),y.data.contactInfo.phoneNumberList.push({type:y.phoneNumberTypes[0],id:"",number:""})):0===e.length&&y.data.contactInfo.phoneNumberList.push({type:y.phoneNumberTypes[0],id:"",number:""})}}y.data={temp:{},contactInfo:{},profileUrl:"/interface/img/ST_User_Cir.svg",profileName:"",emailAddressList:[],phoneNumberList:[]},y.randomUrlString=Math.random().toString(),y.phoneNumberTypes=[{phoneType:0,device:0,name:t.instant("HOME")},{phoneType:1,device:0,name:t.instant("PHONETYPE_WORK")},{phoneType:2,device:0,name:t.instant("PHONETYPE_MOBILE")},{phoneType:2,device:1,name:t.instant("PHONETYPE_IPHONE")},{phoneType:3,device:0,name:t.instant("PAGER")},{phoneType:4,device:0,name:t.instant("PHONETYPE_PERSONAL_FAX")},{phoneType:5,device:0,name:t.instant("PHONETYPE_COMPANY_FAX")},{phoneType:16,device:0,name:t.instant("PHONETYPE_OTHER_FAX")},{phoneType:6,device:0,name:t.instant("PHONETYPE_BUSINESS_IP")},{phoneType:13,device:0,name:t.instant("PHONETYPE_COMPANY_MAIN_PHONE")},{phoneType:11,device:0,name:t.instant("PHONETYPE_ASSISTANT_PHONE")},{phoneType:10,device:0,name:t.instant("PHONETYPE_CAR_PHONE")},{phoneType:12,device:0,name:t.instant("PHONETYPE_TTY_TDD_PHONE")},{phoneType:14,device:0,name:t.instant("PHONETYPE_TELEX")},{phoneType:8,device:0,name:t.instant("PHONETYPE_CALLBACK")}],y.imagePendingSave=!1,y.pendingRemoveImage=!1,y.isDisabled=!1,y.canSave=!0,y.loading=!0,y.contentReady=!1,y.reloadState=function(e){b(!0),e.$setPristine()},y.openAdditionalInfo=function(e,t){if(y.isDisabled)return;s.show({locals:{name:"ADDITIONAL_INFO",text:y.data.contactInfo.additionalInfo,afContext:"domain",afSourceType:"ap",afSourceId1:y.data.contactInfo.id,readOnly:y.isDisabled},controller:"contactNoteEditController",controllerAs:"ctrl",templateUrl:"app/contacts/modals/contact-note-edit.dlg.html",targetEvent:e,clickOutsideToClose:!1}).then((function(e){y.data.contactInfo.additionalInfo!==e&&(y.data.contactInfo.isHTML=!0,y.data.contactInfo.additionalInfo=e,t.$setDirty())}),(function(e){}))},y.emailListChanged=L,y.emailListRemove=function(e,t){y.data.contactInfo.emailAddressList.splice(e,1),y.emailListChanged(),t.$setDirty()},y.phoneListChanged=S,y.phoneListRemove=function(e,t){y.data.contactInfo.phoneNumberList.splice(e,1),y.phoneListChanged(),t.$setDirty()},y.save=function(t,n){if(n.$invalid)return void m.report("CORRECT_INVALID_FIELDS");var a={userContactInfo:angular.copy(y.data.contactInfo)};a.userContactInfo.birthDate=y.data.temp.birthDateAsDate?A(moment(y.data.temp.birthDateAsDate)):new Date("1/1/100"),a.userContactInfo.weddingAnniversary=y.data.temp.weddingAnniversary?A(moment(y.data.temp.weddingAnniversary)):new Date("1/1/100"),angular.forEach(a.userContactInfo.phoneNumberList,(function(e,t){e.device=e.type.device,e.phonetype=e.type.phoneType}));var i=[];function r(){n.$setPristine(),d.user.displayName=y.data.contactInfo.displayAs||d.user.userName,c.all([d.user.refreshPictureUrl(),f.reloadContacts()]).then((function(){u.refreshToken().then((function(){e.$broadcast("user-settings:changed")}))}))}i.push(o.post("~/api/v1/settings/user-mail",JSON.stringify({userMailSettings:a}))),c.all(i).then((function(){var e;i.length=0,y.imagePendingSave&&y.toUploadBlob?i.push((e=c.defer(),p.getTokenWithProm
403ise().then((function(t){var n=t,a=new FormData;a.append("file",y.toUploadBlob),$.ajax({url:d.baseUrl+"/api/v1/settings/user-photo",type:"POST",data:a,contentType:!1,processData:!1,beforeSend:function(e){n&&e.setRequestHeader("Authorization","Bearer "+n)}}).done((function(t){y.imagePendingSave=!1,y.toUploadBlob=void 0,e.resolve()})).fail((function(t){e.reject(t)}))}),(function(t){e.reject(t)})),e.promise)):y.pendingRemoveImage&&i.push(o.post("~/api/v1/settings/user-photo/true")),c.all(i).then(r,m.report)}),m.report)},y.uploaderInit=function(e){y.uploaderFunctions=e},y.imagePreview=function(e){E(e)},y.removeProfilePicture=D,y.openUploadModal=E,b()}e.$inject=["$rootScope","$translate","$state","$scope","$http","$timeout","$filter","$mdDialog","$q","coreData","claimsService","authStorage","AuthenticationService","coreDataContacts","errorHandling","localStorageService","toaster","coreDataSettings","masonryReveal"],angular.module("smartermail").controller("userSettingsGeneralProfileController",e)}();
404!function(){"use strict";function e(e,t,n,a,i,o,r,s,l,d,c){var u=this;async function p(t){u.loading=!0;try{var n=(await a.get("~/api/v1/settings/auto-responder/true")).data.autoResponderSettings;u.enableAutoResponder=n.enabled,u.autoRespondOnDirectMailOnly=n.autoRespondOnDirectMailOnly,u.subject=n.subject,n.body.indexOf("attlinkedfileid:")>-1&&(n.body=n.body.split('"attlinkedfileid:').join('"'+location.origin+stSiteRoot+"attachedfile?data=")),n.externalReply.indexOf("attlinkedfileid:")>-1&&(n.externalReply=n.externalReply.split('"attlinkedfileid:').join('"'+location.origin+stSiteRoot+"attachedfile?data=")),u.body=m(n.body),u.externalResponse=m(n.externalReply),u.autoResponderWarning=l.userPermissions.spamRelayOption,u.useActiveDateRange=n.useActiveDateRange,u.startTime=u.useActiveDateRange?c.convertLocalToUserTimeMoment(n.startDateUtc).toDate():new Date(moment()),u.endTime=u.useActiveDateRange?c.convertLocalToUserTimeMoment(n.endDateUtc).toDate():new Date(moment().add(1,"days")),u.externalAudience=n.externalAudience,t&&i((()=>e.$broadcast("DateModelReset")),350)}catch(e){d.report(e)}finally{i((function(){u.pageForm.$setPristine(),u.loading=!1}))}}function m(e){var t=$(e);return 1===t.length&&"DIV"===t[0].nodeName.toUpperCase()&&t.children("div,h1,h2,h3,h4,pre,blockquote,ul,ol,p").length>0?t.html():e}function g(){u.startTime>u.endTime&&(u.endTime=moment(u.startTime).add(1,"d").toDate())}function R(e,t){t==e||u.loading||u.pageForm.$setDirty()}u.autoResponderWarning=-1,u.subject=null,u.body="",u.externalResponse="",u.enableAutoResponder=!1,u.autoRespondOnDirectMailOnly=!0,u.useActiveDateRange=!1,u.startTime=null,u.endTime=null,u.loading=!0,n.internalEditorScope={},n.externalEditorScope={},u.reloadState=async function(e){await p(!0),i((function(){u.pageForm.$setPristine()}))},u.save=function(t,o){const r=n.internalEditorScope.getHtml(),s=n.externalEditorScope.getHtml();i((function(){if(o.$invalid)return;let t=u.startTime,n=u.endTime;u.useActiveDateRange&&(t=c.convertUserTimeToLocal(u.startTime).toISOString(!1),n=c.convertUserTimeToLocal(u.endTime).toISOString(!1));var i={subject:u.subject,body:r,externalReply:s,enabled:u.enableAutoResponder,autoRespondOnDirectMailOnly:u.autoRespondOnDirectMailOnly,useActiveDateRange:u.useActiveDateRange,startDateUtc:t,endDateUtc:n,isHTML:!0,externalAudience:u.externalAudience};a.post("~/api/v1/settings/auto-responder",JSON.stringify({autoResponderSettings:i})).then((function(t){o.$setPristine(),e.$broadcast("user-settings:changed")}),d.report)}))},async function(){n.$watch((()=>u.body),R),n.$watch((()=>u.externalResponse),R),n.$watch((()=>u.startTime),g),n.$watch((()=>u.endTime),g),await p()}()}e.$inject=["$rootScope","$state","$scope","$http","$timeout","$filter","$mdDialog","coreData","coreDataSettings","errorHandling","userTimeService"],angular.module("smartermail").controller("userSettingsGeneralAutoResponderController",e)}();
405!function(){"use strict";function e(e,t,a,n,s,o,r,i,l,d,c,u,p,f,m,g,h,w,C,v,E,S,A,y,R,T){var P=this,D=T.create(a);P.enableSpamfoo=window.stEnableSpamfoo,P.allowSpamCorrections=!1,P.sendEmailTextDisabledDisplay=!1,P.data={},P.availiableTimeZones=[],P.domain=h.user.domain,P.username=h.user.username,P.composeFonts=[{display:"ARIAL",setting:"arial",fontclass:"arial"},{display:"COMIC_SANS_MS",setting:"comic sans ms",fontclass:"comic-sans-ms"},{display:"COURIER_NEW",setting:"courier new",fontclass:"courier-new"},{display:"GEORGIA",setting:"georgia",fontclass:"georgia"},{display:"LUCIDA",setting:"lucida",fontclass:"lucida"},{display:"TAHOMA",setting:"tahoma",fontclass:"tahoma"},{display:"TIMES_NEW_ROMAN",setting:"times new roman",fontclass:"times-new-roman"},{display:"TREBUCHET_MS",setting:"trebuchet ms",fontclass:"trebuchet-ms"},{display:"VERDANA",setting:"verdana",fontclass:"verdana"}],P.composeFontSizes=[{display:8,setting:"8px"},{display:9,setting:"9px"},{display:10,setting:"10px"},{display:11,setting:"11px"},{display:12,setting:"12px"},{display:14,setting:"14px"},{display:16,setting:"16px"},{display:18,setting:"18px"},{display:20,setting:"20px"},{display:22,setting:"22px"},{display:24,setting:"24px"},{display:26,setting:"26px"},{display:28,setting:"28px"},{display:36,setting:"36px"},{display:48,setting:"48px"},{display:72,setting:"72px"}],P.userStatusOptions=[{value:{isEnabled:!0,canReceiveMail:!0},translation:"ENABLED"},{value:{isEnabled:!1,canReceiveMail:!0},translation:"DOMAIN_USERS_DISABLED_ALLOW_MAIL"},{value:{isEnabled:!1,canReceiveMail:!1},translation:"DOMAIN_USERS_DISABLED_DISALLOW_MAIL"}],P.previewPaneOptions=[{display:"RIGHT",setting:"right"},{display:"NONE",setting:"none"}],P.showChatProviders=!0,P.appPasswordTypes=["UNUSED","APP_PASSWORD_PSI","APP_PASSWORD_EAS","APP_PASSWORD_MAPI_EWS","APP_PASSWORD_WEBDAV","INTERNAL","INTERNAL","SERVICES","WEBMAIL","APP_PASSWORD_MAPI","APP_PASSWORD_LDAP","SHAREPOINT","APP_PASSWORD_XMPP"],P.timeZoneSearch="",P.textEncodeSearch="",P.passwordRetrievalEnabled=!1,P.canChangeGreylist=!1,P.canChangeGal=!1,P.canChangePassword=!1,P.availableLocales=[],P.availableIndexers=[],P.forwardListView=[{value:""}],P.canDisableTwoFactor=!1,P.appPasswordsShow={},P.mailForwardingEnabled=!0,P.mailForwardingSource="",P.domainClassificationEnabled=!1;try{w.checkPermissions(),P.browserNotificationPermission=w.permission}catch(e){P.browserNotificationPermission="denied"}for(var F=0;F<angularLangNames.length;F++){var b={n:angularLangNames[F].n,v:angularLangNames[F].v,engName:C.getEnglishName(angularLangNames[F].v)};P.availableLocales.push(b)}P.autoCleanFolders=null,P.autoCleanInheritedRules=[],P.autoCleanInheritedRuleSource=null,P.calendarFolders=[],P.contactsFolders=[],P.notesFolders=[],P.tasksFolders=[],P.calendarDefault=null,P.contactsDefault=null,P.notesDefault=null,P.tasksDefault=null,P.hasDelegation=!1,P.webdavLink="TESTING",P.loading=!0,P.contentReady=!1,P.reloadState=function(e){O(),e.$setPristine()},P.setLocale=_,P.autoCleanNewRule=function(t,a){for(var n="Deleted Items",s=0;s<P.autoCleanFolders.length;s++)if("deleted items"===P.autoCleanFolders[s].name.toLowerCase()){
405n=P.autoCleanFolders[s].name;break}i.show({locals:{folderName:n,folders:P.autoCleanFolders,processGoal:75,processThreshold:100,thresholdDays:30,type:0,enabled:!0,newItem:!0},controller:"userEditAutoCleanController",controllerAs:"ctrl",templateUrl:"app/settings/shared/edit-auto-clean.dlg.html",targetEvent:t}).then((function(t){t.rule.processGoalBytes=1024*t.rule.processGoalMb*1024,t.rule.processThresholdBytes=1024*t.rule.processThresholdMb*1024,t.rule.translatedPath=G(t.rule.folderName),P.autoCleanSettings.userRules.push(t.rule),a.$setDirty(),e.$broadcast("masonry:contentsChanged")}),(function(){}))},P.autoCleanEditRule=function(t,a,n){i.show({locals:{folderName:a.folderName,folders:P.autoCleanFolders,processGoal:a.processGoalMb,processThreshold:a.processThresholdMb,thresholdDays:a.thresholdDays,type:a.type,enabled:a.enabled,newItem:!1},controller:"userEditAutoCleanController",controllerAs:"ctrl",templateUrl:"app/settings/shared/edit-auto-clean.dlg.html",targetEvent:t}).then((function(t){t.deleteItem?W(a,n):(t.rule.id=a.id,t.rule.processGoalBytes=1024*t.rule.processGoalMb*1024,t.rule.processThresholdBytes=1024*t.rule.processThresholdMb*1024,t.rule.translatedPath=G(t.rule.folderName),W(a,n),P.autoCleanSettings.userRules.push(t.rule),n.$setDirty(),e.$broadcast("masonry:contentsChanged"))}),(function(){}))},P.autoCleanDeleteItem=W,P.autoCleanGetCleanBottomString=function(e){switch(e.type){case 0:var t=o("bytes")(e.processThresholdBytes,1),a=o("bytes")(e.processGoalBytes,1);return o("translate")("AUTO_CLEAN_SUMMARY_SIZE",{over:t,reduce:a});case 1:return o("translate")("AUTO_CLEAN_SUMMARY_TIME_IN_FOLDER",{days:e.thresholdDays});case 2:return o("translate")("AUTO_CLEAN_SUMMARY_MESSAGE_AGE",{days:e.thresholdDays})}},P.onDefaultFolderChange=function(){P.defaultFolderEditsPending=P.tasksDefault&&!P.tasksDefault.isPrimary||P.notesDefault&&!P.notesDefault.isPrimary||P.tasksDefault&&!P.contactsDefault.isPrimary||P.calendarDefault&&!P.calendarDefault.isPrimary},P.openChangePassword=function(e){i.show({controller:"userEditPasswordController",controllerAs:"ctrl",templateUrl:"app/settings/shared/change-user-password.dlg.html",targetEvent:e})},P.save=function(e,s,l){if(s.$invalid)return void m.report("CORRECT_INVALID_FIELDS");null==l&&(l=P.selectedLocale!==P.originalLocale&&!A.impersonating()||f.userTimeZone!==P.data.timeZone||P.defaultFolderEditsPending);if(P.defaultFolderEditsPending){var d=i.confirmDeletion().textContent(o("translate")("DEFAULT_FOLDERS_EDIT_WARNING")).ok(o("translate")("OK")).targetEvent(e);i.show(d).then(u,(function(){}))}else u();function u(){P.mailForwardingEnabled?n.post("~/api/v1/settings/forwardable-address",JSON.stringify({emailAddresses:P.forwardList.map((e=>e.value))})).then((function(e){if(!e.data.success)return y.pop("error",r.instant("FORWARDS_TO_X_NOT_ALLOWED",{forwardingAddress:e.data.message})),void a.$applyAsync();p()}),(function(){})):p()}function p(){var e={userMailSettings:{replyToAddress:P.data.replyToAddress,timeZoneIndex:P.data.timeZone.index,backupEmailAddress:P.data.backupEmailAddress,disableGreylisting:!P.data.enableGreylisting,userContactInfo:{hideFromLdap:P.data.userContactInfo.hideFromLdap},plusAddressingFolder:"disabled"===P.plusAddressing?"":P.plusAddressing,plusAddressingEnabled:"disabled"!==P.plusAddressing,deleteOption:P.data.deleteOption,junkOption:P.data.junkOption,removeFromJunkOption:P.data.removeFromJunkOption,delaySendOption:P.data.delaySendOption,markPOP3DownloadsAsRead:P.data.markPOP3DownloadsAsRead,draftAutoSave:P.data.draftAutoSave,hideMailAvatars:P.data.hideMailAvatars,composeFont:P.data.composeFontObject.setting,composeFontSize:P.data.composeFontSizeObject.setting,requestReadReceipts:P.data.requestReadReceipts,requestDeliveryReceipts:P.data.requestDeliveryReceipts,replyFromToField:P.data.replyFromToField,defaultComposeDomain:P.data.defaultComposeDomain,notifyOnCalendarReminders:P.data.notifyOnCalendarReminders,notifyOnChatMessages:P.data.notifyOnChatMessages,notifyOnNewEmails:P.data.notifyOnNewEmails,localeID:P.selectedLocale,allowRemoteContent:P.data.allowRemoteContent,remoteContentExceptions:P.data.remoteContentExceptions,remoteTrackersExceptions:P.data.remoteTrackersExceptions,previewUsePreview:"none"!==P.previewPaneOption,preferredIndexer:P.data.preferredIndexer,chatProvider:P.chatProvider,showClassification:P.data.showClassification}};P.data.sendEmailText!==P.originalSendEmailText&&(e.userMailSettings.sendEmailText=P.data.sendEmailText),c.user.settings.userMailSettings.backupEmail=P.data.backupEmailAddress,n.post("~/api/v1/settings/user-mail",JSON.stringify(e)).then(g,h).then(w,h).then(C,m.report)}function g(){if(P.selectedLocale===P.originalLocale||A.impersonating()||(sessionStorage.removeItem("locale.oneTime"),_(P.selectedLocale)),P.originalLocale=P.selectedLocale,P.originalSendEmailText=P.data.sendEmailText,!P.autoCleanSettings.allowUserOverride)return t.when();var e={userOverrideActive:P.autoCleanSettings.userOverrideActive,userRules:P.autoCleanSettings.userRules};return n.post("~/api/v1/settings/auto-clean",JSON.stringify(e))}function h(e){l=!1,m.report(e)}function w(){var e=[];return P.calendarDefault&&!P.calendarDefault.isPrimary&&e.push(n.post("~/api/v1/settings/set-folder-as-primary",{input:P.calendarDefault.folderGuid})),P.notesDefault&&!P.notesDefault.isPrimary&&e.push(n.post("~/api/v1/settings/set-folder-as-primary",{input:P.notesDefault.folderGuid})),P.tasksDefault&&!P.tasksDefault.isPrimary&&e.push(n.post("~/api/v1/settings/set-folder-as-primary",{input:P.tasksDefault.folderGuid})),P.contactsDefault&&!P.contactsDefault.isPrimary&&e.push(n.post("~/api/v1/settings/set-folder-as-primary",{input:P.contactsDefault.folderGuid}
405)),t.all(e)}function C(){f.userTimeZone=P.data.timeZone;var e=$.grep(P.forwardList,(function(e){return e.value.length>0})),t={mailboxForwardList:{forwardList:$.map(e,(function(e){return e.value})),deleteOnForward:P.data.deleteForwardMessages,keepRecipients:P.data.keepRecipients}};n.post("~/api/v1/settings/mailbox-forward-list",JSON.stringify(t)).then((function(){x(l,s)}),m.report)}},P.openHelpLinkForBrowserNotifications=function(){const e="https://help.smartertools.com/smartermail/current/?page="+encodeURIComponent("browser-notifications-disabled")+"&v="+A.stVersion();console.log("NAVIGATING TO HELP PAGE: "+e),window.open(e,"help")},P.openRemoteContentExceptions=function(e,t){i.show({locals:{header:r.instant("REMOTE_CONTENT_EXCEPTIONS"),exceptions:angular.copy(P.data.remoteContentExceptions)},controller:"remoteContentExceptionsDialogController",controllerAs:"ctrl",templateUrl:"app/settings/user-settings/account-settings/content-exceptions.dlg.html",targetEvent:e}).then((function(e){P.data.remoteContentExceptions=e.exceptions,t.$setDirty()}),(function(){}))},P.openRemoteTrackersExceptions=function(e,t){i.show({locals:{header:r.instant("REMOTE_TRACKERS_EXCEPTIONS"),exceptions:angular.copy(P.data.remoteTrackersExceptions)},controller:"remoteContentExceptionsDialogController",controllerAs:"ctrl",templateUrl:"app/settings/user-settings/account-settings/content-exceptions.dlg.html",targetEvent:e}).then((function(e){P.data.remoteTrackersExceptions=e.exceptions,t.$setDirty()}),(function(){}))},P.setupTwoFactor=function(e){!function(e,t){const a=function(){e instanceof Function?e(t):m.report("INVALID_ACTION")};if(t.$dirty){const e=i.confirm({title:r.instant("UNSAVED_CHANGES"),textContent:r.instant("TWO_FACTOR_CONFIRM_UNSAVED"),ok:r.instant("UNDO_CHANGES"),cancel:r.instant("CANCEL")});i.show(e).then((function(e){P.skipNavigateConfirm=!0,P.reloadState(t),a()}),(function(){}))}else a()}(P.impersonating?M:k,e)},P.disableTwoFactor=M,P.resetAppPassword=function(e){var t=i.confirm({title:r.instant("CONFIRMATION_REQUIRED"),textContent:r.instant("APP_PASSWORD_RESET_CONFIRM"),ok:r.instant("RESET"),cancel:r.instant("CANCEL")});i.show(t).then((function(t){n.post("~/api/v1/settings/reset-app-password/"+e.guid).then((function(e){n.post("~/api/v1/settings/app-passwords").then((function(e){P.appPasswords=e.data.devices||[]}),m.report)}),m.report)}))},P.showAppPassword=function(e){P.appPasswordsShow[e]=!0},P.copyToClipboard=function(e){var t=document.createElement("textarea");t.value=e||"",document.body.appendChild(t),t.focus(),t.select(),document.execCommand("copy"),document.body.removeChild(t),g.report("COPIED_TO_CLIPBOARD")},P.clearTabsClassificationData=function(){var e=i.confirmDeletion({title:r.instant("CONFIRMATION_REQUIRED"),textContent:r.instant("SPAMFOO_RESET_CLASSIFICATION_DATA"),ok:r.instant("RESET"),cancel:r.instant("CANCEL")});i.show(e).then((function(){R.postClearTabsData().then((function(){g.report()}),m.report)}))},P.clearSpamClassificationData=function(){var e=i.confirmDeletion({title:r.instant("CONFIRMATION_REQUIRED"),textContent:r.instant("SPAMFOO_RESET_SPAM_DATA"),ok:r.instant("RESET"),cancel:r.instant("CANCEL")});i.show(e).then((function(){R.postClearSpamData().then((function(){g.report()}),m.report)}))},P.clearSearchTerm=function(){P.timeZoneSearch="",P.textEncodeSearch=""},P.onEmailChanged=function(e,t,a){s((function(){var n=a["email"+t].$viewValue;P.forwardList[t]={value:n},n&&n.length>0&&e&&P.forwardList.push({value:""}),angular.copy(P.forwardList,P.forwardListView)}))},P.onEmailBlur=function(e,t,a){var n=a["email"+t].$viewValue;P.forwardList[t]={value:n},n&&0!==n.length||e||P.forwardList.splice(t,1);angular.copy(P.forwardList,P.forwardListView)},P.emailDelete=function(e,t){t.$setDirty(),P.forwardList.splice(e,1),angular.copy(P.forwardList,P.forwardListView)},O();const L=[{value:1,translation:"RECOVERY_EMAIL"},{value:2,translation:"AUTHENTICATION_APP"}];function O(){P.impersonating=A.impersonating(),P.defaultFolderEditsPending=!1,e.spinner.show(),N(),S.watchForChanges(a,N),s((function(){$("#timeZoneSearch").on("keydown",(function(e){e.stopPropagation()})),$("#textEncodeSearch").on("keydown",(function(e){e.stopPropagation()}))}));var o=[n.get("~/api/v1/settings/user-mail"),n.get("~/api/v1/settings/mailbox-forward-list"),I(),c.init(),n.get("~/api/v1/settings/from-address-options"),n.get("~/api/v1/settings/available-indexers"),h.init(),n.get("~/api/v1/folders/list-owned-folders/2"),n.get("~/api/v1/folders/list-owned-folders/3"),n.get("~/api/v1/folders/list-owned-folders/4"),n.get("~/api/v1/folders/list-owned-folders/5"),n.get("~/api/v1/settings/delegation")];A.impersonating()||o.push(n.post("~/api/v1/settings/app-passwords")),o.push(p.getFolderListForDropdown(null,!0).then((function(e){P.autoCleanFolders=e}))),o.push(n.get("~/api/v1/settings/auto-clean").then((function(e){P.autoCleanSettings=e.data}
405))),t.all(o).then((function(t){if(P.userName=c.user.username,P.canChangeGreylist=u.userPermissions.greyListEnabled,P.canChangeGal=u.userPermissions.allowProfileEdits&&u.userPermissions.allowOptOutOfGal&&u.userPermissions.featureGal,P.canChangePassword=!u.userPermissions.passwordLocked&&!u.userProperties.passwordLocked,P.passwordRetrievalEnabled=u.userPermissions.passwordSettingsEnablePasswordRetrieval,P.canUseTwoFactor=u.userPermissions.enableTwoFactor,P.forceTwoFactor=u.userPermissions.forceTwoFactor,P.selectedLocale=C.getValidLocale(null,null,!0),P.originalLocale=P.selectedLocale,P.twoFactorTypes=u.userPermissions.twoFactorTypes.map((e=>L.find((t=>t.value===e)))),function(e){P.data=e.data.userMailSettings,P.originalSendEmailText=P.data.sendEmailText,P.userStatus=P.userStatusOptions.find((e=>e.value.isEnabled===P.data.isEnabled&&e.value.canReceiveMail===P.data.canReceiveMail)),P.chatProvider=P.data.chatProvider,P.data.enableGreylisting=!e.data.userMailSettings.disableGreylisting,P.mailForwardingEnabled=u.userPermissions.enableMailForwarding&&P.data.enableMailForwarding,u.userPermissions.enableMailForwardingDomainLevel?P.mailForwardingEnabled||(P.mailForwardingSource="domain"):P.mailForwardingSource="system";P.domainClassificationEnabled=u.userDomainSettings.enableClassification,P.allowSpamCorrections=!1!==u.userDomainSettings.providerReportSpamHam,P.allowSpamCorrections||(P.data.sendEmailText=!1,P.originalSendEmailText=!1);var t=$.grep(P.availiableTimeZones,(function(e){return e.index==P.data.timeZoneIndex}));P.data.timeZone=t.length>0?t[0]:P.availiableTimeZones[0];var a=$.grep(P.composeFonts,(function(e){return e.setting===P.data.composeFont}));P.data.composeFontObject=a.length>0?a[0]:P.composeFonts[0];var n=$.grep(P.composeFontSizes,(function(e){return e.setting==P.data.composeFontSize}));if(P.data.composeFontSizeObject=n.length>0?n[0]:P.composeFontSizes[0],P.plusAddressing=P.data.plusAddressingEnabled?P.data.plusAddressingFolder:"disabled",P.previewPaneOption=P.data.previewUsePreview?"right":"none",window.stHA)if(P.data.webdavLink)try{const e=new URL(P.data.webdavLink);P.webdavLink=window.location.protocol+"//"+window.location.host+e.pathname}catch(e){P.webdavLink=window.location.protocol+"//"+window.location.host+(P.data.webdavLink.startsWith("/")?P.data.webdavLink:"/"+P.data.webdavLink)}else P.webdavLink=P.data.webdavLink;else P.webdavLink=P.data.webdavLink}(t[0]),function(e){P.forwardList=$.map(e.data.mailboxForwardList.forwardList,(function(e){return{value:e}})),(0==P.forwardList.length||P.forwardList[P.forwardList.length-1].value.length>0)&&P.forwardList.push({value:""});P.data.keepRecipients=e.data.mailboxForwardList.keepRecipients,P.data.deleteForwardMessages=e.data.mailboxForwardList.deleteOnForward,angular.copy(P.forwardList,P.forwardListView)}(t[1]),e.spinner.hide(),P.fromAddressOptions=t[4].data.options,P.availableIndexers=t[5].data.indexers||["LUCENE_BASE"],P.notesFolders=t[7].data.folders,P.notesDefault=P.notesFolders.filter((e=>e.isPrimary))[0],P.contactsFolders=t[8].data.folders,P.contactsDefault=P.contactsFolders.filter((e=>e.isPrimary))[0],P.calendarFolders=t[9].data.folders,P.calendarDefault=P.calendarFolders.filter((e=>e.isPrimary))[0],P.tasksFolders=t[10].data.folders,P.tasksDefault=P.tasksFolders.filter((e=>e.isPrimary))[0],P.hasDelegation=t[11].data.delegateAccounts&&t[11].data.delegateAccounts.length>0,t[12]){P.appPasswords=t[12].data.devices||[];for(let e=0;e<P.appPasswords.length;++e)P.appPasswordsShow[P.appPasswords.deviceId]=!1}P.features=h.user.settings.features,P.features&&(P.hasChat=P.features.enableChat&&1!==P.edition),function(){var e;for(P.autoCleanSettings.userRules=P.autoCleanSettings.userRules||[],P.autoCleanSettings.domainRules=P.autoCleanSettings.domainRules||[],P.autoCleanSettings.systemRules=P.autoCleanSettings.systemRules||[],P.autoCleanFolders=$.grep(P.autoCleanFolders,(function(e){return e.isMappedFolder||e.isMappedSubfolder||!e.ownerEmailAddress||"scheduled8c61c74014d4e679d52c0a6aca4342b"===e.path.toLowerCase()}),!0),e=0;e<P.autoCleanFolders.length;++e)P.autoCleanFolders[e].translatedPath=U(P.autoCleanFolders[e].name);for(e=0;e<P.autoCleanSettings.userRules.length;++e)P.autoCleanSettings.userRules[e].translatedPath=G(P.autoCleanSettings.userRules[e].folderName);for(e=0;e<P.autoCleanSettings.domainRules.length;++e)P.autoCleanSettings.domainRules[e].translatedPath=U(P.autoCleanSettings.domainRules[e].folderName);for(e=0;e<P.autoCleanSettings.systemRules.length;++e)P.autoCleanSettings.systemRules[e].translatedPath=U(P.autoCleanSettings.systemRules[e].folderName);P.autoCleanSettings.allowAutoCleanInbox?P.autoCleanFolders=$.grep(P.autoCleanFolders,(function(e){return"Drafts"===e.name}),!0):P.autoCleanFolders=$.grep(P.autoCleanFolders,(function(e){return"Inbox"===e.name||"Drafts"===e.name}),!0);P.autoCleanSettings.allowDomainOverride&&P.autoCleanSettings.domainOverrideActive?(P.autoCleanInheritedRuleSource="domain",P.autoCleanInheritedRules=P.autoCleanSettings.domainRules):(P.autoCleanInheritedRuleSource="system",P.autoCleanInheritedRules=P.autoCleanSettings.systemRules)}(),e.$broadcast("masonry:contentsChanged")}),(function(){})).finally((function(){P.loading=!1,e.spinner.hide(),D.wait((function(){P.contentReady=!0}))}
405));var r=d((function(){try{w.checkPermissions(),P.browserNotificationPermission!=w.permission&&(P.browserNotificationPermission=w.permission,a.$applyAsync())}catch(e){P.browserNotificationPermission="denied",d.cancel(r)}}),1e3,0,!1);a.$on("$destroy",(function(){d.cancel(r)}))}function N(){P.edition=S.edition,P.features&&(P.hasChat=P.features.enableChat&&1!==P.edition)}function I(){var e=t.defer();return u.settingsData.availiableTimeZones.then((function(t){P.availiableTimeZones=t;for(var a=0;a<P.availiableTimeZones.length;++a)P.availiableTimeZones[a].translated=o("translate")(P.availiableTimeZones[a].displayName);e.resolve()}),(function(t){m.report(t),e.reject()})),e.promise}function _(e){C.setLocale(e),P.selectedLocale=e}function x(t,a){a.$setPristine(),e.$broadcast("user-settings:changed"),v.setSortingFilteringParam("chat","notify",P.data.notifyOnChatMessages),t&&location.reload(!1)}function k(e){i.show({locals:{recoveryMail:P.data.backupEmailAddress,userEmail:c.user.emailAddress,twoFactorSetupTypes:P.twoFactorTypes},controller:"userTwoFactorController",controllerAs:"ctrl",templateUrl:"app/settings/user-settings/account-settings/user-setup-two-factor.dlg.html"}).then((function(t){t.failure?m.report(failure):x(!0,e)}),(function(e){}))}function M(e){var t=i.confirmDeletion({title:r.instant("CONFIRMATION_REQUIRED"),textContent:r.instant(P.impersonating?"TWO_FACTOR_WANT_RESET":"TWO_FACTOR_CONFIRM_DISABLE"),ok:r.instant(P.impersonating?"RESET":"DISABLE"),cancel:r.instant("CANCEL")});i.show(t).then((function(e){n.post("~/api/v1/settings/user-disable-two-factor").then((function(){P.data.twoFactorSettings.type=0,P.data.twoFactorSettings.isSetup=!1}),m.report)}))}function U(e,t){switch(e.toLowerCase()){case"deleted items":return r.instant("DELETED_ITEMS");case"inbox":return r.instant("INBOX");case"junk e-mail":return r.instant("JUNK_EMAIL");case"sent items":return r.instant("SENT_ITEMS");default:if(t)return e;var a=e.split("/");return a[0]=U(a[0],!0),a.join("/")}}function G(e){e=e.toLowerCase();for(var t=0;t<P.autoCleanFolders.length;++t)if(e===P.autoCleanFolders[t].path.toLowerCase()){var a=P.autoCleanFolders[t].translatedPath;return a?a.replaceAll(" ",""):a}}function W(t,a){var n=P.autoCleanSettings.userRules.indexOf(t);-1!==n&&P.autoCleanSettings.userRules.splice(n,1),a.$setDirty(),e.$broadcast("masonry:contentsChanged")}P.editRocketChatToken=function(e){i.show({locals:{serverUrl:P.chatProvider.serverUrl,username:P.username,personalAccessToken:P.chatProvider.personalAccessToken,tokenName:"SmarterMail",title:o("translate")("GENERATE_ACCESS_TOKEN")},controller:"rocketChatPersonalAccessTokenDialog",controllerAs:"ctrl",templateUrl:"app/settings/shared/rocket-chat-token.dlg.html",targetEvent:e}).then((function(e){P.chatProvider.personalAccessToken=e.personalAccessToken,P.chatProvider.serviceUserId=e.userId,P.chatProvider.serverUrl=e.serverUrl}),(function(){}))},P.testRocketChatToken=function(e){1===P.chatProvider.providerType&&n.post("/api/v1/settings/test-rocket-chat",JSON.stringify(P.chatProvider)).then((function(){P.rocketChatTestFailed=!1,g.report()}),(function(e){P.rocketChatTestFailed=!0}))}}e.$inject=["$rootScope","$q","$scope","$http","$timeout","$filter","$translate","$mdDialog","$state","$interval","coreData","coreDataSettings","coreDataMail","userTimeService","errorHandling","successHandling","userDataService","browserNotifications","localeInfoService","preferencesStorage","localStorageService","coreLicensing","claimsService","toaster","spamfooClassification","masonryReveal"],angular.module("smartermail").controller("userSettingsGeneralAccountController",e)}();
406!function(){"use strict";function e(e,t,n,o){var i=this;i.textValue="",i.header=o,i.exceptions=n||[],i.exceptions.sort(),i.textValue=i.exceptions.join("\r\n"),i.save=function(){var e=i.textValue.split(/\r?\n/);""==i.textValue&&(e=[]),t.hide({exceptions:e})},i.cancel=function(){t.cancel()}}e.$inject=["$rootScope","$mdDialog","exceptions","header"],angular.module("smartermail").controller("remoteContentExceptionsDialogController",e)}();
407!function(){"use strict";function e(e,t,o,r,c,n,i,a,s,p,u,d){function f(){var t=document.getElementById("qrcode");t?new QRCode(t,{text:e.qrUrl,width:150,height:150}):setTimeout(f,150)}
407function l(t,r){if(!r.$invalid){var c=1==e.type?"email":"rfc6238";o.post("~/api/v1/settings/user-check-two-factor-code/"+e.checkCode,{secret:e.secretKey||"",type:c}).then((function(o){!0===o.data.result?(e.hasVerifiedCode=!0,e.codeError=!1,y(t,r)):(e.hasVerifiedCode=!1,e.codeError=!0)}),i.report)}}function y(r,c){c.$invalid||o.post("~/api/v1/settings/user-set-two-factor-secret",{secret:e.secretKey,type:1==e.type?"email":"rfc6238",code:e.checkCode}).then((function(){t.hide({recovery:e.tfRecoveryMail,key:e.secretKey,type:e.type})}),(function(e){t.hide({failure:e})}))}e.step=-1,e.secretKey="",e.qrUrl="",e.type=2,e.checkCode="",e.codeError=!1,e.hasVerifiedCode=!1,e.tfCantScan=!1,e.tfRecoveryMail=s,e.tfConfirmRecoveryMail="",e.tfUserEmail=p,e.twoFactorSetupTypes=u,e.save=y,e.cancel=function(){t.cancel()},e.nextStep=function(t,r){if(r.$invalid)return;e.codeError=!1,-1==e.step?(n={userMailSettings:{backupEmailAddress:e.tfRecoveryMail}},o.post("~/api/v1/settings/user-mail",n)).then((function(){2==e.type?o.post("~/api/v1/settings/user-generate-two-factor/rfc6238").then((function(t){var o,r,n;e.secretKey=t.data.clientSecret,e.qrUrl=(o=t.data.clientSecret,r=t.data.accountName,n=t.data.issuer,"otpauth://totp/"+encodeURIComponent((n||"")+":"+(r||""))+"?secret="+encodeURIComponent(o||"")+"&issuer="+encodeURIComponent(n||"")),f(),e.step=0,c((function(){$("input[name=checkFactorCode]").trigger("focus")}))}),(function(e){i.report(e)})):o.post("~/api/v1/settings/user-generate-two-factor/email").then((function(t){e.secretKey=t.data.clientSecret,e.step=1,c((function(){$("input[name=checkFactorCodeMail]").trigger("focus")}))}),(function(e){i.report(e)}))}),i.report):0!=e.step||1===e.type||e.hasVerifiedCode?(0==e.step&&1!==e.type&&e.hasVerifiedCode||1==e.step)&&(e.step=2):l(t,r);var n},e.backStep=function(t,o){e.hasVerifiedCode=!1,e.codeError=!1,e.checkCode="",0==e.step?e.tfCantScan?(e.tfCantScan=!1,c((function(){$("input[name=checkFactorCode]").trigger("focus")}))):(e.qrUrl="",e.secretKey="",$("#qrcode").empty(),e.step=-1):1==e.step&&1===e.type?e.step=-1:1==e.step&&1!==e.type&&(e.step=0)},e.checkTwoFactorCode=l,e.copySecretKey=function(e,t){var o=$("#copy-key")[0],r=document.createRange();r.selectNode(o),window.getSelection().removeAllRanges(),window.getSelection().addRange(r),document.execCommand("copy"),window.getSelection().removeAllRanges(),a.report(n.instant("COPIED_TO_CLIPBOARD"))},e.cantScan=function(){e.tfCantScan=!0,c((function(){$("input[name=checkFactorCode]").trigger("focus")}))},function(){for(var t=!1,o=0;o<u.length;++o)if(2===u[o].value){t=!0;break}t||(e.type=1);e.tfRecoveryMail?c((function(){$("input[name=tfrecoverymailconfirm]").trigger("focus")}),250):c((function(){$("input[name=tfrecoverymail]").trigger("focus")}),250)}()}e.$inject=["$scope","$mdDialog","$http","$q","$timeout","$translate","errorHandling","successHandling","recoveryMail","userEmail","twoFactorSetupTypes","authStorage"],angular.module("smartermail").controller("userTwoFactorController",e)}();
408!function(){"use strict";function e(e,a,t,n,s,d,r,o){var i=this,u=o.create(a);function m(a){var n=[t.get("~/api/v1/settings/user-mail").then((function(t){i.dateStarts=[],i.dateEnds=[],i.dateEnableds=[];var n=t.data.userMailSettings.calendarSettings;i.displayWeekendsWeek=n.showWeekendsWeekly,i.displayTaskStart=n.showTaskStarts,i.displayTaskEnd=n.showTaskDues,i.hideCompletedTasks=n.hideCompleteTasks,i.dateStarts.push(l(n.sunday.start)),i.dateStarts.push(l(n.monday.start)),i.dateStarts.push(l(n.tuesday.start)),i.dateStarts.push(l(n.wednesday.start)),i.dateStarts.push(l(n.thursday.start)),i.dateStarts.push(l(n.friday.start)),i.dateStarts.push(l(n.saturday.start)),i.dateEnds.push(l(n.sunday.end)),i.dateEnds.push(l(n.monday.end)),i.dateEnds.push(l(n.tuesday.end)),i.dateEnds.push(l(n.wednesday.end)),i.dateEnds.push(l(n.thursday.end)),i.dateEnds.push(l(n.friday.end)),i.dateEnds.push(l(n.saturday.end)),i.dateEnableds.push(n.sunday.enabled),i.dateEnableds.push(n.monday.enabled),i.dateEnableds.push(n.tuesday.enabled),i.dateEnableds.push(n.wednesday.enabled),i.dateEnableds.push(n.thursday.enabled),i.dateEnableds.push(n.friday.enabled),i.dateEnableds.push(n.saturday.enabled),i.defaultDuration=n.defaultDuration,i.defaultReminder=n.defaultReminder,i.firstDayOfWeek=n.firstDayOfWeek,a&&setTimeout((function(){e.$broadcast("DateModelReset")}),350)})),t.get("~/api/v1/settings/auto-clean-calendar").then((function(e){i.autoCleanSettings=e.data,i.autoCleanSettings.source=i.autoCleanSettings.allowDomainOverride&&i.autoCleanSettings.domainOverrideActive?"domain":"system",i.parentAutoclean=i.autoCleanSettings.allowDomainOverride&&i.autoCleanSettings.domainOverrideActive?i.autoCleanSettings.domainCalendarAutoCleanSetting:i.autoCleanSettings.sysCalendarAutoCleanSetting}))];e.spinner.show(),d.all(n).then((function(){}),s.report).finally((function(){e.spinner.hide(),i.loading=!1,u.wait((function(){i.contentReady=!0}))}
408))}function l(e){var a=e.split(":");return moment().hours(a[0]).minutes(a[1]).seconds(a[2]).toDate()}i.loading=!0,i.contentReady=!1,i.daysOfWeek=[{name:"Sunday",translate:"SUNDAY"},{name:"Monday",translate:"MONDAY"},{name:"Tuesday",translate:"TUESDAY"},{name:"Wednesday",translate:"WEDNESDAY"},{name:"Thursday",translate:"THURSDAY"},{name:"Friday",translate:"FRIDAY"},{name:"Saturday",translate:"SATURDAY"}],i.dateStarts=[],i.dateEnds=[],i.defaultDuration=60,i.defaultReminder=2,i.firstDayOfWeek=0,i.reloadState=function(e){m(!0),e.$setPristine()},i.changeDate=function(e){var a;switch(e){case"Sunday":a=0;break;case"Monday":a=1;break;case"Tuesday":a=2;break;case"Wednesday":a=3;break;case"Thursday":a=4;break;case"Friday":a=5;break;case"Saturday":a=6;break;default:return}var t=moment(i.dateStarts[a]),n=moment(i.dateEnds[a]);t.hour()>=n.hour()&&(i.dateEnds[a]=moment(i.dateEnds[a]).hour(moment(i.dateStarts[a]).hour()).toDate(),i.ignoreEndChange=!0);t.hour()===n.hour()&&t.minute()>=n.minute()&&(i.dateEnds[a]=n.minute(t.minute()).toDate(),i.ignoreEndChange=!0)},i.save=function(a,n){if(!n.$valid)return;var d={userMailSettings:{calendarSettings:{showWeekendsWeekly:i.displayWeekendsWeek,showWeekendsMonthly:i.displayWeekendsWeek,showTaskStarts:i.displayTaskStart,showTaskDues:i.displayTaskEnd,hideCompleteTasks:i.hideCompletedTasks,sunday:{start:moment(i.dateStarts[0]).format("HH:mm:ss"),end:moment(i.dateEnds[0]).format("HH:mm:ss"),enabled:i.dateEnableds[0]},monday:{start:moment(i.dateStarts[1]).format("HH:mm:ss"),end:moment(i.dateEnds[1]).format("HH:mm:ss"),enabled:i.dateEnableds[1]},tuesday:{start:moment(i.dateStarts[2]).format("HH:mm:ss"),end:moment(i.dateEnds[2]).format("HH:mm:ss"),enabled:i.dateEnableds[2]},wednesday:{start:moment(i.dateStarts[3]).format("HH:mm:ss"),end:moment(i.dateEnds[3]).format("HH:mm:ss"),enabled:i.dateEnableds[3]},thursday:{start:moment(i.dateStarts[4]).format("HH:mm:ss"),end:moment(i.dateEnds[4]).format("HH:mm:ss"),enabled:i.dateEnableds[4]},friday:{start:moment(i.dateStarts[5]).format("HH:mm:ss"),end:moment(i.dateEnds[5]).format("HH:mm:ss"),enabled:i.dateEnableds[5]},saturday:{start:moment(i.dateStarts[6]).format("HH:mm:ss"),end:moment(i.dateEnds[6]).format("HH:mm:ss"),enabled:i.dateEnableds[6]},defaultDuration:i.defaultDuration,defaultReminder:i.defaultReminder,firstDayOfWeek:i.firstDayOfWeek}}};i.autoCleanSettings.allowDomainOverride&&i.autoCleanSettings.allowUserOverride&&(d.userMailSettings.calendarAutoCleanMonths=i.autoCleanSettings.userOverrideActive?i.autoCleanSettings.userCalendarAutoCleanSetting:-2);t.post("~/api/v1/settings/user-mail",JSON.stringify(d)).then((function(){n.$setPristine(),e.$broadcast("user-settings:changed")}),s.report)},m(),a.$watch("dateStarts[0]",(function(){i.changeDate("Sunday")})),a.$watch("dateStarts[1]",(function(){i.changeDate("Monday")})),a.$watch("dateStarts[2]",(function(){i.changeDate("Tuesday")})),a.$watch("dateStarts[3]",(function(){i.changeDate("Wednesday")})),a.$watch("dateStarts[4]",(function(){i.changeDate("Thursday")})),a.$watch("dateStarts[5]",(function(){i.changeDate("Friday")})),a.$watch("dateStarts[6]",(function(){i.changeDate("Saturday")})),a.$watch("dateEnds[0]",(function(){i.ignoreEndChange?i.ignoreEndChange=!1:i.changeDate("Sunday")})),a.$watch("dateEnds[1]",(function(){i.ignoreEndChange?i.ignoreEndChange=!1:i.changeDate("Monday")})),a.$watch("dateEnds[2]",(function(){i.ignoreEndChange?i.ignoreEndChange=!1:i.changeDate("Tuesday")})),a.$watch("dateEnds[3]",(function(){i.ignoreEndChange?i.ignoreEndChange=!1:i.changeDate("Wednesday")})),a.$watch("dateEnds[4]",(function(){i.ignoreEndChange?i.ignoreEndChange=!1:i.changeDate("Thursday")})),a.$watch("dateEnds[5]",(function(){i.ignoreEndChange?i.ignoreEndChange=!1:i.changeDate("Friday")})),a.$watch("dateEnds[6]",(function(){i.ignoreEndChange?i.ignoreEndChange=!1:i.changeDate("Saturday")}))}e.$inject=["$rootScope","$scope","$http","$timeout","errorHandling","$q","coreDataDomainSettings","masonryReveal"],angular.module("smartermail").controller("userSettingsGeneralCalendarController",e)}();
409!function(){"use strict";function e(e,t,r,n,i,a,s,l,o,c,f,u,d,g,p,h,m,T,A){var y=this,N=A.create(t);function v(){console.log("initialize conditions"),console.log(""+y.filter.filters),angular.forEach(y.filter.filters,(function(e,t){e.$$index=t,e.executionOrder=t+1})),y.conditionsTableParams.settings({dataset:y.filter.filters}),y.conditionsCheckboxes.reset(),y.conditionsTableParams.reload()}function C(){console.log("initialize actions"),console.log(""+y.filter.actions),angular.forEach(y.filter.actions,(function(e,t){e.$$index=t,e.executionOrder=t+1})),y.actionsTableParams.settings({dataset:y.filter.actions}),y.actionsCheckboxes.reset(),y.actionsTableParams.reload()}function E(){y.gridSections[1].length=y.filter.filters.length,y.gridSections[2].length=y.filter.actions.length}function I(){n.all([f.getFolderListForDropdown(null,!0),r.get("~/api/v1/settings/content-filter-groups")]).then((function(e){y.folders=$.grep(e[0],(function(e){return e.ownerEmailAddress===d.user.emailAddress})),y.filter=null,y.contentFilters=e[1].data.contentFilterGroups||[];var t=0;angular.forEach(y.contentFilters,(function(e){e.id===y.filterId&&(y.filter=e),t<e.order&&(t=e.order)})),y.filter||(y.filter={actions:[],filters:[],internalType:0,matchType:0,title:null,isEnabled:!0});var r=y.filter.filters;r&&r.length>0&&(r=r.sort(((e,t)=>t.executionOrder-e.executionOrder)));y.filter.filters=r||[],y.filter.actions=y.filter.actions||[],y.filter.isEnabled=y.filter.isEnabled??!0,y.enableWildcard=!1,y.matchAllMessages=y.filter.matchAllMessages??!0,angular.forEach(y.filter.filters,(function(e){e.isWildcard&&(y.enableWildcard=!0)})),"new"===y.filterId&&(y.filter.order=t+1);var n=JSON.parse(localStorage.getItem("newFilterData")||"{}");jQuery.isEmptyObject(n)||(y.filter.filters.push({applyLogicalNot:!1,fieldType:6,filterType:2,isWildcard:!1,searchArguments:[n.from]}),y.filter.filters.push({applyLogicalNot:!1,fieldType:7,filterType:2,isWildcard:!1,searchArguments:[n.to]}),y.filter.filters.push({applyLogicalNot:!1,fieldType:3,filterType:2,isWildcard:!1,searchArguments:[n.subject]}),localStorage.removeItem("newFilterData"));C(),v(),E(),y.initialized=!0,y.loading=!1,N.wait((function(){y.contentReady=!0}))}),g.report)}function O(t,n){if(n.$valid){var i;if(y.filter.matchAllMessages=y.matchAllMessages??!0,angular.forEach(y.filter.filters,(function(e){e.isWildcard=y.enableWildcard})),angular.forEach(y.filter.actions,(function(e){if(4===e.actionType)for(var t=0;t<y.folders.length;t++)if(y.folders[t].translatedPath==e.argument){e.argument=y.folders[t].name;break}}
409)),"new"===y.filterId){if($.grep(y.contentFilters,(function(e){return e.title.toUpperCase()===y.filter.title.toUpperCase()})).length>0)return void g.report(o.instant("CONTENT_FILTERING_NAME_IN_USE",{title:y.filter.title}));i=JSON.stringify({toAdd:[y.filter]})}else i=JSON.stringify({contentFilterGroups:[y.filter]});r.post("~/api/v1/settings/content-filter-groups",i).then((function(t){if(!t.data.success)return void g.report(t);"new"===y.filterId&&t.data.iDs.length>0&&(y.filterId=t.data.iDs[0].id,y.filter.id=y.filterId,y.gridSections[1].disabled=!1,y.gridSections[2].disabled=!1);n.$setPristine(),e.$broadcast("user-settings:changed")}),g.report)}}function b(){var e=JSON.parse(JSON.stringify(y.folders));e=e.sort(((e,t)=>e.path.toLowerCase().localeCompare(t.path.toLowerCase())));for(let t in e){let r=e[t].displayPath.split("/").length-1,n=e[t].name.split("/");if(e[t].name=n[n.length-1],null!=e[t].translatedName){let r=e[t].translatedName.split("/");e[t].translatedName=r[r.length-1]}for(let n=0;n<r;n++)e[t].name="    "+e[t].name,null!=e[t].translatedName&&(e[t].translatedName="    "+e[t].translatedName)}return e}y.loading=!0,y.contentReady=!1,y.filterId=parseInt(s.params.id,10)||"new",y.filter=null,y.filterTypes=u.filterTypes,y.matchTypes=u.matchTypes,y.actionTypes=u.actionTypes,y.folders=null,y.contentFilters=[],y.initialized=!1,y.save=function(t,n){if(!n.$valid)return;var i;if(y.filter.matchAllMessages=y.matchAllMessages??!0,angular.forEach(y.filter.filters,(function(e){e.isWildcard=y.enableWildcard})),angular.forEach(y.filter.actions,(function(e){if(4===e.actionType)for(var t=0;t<y.folders.length;t++)if(y.folders[t].translatedPath==e.argument){e.argument=y.folders[t].name;break}})),"new"===y.filterId){if($.grep(y.contentFilters,(function(e){return e.title.toUpperCase()===y.filter.title.toUpperCase()})).length>0)return void g.report(o.instant("CONTENT_FILTERING_NAME_IN_USE",{title:y.filter.title}));i=JSON.stringify({toAdd:[y.filter]})}else i=JSON.stringify({contentFilterGroups:[y.filter]});r.post("~/api/v1/settings/content-filter-groups",i).then((function(t){t.data.success?"new"===y.filterId&&t.data.iDs.length>0?(y.filterId=t.data.iDs[0].id,y.filter.id=y.filterId,y.gridSections[1].disabled=!1,y.gridSections[2].disabled=!1,n.$setPristine(),e.$broadcast("user-settings:changed")):(n.$setPristine(),e.$broadcast("user-settings:changed"),s.go("^")):g.report(t)}),g.report)},y.deleteThis=function(e){if("new"===y.filterId)return y.skipNavigateConfirm=!0,void s.go("^");var t=a.confirmDeletion().textContent(i("translate")("CONFIRMATIONS_DELETE_ITEMS_one")).targetEvent(e);a.show(t).then((function(){var e=JSON.stringify({toRemove:[y.filter.id]});r.post("~/api/v1/settings/content-filter-groups",e).then((function(){y.skipNavigateConfirm=!0,s.go("^")}),g.report)}),(function(){}))},y.addCondition=function(e,t){a.show({locals:{newRule:!0,filterId:-1,ruleTypes:angular.copy(u.filterTypes),ruleCategories:angular.copy(u.filterCategories),oldRule:{applyLogicalNot:!1,fieldType:-1,filterType:2,isWildcard:y.enableWildcard,searchArguments:[]},usedRules:y.filter.filters,wildcard:y.enableWildcard,internalType:"0",isDomain:!1},controller:"userFilterRuleEditController",controllerAs:"FiMoCtrl",templateUrl:"app/settings/shared/content-filters/filter-rule.dlg.html",targetEvent:e}).then((function(e){y.filter.filters.push(e.rule),t.$setDirty()}),(function(){})).finally((function(){v(),E(),O(e,t)}))},y.editCondition=function(e,t,r){a.show({locals:{newRule:!1,filterId:y.filter.id,ruleTypes:$.extend(!0,[],u.filterTypes),ruleCategories:$.extend(!0,[],u.filterCategories),oldRule:$.extend(!0,{},t),usedRules:y.filter.filters,wildcard:y.enableWildcard,internalType:y.filter.internalType,isDomain:!1},controller:"userFilterRuleEditController",controllerAs:"FiMoCtrl",templateUrl:"app/settings/shared/content-filters/filter-rule.dlg.html",targetEvent:e}).then((function(e){var n;e.deleteRule?-1!==(n=t.$$index??-1)&&(y.filter.filters.splice(n,1),r.$setDirty()):(-1===(n=t.$$index??-1)?y.filter.filters.push(e.rule):y.filter.filters[n]=e.rule,r.$setDirty())}),(function(){})).finally((function(){v(),E(),O(e,r)}))},y.addAction=function(e,t){const r=b();a.show({locals:{oldAction:{actionType:1,argument:"",isDefaultAction:!1},newAction:!0,filterActions:$.extend(!0,[],u.actionTypes),usedActions:y.filter.actions,folders:r,validateMail:c.validateEmailAddress,type:"user"},controller:"userFilterActionEditController",controllerAs:"FiMoCtrl",templateUrl:"app/settings/shared/content-filters/filter-action.dlg.html",targetEvent:e}).then((function(e){y.filter.actions.push(e.saveAction),t.$setDirty()}),(function(){})).finally((function(){C(),E(),O(e,t)}))},y.editAction=function(e,t,r){const n=b();a.show({locals:{oldAction:$.extend(!0,{},t),newAction:!1,filterActions:$.extend(!0,[],u.actionTypes),usedActions:y.filter.actions,folders:n,validateMail:c.validateEmailAddress,type:"user"},controller:"userFilterActionEditController",controllerAs:"FiMoCtrl",templateUrl:"app/settings/shared/content-filters/filter-action.dlg.html",targetEvent:e}).then((function(e){var n;e.deleteAction?-1!==(n=t.$$index??-1)&&(y.filter.actions.splice(n,1),r.$setDirty()):(-1===(n=t.$$index??-1)?
409y.filter.actions.push(e.saveAction):y.filter.actions[n]=e.saveAction,r.$setDirty())}),(function(){})).finally((function(){C(),E(),O(e,r)}))},y.getActionArgument=function(e){switch(e.actionType){case 6:case 5:case 7:case 2:case 4:var t=e.argument?e.argument:"";return""!==t&&angular.forEach(y.folders,(function(e){t===e.path&&(t=e.name)})),"junk e-mail"===t.toLowerCase()&&1===y.filter.internalType&&(t=o.instant("JUNK_EMAIL")),t;case 9:switch(e.argument){case"low":return i("translate")("LOW");case"normal":return i("translate")("NORMAL");case"high":return i("translate")("HIGH")}}return""},y.getActionTypeDescription=function(e){var t=$.grep(y.actionTypes,(function(t){return t.id===e.actionType}));return t.length>0?t[0].translate:i("translate")("UNKNOWN")},y.getFilterTypeDescription=function(e){var t=$.grep(y.filterTypes,(function(t){return t.id===e.fieldType}));if(t.length>0){var r=$.grep(u.filterCategories,(function(e){return e.id===t[0].category}));if(r.length>0)return r[0].translate}return""},y.getFilterArgument=function(e){if(!e)return"";switch(e.fieldType){case 0:case 1:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 17:case 18:case 28:case 30:case 31:case 32:case 33:return e.searchArguments&&e.searchArguments&&0!==e.searchArguments.length?1===e.searchArguments.length?'"'+(e.searchArguments[0]?e.searchArguments[0]:"")+'"':i("translate")("MULTIPLE",{count:e.searchArguments.length}):'""';case 23:case 24:return e.searchArguments?"1"===e.searchArguments[0]?i("translate")("NO"):i("translate")("YES"):"";case 19:case 25:return e.searchArguments?e.searchArguments[0]?i("bytes")(e.searchArguments[0],1):"":i("translate")("X_BYTES",{count:0});case 26:return e.searchArguments&&e.searchArguments[0]?i("translate")("X_BYTES",{count:e.searchArguments[0]}):"";case 27:if(e.searchArguments){var t=i("date")(e.searchArguments[0],"shortDate"),r=i("date")(e.searchArguments[1],"shortDate");return i("translate")("CONTENT_FILTERING_TIME_OF_DAY",{start:t,end:r})}return"";case 29:if(!e.searchArguments||!e.searchArguments[0])return"";switch(e.searchArguments[0]){case"low":return i("translate")("CONTENT_FILTERING_SPAM_LOW");case"normal":return i("translate")("CONTENT_FILTERING_SPAM_MED");case"high":return i("translate")("HIGH")}break;default:return""}return""},y.getFilterCondition=function(e){switch(e.fieldType){case 0:case 1:case 10:case 11:case 17:case 18:case 30:case 31:case 32:case 33:return e.applyLogicalNot?i("translate")("DOES_NOT_MATCH"):i("translate")("MATCHES");case 3:case 4:case 5:case 6:case 7:case 8:case 9:return e.applyLogicalNot?i("translate")("CONTAINS_NOT"):i("translate")("CONTAINS");case 13:case 15:case 16:case 20:case 21:case 22:case 28:case 29:return e.applyLogicalNot?i("translate")("FALSE"):i("translate")("TRUE");default:return""}},y.cancel=function(){s.go("^")},y.cancelOptions=function(e,t){t.$setPristine(),I()},y.hasActions=function(){return y.filter&&y.filter.actions&&y.filter.actions.length>0},y.hasConditions=function(){return y.filter&&y.filter.filters&&y.filter.filters.length>0},y.getFilterFieldDescription=function(e){var t=$.grep(y.filterTypes,(function(t){return t.id===e.fieldType}));return t.length>0?t[0].translate:i("translate")("UNKNOWN")},y.setActionHigherPriority=function(e,t,r){t.stopPropagation();var n=e.$$index;if(void 0===n||n<=0)return;var i=y.filter.actions[n-1];return y.filter.actions[n-1]=y.filter.actions[n],y.filter.actions[n]=i,C(),O(t,r),!1},y.setActionLowerPriority=function(e,t,r){t.stopPropagation();var n=e.$$index;if(void 0===n||n>=y.filter.actions.length-1)return;var i=y.filter.actions[n+1];return y.filter.actions[n+1]=y.filter.actions[n],y.filter.actions[n]=i,C(),O(t,r),!1},y.setConditionHigherPriority=function(e,t,r){t.stopPropagation();var n=e.$$index;if(void 0===n||n<=0)return;var i=y.filter.filters[n-1];return y.filter.filters[n-1]=y.filter.filters[n],y.filter.filters[n]=i,v(),O(t,r),!1},y.setConditionLowerPriority=function(e,t,r){t.stopPropagation();var n=e.$$index;if(void 0===n||n>=y.filter.filters.length-1)return;var i=y.filter.filters[n+1];return y.filter.filters[n+1]=y.filter.filters[n],y.filter.filters[n]=i,v(),O(t,r),!1},y.deleteCheckedConditions=function(e,t){var r=y.conditionsCheckboxes.getCheckedItems();if(!r||!r.length)return;var n=a.confirmDeletion().textContent(p.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:r.length})).targetEvent(e);a.show(n).then((function(){var n=r.map((function(e){return parseInt(e,10)}));y.filter.filters=y.filter.filters.filter((function(e){return-1===n.indexOf(e.$$index)})),v(),E(),O(e,t)}),(function(){}))},y.deleteCheckedActions=function(e,t){var r=y.actionsCheckboxes.getCheckedItems();if(!r||!r.length)return;var n=a.confirmDeletion().textContent(p.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:r.length})).targetEvent(e);a.show(n).then((function(){var n=r.map((function(e){return parseInt(e,10)}));y.filter.actions=y.filter.actions.filter((function(e){return-1===n.indexOf(e.$$index)})),C(),E(),O(e,t)}),(function(){}))},I(),y.gridSections=[{translate:"OPTIONS",length:-1},{translate:"CONDITIONS",length:0,disabled:"new"===y.filterId},{translate:"ACTIONS",length:0,disabled:"new"===y.filterId}],y.selectedSection="OPTIONS",y.changeSection=function(e){y.selectedSection=e},y.conditionsTableParams=new m({sorting:{executionOrder:"asc"},count:25},{dataset:[],counts:e.commonTableCounts}
409),y.conditionsCheckboxes=T.init("$$index"),y.conditionsCheckboxes.table=y.conditionsTableParams,y.actionsTableParams=new m({sorting:{executionOrder:"asc"},count:25},{dataset:[],counts:e.commonTableCounts}),y.actionsCheckboxes=T.init("$$index"),y.actionsCheckboxes.table=y.actionsTableParams}e.$inject=["$rootScope","$scope","$http","$q","$filter","$mdDialog","$state","$timeout","$translate","coreDataSettings","coreDataMail","contentFilterData","userDataService","errorHandling","i18n","successHandling","NgTableParams","gridCheckboxes","masonryReveal"],angular.module("smartermail").controller("userSettingsContentFilterController",e)}();
410!function(){"use strict";function t(t,e,n,r,i,o,s,a,c,l,u,d,g,f,p,h){var v=this;function m(){n.get("~/api/v1/settings/content-filter-groups").then(x,u.report)}function x(t){e.contentFiltering=t.data.contentFilterGroups||[],c.cards=angular.copy(e.contentFiltering),c.updateFilteredCards(),c.deleteItems=v.deleteFilters,v.checkboxes.reset(),v.tableParams.reload(),v.initialized=!0}function y(t){var e=[];for(var r in v.checkboxes.items)v.checkboxes.items[r]&&(e=e.concat($.grep(v.listResults,(function(t){return t.title===r}))));if(e&&0!==e.length){var o=i.confirmDeletion().textContent(h.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:e.length})).targetEvent(t);i.show(o).then((function(){var t=[];angular.forEach(e,(function(e,n){t.push(e.id)}));var r=JSON.stringify({toRemove:t});n.post("~/api/v1/settings/content-filter-groups",r).then(m,u.report)}))}else u.warn("ERROR_NO_CARDS")}function b(t,e){e.done&&(v.runningFilters=!1)}e.contentFiltering=void 0,e.settingCore=c,e.filterTypes=p.filterTypes,e.actionTypes=p.actionTypes,v.runningFilters=p.runningFilters,v.tableParams=new g({sorting:{order:"desc"},count:25},{getData:function(t){var e="",n="",i=(t.page()-1)*t.count(),o=t.count();for(var s in t.sorting())if(t.sorting().hasOwnProperty(s)&&t.sorting()[s]){e=s,n="desc"!==t.sorting()[s];break}return c.cards=r("orderBy")(c.cards,e,n),v.listResults=angular.copy(c.cards),v.listResults=v.listResults.splice(i,o),t.total(c.cards.length),v.listResults},counts:t.commonTableCounts}),v.checkboxes=f.init("title"),v.checkboxes.table=v.tableParams,v.initialized=!1,v.deleteFilters=y,v.editFilter=function(t,e){if(c.selectMode){var n=c.selectedCards.indexOf(t);n>-1?c.selectedCards.splice(n,1):c.selectedCards.push(t)}else o.go("index.settings.user-content-filters.specific",{id:t.id})},v.newFilter=function(t){o.go("index.settings.user-content-filters.specific",{id:"new"})},v.getActionsString=function(t){if(t.actions&&0!==t.actions.length){if(1===t.actions.length){var n=$.grep(e.actionTypes,(function(e){return e.id===t.actions[0].actionType}));return n.length>0?n[0].translate:r("translate")("UNKNOWN")}return r("translate")("MULTIPLE",{count:t.actions.length})}return r("translate")("NONE")},v.getRulesString=function(t){if(t.filters&&0!==t.filters.length){if(1===t.filters.length){var n=$.grep(e.filterTypes,(function(e){return e.id===t.filters[0].fieldType}));return n.length>0?r("translate")(n[0].translate):r("translate")("UNKNOWN")}return r("translate")("MULTIPLE",{count:t.filters.length})}return r("translate")("NONE")},v.contextMenuGridItem=function(t,n){if(!n||"touchstart"!==n.type&&"touchend"!==n.type&&3!==n.which||t.criticallyErrored)return;n.stopPropagation(),n.preventDefault();var r=v.checkboxes.getCheckedItems();(r.length>1&&!_.some(r,(function(e){return e===t.title}))||r.length<=1)&&(v.checkboxes.reset(),v.checkboxes.checkCheckbox(n,t),r=[t.title]);e.dropdownEvent=$.extend(!0,{},n),e.dropdownOptions=[{key:"deleteFilters",click:y,params:e.dropdownEvent,translateKey:"DELETE"}];var i=$("#context-menu-area");if(i){var o=s('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);i.append(o)}},v.setLowerPriority=function(t){if(t.order===v.tableParams.total())return;n.post("~/api/v1/settings/content-filter-groups/order/"+t.id+"/false").then((function(t){d.report(),x(t)}),u.report)},v.setHigherPriority=function(t){if(1===t.order)return;n.post("~/api/v1/settings/content-filter-groups/order/"+t.id+"/true").then((function(t){d.report(),x(t)}),u.report)},v.editRule=function(t,e){o.go("index.settings.user-content-filters.specific",{id:t.id})},m(),e.$on("signalR.mailHub.client.contentFilterProgress",b)}t.$inject=["$rootScope","$scope","$http","$filter","$mdDialog","$state","$compile","coreData","coreDataSettings","coreDataMail","errorHandling","successHandling","NgTableParams","gridCheckboxes","contentFilterData","i18n"],angular.module("smartermail").controller("userSettingsContentFiltersController",t)}();
411!function(){"use strict";function e(e,n,t,o,i,a,s,r,c,l,d,v,u,g,k,f,h,H,E){var p=this,C=E.create(n);function I(){i.all([t.post("~/api/v1/settings/user-events"),t.post("~/api/v1/settings/event-hooks-by-owner"),v.settingsData.aviliableEventVars,v.settingsData.userNotificationProfiles]).then((function(e){p.availableEvents=e[0].data.events||[],t=[],angular.forEach(p.availableEvents,(function(e){e.categoryResourceId=e.categoryResourceId.replace("@","").toUpperCase(),e.translation="EVENT_TYPES_"+e.id.toUpperCase();var n=null;angular.forEach(t,(function(t){t.categoryResourceId==e.categoryResourceId&&(n=t)})),n||(n={categoryResourceId:e.categoryResourceId,events:[],internalId:t.length},t.push(n)),n.events.push(e)})),p.eventCategories=t;var t;var o=e[1].data.eventHooks||[];angular.forEach(o,(function(e){e.id==p.eventHookId&&(p.eventHook=e)}));var i=!p.eventHook;
411i&&(p.eventHook={actions:[],actionsByKey:{},conditions:[],conditionsByKey:{},enabled:!0,eventID:null,groupID:d.user.domain,isNew:!0,name:"",owner:d.user.emailAddress});p.eventHook.conditions=p.eventHook.conditions||[],p.eventHook.actions=p.eventHook.actions||[],angular.forEach(p.eventCategories,(function(e){angular.forEach(e.events,(function(n){if(p.eventHook.eventID||(p.eventHook.eventID=n.eventId),n.eventId==p.eventHook.eventID)return p.selectedCategory=e,void(p.selectedEventType=n)}))})),p.eventVariables=e[2],i&&(A(),n.$watch((function(){return p.selectedCategory}),D),n.$watch((function(){return p.selectedEventType}),N));T(),y(),m(),p.initialized=!0,p.loading=!1,C.wait((function(){p.contentReady=!0}))}),g.report)}function y(){console.log("initialize conditions"),console.log(""+p.eventHook.conditions),angular.forEach(p.eventHook.conditions,(function(e,n){e.$$index=n,e.$$order=n+1})),p.conditionsTableParams.settings({dataset:p.eventHook.conditions}),p.conditionsCheckboxes.reset(),p.conditionsTableParams.reload()}function T(){console.log("initialize actions"),console.log(""+p.eventHook.actions),angular.forEach(p.eventHook.actions,(function(e,n){e.$$index=n,e.$$order=n+1})),p.actionsTableParams.settings({dataset:p.eventHook.actions}),p.actionsCheckboxes.reset(),p.actionsTableParams.reload()}function m(){p.gridSections[1].length=p.eventHook.conditions.length,p.gridSections[2].length=p.eventHook.actions.length}function b(e){var n=null;return angular.forEach(p.eventCategories,(function(t){angular.forEach(t.events,(function(o){e&&e.eventId==o.eventId&&(n=t)}))})),n}function D(e,n){p.lastCategory!=e&&p.lastCategory?(p.eventHook.eventID=e.events[0].eventId,p.selectedEventType=e.events[0]):p.lastCategory=e}function N(e,n){if(p.lastEvent!=e&&p.lastEvent){var t=[];angular.forEach(p.eventHook.conditions,(function(n){if(p.isConditionEditable(p.lastEvent.eventId,n)){var o=!1;angular.forEach(e.conditions,(function(e){e.key==n.key&&e.inputType==n.inputType&&e.descriptionResourceID==n.descriptionResourceID&&(o=!0)})),o||t.push(n)}}));var i=[];if(angular.forEach(p.eventHook.actions,(function(n){var t=!1;angular.forEach(e.possibleActions,(function(e){e.key==n.key&&e.inputType==n.inputType&&e.descriptionResourceID==n.descriptionResourceID&&(t=!0)})),t||i.push(n)})),t.length||i.length){c.instant("EVENTS_NOTICE_CONDITIONS_AND_ACTIONS_CHANGED");var s=a.confirm().title(o("translate")("EVENTS_NOTICE_CONDITIONS_AND_ACTIONS_CHANGED_TITLE")).textContent(o("translate")("EVENTS_NOTICE_CONDITIONS_AND_ACTIONS_CHANGED")).ariaLabel(o("translate")("EVENTS_NOTICE_CONDITIONS_AND_ACTIONS_CHANGED")).ok(o("translate")("CONTINUE")).cancel(o("translate")("CANCEL"));a.show(s).then((function(){r(t,i)}),(function(){p.selectedCategory=b(p.lastEvent),p.selectedEventType=p.lastEvent,p.eventHook.eventID=p.lastEvent.eventId}))}else r()}else r();function r(n,t){e&&(n&&angular.forEach(n,(function(e){var n=p.eventHook.conditions.indexOf(e);-1!==n&&p.eventHook.conditions.splice(n,1),delete p.eventHook.conditionsByKey[e.key]})),t&&angular.forEach(t,(function(e){var n=p.eventHook.actions.indexOf(e);-1!==n&&p.eventHook.actions.splice(n,1)})),p.lastCategory=b(e),p.lastEvent=e,p.eventHook.eventID=e.eventId,A())}}function A(){p.eventHook.conditions=[],p.eventHook.conditionsByKey={},angular.forEach(p.availableEvents[p.eventHook.eventID].conditions,(function(e){if(!p.isConditionEditable(p.eventHook.eventID,e)){switch(e.key){case"fromdomain":case"todomain":case"domain":e.value1=d.user.domain;break;case"fromaddress":case"toaddress":case"emailaddress":e.value1=d.user.emailAddress;break;default:return}p.eventHook.conditions.push(e),p.eventHook.conditionsByKey[e.key]=e}}))}function S(n,o){if(o.$valid){var i=p.eventHook;t.post("~/api/v1/settings/event-hook",i).then((function(n){if(!n.data.success)return void g.report(n);o.$setPristine(),e.$broadcast("user-settings:changed"),m(),y(),T()}),g.report)}}p.loading=!0,p.contentReady=!1,p.eventHookId=s.params.id,p.eventHook=null,p.availableEvents=[],p.lastCategory=null,p.lastEvent=null,p.initialized=!1,p.save=function(n,o){if(!o.$valid)return;var i=p.eventHook;t.post("~/api/v1/settings/event-hook",i).then((function(n){n.data.success?"new"===p.eventHookId&&n.data.id?(p.eventHookId=n.data.id,p.eventHook.id=p.eventHookId,p.gridSections[1].disabled=!1,p.gridSections[2].disabled=!1,s.go(".",{"index.settings.user-events.specific":p.eventHook.id},{location:"replace",notify:!1}),o.$setPristine(),e.$broadcast("user-settings:changed")):(o.$setPristine(),e.$broadcast("user-settings:changed"),s.go("^")):g.report(n)}),g.report)},p.deleteThis=function(e,n){if("new"==p.eventHookId)return void s.go("^");var i=a.confirmDeletion().textContent(o("translate")("CONFIRMATIONS_DELETE_ITEMS_one")).targetEvent(e);a.show(i).then((function(){p.skipNavigateConfirm=!0;var e=JSON.stringify({input:[p.eventHookId]});t.post("~/api/v1/settings/event-hook-delete",e).then((function(e){s.go("^")}),g.report)}))},p.addCondition=function(e,n){a.show({locals:{newCondition:!0,conditionKey:"",eventId:p.eventHook.eventID,operator:"Equals",availableEvents:p.availableEvents,usedConditions:p.eventHook.conditionsByKey,value1:void 0,value2:void 0,parseTimeSpan:v.parseUserTimeSpan,level:"user"},controller:"eventConditionEditDialogController",controllerAs:"EvMoCtrl",templateUrl:"app/settings/shared/events/event-condition.dlg.html",targetEvent:e}).then((function(t){p.eventHook.conditions.push(t.condition),p.eventHook.conditionsByKey[t.condition.key]=t.condition,n.$setDirty(),S(e,n)}))},p.editCondition=function(e,n,t){if(!p.isConditionEditable(p.eventHook.eventID,n)
411)return;a.show({locals:{newCondition:!1,conditionKey:n.key,eventId:p.eventHook.eventID,operator:n.condition,availableEvents:p.availableEvents,usedConditions:p.eventHook.conditionsByKey,getConditionTranslation:u.getConditionTranslation,value1:n.value1,value2:n.value2,parseTimeSpan:v.parseUserTimeSpan,level:"user"},controller:"eventConditionEditDialogController",controllerAs:"EvMoCtrl",templateUrl:"app/settings/shared/events/event-condition.dlg.html",targetEvent:e}).then((function(o){var i;o.deleteCond?-1!=(i=n.$$index)&&(p.eventHook.conditions.splice(i,1),delete p.eventHook.conditionsByKey[n.key],t.$setDirty(),S(e,t)):(-1==(i=n.$$index)?p.eventHook.conditions.push(o.condition):p.eventHook.conditions[i]=o.condition,t.$setDirty(),S(e,t))}))},p.addAction=function(e,n){var t=p.availableEvents[p.eventHook.eventID],o=$.grep(t.possibleActions,(function(e){return"AlertAction"===e.key}));if(!o[0])return void g.report("ERROR_GETTING_ACTION");a.show({locals:{newAction:!0,eventGuid:p.eventHookId,eventId:p.eventHook.eventID,availableEvents:p.availableEvents,availableVariables:p.eventVariables,action:o[0],defaultEmail:d.user.emailAddress,level:"user"},controller:"eventActionEditDialogController",controllerAs:"EvMoCtrl",templateUrl:"app/settings/shared/events/event-action.dlg.html",targetEvent:e}).then((function(t){p.eventHook.actions.push(t.action),n.$setDirty(),S(e,n)}))},p.editAction=function(e,n,t){a.show({locals:{newAction:!1,eventGuid:p.eventHookId,eventId:p.eventHook.eventID,availableEvents:p.availableEvents,availableVariables:p.eventVariables,action:angular.copy(n),defaultEmail:d.user.emailAddress,level:"user"},controller:"eventActionEditDialogController",controllerAs:"EvMoCtrl",templateUrl:"app/settings/shared/events/event-action.dlg.html",targetEvent:e}).then((function(o){var i;if(o.deleteAction)return-1!=(i=n.$$index)&&(p.eventHook.actions.splice(i,1),t.$setDirty()),void S(e,t);-1==(i=n.$$index)?p.eventHook.actions.push(o.action):p.eventHook.actions[i]=o.action,t.$setDirty(),S(e,t)}))},p.getActionTranslation=u.getActionTranslation,p.getGenericConditionTranslation=u.getGenericConditionTranslation,p.getConditionTranslation=u.getConditionTranslation,p.getConditionTypeString=u.getConditionTypeString,p.getActionMiddleString=u.getActionMiddleString,p.getActionBottomString=u.getActionBottomString,p.verifyEventTypeChange=N,p.verifyEventCategoryChange=D,p.isConditionEditable=function(e,n){switch(e){case 3e4:return"todomain"!==n.key&&"toaddress"!==n.key;case 30001:return"fromaddress"!==n.key&&"fromdomain"!==n.key;case 30002:case 30004:case 30005:return"domain"!==n.key&&"emailaddress"!==n.key}return!0},p.cancel=function(){s.go("^")}
411,p.cancelOptions=function(e,n){n.$setPristine(),I()},p.hasActions=function(){return p.eventHook&&p.eventHook.actions&&p.eventHook.actions.length>0},p.hasConditions=function(){return p.eventHook&&p.eventHook.conditions&&p.eventHook.conditions.length>0},p.setActionHigherPriority=function(e,n,t){n.stopPropagation();var o=e.$$index;if(void 0===o||o<=0)return;var i=p.eventHook.actions[o-1];p.eventHook.actions[o-1]=p.eventHook.actions[o],p.eventHook.actions[o]=i,T(),S(n,t)},p.setActionLowerPriority=function(e,n,t){n.stopPropagation();var o=e.$$index;if(void 0===o||o>=p.eventHook.actions.length-1)return;var i=p.eventHook.actions[o+1];p.eventHook.actions[o+1]=p.eventHook.actions[o],p.eventHook.actions[o]=i,T(),S(n,t)},p.setConditionHigherPriority=function(e,n,t){n.stopPropagation();var o=e.$$index;if(void 0===o||o<=0)return;var i=p.eventHook.conditions[o-1];p.eventHook.conditions[o-1]=p.eventHook.conditions[o],p.eventHook.conditions[o]=i,y(),S(n,t)},p.setConditionLowerPriority=function(e,n,t){n.stopPropagation();var o=e.$$index;if(void 0===o||o>=p.eventHook.conditions.length-1)return;var i=p.eventHook.conditions[o+1];p.eventHook.conditions[o+1]=p.eventHook.conditions[o],p.eventHook.conditions[o]=i,y(),S(n,t)},p.deleteCheckedConditions=function(e,n){var t=p.conditionsCheckboxes.getCheckedItems();if(!t||!t.length)return;var o=a.confirmDeletion().textContent(k.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:t.length})).targetEvent(e);a.show(o).then((function(){var o=t.map((function(e){return parseInt(e,10)}));p.eventHook.conditions=p.eventHook.conditions.filter((function(e){return-1===o.indexOf(e.$$index)})),y(),m(),S(e,n)}),(function(){}))},p.deleteCheckedActions=function(e,n){var t=p.conditionsCheckboxes.getCheckedItems();if(!t||!t.length)return;var o=a.confirmDeletion().textContent(k.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:t.length})).targetEvent(e);a.show(o).then((function(){var o=t.map((function(e){return parseInt(e,10)}));p.eventHook.actions=p.eventHook.actions.filter((function(e){return-1===o.indexOf(e.$$index)})),T(),m(),S(e,n)}),(function(){}))},I(),p.gridSections=[{translate:"OPTIONS",length:-1},{translate:"CONDITIONS",length:0,disabled:"new"===p.eventHookId},{translate:"ACTIONS",length:0,disabled:"new"===p.eventHookId}],p.selectedSection="OPTIONS",p.changeSection=function(e){p.selectedSection=e},p.conditionsTableParams=new h({sorting:{$$order:"asc"},count:25},{dataset:[],counts:e.commonTableCounts}),p.conditionsCheckboxes=H.init("$$index"),p.conditionsCheckboxes.table=p.conditionsTableParams,p.actionsTableParams=new h({sorting:{$$order:"asc"},count:25},{dataset:[],counts:e.commonTableCounts}),p.actionsCheckboxes=H.init("$$index"),p.actionsCheckboxes.table=p.actionsTableParams}e.$inject=["$rootScope","$scope","$http","$filter","$q","$mdDialog","$state","$log","$translate","$timeout","coreData","coreDataSettings","eventData","errorHandling","i18n","successHandling","NgTableParams","gridCheckboxes","masonryReveal"],angular.module("smartermail").controller("userSettingsGeneralEventItemController",e)}();
412!function(){"use strict";function e(e,t,n,o,r,s,a,i,c,d,l,u,g,v,h){var p=this;function f(e,t){var o=p.checkboxes.getCheckedItems();if(o&&o.length&&angular.isArray(o)){var s=r.confirmDeletion().textContent(h.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:o.length})).targetEvent(t);r.show(s).then((function(){var e=JSON.stringify({input:o});n.post("~/api/v1/settings/event-hook-delete",e).then((function(){p.checkboxes.reset(),p.tableParams.reload()}),i.report)}))}}p.eventData=l,p.tableParams=new u({sorting:{name:"asc"},count:25},{getData:function(e){var t=!1,r="",s=v.defer();for(var a in e.sorting())if(e.sorting().hasOwnProperty(a)&&e.sorting()[a]){t="desc"===e.sorting()[a],r=a;break}var i={startIndex:(e.page()-1)*e.count(),count:e.count(),name:p.searchText,sortDescending:t};function c(e){p.eventData.eventIsLoading?setTimeout(c,10,e):(e.forEach((function(e){e.whenType=p.eventData.getEventWhenString(e)})),e=o("orderBy")(e,r,t),p.currentPageResults=e,s.resolve(e))}return n.post("~/api/v1/settings/event-hooks-by-owner",JSON.stringify(i)).then((function(t){e.total(t.data.total),c(t.data.eventHooks)}),(function(){s.reject()})),s.promise},counts:e.commonTableCounts}),p.checkboxes=g.init("id"),p.checkboxes.table=p.tableParams,p.deleteEvents=f,p.editEvent=function(e,t){if(d.selectMode){var n=d.selectedCards.indexOf(e);n>-1?d.selectedCards.splice(n,1):d.selectedCards.push(e)}else s.go("index.settings.user-events.specific",{id:e.id})},p.newEvent=function(e){s.go("index.settings.user-events.specific",{id:"new"})},p.searchItems=function(){p.tableParams.reload()},p.contextMenuGridItem=function(e,n){if(!n||"touchstart"!==n.type&&"touchend"!==n.type&&3!==n.which||e.criticallyErrored)return;n.stopPropagation(),n.preventDefault();var o=p.checkboxes.getCheckedItems();(o.length>1&&!_.some(o,(function(t){return t===e.id}))||o.length<=1)&&(p.checkboxes.reset(),p.checkboxes.checkCheckbox(n,e),o=[e.
412id]);t.dropdownEvent=$.extend(!0,{},n),t.dropdownOptions=[{key:"deleteEvents",click:f,params:t.dropdownEvent,translateKey:"DELETE"}];var r=$("#context-menu-area");if(r){var s=a('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(t);r.append(s)}}}e.$inject=["$rootScope","$scope","$http","$filter","$mdDialog","$state","$compile","errorHandling","coreData","coreDataSettings","eventData","NgTableParams","gridCheckboxes","$q","i18n"],angular.module("smartermail").controller("userSettingsGeneralEventsController",e)}();
413!function(){"use strict";function n(n,i,e,o,t,r,c,p,s,a,l,d,f,u,g,D,v,m,T,y){function E(){if(0===n.conferencingProviderType)return t.instant("ONLINE_MEETINGS");var i=n.providerOptions.find((function(i){return i.providerType===n.conferencingProviderType}));return i?i.name:""}n.newItem=f,n.title=d,n.appointDuration=a,n.appointLocation=l,n.bookingHorizonLimit=D,n.conferencingProviderType=u?g||0:null,n.providerOptions=[],n.appointDescription=v,n.icsDescription=m,n.isUsingDifferentDescription=T,n.appointmentExists=y,n.save=function(){null!==n.icsDescription&&""!==n.icsDescription?n.isUsingDifferentDescription=!0:n.isUsingDifferentDescription=!1;o((function(){if(n.userForm.$valid){var e={name:n.title,duration:n.appointDuration,location:n.appointLocation,isOnline:null!==n.conferencingProviderType,conferencingProviderType:null===n.conferencingProviderType?0:n.conferencingProviderType,bookingHorizonLimit:n.bookingHorizonLimit,isUsingDifferentDescription:n.isUsingDifferentDescription,description:n.appointDescription,icsDescription:n.icsDescription};i.hide({deleteItem:!1,appointmentType:e})}}))},n.delete=function(){i.hide({deleteItem:!0})},n.cancel=function(){i.cancel()},n.onProviderChanged=function(){null!==n.conferencingProviderType?n.appointLocation=t.instant("VIDEO_CONFERENCE_WITH_TYPE",{type:E()}).trim():n.appointLocation=l},n.onlineMeetingAllowed=!0,function(){const i=c.user.settings.features;n.onlineMeetingAllowed=i.enableWebConferencing&&1!==p.edition,s.loadProviders().then((function(i){n.providerOptions=(i||[]).filter((function(i){return i.providerType===n.conferencingProviderType||(0===i.providerType?i.enabled&&n.onlineMeetingAllowed:i.enabled&&i.connected)}))}),(function(){n.providerOptions=n.onlineMeetingAllowed?[{providerType:0,name:t.instant("ONLINE_MEETINGS")}]:[]}))}()}n.$inject=["$scope","$mdDialog","$filter","$timeout","$translate","coreData","userDataService","coreLicensing","conferencing","appointDuration","appointLocation","title","newItem","isOnline","conferencingProviderType","bookingHorizonLimit","description","icsDescription","isUsingDifferentDescription","appointmentExists"],angular.module("smartermail").controller("userEditAppointmentTypeController",n)}();
414!function(){"use strict";function e(e,n,t,a,i,r,s,o,d,c,l,u,p,m,g,h,f,y,E){var S=this,D=E.create(n);function b(e){function t(){S.data.profileUrl=f.user.pictureUrl,S.randomUrlString=Math.random().toString(),n.$applyAsync()}f.init().then((function(){var e=[m.init().then(T,r.report),f.user.refreshPictureUrl().then(t,(function(){}))];a.all(e).then((function(){}),(function(){})).finally((function(){S.loading=!1,D.wait((function(){S.contentReady=!0}))}))}),r.report)}function C(e){var n=e.split(":");return moment().hours(n[0]).minutes(n[1]).seconds(n[2]).toDate()}async function T(){return await w(),t.get("~/api/v1/settings/user-mail").then(R,(function(){}))}function R(e){S.dateStarts=[],S.dateEnds=[];var n=e.data.userMailSettings.schedulingSettings;if(e.data.userMailSettings.schedulingSettings.schedulingPassword&&(S.schedulingPasswordSet=!0),S.publicLinkInfo=n.publicLinkInfo,S.schedulingGuid=n.schedulingGuid,S.enableScheduling=n.enabled,S.previousSchedulingEnabled=n.enabled,S.privateAppointments=n.privateAppointment,S.enablePassword=n.passwordProtected,S.schedulingPassword=n.scheduleSettings,S.calendar=n.calendarId,S.leadTime=n.leadTime,S.minBetween=n.minutesBetween,S.pageDescription=n.pageDescription,S.backgroundColor=n.backgroundColor,S.titleColor=n.appointmentTitleColor,S.displayColor=n.displayNameColor,S.dateStarts.push(C(n.sunday.start)),S.dateStarts.push(C(n.monday.start)),S.dateStarts.push(C(n.tuesday.start)),S.dateStarts.push(C(n.wednesday.start)),S.dateStarts.push(C(n.thursday.start)),S.dateStarts.push(C(n.friday.start)),S.dateStarts.push(C(n.saturday.start)),S.dateEnds.push(C(n.sunday.end)),S.dateEnds.push(C(n.monday.end)),S.dateEnds.push(C(n.tuesday.end)),S.dateEnds.push(C(n.wednesday.end)),S.dateEnds.push(C(n.thursday.end)),S.dateEnds.push(C(n.friday.end)),S.dateEnds.push(C(n.saturday.end)),S.dateEnableds.push(n.sunday.enabled),S.dateEnableds.push(n.monday.enabled),S.dateEnableds.push(n.tuesday.enabled),S.dateEnableds.push(n.wednesday.enabled),S.dateEnableds.push(n.thursday.enabled),S.dateEnableds.push(n.friday.enabled),S.dateEnableds.push(n.saturday.enabled),S.customFields=n.schedulingFields,S.appointmentTypes=n.appointmentTypes,S.appointmentTypes.sort((function(e,n){return e.name.localeCompare(n.name)})),S.conflictCalendars=n.conflictCalendars,S.conflictCalendars.sort((function(e,n){return e.name.localeCompare(n.name)})),S.data.emailAddress=f.user.emailAddress,S.data.contactInfo=angular.copy(e.data.userMailSettings.userContactInfo),S.calendars=[],angular.forEach(S.sourceCalendars,(function(e){e.owner==h.user.username&&S.calendars.push(e)})),!S.calendar){var t=c("filter")(S.calendars,{isPrimary:!0});t&&(S.calendar=t[0].id)}null==S.customFields?S.customFields=[{name:"",required:!1}]:S.customFields.length<5&&S.customFields.push({name:"",required:!1}),S.publicLinkInfo.startsWith(S.baseCalendarLink)?S.calendarLink=S.publicLinkInfo:S.calendarLink=S.baseCalendarLink+S.publicLinkInfo+"#/";var a=S.calendarLink.replace(/"/g,"&quot;").replace(/'/g,"&#39;");S.embedCode='<iframe src="'+a+'" style="width: 100%; height: 100%;" frameborder="0" scrolling="yes"></iframe>',angular.forEach(S.sourceCalendars,(function(e){e.selected=S.conflictCalendars.some((function(n){return n.id===e.id}))}))}function w(){return t.get("~/api/v1/calendars/sources").then(H,P)}function H(e){S.sourceCalendars=e.data.calendars,angular.forEach(S.sourceCalendars,(function(e){e.isVisible=g.getSourceVisibility("calendars",e),e.name=e.name.replace("~CAL_SHARE|","");const n=e.name.split("|");n.length>1&&(n.pop(),e.name=n.join("|"))})),S.sourceCalendars.sort((function(e,n){return null==e?-1:null==n||e.isSharedItem&&!n.isSharedItem?1:n.isS
414haredItem&&!e.isSharedItem?-1:e.isSharedItem||!e.isPrimary||n.isPrimary?n.isSharedItem||!n.isPrimary||e.isPrimary?e.isDomainResource&&!n.isDomainResource?1:n.isDomainResource&&!e.isDomainResource?-1:function(e,n){return n=null==n?"":n,(e=null==e?"":e).localeCompare(n,void 0,{sensitivity:"base"})}(e.name,n.name):1:-1}))}function P(e){return e}function v(e,n){var t=S.appointmentTypes.indexOf(e);-1!==t&&S.appointmentTypes.splice(t,1),S.appointmentTypes.sort((function(e,n){return e.name.localeCompare(n.name)})),n.$setDirty()}S.data={profileUrl:"/interface/img/ST_User_Cir.svg",profileName:""},S.randomUrlString=Math.random().toString(),S.loading=!0,S.contentReady=!1,S.showAppointmentTypeError=!1,S.daysOfWeek=[{name:"Sunday",translate:"SUNDAY"},{name:"Monday",translate:"MONDAY"},{name:"Tuesday",translate:"TUESDAY"},{name:"Wednesday",translate:"WEDNESDAY"},{name:"Thursday",translate:"THURSDAY"},{name:"Friday",translate:"FRIDAY"},{name:"Saturday",translate:"SATURDAY"}],S.dateStarts=[],S.dateEnds=[],S.dateEnableds=[],S.customFields=[{name:"",required:!1}],S.appointmentTypes=[],S.conflictCalendars=[],S.calendars=[],S.sourceCalendars=[],S.calendar="",S.privateAppointments=!1,S.enablePassword=!1,S.minBetween=3,S.leadTime=0,S.isDisabled=!1,S.enableScheduling=!1,S.pageDescription="",S.embedCode="",S.displayColor="#fe6c6c",S.titleColor="#00e08a",S.backgroundColor="#005fdb",S.calander="",S.baseCalendarLink=f.baseUrl+"/interface/schedule-appointment/",S.calendarLink="",S.schedulingGuid="",S.publicLinkInfo="",S.schedulingPassword="",S.bookingHorizonLimit=0,S.icsDescription="",S.description="",S.isUsingDifferentDescription=!1,S.ignoreEndChange=!1,S.onEnableSchedulingChanged=function(){if(S.enableScheduling){var e=0!==S.appointmentTypes.length,t=o.instant("SCHEDULE_APPOINTMENT");e||(S.appointmentTypes.push({name:t,duration:1,location:"",isOnline:!1,conferencingProviderType:0,bookingHorizonLimit:0,isUsingDifferentDescription:!1,description:"",icsDescription:""}),S.appointmentTypes.sort((function(e,n){return e.name.localeCompare(n.name)})),n.pageForm&&n.pageForm.$setDirty())}else S.previousSchedulingEnabled===S.enableScheduling&&n.pageForm&&n.pageForm.$setPristine()},S.previousSchedulingEnabled=!1,S.schedulingPasswordSet=!1,S.reloadState=function(e){b(!0),e.$setPristine()},S.save=function(e,n){if(!n.$valid)return;if(null==S.calendar||""==S.calendar)return;if(S.appointmentTypes.length<=0&&S.enableScheduling)return void(S.showAppointmentTypeError=!0);S.showAppointmentTypeError=!1;var a=S.customFields.length-1;""==S.customFields[a].name&&S.customFields.splice(a,1);S.conflictCalendars=S.sourceCalendars.filter((function(e){return e.selected&&e.id!==S.calendar})).map((function(e){return{id:e.id,name:e.name}}));var i={userMailSettings:{schedulingSettings:{enabled:S.enableScheduling,privateAppointment:S.privateAppointments,passwordProtected:S.enablePassword,schedulingPassword:S.schedulingPassword,schedulingGuid:S.schedulingGuid,publicLinkInfo:S.publicLinkInfo,calendarId:S.calendar,leadTime:S.leadTime,minutesBetween:S.minBetween,pageDescription:S.pageDescription,backgroundColor:S.backgroundColor,appointmentTitleColor:S.titleColor,displayNameColor:S.displayColor,sunday:{start:moment(S.dateStarts[0]).format("HH:mm:ss"),end:moment(S.dateEnds[0]).format("HH:mm:ss"),enabled:S.dateEnableds[0]},monday:{start:moment(S.dateStarts[1]).format("HH:mm:ss"),end:moment(S.dateEnds[1]).format("HH:mm:ss"),enabled:S.dateEnableds[1]},tuesday:{start:moment(S.dateStarts[2]).format("HH:mm:ss"),end:moment(S.dateEnds[2]).format("HH:mm:ss"),enabled:S.dateEnableds[2]},wednesday:{start:moment(S.dateStarts[3]).format("HH:mm:ss"),end:moment(S.dateEnds[3]).format("HH:mm:ss"),enabled:S.dateEnableds[3]},thursday:{start:moment(S.dateStarts[4]).format("HH:mm:ss"),end:moment(S.dateEnds[4]).format("HH:mm:ss"),enabled:S.dateEnableds[4]},friday:{start:moment(S.dateStarts[5]).format("HH:mm:ss"),end:moment(S.dateEnds[5]).format("HH:mm:ss"),enabled:S.dateEnableds[5]},saturday:{start:moment(S.dateStarts[6]).format("HH:mm:ss"),end:moment(S.dateEnds[6]).format("HH:mm:ss"),enabled:S.dateEnableds[6]},schedulingFields:S.customFields,appointmentTypes:S.appointmentTypes,conflictCalendars:S.conflictCalendars,bookingHorizonLimit:S.bookingHorizonLimit,isUsingDifferentDescription:S.isUsingDifferentDescription,description:S.description,icsDescription:S.icsDescription}}};S.schedulingPassword||delete i.userMailSettings.schedulingSettings.schedulingPassword;var s=JSON.stringify(i);
414t.post("~/api/v1/settings/user-mail",s).then((function(){S.previousSchedulingEnabled=S.enableScheduling,n.$setPristine(),S.showAppointmentTypeError=!1,S.customFields.length<5&&S.customFields.push({name:"",required:!1})}),r.report)},S.newAppointment=function(e,n){var t=S.appointmentTypes.length>1;i.show({locals:{title:"",appointDuration:0,newItem:!0,appointLocation:"",isOnline:!1,conferencingProviderType:0,bookingHorizonLimit:0,isUsingDifferentDescription:!1,description:"",icsDescription:"",appointmentExists:t},controller:"userEditAppointmentTypeController",controllerAs:"ctrl",templateUrl:"app/settings/user-settings/scheduling-settings/edit-appointmentType.dlg.html",targetEvent:e}).then((function(e){S.appointmentTypes.push({name:e.appointmentType.name,duration:e.appointmentType.duration,location:e.appointmentType.location,isOnline:e.appointmentType.isOnline,conferencingProviderType:e.appointmentType.conferencingProviderType,bookingHorizonLimit:e.appointmentType.bookingHorizonLimit,isUsingDifferentDescription:e.appointmentType.isUsingDifferentDescription,description:e.appointmentType.description,icsDescription:e.appointmentType.icsDescription}),S.appointmentTypes.sort((function(e,n){return e.name.localeCompare(n.name)})),n.$setDirty()}),(function(){}))},S.editAppointment=function(e,n,t){var a=S.appointmentTypes.length>1;i.show({locals:{title:n.name,appointDuration:n.duration,newItem:!1,appointLocation:n.location,isOnline:n.isOnline,conferencingProviderType:n.conferencingProviderType||0,bookingHorizonLimit:n.bookingHorizonLimit,isUsingDifferentDescription:n.isUsingDifferentDescription,description:n.description,icsDescription:n.icsDescription,appointmentExists:a},controller:"userEditAppointmentTypeController",controllerAs:"ctrl",templateUrl:"app/settings/user-settings/scheduling-settings/edit-appointmentType.dlg.html",targetEvent:e}).then((function(e){e.deleteItem?v(n,t):(e.appointmentType.id=n.id,v(n,t),S.appointmentTypes.push(e.appointmentType),S.appointmentTypes.sort((function(e,n){return e.name.localeCompare(n.name)})),t.$setDirty())}))},S.getDuration=function(e){switch(e){case 0:return y.reactPluralize("REMINDER_MINUTES",{count:15});case 1:return y.reactPluralize("REMINDER_MINUTES",{count:30});case 2:return y.reactPluralize("REMINDER_MINUTES",{count:45});case 3:return y.reactPluralize("REMINDER_HOURS",{count:1});case 15:return y.reactPluralize("REMINDER_HOURS",{count:1.5});case 4:return y.reactPluralize("REMINDER_HOURS",{count:2});case 5:return y.reactPluralize("REMINDER_HOURS",{count:3});case 6:return y.reactPluralize("REMINDER_HOURS",{count:4});case 7:return y.reactPluralize("REMINDER_HOURS",{count:5});case 8:return y.reactPluralize("REMINDER_HOURS",{count:6});case 9:return y.reactPluralize("REMINDER_HOURS",{count:7});case 10:return y.reactPluralize("REMINDER_HOURS",{count:8});case 11:return y.reactPluralize("REMINDER_HOURS",{count:9});case 12:return y.reactPluralize("REMINDER_HOURS",{count:10});case 13:return y.reactPluralize("REMINDER_HOURS",{count:11});case 14:return y.reactPluralize("REMINDER_HOURS",{count:12})}return""},S.onFieldBlur=function(e,n,t){var a=t["field"+n].$viewValue;a&&0!==a.length||e||S.customFields.splice(n,1)},S.onFieldChanged=function(e,n,t){var a=t["field"+n].$viewValue;a&&a.length>0&&e&&S.customFields.length<5&&S.customFields.push({name:"",required:!1})}
414,S.fieldDelete=function(e,n){n.$setDirty(),S.customFields.splice(e,1),(0==S.customFields.length||""!=S.customFields[S.customFields.length-1].name)&&S.customFields.push({name:"",required:!1})},S.changeDate=function(e){var n;switch(e){case"Sunday":n=0;break;case"Monday":n=1;break;case"Tuesday":n=2;break;case"Wednesday":n=3;break;case"Thursday":n=4;break;case"Friday":n=5;break;case"Saturday":n=6;break;default:return}var t=moment(S.dateStarts[n]),a=moment(S.dateEnds[n]);t.hour()>=a.hour()&&(S.dateEnds[n]=moment(S.dateEnds[n]).hour(moment(S.dateStarts[n]).hour()).toDate(),S.ignoreEndChange=!0);t.hour()===a.hour()&&t.minute()>=a.minute()&&(S.dateEnds[n]=a.minute(t.minute()).toDate(),S.ignoreEndChange=!0)},S.getAppointmentName=function(e){return e.name},S.hideFieldDelete=function(e){return 1==S.customFields.length&&""==S.customFields[0].name&&0==e},w(),b(),n.$watch("pageCtrl.dateStarts[0]",(function(){S.changeDate("Sunday")})),n.$watch("pageCtrl.dateStarts[1]",(function(){S.changeDate("Monday")})),n.$watch("pageCtrl.dateStarts[2]",(function(){S.changeDate("Tuesday")})),n.$watch("pageCtrl.dateStarts[3]",(function(){S.changeDate("Wednesday")})),n.$watch("pageCtrl.dateStarts[4]",(function(){S.changeDate("Thursday")})),n.$watch("pageCtrl.dateStarts[5]",(function(){S.changeDate("Friday")})),n.$watch("pageCtrl.dateStarts[6]",(function(){S.changeDate("Saturday")})),n.$watch("pageCtrl.dateEnds[0]",(function(){S.ignoreEndChange?S.ignoreEndChange=!1:S.changeDate("Sunday")})),n.$watch("pageCtrl.dateEnds[1]",(function(){S.ignoreEndChange?S.ignoreEndChange=!1:S.changeDate("Monday")})),n.$watch("pageCtrl.dateEnds[2]",(function(){S.ignoreEndChange?S.ignoreEndChange=!1:S.changeDate("Tuesday")})),n.$watch("pageCtrl.dateEnds[3]",(function(){S.ignoreEndChange?S.ignoreEndChange=!1:S.changeDate("Wednesday")})),n.$watch("pageCtrl.dateEnds[4]",(function(){S.ignoreEndChange?S.ignoreEndChange=!1:S.changeDate("Thursday")})),n.$watch("pageCtrl.dateEnds[5]",(function(){S.ignoreEndChange?S.ignoreEndChange=!1:S.changeDate("Friday")})),n.$watch("pageCtrl.dateEnds[6]",(function(){S.ignoreEndChange?S.ignoreEndChange=!1:S.changeDate("Saturday")})),n.$watch((function(){return S.appointmentTypes.length}),(function(e){e>0&&(S.showAppointmentTypeError=!1)})),n.copyLink=function(){$("#publicLink").select().trigger("focus"),document.execCommand("copy"),s.report("COPIED_TO_CLIPBOARD")},n.copyEmbed=function(){$("#embeddedCode").select().trigger("focus"),document.execCommand("copy"),s.report("COPIED_TO_CLIPBOARD")}}e.$inject=["$rootScope","$scope","$http","$q","$mdDialog","errorHandling","successHandling","$translate","$timeout","$filter","coreLicensing","coreDataSettings","coreDataCalendar","userTimeService","preferencesStorage","userDataService","coreData","i18n","masonryReveal"],angular.module("smartermail").controller("userSettingsSchedulingController",e)}();
415!function(){"use strict";function e(e,r,s,t,a,n){var o;e.allowDelete=n,s.get(`~/api/v1/settings/connected-services/${a}`).then((function(r){o=r.data.service,e.name=o.friendlyName,e.type=o.type,10===e.type&&(e.serverAddress=o.url,e.userName=o.userName,e.password=o.password)}),(function(e){t.report(e),r.cancel()})),e.save=function(){var a={deleteItem:!1,name:e.name,url:e.serverAddress,userName:e.userName,password:e.password};if(10===e.type){var n=JSON.stringify({url:e.serverAddress,userName:e.userName,password:e.password});s.post("~/api/v1/settings/owncloud-test",n).then((function(e){e.data.success?r.hide(a):t.report(e.data.message)}),t.report)}else r.hide(a)},e.delete=function(){r.hide({deleteItem:!0})},e.cancel=function(){r.cancel()}}e.$inject=["$scope","$mdDialog","$http","errorHandling","connectionId","allowDelete"],angular.module("smartermail").controller("userCloudStorageDialogController",e)}();
416!function(){"use strict";function s(s,i,a){s.isPassValid=!0,s.isValid=!0,s.password="",s.accountOnlyRemoteWipe=!0,s.canAccountOnlyRemoteWipe=a||!1,s.save=function(){if(!s.password||!s.isPassValid)return s.isValid=!1,void(s.isPassValid=!1);i.hide({password:s.password,accountOnlyRemoteWipe:s.accountOnlyRemoteWipe})},s.cancel=function(){i.cancel()},s.$watch("password",(function(i,a){i!==a&&(s.password?(s.isValid=!0,s.isPassValid=!0):s.isPassValid=!1)}))}s.$inject=["$scope","$mdDialog","canAccountOnlyRemoteWipe"],angular.module("smartermail").controller("userRemoteWipeConfirmController",s)}();
417!function(){"use strict";function e(e,i,t,n,a,d,o,r,c,l,s,p,m,y){e.friendlyName=n,e.description=a,e.ip=o,e.type=d,e.rssLink=r,e.deviceId=c,e.userAgent=l,e.lastSync=s?s.toDate():void 0,e.isValid=!0,e.isNameValid=!0,e.isDescValid=!0,e.ignoreWatch=!0,e.lastSyncText=t("date")(e.lastSync,"medium"),e.remoteWipeAllowed=p,e.hostname=m,e.protocolVersion=y,e.save=function(){if(void 0===e.friendlyName&&void 0===e.description)return void i.cancel();if("ACTIVESYNC"===e.type&&e.friendlyName||e.description)return void i.hide({friendlyName:e.friendlyName,description:e.description});void 0!==e.friendlyName&&"ACTIVESYNC"===e.type?(e.isNameValid=!1,e.isValid=!1):void 0===e.description||"ADD_TO_OUTLOOK"!==e.type&&"STSSYNC"!==e.type?i.cancel():(e.isDescValid=!1,e.isValid=!1)},e.remoteWipe=function(){i.hide({remoteWipe:!0})},e.delete=function(){i.hide({deleteItem:!0})},e.cancel=function(){i.cancel()},e.typeStr=t("translate")(d),"ACTIVESYNC"===e.type?e.$watch("friendlyName",(function(){e.ignoreWatch?e.ignoreWatch=!1:""===e.friendlyName?e.isNameValid=!1:(e.isNameValid=!0,e.isValid=!0)})):"ADD_TO_OUTLOOK"!==e.type&&"STSSYNC"!==e.type||e.$watch("description",(function(){e.ignoreWatch?e.ignoreWatch=!1:""===e.description?e.isDescValid=!1:(e.isDescValid=!0,e.isValid=!0)}))}e.$inject=["$scope","$mdDialog","$filter","friendlyName","description","type","ip","rssLink","deviceId","userAgent","lastSync","remoteWipeAllowed","hostname","protocolVersion"],angular.module("smartermail").controller("userSyncDeviceController",e)}();
418!function(){"use strict";function t(t,e,n,a,s,i,o,r,c,u,l,d,p,g,m,h,f,v){var S=this;function A(){S.migrationStarting=!1,S.migrationStatus=l.settingsData.migrationStatus,S.migrationStatus.doneImporting&&!S.cancelled?i.post("~/api/v1/settings/migration-complete").then((function(){S.cancelled=!0,E()}),(function(){S.cancelled=!0,E()})):S.migrationStatus.doneImporting&&S.cancelled?S.migrationStatus=null:l.migrationID||i.get("~/api/v1/settings/migrations").then((function(t){t.data.migrations&&t.data.migrations.length&&(l.migrationID=t.data.migrations[0].id)}),(function(){})),e.$applyAsync()}function y(t,e){S.migrationStarting=!1,S.migrationError=!0,S.migrationErrorMessage=e.message}function T(){S.migrationStarting=!0,S.cancelled=!1,S.migrationCompleted=!1}function E(){l.resetMigrationStatus(),I(2e3).then((function(){S.migrationStatus=null}))}function I(t){var e=o.defer();return r((function(){e.resolve()}),t||500),e.promise}function C(t,e){if(t.deleteItem){var a=s.confirmDeletion().textContent(n("translate")("CONFIRMATIONS_DELETE_ITEMS_one"));s.show(a).then((function(){i.post("~/api/v1/settings/retrieval-accounts-delete",JSON.stringify({ids:[e.
418id]})).then(N,g.report)}),(function(){}))}else t.processing?e.isProcessing=!0:(e.serverAddress=t.serverAddress,e.username=t.username,e.emailAddress=t.username,e.password=t.password,e.serverPort=t.serverPort,e.encryption=t.encryption,e.deleteEverythingBeforeImport=t.deleteEverythingBeforeImport,e.downloadToFolder=t.downloadToFolder,e.enableSpamFilter=t.enableSpamFilter,e.isManualRetrieval=t.isManualRetrieval,e.folderTransferMethod=t.folderTransferMethod,e.leaveMailOnServer=t.leaveMailOnServer,e.useApop=t.useApop,e.accountType=t.accountType,e.accountTypeDescription=t.accountTypeDescription,e.oauthAccount=t.oauthAccount,e.oauthAccessToken=t.oauthAccessToken,e.oauthRefreshToken=t.oauthRefreshToken,e.oauthTokenExpires=t.oauthTokenExpires,e.itemsToImport=1,e.id?i.post("~/api/v1/settings/retrieval-account",JSON.stringify({retrievalAccount:e})).then((function(t){e.id=t.data.id||e.id}),g.report):"IMAP"===e.accountType?i.post("~/api/v1/settings/imap-account-put",JSON.stringify({imapAccount:e})).then((function(t){e.id=t.data.id,S.retrievalAccounts.push(e),o(e)}),g.report):"POP"===e.accountType?i.post("~/api/v1/settings/pop-account-put",JSON.stringify({popAccount:e})).then((function(t){e.id=t.data.id,S.retrievalAccounts.push(e),o(e)}),g.report):i.post("~/api/v1/settings/exchange-account-put",JSON.stringify({exchangeAccount:e})).then((function(t){e.id=t.data.id,S.retrievalAccounts.push(e),o(e)}),g.report));function o(t){e.isManualRetrieval?h.startRetrieval(t).then((function(){t.isProcessing=!0,m.report("RETRIEVE_PROCESS_RUNNING")}),g.report):(t.isProcessing=!0,m.report("RETRIEVE_PROCESS_RUNNING"))}}function N(){i.get("~/api/v1/settings/retrieval-accounts").then((function(t){S.retrievalAccounts=t.data.accounts}),g.report)}function D(){i.get("~/api/v1/settings/user-smtp-accounts").then((function(t){S.smtpAccounts=t.data.smtpAccounts}),g.report)}S.smtpAccounts=[],S.retrievalAccounts=[],S.retrievalAllowed=!0,S.cloudStorageEnabled=!1,S.migrationStarting=!1,S.cancelled=!1,S.deviceTypes=["ACTIVESYNC","ADD_TO_OUTLOOK","CALDAV","CARDDAV","EWS","STSSYNC","MAPI"],S.connectedDevices=[],S.canRemoteWipe=!1,S.migrationSpinningUp=h.migrationSpinningUp,S.authenticatedIps=[],S.isEmpty=!0,S.editSmtpAccount=function(t,e){s.show({locals:{card:angular.copy(e),newItem:!1},controller:"userEditSmtpAccountsController",controllerAs:"ctrl",templateUrl:"app/settings/user-settings/external-accounts/smtp-account.dlg.html",targetEvent:t}).then((function(a){if(a.deleteItem){const a=s.confirmDeletion().textContent(n("translate")("CONFIRMATIONS_DELETE_ITEMS_one")).targetEvent(t);s.show(a).then((function(){const t=JSON.stringify({idsToDelete:[e.id]});i.post("~/api/v1/settings/user-smtp-accounts-delete",t).then(D,g.report)}),(function(){}))}else{const t=angular.copy(e);t.address=a.address,t.port=a.port,t.displayName=a.displayName,t.emailAddress=a.emailAddress,t.userName=a.userName,t.password=a.password,t.encryptionType=a.encryptionType,t.useAuthentication=a.useAuthentication,t.oauthCode=a.oauthCode,t.oauthAccessToken=a.oauthAccessToken,t.oauthRefreshToken=a.oauthRefreshToken,t.oauthAccount=a.oauthAccount,t.oauthTokenExpires=a.oauthTokenExpires;const n=JSON.stringify({smtpAccount:t});i.post("~/api/v1/settings/user-smtp-account-update",n).then(D,g.report)}}),(function(){}))},S.newRetrievalAccount=function(t){var e={isManualRetrieval:!0};s.show({locals:{account:null,isMigration:!1},controller:"externalEmailDialogController",controllerAs:"ctrl",templateUrl:"app/settings/user-settings/external-accounts/external-email.dlg.html",targetEvent:t}).then((function(t){C(t,e)}),(function(){}))},S.editRetrievalAccount=function(t,e){var n=e;s.show({locals:{account:angular.copy(n),isMigration:!1},controller:"externalEmailDialogController",controllerAs:"ctrl",templateUrl:"app/settings/user-settings/external-accounts/external-email.dlg.html",targetEvent:t}).then((function(t){C(t,n)}),(function(){}))},S.popupMigration=function(){s.show({locals:{account:null,isMigration:!0},controller:"externalEmailDialogController",controllerAs:"ctrl",templateUrl:"app/settings/user-settings/external-accounts/external-email.dlg.html"}).then((function(){S.migrationStarting=!1;l.settingsData.migrationStatus=[{type:1,count:0},{type:2,count:0},{type:3,count:0},{type:4,count:0},{type:5,count:0}],S.migrationStatus=l.settingsData.migrationStatus}),(function(){})).finally((function(){S.migrationError=!1,a.go("index.settings.advanced",{page:""})}))},S.abortMigration=function(){const t=s.confirm({title:c.instant("CONFIRMATION_REQUIRED"),textContent:c.instant("MAILBOXMIGRATION_CANCEL_CONFIRMATION_TEXT"),ok:c.instant("CANCEL_MIGRATION"),cancel:c.instant("CONTINUE_MIGRATION")});s.show(t).then((function(){if(!S.abortingMigration)return void 0===l.migrationID?(l.resetMigrationStatus(),void I(2e3).then((function(){S.migrationStatus=null}))):void i.post("~/api/v1/settings/kill-migration/"+l.migrationID).then((function(){l.resetMigrationStatus(),I(2e3).then((function(){S.migrationStatus=null}),(function(){})),S.cancelled=!0}),(function(){l.resetMigrationStatus(),I(2e3).then((function(){S.migrationStatus=null}),(function(){}))}))}),(function(){}))},S.editDevice=function(t,e){var n=JSON.stringify({deviceId:t.deviceId,type:t.syncType});i.post("~/api/v1/settings/sync-device",n).then((function(n){if(n.data&&n.data.devices&&n.data.devices.length>0){var a=t.id;(t=n.data.devices[0]).lastSyncTimeUTC=moment(t.lastSyncTimeUTC),t.id=a}if(l.selectMode){var i=l.selectedCards.indexOf(t);i>-1?l.selectedCards.splice(i,1):l.selectedCards.push(t)}else s.show({locals:{friendlyName:t.name?t.name:void 0,description:t.description?t.description:void 0,type:S.deviceTypes[t.syncType],ip:t.ip?t.ip:void 0,deviceId:t.deviceId?t.deviceId:void 0,userAgent:t.userAgent?t.userAgent:void 0,rssLink:t.rssLink?t.rssLink:void 0,lastSync:t.lastSyncTimeUTC?t.lastSyncTimeUTC:void 0,remoteWipeAllowed:S.canRemoteWipe&&0===t.syncType,hostname:t.hostname?t.hostname:void 0,protocolVersion:t.protocolVersion?t.protocolVersion:void 0},controller:"userSyncDeviceController",controllerAs:"ctrl",templateUrl:"app/settings/user-settings/external-accounts/edit-sync-device.dlg.html",targetEvent:e}).then((function(n){n.remoteWipe&&S.canRemoteWipe&&0===t.syncType?p.activeSyncRemoteWipe(t,e):n.deleteItem&&S.deleteDevices([t],e)}))}),(function(t){null!=t&&null!=t.reason&&"cancel"===t.reason||g.report(t)}))},S.deleteDevices=function(t,e){var n=s.confirmDeletion().textContent(v.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:t.length})).targetEvent(e);s.show(n).then((function(){angular.forEach(t,(function(t){switch(t.syncType){case 0:p.deleteActiveSync(t);break;case 1:case 5:p.deleteStsSync(t);break;
418case 2:case 3:p.deleteCardDavSync(t);break;case 4:p.deleteEwsSync(t);break;case 6:p.deleteMapiSync(t);break;default:g.report("CANT_DELETE_SYNC")}}))}),(function(){}))},S.resetMigrationState=E,S.resyncUserDevices=function(){var e=s.confirm().title(n("translate")("CONFIRMATION_REQUIRED")).textContent(c.instant("CONFIRMATIONS_RESYNC_USER_DEVICES")).cancel(n("translate")("CANCEL")).ok(n("translate")("CONTINUE"));s.show(e).then((function(e){t.spinner.show(),i.post("~/api/v1/settings/resync-user-devices").then((function(t){m.report(c.instant("RESYNC_COMPLETE_USER_NOTIFICATION"))}),g.report).finally(t.spinner.hide)}))},S.newSmtpAccount=function(t){s.show({locals:{card:{port:25,encryptionType:0},newItem:!0},controller:"userEditSmtpAccountsController",controllerAs:"ctrl",templateUrl:"app/settings/user-settings/external-accounts/smtp-account.dlg.html",targetEvent:t}).then((function(t){const e=JSON.stringify({smtpAccount:{address:t.address,port:t.port,displayName:t.displayName,emailAddress:t.emailAddress,userName:t.userName,password:t.password,encryptionType:t.encryptionType,useAuthentication:t.useAuthentication,oauthCode:t.oauthCode,oauthAccessToken:t.oauthAccessToken,oauthRefreshToken:t.oauthRefreshToken,oauthAccount:t.oauthAccount,oauthTokenExpires:t.oauthTokenExpires}});i.post("~/api/v1/settings/user-smtp-account-add",e).then(D,g.report)}),(function(){}))},e.$watch((function(){return h.migrationSpinningUp}),(function(t,e){S.migrationSpinningUp=t})),l.init().then((function(){e.$on("migrationRefresh",A),e.$on("migrationStarting",T),e.$on("migrationError",y),i.get("~/api/v1/settings/migration-status").then((function(t){if(S.migrationStarting=!1,t.data.status){var e=!0;if((t.data.status.status.email&&!t.data.status.status.email.done||t.data.status.status.calendar&&!t.data.status.status.calendar.done||t.data.status.status.contacts&&!t.data.status.status.contacts.done||t.data.status.status.tasks&&!t.data.status.status.tasks.done||t.data.status.status.notes&&!t.data.status.status.notes.done)&&(e=!1),e)return l.resetMigrationStatus(),S.migrationCompleted=!0,void(S.cancelled||(S.cancelled=!0,i.post("~/api/v1/settings/migration-complete").then(E,E)));var n=[{type:1,count:t.data.status.status.email?t.data.status.status.email.numberImported:0},{type:2,count:t.data.status.status.calendar?t.data.status.status.calendar.numberImported:0},{type:3,count:t.data.status.status.contacts?t.data.status.status.contacts.numberImported:0},{type:4,count:t.data.status.status.tasks?t.data.status.status.tasks.numberImported:0},{type:5,count:t.data.status.status.notes?t.data.status.status.notes.numberImported:0}];l.settingsData.migrationStatus=n,S.migrationStatus=l.settingsData.migrationStatus,i.get("~/api/v1/settings/migrations").then((function(t){t.data.migrations&&t.data.migrations.length&&(l.migrationID=t.data.migrations[0].id)}),(function(){}))}else l.resetMigrationStatus()}),(function(){}));var t=[i.get("~/api/v1/settings/retrieval-accounts"),i.get("~/api/v1/settings/user-smtp-accounts"),i.get("~/api/v1/settings/authenticated-ips"),d.init()];o.all(t).then((function(t){S.retrievalAccounts=t[0].data.accounts||[],S.retrievalAccounts.forEach((t=>{t.lastRetrievalUTC&&f.convertLocalToUserTime(t.lastRetrievalUTC).then((function(e){e.getSeconds()>=30&&e.setMinutes(e.getMinutes()+1),e.setSeconds(0),t.lastRetrieved=e}),(function(){}))})),S.smtpAccounts=t[1].data.smtpAccounts||[],S.authenticatedIps=t[2].data.authenticatedIps||[],S.isEmpty=!(Object.keys(S.authenticatedIps).length>0),angular.forEach(S.authenticatedIps,(function(t){angular.forEach(t,(function(t){t.lastLogin=n("date")(t.lastLogin,"short"),t.location&&"N/A"!=t.location?2==t.location.length&&(t.location=c.instant("COUNTRY_CODE_"+t.location)):t.location=null}))})),S.canRemoteWipe=l.userPermissions.enableRemoteWipe}),g.report),l.settingsData.userSyncDevices.then((function(t){p.connectedDevices=t,S.connectedDevices=p.connectedDevices,p.loadCards=function(){l.settingsData.userSyncDevices.then((function(){S.connectedDevices=p.connectedDevices}),g.report)}}),g.report)}),(function(){}))}t.$inject=["$rootScope","$scope","$filter","$state","$mdDialog","$http","$q","$timeout","$translate","coreData","coreDataSettings","userDataService","synchronizedDeviceInfo","errorHandling","successHandling","externalEmailService","userTimeService","i18n"],angular.module("smartermail").controller("userSettingsExternalAccountsController",t)}();
419!function(){"use strict";function e(e,t,c,o,n,a,s,r,u,i,l,d,p,f,T){const h=["outlook.office365.com","imap-mail.outlook.com","pop-mail.outlook.com"];function g(){if(!o.account.useOAuth)return t.when();const c=t.defer(),n=window.open("","_blank",d.dimensions.connectivity),a=JSON.stringify({redirectUri:`${u.baseUrl}/interface/connect-redirect`});return e.post(`~/api/v1/settings/microsoft-redirect/${o.account.accountType}`,a).then((function(e){s.handleConnectClose=r,n.location=e.data.result}),(function(e){i.report(e),n.close(),c.reject(e)})),c.promise;function r(e){s.handleConnectClose=null,e.code&&(o.account.oauthCode=e.code),e.error?c.reject(e.error):c.resolve()}}function m(){o.account.serverAddress&&-1!==h.indexOf(o.account.serverAddress.toLowerCase())?(o.account.useOAuth=!0,o.account.useSsl=!0,y()):(o.account.useOAuth=!1,o.account.oauthCode=null)}function y(){if(o.mustTestConnection=!0,!o.account.accountType)return;const e=parseInt(o.account.serverPort,10);!o.account.useSsl||110!==e&&143!==e||("IMAP"===o.account.accountType?o.account.serverPort=993:"POP"===o.account.accountType&&(o.account.serverPort=995)),o.account.useSsl||993!==e&&995!==e||("IMAP"===o.account.accountType?o.account.serverPort=143:"POP"===o.account.accountType&&(o.account.serverPort=110))}function v(e){e.$valid||t.when();const c=t.defer();var n;return o.testFailure=null,o.testingConnection=!0,o.testSuccess=!1,t.all([l.testConnection(o.account,o.isMigration),(n=t.defer(),a(n.resolve,500),n.promise)]).then((function(e){if(o.testingConnection=!1,o.testSuccess=e[0].data.testSuccessful,o.mustTestConnection=!o.testSuccess,o.testFailure=e[0].data.testSuccessful?null:r.
419instant(e[0].data.message||"CONNECTION_TEST_UNABLE_TO_CONNECT"),!o.testSuccess)return void c.reject();p.report(),c.resolve(e[0].data)}),(function(e){o.testingConnection=!1,o.testFailure=r.instant(e.data.message||"CONNECTION_TEST_UNABLE_TO_CONNECT"),o.sslAuthenticationFailed=e.sslAuthenticationFailed,c.reject()})),c.promise}o.accountTypes=l.accountTypes,o.defaultAccount={accountType:"POP",deleteEverythingBeforeImport:!1,domain:"",isManualRetrieval:!0,migrateEmail:!1,migrateContacts:!1,migrateCalendars:!1,migrateTasks:!1,migrateNotes:!1,password:"",selectedAccountType:null,serverAddress:"",serverPort:110,username:"",encryption:0,get useSsl(){return 1===this.encryption},set useSsl(e){this.encryption=e?1:0}},o.account=$.extend(o.defaultAccount,f),o.edit=function(){o.mode="edit",o.step=2,m()},o.folders=[],o.isMigration=T,o.mustTestConnection=!0,o.selectedFolder=null,o.sslAuthenticationFailed=!1,o.startingMigration=!1,o.step=1,o.testFailure=null,o.testingConnection=!1,o.testSuccess=!1,o.backStep=function(){if(!o.isMigration&&o.account.id||"edit"!==o.mode)return;2===o.step&&(o.step=1,o.testFailure=null,o.account=angular.copy(o.defaultAccount))},o.chooseAccountType=function(e){e.forceSSL&&(o.account.encryption=1);o.account.selectedAccountType=angular.copy(e),o.account.serverPort=e.presetPort||110,o.account.accountType=e.forceType||"POP",o.account.migrateEmail=!0,o.account.hideConnectionDetails=!!e.hideConnectionDetails,o.account.migrateContacts=!!e.contacts,o.account.migrateCalendars=!!e.calendars,o.account.migrateTasks=!!e.tasks,o.account.migrateNotes=!!e.notes,o.account.serverAddress=e.presetServer,o.step=2,m()},o.closeDialog=function(){n.cancel()},o.deleteAccount=function(){n.hide({deleteItem:!0})},o.onAccountTypeChanged=function(){if(o.mustTestConnection=!0,!o.account.accountType)return;const e=parseInt(o.account.serverPort,10);"IMAP"===o.account.accountType&&(o.account.selectedAccountType.contacts=!1,o.account.selectedAccountType.calendars=!1,o.account.selectedAccountType.tasks=!1,o.account.selectedAccountType.notes=!1,o.account.migrateContacts=!1,o.account.migrateCalendars=!1,o.account.migrateTasks=!1,o.account.migrateNotes=!1,110!==e&&995!==e&&443!==e||(o.account.serverPort=o.account.useSsl?993:143));"POP"===o.account.accountType&&(o.account.selectedAccountType.contacts=!1,o.account.selectedAccountType.calendars=!1,o.account.selectedAccountType.tasks=!1,o.account.selectedAccountType.notes=!1,o.account.migrateContacts=!1,o.account.migrateCalendars=!1,o.account.migrateTasks=!1,o.account.migrateNotes=!1,143!==e&&993!==e&&443!==e||(o.account.serverPort=o.account.useSsl?995:110));"EWS"===o.account.accountType&&(o.account.selectedAccountType.contacts=!0,o.account.selectedAccountType.calendars=!0,o.account.selectedAccountType.tasks=!0,o.account.selectedAccountType.notes=!0,o.account.migrateContacts=!0,o.account.migrateCalendars=!0,o.account.migrateTasks=!0,o.account.migrateNotes=!0,o.account.useSsl=!0,143!==e&&993!==e&&110!==e&&995!==e||(o.account.serverPort=443))},o.onServerChanged=m,o.onUseSslChanged=y,o.retrieveMessages=function(){l.startRetrieval(o.account).then((function(){n.hide({processing:!0}),p.report("RETRIEVE_PROCESS_RUNNING")}),i.report)},o.saveRetrieval=function(e){if(o.isMigration||"edit"!==o.mode||!e.$valid)return;g().then((function(){v(e).then((function(e){"ROOTFOLDERS"===o.account.folderTransferMethod&&"POP"!==o.account.accountType&&(o.account.folderTransferMethod="RootFolders",o.account.downloadToFolder=""),e.success&&e.testSuccessful&&n.hide({serverAddress:o.account.serverAddress,username:o.account.username,password:o.account.password,serverPort:o.account.serverPort,encryption:o.account.encryption,deleteEverythingBeforeImport:o.account.deleteEverythingBeforeImport,downloadToFolder:o.account.downloadToFolder,enableSpamFilter:o.account.enableSpamFilter,isManualRetrieval:o.account.isManualRetrieval,folderTransferMethod:o.account.folderTransferMethod,leaveMailOnServer:o.account.leaveMailOnServer,useApop:o.account.useApop,accountType:o.account.accountType,accountTypeDescription:o.account.selectedAccountType.name,id:o.account.id,oauthAccount:e.oauthAccount,oauthAccessToken:e.oauthAccessToken,oauthRefreshToken:e.oauthRefreshToken,oauthTokenExpires:e.oauthTokenExpires,itemsToImport:1})}),(function(){}))}),i.report)},o.startMigration=function(e,t){if(!o.isMigration||!e.$valid)return;o.account.bypassSslErrors=t,g().then((function(){v(e).then((function(e){e.success&&e.testSuccessful&&(o.account.oauthCode=null,o.account.oauthAccount=e.oauthAccount,o.account.oauthAccessToken=e.oauthAccessToken,o.account.oauthRefreshToken=e.oauthRefreshToken,o.account.oauthTokenExpires=e.oauthTokenExpires,o.testingConnection=!0,o.startingMigration=!0,l.startMigration(o.account).then((function(){n.hide()}),i.report).finally((function(){o.testingConnection=!1})))}),(function(){}))}),i.report)},function(){if(o.mode=o.account.id&&!o.isMigration?"view":"edit",o.isMigration)return;(function(){if(!o.account.id||o.ismigration)return;if(o.account.accountTypeDescription){for(let e=0;e<l.accountTypes.length;e++)if(l.accountTypes[e].name===o.account.accountTypeDescription){o.account.selectedAccountType=angular.copy(l.accountTypes[e]);break}}else{let e=0;switch(o.account.accountType.toUpperCase()){case"EWS":e=h[0]===o.account.serverAddress.toLowerCase()?15:1;break;case"IMAP":h.indexOf(o.account.serverAddress.toLowerCase())>-1&&(e=5)}for(let t=0;t<l.accountTypes.length;t++)if(l.accountTypes[t].id===e){o.account.selectedAccountType=angular.copy(l.accountTypes[t]);break}}})(),o.account.downloadToFolder=o.account.downloadToFolder||"Inbox",o.account.folderTransferMethod=o.account.folderTransferMethod?o.account.folderTransferMethod.toUpperCase():"ROOTFOLDERS",c.spinner.show();const a=[];a.push(e.get("~/api/v1/settings/list-folders/false")),"view"===o.mode&&(o.disabled=!0,a.push(e.get(`~/api/v1/settings/retrieval-account-status/${f.id}`)));t.all(a).then((function(e){if(o.folders=angular.copy(e[0].data.folders),o.selectedFolder=o.folders[0],o.account.downloadToFolder){let e=!1;for(let t=0;t<o.folders.length;t++)if(o.folders[t].name===o.account.downloadToFolder){e=!0;break}e||o.folders.push({folderResourceID:"",translatePath:o.account.downloadToFolder,name:o.account.downloadToFolder})}1!==e.length&&(o.disabled="disabled"===e[1].data.status.toLowerCase())}),(function(e){i.report(e),n.cancel()})).finally(c.spinner.hide)}()}e.$inject=["$http","$q","$rootScope","$scope","$mdDialog","$timeout","$window","$translate","coreData","errorHandling","externalEmailService","popupService","successHandling","account","
419isMigration"],angular.module("smartermail").controller("externalEmailDialogController",e)}();
420!function(){"use strict";function e(e,t,o,n,r){var a=this;function s(){angular.forEach(a.accountTypes,(function(e){e.translated=n.instant(e.name)}))}function i(o,n,r){const a=t.defer(),s=JSON.stringify({exchangeAccount:{serverAddress:o.serverAddress,emailAddress:o.username,password:o.password,serverPort:80,encryption:o.encryption,enableSpamFilter:!1,isManualRetrieval:!0,itemsToImport:n,useOnlyOnce:!0,userDisplayed:!1,downloadToFolder:"",isMailboxMigration:!0,deleteEverythingBeforeImport:o.deleteEverythingBeforeImport,accountTypeDescription:"PRODUCTS_ZIMBRA"===o.selectedAccountType.name?"Other":r?"SmarterMail":"Exchange",oauthAccount:o.oauthAccount,oauthAccessToken:o.oauthAccessToken,oauthRefreshToken:o.oauthRefreshToken,oauthTokenExpires:o.oauthTokenExpires}});return e.post("~/api/v1/settings/exchange-migration-size",s).then((function(t){t.data.success&&t.data.hasEnoughSize?e.post("~/api/v1/settings/exchange-migration",s).then(a.resolve,a.reject):a.reject(t)}),a.reject),a.promise}function c(o,n){const r=t.defer(),a={serverAddress:o.serverAddress,username:o.username,password:o.password,serverPort:o.serverPort,encryption:o.encryption,enableSpamFilter:!1,isManualRetrieval:!0,accountType:o.accountType,useOnlyOnce:!0,userDisplayed:!1,accountTypeDescription:"Other",itemsToImport:n,isMailboxMigration:!0,deleteEverythingBeforeImport:o.deleteEverythingBeforeImport,bypassSslErrors:o.bypassSSLErrors,oauthAccount:o.oauthAccount,oauthAccessToken:o.oauthAccessToken,oauthRefreshToken:o.oauthRefreshToken,oauthTokenExpires:o.oauthTokenExpires};let s=JSON.stringify({imapAccount:a});return e.post("~/api/v1/settings/imap-migration-size",s).then((function(t){t.data.success&&t.data.hasEnoughSize?(a.oauthAccount=a.oauthAccount||t.data.oauthAccount,a.oauthAccessToken=a.oauthAccessToken||t.data.oauthAccessToken,a.oauthRefreshToken=a.oauthRefreshToken||t.data.oauthRefreshToken,a.oauthTokenExpires=a.oauthTokenExpires||t.data.oauthTokenExpires,s=JSON.stringify({imapAccount:a}),e.post("~/api/v1/settings/imap-migration",s).then(r.resolve,r.reject)):r.reject(t)}),r.reject),r.promise}function p(o,n){const r=t.defer(),a={serverAddress:o.serverAddress,username:o.username,password:o.password,serverPort:o.serverPort,encryption:o.encryption,enableSpamFilter:!1,isManualRetrieval:!0,leaveMailOnServer:!0,accountType:o.accountType,useOnlyOnce:!0,userDisplayed:!1,accountTypeDescription:"Other",itemsToImport:n,isMailboxMigration:!0,deleteEverythingBeforeImport:o.deleteEverythingBeforeImport,bypassSslErrors:o.bypassSSLErrors,oauthAccount:o.oauthAccount,oauthAccessToken:o.oauthAccessToken,oauthRefreshToken:o.oauthRefreshToken,oauthTokenExpires:o.oauthTokenExpires};let s=JSON.stringify({popAccount:a});return e.post("~/api/v1/settings/pop-migration-size",s).then((function(t){t.data.success&&t.data.hasEnoughSize?(a.oauthAccount=a.oauthAccount||t.data.oauthAccount,a.oauthAccessToken=a.oauthAccessToken||t.data.oauthAccessToken,a.oauthRefreshToken=a.oauthRefreshToken||t.data.oauthRefreshToken,a.oauthTokenExpires=a.oauthTokenExpires||t.data.oauthTokenExpires,s=JSON.stringify({popAccount:a}),e.post("~/api/v1/settings/pop-migration",s).then(r.resolve,r.reject)):r.reject(t)}),r.reject),r.promise}function u(t){return e.post(`~/api/v1/settings/retrieve-exchange/${t}`)}function d(t){return e.post(`~/api/v1/settings/retrieve-imap/${t}`)}function l(t){return e.post(`~/api/v1/settings/retrieve-pop/${t}`)}function m(t,o){var n=JSON.stringify({exchangeAccount:{serverAddress:t.serverAddress,emailAddress:t.username,password:t.password,serverPort:t.serverPort,encryption:t.encryption,isMailboxMigration:o,oauthCode:t.oauthCode}});return e.post("~/api/v1/settings/exchange-test-connection",n)}function h(t,o){const n={imapAccount:{serverAddress:t.serverAddress,username:t.username,password:t.password,serverPort:t.serverPort,encryption:t.encryption,deleteEverythingBeforeImport:t.deleteEverythingBeforeImport,downloadToFolder:t.downloadToFolder,enableSpamFilter:t.enableSpamFilter,isManualRetrieval:t.isManualRetrieval,folderTransferMethod:t.folderTransferMethod,leaveMailOnServer:t.leaveMailOnServer,useApop:t.useApop,accountType:t.accountType,isMailboxMigration:o,bypassSslErrors:t.bypassSSLErrors,oauthCode:t.oauthCode}};return e.post("~/api/v1/settings/imap-test-connection",n)}function g(t,o){const n={popAccount:{serverAddress:t.serverAddress,username:t.username,password:t.password,serverPort:t.serverPort,ID:t.ID,encryption:t.encryption,deleteEverythingBeforeImport:t.deleteEverythingBeforeImport,downloadToFolder:t.downloadToFolder,enableSpamFilter:t.enableSpamFilter,isManualRetrieval:t.isManualRetrieval,folderTransferMethod:t.folderTransferMethod,leaveMailOnServer:t.leaveMailOnServer,useApop:t.useApop,accountType:t.accountType,isMailboxMigration:o,bypassSslErrors:t.bypassSSLErrors,oauthCode:t.oauthCode}};return e.post("~/api/v1/settings/pop-test-connection",n)}a.accountTypes=[{id:14,name:"SMARTERMAIL",icon:"smartermail.png",test:m,migrate:function(e,t){return i(e,t,!0)}
420,hideConnectionDetails:!0,contacts:!0,calendars:!0,tasks:!0,notes:!0,forceType:"EWS"},{id:1,name:"PRODUCTS_MICROSOFT_EXCHANGE",icon:"microsoft-exchange.png",test:m,migrate:i,hideConnectionDetails:!0,contacts:!0,calendars:!0,tasks:!0,notes:!0,showDomain:!1,forceType:"EWS"},{id:5,name:"PRODUCTS_OUTLOOK_COM",icon:"outlook-dot-com.gif",hideConnectionDetails:!0,forceSSL:!0,usernameIsEmail:!0,presetServer:"outlook.office365.com",presetPort:993,forceType:"IMAP"},{id:15,name:"PRODUCTS_MICROSOFT_365",icon:"microsoft-logo.png",test:m,migrate:i,hideConnectionDetails:!0,contacts:!0,calendars:!0,tasks:!0,notes:!0,forceSSL:!0,usernameIsEmail:!0,presetServer:"outlook.office365.com",forceType:"EWS"},{id:3,name:"PRODUCTS_GMAIL",icon:"gmail.png",hideConnectionDetails:!0,forceSSL:!0,hideServerAddress:!0,presetServer:"imap.gmail.com",presetPort:993,forceType:"IMAP"},{id:4,name:"PRODUCTS_YAHOO_MAIL",icon:"yahoo-mail.png"},{id:6,name:"PRODUCTS_ZIMBRA",icon:"zimbra.png",contacts:!1,calendars:!1,tasks:!1,notes:!1},{id:7,name:"PRODUCTS_OPEN_XCHANGE",icon:"open-xchange.png"},{id:8,name:"PRODUCTS_KERIO_CONNECT",icon:"kerio-connect.png",test:m,migrate:i,hideConnectionDetails:!0,contacts:!0,calendars:!0,tasks:!0,notes:!0,showDomain:!1,forceType:"EWS"},{id:9,name:"PRODUCTS_COMMUNIGATE",icon:"communigate.png"},{id:10,name:"PRODUCTS_ICEWARP",icon:"icewarp.png"},{id:11,name:"PRODUCTS_MDAEMON",icon:"mdaemon.jpg"},{id:12,name:"PRODUCTS_PROGRESS_IMAIL",icon:"progress.png"},{id:13,name:"PRODUCTS_MAILENABLE",icon:"mailenable.png"},{id:0,name:"OTHER",icon:"generic-email.png"}],a.migrationSpinningUp=!1,a.startMigration=function(e){const s=t.defer();o.$broadcast("migrationStarting"),a.migrationSpinningUp=!0;let u=0;e.migrateEmail&&(u|=1);e.migrateContacts&&(u|=2);e.migrateCalendars&&(u|=4);e.migrateTasks&&(u|=8);e.migrateNotes&&(u|=16);return(e.selectedAccountType.migrate||(e.accountType==="EWS"?i:e.accountType==="IMAP"?c:p))(e,u).then((function(e){a.migrationSpinningUp=!1,r.migrationID=e.data.id,o.$broadcast("migrationStarted"),s.resolve({success:!0,migrationID:e.data.id})}),(function(e){a.migrationSpinningUp=!1,o.$broadcast("migrationError",{message:"MAILBOXMIGRATION_SIZE_FAILED"}),s.reject({success:!1,message:n.instant("MAILBOXMIGRATION_SIZE_FAILED")+e.data.message})})),s.promise},a.startRetrieval=function(e){return("EWS"===e.accountType?u:"IMAP"===e.accountType?d:l)(e.id)},a.testConnection=function(e,t){return(e.selectedAccountType.test||("EWS"===e.accountType?m:"IMAP"===e.accountType?h:g))(e,t)},s(),o.$on("$translateChangeSuccess",s)}e.$inject=["$http","$q","$rootScope","$translate","coreDataSettings"],angular.module("smartermail").service("externalEmailService",e)}();
421!function(){"use strict";function e(e,t,s,o,n,r,a,i,c,d,u){const l=["outlook.office365.com","smtp-mail.outlook.com"];function p(){e.address&&-1!==l.indexOf(e.address.toLowerCase())?(e.useOAuth=!0,e.useAuthentication=!1,e.encryptionType=2,e.port=587):(e.useOAuth=!1,e.oauthCode=null)}e.address=u.address,e.port=u.port,e.displayName=u.displayName,e.emailAddress=u.emailAddress,e.userName=u.userName,e.password=u.password,e.encryptionType=parseInt(u.encryptionType||"0"),e.useAuthentication=u.useAuthentication,e.newItem=c,e.isServerAddressValid=!0,e.isPortValid=!0,e.isEmailValid=!0,e.isValid=!0,e.oauthCode=null,e.useOAuth=!1,e.newItem||p(),e.testing=!1,e.error=!1,e.success=!1,e.save=function(c,u){if(!u.$valid)return;function l(s){e.success=!0,i.report(),t.hide({address:e.address,port:e.port,displayName:e.displayName,emailAddress:e.emailAddress,userName:e.userName,password:e.password,encryptionType:e.encryptionType,useAuthentication:e.useAuthentication,deleteItem:!1,oauthCode:null,oauthAccessToken:s.data.oauthAccessToken,oauthRefreshToken:s.data.oauthRefreshToken,oauthAccount:s.data.oauthAccount,oauthTokenExpires:s.data.oauthTokenExpires})}function p(t){e.error=t.data.message.toUpperCase()}e.testing=!0,e.success=!1,e.error=!1,function(){if(!e.useOAuth)return o.when();const t=o.defer(),a=window.open("","_blank",d.dimensions.connectivity),i=JSON.stringify({redirectUri:`${r.baseUrl}/interface/connect-redirect`});return s.post("~/api/v1/settings/microsoft-redirect/SMTP",i).then((function(e){n.handleConnectClose=c,a.location=e.data.result}),(function(s){e.error=s.data.message,a.close(),t.reject(s)})),t.promise;function c(s){n.handleConnectClose=null,s.code&&(e.oauthCode=s.code),s.error?t.reject(s.error):t.resolve()}}().then((function(){const t={smtpAccount:{address:e.address,displayName:e.displayName,emailAddress:e.emailAddress,encryptionType:e.encryptionType,password:e.password,port:e.port,useAuthentication:e.useAuthentication,userName:e.userName,oauthCode:e.oauthCode}};s.post("~/api/v1/settings/user-smtp-account-test",t).then(l,p).finally((function(){e.testing=!1}))}),(function(t){a.report(t),e.testing=!1}))},e.delete=function(){t.hide({deleteItem:!0})},e.cancel=function(){t.cancel()},e.onServerChanged=p}e.$inject=["$scope","$mdDialog","$http","$q","$window","coreData","errorHandling","successHandling","newItem","popupService","card"],angular.module("smartermail").controller("userEditSmtpAccountsController",e)}();
422!function(){"use strict";function e(e,n,t,c){var s=this;s.deleteActiveSync=function(n){e.post("~/api/v1/settings/active-sync-device-delete/"+n.deviceIdHash).then((function(){s.connectedDevices=$.grep(s.connectedDevices,(function(e){return e.deviceIdHash===n.deviceIdHash}),!0),t.settingsData.userSyncDevices=$.extend(!0,[],s.connectedDevices),s.loadCards()}),c.report)},s.deleteStsSync=function(n){e.post("~/api/v1/settings/sts-map-delete/"+n.deviceId).then((function(e){s.connectedDevices=$.grep(s.connectedDevices,(function(e){return e.deviceId===n.deviceId}),!0),t.settingsData.userSyncDevices=$.extend(!0,[],s.connectedDevices),s.loadCards()}),c.report)}
422,s.deleteCardDavSync=function(n){e.post("~/api/v1/settings/card-cal-dav-delete/"+n.syncType).then((function(){s.connectedDevices=$.grep(s.connectedDevices,(function(e){return e.syncType===n.syncType}),!0),t.settingsData.userSyncDevices=$.extend(!0,[],s.connectedDevices),s.loadCards()}),c.report)},s.deleteEwsSync=function(n){e.post("~/api/v1/settings/ews-sync-delete").then((function(e){s.connectedDevices=$.grep(s.connectedDevices,(function(e){return e.syncType===n.syncType}),!0),t.settingsData.userSyncDevices=$.extend(!0,[],s.connectedDevices),s.loadCards()}),c.report)},s.deleteMapiSync=function(n){e.post("~/api/v1/settings/mapi-sync-delete/").then((function(e){s.connectedDevices=$.grep(s.connectedDevices,(function(e){return e.syncType===n.syncType}),!0),t.settingsData.userSyncDevices=$.extend(!0,[],s.connectedDevices),s.loadCards()}),c.report)},s.activeSyncRemoteWipe=function(t,s){n.show({locals:{canAccountOnlyRemoteWipe:"v16_1"===t.protocolVersion},controller:"userRemoteWipeConfirmController",controllerAs:"ctrl",templateUrl:"app/settings/user-settings/external-accounts/confirm-remote-wipe.dlg.html",targetEvent:s}).then((function(n){var s=JSON.stringify({deviceName:t.deviceIdHash,password:n.password,accountOnlyRemoteWipe:n.accountOnlyRemoteWipe});e.post("~/api/v1/settings/active-sync-remote-wipe",s).then((function(){}),c.report)}),(function(){}))},s.loadCards=function(){},s.connectedDevices=[]}e.$inject=["$http","$mdDialog","coreDataSettings","errorHandling"],angular.module("smartermail").service("synchronizedDeviceInfo",e)}();
423!function(){"use strict";function e(e,t,n,r,o,a,s,l,i,d,c,h,u,f){var p=this;function m(){r.all([n.post("~/api/v1/folders/list-all-virtual-folders"),n.post("~/api/v1/folders/list-owned-virtual-folders"),n.post("~/api/v1/folders/list-owned-unshared-folders"),n.get("~/api/v1/settings/delegation")]).then((function(e){var t=e[0].data.virtualFolders;if(t)for(var n=0;n<t.length;n++)t[n].folderNameSort=t[n].folderPath||t[n].folderName,t[n].isMappedSortable=t[n].isMapped?1:0;p.gridSections[0].length=t&&t.length,p.sharedWithMeTableParams.settings({dataset:t}),p.sharedWithMeTableParams.reload();var r=e[1].data.virtualFolders;if(r)for(n=0;n<r.length;n++)r[n].folderNameSort=r[n].folderPath||r[n].folderName;p.gridSections[1].length=r&&r.length,p.sharedWithOthersTableParams.settings({dataset:r}),p.sharedWithOthersTableParams.reload(),p.myUnsharedFolders=e[2].data.virtualFolders;var o=e[3].data.delegateAccounts;if(o)for(n=0;n<o.length;n++)o[n].delegateNameSort=o[n].username||o[n].displayName;switch(p.gridSections[2].length=o&&o.length,p.delegationTableParams.settings({dataset:o}),p.delegationTableParams.reload(),p.selectedSection){case"SHARED_WITH_ME":p.checkboxes=c.init("folderId"),p.checkboxes.table=p.sharedWithMeTableParams;break;case"SHARED_WITH_OTHERS":p.checkboxes=c.init("folderId"),p.checkboxes.table=p.sharedWithOthersTableParams;break;case"DELEGATION":p.checkboxes=c.init("email"),p.checkboxes.table=p.delegationTableParams}}),(function(){}))}function g(e,r){var o=b();null!=o&&0!=o.length&&(t.spinner.show(),n.post("~/api/v1/folders/stop-sharing-folders",JSON.stringify({folderIds:o})).then((function(e){m(),t.spinner.hide()}),(function(e){t.spinner.hide(),h.showErrorMessage(e)})))}function S(e,r){var a=b();if(a&&0!==a.length){var s=o.confirmDeletion().textContent(f.reactPluralize("CONFIRMATIONS_REMOVE_DELEGATES",{count:a.length})).targetEvent(r);o.show(s).then((function(){var e={input:a};t.spinner.show(),n.post("~/api/v1/settings/delegation-remove",JSON.stringify(e)).then((function(){m()}),u.report).finally(t.spinner.hide)}),(function(){}))}}function v(e,r){!function(e){if(null==e||0==e.length)return;t.spinner.show(),n.post("~/api/v1/folders/attach-to-virtual-folders",JSON.stringify({folderIds:e})).then((function(e){m(),t.spinner.hide()}),(function(e){t.spinner.hide(),h.showErrorMessage(e)}))}(b())}function E(e,r){!function(e){if(null==e||0==e.length)return;t.spinner.show(),n.post("~/api/v1/folders/detach-from-virtual-folders",JSON.stringify({folderIds:e})).then((function(e){m(),t.spinner.hide()}),(function(e){t.spinner.hide(),h.showErrorMessage(e)}))}(b())}function b(){var e=[];for(var t in p.checkboxes.items)p.checkboxes.items.hasOwnProperty(t)&&p.checkboxes.items[t]&&e.push(t);return e}p.domain=i.user.domain,p.myUsername=l.user.username,p.isInitialized=!0,p.selectedSection="SHARED_WITH_ME",p.gridSections=[{translate:"SHARED_WITH_ME",length:"0"},{translate:"SHARED_WITH_OTHERS",length:"0"},{translate:"DELEGATION",length:"0"}],p.myUnsharedFolders=[],p.attachItems=v,p.changeSection=function(e){p.selectedSection=e,m()},p.deleteItems=g,p.detachItems=E,p.editMyVirtualFolder=function(e,t){o.show({controller:"editOwnShareDialogController",controllerAs:"ctrl",templateUrl:"app/shared/modals/edit-own-share.dlg.html",targetEvent:t,locals:{folder:e,folderId:null}}).then(m,(function(){}))},p.editOtherVirtualFolder=function(e,t){o.show({controller:"editSharedFolderDialogController",controllerAs:"ctrl",templateUrl:"app/shared/modals/edit-shared-folder.dlg.html",targetEvent:t,locals:{folder:e,folderId:null,webcalLink:null}}).then((function(e){m()}))},p.newShare=function(e){o.show({controller:"newSharedFolderDialogController",controllerAs:"ctrl",templateUrl:"app/shared/modals/new-shared-folder.dlg.html",targetEvent:e,locals:{unsharedFolders:p.myUnsharedFolders},clickOutsideToClose:!1}).then((function(e){m(),t.spinner.hide()}),(function(e){t.spinner.hide(),h.showErrorMessage(failure)}))},p.refresh=m,p.removeDelegates=S,p.contextMenuGridItem=function(t,n){if(!n||"touchstart"!==n.type&&"touchend"!==n.type&&3!==n.which||t.criticallyErrored)return;n.stopPropagation(),n.preventDefault();var r=b();r.some((e=>"DELEGATION"===p.selectedSection?e===t.email:e===t.folderId.toString()))||(p.checkboxes.reset(),p.checkboxes.checkCheckbox(n,t),r="DELEGATION"===p.selectedSection?[t.email]:[t.folderId]);for(var o={},s=0;s<r.length;++s)o[r[s]]=!0;e.dropdownEvent=$.extend(!0,{},n),e.dropdownOptions=[],"DELEGATION"===p.selectedSection?e.dropdownOptions.push({key:"remove",click:S,params:o,translateKey:"REMOVE"}):"SHARED_WITH_ME"===p.selectedSection?(e.dropdownOptions.push({key:"attach",click:v,params:o,translateKey:"ATTACH"}),e.dropdownOptions.push({key:"detach",click:E,params:o,translateKey:"DETACH"})):e.dropdownOptions.push({key:"stopSharing",click:g,params:{items:o,event:n},translateKey:"STOP_SHARING"});if(!e.dropdownOptions.length)return;var l=$("#context-menu-area");l&&l.append(a('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e))},e.$on("signalR.mailHub.client.sharesChanged",(function(){m()})),p.sharedWithMeTableParams=new d({sorting:{ownerUserName:"asc"},count:25},{dataset:[],counts:t.commonTableCounts}),p.sharedWithOthersTableParams=new d({sorting:{folderNameSort:"asc"},count:25},{dataset:[],counts:t.commonTableCounts}),p.delegationTableParams=new d({sorting:{delegateNameSort:"asc"},count:25},{dataset:[],counts:t.commonTableCounts}),m()}e.$inject=["$scope","$rootScope","$http","$q","$mdDialog","$compile","$translate","coreData","userDataService","NgTableParams","gridCheckboxes","errorMessageService","errorHandling","i18n"],angular.module("smartermail").controller("userSettingsSharingController",e)}();
424!function(){"use strict";function e(e,t,i,n,o,a,r,d,l,c,m){e.name=a,e.body=r,e.newItem=d,e.variables=Object.keys(l),e.sigId=d?123:c,e.domainOverride=m,e.editorScope={},e.save=function(){const i=e.editorScope.getHtml();n((function(){e.userForm.$valid&&t.hide({name:e.name,body:i,useByDefault:e.useByDefault,deleteItem:!1})}
424))},e.delete=function(){t.hide({deleteItem:!0})},e.cancel=function(){t.cancel()},o.user.isDomainAdmin}e.$inject=["$scope","$mdDialog","$filter","$timeout","coreData","name","body","newItem","variables","sigId","domainOverride"],angular.module("smartermail").controller("userEditSignatureController",e)}();
425!function(){"use strict";function e(e,a,i,n,t,s,r,u,g,p,o){var l=this;function d(){var i=[g.settingsData.signatureVariables,a.get("~/api/v1/settings/signature-mappings"),g.init()];n.all(i).then((function(a){e.variables=a[0],e.signatureMappings=a[1].data.maps,v()}),p.report)}function v(){var a;e.availableMappings=[{name:"NONE",signatureGuid:"",signatureMapOption:0},{name:"USE_PRIMARY_SIGNATURE",signatureGuid:"",signatureMapOption:1},{name:"USE_DOMAIN_SIGNATURE",signatureGuid:"",signatureMapOption:3}],e.signatures=g.userSignatures?$.extend(!0,[],g.userSignatures):[],angular.forEach(e.signatures,(function(a){e.availableMappings.push({name:a.name,signatureGuid:a.guid,signatureMapOption:2})}));var n=Object.keys(e.variables);for(a=0;a<n.length;++a)e.variables[n[a]]=i("translate")(e.variables[n[a]]);for(a=0;a<e.signatureMappings.length;a++)e.signatureMappings[a].allowUsersToOverride?e.signatureMappings[a].signature=e.getSignatureFromGuid(e.signatureMappings[a].signatureGuid,e.signatureMappings[a].mapOption):e.signatureMappings[a].signature=e.getSignatureFromGuid("",3)}e.smtpAccounts=[],e.variables={},e.setByDomainMap={name:"SET_BY_DOMAIN_ADMIN",signatureGuid:"",signatureMapOption:1},e.availableMappings=[],e.signatureMappings=[],e.username=u.user.username,e.domain=u.user.domain,l.reloadState=function(e){d(),e.$setPristine()},l.save=function(i){g.skipNextSignatureMappingsEvent(!0),a.post("~/api/v1/settings/signature-mappings",{signatureMaps:e.signatureMappings}).then((function(){g.reloadUserSignatureMappings(),l.form.$setPristine(),l.form.$setUntouched()}),(function(e){g.skipNextSignatureMappingsEvent(!1),p.report(e)}))},l.newSignature=function(i){t.show({locals:{name:"",body:"",newItem:!0,variables:e.variables,sigId:0,domainOverride:""},controller:"userEditSignatureController",controllerAs:"ctrl",templateUrl:"app/settings/user-settings/signatures/edit-signature.dlg.html",targetEvent:i}).then((function(i){if(i.deleteItem);else{var n=i.name,t=i.body;if(""!==n){var s={signatureConfig:{id:"",name:n,text:t}};g.skipNextUserSignaturesEvent(!0),a.post("~/api/v1/settings/user-signature-put",s).then((function(a){var i=a.data.signatureID,s=a.data.signatureGuid,r={id:i,guid:s,name:n,text:t};e.signatures||(e.signatures=[]),e.signatures.push(r),angular.isArray(g.userSignatures)||(g.userSignatures=[]),g.userSignatures.push(r),g.userSignatures.sort((function(e,a){return e.name.localeCompare(a.name)})),e.availableMappings.push({name:n,signatureGuid:s,signatureMapOption:2})}),(function(e){g.skipNextUserSignaturesEvent(!1),p.report(e)}))}}}),(function(){}))},l.editSignature=function(n,s){t.show({locals:{name:s.name,body:s.text,newItem:!1,variables:e.variables,sigId:s.id,domainOverride:""},controller:"userEditSignatureController",controllerAs:"ctrl",templateUrl:"app/settings/user-settings/signatures/edit-signature.dlg.html",targetEvent:n}).then((function(n){if(n.deleteItem){var r=t.confirmDeletion().textContent(i("translate")("CONFIRMATIONS_DELETE_ITEMS_one")).targetEvent(event);t.show(r).then((function(){l.deleteItem(s)}),(function(){}))}else{var u=n.name,o=n.body,d={id:s.id,guid:s.guid,name:u,text:o},v={signatureConfig:d};g.skipNextUserSignaturesEvent(!0),a.post("~/api/v1/settings/user-signature",v).then((function(){var a;for(a=0;a<e.signatures.length;++a)if(e.signatures[a].guid===d.guid){e.signatures[a]=d;break}for(a=0;a<e.availableMappings.length;++a)if(e.availableMappings[a].signatureGuid===d.guid){e.availableMappings[a].name=d.name,e.availableMappings[a].signatureGuid=d.guid,e.availableMappings[a].signatureMapOption=2;break}angular.forEach(e.signatureMappings,(function(e,a){e.signatureGuid===d.guid&&(e.signature.name=d.name)})),g.userSignatures=$.extend(!0,[],e.signatures)}),(function(e){g.skipNextUserSignaturesEvent(!1),p.report(e)}))}}),(function(){}))},l.deleteItem=function(i){var n=(e.signatureMappings||[]).some((function(e){return e.signatureGuid===i.guid}));
425g.skipNextUserSignaturesEvent(!0),n&&g.skipNextSignatureMappingsEvent(!0);a.post("~/api/v1/settings/user-signature-delete/"+i.id).then((function(){var a;for(a=0;a<e.signatures.length;++a)if(e.signatures[a].guid===i.guid){e.signatures.splice(a,1);break}for(a=0;a<e.availableMappings.length;++a)if(e.availableMappings[a].signatureGuid===i.guid){e.availableMappings.splice(a,1);break}angular.forEach(e.signatureMappings,(function(a,n){a.signature.signatureGuid===i.guid&&(4===a.type?(a.signatureGuid="NONE",a.mapOption=0,a.signature=e.getSignatureFromGuid(a.signatureGuid,a.mapOption)):(a.signatureGuid="USE_PRIMARY_SIGNATURE",a.mapOption=1,a.signature=e.getSignatureFromGuid(a.signatureGuid,a.mapOption)))})),g.userSignatures=$.extend(!0,[],e.signatures),n&&g.reloadUserSignatureMappings()}),(function(e){g.skipNextUserSignaturesEvent(!1),n&&g.skipNextSignatureMappingsEvent(!1),p.report(e)}))},l.signatureMapChanged=function(a,i){e.signatureMappings[a].signatureGuid=e.signatureMappings[a].signature.signatureGuid,e.signatureMappings[a].mapOption=e.signatureMappings[a].signature.signatureMapOption},e.getSignatureFromGuid=function(a,i){var n,t;if(e.signatures.map((e=>e.guid)).includes(a)&&e.availableMappings.find((e=>e.signatureGuid==a)))return e.availableMappings.find((e=>e.signatureGuid==a));if(2===i){for(n=0;n<e.availableMappings.length;++n)e.availableMappings[n].signatureGuid===a&&e.availableMappings[n].signatureMapOption===i&&(t=e.availableMappings[n]);return t||(t=e.availableMappings[2]),t}for(n=0;n<e.availableMappings.length;++n)if((t=e.availableMappings[n]).signatureMapOption===i)return t},d(),r.$on("user-signatures:changed",(function(){v()})),r.$on("signature-mappings:changed",(function(){a.get("~/api/v1/settings/signature-mappings").then((function(a){e.signatureMappings=a.data.maps,v()}),p.report)}))}e.$inject=["$scope","$http","$filter","$q","$mdDialog","$state","$rootScope","coreData","coreDataSettings","errorHandling","i18n"],angular.module("smartermail").controller("userSettingsGeneralSignatureControllerOld",e)}();
426!function(){"use strict";function e(e,t,n,s,r,i,o,a,l,d,c,u,m){var g=this,p=m.create(t);function S(){e.spinner.show();var t=[n.get("~/api/v1/settings/user-mail"),n.get("~/api/v1/settings/spam-settings"),c.init()];s.all(t).then((function(e){var t,n,s;t=e[0],n=t.data.userMailSettings,g.allowOverride=c.userPermissions.spamCheckOverrideActive,g.enableBypassSenderVerification=c.userPermissions.allowSpamActionOverride,g.trustedDomains=[],angular.forEach(n.whitelistDomains||[],(function(e){g.trustedDomains.push(e.value)})),g.trustedEmails=[],angular.forEach(n.whitelistAddresses||[],(function(e){g.trustedEmails.push(e.value)})),g.blockedSenders=n.blockedSenders,g.blockedDomains=n.blockedDomains,g.blockedSenderAction=n.blockedSenderAction,g.emailsToBypass=n.bypassedTrustedSenders,s=e[1],g.userSettings=s.data.userSettings,g.defaultSettings=s.data.defaultSettings,v(!1)}),a.report).finally((function(){e.spinner.hide(),g.loading=!1,p.wait((function(){g.contentReady=!0}))}))}function v(e){e&&!0===g.userSettings.overrideActive&&(g.userSettings=angular.copy(g.defaultSettings),g.userSettings.overrideActive=!0),g.activeSettings=g.userSettings.overrideActive&&g.allowOverride?g.userSettings:g.defaultSettings}function f(e,t,n){i.show({locals:{trustedSenders:n?g.trustedEmails:g.trustedDomains,isAddresses:n},controller:"trustedSenderDialogController",controllerAs:"ctrl",templateUrl:"app/settings/shared/trusted-senders.dlg.html",targetEvent:e}).then((function(e){var s=$.grep(e,(function(e){return(e||"").trim()}));n?(g.trustedEmails=s,g.blockedSenders=$.grep(g.blockedSenders,(function(e){for(var t=0;t<g.trustedEmails.length;t++)if(e.toLowerCase()===g.trustedEmails[t].toLowerCase())return!1;return!0}))):g.trustedDomains=s;t.$setDirty()}),(function(){}))}g.loading=!0,g.contentReady=!1,g.overrideActive=!1,g.defaultSettings={},g.userSettings={},g.activeSettings=g.userSettings,g.trustedDomains=[],g.trustedEmails=[],g.emailsToBypass=[],g.blockedSenderActionOptions=[{value:0,translation:"NONE"},{value:1,translation:"MOVE_TO_JUNK"},{value:2,translation:"MOVE_TO_DELETED"},{value:3,translation:"DELETE"}
426],g.reloadState=function(e){S(),e.$setPristine()},g.save=function(t,s){if(s.$invalid)return void a.report("CORRECT_INVALID_FIELDS");var r={userMailSettings:{blockedSenders:g.blockedSenders,blockedDomains:g.blockedDomains,blockedSenderAction:g.blockedSenderAction,bypassedTrustedSenders:g.emailsToBypass,spamCheckOverrideActive:g.userSettings.overrideActive,spamLevelLowAction:g.userSettings.lowAction,spamLevelMedAction:g.userSettings.medAction,spamLevelHighAction:g.userSettings.highAction}},i={domains:g.trustedDomains,emails:g.trustedEmails};function o(){s.$setPristine(),e.$broadcast("user-settings:changed")}n.post("~/api/v1/settings/user-mail",JSON.stringify(r)).then((function(){n.post("~/api/v1/settings/whitelist",JSON.stringify(i)).then(o,a.report)}),a.report)},g.switchOverride=v,g.editItem=function(e,t,n){if(!g.userSettings.overrideActive)return;var s;s=n===g.activeSettings.lowAction?"SPAM_FILTERING_LOW_PROBABILITY":n===g.activeSettings.medAction?"SPAM_FILTERING_MED_PROBABILITY":"SPAM_FILTERING_HIGH_PROBABILITY";i.show({locals:{title:s,actionType:n.actionType,argument:n.argument,weight:null,hideMoveToJunk:!1},controller:"editSpamFilterActionDialogController",controllerAs:"ctrl",templateUrl:"app/settings/shared/spam-filter-action.dlg.html",targetEvent:e}).then((function(e){n.actionType=e.actionType,n.argument=e.argument,t.$setDirty()}),(function(){}))},g.openTrustedDomains=function(e,t){f(e,t,!1)},g.openTrustedEmails=function(e,t){f(e,t,!0)},g.openBlockedSenders=function(e,t,n){var s=0===n?g.blockedSenders:g.blockedDomains;i.show({locals:{blockedSenders:s,which:n},controller:"blockedSenderDialogController",controllerAs:"ctrl",templateUrl:"app/settings/shared/blocked-senders.dlg.html",targetEvent:e}).then((function(e){var s=$.grep(e,(function(e){return(e||"").trim()}));0===n?g.blockedSenders=s:g.blockedDomains=s,g.trustedEmails=$.grep(g.trustedEmails,(function(e){for(var t=0;t<g.blockedSenders.length;t++)if(e.toLowerCase()===g.blockedSenders[t].toLowerCase())return!1;return!0})),t.$setDirty()}),(function(){}))},g.openBypassTrustedSenderVerification=function(e,t){i.show({locals:{bypassedSenders:g.emailsToBypass},controller:"bypassTrustedSenderDialogController",controllerAs:"ctrl",templateUrl:"app/settings/shared/bypass-trusted-senders.dlg.html",targetEvent:e}).then((function(e){var n=$.grep(e,(function(e){return(e||"").trim()}));g.emailsToBypass=n,t.$setDirty()}),(function(){}))},g.importTrusted=function(e){u.importList((function(t,n){u.mergeUnique(g.trustedEmails,t),u.mergeUnique(g.trustedDomains,n),e.$setDirty()}))},g.exportTrusted=function(){u.downloadList(g.trustedEmails.concat(g.trustedDomains),"trusted-senders.txt")},g.importBlocked=function(e){u.importList((function(t,n){u.mergeUnique(g.blockedSenders,t),u.mergeUnique(g.blockedDomains,n),e.$setDirty()}))},g.exportBlocked=function(){u.downloadList(g.blockedSenders.concat(g.blockedDomains),"blocked-senders.txt")},S()}e.$inject=["$rootScope","$scope","$http","$q","$timeout","$mdDialog","$translate","errorHandling","successHandling","localStorageService","coreDataSettings","trustedSendersImportExport","masonryReveal"],angular.module("smartermail").controller("userSettingsFilteringSpamController",e)}();
427!function(){"use strict";function t(t,a){return{restrict:"EA",scope:{gridListId:"@",cardType:"@",selectedCards:"=",totalCount:"=",gridColumns:"=",sortField:"=",isDescending:"=",listDataCache:"=",listController:"=",listDataProvider:"=",selectAll:"=",onSortingChanged:"="},link:function(a,i,s){var l=angular.element('<div class="st-data-grid-table">\t\t\t\t\t\t\t<div class="st-data-grid-table-row st-data-grid-table-top-row">\t\t\t\t\t\t\t\t<div class="st-data-grid-table-cell st-data-grid-table-select-cell">\t\t\t\t\t\t\t\t\t<div class="st-data-grid-table-select-button" ng-click="selectAll()" ng-class="{\'st-data-grid-selected\': selectedCards.length === totalCount && totalCount != 0}"><div></div></div>\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t<div ng-repeat="row in gridColumns" class="st-data-grid-table-cell">\t\t\t\t\t\t\t\t\t<span ng-click="onSortingChanged(row.sortField)" ng-class="{\'st-data-grid-sorting\': sortField == row.sortField}">\t\t\t\t\t\t\t\t\t\t{{row.translate | translate}}\t\t\t\t\t\t\t\t\t\t<i class="toolsicon toolsicon-arrow_drop_down_emphasis" ng-class="{\'st-data-grid-ascending\': isDescending}" ng-show="sortField == row.sortField"></i>\t\t\t\t\t\t\t\t\t</span>\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t<div id="st-grid-table-list-area">\t\t\t\t\t\t\t\t<div class="st-data-grid-no-info" ng-show="totalCount < 1">{{\'NO_ITEMS_TO_SHOW\' | translate}}</div>\t\t\t\t\t\t\t\t<virtual-list id="'+a.gridListId+'" card-type="'+a.cardType+'" parent-id="st-grid-table-list-area" list-data-provider="listDataProvider(queueObject)" list-data-cache="listDataCache" list-controller="listController" total-items="totalCount" height="45" width="-1"></virtual-list>\t\t\t\t\t\t\t</div>\t\t\t\t\t\t</div>'),e=t(l)(a);i.append(e)}}}t.$inject=["$compile","$interval"],angular.module("smartertools").directive("stDataGrid",t)}();
428(function(){angular.module("angularBootstrapNavTree",[]).directive("abnTree",["$rootScope","$timeout",function(e,t){return{restrict:"E",template:'\n\t\t\t\t<ul class="nav nav-list nav-pills nav-stacked abn-tree" ng-class="{\'has-subfolders\': canHaveSubfolders}" ng-disabled="disableTree" ng-keydown="enableNavigation ? handleKeyBind($event) : null" tabindex="0">\n\t\t\t\t<li st-drag-over="onRowDragOver(event)" \n\t\t\t\t\tst-drag-leave="onRowDragLeave(event)" \n\t\t\t\t\tst-drop="onDrop(event)"  \n\t\t\t\t\tng-repeat="row in tree_rows | filter:{visible:true} track by row.branch.uid" \n\t\t\t\t\tkey="{{row.key}}
428" \n\t\t\t\t\tng-class="\'level-\' + {{ row.level }} + (row.branch.selected ? \' active\':\'\') + \' \' +row.classes.join(\' \')" \n\t\t\t\t\tclass="abn-tree-row" \n\t\t\t\t\tng-hide="row.branch.data.hide"> \n\t\t\t\t<a tabindex=\'0\' \n\t\t\t\t\tng-click="(disableTree || row.branch.data.unclickable) ? null : branchClicked(row, undefined, $event)" \n\t\t\t\t\tng-mouseup="triggerBranchMouseUp(row.branch, undefined, $event)" \n\t\t\t\t\tst-enter-key="( disableTree || row.branch.data.unclickable) ? null : branchClicked(row, undefined, $event)" \n\t\t\t\t\tng-class="{\n\t\t\t\t\t\t\'unclickable\': disableTree || row.branch.data.unclickable,\n\t\t\t\t\t\t\'not-visible\': row.branch.data.showEye && !row.branch.data.isVisible\n\t\t\t\t\t}" \n\t\t\t\t\toncontextmenu="return false;" md-prevent-menu-close\n\t\t\t\t\tng-disable="disableTree" > \n\t\t\t\t\t<i ng-if="row.branch.data.busy" class="tree-node-icon" ng-class="[busyIcon, {\'tree-icon\': useIcons}]"> </i>\n\t\t\t\t\t<i ng-if="row.branch.data.criticallyErrored" class="tree-node-icon toolsicon toolsicon-warning_fill red" ng-class="{\'tree-icon\': useIcons}"> </i>\n\t\t\t\t\t<i ng-if="!row.branch.data.busy && !row.branch.data.criticallyErrored" \n\t\t\t\t\t   isolate-click \n\t\t\t\t\t   ng-class="[row.tree_icon, {\'tree-icon\': useIcons}]" \n\t\t\t\t\t   ng-click="$event.stopPropagation(); $event.preventDefault(); branchExpand(row, $event);" \n\t\t\t\t\t   class="tree-node-icon indented"\n\t\t\t\t\t   md-prevent-menu-close ng-disable="disableTree || row.branch.data.busy || row.branch.data.criticallyErrored"> </i>\n                    <div ng-class="{\'underline-target\': !disableTree && !row.branch.data.disableUnderline}" \n\t\t\t\t\t\t ng-click="!disableTree && row.branch.data.showEye ? branchClicked(row, undefined, $event) : null">\n\t\t\t\t\t    <st-tree-checkbox isolate-click \n\t\t\t\t\t\t    ng-click="branchClicked(row, true, $event)" \n\t\t\t\t\t\t    ng-show="row.branch.data.showEye"\n\t\t\t\t\t\t    class=\'st-dropdown-eye tree-count\'\n                            is-checked="!disableTree && row.branch.data.isVisible"\n                            fill-color="row.branch.data.color"\n\t\t\t\t\t        is-disabled="disableTree"">\n                        </st-tree-checkbox> \n\t\t\t\t\t\t<span class="tree-label" ng-bind-html="row.label"></span> \n                    </div>\n                    <i ng-show="row.infoIcon" class="toolsicon {{ row.infoIcon }}"></i>\n\t\t\t\t\t<span class=\'counter tree-count\' ng-show="row.count && row.count !== \'-\' && showCounts == true">{{ row.count }}</span> \n\t\t\t\t</a>\n\t\t\t\t</li>\n\t\t\t\t</ul>',replace:!0,link:function(n,r,a){let c,l,i,o=null;function s(){if($("body").injector().has("treeState")&&(c=$("body").injector().get("treeState")),null==a.iconExpand&&(a.iconExpand="icon-plus glyphicon glyphicon-plus fa fa-plus"),null==a.iconCollapse&&(a.iconCollapse="icon-minus glyphicon glyphicon-minus fa fa-minus"),null==a.iconLeaf&&(a.iconLeaf="icon-file glyphicon glyphicon-file fa fa-file"),null==a.expandLevel&&(a.expandLevel="3"),n.busyIcon=a.busyIcon||"toolsicon toolsicon-progress_activity toolsicon-spin",n.erroredIcon=a.erroredIcon||"toolsicon toolsicon-warning_fill red",l=parseInt(a.expandLevel,10),n.treeData){if(null==n.treeData.length){if(!treeData.label)return;n.treeData=[treeData]}n.$watch("treeData",p,!0),null!=a.initialSelection&&D(n.treeData,(function(e){e.label!==a.initialSelection||t((()=>u(e)))})),D(n.treeData,(function(e,t){e.level=t,e.expanded=e.level<l})),null!=n.treeControl&&"object"==typeof n.treeControl&&(i=n.treeControl,_())}}function d(e){t((()=>{const e=r[0].querySelector("li.active");if(!e)return;const t=r[0].closest(".tree-list-container");if(!t)return;const n=t.getBoundingClientRect(),a=e.getBoundingClientRect(),c=a.top<n.top,l=a.bottom>n.bottom;if(c){const e=n.top-a.top+10;t.scrollTop-=e}else if(l){const e=a.bottom-n.bottom+10;t.scrollTop+=e}}),10)}function u(e){if(!e)return null!=o?o.selected=!1:i.deselect_all_branches(),void(o=null);if(e!==o){if(null!=o?o.selected=!1:i.deselect_all_branches(),e.selected=!0,o=e,m(n.treeData,e),d(e),"function"==typeof e.onSelect)return t((()=>e.onSelect(e,n.treeType)));if("function"==typeof n.onSelect)return t((()=>n.onSelect({branch:e},n.treeType)))}}function h(e){const t="mail_short"===a.treeType?".treeBody .abn-tree":".shortTree .abn-tree";u(null);const n=r[0].closest(".tree-list-container"),c=n&&n.querySelector(t);if(!c)return;if("function"==typeof c.focus)try{c.focus({preventScroll:!0})}catch(e){c.focus()}const l=angular.element(c),i="function"==typeof l.isolateScope&&l.isolateScope()||l.scope(),o=i&&i.treeControl;o&&("up"===e?o.select_last_branch&&o.select_last_branch():"down"===e&&o.select_first_branch&&o.select_first_branch())}function f(e){if(!e)return!1;switch(e.keyCode||e.which){case 37:return!o||(e.preventDefault(),i.collapse_branch(o),!1);case 39:return!o||(e.preventDefault(),i.expand_branch(o),!1);case 38:if(e.preventDefault(),!o)return i.select_first_branch(),!1;return void 0!==i.select_prev_branch(o)||h("up"),!1;case 40:if(e.preventDefault(),!o)return i.select_first_branch(),!1;return void 0!==i.select_next_branch(o)||h("down"),!1}}function b(t,r,l){if(!n.disableTree&&l&&3!==l.which)if(t.branch.data.unselectable)y(t,l);else if(c&&e.windowWidth&&e.windowWidth<=737&&!r&&-1===l.target.classList.value.indexOf(a.iconExpand)&&-1===l.target.classList.value.indexOf(a.iconCollapse)&&(c.setTree(!1),e.$broadcast("treeChanged")),t.branch!==o){if("function"==typeof n.preBranchSelect&&!1===n.preBranchSelect(t.branch,n.treeType,r))return;if(t.branch.data.showEye)return;return u(t.branch)}}function p(){n.tree_rows=[],D(n.treeData,(e=>{e.uid=e.uid||""+Math.random()})),D(n.treeData,(e=>{if(!Array.isArray(e.children))return;let t=e.children,n=t.length;for(let r=0;r<n;r++){t[r].parent_uid=e.uid}})),D(n.treeData,(e=>{let t=e.children||[],n=[],r=t.length;for(let e=0;e<r;e++){let r=t[e],a="string"==typeof r?{label:r,children:[]}:r;n.push(a)}e.children=n}));let e=n.treeData,t=e.length;for(let n=0;n<t;n++){r(1,e[n],!0)}function r(e,t,c){t.expanded=t.expanded||!1,t.classes=t.classes||[];let l=a.iconLeaf;if(t.noLeaf||t.children&&t.children.length?l=t.expanded?a.iconCollapse:a.iconExpand:t.classes.indexOf("leaf")<0&&t.classes.push("leaf"),n.tree_rows.push({level:e,branch:t,label:t.label,count:t.data&&t.data.count?t.data.count:"",ke
428y:t.data.key,classes:t.classes,infoIcon:t.infoIcon,tree_icon:l,visible:c,showSharedIcon:!(!t.data||!t.data.isShared),disposableAddress:!(!t.data||!t.data.isDisposable||t.data.isShared)}),null!=t.children){let n=t.children,a=n.length;for(let l=0;l<a;l++){r(e+1,n[l],c&&t.expanded)}}}}function _(){i.expand_all=function(){return D(n.treeData,(e=>e.expanded=!0))},i.collapse_all=function(){return D(n.treeData,(e=>e.expanded=!1))},i.get_first_branch=function(){return n.treeData&&n.treeData.length&&n.treeData[0]},i.select_first_branch=function(){return i.select_branch(i.get_first_branch())},i.get_selected_branch=function(){if(o)return o;D(n.treeData,(function(e){if(e.selected)return o}))},i.get_parent_branch=e=>k(n.treeData,e),i.select_branch=e=>(u(e),e),i.select_branch_id=e=>{D(n.treeData,(t=>{t.data.key===e&&u(t)}))},i.get_children=e=>e.children,i.select_parent_branch=function(e){if(!(e=e||i.get_selected_branch()))return;let t=i.get_parent_branch(e);return t?(i.select_branch(t),t):void 0},i.add_branch=function(e,t){return null!=e?(e.children.push(t),e.expanded=!0):n.treeData.push(t),t},i.remove_branch=function(e){let t=n.treeControl.get_parent_branch(e);t?t.children.splice(t.children.indexOf(e),1):n.treeData.splice(n.treeData.indexOf(e),1)},i.add_root_branch=function(e){return i.add_branch(null,e),e},i.expand_branch=function(e){if(e=e||i.get_selected_branch())return e.expanded=!0,e},i.expand_all_parents=e=>m(n.treeData,e),i.collapse_branch=function(e){if(e=e||o)return e.expanded=!1,e},i.get_siblings=function(e){if(!(e=e||o))return;let t=i.get_parent_branch(e);return t?t.children:n.treeData},i.get_next_sibling=function(e){if(!(e=e||o))return;let t=i.get_siblings(e),n=t.length,r=t.indexOf(e);return r<n?t[r+1]:void 0},i.get_prev_sibling=function(e){if(!(e=e||o))return;let t=i.get_siblings(e),n=t.indexOf(e);return n>0?t[n-1]:void 0},i.select_next_sibling=function(e){if(!(e=e||o))return;let t=i.get_next_sibling(e);return t?i.select_branch(t):void 0},i.select_prev_sibling=function(e){if(!(e=e||o))return;let t=i.get_prev_sibling(e);return t?i.select_branch(t):void 0},i.get_first_child=function(e){if(e=e||o)return e.children&&e.children.length&&e.children[0]},i.get_closest_ancestor_next_sibling=function(e){if(!e)return;let t=i.get_next_sibling(e);if(t)return t;let n=i.get_parent_branch(e);return i.get_closest_ancestor_next_sibling(n)},i.get_next_branch=function(e){if(e=e||o){if(e.expanded){let t=i.get_first_child(e);if(t)return t}return i.get_closest_ancestor_next_sibling(e)}},i.select_next_branch=function(e){if(!(e=e||o))return;let t=i.get_next_branch(e);return t?(i.select_branch(t),t):void 0},i.last_descendant=function(e){if(!e.expanded||!e.children||0===e.children.length)return e;let t=e.children[e.children.length-1];return i.last_descendant(t)},i.get_prev_branch=function(e){if(!(e=e||o))return;let t=i.get_prev_sibling(e);return t?i.last_descendant(t):i.get_parent_branch(e)},i.deselect_all_branches=function(){D(n.treeData,(e=>e.selected=!1)),o=null},i.select_prev_branch=function(e){if(!(e=e||o))return;let t=i.get_prev_branch(e);return t?(i.select_branch(t),t):void 0},i.select_last_branch=function(){let e=null;if(D(n.treeData,(t=>{e=t})),e)return i.select_branch(e)}}function g(e){if(!n.onDragDrop)return!1;e.currentTarget.attributes.key.value.includes("|scheduled8c61c74014d4e679d52c0a6aca4342b")&&(e.dataTransfer.dropEffect="none",e.dataTransfer.effectAllowed="none"),$(e.currentTarget).find("a").addClass("drop-highlight"),e.preventDefault()}function v(e){e.currentTarget.attributes.key.value.includes("|scheduled8c61c74014d4e679d52c0a6aca4342b")&&(e.dataTransfer.dropEffect="move",e.dataTransfer.effectAllowed="all"),$(e.currentTarget).find("a").removeClass("drop-highlight")}function w(e){return $(e.currentTarget).find("a").removeClass("drop-highlight"),null!=n.onDragDrop&&n.onDragDrop(e),e.preventDefault(),e.stopPropagation(),!1}function y(e,t){t.stopPropagation(),t.preventDefault(),e.branch.expanded=!e.branch.expanded,null!=n.onBranchOpen&&n.onBranchOpen(e.branch,t)}function x(e,t,r){r&&3===r.which&&"function"==typeof n.branchMouseUp&&n.branchMouseUp(e,r)}function D(e,t){let n=e,r=n.length,a=[];for(let e=0;e<r;e++){let t=n[e];a.push(c(t,1))}return a;function c(e,n){if(t(e,n),!e.children)return;let r=e.children,a=[],l=r.length;for(let e=0;e<l;e++){let t=r[e];a.push(c(t,n+1))}return a}}function T(e,t,n){let r=k(e,t);if(null!=r)return n(r),T(e,r,n)}function k(e,t){let n;return t.parent_uid&&D(e,(function(e){if(e.uid===t.parent_uid)return n=e})),n}function m(e,t){return T(e,t,(e=>e.expanded=!0))}n.tree_rows=[],n.onRowDragOver=g,n.onRowDragLeave=v,n.onDrop=w,n.branchExpand=y,n.triggerBranchMouseUp=x,n.branchClicked=b,n.handleKeyBind=f,n.switchToOtherTree=h,s()},scope:{branchMouseUp:"=",canHaveSubfolders:"<",initialSelection:"@",onBranchExpand:"=",onBranchOpen:"=",onDragDrop:"=",onSelect:"&",preBranchSelect:"=",showCounts:"=",tree
428Control:"=",treeData:"=",treeType:"@",useIcons:"=",disableTree:"<",enableNavigation:"<"}}}])}).call(this);
429!function(){"use strict";angular.module("smartermail").directive("kbShortcut",["$window","keybindings",function(t,r){return{restrict:"A",link:function(e,o,n){let i=[];const c=n.kbShortcutHintClass||"shortcut-hint";function a(){let e=!0;if(n.kbShortcut.contains(",")){n.kbShortcut.replace(" ",""),"true"!==n.kbShortcut.split(",")[1].toLowerCase()&&(e=!1)}for(;i.length;)i.pop()();var a,u=(a=n.kbShortcut)?Array.isArray(a)?a:String(a).split(",").map((function(t){return t.trim()})).filter(Boolean):[];if(!u.length){o.removeAttr("aria-keyshortcuts");var l=o[0].querySelector("."+c);return void(l&&l.remove())}const s=u.map((function(r){return r.replace(/mod/gi,/mac/i.test(t.navigator.platform)?"Meta":"Control").replace(/cmd|command|⌘/gi,"Meta").replace(/control/gi,"Control").replace(/option/gi,"Alt").replace(/meta/gi,"Meta").replace(/\b([a-z])\b/g,(function(t,r){return r.toUpperCase()}))})).join(" ");o.attr("aria-keyshortcuts",s),u.forEach((function(t){var e=r.register(t,(function(){o.triggerHandler("click")}));i.push(e)}))}a(),n.$observe("kbShortcut",a),e.$on("$destroy",(function(){i.forEach((function(t){t()}))}))}}}])}();
430!function(){"use strict";angular.module("smartermail").provider("keybindings",(function(){var e={ignoreFormFields:!0};this.configure=function(t){angular.extend(e,t||{})},this.$get=["$document","$rootScope",function(t,n){let r=new Map;const o=["ctrl","meta","alt","shift"];function a(e){return"control"===(e=e.toLowerCase())?"ctrl":"cmd"===e||"command"===e||"⌘"===e?"meta":"option"===e?"alt":"super"===e||"win"===e||"os"===e?"meta":"space"===e?"space":e}function i(e){const t=String(e).toLowerCase().replace(/\s+/g,"").split("+").filter(Boolean).map(a);let n=[],r=[];return t.forEach((function(e){o.indexOf(e)>=0?n.push(e):r.push(e)})),n.sort((function(e,t){return o.indexOf(e)-o.indexOf(t)})),n.concat(r).join("+")}function c(e){let t=e.toLowerCase();return/(^|[+])mod([+]|$)/.test(t)?navigator.platform.indexOf("Mac")>-1||navigator.userAgent.indexOf("Mac")>-1?[t.replace(/(^|[+])mod([+]|$)/g,"$1meta$2")]:[t.replace(/(^|[+])mod([+]|$)/g,"$1ctrl$2")]:[e]}return t[0].addEventListener("keydown",(function(t){const o=function(e){let t=[];e.ctrlKey&&t.push("ctrl"),e.metaKey&&t.push("meta"),e.altKey&&t.push("alt"),e.shiftKey&&t.push("shift");var n=e.code||e.key||"";
430return n.startsWith("Key")&&4===n.length?n=n.charAt(3).toLowerCase():n.startsWith("Digit")&&6===n.length?n=n.charAt(5):n.startsWith("Arrow")?n=n.replace("Arrow","").toLowerCase():"Space"===n?n="space":(" "===(n=(e.key||"").toLowerCase())&&(n="space"),0===n.indexOf("arrow")&&(n=n.replace("arrow",""))),-1===["control","meta","alt","shift"].indexOf(n)&&n&&t.push(a(n)),i(t.join("+"))}(t),c=r.get(o);if(!c)return;if(document.querySelectorAll("md-dialog").length>0)return;const s=t.target,u=(s.tagName||"").toLowerCase(),l=s.isContentEditable||"input"===u||"textarea"===u||"select"===u;e.ignoreFormFields&&l||c.when&&!c.when()||(!1!==c.preventDefault&&(t.returnValue=!1,t.preventDefault(),t.stopImmediatePropagation()),n.$applyAsync((function(){c.handler(t)})))}),!0),{register:function(e,t,n){n=n||{};let o=[];return c(e).forEach((function(e){const a=i(e);r.set(a,{handler:t,when:n.when,preventDefault:n.preventDefault}),o.push((function(){r.delete(a)}))})),function(){o.forEach((function(e){e()}))}},unregister:function(e){c(e).forEach((function(e){r.delete(i(e))}))}}}]}))}();
431!function(){"use strict";angular.module("smartertools").directive("stDatePicker",["$compile","$rootScope","browserSupport",function(e,t){return{restrict:"E",scope:{stModel:"=",stMinDate:"=",stMaxDate:"=",dayOnly:"=",timeOnly:"=",stDisabled:"=",stPlaceholder:"@",stPlaceholderTime:"@",stOpenOnClick:"=",stRequired:"=",stDateFormat:"=",stTimeFormat:"=",allowEmpty:"=?",debounceInterval:"=?"},link:function(a,i,s){a.stPlaceholderTime=void 0===a.stPlaceholderTime||null===a.stPlaceholderTime?a.stPlaceholder:a.stPlaceholderTime,a.allowEmpty||(a.allowEmpty=!1),a.debounceInterval||(a.debounceInterval=500);let d=" ",l=" ";t.browserCaps&&t.browserCaps.supportsDateInput||!moment||(d=" mdp-format=L",l=" mdp-format=LT"),a.tempModel=null;let r=-1;if(t.browserCaps&&t.browserCaps.edgeVersion)r=t.browserCaps.edgeVersion;else{const P=navigator.userAgent.indexOf("Edge");
431if(-1!==P){let O=navigator.userAgent.substring(P,P+8);if(-1!==O.indexOf("Edge/")){O=O.replace(".","");const V=O.split("/");r=Number(V[1])}}}const n=s.name||"",m=n?'<ng-form name="'+n+'">':"",o=n?"</ng-form>":"",c=n?'<div ng-messages="'+n+'.$error" class="st-error-message" role="alert"><div ng-message="minDate">{{ "VALIDATION_ERROR_MIN_DATE" | translate : { date: (stMinDate | date:($parent.dayOnly ? \'shortDate\' : \'short\')) } }}</div><div ng-message="maxDate">{{ "VALIDATION_ERROR_MAX_DATE" | translate : { date: (stMaxDate | date:($parent.dayOnly ? \'shortDate\' : \'short\')) } }}</div></div>':"",p=r>=16?"$parent.tempModal":"$parent.stModel",D=a.stOpenOnClick?" mdp-open-on-click ":"",y=a.stDateFormat?" mdp-format="+a.stDateFormat+" ":d,u=a.stTimeFormat?" mdp-format="+a.stTimeFormat+" ":l,$=a.stRequired?" required ":"",f=" "!==d?" input-disabled=true":"",M=" "!==l?" input-disabled=true":"",k=angular.element(m+"<div class=\"st-datetime-picker\">                            <mdp-date-picker name=\"datePicker\" ng-model-options=\"{ updateOn: 'default blur', debounce: { 'blur': 0, 'default': "+a.debounceInterval+' } }" ng-if="!timeOnly" mdp-min-date="$parent.stMinDate"  mdp-max-date="$parent.stMaxDate" mdp-placeholder="{{$parent.stPlaceholder | translate}}" mdp-disabled="$parent.stDisabled" ng-model="'+p+'" ng-class="{\'date-day-only\': $parent.dayOnly}" '+D+y+$+f+' allow-empty="'+a.allowEmpty+"\">\t\t\t\t\t\t\t</mdp-date-picker>\t\t\t\t\t\t\t<mdp-time-picker name=\"timePicker\" ng-model-options=\"{ updateOn: 'default blur', debounce: { 'blur': 0, 'default': "+a.debounceInterval+' } }" ng-if="!dayOnly"\t\t\t\t\t\t\t\tmdp-placeholder="{{$parent.stPlaceholderTime | translate}}" mdp-disabled="$parent.stDisabled" ng-model="'+p+'"'+u+$+M+' allow-empty="'+a.allowEmpty+'">\t\t\t\t\t\t\t</mdp-time-picker>                        </div>'+c+o);if(i.append(k),e(k)(a),n){function g(){const e=a[n];if(!e)return;if(!a.stModel)return e.$setValidity("minDate",!0),e.$setValidity("maxDate",!0),e.datePicker&&(e.datePicker.$setValidity("minDate",!0),e.datePicker.$setValidity("maxDate",!0)),void(e.timePicker&&(e.timePicker.$setValidity("minDate",!0),e.timePicker.$setValidity("maxDate",!0)));const t=moment(a.stModel);let i=!0,s=!0;if(a.dayOnly)a.stMinDate&&(i=!t.isValid()||t.isSameOrAfter(moment(a.stMinDate),"day")),a.stMaxDate&&(s=!t.isValid()||t.isSameOrBefore(moment(a.stMaxDate),"day")),e.$setValidity("minDate",i),e.$setValidity("maxDate",s),e.datePicker&&(e.datePicker.$setValidity("minDate",i),e.datePicker.$setValidity("maxDate",s));else if(a.timeOnly)a.stMinDate&&(i=!t.isValid()||t.isSameOrAfter(moment(a.stMinDate))),a.stMaxDate&&(s=!t.isValid()||t.isSameOrBefore(moment(a.stMaxDate))),e.$setValidity("minDate",i),e.$setValidity("maxDate",s),e.timePicker&&(e.timePicker.$setValidity("minDate",i),e.timePicker.$setValidity("maxDate",s));else{let i=!0,s=!0,d=!0,l=!0;if(a.stMinDate){const e=moment(a.stMinDate);t.isBefore(e,"day")?i=!1:t.isSame(e,"day")&&(d=t.isSameOrAfter(e))}if(a.stMaxDate){const e=moment(a.stMaxDate);t.isAfter(e,"day")?s=!1:t.isSame(e,"day")&&(l=t.isSameOrBefore(e))}e.$setValidity("minDate",i&&d),e.$setValidity("maxDate",s&&l),e.datePicker&&(e.datePicker.$setValidity("minDate",i),e.datePicker.$setValidity("maxDate",s)),e.timePicker&&(e.timePicker.$setValidity("minDate",d),e.timePicker.$setValidity("maxDate",l))}}a.$watch("stModel",g),a.$watch("stMinDate",g),a.$watch("stMaxDate",g),a.$watch("dayOnly",g)}r>=16&&(setTimeout((function(){a.tempModel=a.stModel,a.$applyAsync()}),1500),a.$watch("tempModel",(function(){a.stModel=a.tempModel})),a.$on("DateModelReset",(function(){a.tempModel=a.stModel,a.$applyAsync()})))}}}])}();
432!function(){"use strict";function t(t){t.addPreset("confirmDeletion",{methods:["title","htmlContent","textContent","content","ariaLabel","ok","cancel","theme","css","noWarn","hideCancel"],options:o}),t.addPreset("confirmWithOption",{methods:["title","htmlContent","textContent","content","ariaLabel","ok","cancel","theme","css","noWarn","hideCancel","optionText","optionDefault"],options:e}),t.addPreset("confirmRevertChanges",{methods:["title","htmlContent","textContent","content","ariaLabel","ok","cancel","theme","css","noWarn","hideCancel"],options:n}),t.addPreset("notify",{methods:["title","htmlContent","textContent","content","ariaLabel","ok","theme","css","noWarn","hideCancel"],options:i}),t.addPreset("stProgressBar",{methods:["title","barText","cancel","close","ariaLabel","cancel","close","enableButtons","showCancel","theme","css","percentProgress","progressListener","guid","autoClose"],options:l})}function o(t,o){return e.$inject=["$scope","$translate"],{template:['<md-dialog md-theme="{{ dialog.theme }}" aria-label="{{ dialog.ariaLabel || dialog.title }}" ng-class="dialog.css" class="confirm-dialog">','  <md-dialog-content class="md-dialog-content" role="document" tabIndex="-1">','    <h2 class="md-title">{{ dialog.title }}</h2>
432','    <div ng-if="::dialog.mdHtmlContent" class="md-dialog-content-body" ','        ng-bind-html="::dialog.mdHtmlContent"></div>','    <div ng-if="::!dialog.mdHtmlContent" class="md-dialog-content-body">',"      <p>{{::dialog.mdTextContent}}</p>","    </div>","  </md-dialog-content>","  <md-dialog-actions>",'    <md-button md-autofocus ng-click="dialog.abort()" class="md-primary md-cancel-button" ng-hide="dialog.hideCancel">',"      {{ dialog.cancel }}","    </md-button>",'    <md-button ng-click="dialog.hide()" class="md-confirm-button" ng-class="{ \'md-warn\': !dialog.noWarn}" md-autofocus>',"      {{ dialog.ok }}","    </md-button>","  </md-dialog-actions>","</md-dialog>"].join("").replace(/\s\s+/g,""),controller:e,controllerAs:"dialog",bindToController:!0};function e(e,n){this.cancel=this.cancel||n.instant("CANCEL"),this.ok=this.ok||n.instant("DELETE"),this.title=this.title||n.instant("CONFIRMATION_REQUIRED"),this.hide=function(){t.hide(!0)},this.abort=function(){t.cancel()},this.keypress=function(e){e.keyCode===o.KEY_CODE.ENTER&&t.hide(this.result)}}}function e(t,o){return e.$inject=["$scope","$translate"],{template:['<md-dialog md-theme="{{ dialog.theme }}" aria-label="{{ dialog.ariaLabel || dialog.title }}" ng-class="dialog.css" class="confirm-dialog">','  <md-dialog-content class="md-dialog-content" role="document" tabIndex="-1">','    <h2 class="md-title">{{ dialog.title }}</h2>','    <div ng-if="::dialog.mdHtmlContent" class="md-dialog-content-body" ','        ng-bind-html="::dialog.mdHtmlContent"></div>','    <div ng-if="::!dialog.mdHtmlContent" class="md-dialog-content-body">',"      <p>{{::dialog.mdTextContent}}</p>",'    </div>    <div class="md-dialog-content-body" >','\t\t<md-switch aria-label="{{ dialog.optionText }}" ng-model="dialog.option" class="md-primary select-box">{{ dialog.optionText }}</md-switch>    </div>  </md-dialog-content>',"  <md-dialog-actions>",'    <md-button md-autofocus ng-click="dialog.abort()" class="md-primary md-cancel-button" ng-hide="dialog.hideCancel">',"      {{ dialog.cancel }}","    </md-button>",'    <md-button ng-click="dialog.hide()" class="md-confirm-button" ng-class="{ \'md-warn\': !dialog.noWarn}" md-autofocus>',"      {{ dialog.ok }}","    </md-button>","  </md-dialog-actions>","</md-dialog>"].join("").replace(/\s\s+/g,""),controller:e,controllerAs:"dialog",bindToController:!0};function e(e,n){this.cancel=this.cancel||n.instant("CANCEL"),this.ok=this.ok||n.instant("DELETE"),this.title=this.title||n.instant("CONFIRMATION_REQUIRED"),this.optionText=this.optionText||n.instant("OPTION"),this.option=this.optionDefault||!1,this.hide=function(){t.hide(this.option)},this.abort=function(){t.cancel()},this.keypress=function(e){e.keyCode===o.KEY_CODE.ENTER&&t.hide(this.option)}}}function n(t,o){return e.$inject=["$scope","$filter"],{template:['<md-dialog md-theme="{{ dialog.theme }}" aria-label="{{ dialog.ariaLabel || dialog.title }}" ng-class="dialog.css" class="confirm-dialog">','  <md-dialog-content class="md-dialog-content" role="document" tabIndex="-1">','    <h2 class="md-title">{{ dialog.title }}</h2>','    <div ng-if="::dialog.mdHtmlContent" class="md-dialog-content-body" ','        ng-bind-html="::dialog.mdHtmlContent"></div>','    <div ng-if="::!dialog.mdHtmlContent" class="md-dialog-content-body">',"      <p>{{::dialog.mdTextContent}}</p>","    </div>","  </md-dialog-content>","  <md-dialog-actions>",'    <md-button ng-click="dialog.abort()" class="md-primary md-cancel-button" ng-hide="dialog.hideCancel">',"      {{ dialog.cancel }}","    </md-button>",'    <md-button md-autofocus ng-click="dialog.hide()" class="md-confirm-button" ng-class="{ \'md-primary\': !dialog.noWarn}">',"      {{ dialog.ok }}","    </md-button>","  </md-dialog-actions>","</md-dialog>"].join("").replace(/\s\s+/g,""),controller:e,controllerAs:"dialog",bindToController:!0};function e(e,n){this.cancel=this.cancel||n("translate")("KEEP_CHANGES"),this.ok=this.ok||n("translate")("UNDO_CHANGES"),this.title=this.title||n("translate")("CONFIRMATION_REQUIRED"),this.textContent=this.textContent||n("translate")("CONFIRMATIONS_REVERT_CHANGES_BODY"),this.hide=function(){t.hide(!0)},this.abort=function(){t.cancel()},this.keypress=function(e){e.keyCode===o.KEY_CODE.ENTER&&t.hide(this.result)}}}function i(t,o){return e.$inject=["$scope","$translate"],{template:['<md-dialog md-theme="{{ dialog.theme }}" aria-label="{{ dialog.ariaLabel || dialog.title }}" ng-class="dialog.css" class="confirm-dialog">','  <md-dialog-content class="md-dialog-content" role="document" tabIndex="-1">','    <h2 class="md-title">{{ dialog.title }}</h2>
432','    <div ng-if="::dialog.mdHtmlContent" class="md-dialog-content-body" ','        ng-bind-html="::dialog.mdHtmlContent"></div>','    <div ng-if="::!dialog.mdHtmlContent" class="md-dialog-content-body">',"      <p>{{::dialog.mdTextContent}}</p>","    </div>","  </md-dialog-content>","  <md-dialog-actions>",'    <md-button ng-click="dialog.hide()" class="md-confirm-button" ng-class="{ \'md-warn\': !dialog.noWarn}" md-autofocus>',"      {{ dialog.ok }}","    </md-button>","  </md-dialog-actions>","</md-dialog>"].join("").replace(/\s\s+/g,""),controller:e,controllerAs:"dialog",bindToController:!0};function e(e,n){this.ok=this.ok||n.instant("OK"),this.title=this.title||"",this.hide=function(){t.hide(!0)},this.keypress=function(e){e.keyCode===o.KEY_CODE.ENTER&&t.hide(this.result)}}}function l(t,o){return e.$inject=["$rootScope","$scope","$timeout","$translate","$log","errorHandling"],{template:['<md-dialog md-theme="{{ dialog.theme }}" aria-label="{{ dialog.ariaLabel || dialog.title }}" ng-class="dialog.css" class="confirm-dialog">','  <md-dialog-content class="md-dialog-content" role="document" tabIndex="-1">','    <h2 class="md-title">{{ ::dialog.title }}</h2>','    <div class="grid-disk-space-bar-chart">','     <div class="overview-chart">','       <span class="chart-search" ng-class="{indeterminate: dialog.indeterminate}" ng-style="{\'width\': (dialog.percentProgress <= 100 ? dialog.percentProgress : 100) + \'%\'}"></span>',"     </div>",'     <div class="chart-overlay" ng-show="dialog.barText">{{dialog.barText}} ({{ dialog.percentProgress | number : 0 }}%)</div>',"    </div>","  </md-dialog-content>",'  <md-dialog-actions ng-show="!dialog.autoClose || dialog.showCancel || dialog.enableButtons">','    <md-button md-autofocus ng-click="dialog.onClose()" class="md-primary md-cancel-button" ng-show="!dialog.autoClose || dialog.enableButtons" ng-disabled="!dialog.enableButtons">',"      {{ dialog.close }}","    </md-button>",'    <md-button ng-click="dialog.onCancel()" class="md-warn md-confirm-button" ng-if="dialog.showCancel" ng-disabled="dialog.percentProgress === 100">',"      {{ dialog.cancel }}","    </md-button>","  </md-dialog-actions>","</md-dialog>"].join("").replace(/\s\s+/g,""),controller:e,controllerAs:"dialog",bindToController:!0};function e(o,e,n,i,l,a){var d=this;function s(){debugMode&&console.log("Started listening for "+d.progressListener+" with GUID "+d.guid),e.$on(d.progressListener,(function(t,o){if(debugMode&&console.log("Got update for "+o.guid+" | Current: "+o.current+" | Total: "+o.total),o.guid===d.guid){if(n.cancel(d.closeTimeout),o.error&&(a.report(o.error),d.onClose()),o.action&&(d.barText=i.instant(o.action)),d.closeTimeout=n(d.onClose,25e3),-1==o.totalCount)o.current!==o.total&&-1!==o.current?d.percentProgress=Math.floor(o.current/o.total*100):o.current!==o.total&&-1!==o.current||(d.percentProgress=100);else{var l=o.current+o.processed;l!==o.totalCount&&-1!==o.current?d.percentProgress=Math.floor(l/o.totalCount*100):-1===o.current&&o.asyncFolderCurrent==o.asyncFolderTotal&&(d.percentProgress=100)}d.percentProgress=d.percentProgress>100?100:d.percentProgress,-1===o.current&&(d.closeModal=!0)}d.closeModal&&(n.cancel(d.closeTimeout),d.autoClose?d.onClose():d.enableButtons=!0),e.$applyAsync()}))}d.onClose=function(){d.closeTimeout&&n.cancel(d.closeTimeout);d.percentProgress=0,d.guid="",t.cancel()},d.onCancel=function(){d.closeTimeout&&n.cancel(d.closeTimeout);d.percentProgress=0,d.guid="",t.hide({})},d.close=d.close||i.instant("CLOSE"),d.cancel=d.cancel||i.instant("CANCEL"),d.title=d.title||i.instant("PROGRESS"),d.percentProgress=d.percentProgress||0,d.closeModal=!1,d.indeterminate=-1===d.percentProgress,d.indeterminate||(d.closeTimeout=n(d.onClose,25e3)),100!==d.percentProgress?(Object.defineProperty(d,"progressListener",{get:function(){return d._progListener},set:function(t){d._progListener=t,s()}}),d.progressListener&&s(),n((function(){d.closeModal||(d.indeterminate=-1===d.percentProgress,d.indeterminate?d.closeTimeout&&(n.cancel(d.closeTimeout),d.closeTimeout=null):d.closeTimeout||(d.closeTimeout=n(d.onClose,25e3)))}),0)):d.onClose()}}o.$inject=["$mdDialog","$mdConstant"],e.$inject=["$mdDialog","$mdConstant"],n.$inject=["$mdDialog","$mdConstant"],i.$inject=["$mdDialog","$mdConstant"],l.$inject=["$mdDialog","$mdConstant"],t.$inject=["$mdDialogProvider"],angular.module("smartertools").config(t)}();
433!function(e,t){var n=38,a=40,i=33,o=34,l=36,r=35,d=46,s={itemsToGrabAtInit:100,itemsToPreloadAroundData:50,itemHeight:20,placeholderItem:null,searchApiUrl:null,searchApiUrlIdOnly:null,
433searchCriteria:{},renderOptions:{},translations:{noItemsToShow:"No items to show",pleaseWait:"Loading"},getAccessTokenHandler:null,renderItemHandler:null,renderItemHandlerPostHandler:null,onDeleteKey:null,onGetDataCompleted:null,onItemClick:null,onItemDoubleClick:null,onRightClick:null,onSelectionCountChanged:null};window.SmarterTools=window.SmarterTools||{},window.SmarterTools.PanelGrid=function(c,u){u=e.extend({},s,u);var f,h,p,m,v,g,y,C=this,I=[],k=null,x=!1,D=[],b=0,S=!1,M=-1,O=null,T={},H={},w=9007199254740991,A=!1,P=[],K=[],B=!1,G=(/iPad|iPhone|iPod/.test(navigator.userAgent)&&window.MSStream,t.throttle((function(){if(S)return;S=!0,void 0!==window.requestAnimationFrame?window.requestAnimationFrame(Q):window.setTimeout(Q,5)}),5)),_=t.throttle((function(){te(),F(),ae(),R()}),50),j=t.throttle((function(){te();var e=X(),t=Y(),n=0===t?0:t-1;if(g&&g===v&&y===n)return;v=g,y=n;var a,i=q(),o=Math.floor(n*e),l=o+3*e,r=[];for(a=o;a<l;a++){var d=D[a];r[a]=d&&!d._idOnly&&"function"==typeof u.renderItemHandler?u.renderItemHandler(d,u.renderOptions):null}m.hide(),f.toggle(!w),k.detach(),p.height(o*u.itemHeight);var s=0,C=0;for(a=o;a<l;a++){var x=I[s++];if(a>=w)x.hide();else{C++;var S=D[a],M=r[a],O=S?S.Id||S.id||S.uid:-1;x.toggleClass("selected",!!H[O]).toggleClass("focus",b==a).attr({"data-index":a,"data-id":O}).height(u.itemHeight).html(M).toggle(!!M),"function"==typeof u.renderItemHandlerPostHandler&&u.renderItemHandlerPostHandler(S,u.renderOptions,x)}}var T=9007199254740991==w?0:Math.max(0,Math.ceil((w-(o+C))*u.itemHeight));h.height(T),c.append(k),c.scrollTop(i)}),50),z=t.debounce($,100),R=t.throttle($,100),N=t.debounce(ue,150),U=t.throttle((function(){Z()}),250);function q(){return Math.max(c.scrollTop(),0)}function F(){if(u.placeholderItem&&"function"==typeof u.renderItemHandler){var t;try{var n=u.placeholderItem;k.css("visibility","hidden");var a="<div class='panel-item'>"+u.renderItemHandler(n,u.renderOptions)+"</div>";t=e(a),k.append(t);var i=Math.ceil(t.outerHeight());u.itemHeight=i||u.itemHeight}catch(e){}t&&t.remove(),k.css("visibility","")}}C.deleteItemById=function(e){var t=le(e);if(!t)return;var n=t.Index||t.index;D[n]=void 0,delete T[n],U()},C.getItemByIndex=function(e){return D[e]},C.getItemById=le,C.getSelectedItems=ie,C.getSelectedIds=oe,C.repaint=function(e){e&&(y=-1);$()},C.reset=Z,C.reloadItemById=function(e){var t=le(e);if(!t)return;var n=t.Index||t.index;D[n]=void 0,delete T[n],v=null,g=null,R()},C.selectAll=re,C.selectNone=function(){if(!w)return;he([M],!0)},C.selectItemByIndex=ce,C.selectItemById=function(e){(H={})[e]=!0,Z()},C.addItemToSelectionById=function(e){H[e]||(H[e]=!0,Z(),ue())},C.selectNext=function(e){if(!D||!D.length)return;for(var t=-1,n=0;n<D.length;n++){var a=D[n];if(a){var i=a.Id||a.id||a.uid;if(H[i]){t=n;break}}}if(++t<w){b=t,ae(),ce(t,e);var o=Math.min(w-1,t+u.itemsToPreloadAroundData);if(!D[o])$({start:t,count:u.itemsToPreloadAroundData,preDataCallback:null,postDataCallback:null,idOnly:!1})}},C.selectPrevious=function(e){if(!D||!D.length)return;for(var t=1,n=0;n<D.length;n++){var a=D[n];if(a){var i=a.Id||a.id||a.uid;if(H[i]){t=n;break}}}if(--t<w&&t>=0){b=t,ae(),ce(t,e);var o=Math.max(0,t-u.itemsToPreloadAroundData);if(!D[o])$({start:o,count:u.itemsToPreloadAroundData,preDataCallback:null,postDataCallback:null,idOnly:!1})}},C.focusItem=ae,C.setOptions=function(t){u=e.extend(u,t)},C.setSelectMode=function(e){A=e},C.getItemCount=function(){return w},m=e('<div class="please-wait">'+t.escape(u.translations.pleaseWait)+"<span>.</span><span>.</span><span>.</span></div>"),f=e('<div class="no-items">'+t.escape(u.translations.noItemsToShow)+"</div>").hide(),k=e('<div class="panel-grid-list"></div>'),te(),c.addClass("panel-grid").attr("tabindex","0").append('<input class="selectedtracker" tabindex="-1" type="text" readonly id="SelectedIDs" name="SelectedIDs" style="visibility: hidden; position:fixed; z-index:0;" />').append(m).append(f).append(k),F(),$(),e(window).on("resize",_).on("panelGrid:resized",_),c.on("keydown",E).on("scroll",G).on("click",".panel-item",W).on("contextmenu",".panel-item",L).focus(),window.SmarterTools.touchContext&&window.SmarterTools.touchContext(c,".panel-item",L),e(c).data("PanelGrid",C);var J=-1;function W(t){var n=e(this).attr("data-index");if(ne(b=n),ae(),ce(n,t),"function"==typeof u.onItemDoubleClick){if(!B)return B=!0,setTimeout((function(){B=!1}),500),J=b,!1;J==b&&1==oe().length&&(t.preventDefault(),function(t,n){if("function"!=typeof u.onItemDoubleClick)return!0;n||(n=e(this));var a=n.attr("data-id"),i=n.attr("data-index"),o=D[i];u.onItemDoubleClick(a,o,t)}(t,e(this)))}return J=b,!0}function L(t){if("function"!=typeof u.onRightClick)return!0;var n=e(this),a=n.attr("data-id"),i=n.attr("data-index");return b=i,H[a]||(ne(i),ce(i,t)),u.onRightClick(ie(),t),!1}function Q(){navigator.platform.match(/i(Phone|Pod|Pad)/i)?z():(j(),R()),S=!1}function E(e){const t=-1!=navigator.userAgent.indexOf("Mac");if(!x)return!0;switch(e.keyCode){case n:return function(e){if(e.shiftKey)b=Math.max(+b-1,0),ae(),fe(M,b,!0,event);else{var t=Math.max(0,+b-1);if(t===+b)return!1;se(t,e,!0)}return!1}(e);case a:return function(e){if(e.shiftKey)b=Math.min(+b+1,w-1),ae(),fe(M,b,!0,event);else{var t=Math.min(w-1,+b+1);if(t===+b)return!1;se(t,e,!0)}return!1}(e);case i:return function(e){var t=Math.floor(q()/u.itemHeight),n=b===t?Math.max(0,b-Math.ceil(c.height()/u.itemHeight)):t;e.shiftKey?(b=n,ae(),fe(M,b,!0,event)):se(n,e);return!1}(e);case o:return function(e){var t=Math.min(Math.floor((q()+c.height())/u.itemHeight),w-1),n=b+1>=t?Math.min(Math.floor((q()+c.height()+c.height())/u.itemHeight),w-1):t;e.shiftKey?(b=n,ae(),fe(M,b,!0,event)):se(n,e);return!1}(e);case l:case r:return!1;case d:return V(e);case 65:if(e.ctrlKey||e.metaKey)return re(),!1}return!("Delete"==e.key||t&&"Backspace"==e.key)||V(e)}function V(e){return"function"==typeof u.onDeleteKey&&u.onDeleteKey(),!1}function X(){return Math.ceil(c.height()/u.itemHeight)}function Y(){var e=X();if(!e)return 0;var t=Math.floor(q()/u.itemHeight);return Math.floor(t/e)}function Z(t,n){var a=this,i=e.extend({keepSelection:!0}
433,t),o=-1;D&&D[b]&&(o=D[b].Id||D[b].id||D[b].uid);var l={start:null,count:null,preDataCallback:function(){i.keepSelection?(i.focusedIndex=b,i.scrollTop=q()):H={},D=[],T={},x=!1,v=null,g=null,te(),i.keepSelection||(b=-1,c.scrollTop(0),m.show(),f.hide(),k.children(".panel-item").hide())},postDataCallback:function(){if(i.keepSelection){c.scrollTop(i.scrollTop);var e=void 0;-1!=o&&(e=le(o)),b=e&&null!=e.index?e.index:i.focusedIndex,y=-1,j(),n&&n(a,b)}},idOnly:!1,ignoreStoredData:!0};w=9007199254740991,i.keepSelection||l.preDataCallback();for(var r=0;r<P.length;++r)K.push(P[r]);P.length=0,$(l)}function $(t){var n,a=e.extend({start:null,count:null,preDataCallback:null,postDataCallback:null,idOnly:!1,ignoreStoredData:!1},t);if(null===a.start||void 0===a.start){var i=X(),o=Y(),l=0===o?0:o-1;a.start=l*i,a.count=Math.max(u.itemsToGrabAtInit,3*i)}if(!a.count){var r=X();a.count=Math.max(u.itemsToGrabAtInit,3*r)}var d=Math.max(a.start-u.itemsToPreloadAroundData,0),s=Math.min(a.start+a.count+u.itemsToPreloadAroundData,w);if(!a.ignoreStoredData){var c=!0,f=x?Math.min(a.start+a.count,w):a.start+a.count;for(n=a.start;n<f;n++){if(!a.idOnly&&(!D[n]||D[n]._idOnly)&&!T[n]){c=!1;break}if(a.idOnly&&!D[n]){c=!1;break}}if(c)return j(),"function"==typeof a.preDataCallback&&a.preDataCallback(),void("function"==typeof a.postDataCallback&&a.postDataCallback());for(n=d;n<=s;n++)if(a.idOnly){if(!D[n])break;d++}else if(D[n]&&!D[n]._idOnly)d++,s++;else{if(!T[n])break;d++,s++}for(s>=w&&(s=w-1),n=s;n>d;n--)if(a.idOnly){if(!D[n])break;s--}else if(D[n]&&!D[n]._idOnly)s--;else{if(!T[n])break;s--}}if(d<=s){if(!a.idOnly)for(n=d;n<=s;n++)T[n]=!0;a.apiInputs=e.extend({},u.searchCriteria,{skip:d,take:s+1-d,selectedIds:oe()}),"function"==typeof u.getAccessTokenHandler?u.getAccessTokenHandler(ee,a):ee(a)}else"function"==typeof a.preDataCallback&&a.preDataCallback(),"function"==typeof a.postDataCallback&&a.postDataCallback()}function ee(n){n.idOnly=n.idOnly&&u.searchApiUrlIdOnly;var a=n.apiInputs.skip,i=(n.apiInputs.take,Math.floor(1e4*Math.random()).toString());P.push(JSON.stringify(n.apiInputs)+i),e.ajax({url:n.idOnly?u.searchApiUrlIdOnly:u.searchApiUrl,type:"POST",contentType:"application/json",dataType:"json",data:JSON.stringify(n.apiInputs),processData:!1,beforeSend:function(e){n.apiAccessToken&&e.setRequestHeader("Authorization","Bearer "+n.apiAccessToken)}}).done((function(e){var o=K.indexOf(this.data+i);if(-1===o){var l,r,d,s,c=P.indexOf(this.data+i);-1!==c&&P.splice(c,1);var f=e.Results||e.results,h=e.TotalCount||e.totalCount||0,p=e.RemovedIds||e.removedIds||e.removedids,m=[];if(p&&p.length){for(l=0;l<D.length;l++)(r=D[l])&&(s=r.Id||r.id||r.uid,H[s]&&m.push({index:l,id:s,keep:!0}));for(l=0;l<p.length;l++)for(var v=0;v<m.length;v++)m[v].id==p[l]&&(de(m[v].index,!1),m[v].keep=!1)}if("function"==typeof n.preDataCallback&&n.preDataCallback(),n.idOnly){if(f)for(l=0;l<f.length;l++){d=l+a,s=f[l];var y=D[d];y&&!y._idOnly||(r={Id:s,_idOnly:!0},D[d]=r)}}else{var C=!x;if(x=!0,g=new Date,f)for(l=0;l<f.length;l++)r=f[l],D[d=l+a]=r,delete T[l];w=h,"function"==typeof u.onGetDataCompleted&&u.onGetDataCompleted(w),C&&w>0&&0===t.size(H)&&(ce(0),b=0,ae()),C&&"function"!=typeof n.preDataCallback&&(b=0,ae()),j()}"function"==typeof n.postDataCallback&&n.postDataCallback();var I=0,k=0,S=null;for(l=0;l<m.length;l++)I++,m[l].keep&&(S=S||m[l].index,k++);if(k!=I)if(1===k&&S&&"function"==typeof u.onItemClick)r=D[S],u.onItemClick(s,r,null),"function"==typeof u.onSelectionCountChanged&&u.onSelectionCountChanged(k);else if(0===k){var M=m[0].index;M>=w&&(M=w-1),M>=0&&M<w?ce(M):"function"==typeof u.onSelectionCountChanged&&u.onSelectionCountChanged(k)}else"function"==typeof u.onSelectionCountChanged&&u.onSelectionCountChanged(k)}else K.splice(o,1)})).fail((function(){}))}function te(){var t=X();if(O!==t){O=t,v=null,I=[],k.empty(),p=e("<div class='panel-spacer' data-index='top' style='height: 0px;'></div>"),k.append(p);for(var n=0;n<3*t;n++){var a=e("<div class='panel-item' style='height: "+u.itemHeight+"px; display: none;'></div>");I.push(a),k.append(a)}h=e("<div class='panel-spacer' data-index='bottom' style='height: 0px;'></div>"),k.append(h)}}function ne(e){c.find(".panel-item.focus").removeClass("focus"),null!=e&&c.find(".panel-item[data-index='"+e+"']").addClass("focus")}function ae(e){e&&(b=e);var t=q(),n=c.height(),a=Math.floor(t/u.itemHeight),i=Math.floor((t+n)/u.itemHeight);if(i>=w&&(i=w-1),a<0&&(a=0),b<=a)c.scrollTop(b*u.itemHeight);else if(b>=i){var o=b*u.itemHeight-(n-u.itemHeight);c.scrollTop(o)}ne(b)}function ie(){for(var e=[],t=0;t<D.length;t++){var n=D[t];if(n){var a=n.Id||n.id||n.uid;H[a]&&e.push(n)}}return e}function oe(){var e=[];for(var t in H)H.hasOwnProperty(t)&&e.push(t);return e}function le(e){e=+e;for(var t=0;t<D.length;t++){var n=D[t];if((n?n.Id||n.id||n.uid:null)===e)return n}return null}function re(){if(w){for(var e=[],t=0;t<=w-1;t++)e.push(t);he(e,!0),c.focus()}}function de(t,n){var a=D[t];if(a){var i=a.Id||a.id||a.uid;H=H||{},!0===n?H[i]=!0:!1===n||H[i]?delete H[i]:H[i]=!0,k.children(".panel-item").removeClass("selected");var o=[];for(var l in H)H.hasOwnProperty(l)&&(o.push(l),k.children(".panel-item[data-id='"+l+"']").addClass("selected"));e("#SelectedIDs").val(o.join(",")),j()}}function se(e,t,n){H={},b=e,ae(),de(e,!0),M=e,n?N(t):ue(t)}function ce(e,n){var a=D[e];if(a)if(n&&(n.ctrlKey||n.metaKey)||A||(H={}),n&&n.shiftKey&&-1!=M)fe(M,e,!0,n);else{var i=a.Id||a.id||a.uid;H[i]&&1===t.size(H)||de(e),M=e,ue(n)}}function ue(e){var t=null,n=null,a=0;for(var i in H)H.hasOwnProperty(i)&&(a++,null==t&&(t=i,n=le(i)));"function"==typeof u.onSelectionCountChanged&&u.onSelectionCountChanged(a),1!==a||"function"!=typeof u.onItemClick||e&&"contextmenu"===e.type||u.onItemClick(t,n,e)}function fe(e,t,n,a){for(var i=Math.min(e,t),o=Math.max(e,t),l=[],r=i;r<=o;r++)l.push(r);he(l,n,a)}function he(t,n,a){if(t&&t.length){for(var i=t[0],o=t[0],l=1;l<t.length;l++)i=Math.min(i,t[l]),o=Math.max(o,t[l]);var r={start:i,count:o+1-i,preDataCallback:null,postDataCallback:function(){!function(t,n,a){if(1==t.length){var i=D[t[0]],o=i.Id||i.id||i.uid;"function"==typeof u.onItemClick&&u.onItemClick(o,i,a)}H={};for(var l=[],r=0;r<t.length;r++){var d=D[t[r]],s=d.Id||d.id||d.uid;l.push(s),!0===n?H[s]=!0:!1===n||H[s]?delete H[s]:H[s]=!0}e("#SelectedIDs").val(l.join(",")),g=null,v=null,j(),"function"==typeof u.onSelectionCountChanged&&u.onSelectionCountChanged(t.length)}(t,n,a)},idOnly:!0};$(r)}}}}(jQuery,_);
434!function(){"use strict";
434function e(e,t){var o=["#3094d1","#e23f33","#34d999","#3d4999","#ff7c00","#519651","#2bc1b9","#d10096","#4e74b7","#dd6b33","#ce9e28","#94b22b"];return{restrict:"EA",scope:{},template:"<div class='st-circle-nav'><div class='st-circle-icon'ng-mouseenter='active=true' ng-mouseleave='active=false'><i class='toolsicon toolsicon-4x toolsicon-{{::icon}}' ng-style=\"{ 'color': active ? shadeColor : color}\"></i></div><div class='root-settings-card-title' ng-bind-html='$sce.trustAsHtml(title);'></div></div>",link:function(l,i,c){l.$sce=t,c.color?l.color=c.color:c.colorIndex&&(l.color=o[parseInt(c.colorIndex)%o.length]),l.color&&(l.shadeColor=$.shadeColor(l.color,-.2)),l.title=c.title,l.titleKey=c.titleKey,!l.title&&l.titleKey&&(l.title=e("translate")(l.titleKey)),l.icon=c.icon}}}function t(e,t){var o=["#3094d1","#e23f33","#34d999","#3d4999","#ff7c00","#519651","#2bc1b9","#d10096","#4e74b7","#dd6b33","#ce9e28","#94b22b"];return{restrict:"EA",scope:{},template:"<div class='st-circle-nav'><div class='st-circle-icon'ng-mouseenter='active=true' ng-mouseleave='active=false'><i class='material-icons' ng-style=\"{ 'color': active ? shadeColor : color}\">{{::icon}}</i></div><div class='root-settings-card-title' ng-bind-html='$sce.trustAsHtml(title);'></div></div>",link:function(l,i,c){l.$sce=t,c.color?l.color=c.color:c.colorIndex&&(l.color=o[parseInt(c.colorIndex)%o.length]),l.color&&(l.shadeColor=$.shadeColor(l.color,-.2)),l.title=c.title,l.titleKey=c.titleKey,!l.title&&l.titleKey&&(l.title=e("translate")(l.titleKey)),l.icon=c.icon}}}e.$inject=["$filter","$sce"],t.$inject=["$filter","$sce"],angular.module("smartertools").directive("settingBadge",e),angular.module("smartertools").directive("materialSettingBadge",t)}();
435!function(){"use strict";var e=function(t){if(!(this instanceof e))return new e(t);if(this.version=1,this.support=!("undefined"==typeof File||"undefined"==typeof Blob||"undefined"==typeof FileList||!Blob.prototype.webkitSlice&&!Blob.prototype.mozSlice&&!Blob.prototype.slice),!this.support)return!1;var n=this;n.files=[],n.defaults={chunkSize:1048576,forceChunkSize:!1,simultaneousUploads:3,fileParameterName:"file",throttleProgressCallbacks:.5,query:{},headers:{},preprocess:null,method:"multipart",prioritizeFirstAndLastChunk:!1,target:"/",testChunks:!0,generateUniqueIdentifier:null,maxChunkRetries:void 0,chunkRetryInterval:void 0,permanentErrors:[400,404,415,500,501],maxFiles:void 0,withCredentials:!1,xhrTimeout:0,maxFilesErrorCallback:function(e,t){var i=n.getOpt("maxFiles");alert("Please upload "+i+" file"+(1===i?"":"s")+" at a time.")},maxNestedFolders:0,foldersTooDeepCallback:function(e,t){var i=n.getOpt("maxNestedFolders");alert("Folder exceeds allowed limit of "+i+" nested folders.")},minFileSize:1,minFileSizeErrorCallback:function(e,t){alert(e.fileName||e.name+" is too small, please upload files larger than "+i.formatSize(n.getOpt("minFileSize"))+".")},maxFileSize:void 0,maxFileSizeErrorCallback:function(e,t){alert(e.fileName||e.name+" is too large, please upload files less than "+i.formatSize(n.getOpt("maxFileSize"))+".")},fileType:[],fileTypeErrorCallback:function(e,t){alert(e.fileName||e.name+" has type not allowed, please upload files of type "+n.getOpt("fileType")+".")}},n.opts=t||{},n.getOpt=function(t){var n=this;if(t instanceof Array){var r={};return i.each(t,(function(e){r[e]=n.getOpt(e)})),r}if(n instanceof c){if(void 0!==n.opts[t])return n.opts[t];n=n.fileObj}if(n instanceof f){if(void 0!==n.opts[t])return n.opts[t];n=n.resumableObj}if(n instanceof e)return void 0!==n.opts[t]?n.opts[t]:n.defaults[t]},n.events=[],n.on=function(e,t){n.events.push(e.toLowerCase(),t)},n.fire=function(){for(var e=[],t=0;t<arguments.length;t++)e.push(arguments[t]);var i=e[0].toLowerCase();for(t=0;t<=n.events.length;t+=2)n.events[t]==i&&n.events[t+1].apply(n,e.slice(1)),"catchall"==n.events[t]&&n.events[t+1].apply(null,e);"fileerror"==i&&n.fire("error",e[2],e[1]),"fileprogress"==i&&n.fire("progress")};var i={stopEvent:function(e){e.stopPropagation(),e.preventDefault()},each:function(e,t){if(void 0!==e.length){for(var n=0;n<e.length;n++)if(!1===t(e[n]))return}else for(n in e)if(!1===t(n,e[n]))return},generateUniqueIdentifier:function(e){var t=n.getOpt("generateUniqueIdentifier");if("function"==typeof t)return t(e);var i=e.relativePath||e.fileName||e.name;return e.size+"-"+i.replace(/[^0-9a-zA-Z_-]/gim,"")},contains:function(e,t){var n=!1;return i.each(e,(function(e){return e!=t||(n=!0,!1)})),n},formatSize:function(e){return e<1024?e+" bytes":e<1048576?(e/1024).toFixed(0)+" KB":e<1073741824?(e/1024/1024).toFixed(1)+" MB":(e/1024/1024/1024).toFixed(1)+" GB"},getTarget:function(e){var t=n.getOpt("target");return t.indexOf("?")<0?t+="?":t+="&",t+e.join("&")}},r=function(e){e.dataTransfer.types.length>
4350&&e.dataTransfer.types[0].contains("text/")||(i.stopEvent(e),e.dataTransfer&&e.dataTransfer.items?s(e.dataTransfer.items,e):e.dataTransfer&&e.dataTransfer.files&&s(e.dataTransfer.files,e))},a=function(e){e.dataTransfer.types.length>0&&e.dataTransfer.types[0].contains("text/")||e.preventDefault()},s=function(e,t,n,i){n||(n={total:0,files:[],event:t}),o(e.length,n);for(var r=0;r<e.length;r++){var a,u=e[r];if(u.isFile||u.isDirectory)a=u;else if(u.getAsEntry)a=u.getAsEntry();else{if(!u.webkitGetAsEntry){if("function"==typeof u.getAsFile){l(u.getAsFile(),n,i);continue}if(File&&u instanceof File){l(u,n,i);continue}o(-1,n);continue}a=u.webkitGetAsEntry()}if(a){if(a.isFile)a.file((function(e){l(e,n,i)}),(function(e){console.warn(e)}));else if(a.isDirectory){a.createReader().readEntries(function(e){return function(i){s(i,t,n,e),o(-1,n)}}(a.fullPath),(function(e){console.warn(e)}))}}else o(-1,n)}},o=function(e,t){t.total+=e,t.files.length===t.total&&u(t.files,t.event)},l=function(e,t,n){n&&(e.relativePath=n+"/"+e.name),t.files.push(e),t.files.length===t.total&&u(t.files,t.event)},u=function(e,t){var r=0,a=n.getOpt(["maxFiles","minFileSize","maxFileSize","maxFilesErrorCallback","maxNestedFolders","foldersTooDeepCallback","minFileSizeErrorCallback","maxFileSizeErrorCallback","fileType","fileTypeErrorCallback"]);if(void 0!==a.maxFiles&&a.maxFiles<e.length+n.files.length){if(1!==a.maxFiles||1!==n.files.length||1!==e.length)return a.maxFilesErrorCallback(e,r++),!1;n.removeFile(n.files[0])}var s=[],o=[];i.each(e,(function(e){var l=e.name.split("."),u=l[l.length-1].toLowerCase(),c=!0;if(a.fileType=a.fileType.filter((function(e){return""!=e.trim()})),a.fileType.length>0&&!i.contains(a.fileType,"."+u))return a.fileTypeErrorCallback(e,r++),!1;if(void 0!==a.minFileSize&&e.size<a.minFileSize)return a.minFileSizeErrorCallback(e,r++),!1;if(void 0!==a.maxFileSize&&e.size>a.maxFileSize)return a.maxFileSizeErrorCallback(e,r++),!1;var p,d=e.relativePath&&(e.relativePath.match(/\//g)||[]).length-1;if(void 0!==a.maxNestedFolders&&d>a.maxNestedFolders){var h=e.relativePath.match(/(.*)[\/\\]/)[1]||"";o.includes(h)||(o.push(h),a.foldersTooDeepCallback(h,r++)),c=!1}c&&!n.getFromUniqueIdentifier(i.generateUniqueIdentifier(e))&&(p=new f(n,e),window.setTimeout((function(){n.files.push(p),s.push(p),p.container=void 0!==t?t.srcElement:null,n.fire("fileAdded",p,t)}),0))})),window.setTimeout((function(){n.fire("filesAdded",s)}),0)};function f(e,t){var n=this;n.opts={},n.getOpt=e.getOpt,n._prevProgress=0,n.resumableObj=e,n.file=t,n.fileName=t.fileName||t.name,n.size=t.size,n.relativePath=t.relativePath||n.fileName,n.uniqueIdentifier=i.generateUniqueIdentifier(t),n._pause=!1,n.container="";var r=!1,a=function(e,t){switch(e){case"progress":n.resumableObj.fire("fileProgress",n);break;case"error":n.abort(),r=!0,n.chunks=[],n.resumableObj.fire("fileError",n,t);break;case"success":if(r)return;n.resumableObj.fire("fileProgress",n),n.isComplete()&&n.resumableObj.fire("fileSuccess",n,t);break;case"retry":n.resumableObj.fire("fileRetry",n)}};return n.chunks=[],n.abort=function(){var e=0;i.each(n.chunks,(function(t){"uploading"==t.status()&&(t.abort(),e++)})),e>0&&n.resumableObj.fire("fileProgress",n)},n.cancel=function(){var e=n.chunks;n.chunks=[],i.each(e,(function(e){"uploading"==e.status()&&(e.abort(),n.resumableObj.uploadNextChunk())})),n.resumableObj.removeFile(n),n.resumableObj.fire("fileProgress",n)},n.retry=function(){n.bootstrap();var e=!1;n.resumableObj.on("chunkingComplete",(function(){e||n.resumableObj.upload(),e=!0}))},n.bootstrap=function(){n.abort(),r=!1,n.chunks=[],n._prevProgress=0;for(var e=n.getOpt("forceChunkSize")?Math.ceil:Math.floor,t=Math.max(e(n.file.size/n.getOpt("chunkSize")),1),i=0;i<t;i++)!function(e){window.setTimeout((function(){n.chunks.push(new c(n.resumableObj,n,e,a)),n.resumableObj.fire("chunkingProgress",n,e/t)}),0)}(i);window.setTimeout((function(){n.resumableObj.fire("chunkingComplete",n)}),0)},n.progress=function(){if(r)return 1;var e=0,t=!1;return i.each(n.chunks,(function(n){"error"==n.status()&&(t=!0),e+=n.progress(!0)})),e=t||e>.99999?1:e,e=Math.max(n._prevProgress,e),n._prevProgress=e,e},n.isUploading=function(){var e=!1;return i.each(n.chunks,(function(t){if("uploading"==t.status())return e=!0,!1})),e},n.isComplete=function(){var e=!1;return i.each(n.chunks,(function(t){var n=t.status();if("pending"==n||"uploading"==n||1===t.preprocessState)return e=!0,!1})),!e},n.pause=function(e){n._pause=void 0===e?!n._pause:e},n.isPaused=function(){return n._pause},n.resumableObj.fire("chunkingStart",n),n.bootstrap(),this}function c(e,t,n,r){var a=this;a.opts={},a.getOpt=e.getOpt,a.resumableObj=e,a.fileObj=t,a.fileObjSize=t.size,a.fileObjType=t.file.type,a.offset=n,a.callback=r,a.lastProgressCallback=new Date,a.tested=!1,a.retries=0,a.pendingRetry=!1,a.preprocessState=0;var s=a.getOpt("chunkSize");return a.loaded=0,a.startByte=a.offset*s,a.endByte=Math.min(a.fileObjSize,(a.offset+1)*s),a.fileObjSize-a.endByte<s&&!a.getOpt("forceChunkSize")&&(a.endByte=a.fileObjSize),a.xhr=null,a.test=function(){a.xhr=new XMLHttpRequest;var e=function(e){a.tested=!0;var t=a.status();"success"==t?(a.callback(t,a.message()),a.resumableObj.uploadNextChunk()):a.send()};a.xhr.addEventListener("load",e,!1),a.xhr.addEventListener("error",e,!1),a.xhr.addEventListener("timeout",e,!1);var t=[],n=a.getOpt("query");"function"==typeof n&&(n=n(a.fileObj,a)),i.each(n,(function(e,n){t.push([encodeURIComponent(e),encodeURIComponent(n)].join("="))})),t.push(["resumableChunkNumber",encodeURIComponent(a.offset+1)].join("=")),t.push(["resumableChunkSize",encodeURIComponent(a.getOpt("chunkSize"))].join("=")),t.push(["resumableCurrentChunkSize",encodeURIComponent(a.endByte-a.startByte)].join("=")),t.push(["resumableTotalSize",encodeURIComponent(a.fileObjSize)].join("=")),t.push(["resumableType",encodeURIComponent(a.fileObjType)].join("=")),t.push(["resumableIdentifier",encodeURIComponent(a.fileObj.uniqueIdentifier)].join("=")),t.push(["resumableFilename",encodeURIComponent(a.fileObj.fileName)].join("=")),t.push(["resumableRelativePath",encodeURIComponent(a.fileObj.relativePath)].join("=")),t.push(["resumableTotalChunks",encodeURIComponent(a.fileObj.chunks.length)].join("=")),a.xhr.open("GET",i.getTarget(t)),a.xhr.timeout=a.getOpt("xhrTimeout"),a.xhr.withCredentials=a.getOpt("withCredentials"),i.each(a.getOpt("headers"),(function(e,t){a.xhr.setRequestHeader(e,t)})),a.xhr.send(null)},a.preprocessFinished=function(){a.preprocessState=2,a.send()},a.send=function(){var e=a.getOpt("preprocess");if("function"==typeof e)switch(a.preprocessState){case 0:return a.preprocessState=1,void e(a);case 1:return}if(!a.getOpt("testChunks")||a.tested){a.xhr=new XMLHttpRequest,a.xhr.upload.addEventListener("progress",(function(e){new Date-a.lastProgressCallback>1e3*a.getOpt("throttleProgressCallbacks")&&(a.callback("progress"),a.lastProgressCallback=new Date),a.loaded=e.loaded||0}),!1),a.loaded=0,a.pendingRetry=!1,a.callback("progress");var t=function(e){var t=a.status();if("success"==t||"error"==t)a.callback(t,a.message()),a.resumableObj.uploadNextChunk();else{a.callback("retry",a.message()),a.abort(),a.retries++;var n=a.getOpt("chunkRetryInterval");void 0!==n?(a.pendingRetry=!0,setTimeout(a.send,n)):a.send()}};a.xhr.addEventListener("load",t,!1),a.xhr.addEventListener("error",t,!1),a.xhr.addEventListener("timeout",t,!1);var n={resumableChunkNumber:a.offset+1,resumableChunkSize:a.getOpt("chunkSize"),resumableCurrentChunkSize:a.endByte-a.startByte,resumableTotalSize:a.fileObjSize,resumableType:a.fileObjType,resumableIdentifier:a.fileObj.uniqueIdentifier,resumableFilename:a.fileObj.fileName,resumableRelativePath:a.fileObj.relativePath,resumableTotalChunks:a.fileObj.chunks.length},r=a.getOpt("query");"function"==typeof r&&(r=r(a.fileObj,a)),a.fileObj.customQueryOverride&&(r=a.fileObj.customQueryOverride),i.each(r,(function(e,t){n[e]=t}));var s=new FileReader;s.onerror=function(e){a.fileObj.cancel()},s.readAsArrayBuffer(a.fileObj.file.slice(0,2));var o=a.fileObj.file.slice?"slice":a.fileObj.file.mozSlice?"mozSlice":a.fileObj.file.webkitSlice?"webkitSlice":"slice",l=a.fileObj.file[o](a.startByte,a.endByte),u=null,f=a.getOpt("target");if("octet"===a.getOpt("method")){u=l;var c=[];i.each(n,(function(e,t){c.push([encodeURIComponent(e),encodeURIComponent(t)].join("="))})),f=i.getTarget(c)}else u=new FormData,i.each(n,(function(e,t){u.append(e,t)})),u.append(a.getOpt("fileParameterName"),l);a.xhr.open("POST",f),a.xhr.timeout=a.getOpt("xhrTimeout"),a.xhr.withCredentials=a.getOpt("withCredentials"),i.each(a.getOpt("headers"),(function(e,t){a.xhr.setRequestHeader(e,t)})),a.xhr.send(u)}else a.test()},a.abort=function(){a.xhr&&a.xhr.abort(),a.xhr=null},a.status=function(){return a.pendingRetry?"uploading":a.xhr?a.xhr.readyState<4?"uploading":200==a.xhr.status?"success":i.contains(a.getOpt("permanentErrors"),a.xhr.status)||a.retries>=a.getOpt("maxChunkRetries")?"error":(a.abort(),"pending"):"pending"},a.message=function(){return a.xhr?a.xhr.responseText:""},a.progress=function(e){void 0===e&&(e=!1);var t=e?(a.endByte-a.startByte)/a.fileObjSize:1;if(a.pendingRetry)return 0;
435switch(a.status()){case"success":case"error":return 1*t;case"pending":return 0*t;default:return a.loaded/(a.endByte-a.startByte)*t}},this}return n.uploadNextChunk=function(){var e=!1;if(n.getOpt("prioritizeFirstAndLastChunk")&&(i.each(n.files,(function(t){return t.chunks.length&&"pending"==t.chunks[0].status()&&0===t.chunks[0].preprocessState?(t.chunks[0].send(),e=!0,!1):t.chunks.length>1&&"pending"==t.chunks[t.chunks.length-1].status()&&0===t.chunks[t.chunks.length-1].preprocessState?(t.chunks[t.chunks.length-1].send(),e=!0,!1):void 0})),e))return!0;if(i.each(n.files,(function(t){if(!1===t.isPaused()&&i.each(t.chunks,(function(t){if("pending"==t.status()&&0===t.preprocessState)return t.send(),e=!0,!1})),e)return!1})),e)return!0;var t=!1;return i.each(n.files,(function(e){if(!e.isComplete())return t=!0,!1})),t||n.fire("complete"),!1},n.assignBrowse=function(e,t){void 0===e.length&&(e=[e]),i.each(e,(function(e){var i;"INPUT"===e.tagName&&"file"===e.type?i=e:((i=document.createElement("input")).setAttribute("type","file"),i.style.display="none",e.addEventListener("click",(function(){i.style.opacity=0,i.style.display="block",i.focus(),i.click(),i.style.display="none"}),!1),e.appendChild(i));var r=n.getOpt("maxFiles");void 0===r||1!=r?i.setAttribute("multiple","multiple"):i.removeAttribute("multiple"),t?i.setAttribute("webkitdirectory","webkitdirectory"):i.removeAttribute("webkitdirectory");var a=n.getOpt("fileType");a.length>0?i.setAttribute("accept",a.join()):i.removeAttribute("accept"),i.addEventListener("change",(function(e){for(var t=0;t<e.target.files.length;t++)e.target.files[t].webkitRelativePath&&(e.target.files[t].webkitRelativePath.startsWith("/")?e.target.files[t].relativePath=e.target.files[t].webkitRelativePath:e.target.files[t].relativePath="/"+e.target.files[t].webkitRelativePath);u(e.target.files,e),e.target.value=""}),!1)}))},n.assignDrop=function(e){void 0===e.length&&(e=[e]),i.each(e,(function(e){e.addEventListener("dragover",a,!1),e.addEventListener("drop",r,!1)}))},n.unAssignDrop=function(e){void 0===e.length&&(e=[e]),i.each(e,(function(e){e.removeEventListener("dragover",a),e.removeEventListener("drop",r)}))},n.isUploading=function(){var e=!1;return i.each(n.files,(function(t){if(t.isUploading())return e=!0,!1})),e},n.upload=function(){if(!n.isUploading()){n.fire("uploadStart");for(var e=1;e<=n.getOpt("simultaneousUploads");e++)n.uploadNextChunk()}},n.pause=function(){i.each(n.files,(function(e){e.abort()})),n.fire("pause")},n.cancel=function(){for(var e=n.files.length-1;e>=0;e--)n.files[e].cancel();n.fire("cancel")},n.progress=function(){var e=0,t=0;return i.each(n.files,(function(n){e+=n.progress()*n.size,t+=n.size})),t>0?e/t:0},n.addFile=function(e,t){u([e],t)},n.removeFile=function(e){for(var t=n.files.length-1;t>=0;t--)n.files[t]===e&&n.files.splice(t,1)},n.getFromUniqueIdentifier=function(e){var t=!1;return i.each(n.files,(function(n){n.uniqueIdentifier==e&&(t=n)})),t},n.getSize=function(){var e=0;return i.each(n.files,(function(t){e+=t.size})),e},this};"undefined"!=typeof module?module.exports=e:"function"==typeof define&&define.amd?define((function(){return e})):window.Resumable=e}();
436!function(){"use strict";function e(e,t,o,i,n,r,a,l,s,d){return{restrict:"EA",scope:{context:"@",contextData:"=?",resetOnContextDataChange:"=?",canRemoveFile:"=?",tempDisabled:"=?",hideWaitingFiles:"=?",removeFileAfterUpload:"=?",removeFileOnError:"=?",toastOnError:"=?",fileTypes:"@",displayMode:"@",fileHoverClass:"@",waitToUpload:"=?",newFileReplacesOld:"=?",maxFiles:"=?",maxNestedFolders:"=?",uploaderInit:"&",imagePreview:"&",allFilesFinished:"&",fileUploaded:"&",fileAdded:"&",fileRemoved:"&",fileFailed:"&",fileCanceled:"&",hideInterface:"@",browseControlSelector:"@",browseFolderControlSelector:"@",dropControlSelector:"@",cacheResumable:"=?",hasFiles:"=?"},template:'            <div class="res-uploader" ng-hide="hideInterface">                <div class="res-upload-area" ng-if="(displayMode == \'droparea\')">                    <div ng-hide="hasFiles" class="initarea">                        {{::"UPLOADER_DROP_MESSAGE" | translate}}</a>                    </div>                    <div ng-show="hasFiles" class="files file-storage-card-container" id="droparea">                        <div ng-hide="hideWaitingFiles" ng-repeat="file in resumable.files" class="select-card-margin" style="margin:10px;margin-top:0px;">                            <div class="file" id="{{file.uniqueIdentifier}}">                                <div class="icon">                                    <img ng-src="{{getImageSource(file.previewImage, file.type)}}" />                                </div>                                <div class="info">                                    {{file.fileName}}<br>{{file.size | bytes:1}
436}                                </div>                                <div class="btn-container remove-btn" ng-click="$event.stopPropagation();removeFile(file);" role="button" tabindex="0">                                    <i class="toolsicon toolsicon-close"></i>                                </div>                            </div>                        </div>                    </div>                </div>                <div class="res-window" ng-if="((displayMode == \'page\' || displayMode == \'page-overlay\') && resumable.files.length > 0)">\t\t\t        <div class="head">\t\t\t\t        <span class="title">\t\t\t\t            <span ng-show="resumable.files.length == 1">{{\'FILE_STORAGE_UPLOADING_ITEMS_one\' | translate:{\'count\':resumable.files.length} }}</span> \t\t\t\t            <span ng-show="resumable.files.length != 1">{{\'FILE_STORAGE_UPLOADING_ITEMS_other\' | translate:{\'count\':resumable.files.length} }}</span> \t\t\t\t\t\t</span>\t\t\t\t        <span class="minimize" ng-click="$event.stopPropagation();stopAllFiles();">X</span>\t\t\t\t        <div style="clear: both;"></div>\t\t\t        </div>                    <div class="file-list">                        <div ng-show="hasFiles" class="files" id="droparea">                            <div ng-repeat="file in resumable.files" class="file-row">\t\t\t\t\t            <div class="file-progress" style="width:{{file.progress() * 100}}%;"></div>                                <div class="info">\t\t\t\t\t                <span class="name">{{file.fileName}}</span>\t\t\t\t\t                <span class="cancel" ng-click="$event.stopPropagation();stopFile(file);"><i class=\'toolsicon toolsicon-close\'></i></span>                                </div>                            </div>                        </div>                    </div>                </div>            </div>',link:async function(e,i,f,c){e.defer=o.defer();var p=null,u=null,m=$(".res-uploader");m&&m.injector()||(m=$("body")),p=m.injector().has("authStorage")?m.injector().get("authStorage"):{getToken:function(){return"0"}},m.injector().has("$mdDialog")&&(u=m.injector().get("$mdDialog"));var g=null;m.injector().has("toaster")&&(g=m.injector().get("toaster"));var v="";if("undefined"!=typeof stSiteRoot&&(v=stSiteRoot),e.resetOnContextDataChange=!angular.isDefined(e.resetOnContextDataChange)||e.resetOnContextDataChange,e.hideWaitingFiles=!!angular.isDefined(e.hideWaitingFiles)&&e.hideWaitingFiles,e.tempDisabled=!!angular.isDefined(e.tempDisabled)&&e.tempDisabled,e.waitToUpload=!!angular.isDefined(e.waitToUpload)&&e.waitToUpload,e.canRemoveFile=!!angular.isDefined(e.canRemoveFile)&&e.canRemoveFile,e.newFileReplacesOld=!!angular.isDefined(e.newFileReplacesOld)&&e.newFileReplacesOld,e.removeFileAfterUpload=!angular.isDefined(e.removeFileAfterUpload)||e.removeFileAfterUpload,e.removeFileOnError=!angular.isDefined(e.removeFileOnError)||e.removeFileOnError,e.toastOnError=!angular.isDefined(e.toastOnError)||e.toastOnError,e.maxFiles=angular.isDefined(e.maxFiles)?e.maxFiles:1e4,e.maxNestedFolders=angular.isDefined(e.maxNestedFolders)?e.maxNestedFolders:0,e.fileTypes=angular.isDefined(e.fileTypes)?e.fileTypes:"",e.displayMode=angular.isDefined(e.displayMode)?e.displayMode:"droparea",e.browseControlSelector=angular.isDefined(e.browseControlSelector)?e.browseControlSelector:"default",e.browseFolderControlSelector=angular.isDefined(e.browseFolderControlSelector)?e.browseFolderControlSelector:"none",e.dropControlSelector=angular.isDefined(e.dropControlSelector)?e.dropControlSelector:"default",e.fileHoverClass=angular.isDefined(e.fileHoverClass)?e.fileHoverClass:"drop-file-hover",e.newFileReplacesOld&&(e.maxFiles=1),e.waitingToUpload=!0,e.waitingChunks=[],e.preProcessChunk=function(t){e.waitToUpload&&e.waitingToUpload?e.waitingChunks.push(t):t.preprocessFinished()},e.GetAllowedFileTypes=function(){var t=[];return e.fileTypes.split(",").forEach((function(e){"image"==e?(t.push(".jpg"),t.push(".jpeg"),t.push(".png"),t.pu
436sh(".webp")):t.push(e)})),t},null==e.hasFiles&&(e.hasFiles=!1),e.cacheResumable)e.resumable=e.cacheResumable,e.resumable.optsquery={context:e.context,contextData:e.contextData},e.resumable.opts.preprocess=e.preProcessChunk;else{function E(t){return e.resumable.opts[t]}e.resumable=new Resumable({target:v+"api/upload",headers:{Authorization:"Bearer "+p.getToken(),"X-SmarterMailDomain":window.stSecondaryImpersonationDomain},query:{context:e.context,contextData:e.contextData},chunkSize:2097152,prioritizeFirstAndLastChunk:!0,maxChunkRetries:600,chunkRetryInterval:1e3,simultaneousUploads:2,maxFiles:e.maxFiles,preprocess:e.preProcessChunk,fileType:e.GetAllowedFileTypes(),maxNestedFolders:e.maxNestedFolders,maxFilesErrorCallback:function(e,t){alert(d.reactPluralize("UPLOAD_X_FILES_AT_A_TIME",{count:E("maxFiles")}))},foldersTooDeepCallback:function(e,t){s.report(a.instant("TOO_MANY_NESTED_FOLDERS",{folder:e,folderCount:E("maxNestedFolders")}))},minFileSizeErrorCallback:function(e,t){alert(a.instant("FILE_TOO_SMALL_UPLOAD_LARGER_THAN_X",{minSize:r("bytes")(E("minFileSize"))}))},maxFileSizeErrorCallback:function(e,t){alert(a.instant("MAX_SIZE_EXCEEDED",{size:r("bytes")(E("maxFileSize"))}))},fileTypeErrorCallback:function(e,t){alert(a.instant("FILE_TYPE_NOT_ALLOWED_UPLOAD_TYPES_X",{formats:E("fileType")}))}})}"none"!=e.browseControlSelector&&("default"==e.browseControlSelector?(c=i.find(".res-uploader")[0])&&e.resumable.assignBrowse(c):(c=$(e.browseControlSelector)[0])&&e.resumable.assignBrowse(c));"none"!=e.browseFolderControlSelector&&((c=$(e.browseFolderControlSelector)[0])&&e.resumable.assignBrowse(c,!0));if("none"!=e.dropControlSelector){if("default"==e.dropControlSelector)(c=i.find(".res-uploader")[0])&&e.resumable.assignDrop(c);else(c=$(e.dropControlSelector)[0])&&e.resumable.assignDrop(c);if("none"!=e.fileHoverClass)if("page"==e.displayMode){$(e.dropControlSelector).on("dragenter",(function(t){if(C())return!0;if(e.tempDisabled)return!0;var o=t.originalEvent.dataTransfer;if(!(o.types.length>0&&o.types[0].contains("text/"))&&o.types&&(o.types.indexOf?-1!=o.types.indexOf("Files"):o.types.contains("Files"))){if(o.items&&o.items.length>e.maxFiles)return;D().addClass("no-pointer"),e.showDrag=!0}})),$(e.dropControlSelector).off("dragover"),$(e.dropControlSelector).on("dragover",(function(t){if(C())return!0;if(e.tempDisabled)return!0;var o=$(t.target);if(!$(e.dropControlSelector).has(o).length){var i=$(e.dropControlSelector).parent().find("#st-file-upload-overlay");i&&i.remove()}e.showDrag=!0})),$(e.dropControlSelector).off("dragleave"),$(e.dropControlSelector).on("dragleave",(function(t){e.showDrag=!1,n((function(){n((function(){if(!e.showDrag){var t=$(e.dropControlSelector).parent().find("#st-file-upload-overlay");t&&t.remove()}}),100)}))}));var h=$(e.dropControlSelector)[0];if(h){var F=function(t){var o=t.dataTransfer;o&&0!==o.files.length&&(o.types.length>0&&-1!==o.types[0].indexOf("text/")||(e.tempDisabled?t.preventDefault():e.maxFiles&&o.items&&o.items.length>e.maxFiles||(t.stopPropagation(),t.preventDefault(),e.showDrag=!1,n((function(){$(e.dropControlSelector).parent().find("#st-file-upload-overlay").remove()})),Array.from(o.files).forEach((function(t){e.resumable.addFile(t)})))))};h.addEventListener("drop",F,!0),e.$on("$destroy",(function(){h.removeEventListener("drop",F,!0)}))}}else if("page-overlay"==e.displayMode){var b=$(e.dropControlSelector),y=D();y.css("display","none"),e.resumable.assignDrop(y),b.on("dragenter",(function(t){if(C())return!0;if(e.tempDisabled)return!0;var o=t.originalEvent.dataTransfer;if(!(o.types.length>0&&o.types[0].contains("text/"))&&o.types&&(o.types.indexOf?-1!=o.types.indexOf("Files"):o.types.contains("Files"))){if(o.items&&o.items.length>e.maxFiles)return;y.css("display","block"),w(),e.showDrag=!0}})),y.off("dragover"),y.on("dragover",(function(t){if(C())return!0;if(e.tempDisabled)return!0;$(t.target);y[0]!==t.target&&y.css("display","none"),e.showDrag=!0})),y.off("dragleave"),y.on("dragleave",(function(t){e.showDrag=!1,n((function(){n((function(){e.showDrag||y.css("display","none")}),100)}))})),y.on("drop",(function(t){if(e.tempDisabled)return t.preventDefault(),!0;t.originalEvent.dataTransfer.types.length>
4360&&t.originalEvent.dataTransfer.types[0].contains("text/")||(t.preventDefault(),y.css("display","none"))}))}}e.publicFunctions={startUpload:function(){return 0==e.waitingChunks.length?o.when():(e.resumable.opts.query={context:e.context,contextData:e.contextData},e.waitingToUpload=!1,e.waitingChunks.forEach((function(e){e.preprocessFinished()})),e.waitingChunks=[],e.defer.promise)},uploadFile:function(t){e.waitToUpload=!1,e.waitingToUpload=!1,e.resumable.addFile(t)},reset:function(){e.waitingChunks=[],e.resumable.files.forEach((function(t){e.resumable.removeFile(t)})),e.hasFiles=!1},removeFile:function(t){return e.removeFile(t)},setContextData:function(t){e.contextData=t},bindBrowseControl:function(t){var o;if("none"!=e.browseControlSelector)if("default"==e.browseControlSelector){if(o=i.find(t)[0])return e.resumable.assignBrowse(o),!0}else if(o=$(t)[0])return e.resumable.assignBrowse(o),!0;return!1}},"function"==typeof e.uploaderInit()&&e.uploaderInit()(e.publicFunctions),e.$watch("contextData",(function(t,o){e.resumable.opts.query={context:e.context,contextData:t},e.resetOnContextDataChange&&(e.waitingChunks=[],e.resumable.files.forEach((function(t){e.resumable.removeFile(t)})),e.hasFiles=!1)})),e.roundProgress=function(e){return Math.round(e)},e.CheckImageAndFire=function(t){var o=t.type;if($.inArray(o,["image/gif","image/jpeg","image/png","image/webp"])>0){var i=new FileReader;i.onload=function(o){"function"==typeof e.imagePreview()&&e.imagePreview()(o.target.result,t)},i.readAsDataURL(t)}},e.stopFile=function(t){t.cancel(),e.resumable.removeFile(t),"function"==typeof e.fileCanceled()&&e.fileCanceled()(t.file),0==e.resumable.files.length&&(e.hasFiles=!1)},e.stopAllFiles=function(){if(u){var t=u.confirmDeletion({textContent:a.instant("UPLOAD_CANCEL_DOWNLOADS"),ok:a.instant("CANCEL_UPLOADS"),cancel:a.instant("CONTINUE_UPLOADS"),noWarn:!0});u.show(t).then((function(){e.resumable.files.forEach((function(e){e.cancel()})),e.resumable.files.length=0}),(function(){}))}else e.resumable.files.forEach((function(e){e.cancel()})),e.resumable.files.length=0},e.removeFile=function(i){return i.isComplete()?t({url:v+"api/upload/remove",method:"POST",data:JSON.stringify({context:e.context,contextData:JSON.parse(e.contextData||"{}"),fileInfo:i.fileInfo}),headers:{"Content-Type":"application/json",Authorization:"Bearer "+p.getToken(),"X-SmarterMailDomain":window.stSecondaryImpersonationDomain}}).then((function(t){return"function"==typeof e.fileRemoved()&&e.fileRemoved()(i.file),i.cancel&&i.cancel(),e.resumable.removeFile(i),0==e.resumable.files.length&&(e.hasFiles=!1),!0}),(function(e){return s.report("UNKNOWN_ERROR"),o.reject(e)})):("function"==typeof e.fileRemoved()&&e.fileRemoved()(i.file),i.cancel&&i.cancel(),e.resumable.removeFile(i),0==e.resumable.files.length&&(e.hasFiles=!1),o.when(!0))},e.getImageSource=function(e,t){if(e)return e;var o=l.iconFromExtension(t);return stSiteRoot+"fonts/tools-icons/img/"+o+".svg"};function D(){var t=$(e.dropControlSelector);$("#st-file-upload-overlay").remove(),t.parent().append('<div id="st-file-upload-overlay">');var o=t.parent().find("#st-file-upload-overlay");return w(),o}function C(){var e=$("st-html-editor  textarea.froalaEditor");return e.length>0&&!1!==e[0]["data-froala.editor"].popups.areVisible()}function w(){var t=$(e.dropControlSelector),o=t.parent().find("#st-file-upload-overlay");if(o){var i=t.width(),n=parseInt(t.css("paddingLeft")),r=parseInt(t.css("paddingRight"));i+=n||0,i+=r||0;var l=t.height(),s=parseInt(t.css("paddingTop")),d=parseInt(t.css("paddingBottom"));l+=s||0,l+=d||0,o.width(i),o.height(l);var f=$("#st-file-overlay-border");f&&0!==f.length||(o.append('<div id="st-file-overlay-border">'),(f=$("#st-file-overlay-border")).append('\t\t\t\t\t<div id="st-file-overlay-icon">\t\t\t\t\t\t<i class="toolsicon toolsicon-4x toolsicon-upload"></i>\t\t\t\t\t\t<span>'+a.instant("DROP_TO_UPLOAD")+"</span>\t\t\t\t\t</div>")),f.width(o.width()-33),f.height(o.height()-33);var c=t[0].getBoundingClientRect(),p={top:c.top?c.top:c.y,left:c.left?c.left:c.x};o.offset(p)}}e.resumable.events=[],e.resumable.on("fileAdded",(function(t,o){if(e.tempDisabled)return t.cancel(),e.resumable.removeFile(t),0==e.resumable.files.length&&(e.hasFiles=!1),o.stopPropagation(),!1;e.newFileReplacesOld&&(e.waitingChunks=[]),e.resumable.headers={Authorization:"Bearer "+p.getToken()},e.CheckImageAndFire(t.file),e.hasFiles=!0,e.waitingToUpload=!0,e.resumable.upload(),e.$apply(),"function"==typeof e.fileAdded()&&e.fileAdded()(t.file,t,e.resumable),$(".file").on("click",(function(e){return e.stopPropagation(),!1}))})),e.resumable.on("fileProgress",(function(t){n((function(){e.$apply()}))})),e.resumable.on("fileSuccess",(function(t,o){$("#"+t.uniqueIdentifier).removeClass("uploading").addClass("success");var i=null;if(o&&(i=JSON.parse(o)),"function"==typeof e.allFilesFinished()){var n=0;
436e.resumable.files.forEach((function(e){1==e.progress()&&n++})),n==e.resumable.files&&(e.waitingToUpload=!0,e.allFilesFinished()(n))}e.removeFileAfterUpload&&(e.resumable.removeFile(t),0==e.resumable.files.length&&(e.hasFiles=!1)),t.fileInfo=i,"function"==typeof e.fileUploaded()&&e.fileUploaded()(t.file,i,t),e.defer.resolve(i),e.$apply()})),e.resumable.on("fileError",(function(t,o){var i=$("#"+t.uniqueIdentifier),n=JSON.parse(o);n&&n.message&&(t.error=n.message,i.find(".errormessage").text(t.error=n.message)),i.removeClass("uploading").addClass("failed"),e.defer.resolve(null),e.toastOnError&&null!=g&&(n.message.indexOf("MAX_SIZE_EXCEEDED|")>-1?(n.message=n.message.replace("MAX_SIZE_EXCEEDED|",""),g.pop({type:"error",title:null,body:a.instant("MAX_SIZE_EXCEEDED",{size:r("bytes")(n.message)}),timeout:1e4,bodyOutputType:"trustedHtml"})):n.message.indexOf("MALWARE_FOUND|")>-1?(n.message=n.message.replace("MALWARE_FOUND|",""),g.pop({type:"error",title:null,body:a.instant("MALWARE_FOUND",{filename:n.message}),timeout:1e4,bodyOutputType:"trustedHtml"})):s.report(n.message)),e.removeFileOnError&&(e.resumable.removeFile(t),0==e.resumable.files.length&&(e.hasFiles=!1)),e.$apply(),"function"==typeof e.fileFailed()&&e.fileFailed()(t.file,n)}))}}}e.$inject=["$compile","$http","$q","$log","$timeout","$filter","$translate","fileInfoProvider","errorHandling","i18n"],angular.module("smartertools").directive("resUploader",e)}();
437"use strict";angular.module("smartertools").factory("spinnerFactory",["$interval",function(n){return function(t){var o=void 0,i=!1,u=0;return(null==t||null==t||t<0)&&(t=500),{show:function(r){0===u&&(o=n((function(){i=!0}),r||t,1)),u++},showInstant:function(){0===u&&(o=n((function(){i=!0}),1,1)),u++},hide:function(){u>0&&u--,0===u&&(n.cancel(o),o=void 0,i=!1)},isShown:function(){return i},reset:function(){u=0,this.hide()}}}}]);
438!function(){"use strict";function e(e,t,r,n){var i=this;i.height=i.height||"32px",i.width=i.width||"32px",i.firstLetter=i.firstLetter||"a",i.imageUrl=i.imageUrl||"",i.ready=!1,i.useBlob=!1,i.useLetter=!1,i.imageLoadedUrl=null,i.imageBlobUrl=null,i.colorIndex="clear";var a=null;function l(){var e=0;if(i.name)for(var t=0;t<i.name.length;++t)e+=i.name.charCodeAt(t);var r=e?e%26:27;i.colorIndex=i.imageUrl||i.preLoading?"clear":r,i.firstLetter=i.name?i.name.substring(0,1).toUpperCase():""}async function o(){if(i.ready=!1,i.useBlob=!1,i.useLetter=!1,i.imageBlobUrl&&(i.imageBlobUrl.startsWith("data:image")||window.URL.revokeObjectURL(i.imageBlobUrl),i.imageBlobUrl=null),!(e=i.imageUrl)||"/undefined"==e||"/null"==e||e.indexOf("ST_User_Cir.svg")>0||e.indexOf("data=default")>0)return void g();var e;let t="unfound-avatar-"+encodeURIComponent(i.imageUrl);if(i.imageUrl)try{if(sessionStorage.getItem(t))return void g()}catch(e){}if(i.imageUrl.startsWith("data:image"))return i.imageBlobUrl=null,i.imageLoadedUrl=i.imageUrl,void(i.ready=!0);let o=new URL(i.imageUrl,window.location.origin);function g(){i.imageBlobUrl=null,i.imageLoadedUrl="",i.imageUrl="",i.useBlob=!1,i.useLetter=!0,i.ready=!0,l()}o.origin===window.location.origin&&"/api/v1/contacts/image"===o.pathname.toLowerCase()?(i.useBlob=!0,a&&a.resolve(),a=n.defer(),await r.get(i.imageUrl,{responseType:"blob",timeout:a.promise}).then((function(e){a=null,i.imageBlobUrl=URL.createObjectURL(e.data),i.imageLoadedUrl=i.imageUrl,i.ready=!0})).catch((function(e){if(a=null,!e||"abort"!==e.xhrStatus){try{sessionStorage.setItem(t,1)}catch(e){}g()}}))):i.imageLoadedUrl=i.imageUrl}i.onImageLoad=function(){e.$evalAsync((()=>{i.imageLoadedUrl=i.imageUrl,i.ready=!0}))},i.onImageError=function(){if(i.imageUrl){let e="unfound-avatar-"+encodeURIComponent(i.imageUrl);try{sessionStorage.setItem(e,1)}catch(e){}}t((function(){i.useBlob=!1,i.useLetter=!0,i.imageLoadedUrl="",i.imageUrl="",i.ready=!0,l()}))},i.$onInit=async function(){await o()},i.$onDestroy=function(){a&&(a.resolve(),a=null),i.imageBlobUrl&&!i.imageBlobUrl.startsWith("data:image")&&window.URL.revokeObjectURL(i.imageBlobUrl)},i.$onChanges=async function(t){i.fontSize=String(Math.ceil(.37*i.width))+"px",i.lineHeight=String(i.width/2)+"px",t.imageUrl&&await async function(t,r){if(r===t)return;await o(),e.$applyAsync()}(t.imageUrl.currentValue,t.imageUrl.previousValue),l()}}e.$inject=["$scope","$timeout","$http","$q"],angular.module("smartermail").component("stAvatarIcon",{controller:e,bindings:{imageUrl:"<",name:"<",width:"<",height:"<",elementId:"@",noBorder:"<",preLoading:"<"},template:'\n                <div class="st-avatar-icon avatar-color-{{$ctrl.colorIndex}}" \n                     id="{{$ctrl.elementId}}" \n                     ng-class="{\n                         \'avatar-border\': !$ctrl.noBorder                         \n                     }"\n                     ng-style="{\n                         \'width\': $ctrl.width,\n                         \'min-width\': $ctrl.width,    \n                         \'max-width\': $ctrl.width,    \n                         \'height\': $ctrl.height,\n                         \'min-height\': $ctrl.height,    \n                         \'max-height\': $ctrl.height, \n                         \'visibility\': $ctrl.ready && !$ctrl.preLoading ? null : \'hidden\',\n                     }">\n\t\t\t\t    <img id="avimg_{{$ctrl.elementId}}" \n                         ng-src="{{$ctrl.imageBlobUrl}}
438" \n                         ng-if="!$ctrl.useLetter && $ctrl.useBlob" \n                         referrerpolicy="no-referrer">\n\t\t\t\t    <img ng-image-on-load="$ctrl.onImageLoad()" \n                         ng-image-on-error="$ctrl.onImageError()" \n                         id="avimg_{{$ctrl.elementId}}" \n                         ng-src="{{$ctrl.imageUrl}}" \n                         ng-if="!$ctrl.useLetter && !$ctrl.useBlob" \n                         referrerpolicy="no-referrer">\n\t\t\t\t\t<div class="letter-container" \n                         ng-if="$ctrl.useLetter"\n                         ng-style="{\n                             \'font-size\': $ctrl.fontSize,\n                             \'line-height\': $ctrl.lineHeight,\n                         }">\n                        {{$ctrl.firstLetter}}\n                    </div>\n                </div>'})}();
439!function(){"use strict";function t(t,a,s){var n=this;let e=null;function c(a){if(n.chat.showStatus)if(a.all){const a=n.contactEmailList.find((t=>s.getUserStatus(t)));a&&t.$applyAsync((function(){n.chat.status=s.getUserStatus(a)}))}else a.email&&a.status&&n.contactEmailList.includes(a.email)&&(t.$applyAsync((function(){n.chat.status=a.status})),t.$apply())}n.chat={get showStatus(){return n.contactEmailList&&n.contactEmailList.length>0&&s.connected},get status(){return e},set status(t){e="room"===t?null:t}},n.getIconClass=function(){let t=null;switch(n.chat.status){case"offline":t="status-offline";break;case"available":case"online":t="status-available";break;case"away":t="status-away";break;case"dnd":case"busy":t="status-dnd"}return t},n.$onInit=function(){c({all:!0})},t.$on("chat.user-status-changed",((t,a)=>{n.chat.showStatus&&c(a)}))}t.$inject=["$scope","$timeout","chatProviderFactory"],angular.module("smartermail").component("stStatusAvatarIcon",{controller:t,bindings:{imageUrl:"<",name:"<",width:"<",height:"<",elementId:"@",noBorder:"<",preLoading:"<",contactType:"<",contactEmailList:"<"},template:'\n                <div class="st-avatar-status-container">\n                    <st-avatar-icon name="$ctrl.name" element-id="$ctrl.elementId" image-url="$ctrl.imageUrl" width="$ctrl.width" height="$ctrl.height"></st-avatar-icon>\n\n                    <div ng-if="$ctrl.chat.showStatus && $ctrl.chat.status">\n                        <div class="chat-status-icon" ng-class="$ctrl.getIconClass()"/>\n                    </div>\n                </div>'})}();
440!function(){function t(t){try{return function(t,l,n){try{var r=(299*t+587*l+114*n)/1e3;return r>256?1:r/256}catch(t){return null}}(parseInt(t.substr(1,2),16),parseInt(t.substr(3,2),16),parseInt(t.substr(5,2),16))}catch(t){return null}}angular.module("smartertools").component("stCategoryFlag",{template:'\n                <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"\n\t                 viewB
440ox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve">\n                <g>\n\t                <path style="{{$ctrl.fillStyles}}" d="M11.7,17.6c-0.3,0.3-0.6,0.4-1.1,0.4s-0.8-0.1-1.1-0.4l-7.1-7.1c-0.1-0.1-0.2-0.3-0.3-0.5C2,9.7,2,9.5,2,9.4\n\t\t                V3.5c0-0.4,0.1-0.8,0.4-1.1C2.7,2.1,3.1,2,3.5,2h5.9c0.2,0,0.4,0,0.6,0.1s0.3,0.2,0.5,0.3l7.1,7.1c0.3,0.3,0.4,0.6,0.4,1.1\n\t\t                c0,0.4-0.1,0.8-0.4,1.1L11.7,17.6z M5.5,6.8c0.3,0,0.6-0.1,0.9-0.4c0.2-0.2,0.4-0.5,0.4-0.9S6.6,4.9,6.4,4.6\n\t\t                C6.1,4.4,5.8,4.2,5.5,4.2S4.9,4.4,4.6,4.6C4.4,4.9,4.2,5.2,4.2,5.5s0.1,0.6,0.4,0.9C4.9,6.6,5.2,6.8,5.5,6.8z"/>\n                </g>\n                </svg>\n                ',controller:function(){let l=this,n=-1;function r(){if(n!==l.flagColor){if(void 0===l.flagColor||null===l.flagColor||""===l.flagColor||"transparent"===l.flagColor)l.fillStyles="fill: transparent; stroke: #888888; stroke-dasharray: 2,2; stroke-width:1; stroke-miterlimit:10;";else{let n=t(l.flagColor||"#888888"),r=n&&n<.2?"#cccccc":"#000000";l.fillStyles=`fill: ${l.flagColor}; stroke: ${r}; stroke-width:0.25; stroke-miterlimit:10;`}n=l.flagColor}}l.$onInit=()=>r(),l.$onChanges=t=>r()},bindings:{flagColor:"<"}}),window.getCategoryFlagHtml=function(l){let n=t(l||"#888888"),r=`fill: ${l}; stroke: ${n&&n<.2?"#cccccc":"#000000"}; stroke-width:0.25; stroke-miterlimit:10;`;return null!=l&&""!==l||(r="fill: transparent; stroke: #888888; stroke-dasharray: 2,2; stroke-width:1; stroke-miterlimit:10;"),`\n                <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"\n\t                 viewB
440ox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve">\n                <g>\n\t                <path style="${r}" d="M11.7,17.6c-0.3,0.3-0.6,0.4-1.1,0.4s-0.8-0.1-1.1-0.4l-7.1-7.1c-0.1-0.1-0.2-0.3-0.3-0.5C2,9.7,2,9.5,2,9.4\n\t\t                V3.5c0-0.4,0.1-0.8,0.4-1.1C2.7,2.1,3.1,2,3.5,2h5.9c0.2,0,0.4,0,0.6,0.1s0.3,0.2,0.5,0.3l7.1,7.1c0.3,0.3,0.4,0.6,0.4,1.1\n\t\t                c0,0.4-0.1,0.8-0.4,1.1L11.7,17.6z M5.5,6.8c0.3,0,0.6-0.1,0.9-0.4c0.2-0.2,0.4-0.5,0.4-0.9S6.6,4.9,6.4,4.6\n\t\t                C6.1,4.4,5.8,4.2,5.5,4.2S4.9,4.4,4.6,4.6C4.4,4.9,4.2,5.2,4.2,5.5s0.1,0.6,0.4,0.9C4.9,6.6,5.2,6.8,5.5,6.8z"/>\n                </g>\n                </svg>\n                `}}();
441!function(){"use strict";function e(e,o){return{restrict:"E",scope:{stModel:"=",onChange:"&",onBlur:"&",onOpen:"&",onClose:"&",onDestroy:"&"},link:function(o,t,n){var l=n.updateOn?n.updateOn:"'default'",a=n.swatchPos?n.swatchPos:"right",r=n.pickerPos?n.pickerPos:"bottom left",s=n.swatchOnly?n.swatchOnly:"false",i="";i=n.defaultTime&&n.blurTime?"'default': "+n.defaultTime+",'blur': "+n.blurTime:n.defaultTime?"'default': "+n.defaultTime:n.blurTime?"'blur': "+n.blurTime:"'default': 0",o.options={format:"hexString",alpha:!1,swatch:!0,swatchPos:a,swatchOnly:s,swatchBootstrap:!0,pos:r,case:"upper"},o.eventApi={onClose:o.onClose,onChange:o.onChange,onBlur:o.onBlur,onOpen:o.onOpen,onDestroy:o.onDestroy};var u=angular.element('<color-picker ng-model="stModel" ng-model-options="{ updateOn: '+l+", debounce:{"+i+'} }" options="options" event-api="eventApi"></color-picker>'),c=e(u)(o);t.append(c)}}}e.$inject=["$compile","$interval"],angular.module("smartertools").directive("stColorPicker",e)}();
442angular.module("smartertools").directive("stColorPill",(function(){return{restrict:"EA",scope:{pillText:"@",pillColor:"@"},template:'<st-category-flag flag-color="pillColor"></st-category-flag><div class=\'pillText\'>{{pillTextAdjusted}}</div><md-tooltip md-autohide ng-if="pillTextAdjusted != pillText">{{ pillText }}</md-tooltip>',link:function(t,l,e){l[0];let i=(t.pillText||"").trim();(function(t){var l=document.createElement("div");return l.style.fontSize="13px",l.style.position="absolute",l.style.visibility="hidden",l.style.whiteSpace="nowrap",l.innerHTML=t,document.body.appendChild(l),l.clientWidth})(i)>130&&(i=i.substr(0,20)+"..."),t.pillTextAdjusted=i}}}));
443!function(){"use strict";angular.module("smartertools").directive("stContextMenu",["$compile","$timeout",function(t,e){return{restrict:"E",scope:{options:"=",event:"=",classes:"=",menuLike:"=",menuClass:"=",direction:"=",vertOffset:"="},link:function(n,i,o){n.isOpen=!1,n.clickFunctions={},n.params={},n.event.preventDefault(),n.event.stopPropagation(),n.maxHeight=8;var s="";n.classes&&(s=n.classes.join(" "));for(var l='<div class="st-context-menu '+s+' " oncontextmenu="return false;" ng-class="{\'context-open\': isOpen}">',a=0;a<n.options.length;++a)if(null==n.options[a].show||!0===n.options[a].show)if(n.options[a].divider)l+='<div class="st-menu-divider"></div>',n.maxHeight+=9;else if(n.options[a].children&&n.options[a].children.length>0){l+='<div class="st-menu-item st-menu-item-with-submenu" ng-disabled='+(p=n.options[a].disabled||!1)+'>\t\t\t\t\t\t\t\t<button class="md-button md-ink-ripple" type="button" ng-disabled='+p+'>{{::"'+n.options[a].translateKey+'" | translate | htmlUnescape}}<i class="toolsicon toolsicon-keyboard_arrow_right submenu-arrow"></i></button>\t\t\t\t\t\t\t\t<div class="st-submenu">';for(var c=0;c<n.options[a].children.length;++c){var r=n.options[a].children[c];if(null==r.show||!0===r.show){n.clickFunctions[r.key]=r.click,n.params[r.key]=r.params;var u=r.disabled||!1;l+='<div class="st-menu-item">\t\t\t\t\t\t\t\t\t\t<button class="md-button md-ink-ripple" type="button" ng-click="onClick(\''+r.key+"', $event)\" ng-disabled="+u+'>{{::"'+r.translateKey+'" | translate | htmlUnescape}}</button>\t\t\t\t\t\t\t\t\t</div>'}}l+="</div></div>",n.maxHeight+=32}else{n.clickFunctions[n.options[a].key]=n.options[a].click,n.params[n.options[a].key]=n.options[a].params;var p=n.options[a].disabled||!1;l+='<div class="st-menu-item">\t\t\t\t\t\t\t<button class="md-button md-ink-ripple" type="button" ng-click="onClick(\''+n.options[a].key+"', $event)\" ng-disabled="+p+'>{{::"'+n.options[a].translateKey+'" | translate | htmlUnescape}}</button>\t\t\t\t\t\t\t</div>',n.maxHeight+=32}l+="</div>",n.onClick=function(t,e){if(3==e.which)return e.stopPropagation(),void e.preventDefault();
443n.clickFunctions[t](n.params[t]),n.hideMenu()},n.openMenu=function(t){var e=$(i);e[0].style.position="fixed",e[0].style.display="block";var o=n.vertOffset;o||(o=0);var s=void 0;if(n.maxHeight>e.height()&&(n.maxHeight=e.height()),n.menuLike&&n.menuClass&&(s=$(t.target).closest("."+n.menuClass)),s&&s.length>0){var l=s.offset();e[0].style.top="-10000px",setTimeout((function(){r(e,l.left,l.top+s.height())}),75)}else{var a,c;"touchstart"===t.type||"touchend"===t.type?(a=t.touches[0].clientY,c=t.touches[0].clientX):(a=t.clientY,c=t.clientX),e[0].style.top="-10000px",setTimeout((function(){r(e,c,a)}),75)}function r(t,e,i){if(i+n.maxHeight+o>window.innerHeight){var s=i-n.maxHeight+o;s<=0&&(s=0),$(t)[0].style.top=s+"px"}else $(t)[0].style.top=i+o+"px";var l=$(t).width(),a=0;"left"===n.direction?(a=e-l<0?e:e-l)+l>window.innerWidth&&(a=window.innerWidth-l-5):(a=e+l>window.innerWidth?e-l:e)<0&&(a=5),$(t)[0].style.left=a+"px"}n.isOpen=!0},n.hideMenu=function(t){(!t||t&&3!==t.which)&&($("body").off("mousewheel DOMMouseScroll",n.disableScroll),n.isOpen=!1,$(".st-click-catcher").remove(),e((function(){$("st-context-menu").remove()}),300))},n.disableScroll=function(t){return t.stopPropagation(),t.preventDefault(),t.cancelBubble=!1,!1},$("st-context-menu").remove();var d=t(l)(n);i.append(d);d=t('<div class="st-click-catcher" ng-mouseup="hideMenu($event)" oncontextmenu="return false;"></div>')(n),$("body").append(d),$("body").on("mousewheel DOMMouseScroll",n.disableScroll),e((function(){n.openMenu(n.event)}))}}}])}();
444!function(){"use strict";angular.module("smartertools").directive("stDataTabs",["$compile","$interval",function(t,n){return{restrict:"EA",scope:{changeSection:"=",selectedSection:"=",sections:"="},link:function(n,a,s){var e=angular.element('<div class="st-data-tabs-wrapper">\t\t\t\t\t\t\t<div class="st-data-tabs" layout="row" layout-align="start center">\t\t\t\t\t\t\t\t<div class="st-data-tabs-selector" ng-repeat="section in sections" ng-show="!section.hidden" ng-click="!section.disabled && changeSection(section.translate)" ng-class="{\'st-data-tab-selected\': selectedSection == section.translate, \'st-data-tab-disabled\': section.disabled}">\t\t\t\t\t\t\t\t\t<div class="st-data-tab-content" ng-class="{\'st-data-tab-no-length\': (section.length < 0 && section.length != -2)}">\t\t\t\t\t\t\t\t\t\t<div>                                            <span class="st-data-tab-title">{{ section.translate | translate | htmlUnescape }}</span>                                            <a href=""><span class="not-licensed" style="color: #ffffff !important" ng-if="section.showNotLicensed">{{::"NOT_LICENSED" | translate}}</span></a>                                        </div>\t\t\t\t\t\t\t\t\t\t<span class="st-data-tab-number" ng-class="{\'over-max\': section.length > section.max }">                                            <span ng-if="section.length == -2">{{\'ALL\' | translate}}</span>                                            <span ng-if="section.length > -1">{{section.length | number}}</span>                                            <span ng-if="section.max > -1 && section.length > -1" class="st-data-tab-number-label">&nbsp;/&nbsp;{{section.max | number}}</span>\t\t\t\t\t\t\t\t\t\t\t<span class="st-data-tab-number-label">&nbsp;{{(section.length > -1 ? section.label : "") | translate}}</span>\t\t\t\t\t\t\t\t\t\t</span>\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t<md-menu md-offset="0 90" md-position-mode="target-right target" layout="row" layout-align="start center">\t\t\t\t\t\t\t\t<md-button ng-click="$mdMenu.open($event);" aria-label="menu" class="st-data-tabs-dropdown">\t\t\t\t\t\t\t\t\t<div class="st-data-tab-content" ng-repeat="section in sections" ng-class="{\'st-data-tab-no-length\': (section.length < 0 && section.length != -2), \'st-data-tab-content-viewable\': selectedSection == section.translate}">\t\t\t\t\t\t\t\t\t\t<div>                                            <span class="st-data-tab-title">{{ section.translate | translate | htmlUnescape }}</span>                                            <a href=""><span class="not-licensed" style="color: #ffffff !important" ng-if="section.showNotLicensed">{{::"NOT_LICENSED" | translate}}</span></a>                                        </div>\t\t\t\t\t\t\t\t\t\t<span class="st-data-tab-number">\t\t\t\t\t\t\t\t\t\t\t{{ section.length == -2 ? (\'ALL\' | translate) : (section.max > -1 ? (section.max + \'/\' + section.length) : (section.length > -1 ? (section.length | number) : \'\')) }}\t\t\t\t\t\t\t\t\t\t\t<span class="st-data-tab-number-label">&nbsp;{{(section.length > -1 ? section.label : "") | translate}}</span>\t\t\t\t\t\t\t\t\t\t</span>\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t\t<span class="st-data-tab-content-caret"><i class="toolsicon toolsicon-arrow_drop_down_emphasis"></i></span>\t\t\t\t\t\t\t\t</md-button>\t\t\t\t\t\t\t\t<md-menu-content class="standard">\t\t\t\t\t\t\t\t\t<div ng-repeat="section in sections">\t\t\t\t\t\t\t\t\t\t<md-menu-item>
444\t\t\t\t\t\t\t\t\t\t\t<md-button ng-click="!section.disabled && changeSection(section.translate)">{{ section.translate | translate | htmlUnescape }}</md-button>\t\t\t\t\t\t\t\t\t\t</md-menu-item>\t\t\t\t\t\t\t\t\t</div>\t\t\t\t\t\t\t\t</md-menu-content>\t\t\t\t\t\t\t</md-menu>\t\t\t\t\t\t</div>'),c=t(e)(n);a.append(c)}}}])}();
445angular.module("smartertools").directive("stHtmlEditor",["$rootScope","$compile","$timeout","$filter","$q","$log","$state","$translate","$http","$mdDialog",function(e,t,a,o,n,r,i,s,l,d){return{restrict:"E",scope:{saveDraft:"=",htmlContent:"=?",placeholder:"@",height:"@",minHeight:"@",maxHeight:"@",attachGuid:"@",afContext:"@",afSourceType:"@",afSourceId1:"@",afSourceId2:"@",afDomainOverride:"@",customDropdowns:"=",enterAction:"=",tabSpaces:"=",stDisabled:"=",stFirstChange:"&",htmlTrustFunction:"=",editorScope:"=?",editorScopeAux:"=?",enableImageUpload:"=?",onImageInserted:"=",onImageRemoved:"=?",onInitialized:"=",groupButtons:"=",showImageButton:"=?",enableBlur:"@",onSaveDraft:"&"},link:async function(r,c,m){var u,p;r.id=$(c)[0].id,r.enableImageUpload=!angular.isDefined(r.enableImageUpload)||r.enableImageUpload,r.showImageButton=!angular.isDefined(r.showImageButton)||r.showImageButton,r.getHtml=null,r.setHtml=null,r.insertHtml=null,r.insertLink=null,r.chatGPTEnabled=!1,r.aiCommandName="ai_"+r.id;var f=$(c).attr("carteac"),g=null!=$(c).attr("showSignatureButton");r.authStorage=null;let h=null,v=!1,b=!1;m.ai&&await Promise.all([l.get("/api/v1/marketplace/getmarketplace"),l.post("/api/v1/marketplace/GetChatGPTSettingsAdmin")]).then((function([e,t]){!0===e.data.chatGPTEnabled&&"notreturned"===t.data.apiKey&&(r.chatGPTEnabled=!0)})).catch((function(e){console.error("Error with API requests:",e)})),$(c).injector()&&$(c).injector().has("authStorage")?r.authStorage=$(c).injector().get("authStorage"):r.authStorage={getToken:function(){return"0"}},r.afContext&&(r.enableImageUpload=!0);var S=function(){var e={};return localStorage.froalaBarState&&(e=JSON.parse(localStorage.froalaBarState)),e[i.current.name]},w=function(){var e=function(){var e={};return localStorage.froalaBarState&&(e=JSON.parse(localStorage.froalaBarState)),e}();return e[i.current.name]=O,T=O,localStorage.froalaBarState=JSON.stringify(e)},k=null!=$(c).attr("short-options");!0===r.groupButtons?k?(u=[["bold","italic","underline","strikeThrough","emoticons",r.chatGPTEnabled?r.aiCommandName:"","|","undo","redo","fontFamily","fontSize","-","textColor","backgroundColor","quote","html","clearFormatting",g?"signatureEditable":"","|","align","formatOL","formatUL","paragraphFormat","paragraphStyle","outdent","indent","|",r.showImageButton?"insertImage":"","insertLink","insertTable","|","expand","shrink"]],p=[["bold","italic","underline","strikeThrough","emoticons",r.chatGPTEnabled?r.aiCommandName:"","|","undo","redo","fontFamily","fontSize","-","textColor","backgroundColor","quote","html","clearFormatting",g?"signatureEditable":"","|","align","formatOL","formatUL","paragraphFormat","paragraphStyle","outdent","indent","|",r.showImageButton?"insertImage":"","insertLink","insertTable","|","expand","shrink"]]):(u=["bold","italic","underline","strikeThrough","emoticons",r.chatGPTEnabled?r.aiCommandName:"","|","undo","redo","fontFamily","fontSize","textColor","backgroundColor","quote","html","clearFormatting",g?"signatureEditable":"","|","align","formatOL","formatUL","paragraphFormat","paragraphStyle","outdent","indent","|",r.showImageButton?"insertImage":"","insertLink","insertTable","|","expand","shrink"],p=["bold","italic","underline","strikeThrough","emoticons",r.chatGPTEnabled?r.aiCommandName:"","|","undo","redo","fontFamily","fontSize","textColor","backgroundColor","quote","html","clearFormatting",g?"signatureEditable":"","|","align","formatOL","formatUL","paragraphFormat","paragraphStyle","outdent","indent","|",r.showImageButton?"insertImage":"","insertLink","insertTable","|","expand","shrink"]):k?(u=[["bold","italic","underline","strikeThrough","emoticons",r.chatGPTEnabled?r.aiCommandName:"","undo","redo","fontFamily","fontSize","-","textColor","backgroundColor","quote","html","clearFormatting",g?"signatureEditable":"","align","formatO
445L","formatUL","paragraphFormat","paragraphStyle","outdent","indent",r.showImageButton?"insertImage":"","insertLink","insertTable","expand","shrink"]],p=[["bold","italic","underline","strikeThrough","emoticons",r.chatGPTEnabled?r.aiCommandName:"","undo","redo","fontFamily","fontSize","-","textColor","backgroundColor","quote","html","clearFormatting",g?"signatureEditable":"","align","formatOL","formatUL","paragraphFormat","paragraphStyle","outdent","indent",r.showImageButton?"insertImage":"","insertLink","insertTable","expand","shrink"]]):(u=["bold","italic","underline","strikeThrough","emoticons",r.chatGPTEnabled?r.aiCommandName:"","undo","redo","fontFamily","fontSize","textColor","backgroundColor","quote","html","clearFormatting",g?"signatureEditable":"","align","formatOL","formatUL","paragraphFormat","paragraphStyle","outdent","indent",r.showImageButton?"insertImage":"","insertLink","insertTable","expand","shrink"],p=["bold","italic","underline","strikeThrough","emoticons",r.chatGPTEnabled?r.aiCommandName:"","undo","redo","fontFamily","fontSize","textColor","backgroundColor","quote","html","clearFormatting",g?"signatureEditable":"","align","formatOL","formatUL","paragraphFormat","paragraphStyle","outdent","indent",r.showImageButton?"insertImage":"","insertLink","insertTable","expand","shrink"]);var y,E=("pt"===(y=(y=s.proposedLanguage()||s.use()).replace("-","_").toLowerCase())&&(y+="_pt"),y),I=u,C=200,D=!1,O=void 0===S()||S(),T=!0===S(),R=!1,x=!1,A={}
445,F=function(){var e=$(c).parents("md-tabs-content-wrapper");if(0!=e.length){var t=$(e[0]).height(),a=t-82;O&&(a=t-167),$(c).find(".fr-wrapper").css("max-height",a),$(c).find(".fr-element").css("height",a)}},L=function(t){O=!1,$(".fr-box.fr-basic.fr-top").removeClass("hide-expand"),$(".fr-box.fr-basic.fr-top").addClass("hide-shrink"),D&&F(),t&&w(),e.$broadcast("resize.doResize")},U=function(t){O=!0,R=!1,$(".fr-box.fr-basic.fr-top").removeClass("hide-shrink"),$(".fr-box.fr-basic.fr-top").addClass("hide-expand"),D&&F(),t&&w(),e.$broadcast("resize.doResize")},B=function(){T&&(window.innerWidth<545&&!x?(x=!0,L()):window.innerWidth>545&&x&&(x=!1,R||U()))};k&&(R=!0,a(L)),null!=$(c).attr("quick-reply")&&(C=100),$(window).on("resize",(function(){B(),D&&a(F,400)})),FroalaEditor.DefineIcon("expand",{NAME:"plus",template:"font_awesome"}),FroalaEditor.RegisterCommand("expand",{title:o("translate")("SHOW_MORE"),focus:!1,undo:!1,refreshAfterCallback:!1,callback:function(){U(!0)}}),FroalaEditor.DefineIcon("shrink",{NAME:"minus",template:"font_awesome"}),FroalaEditor.RegisterCommand("shrink",{title:o("translate")("SHOW_LESS"),focus:!1,undo:!1,refreshAfterCallback:!1,callback:function(){L(!0)}});var N=!1,P={true:{newIconName:"unlock-alt",newTitle:"LOCK_SIGNATURE"},false:{newIconName:"lock",newTitle:"UNLOCK_SIGNATURE"}};if(FroalaEditor.DefineIcon("lockedSignature",{NAME:"lock",template:"font_awesome"}),FroalaEditor.RegisterCommand("signatureEditable",{title:o("translate")("UNLOCK_SIGNATURE"),icon:"lockedSignature",focus:!1,undo:!1,callback:function(){var e,t,a;N=!N,$("#divSignature").attr("contentEditable",N),e="signatureEditable",t=P[N].newIconName,a=(e=$("[data-cmd="+e+"] i.fa")).attr("class").split(" ")[1],e.removeClass(a),e.addClass("fa-"+t),function(e,t){$("[data-cmd="+e+"]").data().title=o("translate")(t)}("signatureEditable",P[N].newTitle)}}),"function"==typeof r.onSaveDraft&&(FroalaEditor.RegisterCommand("save",{title:"Save Draft",focus:!1,undo:!1,refreshAfterCallback:!1,callback:r.onSaveDraft}),FroalaEditor.RegisterShortcut(83,"save",null,"S",!1,!1)),FroalaEditor.DefineIcon(r.aiCommandName,{template:"ai-icon"}),FroalaEditor.RegisterCommand(r.aiCommandName,{title:"AI Tools",undo:!0,focus:!0,refreshAfterCallback:!0,callback:function(){setTimeout((()=>{if(r.editor.selection||(r.editor.$el.focus(),r.editor.selection.save(),r.editor.selection.restore()),!r.editor.selection)return void console.error("Froala selection is still undefined.");let e=r.editor.selection.text();const t=!!e;if(!t){let t=r.editor.html.get();const a=t.indexOf('id="previousmessagehr"'),o=t.indexOf('id="divSignature"');-1!==a&&(t=t.substring(0,a)),-1!==o&&(t=t.substring(0,o)),e=$("<div>").html(t).text().trim()}r.editor.selection.save(),d.show({controller:"aiCompose",controllerAs:"vm",templateUrl:"app/email/modals/ai-compose.dlg.html",clickOutsideToClose:!1,locals:{text:"",highlight:e,mode:"MODIFY"}}).then((function(e){if(e){const n=(o=t,function(e){const t=(new DOMParser).parseFromString(e,"text/html");return Array.from(t.body.childNodes).some((e=>1===e.nodeType))}(a=e)?a:o?a.replace(/\n/g,"<br>"):a.split("\n\n").map((function(e){return`<div>${e.replace(/\n/g,"<br>")}&nbsp;</div><div><br></div>`})).join(""));r.editor.selection.restore(),t||(r.editor.selection.setAtStart(r.editor.$el[0]),r.editor.selection.restore()),r.editor.html.insert(n,!0)}var a,o}))}),10)}}),FroalaEditor.DefineIconTemplate("toolsicon",'<i class="toolsicon toolsicon-[NAME]"></i>'),FroalaEditor.DefineIconTemplate("ai-icon",'<i class="toolsicon toolsicon-ai"></i>'),r.customDropdowns&&r.customDropdowns.length>0)for(var _=0;_<r.customDropdowns.length;++_)if(r.customDropdowns[_].options){r.customDropdowns[_].callback&&(A[r.customDropdowns[_].key]=r.customDropdowns[_].callback),FroalaEditor.DefineIcon(r.customDropdowns[_].key,{NAME:r.customDropdowns[_].icon,template:"font_awesome"}),FroalaEditor.RegisterCommand(r.customDropdowns[_].key,{title:r.customDropdowns[_].title,type:"dropdown",focus:!1,undo:!1,refreshAfterCallback:!0,options:r.customDropdowns[_].options,callback:function(e,t){A[e]&&A[e](e,t,r)}});var G=21;!0===r.groupButtons&&(G+=3),k?(G+=1,u[0].splice(G,0,r.customDropdowns[_].key),p[0].splice(G,0,r.customDropdowns[_].key)):(u.splice(G,0,r.customDropdowns[_].key),p.splice(G,0,r.customDropdowns[_].key))}if(r.froalaOptions={key:"lSA3D-17C2A1A2F1G2B1A2sGXd1WWTDSGXYOUKh1KINLb1OG1g1H-8D1B3D3B3E6D1C1B4F4C3==",attribution:!1,charCounterCount:!1,emoticonsUseImage:!1,fontFamily:{arial:"Arial","comic sans ms":"Comic Sans MS","courier new":"Courier New",georgia:"Georgia","lucida sans":"Lucida",tahoma:"Tah
445oma","times new roman":"Times New Roman","trebuchet ms":"Trebuchet MS",verdana:"Verdana"},fontSize:["8","9","10","11","12","14","16","18","20","22","24","26","28","36","48","72"],heightMin:C,htmlAllowedAttrs:["accept","accept-charset","accesskey","action","align","allowfullscreen","allowtransparency","alt","aria-.*","async","autocomplete","autofocus","autoplay","autosave","background","bgcolor","border","charset","cellpadding","cellspacing","checked","cite","class","color","cols","colspan","content","contenteditable","contextmenu","controls","coords","data","data-.*","datetime","default","defer","dir","dirname","disabled","download","draggable","dropzone","enctype","face","for","form","formaction","frameborder","headers","height","hidden","high","href","hreflang","http-equiv","icon","id","ismap","itemprop","keytype","kind","label","lang","language","list","loop","low","max","maxlength","media","method","min","mozallowfullscreen","multiple","muted","name","novalidate","open","optimum","pattern","ping","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","reversed","rows","rowspan","sandbox","scope","scoped","scrolling","seamless","selected","shape","size","sizes","span","src","srcdoc","srclang","srcset","start","step","summary","spellcheck","style","tabindex","target","title","type","translate","usemap","value","valign","webkitallowfullscreen","width","wrap"],htmlAllowedTags:["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","br","button","canvas","caption","cite","code","col","colgroup","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","menu","menuitem","meter","nav","noscript","object","ol","optgroup","option","output","p","param","pre","progress","queue","rp","rt","ruby","s","samp","script","style","section","select","small","source","span","strike","strong","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"],imageInsertButtons:["imageBack","|","imageUpload","imageByURL"],imageUploadRemoteUrls:!1,language:E,listAdvancedTypes:!1,pastePlain:!1,placeholderText:"",quickInsertTags:[],requestHeaders:{Authorization:"Bearer "+r.authStorage.getToken()},tableStyles:{"st-no-borders":"No Borders","fr-dashed-borders":"Dashed Borders","fr-alternate-rows":"Alternate Rows"},tabSpaces:4,toolbarButtons:I,toolbarButtonsMD:I,toolbarButtonsSM:I,toolbarButtonsXS:p,toolbarSticky:!1,useClasses:!1,wordPasteModal:!1},function(){function e(){if(b)return;let e=(new Date).getTime();if(!r.authStorage.getAccessTokenExpiration||!r.authStorage.refreshToken)return void t(null,20);let a=new Date(r.authStorage.getAccessTokenExpiration()).getTime()-6e4;e>=a?r.authStorage.refreshToken().then((function(){o(),a=new Date(r.authStorage.getAccessTokenExpiration()).getTime()-6e4,t(a)})).catch((function(e){t(a,3e4)})):(o(),t(a))}function t(t,o){if(b)return;let n=o||t-(new Date).getTime();n=Math.max(n,0),h=a(e,n)}function o(){const e=`Bearer ${r.authStorage.getToken()}`;r.froalaOptions.requestHeaders.Authorization=e,r.editor&&(r.editor.opts.requestHeaders.Authorization=e)}v||(v=!0,h=a(e))}(),r.froalaOptions.imageUploadMethod="POST",r.attachGuid?r.froalaOptions.imageUploadURL=window.location.origin+stSiteRoot+"api/v1/mail/attachment/"+r.attachGuid+"/cidgenerate":r.afContext&&(r.froalaOptions.imageUploadParams={afSourceType:r.afSourceType,afSourceId1:r.afSourceId1,afSourceId2:r.afSourceId2,afDomainOverride:r.afDomainOverride,isInline:!0},"system"==r.afContext?r.froalaOptions.imageUploadURL=window.location.origin+stSiteRoot+"api/v1/settings/sysadmin/attachedfile/cidgenerate":"domain"==r.afContext?"ap"==r.afSourceType?r.froalaOptions.imageUploadURL=window.location.origin+stSiteRoot+"api/v1/settings/attachedfile/cidgenerate":r.froalaOptions.imageUploadURL=window.location.origin+stSiteRoot+"api/v1/settings/domain/attachedfile/cidgenerate":"domainshare"==r.afContext?r.froalaOptions.imageUploadURL=window.location.origin+stSiteRoot+"api/v1/settings/attached-domain-shared-file/cidgenerate":r.froalaOptions.imageUploadURL=window.location.origin+stSiteRoot+"api/v1/settings/attachedfile/cidgenerate"),r.enableImageUpload||(r.froalaOptions.imageUploadURL=void 0),null==r.htmlContent&&(r.htmlContent=""),r.htmlContent.indexOf("attlinkedfileid:")>-1&&(r.htmlContent=r.htmlContent.split('"attlinkedfileid:').join('"'+location.origin+stSiteRoot+"attachedfile?data=")),isNaN(r.height)||(r.froalaOptions.heightMin=parseInt(r.height),r.froalaOptions.heightMax=parseInt(r.height)),isNaN(r.minHeight)||(r.froalaOptions.heightMin=parseInt(r.minHeight)),isNaN(r.maxHeight)?"unset"===r.maxHeight&&(r.froalaOptions.heightMax=null):r.froalaOptions.heightMax=parseInt(r.maxHeight),r.enterAction)switch(r.enterA
445ction){case"p":break;case"div":r.froalaOptions.enter=FroalaEditor.ENTER_DIV;break;case"br":r.froalaOptions.enter=FroalaEditor.ENTER_BR}else r.froalaOptions.enter=FroalaEditor.ENTER_DIV;null!=r.tabSpaces?r.froalaOptions.tabSpaces=r.tabSpaces:0==r.tabSpaces&&(r.froalaOptions.tabSpaces=!1);var H=null;function z(){return H||(H=n.defer(),a((function e(){null!=r.editor?(H.resolve(r.editor),H=null):a((function(){e()}),20)}))),H.promise}r.getEditor=z,r.insertHtml=function(e,t){return z().then((function(a){a.html.insert(e,null==t||t),a.undo.saveStep()}),(function(){}))},r.getHtml=function(e){e=e||!1;const t=$("body"),a=t.hasClass("theme-dark");t.removeClass("theme-dark");try{if(r.stDisabled){const e=$(c).find("div.st-readonly");if(e)return e.html()}const t=r.editor;if(t){let a=r.editor.html.get(e);return t.codeView.isActive()&&(t.codeView.toggle(),a=r.editor.html.get(e),t.codeView.toggle()),a}return""}finally{a&&t.addClass("theme-dark")}},r.setHtml=function(e){return z().then((function(t){if(r.stDisabled){const t=$(c).find("div.st-readonly");t&&t.html(e)}else t.html.set(e),t.undo.saveStep()}))},r.setHtmlPending=!1,r.setHtmlPromise=function(e,t){if(r.stDisabled){const t=$(c).find("div.st-readonly");return t&&t.html(e),n.resolve()}{if(r.setHtmlPending)return n.reject("Edit Pending");r.setHtmlPending=!0;const a=n.defer(),o=function(e){delete r.editor.opts.events["html.set"],r.setHtmlPending=!1,t&&r.editor.undo.saveStep(),a.resolve()};return z().then((function(t){t.opts.events["html.set"]=o,t.html.set(e)}),(function(e){return n.reject(e)})),a.promise}},r.insertFileLink=function(e,t,a){!r.stDisabled&&r.enableBlur&&c.find(".fr-marker").length>0&&(r.editor.selection.restore(),V()),a=a||{target:"_blank"};let o=r.editor.selection.text();if(t=o||t||e,o||r.editor.core.hasFocus())r.editor.link.insert(e,t,a);else{var n=c.find("#divSignature");n&&n.length&&(r.editor.selection.setBefore(n[0]),r.editor.selection.restore(),V()),r.editor.link.insert(e,t,a)}var i=window.getSelection().anchorNode,s=i&&(3===i.nodeType?i.parentElement:i),l=s?s.closest("a"):null;l?(r.editor.selection.setAfter(l),r.editor.selection.restore(),V()):r.editor.selection.clear()},r.focusEditor=function(){!r.stDisabled&&r.enableBlur&&c.find(".fr-marker").length>0?(console.log("setting focus restore"),r.editor.selection.restore(),V()):r.stDisabled?c.focus():(console.log("setting focus"),r.editor.events.focus())},r.restoreSelection=function(){!r.stDisabled&&r.enableBlur&&(r.editor.selection.restore(),V())},r.clearEditor=function(){z().then((function(e){e.html.set(""),e.undo.saveStep()}))},r.setSaveInterval=function(e){r.froalaOptions.saveInterval=r.saveDraft.saveInterval=e};var M=0;function q(){const e=$(c).find("textarea.froalaEditor")[0]["data-froala.editor"];if(e&&e.edit){const t=$(c).find("div.st-readonly");r.stDisabled?(t.html(e.html.get()),t.css("display",""),e.edit.off(),e.$box.css("display","none")):(t.html(""),t.css("display","none"),e.edit.on(),e.$box.css("display","")),M=0}else M<20?(++M,a(q,100)):a((function(){M=0}),500);r.stDisabled&&c.append(angular.element(`<style style="text/css" src="${stSiteRoot}interface/output/froala-language/${E}.js"><\/script>`))}r.$watch("stDisabled",q),null!=$(c).attr("save-draft")&&(r.froalaOptions.saveParam=r.saveDraft.saveParam,r.froalaOptions.saveParams=r.saveDraft.saveParams,r.froalaOptions.saveMethod=r.saveDraft.saveMethod,r.froalaOptions.saveInterval=r.saveDraft.saveInterval,r.froalaOptions.saveURL=r.saveDraft.saveURL),r.initEditor=function(e){e?(r.froalaOptions.events||(r.froalaOptions.events={}),r.froalaOptions.events.initialized=function(){!function(e){r.stDisabled&&q(),r.editorControls=e,r.editor=e.getEditor(),null!=$(c).attr("short-options")?L():O?U():L(),"0"==r.authStorage.getToken()&&($(c).injector()&&$(c).injector().has("authStorage")?r.authStorage=$(c).injector().get("authStorage"):r.authStorage={getToken:function(){return"0"}},r.editor.opts.requestHeaders.Authorization="Bearer "+r.authStorage.getToken()),window.innerWidth>=768&&$(c).find(".fr-separator").eq(1).removeClass("fr-vs").addClass("fr-hs"),r.editor.undo.reset();var t=!0;r.editor.opts.events.keydown=function(e,t){n()},r.editor.opts.events["paste.after"]=function(e,t){n()},r.editor.opts.events["paste.beforeCleanup"]=function(e){for(var t=(new DOMParser).parseFromString(e,"text/html"),a=t.body.querySelectorAll("[style]"),o=0;o<a.length;o++)a[o].style.removeProperty("white-space"),a[o].style.removeProperty("word-break"),a[o].style.removeProperty("word-wrap");return t.body.innerHTML},r.editor.opts.fileUpload=!1,null!=$(c).attr("save-draft")&&(r.saveDraft.onSaveSuccess&&(r.editor.opts.events["save.after"]=r.saveDraft.onSaveSuccess),r.saveDraft.onSaveFailure&&(r.editor.opts.events["save.error"]=r.saveDraft.onSaveFailure),r.saveDraft.onBeforeSave&&(r.editor.opts.events["save.before"]=r.saveDraft.onBeforeSave));var o=$("md-dialog .fr-dropdown");function n(){delete r.editor.opts.events.keydown,delete r.editor.opts.events["paste.after"],r.stFirstChange(),!r.stDisabled&&r.enableBlur&&(r.editor.opts.events.blur=function(e){r.editor.selection.save();var t=function(){V(),delete r.editor.opts.events.click,delete r.editor.opts.events.keydown};r.editor.opts.events.click=t,r.editor.opts.events.keydown=t})}o.length>0&&o.on("click",(function(e){var t="#dropdown-menu-"+e.currentTarget.id,a=$("md-dialog"),o=$(t);if(0!==a.length&&0!==o.length){var n=a.offset().left+a.outerWidth(),r=o.offset().left+o.outerWidth()-n+8;if(!(r<=0)){var i=parseFloat(o.css("left"))||0;o.css("left",i-r+"px")}}})),r.editor.opts.events["commands.after"]=function(e,a,o,r){if("paragraphFormat"==o&&"PRE"==r)(i=$(".fr-view pre:not(.code-snippet)")).length>0&&(i.attr("style","background-color: #F8F8F8; border: 1px solid #DDD; padding: 10px; display: inline-block; margin-right: 20px;"),i.addClass("code-snippet"));else if("paragraphFormat"==o&&"PRE"!==r){var i;(i=$(".fr-view .code-snippet:not(pre)")).length>0&&(i.attr("style",""),i.removeClass("code-snippet"))}t&&(n(),t=!1)},"function"==typeof r.onImageRemoved&&(r.editor.opts.events["image.removed"]=r.onImageRemoved),r.enableImageUpload?r.attachGuid||r.afContext?r.afContext&&(r.editor.opts.events["image.inserted"]=function(e,a){console.log("st-html-editor: afContext image.inserted callback triggered",{img:e,response:a}),t&&(n(),t=!1),r.onImageInserted?r.$$phase||r.$root.$$phase?r.onImageInserted(e,a):r.$apply((function(){r.onImageInserted(e,a)})):console.log("st-html-editor: afContext onImageInserted is not defined",r.onImageInserted)}):r.editor.opts.events["image.beforeUpload"]=function(e,t,a){var o=this;if(console.log("st-html-editor: before upload",{img:img}),a&&a.length){const e=new FileReader;e.onload=function(e){const t=e.target.result;o.image.insert(t,null,null,o.image.get())}
445,e.readAsDataURL(a[0])}return!1}:(r.editor.opts.events["image.beforeUpload"]=function(e){var t=this;if(e.length){const a=new FileReader;a.onload=function(e){const a=e.target.result;t.image.insert(a,null,null,t.image.get())},a.readAsDataURL(e[0])}return t.popups.hideAll(),!1},r.editor.opts.events["image.inserted"]=function(e,t){console.log("st-html-editor: image.inserted callback triggered",{img:e,response:t}),"function"==typeof r.onImageInserted?r.$$phase||r.$root.$$phase?r.onImageInserted(e,t):r.$apply((function(){r.onImageInserted(e,t)})):console.log("st-html-editor: onImageInserted is not a function",typeof r.onImageInserted)}),r.editor.opts.events["image.error"]=function(e,t){5!==e.code&&"EXCEPTION_FILE_SIZE_LIMIT_EXCEEDED"!==JSON.parse(t).message||r.editor.popups.get("image.insert").find(".fr-image-progress-bar-layer").find("h3").text(s.instant("EXCEPTION_FILE_SIZE_LIMIT_EXCEEDED"))},0!=$(c).parents("md-tabs-content-wrapper").length&&(D=!0,a(F)),B(),"function"==typeof r.onInitialized&&r.onInitialized(r.editor)}(e)},a((function(){e.initialize()}))):console.warn("st-html-editor: initEditor called without controls; waiting for froala-init to initialize the editor.")},"en"!=E&&(c.append(angular.element('<script src=" '+stSiteRoot+"interface/output/froala-language/"+E+'.js"><\/script>')),a((()=>function(e,t){if("en"!==e){"en_gb"===e&&t.LANGUAGE.en_gb&&(t.LANGUAGE.en_gb.translation["Cell Formatting"]="Clear Formatting");var a=t.LANGUAGE[e];a&&a.translation&&(a.translation["Alternate Rows"]=s.instant("FROALA_ALTERNATE_ROWS"),a.translation.Bordered=s.instant("FROALA_BORDERED"),a.translation["Dashed Borders"]=s.instant("FROALA_DASHED_BORDERS"),a.translation.Gray=s.instant("FROALA_GRAY"),a.translation.Highlighted=s.instant("FROALA_HIGHLIGHTED"),a.translation["No Borders"]=s.instant("FROALA_NO_BORDERS"),a.translation.Spaced=s.instant("FROALA_SPACED"),a.translation.Thick=s.instant("FROALA_THICK"),a.translation.Uppercase=s.instant("FROALA_UPPERCASE"))}}(E,FroalaEditor))));var j=`<textarea class="froalaEditor" froala="froalaOptions" ng-model="htmlContent" froala-init="initEditor(initControls)" ${null!=f?"st-CARTEAC"+(""!=f?`="${f}"`:""):""}>{{htmlContent}}</textarea>`,W=angular.element(j),K=t(W)(r);c.append(K);var X=r.htmlTrustFunction?'<div class="st-readonly fr-box fr-basic fr-top" style="display: none;" ng-bind-html="htmlTrustFunction(htmlContent)"></div>':'<div class="st-readonly fr-box fr-basic fr-top" style="display: none;" ng-bind-html="htmlContent"></div>';function V(){console.log("removing selection markers"),$(".fr-marker").remove()}W=angular.element(X),K=t(W)(r),c.append(K),r.destroyEditor=function(){r.froalaOptions.saveParam="",r.froalaOptions.saveParams="",r.froalaOptions.saveMethod="",r.froalaOptions.saveInterval=0,r.froalaOptions.saveURL="",r.editorControls.destroy()},r.editorScope=r,r.editorScopeAux=r,r.$watch("afContext",(function(){if(r.attachGuid)r.froalaOptions.imageUploadURL=window.location.origin+stSiteRoot+"api/v1/mail/attachment/"+r.attachGuid+"/cidgenerate";else if(!r.preventImageUpload){"system"==r.afContext?r.froalaOptions.imageUploadURL=window.location.origin+stSiteRoot+"api/v1/settings/sysadmin/attachedfile/cidgenerate":"domain"==r.afContext?"ap"==r.afSourceType?r.froalaOptions.imageUploadURL=window.location.origin+stSiteRoot+"api/v1/settings/attachedfile/cidgenerate":r.froalaOptions.imageUploadURL=window.location.origin+stSiteRoot+"api/v1/settings/domain/attachedfile/cidgenerate":"domainshare"==r.afContext?r.froalaOptions.imageUploadURL=window.location.origin+stSiteRoot+"api/v1/settings/attached-domain-shared-file/cidgenerate":r.froalaOptions.imageUploadURL=window.location.origin+stSiteRoot+"api/v1/settings/attachedfile/cidgenerate";const e=$(c).find("textarea.froalaEditor")[0]["data-froala.editor"];e&&(e.opts.imageUploadURL=r.froalaOptions.imageUploadURL)}})),r.$on("$destroy",(function(){b=!0,h&&(a.cancel(h),h=null)}))}}}]);
446!function(){"use strict";function a(a){return{restrict:"E",scope:{asciiName:"<",idnName:"<"},link:function(i,e){var n=a(angular.element('<span class="st-international-name">{{(idnName || asciiName)}}<md-tooltip md-delay="100" ng-show="idnName && asciiName && idnName !== asciiName">{{asciiName}}</md-tooltip><span>'))(i);e.append(n)}}}a.$inject=["$compile"],angular.module("smartertools").directive("stInternationalName",a)}();
447!function(){"use strict";n.$inject=["$timeout","MASONRY_REVEAL_FALLBACK_MS"];function n(n,t){return{create:function(e){var o=null,u=null;return e.$on("$destroy",r),{wait:function(l){function a(){r(),l()}r(),o=e.$on("masonry:revealed",a),u=n(a,t)}};function r(){o&&(o(),o=null),u&&(n.cancel(u),u=null)}}}}angular.module("smartertools").constant("MASONRY_REVEAL_FALLBACK_MS",3e3).factory("masonryReveal",n
447)}();
448!function(){"use strict";function n(n,t,r){return{restrict:"EA",transclude:!0,link:function(a,i,e,o,s){var c,d,u,l=!1,m=_.throttle((function(){try{const t=$(c);var n=t.find(".st-angular-masonry-container > :not(st-masonry-item)");n.length>0&&n.each((function(n){var t=$(this),r=$("<st-masonry-item></st-masonry-item>"),a=t.attr("ng-if"),i=t.attr("ng-show");a&&r.attr("ng-if",a),i&&r.attr("ng-show",i),t.wrap(r)}));var r=t.find("st-masonry-item").length,a=t.width(),i=t.find("st-masonry-item > *");if(!i||!i.length)return void h();for(var e=parseInt(t.attr("masonry-width")||i.outerWidth(!1)||400),o=1;;){var s=o+1;if(!(s*e+(20*(s-1)+20)<=a))break;o=s}o>r&&(o=r),o>5&&(o=5);var u=o*e+20*(o-1);if(d&&d.itemWidth===e&&d.masonrySize===u)return;t.find(".st-angular-masonry-container").css("-webkit-column-width",String(e)+"px").css("-moz-column-width",String(e)+"px").css("column-width",String(e)+"px").innerWidth(u).removeClass("st-angular-masonry-container-building"),d={itemWidth:e,masonrySize:u},h()}catch(n){t.error("st-masonry: onWindowResize failed, revealing container anyway",n),h()}}),50,{leading:!1});function y(n){for(var t=0;t<n.length;t++)if(n[t].clientWidth<=300)return!1;return!0}function g(){var n=$(".st-angular-masonry-container md-card:not(.ng-hide)").toArray();n.length&&!y(n)?"undefined"!=typeof ResizeObserver?function n(){var t=$(".st-angular-masonry-container md-card:not(.ng-hide)").toArray();if(y(t))return u&&(u.disconnect(),u=null),void a.$applyAsync(f);u||(u=new ResizeObserver((function(){a.$applyAsync(n)})));t.forEach((function(n){u.observe(n)}))}():r(g,20):f()}function f(){m(),n.$broadcast("masonry:loaded"),-1!==navigator.userAgent.toLowerCase().indexOf("chrome/63")&&($(".st-angular-masonry-container md-input-container .md-input").css("position","static"),r((function(){$(".st-angular-masonry-container md-input-container .md-input").css("position","relative")}),200))}function h(){l||(l=!0,$(".st-angular-masonry-container").css("opacity","1"),a.$applyAsync((function(){n.$broadcast("masonry:revealed")})))}i.append("<div class='st-angular-masonry-container st-angular-masonry-container-building'></div>"),s(a,(function(n){$(".st-angular-masonry-container").css("opacity","0"),i.find(".st-angular-masonry-container").append(n)})),c=i[0],$(c).css("display","block"),angular.element("st-masonry").ready(g),a.$on("masonry:contentsChanged",m),window.addEventListener("resize",m),a.$on("$destroy",(function(){window.removeEventListener("resize",m),u&&(u.disconnect(),u=null)}))}}}n.$inject=["$rootScope","$log","$timeout"],angular.module("smartertools").directive("stMasonry",n)}();
449!function(){function t(t,e,n,o){const a=this;a.htmlContent="",FroalaEditor.DefineIconTemplate("tools_icon",'<i class="toolsicon toolsicon-[NAME]" aria-hidden="true" style="text-align: center !important;"></i>'),FroalaEditor.DefineIcon("send",{NAME:"send",template:"tools_icon"}),FroalaEditor.RegisterCommand("enter",{title:e.instant("SEND"),icon:"send",focus:!1,undo:!1,callback:function(){"function"==typeof a.onSend&&a.onSend()}}),FroalaEditor.DefineIconTemplate("upload",'<i class="toolsicon toolsicon-[NAME] file-upload-btn chat-upload-btn" aria-hidden="true" style="text-align: center !important;"></i>'),FroalaEditor.DefineIcon("attach_file",{NAME:"attach_file",template:"upload"}),FroalaEditor.RegisterCommand("attach",{title:e.instant("ATTACH"),icon:"attach_file",focus:!1,undo:!1,callback:function(){"function"==typeof a.onUpload&&a.onUpload()}});const i=new TurndownService({headingStyle:"atx",codeBlockStyle:"fenced",emDelimiter:"_"});i.addRule("strikethrough",{filter:["del","s","strike"],replacement:function(t){return"~"+t+"~"}}),i.addRule("pre",{filter:"pre",replacement:function(t){return"\n```\n"+t.replace(/'/g,"\\'")+"\n```\n"}});const r=(()=>{var t=e.proposedLanguage()||e.use();if("pt"===(t=t.replace("-","_").toLowerCase()))t+="_pt";return t})();"en"!==r&&(t.append(angular.element(`<script src="${stSiteRoot}interface/output/froala-language/${r}.js"><\/script>`)),n((()=>(t=>{if("en"!==t){"en_gb"===t&&FroalaEditor.LANGUAGE.en_gb&&(FroalaEditor.LANGUAGE.en_gb.translation["Cell Formatting"]="Clear Formatting");var n=FroalaEditor.LANGUAGE[t];n&&n.translation&&(n.translation["Alternate Rows"]=e.instant("FROALA_ALTERNATE_ROWS"),n.translation.Bordered=e.instant("FROALA_BORDERED"),n.translation["Dashed Borders"]=e.instant("FROALA_DASHED_BORDERS"),n.translation.Gray=e.instant("FROALA_GRAY"),n.translation.Highlighted=e.instant("FROALA_HIGHLIGHTED"),n.translation["No Borders"]=e.instant("FROALA_NO_BORDERS"),n.translation.Spaced=e.instant("FROALA_SPACED"),n.translation.Thick=e.instant("FROALA_THICK"),n.translation.Uppercase=e.instant("FROALA_UPPERCASE"))}})(r)))),showdown.extension("strikethrough",(function(){return[{type:"output",regex:/~([^~]+)~/g,replace:function(t,e){return"<s>"+e+"</s>"}}]}));const l=new showdown.Converter({extensions:["strikethrough"]}),s=()=>{a.typingActive=!1,"function"==typeof a.typingEndCallback&&a.typingEndCallback()};let c;const d={":'(":"😢",":'D":"😂","O:)":"😇",">:)":"😈",":|]":"😌",">:(":"😠","</3":"💔",";
449)":"😉",":)":"😊",":(":"☹️ ",":D":"😃",XD:"😆",":P":"😛","B)":"😎",":o":"😮",":O":"😮",":/":"😕",":|":"😐",":*":"😘",":b":"😛",xD:"😆","8-)":"😎",":]":"😊","(:":"😊","D:":"😨",":B":"🤗","0:)":"😇","O.o":"😮",O_O:"😲","<3":"❤️ ",":-*":"😘",":S":"😖",":$":"😳",":@":"😡",":3":"😗","8)":"😎","8|":"😲","8D":"😆","(y)":"👍"},u=t=>{const e=$("<div>").html(t);return e.contents().each((function(){this.nodeType===Node.TEXT_NODE?this.nodeValue=(t=>{for(const[e,n]of Object.entries(d)){const o=e.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1"),a=new RegExp(`(^|\\s)${o}(?=\\s|$)`,"g");t=t.replace(a,n)}return t})(this.nodeValue):this.nodeType===Node.ELEMENT_NODE&&$(this).html(u($(this).html()))})),e.html()};let p;const g=t=>{if(t)p(!1);else{const t=a.getMarkdown();t&&"function"==typeof a.editCompleteCallback&&a.editCompleteCallback({content:t}),clearTimeout(c),a.typingActive&&s()}};function m(t,e){var n=function(){var n=e.type||"image/png",o=new FileReader;o.onload=function(e){var o=new Image;o.onload=function(){var e=300,a=o.width,i=o.height;(a>e||i>e)&&(a>=i?(i=Math.round(i*e/a),a=e):(a=Math.round(a*e/i),i=e));var r=document.createElement("canvas");r.width=a,r.height=i,r.getContext("2d").drawImage(o,0,0,a,i),t.image.insert(r.toDataURL(n),null,null,t.image.get())},o.src=e.target.result},o.readAsDataURL(e)};"function"==typeof a.onImagePasted?a.onImagePasted({file:e,insertFn:function(e){e?t.image.insert(e,null,null,t.image.get()):n()}}):n()}const f={key:"lSA3D-17C2A1A2F1G2B1A2sGXd1WWTDSGXYOUKh1KINLb1OG1g1H-8D1B3D3B3E6D1C1B4F4C3==",attribution:!1,pastePlain:!0,emoticonsUseImage:!1,imageUploadRemoteUrls:!1,toolbarBottom:!0,toolbarButtons:{moreText:{buttons:["emoticons","bold","italic","strikeThrough","paragraphFormat","formatOLSimple","formatUL","clearFormatting",a.disableUpload?"":"attach"],align:"left",buttonsVisible:9},moreParagraph:{buttons:["enter"],align:"right",buttonsVisible:1}},language:r,zIndex:100,listAdvancedTypes:!1,quickInsertEnabled:!1,defaultLineHeight:"0",toolbarSticky:!0,tooltips:!1,heightMin:40,heightMax:160,enter:FroalaEditor.ENTER_P,events:{"image.beforeUpload":function(){return this.popups.hideAll(),!1},keyup:t=>{32!==t.keyCode&&13!==t.keyCode&&9!==t.keyCode&&(clearTimeout(c),c=setTimeout(s,5e3),a.typingActive||("function"==typeof a.typingStartCallback&&a.typingStartCallback(),a.typingActive=!0))},blur:()=>{clearTimeout(c),a.typingActive&&s()},"charCounter.exceeded":()=>{const t=JSON.stringify({count:a.editor.opts.charCounterMax});o.report({message:a.editor.opts.charCounterMax?"MAX_CHARACTER_COUNT_EXCEEDED_SHOW_LIMIT |"+t:"MAX_CHARACTER_COUNT_EXCEEDED |"+t})}},charCounterCount:!1,wordCounterCount:!1};a.froalaOptions=f,this.$onInit=function(){a.froalaOptions=angular.extend({},f,a.options)},a.initEditor=t=>{a.froalaOptions.events.initialized=()=>{a.editor=t.getEditor(),p=a.editor.cursor.enter,a.editor.cursor.enter=g,a.contentScope=a.params,a.editor.el.addEventListener("paste",(function(t){var e=t.clipboardData&&t.clipboardData.items;if(e)for(var n=0;n<e.length;n++)if("file"===e[n].kind&&/^image\/(?:jpeg|png|gif|webp|bmp)/i.test(e[n].type)){var o=e[n].getAsFile();if(o)return t.preventDefault(),void m(a.editor,o)}}),!0)},t.initialize()},a.params={get markdown(){return a.getMarkdown()},set markdown(t){if(t){const e=l.makeHtml(t);a.setHtml(e||"")}else a.setHtml("")},get html(){return u(a.editor.html.get())},set html(t){a.setHtml(t)}
449},a.setHtml=t=>{a.editor&&a.editor.html?a.editor.html.set(t):a.htmlContent=t},a.getMarkdown=()=>{if(!a.editor||!a.editor.html)return a.htmlContent;const t=u(a.editor.html.get());return i.turndown(t)}}t.$inject=["$element","$translate","$timeout","errorHandling"],angular.module("smartertools").component("stMdEditor",{controller:t,bindings:{options:"<",editCompleteCallback:"&",typingStartCallback:"&",typingEndCallback:"&",contentScope:"=?",onSend:"&",onUpload:"&",disableUpload:"&",onImagePasted:"&?"},template:' <textarea froala="$ctrl.froalaOptions" \n\t\t\tng-model="$ctrl.htmlContent" froala-init="$ctrl.initEditor(initControls)"></textarea>'})}();
450!function(){"use strict";angular.module("smartertools").directive("stMobileMenuContainer",(function(){return{restrict:"E",transclude:!0,scope:{templateUrl:"@",ngClass:"@"},template:'<div id="st-mobile-menu-container" ng-cloak ng-class="ngClass"><div id="st-mobile-menu-content" ng-include="templateUrl"></div></div>'}}))}();
451!function(){function a(a,e){return{restrict:"EA",transclude:!0,scope:{location:"@",icon:"@",tooltip:"@",type:"@",menuClass:"@",chatStatus:"=",counterValue:"=",avatarUrl:"=",avatarName:"=",test:"@"},link:function(a,t,n){a.itemClass="","avatar"==n.type||"avatarmenu"==n.type||"avatar-logout"==n.type?a.itemClass="menu-item-top":(n.type,a.itemClass="menu-item"),n.itemClass&&n.itemClass!=a.itemClass&&(a.itemClass+=" "+n.itemClass),a.active=a.location===e.current.name},template:function(a,t){var e=t.type;switch(e){case"avatar":var n=void 0!==t.counterValue?'<span class="badge menu-badge-wrapper over-avatar" ng-show="counterValue && counterValue <= 99">{{counterValue}}</span><span class="badge menu-badge-wrapper over-avatar" ng-show="counterValue && counterValue > 99">99+</span>':"",s=void 0!==t.chatStatus?"<div ng-show=\"chatStatus === 'available' || chatStatus === 'away' || chatStatus === 'dnd'\" class=\"chat-status-icon overlay status-{{chatStatus}}\"></div>":"";return'<li type="'+e+'" ui-sref-active="active" class="{{::itemClass}} first-menu-item" ng-class="::{\'active\': active}" ng-cloak><a ui-sref="{{::location}}"><md-tooltip md-autohide md-direction="{{tooltipPositon}}"><span translate="{{::tooltip}}"></span></md-tooltip><st-avatar-icon element-id="menu-pic-'+Math.floor(100*Math.random())+'" class="img-circle user-picture" name="avatarName" image-url="avatarUrl" width="41" height="41">'+n+s+'</st-avatar-icon><span class="inline-menu-text" translate="{{::tooltip}}"></span></a></li>';case"avatar-logout":n=void 0!==t.counterValue?'<span class="mobile-menu-inline-badge" ng-show="counterValue && counterValue <= 999">{{counterValue}}</span><span class="mobile-menu-inline-badge" ng-show="counterValue && counterValue > 999">999+</span>':"",s=void 0!==t.chatStatus?"<div ng-show=\"chatStatus === 'available' || chatStatus === 'away' || chatStatus === 'dnd'\" class=\"chat-status-icon overlay status-{{chatStatus}}\"></div>":"";return'<li type="'+e+'" class="{{::itemClass}}" ng-cloak ng-disabled="true"><div class="avatar-logout"><md-tooltip md-autohide md-direction="{{tooltipPositon}}"><span translate="{{::tooltip}}"></span></md-tooltip><st-avatar-icon element-id="menu-pic-'+Math.floor(100*Math.random())+'" class="img-circle user-picture" name="avatarName" image-url="avatarUrl" width="41" height="41">'+s+'</st-avatar-icon><div><span class="inline-menu-text" style="cursor: default;">{{avatarName}}</span> </div><div class="mobile-menu-item-top"><span class="inline-menu-logout" ng-click="$parent.$parent.vm.Logout()">{{::"LOGOUT"|translate}}</span><span class="inline-menu-middle-pipe">  |  </span><span class="inline-menu-text-notifications" ng-click="$parent.$parent.vm.openNotifications();">{{::"NOTIFICATIONS"|translate}} </span>'+n+"</div></div></li>";default:return'<li ui-sref-active="active" class="{{::itemClass}}" ng-class="::{\'active\': active}" ng-cloak><a ui-sref="{{::location}}"><md-tooltip md-autohide md-direction="{{tooltipPositon}}"><span translate="{{::tooltip}}"></span></md-tooltip><i class="toolsicon toolsicon-{{::icon}}"></i>'+(n=void 0!==t.counterValue?'<span class="menu-badge-wrapper" ng-show="counterValue && counterValue <= 999">{{counterValue}}</span><span class="menu-badge-wrapper" ng-show="counterValue && counterValue > 999">999+</span>
451':"")+'<span class="inline-menu-text" translate="{{::tooltip}}"></span></a></li>';case"itemclickable":return'<li type="'+e+'" class="{{::itemClass}}" ng-cloak><a href=""><md-tooltip md-autohide md-direction="{{tooltipPositon}}"><span translate="{{::tooltip}}"></span></md-tooltip><i class="toolsicon toolsicon-{{::icon}}"></i>'+(n=void 0!==t.counterValue?'<span class="menu-badge-wrapper" ng-show="counterValue && counterValue <= 999">{{counterValue}}</span><span class="menu-badge-wrapper" ng-show="counterValue && counterValue > 999">999+</span>':"")+'<span class="inline-menu-text" translate="{{::tooltip}}"></span></a></li>';case"menu":return'<li ui-sref-active="active" class="{{::itemClass}}" ng-class="::{\'active\': active}"><md-menu md-offset="60 7"><a ng-click="$mdMenu.open($event)"><md-tooltip md-autohide md-direction="{{tooltipPositon}}"><span translate="{{::tooltip}}"></span></md-tooltip><i class="toolsicon toolsicon-{{::icon}}"></i><span class="inline-menu-text" translate="{{::tooltip}}"></span></a><md-menu-content class="{{::menuClass}}" ng-transclude></md-menu-content></md-menu></li>';case"avatarmenu":n=void 0!==t.counterValue?'<span class="badge menu-badge-wrapper over-avatar" ng-show="counterValue && counterValue <= 99">{{counterValue}}</span><span class="badge menu-badge-wrapper over-avatar" ng-show="counterValue && counterValue > 99">99+</span>':"",s=void 0!==t.chatStatus?"<div ng-show=\"chatStatus === 'available' || chatStatus === 'away' || chatStatus === 'dnd'\" class=\"chat-status-icon overlay status-{{chatStatus}}\"></div>":"";return'<li type="'+e+'" ui-sref-active="active" class="{{::itemClass}}" ng-class="::{\'active\': active}"><md-menu md-offset="60 7"><a ng-click="$mdMenu.open($event)"><md-tooltip md-autohide md-direction="{{tooltipPositon}}"><span translate="{{::tooltip}}"></span></md-tooltip><st-avatar-icon element-id="menu-pic-'+Math.floor(100*Math.random())+'" class="img-circle user-picture" name="avatarName" image-url="avatarUrl" width="41" height="41">'+n+s+'</st-avatar-icon><span class="inline-menu-text" translate="{{::tooltip}}"></span></a><md-menu-content class="{{::menuClass}}" ng-transclude></md-menu-content></md-menu></li>'}},controller:t}}function t(a,t){function e(){var t=$("body[dir=rtl]").length>0;a.tooltipPositon=t?"left":"right"}e(),a.$on("locale:changed",e)}a.$inject=["$log","$state"],t.$inject=["$scope","$timeout"],angular.module("smartertools").directive("stMobileMenuListItem",a)}();
452!function(){"use strict";function t(t,e,o,n){}t.$inject=["$rootScope","$scope","$timeout","$log"],angular.module("smartertools").directive("stMobileMenu",(function(){return{restrict:"E",transclude:!0,template:'<ul id="st-mobile-menu-list" ng-transclude ng-cloak></ul>',controller:t}}))}();
453"use strict";angular.module("smartertools").directive("stPager",["$filter",function(t){return{restrict:"E",replace:!0,scope:{itemsPerPage:"=",totalItems:"=",currentPage:"="},link:function(t,e,n){t.userInput=t.currentPage,t.changePage=function(){0!=t.totalPages?(t.userInput>t.totalPages?t.userInput=t.totalPages:t.userInput<1&&(t.userInput=1),t.currentPage=t.userInput):t.userInput=0},t.totalPages=1,t.setTotalPages=function(){t.totalPages=Math.ceil(t.totalItems/t.itemsPerPage),0==t.totalPages?t.userInput=0:0==t.userInput&&(t.userInput=1)},t.firstPage=function(){t.currentPage=1,t.userInput=t.currentPage},t.movePage=function(e){t.userInput=parseInt(t.userInput,10);var n=t.userInput+parseInt(e,10);
453n<0?(t.userInput=1,t.currentPage=1):n>t.totalPages?(t.userInput=t.totalPages,t.currentPage=t.totalPages):(t.userInput=n,t.currentPage=n)},t.lastPage=function(){t.currentPage=t.totalPages},t.keyup=function(e){if(27==(e.which?e.which:e.keyCode))return t.userInput=t.currentPage,$(e.target).blur(),e.preventDefault(),!1},t.keyPressed=function(t){var e=t.which?t.which:t.keyCode;return 13==e||27==e||3==e?($(t.target).blur(),!0):!(e>31&&(e<48||e>57))||(t.preventDefault(),!1)},t.noPaste=function(t){t.preventDefault()},t.selectText=function(t){$(t.target).select()},t.resize=function(){var e=10,n=20;if(Number.isFinite(parseFloat(t.userInput)))for(;e<=t.userInput;)n+=10,e*=10;$("#inputPager-"+t.$id).css("width",n+"px")},t.$watch((function(t){return t.userInput}),t.resize),t.$watch((function(t){return t.currentPage}),(function(e,n){t.userInput=t.currentPage})),t.$watch((function(t){return t.totalItems}),(function(e,n){t.setTotalPages()}))},template:'<div class="st-pager"><div class="st-pager-buttons"><button id="btnFirstPage-{{::$id}}" ng-click="firstPage()" type="button" ng-disabled="currentPage == 1 || totalPages == 0"><i class="toolsicon toolsicon-first_page"></i></button><button id="btnPageBack-{{::$id}}" ng-click="movePage(-1)" type="button" ng-disabled="currentPage == 1 || totalPages == 0"><i class="toolsicon toolsicon-keyboard_arrow_left"></i></button><div class="st-pager-info"><input id="inputPager-{{::$id}}" ng-click="selectText($event)" ng-keyup="keyup($event)" ng-keypress="keyPressed($event)" ng-paste="noPaste($event)" ng-model="userInput" ng-blur="changePage()"/><span>{{::"OF" | translate}}</span><span>{{totalPages}}</span></div><button id="btnPageForward-{{::$id}}" ng-click="movePage(1)" type="button" ng-disabled="currentPage == totalPages || totalPages == 0"><i class="toolsicon toolsicon-keyboard_arrow_right"></i></button><button id="btnLastPage-{{::$id}}" ng-click="lastPage()" type="button" ng-disabled="currentPage == totalPages || totalPages == 0"><i class="toolsicon toolsicon-last_page"></i></button></div></div>'}}]);
454!function(){"use strict";function e(e,s,r,a,t,n,d,i,l){return{restrict:"EA",scope:{passwordReqApi:"@",newPasswordId:"@",usernameId:"@",username:"=?",passwordMeetsReq:"=",disabledChecks:"=?",fullChecks:"=?"},template:'            <div class="password-req-list">\t\t\t<div class="pass-req-title" ng-if="requirements.length > 0" translate-once="PASSWORD_REQUIREMENTS_TITLE">test</div>\t\t\t<div class="pass-requirement" ng-repeat="r in requirements" id="{{r.id}}" ng-class="{\'req-meets-true\': (r.met === true), \'req-meets-false\': (r.met === false)}" ng-bind-html="r.name"><div class="req-circle"></div></div>            </div>',link:function(e,a,t,d){e.useDefinedUsername=angular.isDefined(e.username),e.username=e.useDefinedUsername?e.username:"",e.fullChecks=!!angular.isDefined(e.fullChecks)&&e.fullChecks,e.password="",e.defer=r.defer();var m=null,u=$(".password-req-list");u&&u.injector()||(u=$("body")),u.injector().has("userDataService")&&(m=u.injector().get("userDataService")),e.requirements=[],e.$on("passwordCheckCallback",(function(e,s){s&&s.data&&s.data.message&&(s.data.message.indexOf("PASSWORD_RESET_REQUIRE_NOT_USED_PREVIOUSLY")>-1?($("#NOT_PREVIOUSLY_USED").addClass("req-meets-false"),$("#NOT_PREVIOUSLY_USED").removeClass("req-meets-true")):($("#NOT_PREVIOUSLY_USED").removeClass("req-meets-false"),$("#NOT_PREVIOUSLY_USED").addClass("req-meets-true")),s.data.message.indexOf("PASSWORD_RESET_REQUIRE_COMMON")>-1?($("#NOT_COMMON").addClass("req-meets-false"),$("#NOT_COMMON").removeClass("req-meets-true")):($("#NOT_COMMON").removeClass("req-meets-false"),$("#NOT_COMMON").addClass("req-meets-true")))}));const E=l.getPasswordRequirements();function O(s){e.username=e.useDefinedUsername?e.username:m.user.username,!s.data.reqCapital||e.disabledChecks&&!1===e.disabledChecks.reqCapital||e.requirements.push({id:"UPPERCASE",name:n("translate")("PASSWORD_REQUIREMENTS_UPPERCASE"),regex:/(?=.*[A-Z])/,met:!1}),!s.data.reqLower||e.disabledChecks&&!1===e.disabledChecks.reqLower||e.requirements.push({id:"LOWERCASE",name:n("translate")("PASSWORD_REQUIREMENTS_LOWERCASE"),regex:/(?=.*[a-z])/,met:!1}),!s.data.reqNotUsername||!m||e.disabledChecks&&!1===e.disabledChecks.reqNotUsername||e.requirements.push({id:"NOT_USERNAME",name:n("translate")("PASSWORD_REQUIREMENTS_NOT_USERNAME"),regex:new RegExp("^((?!"+e.username+").)*$","i"),met:!1,username:!0}),!s.data.reqNumber||e.disabledChecks&&!1===e.disabledChecks.reqNumber||e.requirements.push({id:"NUMBER",name:n("translate")("PASSWORD_REQUIREMENTS_NUMBER"),regex:/(?=.*[0-9])/,met:!1}),!s.data.reqSymbol||e.disabledChecks&&!1===e.disabledChecks.reqSymbol||e.requirements.push({id:"SYMBOL",name:n("translate")("PASSWORD_REQUIREMENTS_SYMBOL"),regex:/(?=.*[^a-zA-Z\d\s:])/,met:!1}),s.data.reqLength>0&&(!e.disabledChecks||!1!==e.disabledChecks.reqLength)&&e.requirements.push({id:"LENGTH",name:n("translate")("PASSWORD_REQUIREMENTS_LENGTH",{length:s.data.reqLength}),regex:new RegExp("^.{"+s.data.reqLength+",}$"),met:!1}),!e.fullChecks||!s.data.reqNotCommon||e.disabledChecks&&!1===e.disabledChecks.reqNotCommon||e.requirements.push({id:"NOT_COMMON",name:n("translate")("PASSWORD_REQUIREMENTS_NOT_COMMON"),regex:null,met:null}),!e.fullChecks||!s.data.reqNotPreviouslyUsed||e.disabledChecks&&!1===e.disabledChecks.reqNotPreviouslyUsed||e.requirements.push({id:"NOT_PREVIOUSLY_USED",name:n("translate")("PASSWORD_REQUIREMENTS_NOT_PREVIOUSLY_USED"),regex:null,met:null}),0!==e.requirements.length?($(e.usernameId).on("input",(function(s){$("#NOT_COMMON").hasClass("req-meets-false")&&$("#NOT_COMMON").removeClass("req-meets-false"),$("#NOT_PREVIOUSLY_USED").hasClass("req-meets-false")&&$("#NOT_PREVIOUSLY_USED").removeClass("req-meets-false");var r=e.password;
454if(""===r)return e.passwordMeetsReq=!1,e.requirements.forEach((function(e){e.met=!1})),void e.$apply();var a=!0;e.requirements.forEach((function(s){var t=e.useDefinedUsername?e.username:m.user.username;s.username?((t=t?t.split("@"):[])[0]&&(t=t[0]),s.regex=new RegExp("^"+t+"$","i"),s.met=!s.regex.test(r),s.met&&(s.regex=new RegExp("^"+e.username+"$","i"),s.met=!s.regex.test(r))):s.regex&&(s.met=s.regex.test(r)),!1===s.met&&a&&"NOT_COMMON"!==s.id&&"NOT_PREVIOUSLY_USED"!==s.id&&(a=!1)})),e.passwordMeetsReq!==a&&(e.passwordMeetsReq=a),e.$apply()})),$(e.newPasswordId).on("input",(function(s){$("#NOT_COMMON").hasClass("req-meets-false")&&$("#NOT_COMMON").removeClass("req-meets-false"),$("#NOT_PREVIOUSLY_USED").hasClass("req-meets-false")&&$("#NOT_PREVIOUSLY_USED").removeClass("req-meets-false");var r=$(this).val();if(e.password=$(this).val(),""===r)return e.passwordMeetsReq=!1,e.requirements.forEach((function(e){e.met=!1})),void e.$apply();var a=!0;e.requirements.forEach((function(s){var t=e.useDefinedUsername?e.username:m.user.username;s.username?((t=t?t.split("@"):[])[0]&&(t=t[0]),s.regex=new RegExp("^"+t+"$","i"),s.met=!s.regex.test(r),s.met&&(s.regex=new RegExp("^"+e.username+"$","i"),s.met=!s.regex.test(r))):s.regex&&(s.met=s.regex.test(r)),!1===s.met&&a&&"NOT_COMMON"!==s.id&&"NOT_PREVIOUSLY_USED"!==s.id&&(a=!1)})),e.passwordMeetsReq!==a&&(e.passwordMeetsReq=a),e.$apply()}))):e.passwordMeetsReq=!0}E?O({data:E}):s.get(e.passwordReqApi).then(O,i.report)}}}e.$inject=["$compile","$http","$q","$log","$timeout","$filter","$translate","errorHandling","authStorage"],angular.module("smartertools").directive("stPasswordRequirements",e)}();
455!function(){"use strict";function e(e,t){return{restrict:"C",transclude:!0,link:function(i,n,r,o,s){const a=n.attr("min-width")||220,d=n.attr("max-width")||600;if(void 0===n.attr("no-resize")){s(i,(function(e){n.append(e);var t=n.find(".tree-list-container");(t=t.length>0?t:n.find(".admin-side-menu")).wrap('<div class="resizable-container"></div>'),n.find(".resizable-container").append('<div class="tree-resize-handle"></div>')}));var l={},c=$(".slide-panel-wrapper .slide-panel");if(0==n.find(".resizable-container").length)return c.css("min-width","250px"),void c.css("max-width","250px");localStorage.slidePanelSize&&(c.css("min-width",localStorage.slidePanelSize),c.css("max-width",localStorage.slidePanelSize)),n.find(".tree-resize-handle").on("mousedown",(function(e){e.preventDefault();var t=$("body[dir=RTL]");l.rtl=t&&t.length>0,$("body").append('<div class="resize-cover"></div>'),l.startX=e.clientX,l.startWidth=Number(c.css("min-width").replace("px","")),window.addEventListener("mousemove",v),window.addEventListener("mouseup",m)})),i.$on("$destroy",(function(){$(".resize-cover").remove(),window.removeEventListener("mousemove",v),window.removeEventListener("mouseup",m)}))}else s(i,(function(e){n.append(e)}));function v(e){var i;e.preventDefault(),(i=(i=l.rtl?l.startWidth+(l.startX-e.clientX):l.startWidth+(e.clientX-l.startX))<a?a:i>d?d:i)!=l.prevWidth&&(l.prevWidth=i,c.css("min-width",i+"px"),c.css("max-width",i+"px"),l.triggerResizeTimeout||(l.triggerResizeTimeout=t(u,20)))}function m(e){e.preventDefault(),$(".resize-cover").remove(),window.removeEventListener("mousemove",v),window.removeEventListener("mouseup",m),localStorage.slidePanelSize=c.css("min-width")}function u(){$(window).trigger("resize"),e.$broadcast("masonry:contentsChanged"),i.correctTopBarWidth&&i.correctTopBarWidth(),i.listController&&i.listController.refresh(),l.triggerResizeTimeout=void 0}}}}e.$inject=["$rootScope","$timeout"],angular.module("smartertools").directive("slidePanel",e)}();
456!function(){"use strict";function e(e,t,o){return{restrict:"EA",scope:{searchText:"=",alwaysShowClearIcon:"=",onSearch:"&",onClosedWhenEmpty:"&",ngDisabled:"="},link:function(e,n){e.placeholder=t.instant("SEARCH"),e.keyDown=function(t){var n=t.which?t.which:t.keyCode;return 27===n&&(e.searchText="",o((function(){e.onSearch(),$("#searchBoxText").blur()})),t.preventDefault()),13!==n&&3!==n||(e.onSearch(),$("#searchBoxText").blur(),t.preventDefault()),!0},e.clearText=function(){const t=""===e.searchText||null===e.searchText;e.searchText="",o((function(){e.onSearch(),$("#searchBoxText").trigger("focus"),t&&e.onClosedWhenEmpty()}))}},template:"<div class='st-search-box'><button class='search-mag-btn' type='submit' ng-click='onSearch()'><i class='toolsicon toolsicon-search'></i></button><input name='search' id='searchBoxText' placeholder='{{placeholder}}' ng-model='searchText' ng-keydown='keyDown($event)' autocomplete='off' ng-focus='onFocused()' ng-blur='onBlurred()'/><button class='search-close-btn' type='button' ng-click='clearText()' ng-show='searchText || alwaysShowClearIcon'><i class='toolsicon toolsicon-close'></i></button></div>"}}e.$inject=["$filter","$translate","$timeout"],angular.module("smartertools").directive("stSearchBox",e)}();
457!function(){"use strict";function e(e,t){var n=this;function l(e){n.selectMode=e,n.selectedItems&&0!=n.deselectOnCancel&&(n.onDeselectAll?n.onDeselectAll():n.selectedItems.splice(0,n.selectedItems.length))}n.setSelectMode=l,n.toggleSelectMode=function(){l(!n.selectMode)}}e.$inject=["$log","$translate"],angular.module("smartertools").component("stSelectMenu",{template:"\n            <md-menu ng-show='!$ctrl.
457selectMode' class='select-menu' md-position-mode='target-left bottom' md-offset='-2 0'>\n                <div class=\"split-menu\">\n                    <md-button ng-click='$mdMenu.open($event)' class='select-menu-button md-secondary' aria-label='menu'>                    \n                        <span ng-show='$ctrl.selectedItems.length > 1'>\n                            {{'X_SELECTED' | reactPluralizeWithCommas : {count:$ctrl.selectedItems.length} }}\n                        </span>\n                        <span ng-show='$ctrl.selectedItems.length <= 1' translate-once='SELECT'></span>\n                        <i class='toolsicon toolsicon-arrow_drop_down_emphasis'></i>\n                    </md-button>\n                </div>\n                <md-menu-content class='standard'>\n                    <md-menu-item><md-button ng-click='$ctrl.onSelectAll()' aria-label='select all'>{{::'SELECT_ALL'|translate}}</md-button></md-menu-item>\n                    <md-menu-item><md-button ng-click='$ctrl.onDeselectAll()' aria-label='deselect all'>{{::'DESELECT_ALL'|translate}}</md-button></md-menu-item>\n                    <md-divider></md-divider>\n                    <md-menu-item><md-button ng-click='$ctrl.toggleSelectMode()' aria-label='toggle select mode'>{{::'ENABLE_SELECT_MODE'|translate}}</md-button></md-menu-item>\n                    <ng-transclude></ng-transclude>\n                </md-menu-content>\n            </md-menu>\n            <md-menu ng-show='$ctrl.selectMode' class='select-menu' md-position-mode='target-left bottom' md-offset='-2 0'>\n                <div class='split-menu'>\n                    <md-button ng-click='$mdMenu.open($event)' class='select-menu-button md-primary reply-button' aria-label='menu'>\n                        <span>{{'X_SELECTED' | reactPluralizeWithCommas : {count:$ctrl.selectedItems.length} }}</span>\n                        <i class='toolsicon toolsicon-arrow_drop_down_emphasis'></i>\n                    </md-button>\n                    <md-button ng-click='$ctrl.setSelectMode(false)' class='md-primary reply-menu' aria-label='clear'>\n                        <i class='toolsicon toolsicon-close'></i>\n                    </md-button>\n                </div>\n                <md-menu-content class='standard'>\n                    <md-menu-item><md-button ng-click='$ctrl.onSelectAll()' aria-label='select all'>{{::'SELECT_ALL'|translate}}</md-button></md-menu-item>\n                    <md-menu-item><md-button ng-click='$ctrl.onDeselectAll()' aria-label='deselect all'>{{::'DESELECT_ALL'|translate}}</md-button></md-menu-item>\n                    <ng-transclude></ng-transclude>\n                </md-menu-content>\n            </md-menu>\n            ",controller:e,transclude:!0,bindings:{selectMode:"=",selectedItems:"=",onSelectAll:"&",onDeselectAll:"&",deselectOnCancel:"="}})}();
458!function(){"use strict";angular.module("smartertools").directive("stSideMenuContainer",(function(){return{restrict:"E",transclude:!0,scope:{templateUrl:"@",ngClass:"@"},template:'<div id="st-side-menu-container" ng-cloak ng-class="ngClass"><div id="st-side-menu-content" ng-include="templateUrl"></div></div>'}}))}();
459!function(){function a(a,e){return{restrict:"EA",transclude:!0,scope:{location:"@",icon:"@",tooltip:"@",type:"@",menuClass:"@",chatStatus:"=",counterValue:"=",avatarUrl:"=",avatarName:"=",test:"@"},link:function(a,t,n){a.itemClass="","avatar"==n.type||"avatarmenu"==n.type?a.itemClass="menu-item-top":(n.type,a.itemClass="menu-item"),n.itemClass&&n.itemClass!=a.itemClass&&(a.itemClass+=" "+n.itemClass),a.active=a.location===e.current.name},template:function(a,t){var e=t.type;switch(e){case"avatar":var n=void 0!==t.counterValue?'<span class="badge menu-badge-wrapper over-avatar" ng-show="counterValue && counterValue <= 99">{{counterValue}}</span><span class="badge menu-badge-wrapper over-avatar" ng-show="counterValue && counterValue > 99">99+</span>':"",s=void 0!==t.chatStatus?"<div ng-show=\"chatStatus === 'available' || chatStatus === 'away' || chatStatus === 'dnd'\" class=\"chat-status-icon overlay status-{{chatStatus}}\"></div>":"";return'<li type="'+e+'" ui-sref-active="active" class="{{::itemClass}}" ng-class="::{\'active\': active}" ng-cloak><a ui-sref="{{::location}}"><md-tooltip md-autohide md-direction="{{tooltipPositon}}"><span translate="{{::tooltip}}"></span></md-tooltip><st-avatar-icon element-id="menu-pic-'+Math.floor(100*Math.random())+'" class="img-circle user-picture" name="avatarName" image-url="avatarUrl" width="41" height="41">'+n+s+'</st-avatar-icon>
459<span class="inline-menu-text" translate="{{::tooltip}}"></span></a></li>';default:return'<li ui-sref-active="active" class="{{::itemClass}}" ng-class="::{\'active\': active}" ng-cloak><a ui-sref="{{::location}}"><md-tooltip md-autohide md-direction="{{tooltipPositon}}"><span translate="{{::tooltip}}"></span></md-tooltip><i class="toolsicon toolsicon-{{::icon}}"></i>'+(n=void 0!==t.counterValue?'<span class="menu-badge-wrapper" ng-show="counterValue && counterValue <= 999">{{counterValue}}</span><span class="menu-badge-wrapper" ng-show="counterValue && counterValue > 999">999+</span>':"")+'<span class="inline-menu-text" translate="{{::tooltip}}"></span></a></li>';case"materialIcon":return'<li ui-sref-active="active" class="{{::itemClass}}" ng-class="::{\'active\': active}" ng-cloak><a ui-sref="{{::location}}"><md-tooltip md-autohide md-direction="{{tooltipPositon}}"><span translate="{{::tooltip}}"></span></md-tooltip><i class="material-icons">{{::icon}}</i>'+(n=void 0!==t.counterValue?'<span class="menu-badge-wrapper" ng-show="counterValue && counterValue <= 999">{{counterValue}}</span><span class="menu-badge-wrapper" ng-show="counterValue && counterValue > 999">999+</span>':"")+'<span class="inline-menu-text" translate="{{::tooltip}}"></span></a></li>';case"itemclickable":return'<li type="'+e+'" class="{{::itemClass}}" ng-cloak><a href=""><md-tooltip md-autohide md-direction="{{tooltipPositon}}"><span translate="{{::tooltip}}"></span></md-tooltip><i class="toolsicon toolsicon-{{::icon}}"></i>'+(n=void 0!==t.counterValue?'<span class="menu-badge-wrapper" ng-show="counterValue && counterValue <= 999">{{counterValue}}</span><span class="menu-badge-wrapper" ng-show="counterValue && counterValue > 999">999+</span>':"")+'<span class="inline-menu-text" translate="{{::tooltip}}"></span></a></li>';case"menu":return'<li ui-sref-active="active" class="{{::itemClass}}" ng-class="::{\'active\': active}"><md-menu md-offset="60 7"><a ng-click="$mdMenu.open($event)"><md-tooltip md-autohide md-direction="{{tooltipPositon}}"><span translate="{{::tooltip}}"></span></md-tooltip><i class="toolsicon toolsicon-{{::icon}}"></i><span class="inline-menu-text" translate="{{::tooltip}}"></span></a><md-menu-content class="{{::menuClass}}" ng-transclude></md-menu-content></md-menu></li>';case"avatarmenu":n=void 0!==t.counterValue?'<span class="badge menu-badge-wrapper over-avatar" ng-show="counterValue && counterValue <= 99">{{counterValue}}</span><span class="badge menu-badge-wrapper over-avatar" ng-show="counterValue && counterValue > 99">99+</span>':"",s=void 0!==t.chatStatus?"<div ng-show=\"chatStatus === 'available' || chatStatus === 'away' || chatStatus === 'dnd'\" class=\"chat-status-icon overlay status-{{chatStatus}}\"></div>":"";return'<li type="'+e+'" ui-sref-active="active" class="{{::itemClass}}" ng-class="::{\'active\': active}"><md-menu md-offset="60 7"><a ng-click="$mdMenu.open($event)" class="avatar-menu-link"><md-tooltip md-autohide md-direction="{{tooltipPositon}}"><span translate="{{::tooltip}}"></span></md-tooltip><st-avatar-icon element-id="menu-pic-'+Math.floor(100*Math.random())+'" class="img-circle user-picture" name="avatarName" image-url="avatarUrl" width="41" height="41">'+n+s+'</st-avatar-icon><span class="inline-menu-text" translate="{{::tooltip}}"></span></a><md-menu-content class="{{::menuClass}}" ng-transclude></md-menu-content></md-menu></li>'}},controller:t}}function t(a,t){function e(){var t=$("body[dir=rtl]").length>0;a.tooltipPositon=t?"left":"right"}e(),a.$on("locale:changed",e)}a.$inject=["$log","$state"],t.$inject=["$scope","$timeout"],angular.module("smartertools").directive("stSideMenuListItem",a)}();
460!function(){"use strict";function e(e,t,o){var i={};function n(t){if(t.originalEvent.wheelDelta){var o=t.originalEvent.wheelDelta;e.move(o)}else if(t.originalEvent.deltaY){o=-1*t.originalEvent.deltaY;1==t.originalEvent.deltaMode?o=-1*t.originalEvent.deltaY*e.itemHeight:2==t.originalEvent.deltaMode&&(o=-1*t.originalEvent.deltaY*e.itemHeight*3),e.move(o)}return!1}function s(){$("#st-side-menu-list");var o=$("#st-side-menu-container"),i=$(".scroll-top"),n=o.innerHeight(),l=i.innerHeight();if(n&&l){if(n<=100&&e.resizeCount<2)return e.resizeCount++,void t(s,500);e.resizeCount=0,e.buttonHeight=$(".scroll-top").height(),e.topItemHeight=$(".menu-item-top").height(),e.itemHeight=$(".menu-item").height(),r(!0)}else t(s,200)}function l(e){if("touchstart"==e.type){var t=e.originalEvent.targetTouches[0];i={identifier:t.identifier,pageY:Math.round(t.pageY)}}else{"touchmove"==e.type&&e.preventDefault();for(var o=0;o<e.originalEvent.changedTouches.length;o++)if(i.identifier==e.originalEvent.changedTouches[o].identifier){var n=i.pageY,s=Math.round(e.originalEvent.changedTouches[o].pageY),l=s-n;i.pageY=s,a(l,!0)}}}function r(t){var o=$("#st-side-menu-container").innerHeight(),i=$("#st-side-menu-list").height();e.offsetY<0&&(e.offsetY=0);var n=Math.max(0,i-o);if(e.offsetY>n&&(e.offsetY=n),e.offsetY>0){var s=o;i+e.offsetY<s&&(e.offsetY=i-s)}var l=e.offsetY>0,r=e.offsetY<n;e.$evalAsync((function(){var o=-1*e.offsetY;e.showUp=l,e.showDown=r,t?$("#st-side-menu-list").css("top",o):$("#st-side-menu-list").animate({top:o},{duration:50,queue:!1})}
460))}function a(t,o){e.offsetY-=t,r(o)}e.showUp=!1,e.showDown=!1,e.topItemHeight=0,e.itemHeight=0,e.buttonHeight=0,e.resizeCount=0,e.offsetY=0,e.move=a,e.upClicked=function(){var t=e.offsetY<=e.topItemHeight?e.topItemHeight:e.itemHeight;e.move(t)},e.downClicked=function(){var t=0==e.offsetY?e.topItemHeight-e.buttonHeight:e.itemHeight;e.move(-1*t)},function(){s(),$(window).on("resize",(function(){e.$evalAsync(s)}));var t=$("#st-side-menu-container");t.on("mousewheel wheel",n),t.on("touchstart touchmove touchend",l),e.$on("$destroy",(function(e){t.off("mousewheel wheel",n),t.off("touchstart touchmove touchend",l)}))}()}e.$inject=["$scope","$timeout","$log"],angular.module("smartertools").directive("stSideMenu",(function(){return{restrict:"E",transclude:!0,template:'<md-button class="md-primary scroll-buttons scroll-top" ng-click="upClicked()" ng-show="showUp" aria-label="scroll"><i class="toolsicon toolsicon-flat-arrow-up"></i></md-button><ul id="st-side-menu-list" ng-transclude ng-cloak></ul><md-button class="md-primary scroll-buttons scroll-bottom" ng-click="downClicked()" ng-show="showDown" aria-label="scroll"><i class="toolsicon toolsicon-flat-arrow-down"></i></md-button>',controller:e}}))}();
461!function(){"use strict";function t(t,e,n){i.$inject=["$scope","$element"];var a={};return{restrict:"C",priority:1002,compile:function(t,n){var i=e.requestSwitcher(),o=i.id;const r="tableSwitchCtrl"+o;a[o]={optionalColumns:{},switcher:i},t.find("table").attr("ng-table-columns-binding",`${r}.columnSwitching.cols`),t.find("table td:not(.select-box)").not("[ng-repeat]").attr("ng-if","true"),t.find("table td:not(.select-box)[ng-repeat]").attr("ng-if",`${r}.columnSwitching.cols[$index].show()`),t.find("table td.select-box").length>0&&i.setFirstColumn(1);t.append(`\n                <span class="chevron" ng-click="${r}.columnSwitching.prev()" ng-show="${r}.columnSwitching.showLeftChevron">\n                    <i class="toolsicon toolsicon-keyboard_arrow_left"></i>\n                </span>\n                <span class="chevron chevron-right" ng-click="${r}.columnSwitching.next()" ng-show="${r}.columnSwitching.showRightChevron">\n                    <i class="toolsicon toolsicon-keyboard_arrow_right"></i>\n                </span>\n            `),t.find("table").wrap(`<div class="table-container" ng-class="{'left-pad': ${r}.columnSwitching.currentColumn > ${r}.columnSwitching.firstColumn}"></div>`),t.addClass("st-table-"+o);for(var l=t.find("td"),s=0;s<l.length;s++)l.eq(s).attr("st-optional")&&(a[o].optionalColumns[s]=l.eq(s).attr("st-optional"));return{pre:function(){},post:function(){}}},controller:i};function i(t,e){for(var i,o=e.attr("class").split(" "),r=/st-table-\d/,l=0;l<o.length;l++)if(r.test(o[l])){i=o[l].split("-")[2];break}var s=a[i].switcher;for(var c in a[i].optionalColumns)s.optionalColumns[c]=t.$parent&&t.$parent.$parent&&t.$parent.$parent[a[i].optionalColumns[c]]||{};s.softReset(),t["tableSwitchCtrl"+s.id]={columnSwitching:s},t.$on("$destroy",(function(){n.reset(void 0),s.softReset()}))}}function e(t,e,n,a){var i=!1;return{restrict:"A",priority:1002,link:function(t,e,o){t.$watch("params._params.page",((e,a)=>function(t,e,a){if(window.skipNgTableOverrides)return;if(!0===i)return void(e!=a&&(n.tablePageNumber=e));n.tablePageNumber>1&&(t.params._params.page=n.tablePageNumber)}(t,e,a))),a.onAfterReloadData((()=>function(t){if(window.skipNgTableOverrides)return;i=!0,n.tablePageNumber>1&&t.params._params.page!=n.tablePageNumber&&(t.params._params.page=n.tablePageNumber)}(t)))}}}t.$inject=["$compile","tableColumnSwitching","tablePageService"],e.$inject=["$compile","$timeout","tablePageService","ngTableEventsChannel"],angular.module("smartertools").directive("stTable",t),window.skipNgTableOverrides||angular.module("smartertools").directive("ngTable",e).directive("ngTableDynamic",e)}();
462!function(){"use strict";function t(t,n,e){var o=this,r=[];function l(){var o,r=this,l=0,u=[],i=0,s=$("body[dir=rtl]").length>0,c=[];function a(){return l<=1?r.currentColumn:r.currentColumn+(l-1)}function h(t){l=t-r.firstColumn}function f(){g()}function C(){var n=s?l():o(),e=s?o():l();function o(){return r.currentColumn>r.firstColumn}function l(){return r.currentColumn>-1&&r.currentColumn<c.length-1&&a()<c.length-1}n==r.showLeftChevron&&e==r.showRightChevron||t.$applyAsync((function(){r.showLeftChevron=n,r.showRightChevron=e}))}function d(){r.currentColumn-1<r.firstColumn||(c[a()].show(!1),c[--r.currentColumn].show(!0),n(p,25))}function m(){a()>=c.length-1||(c[r.currentColumn++].show(!1),c[a()].show(!0),n(p,25))}function p(){try{var t=[],n=0;const a=".st-table-"+r.id;$(`${a} table colgroup`).remove(),$(`${a} table`).css("table-layout",""),$(`${a} table .header`).each((function(e,o){t.push(o.offsetWidth),n+=o.offsetWidth}));
462var e=$(a).parent(),o=(e=e[0]&&e[0].hasAttribute("not-parent")?e.parent():e).outerWidth();if(n<=(o-=18))return;var l=n-o;l+=10;for(var u=[],i=$("<colgroup>"),s=0;s<t.length;s++)t[s]>.5*o?(i.append($('<col style="width:'+(t[s]-l)+'px">')),l=0,u.push(s)):i.append($('<col style="width:'+t[s]+'px">'));u.length>0&&($(`${a} table`).css("table-layout","fixed"),0===$(`${a} table colgroup`).length&&$(`${a} table`).prepend(i));for(var c=0;c<u.length;c++)r.currentColumn>=2&&i.children().eq(r.currentColumn-1).hide(),1==r.currentColumn&&i.children().eq(2).hide()}finally{C()}}function g(t,e){try{if(!r.allowCheckHide)return;if(void 0===t&&(t=0),e){var o=$(".st-table-"+r.id).parent();(o=o[0]&&o[0].hasAttribute("not-parent")?o.parent():o).outerWidth()<200||o.outerWidth()>=window.innerWidth?n((function(){g(0,!0)}),25):n(s)}else n(s)}finally{C()}function s(){try{if(!r.cols)return;!function(){if(c=[],!r.cols)return;for(var t=0;t<r.cols.length;t++){var n=r.optionalColumns[t];!n||n&&"function"==typeof n&&n()?(c.push(v(t)),r.cols[t].show(!0)):r.cols[t].show(!1)}}();const C=".st-table-"+r.id;$(`${C} table colgroup`).remove(),$(`${C} table`).css("table-layout",""),(r.currentColumn===r.firstColumn&&a()===c.length-1||-1===r.currentColumn)&&(u=[],i=0,$(`${C} table .header`).each((function(t,n){u.push(n.offsetWidth),i+=n.offsetWidth})));var n=$(C).parent(),e=(n=n[0]&&n[0].hasAttribute("not-parent")?n.parent():n).outerWidth();if(e+=t,l=-1,(e-=18)>=i)l=c.length-r.firstColumn,r.currentColumn=r.firstColumn;else{var o=i-e;o+=10;for(var s=[],f=$("<colgroup>"),d=window.location.href.indexOf("popout/notifications")>-1,m=0;m<u.length;m++){var p=d?.7*u[m]:.6*u[m];u[m]>.5*e&&o<=p?(f.append($('<col style="width:'+(u[m]-o)+'px">')),s.push(m)):f.append($('<col style="width:'+u[m]+'px">'))}if((d?.7*o:o)<e&&1===s.length)h(c.length),$(`${C} table`).css("table-layout","fixed"),0===$(`${C} table colgroup`).length&&$(`${C} table`).prepend(f);else{r.currentColumn>=c.length&&(r.currentColumn=r.firstColumn);for(var g=0,w=0;w<u.length;w++)if((g+=u[w])>e){h(w-1),a()>=c.length&&(r.currentColumn=c.length-l);break}if(l>r.firstColumn+1){g=0;for(var b=0,y=0,W=0;W<u.length;W++)if(g+=u[W],!(++b<l)){for(;g>e&&(l--,g-=u[y++],1!=l););g-=u[y++]}}}}!function(){r.currentColumn<r.firstColumn&&(r.currentColumn=r.firstColumn);for(var t=r.firstColumn;t<c.length;t++)t>=r.currentColumn&&t<=a()&&-1!=a()?c[t].show(!0):c[t].show(!1)}()}finally{C()}}}function v(t){return{show:function(n){r.cols[t]&&r.cols[t].show(n)}}}r.id=void 0,r.cols=null,r.currentColumn=-1,r.firstColumn=0,r.prev=s?m:d,r.next=s?d:m,r.showLeftChevron=!1,r.showRightChevron=!1,r.onSlidePanelSliding=function(t,n){n||(n=300);g(n=t?-n:n)},r.allowCheckHide=!0,r.optionalColumns={},r.init=function(){return r.allowCheckHide=!0,window.addEventListener("resize",f),o=t.$on("treeState:stateChange",f),r},r.reset=function(){r.cols=null,r.currentColumn=-1,r.firstColumn=0,h(0),u=[],window.removeEventListener("resize",f),o()},r.softReset=function(){if(u=[],h(0),r.currentColumn=-1,r.allowCheckHide=!0,!r.cols)return;for(var t=0;t<r.cols.length;t++)r.cols[t].show(!0)},r.setFirstColumn=function(t){try{r.firstColumn=t||0}finally{C()}},e.onAfterReloadData((function(){g(0,!0)}))}o.requestSwitcher=function(){var t=new l;return t.id=String(Math.random()).split(".")[1],t.init(),r.push(t),t},o.getFirstSwitcher=function(){return r.length>0?r[0]:null},o.reset=function(){for(var t=0;t<r.length;t++)r[t].reset();r=[]}}t.$inject=["$rootScope","$timeout","ngTableEventsChannel"],angular.module("smartertools").service("tableColumnSwitching",t)}();
463!function(){"use strict";function e(e,t){var a=this,n=1,r=!1;function g(e){var t=e._targetState._definition.name,n=e._targetState._definition.parent.name;a.parentPage?t===a.parentPage?(r=!0,a.currentPage=t,a.parentPage=void 0):i(t):n===a.currentPage?(a.parentPage=a.currentPage,a.currentPage=t):i(t)}function i(e){a.parentPage=void 0,a.currentPage=e,a.tablePageNumber=1,r=!1}a.parentPage,a.currentPage,a.reset=i,a.tablePageNumber={get:function(){return r&&!a.parentPage?n:1},set:function(e){n=a.parentPage?n:e}},t.onStart({},g),a.currentPage=e.current.name}e.$inject=["$state","$transitions"],angular.module("smartertools").service("tablePageService",e)}();
464!function(){function e(e,s,n){let r=this,c=-1,o=null;function a(){if(c===r.fillColor&&o===r.isChecked)return;let e="",s=r.fillColor,a=!1;const i=n.isThemeDark();s&&"transparent"!==s||(a=!0,s=i?"#e8e8e8":"#444444");let u=function(e){try{return l(parseInt(e.substr(1,2),16),parseInt(e.substr(3,2),16),parseInt(e.substr(5,2),16))}catch(e){return null}}(s),h=u&&u.l;r.checkStyles="",null!==h&&h<.2?(r.checkStyles="fill: var(--checkbox-fg-inverse)",e=i?"standout altshadow":"standout",s=i?t(s,.2):s):null!==h&&h>.85?(e=i?"":"altshadow",s=i?s:t(s,-.2)):a&&(e="is-default-fill"),r.isChecked?(r.boxClass=`checked ${e}`,r.boxStyles=`--checkbox-bg-checked: ${s}; --checkbox-border: ${s};`):(r.boxClass=`unchecked ${e}`,r.boxStyles=`--checkbox-border: ${s};`),c=r.fillColor,o=r.isChecked}r.$onInit=()=>a(),r.$onChanges=()=>a(),e.$on("themeService:changed",(()=>{c=-1,a()}))}function t(e,t){try{let n=l(parseInt(e.substr(1,2),16),parseInt(e.substr(3,2),16),parseInt(e.substr(5,2),16));n.l+=t,n.l>1&&(n.l=1),n.l<0&&(n.l=0);let r=function(e,t,l){var n,r,c;if(0==t)n=r=c=l;else{var o=l<.5?l*(1+t):l+t-l*t,a=2*l-o;n=s(a,o,e+1/3),r=s(a,o,e),c=s(a,o,e-1/3)}return{r:Math.floor(255*n),g:Math.floor(255*r),b:Math.floor(255*c)}}(n.h,n.s,n.l);return function(e,t,l){return"#"+s(e)+s(t)+s(l);function s(e){const t=e.toString(16);return 1==t.length?"0"+t:t}}(r.r,r.g,r.b)}catch(e){return null}}function l(e,t,l){e/=255,t/=255,l/=255;var s,n,r=Math.max(e,t,l),c=Math.min(e,t,l),o=(r+c)/2;if(r==c)s=n=0;else{var a=r-c;switch(n=o>.5?a/(2-r-c):a/(r+c),r){case e:s=(t-l)/a+(t<l?6:0);break;case t:s=(l-e)/a+2;break;case l:s=(e-t)/a+4}s/=6}return{h:s,s:n,l:o}}function s(e,t,l){return l<0&&(l+=1),l>1&&(l-=1),l<1/6?e+6*(t-e)*l:l<.5?t:l<2/3?e+(t-e)*(2/3-l)*6:e}e.$inject=["$scope","$timeout","themesService"],angular.module("smartertools").component("stTreeCheckbox",{template:'\n                <div class="st-tree-checkbox {{$ctrl.boxClass}}" ng-disabled="$ctrl.isDisabled" style="{{$ctrl.boxStyles}}">\n                    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 -960 960 960">\n                        <path style="{{$ctrl.checkStyles}}" d="M395-245 185-456l90-90 120 120 291-290 90 90-381 381Z"/>\n                    </svg>                    \n                </div>\n               ',controller:e,bindings:{fillColor:"<",isChecked:"<",isDisabled:"<"}})}();
465!function(){"use strict";function n(n,e,t){var i=this;i.fireViewChanged=function(n,e){i.currentView=n;var t=i.onChange;"function"==typeof t()&&t()(n,e)},i.currentIcon="toolsicon-grid_view",i.currentViewLast=null,i.currentViewText="",i.currentViewIconClass="",i.$doCheck=function(){i.currentViewLast!==i.currentView&&(i.currentViewLast=i.currentView,function(){i.currentViewText="",i.currentViewIconClass="";for(let n=0;n<i.viewOptions.length;n++){let e=i.viewOptions[n];i.currentView==e.id&&(i.currentViewText=t.instant(e.name),i.currentViewIconClass="toolsicon "+e.icon)}}())},i.$onChanges=function(){i.viewOptions=i.viewOptions||[{id:"CARD_VIEW",name:"CARD_VIEW",icon:"toolsicon-grid_view"},{id:"GRID_VIEW",name:"GRID_VIEW",icon:"toolsicon-list_alt"}];for(let n=0;n<i.viewOptions.length;n++)i.viewOptions[n].icon=i.viewOptions[n].icon||"toolsicon-grid_view"}}n.$inject=["$scope","$timeout","$translate"],angular.module("smartertools").component("stViewChooserMenu",{template:'\n            <md-menu md-position-mode="target-left bottom" md-offset="-2 0">
465\n                <md-button ng-click="$mdMenu.open($event)" class="md-secondary standard-icon with-text" aria-label="menu">\n                    <i ng-class="$ctrl.currentViewIconClass"></i>\n                    <span>{{ $ctrl.currentViewText }}</span>\n                    <i class="toolsicon toolsicon-arrow_drop_down_emphasis"></i>\n                </md-button>\n                <md-menu-content class="standard icons">\n                    <md-menu-item ng-repeat="r in $ctrl.viewOptions">\n                        <md-button ng-click="$ctrl.fireViewChanged(r.id, $event)">\n                            <i class="toolsicon toolsicon-check" ng-style="{\'visibility\': $ctrl.currentView === r.id ? \'\' : \'hidden\'}"></i> \n                            {{ ::r.name | translate }}\n                        </md-button>\n                    </md-menu-item>\n                </md-menu-content>\n            </md-menu>\n            ',controller:n,transclude:!0,bindings:{currentView:"=",viewOptions:"<",onChange:"&"}})}();
466"use strict";angular.module("angular-timeline",[]),angular.module("angular-timeline").directive("timelineBadge",(function(){return{require:"^timelineEvent",restrict:"AE",transclude:!0,template:'<div ng-transclude class="timeline-badge"></div>'}})),angular.module("angular-timeline").directive("timeline",(function(){return{restrict:"AE",transclude:!0,template:'<ul class="timeline" ng-transclude></ul>',controller:function(){}}})),angular.module("angular-timeline").directive("timelineEvent",(function(){return{require:"^timeline",restrict:"AE",transclude:!0,template:'<li ng-class-odd="oddClass" ng-class-even="evenClass" ng-transclude></li>',link:function(e,i,n,t){var l=function(e,i){var n="timeline-item",t="timeline-item";return"left"===e||!e&&!0===i?n:"alternate"!==e&&e||!1!==i?"right"===e?t:n:t},r=function(i){e.oddClass=l(i,!0),e.evenClass=l(i,!1)};n.$observe("side",(function(e){r(e)})),r(n.side)}}})),angular.module("angular-timeline").directive("timelineFooter",(function(){return{require:"^timelinePanel",restrict:"AE",transclude:!0,template:'<div class="timeline-footer" ng-transclude></div>'}})),angular.module("angular-timeline").directive("timelineHeading",(function(){return{require:"^timelinePanel",restrict:"AE",transclude:!0,template:'<div class="timeline-heading" ng-transclude></div>'}})),angular.module("angular-timeline").directive("timelinePanel",(function(){return{require:"^timeline",restrict:"AE",transclude:!0,template:'<div class="timeline-panel" ng-transclude></div>'}})),angular.module("angular-timeline").directive("timelineInfo",(function(){return{require:"^timeline",restrict:"EA",transclude:!0,template:'<div class="timeline-info" ng-transclude></div>'}}));
467!function(){"use strict";angular.module("smartertools").directive("stTimelineNavigator",["$timeout",function(n){return{restrict:"E",replace:!0,transclude:!0,link:function(o,t,l){var e,c;function r(){c=Date.now(),e&&clearInterval(e)}o.scrollTimeline=function(n){o.$broadcast("scrollTimeline",{scrollDown:n}),r()},$("#btnScrollUp").on("mousedown",(function(){r(),n((function(){Date.now()-c>249&&(e=setInterval((function(){o.$broadcast("scrollTimeline",{scrollDown:!1})}),125))}),250)})),$("#btnScrollUp").on("mouseup",(function(){r()})),$("#btnScrollUp").on("mouseout",(function(){r()})),$("#btnScrollDown").on("mousedown",(function(){r(),n((function(){Date.now()-c>249&&(e=setInterval((function(){o.$broadcast("scrollTimeline",{scrollDown:!0})}),125))}),250)})),$("#btnScrollDown").on("mouseup",(function(){r()})),$("#btnScrollDown").on("mouseout",(function(){r()})),$(document).on("keydown",(function(n){switch(n.which){case 33:o.$broadcast("scrollTimeline",{scrollDown:!1});break;case 34:o.$broadcast("scrollTimeline",{scrollDown:!0});break;case 38:o.$broadcast("nudgeTimeline",{scrollDown:!1});break;case 40:o.$broadcast("nudgeTimeline",{scrollDown:!0});break;default:return}n.preventDefault()}))},template:"<span><button class='btn btn-primary' ng-click='scrollTimeline(false)' id='btnScrollUp'><span class='fa fa-chevron-up'></span></button>\t\t\t\t\t\t\t<button class='btn btn-primary' ng-click='scrollTimeline(true)' id='btnScrollDown'><span class='fa fa-chevron-down'></span></button></span>"}}])}();
468!function(){"use strict";angular.module("smartertools").directive("stIconSwitch",["$compile",function(o){return{restrict:"EA",scope:{stModel:"=",iconOn:"@",iconOff:"@",tooltipOn:"@",tooltipOff:"@",onClick:"&",ngDisabled:"="},link:function(i,n){var t=void 0!==i.ngDisabled?' ng-disabled="ngDisabled"':"";const s=o=>o?o.replace(/[^a-zA-Z0-9_-]/g,""):"";var l=i.iconOn?"toolsicon-"+s(i.iconOn):"",c='<div class="st-icon-switch" ng-class="{\'is-on\': stModel, \'is-disabled\': ngDisabled}" ng-click="toggle($event)"'+t+'><md-tooltip md-autohide>{{stModel ? tooltipOff : tooltipOn}}</md-tooltip><span class="st-icon-switch-item off"><i class="toolsicon '+(i.iconOff?"toolsicon-"+s(i.iconOff):"")+'"></i></span><span class="st-icon-switch-item on"><i class="toolsicon '+l+'"></i></span></div>',e=o(angular.element(c))(i);n.append(e),i.toggle=function(o){i.ngDisabled||(i.onClick?i.onClick({$event:o}):i.stModel=!i.stModel)}}}}])}();
469!function(){"use strict";angular.module("smartertools").directive("stToggleSwitch",["$compile",function(n){return{restrict:"EA",scope:{translationKey:"@",stModel:"=",onClick:"&",ngDisabled:"="},link:function(i,l){var t=angular.element('<md-switch md-no-ink ng-model="stModel" class="md-primary" ng-click="myFunction()" aria-label="{{translationKey}}" '+(void 0!==i.ngDisabled?'ng-disabled="'+i.ngDisabled+'"':"")+'><span class="wordwrap" translate="{{translationKey}}"></span></md-switch>'),a=n(t)(i);l.append(a),i.myFunction=function(){if(!0!==i.ngDisabled&&null!=i.onClick)return i.onClick()}}}}])}();
470!function(){"use strict";angular.module("smartertools").directive("virtualList",["$window","$timeout","$q","$document","spinnerFactory","$rootScope","$log",function(t,e,
470i,r,s,a,n){return{restrict:"E",scope:{parentId:"@",totalItems:"=",listDataProvider:"&",listDataCache:"=",listController:"=",onDrag:"="},transclude:!0,template:function(t,e){var i;switch(e.cardType.toLowerCase()){case"contact":i='<div class="renderer"><contact-card id="cc{{contact.id}}" ng-repeat="contact in visibleProvider" ng-style="contact.styles"></contact-card></div>';break;case"note":i='<div class="renderer"><note-card id="nc{{note.id}}" ng-repeat="note in visibleProvider" ng-style="note.styles"></note-card></div>';break;case"task":i='<div class="renderer"><task-card id="tc{{task.id}}" ng-repeat="task in visibleProvider" ng-style="task.styles"></task-card></div>';break;case"mail":i='<div ng-repeat="mail in visibleProvider track by mail.gridId"\t\t\t\t\t\t\tclass="mailGridItem"\t\t\t\t\t\t\tng-include="\'app/email/templates/email-list-item.html\'"\t\t\t\t\t\t\tdata=\'{{mail.uid}}|{{mail.folder}}\'\t\t\t\t\t\t\tid="mailGridItem-{{mail.uid}}"\t\t\t\t\t\t\tdraggable="true"\t\t\t\t\t\t\tst-drag-start="onListDrag(event)"\t\t\t\t\t\t\tng-class="{\'select\':mail.selected, \'messageInPreview\': parentScope.navigationPacket.uid == mail.uid, \'markedAsDeleted\':mail.isDeleted, \'gridRowDark\':mail.highlight}"\t\t\t\t\t\t\tread="{{mail.isSeen != undefined && mail.isSeen == true}}"\t\t\t\t\t\t\tng-style="mail.styles"></div>';break;case"file-storage":i='<div class="renderer"><file-storage-card\t\t\t\t\t\t\tid="fsc{{file.id}}"\t\t\t\t\t\t\tng-repeat="file in visibleProvider" \t\t\t\t\t\t\tng-style="file.styles"\t\t\t\t\t\t\tdraggable="true"\t\t\t\t\t\t\tst-drag-start="onListDrag(event)"\t\t\t\t\t\t\tdata="{{file.id}}"></file-storage-card></div>';break;case"file-storage-nointeract":i='<div class="renderer"><file-storage-card\t\t\t\t\t\t\tid="fsc{{file.id}}"\t\t\t\t\t\t\tng-repeat="file in visibleProvider" \t\t\t\t\t\t\tng-style="file.styles"\t\t\t\t\t\t\tdata="{{file.id}}"></file-storage-card></div>';break;case"notification-profile":i='<div class="renderer"><notification-profile-card id="npc{{card.id}}" ng-repeat="card in visibleProvider" ng-style="card.styles"></notification-profile-card></div>';break;case"user-activity-online":i='<div ng-repeat="user in visibleProvider" \t\t\t\t\t\t\tclass="st-data-grid-item" \t\t\t\t\t\t\tng-include="\'app/sysadmin/manage/cards/user-activity-online-item.html\'" \t\t\t\t\t\t\tng-style="user.styles">\t\t\t\t\t\t\t</div>';break;case"user-activity-inactive":i='<div ng-repeat="user in visibleProvider" \t\t\t\t\t\t\tclass="st-data-grid-item" \t\t\t\t\t\t\tng-include="\'app/sysadmin/manage/cards/user-activity-inactive-item.html\'" \t\t\t\t\t\t\tng-style="user.styles">\t\t\t\t\t\t\t</div>';break;case"connection-all":i='<div ng-repeat="con in visibleProvider" \t\t\t\t\t\t\tclass="st-data-grid-item" \t\t\t\t\t\t\tng-include="\'app/sysadmin/manage/cards/connection-all-item.html\'" \t\t\t\t\t\t\tng-style="con.styles">\t\t\t\t\t\t\t</div>';break;case"connection-users":i='<div ng-repeat="con in visibleProvider" \t\t\t\t\t\t\tclass="st-data-grid-item" \t\t\t\t\t\t\tng-include="\'app/sysadmin/manage/cards/connection-users-item.html\'" \t\t\t\t\t\t\tng-style="con.styles">\t\t\t\t\t\t\t</div>';break;case"ids-all":i='<div ng-repeat="ids in visibleProvider" \t\t\t\t\t\t\tclass="st-data-grid-item" \t\t\t\t\t\t\tng-include="\'app/sysadmin/manage/cards/ids-all-item.html\'" \t\t\t\t\t\t\tng-style="ids.styles">\t\t\t\t\t\t\t</div>';break;case"domain-resources":i='<div class="renderer"><domain-resources-card id="src{{card.id}}" ng-repeat="card in visibleProvider" ng-style="card.styles"></domain-resources-card></div>';break;case"domain-subscribers":i='<div class="renderer"><domain-subscribers-card id="cfc{{card.id}}" ng-repeat="card in visibleProvider" ng-style="card.styles"></domain-subscribers-card></div>';break;case"domain-mailing-lists":i='<div class="renderer"><domain-mailing-lists-card id="mlc{{card.id}}" ng-repeat="card in visibleProvider" ng-style="card.styles"></domain-mailing-lists-card></div>';break;case"domain-mail-list-posters":i='<div class="renderer"><domain-mail-list-posters-card id="lpc{{card.id}}
470" ng-repeat="card in visibleProvider" ng-style="card.styles"></domain-mail-list-posters-card></div>';break;case"message-archive":i='<div class="renderer"><message-archive-card id="mac{{card.id}}" ng-repeat="card in visibleProvider" ng-style="card.styles"></message-archive-card id></div>';break;default:return"<span>Missing "+e.cardType+" attribute</span>"}return'<div class="canvas" ng-style="canvasHeight">'+i+'<div ng-style="{\'width\': width, \'height\': height}" style="background-color: rgba(255, 255, 255, 0.5); display: flex; z-index: 2000; position: fixed; pointer-events: initial; outline: none;" ng-click="$event.stopPropagation();" ng-if="listController.spinner.isShown()"><md-progress-circular md-mode="indeterminate" md-diameter="60" style="margin: auto; outline: none;"></md-progress-circular></div></div>'},link:function(t,r,n,l){var o=parseInt(n.height,10)||217,d=parseInt(n.width,10)||346;t.parentScope=t.$parent,t.height=o,t.width=d,t.scrollTop=0,t.visibleProvider=[],t.rowsPerPage=0,t.colsPerPage=0,t.numberOfCells=0,t.canvasHeight={},t.listController.spinner=new s(500),t.onListDrag=function(e){t.onDrag&&t.onDrag(e)},t.init=function(){r[0].addEventListener("scroll",t.onScroll),window.addEventListener("resize",t.onResize,!0)},t.config=function(){t.height=$("#"+t.parentId).height(),t.width=$("#"+t.parentId).width(),r.css("max-height",t.height),r.css("min-height",t.height),t.rowsPerPage=Math.round(t.height/o),t.rowsPerPage<1&&(t.rowsPerPage=1),t.colsPerPage=-1==d?1:Math.floor(t.width/d),t.colsPerPage<1&&(t.colsPerPage=1),t.numberOfCells=3*t.rowsPerPage*t.colsPerPage,t.canvasHeight={height:t.totalItems*o/t.colsPerPage+"px"}};var c={start:0,take:0};t.listController.reset=function(e){e&&(t.visibleProvider.length=0),r.prop("scrollTop",0),t.listDataCache.lastScrollPos=0,c={start:0,take:0}},t.listController.updateDisplayList=function(e){var s=i.defer();null!=t.listDataCache.lastScrollPos&&r.prop("scrollTop")!=t.listDataCache.lastScrollPos&&r.prop("scrollTop",t.listDataCache.lastScrollPos);var n=Math.max((Math.floor(t.scrollTop/o)-t.rowsPerPage)*t.colsPerPage,0),l=Math.min(n+t.numberOfCells,t.numberOfCells);return e&&c.start==n&&c.take==l?(s.resolve(),s.promise):(c.start=n,c.take=l,a.spinner?a.spinner.show():t.listController.spinner.show(),function(t,e){var r=i.defer(),s={start:t,take:e,defer:r};for(;g.length>1;){g.pop().defer.reject()}g.push(s),1==g.length&&v(s);return r.promise}(n,l).then((function(e){!1===e&&s.reject("No response"),t.visibleProvider=e;for(var i=0,r=t.visibleProvider.length;i<r;i+=t.colsPerPage)for(var a=0;a<t.colsPerPage;a++)i+a<t.visibleProvider.length&&($("body[dir=rtl]").length>0?t.visibleProvider[i+a].styles={top:(n+i)/t.colsPerPage*o+"px",right:a*d+"px",display:"block",position:"absolute"}:t.visibleProvider[i+a].styles={top:(n+i)/t.colsPerPage*o+"px",left:a*d+"px",display:"block",position:"absolute"},t.$parent.selectMode?t.visibleProvider[i+a].styles["z-index"]=1:delete t.visibleProvider[i+a].styles["z-index"]);s.resolve()}),(function(t){s.reject(t)})).finally((function(){a.spinner&&a.spinner.hide(),t.listController.spinner.hide()})),s.promise)};var g=[],v=function(e){t.listDataProvider({queueObject:e}).then((function(t){e.defer.resolve(t),g.shift(),g.length>0&&v(g[0])}),(function(t){e.defer.reject(t),g.shift(),g.length>0&&v(g[0])}))};var p,u=_.throttle((function(){t.listController.updateDisplayList(!0)}),50);t.onScroll=function(e){t.listDataCache.lastScrollPos=t.scrollTop=r.prop("scrollTop"),u()},t.listController.refresh=function(){return t.config(),t.listController.updateDisplayList(!1).then((function(t){}),(function(t){}))},t.onResize=function(i){p&&(e.cancel(p),p=null),p=e((function(){p=null,t.listController.refresh().then((function(e){t.$applyAsync()}),(function(t){}))}),65)},t.listController.onResize=t.onResize,t.listController.getListSize=function(){return t.visibleProvider.length},t.$watch((function(t){return t.totalItems}),(function(e,i){t.listController.refresh()}),!0);e((function(){e((function(){t.listController.refresh().then((function(t){}),(function(t){}))}))})),t.init(),t.$on("$destroy",(function(){r[0].removeEventListener("scroll",t.onScroll),window.removeEventListener("resize",t.onResize,!0)}))}}}])}();
471!function(){"use strict";angular.module("smartermail").directive("messageArchiveCard",(function(){return{restrict:"EA",templateUrl:"app/sysadmin/manage/cards/message-archive-card.html",controller:function(){}}}))}();
472!function(){"use strict";angular.module("smartermail").directive("rootManageCard",(function(){return{restrict:"EA",templateUrl:"app/sysadmin/manage/cards/root-manage-card.html",controller:function(){}}}))}();
473!function(){"use strict";function e(e,t,s,n,a,r,c,o,i,l,d,p){var h=this;e.gridColumns=[{sortField:"ipAddress",translate:"IP_ADDRESS"},{sortField:"location",translate:"PORT"},{sortField:"loginDate",translate:"CONNECTIONS"},{sortField:"timeTranslate",translate:"SSL_TLS"}],h.searchText="",h.queryUrl="~/api/v1/settings/sysadmin/connections";var m=[0,1,2,7,8,9,10,12];function u(t){var n=[];if(h.checkboxes.items)for(var r in h.checkboxes.items)n.push(r.split("|")[0]);0!==n.length?s.show({locals:{addresses:n.join(", "),smtp:"ALL_CONNECTIONS"==h.selectedSection||"SMTP"==h.selectedSection,pop:"ALL_CONNECTIONS"==h.selectedSection||"POP"==h.selectedSection,imap:"ALL_CONNECTIONS"==h.selectedSection||"IMAP"
473==h.selectedSection,xmpp:"ALL_CONNECTIONS"!=h.selectedSection&&"XMPP"==h.selectedSection,description:"",fromGrid:!0,readOnly:!1},controller:"sysAdminConnectionsEditBlacklistingController",controllerAs:"ctrl",templateUrl:"app/sysadmin/manage/modals/admin-blacklist.dlg.html",targetEvent:t}).then((function(s){var n=[];s.smtp&&n.push(0),s.imap&&n.push(1),s.pop&&n.push(2),s.xmpp&&n.push(7);var r={serviceList:n,dataType:1,address:s.address,description:s.description};a.post("~/api/v1/settings/sysadmin/ip-access",JSON.stringify(r)).then((function(s){y(t),d.isIPListValid=!1,e.$emit("reloadConnections"),h.checkboxes.reset(),h.tableParams.reload(),l.report()}),(function(e){i.report(e.data.message)}))}),(function(){})):i.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function y(n){var r=[];if(h.checkboxes.items)for(var c in h.checkboxes.items)r.push(c.split("|")[0]);if(0!==r.length)if(1==r.length)d();else{var o=s.confirmDeletion().textContent(t("translate")("CONFIRMATIONS_MULTI_GENERIC",{count:r.length})).ok(t("translate")("OK")).title(t("translate")("CONFIRMATION_REQUIRED"));s.show(o).then((function(){d()}))}else i.report("SPOOL_ERRORS_NO_ITEMS_SELECTED");function d(){var t=JSON.stringify({dropInfo:r});a.post("~/api/v1/settings/sysadmin/drop-ip-connections",t).then((function(t){e.$emit("reloadConnections"),h.checkboxes.reset(),h.tableParams.reload(),l.report()}),i.report)}}function P(e){if(e&&e.item&&e.item.connectedName){var t=document.createElement("textarea");t.value=e.item.connectedName,document.body.appendChild(t),t.focus(),t.select(),document.execCommand("copy"),document.body.removeChild(t),l.report("COPIED_TO_CLIPBOARD")}}h.selectedSection=r.connectionsSection?r.connectionsSection:"ALL_CONNECTIONS",h.searchParams={serviceTypes:m,startindex:0,count:0,search:"",sortType:null,ascending:!1},h.tableParams=new o({sorting:{0:"asc"},count:25},{getData:function(e){for(var s in h.searchParams.startindex=(e.page()-1)*e.count(),h.searchParams.count=e.count(),h.searchParams.sortType=null,e.sorting())if(e.sorting().hasOwnProperty(s)&&e.sorting()[s]){h.searchParams.sortType=s,h.searchParams.ascending="desc"!==e.sorting()[s];break}return n.spinner.show(),a.post(h.queryUrl,JSON.stringify(h.searchParams)).then((function(s){h.searchResults=s.data.connections;for(var n=0;n<h.searchResults.length;++n){var a=h.searchResults[n];"127.0.0.1"===a.connectedName&&59100===a.port&&(a.connectedName+=" "+t("translate")("INTERNAL_XMPP_BOSH_PAREN"))}return h.searchResultCount=s.data.count,e.total(h.searchResultCount),h.searchResults})).finally(n.spinner.hide)},counts:n.commonTableCounts}),h.checkboxes=p.init(),h.checkboxes.specialKey=function(e){return e.connectedName+"|"+e.port+"|"+e.isSSL},h.checkboxes.ignoreItemDelegate=function(e){return e.connectedName&&(e.connectedName.indexOf("127.0.0.1")>-1||"::1"===e.connectedName)},h.checkboxes.table=h.tableParams,h.blacklist=u,h.dropConnections=y,h.Refresh=function(){e.$emit("reloadConnections"),h.checkboxes.reset(),h.tableParams.reload().then((function(){}),(function(){}))},h.searchItems=function(){h.searchParams.search=h.searchText,h.checkboxes.reset(),h.tableParams.reload()},h.contextMenuGridItem=function(t,s){if(!s||"touchstart"!==s.type&&"touchend"!==s.type&&3!==s.which||t.criticallyErrored)return;if(h.checkboxes.ignoreItemDelegate(t))return;s.stopPropagation(),s.preventDefault();var n=h.checkboxes.getCheckedItems();(n.length>1&&!_.some(n,(function(e){return e===h.checkboxes.specialKey(t)}))||n.length<=1)&&(h.checkboxes.reset(),h.checkboxes.checkCheckbox(s,t),n=[h.checkboxes.specialKey(t)]);e.dropdownEvent=$.extend(!0,{},s),e.dropdownOptions=[{key:"blacklist",click:u,params:e.dropdownEvent,translateKey:"BLACKLIST"},{key:"dropConnections",click:y,params:e.dropdownEvent,translateKey:"DROP_CONNECTIONS"},{divider:!0},{key:"copyIp",click:P,params:{ev:e.dropdownEvent,item:t},translateKey:"COPY_IP"}];var a=$("#context-menu-area");if(a){var r=c('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);a.append(r)}},h.copyIp=P,function(t){switch(h.selectedSection=t,h.queryUrl="~/api/v1/settings/sysadmin/connections",t){default:case"ALL_CONNECTIONS":h.searchParams={serviceTypes:m,startindex:0,count:0,search:"",sortType:null,ascending:!1};break;case"WEBMAIL":h.searchParams={serviceTypes:[8],startindex:0,count:0,search:"",sortType:null,ascending:!1};break;case"SMTP":h.searchParams={serviceTypes:[0],startindex:0,count:0,search:"",sortType:null,ascending:!1};break;case"IMAP":h.searchParams={serviceTypes:[1],startindex:0,count:0,search:"",sortType:null,ascending:!1};break;case"POP":h.searchParams={serviceTypes:[2],startindex:0,count:0,search:"",sortType:null,ascending:!1};break;case"XMPP":h.searchParams={serviceTypes:[7],startindex:0,count:0,search:"",sortType:null,ascending:!1};break;case"ACTIVESYNC":h.searchParams={serviceTypes:[9],startindex:0,count:0,search:"",sortType:null,ascending:!1};break;case"MAPI_EWS":h.searchParams={serviceTypes:[10],startindex:0,count:0,search:"",sortType:null,ascending:!1};break;case"WEBDAV":h.searchParams={serviceTypes:[12],startindex:0,count:0,search:"",sortType:null,ascending:!1}}h.checkboxes.reset(),h.tableParams.reload(),e.$emit("reloadConnections")}(h.selectedSection)}e.$inject=["$scope","$filter","$mdDialog","$rootScope","$http","$localStorage","$compile","NgTableParams","errorHandling","successHandling","coreDataSpool","gridCheckboxes"],angular.module("smartermail").controller("adminConnectionsAllController",e)}();
474!function(){"use strict";function t(t,n,e,a,c,s,o,i,r){var l=this;switch(a.current.data.pageTitle=s.instant("CURRENT_CONNECTIONS"),i.connectionsSection){case"ALL_CONNECTIONS":case"WEBMAIL":case"SMTP":case"IMAP":case"POP":case"XMPP":case"ACTIVESYNC":case"MAPIEWS":case"WEBDAV":l.selectedSection=i.connectionsSection;break;default:l.selectedSection="ALL_CONNECTIONS"}l.gridSections=[{translate:"ALL_CONNECTIONS",length:0},{translate:"WEBMAIL",length:0},{translate:"SMTP",length:0},{translate:"IMAP",length:0},{translate:"POP",length:0},{translate:"XMPP",length:0},{translate:"ACTIVESYNC",length:0},{translate:"MAPI_EWS",length:0},{translate:"WEBDAV",length:0}];var d=[0,1,2,7,8,9,10,12];function g(){return c.post("~/api/v1/settings/sysadmin/connections-count",JSON.stringify({serviceTypes:d})).then((function(t){l.gridSections[0].length=t.data.counts.webMail+t.data.counts.smtp+t.data.counts.imap+t.data.counts.pop+t.data.counts.xmpp+t.data.counts.activeSync+t.data.counts.mapiEws+t.data.counts.webdav,l.gridSections[1].length=t.data.counts.webMail,l.gridSections[2].length=t.data.counts.smtp,l.gridSections[3].length=t.data.counts.imap,l.gridSections[4].length=t.data.counts.pop,l.gridSections[5].length=t.data.counts.xmpp,l.gridSections[6].length=t.data.counts.activeSync,l.gridSections[7].length=t.data.counts.mapiEws,l.gridSections[8].length=t.data.counts.webdav}),(function(t){o.report(t.data.message)}))}l.getConnections=g,l.changeSection=function(t){l.selectedSection!=t&&(l.selectedSection=t,i.connectionsSection=t)},r.init().then((function(){var n=[];n.push(l.getConnections()),e.all(n).then((function(n){t.isInit=!0}),(function(t){o.report()}))}),o.report),t.$on("reloadConnections",g)}t.$inject=["$scope","$filter","$q","$state","$http","$translate","errorHandling","$localStorage","coreData"],angular.module("smartermail").controller("adminConnectionsMainController",t)}();
475!function(){"use strict";function e(e,t,n,a,i,s,o,r,l,c,d,g,m,u,h,p,b){var v=this,y=b.create(t);function f(){e.spinner.show(),a.get("~/api/v1/settings/sysadmin/detaching-domains").then((function(t){if(t.data&&t.data.success&&t.data.domains&&t.data.domains.some((function(e){return e.domain&&e.domain.toLowerCase()===v.theDomainName.toLowerCase()})))return e.spinner.hide(),h.pop("warning","",s.instant("DOMAIN_DETACH_IN_PROGRESS_MESSAGE")),void n.go("index.sysadmin-manage.dashboard");return a.get("~/api/v1/settings/sysadmin/deleting-domains")})).then((function(t){if(t&&t.data&&t.data.success&&t.data.domains&&t.data.domains.some((function(e){return e.domain&&e.domain.toLowerCase()===v.theDomainName.toLowerCase()})))return e.spinner.hide(),h.pop("warning","",s.instant("DOMAIN_DELETE_IN_PROGRESS_REDIRECT")),void n.go("index.sysadmin-manage.dashboard");E()}),(function(){E()}))}function E(){v.allowArchivingRules=g.hasEnterpriseFunctionality;var s=[a.get("~/api/v1/settings/sysadmin/global-mail").then((function(e){return v.globalMail=e.data.globalMailSettings,a.get("~/api/v1/settings/sysadmin/ips").then(o)}),(function(){})),a.get(`~/api/v1/settings/sysadmin/domain-settings/${v.theDomainName}/`).then(S,(function(){n.go("index.sysadmin-manage.dashboard")})),a.get("~/api/v1/settings/sysadmin/combined-gateways?direction=outboun
475d").then((function(e){var t=e.data.result||[];v.hasRoundRobinGateway=t.some((function(e){return 0===e.outboundMode})),v.outgoingGateways=t.filter((function(e){return 1===e.outboundMode}))}),(function(){})),a.get(`~/api/v1/settings/sysadmin/ad-settings/${v.theDomainName}/`).then((function(e){v.autoDiscoverSettings=e.data.settings}),(function(){}))];function o(e){v.IPV4Options=[{value:"",translation:"AUTOMATIC"},{value:"disable",translation:"DISABLE"}],v.IPV6Options=[{value:"",translation:"AUTOMATIC"},{value:"disable",translation:"DISABLE"}];var n=v.globalMail.failoverIPAddress;n&&"NONE"!==n&&(v.isIpFailover=!0,v.disableIpv6=!0,v.IPV4Options=[{value:"",translation:"HANDLED_VIA_FAILOVER"}]),"disable"===v.globalMail.deliverySettings.defaultOutboundDeliveryBindingIPv6.toLowerCase()&&(v.disableIpv6=!0);var a=$.grep(e.data.ips,(function(e){return 2===e.addressFamily&&"127.0.0.1"!==e.address}));a=$.map(a,(function(e){return{value:e.address,translation:e.address}})),v.IPV4Options=v.IPV4Options.concat(a);var i=$.grep(e.data.ips,(function(e){return 23===e.addressFamily&&"::1"!==e.address}));i=$.map(i,(function(e){return{value:e.address,translation:e.address}})),v.IPV6Options=v.IPV6Options.concat(i),v.ipv4SetBySystem=!v.isIpFailover&&2!=v.globalMail.deliverySettings.outboundDeliveryBinding,v.ipv6SetBySystem=!v.disableIpv6&&2!=v.globalMail.deliverySettings.outboundDeliveryBindingIPv6,r((function e(){if(!v.settings||v.settings==={})return void r(e);null!=v.settings.outgoingIP&&_.some(v.IPV4Options,(function(e){return(e.value||"")===v.settings.outgoingIP}))||(v.settings.outgoingIP="");null!=v.settings.outgoingIPv6&&_.some(v.IPV6Options,(function(e){return(e.value||"")===v.settings.outgoingIPv6}))||(v.settings.outgoingIPv6="")})),t.$watchGroup([function(){return v.settings&&v.settings.outgoingIP},function(){return v.settings&&v.settings.outgoingIPv6},function(){return v.disableIpv6},function(){return v.isIpFailover}],A)}v.allowArchivingRules&&s.push(a.get("~/api/v1/settings/sysadmin/domain-archive-rules").then((function(e){var t=e.data.rules||[];v.domainArchiveRule=t.find((e=>e.domain.toLowerCase()===v.theDomainName.toLowerCase()))}),(function(){}))),i.all(s).then((function(){v.pageForm.$setSubmitted(),v.isInitialized=!0,v.allowArchivingRules&&(e=void 0!==v.domainArchiveRule,v.archiveRuleDisabled=!e||v.domainArchiveRule.disabled,v.archiveRule={type:v.archiveRuleDisabled||v.domainArchiveRule.outgoing===v.domainArchiveRule.incoming?"1":v.domainArchiveRule.incoming?"2":"3",archivePath:v.archiveRuleDisabled?`${v.globalMail.pathSettings?v.globalMail.pathSettings.archivePath:""}${v.theDomainName}`:v.domainArchiveRule.archivePath,yearsToKeep:v.archiveRuleDisabled||"number"!=typeof v.domainArchiveRule.monthsToKeep?5:v.domainArchiveRule.monthsToKeep>0?Math.ceil(v.domainArchiveRule.monthsToKeep/12):0,domain:v.theDomainName,isNew:!e,disabled:v.archiveRuleDisabled});var e}),m.report).finally((function(){e.spinner.hide(),v.loading=!1,y.wait((function(){v.contentReady=!0}))})),r((function(){$("#userSearch").on("keydown",(function(e){e.stopPropagation()}))}))}function S(e){return v.settings=angular.copy(e.data.domainSettings),v.secondaryStorageEnabled=!!v.settings.secondaryPath&&v.settings.secondaryPath.length>0,v.secondaryPathDisplay=v.secondaryStorageEnabled?v.settings.secondaryPath:s.instant("NOT_ENABLED"),v.originalSplitDomain=v.settings.isSplitDomain,v.originalShowListMenu=v.settings.showListMenu,v.settings.onlyOffice=v.settings.onlyOffice??{},v.settings.onlyOffice.serverUrl=v.settings.onlyOffice.serverUrl??"",v.settings.onlyOffice.maxConnections=v.settings.onlyOffice.maxConnections??0,v.settings.onlyOffice.maxConnectionsPerUser=v.settings.onlyOffice.maxConnectionsPerUser??0,v.settings.marketPlace=v.settings.marketPlace??{},v.settings.marketPlace.onlyOfficeEnabled=null!==v.settings.marketPlace.onlyOfficeEnabled&&(v.settings.marketPlace.onlyOfficeEnabled??!1),v.settings.marketPlace.emclientEnabled=null!==v.settings.marketPlace.emclientEnabled&&(v.settings.marketPlace.emclientEnabled??!1),v.settings.marketPlace.collaboraEnabled=null!==v.settings.marketPlace.collaboraEnabled&&(v.settings.marketPlace.collaboraEnabled??!1),v.settings.marketPlace.rocketChatEnabled=null!==v.settings.marketPlace.rocketChatEnabled&&(v.settings.marketPlace.rocketChatEnabled??!1),v.settings.marketPlace.smarterMailChatEnabled=null!==v.settings.marketPlace.smarterMailChatEnabled&&(v.settings.marketPlace.smarterMailChatEnabled??!1),v.settings.marketPlace.smarterMailFileStoreEnabled=null!==v.settings.marketPlace.smarterMailFileStoreEnabled&&(v.settings.marketPlace.smarterMailFileStoreEnabled??!1),v.settings.marketPlace.smarterMailOnlineMeetingsEnabled=null!==v.settings.marketPlace.smarterMailOnlineMeetingsEnabled&&(v.settings.marketPlace.smarterMailOnlineMeetingsEnabled??!1),v.settings.marketPlace.zoomEnabled=null!==v.settings.marketPlace.zoomEnabled&&(v.settings.marketPlace.zoomEnabled??!1),v.settings.maxClassificationInboxMessages=v.settings.maxClassificationInboxMessages??2e4,v.settings.wopi=v.settings.wopi??{},v.settings.wopi.serverUrl=v.settings.wopi.serverUrl??"",v.settings.wopi.maxConnections=v.settings.wopi.maxConnections??0,v.settings.wopi.maxConnectionsPerUser=v.settings.wopi.maxConnectionsPerUser??0,v.diskSpaceInput=parseInt(v.settings.maxSize/1024/1024,10),v.maxMessageSizeInput=parseInt(v.settings.maxMessageSize/1024,10),v.maxAttachedFileSizeInput=parseInt(v.settings.maxAttachedFileSize/1024,10),v.enableGreylisting=!v.settings.bypassGreyListing,v.mailingListMaxMessageSize=parseInt(v.settings.mailingListMaxMessageSize/1024,10),v.hardcodedMessageSize=parseInt(v.settings.hardcodedMessageSize/1024,10),v.hardcodedAttachmentSize=parseInt(v.settings.hardcodedAttachmentSize/1024,10),v.catchAllEnabled=2!==v.settings.caRestrictionLevel,v.isTwoFactorForced=(v.settings.twoFactorSettings.setting&v.twoFactorFlags.Forced)===v.twoFactorFlags.Forced,v.isTwoFactorLocked=(v.settings.twoFactorSettings.setting&v.twoFactorFlags.Locked)===v.twoFactorFlags.Locked,v.currentUserOption=v.settings.mainDomainAdmin,d.init().then((function(){v.Licensing=angular.copy(d.Data.Licensing),v.Licensing.enterpriseFunctionality?v.Licensing.isActivated||(v.settings.emClientEnabled=!1):(v.settings.activeDirectoryIntegration=!1,v.settings.enableRemoteWipe=!1,v.settings.enableActiveSyncAccountManagement=!1,v.settings.emClientEnabled=!1)}),m.report)}function A(){var e=!(v.disableIpv6||v.isIpFailover)&&v.settings&&"disable"===v.settings.outgoingIP&&"disable"===v.settings.outgoingIPv6;v.bothIpsDisabled=!!e,v.pageForm&&v.pageForm.$setValidity&&v.pageForm.$setValidity("bothIpsDisabled",!v.bothIpsDisabled)}v.enableSpamfoo=window.stEnableSpamfoo,v.theDomainName=n.params.id,v.idnName=n.params.idn,n.current.data.pageTitle=v.idnName||v.theDomainName,v.archiveRuleDisabled=!0,v.isInitialized=!1,v.loading=!0,v.contentReady=!1,v.globalMail={},v.settings={},v.domainInfo={},v.IPV4Options=[],v.IPV6Options=[],v.isHighAvailability=window.stHA,v.isIpFailover=!1,v.disableIpv6=!1,v.diskSpaceInput=0,v.maxMessageSizeInput=0,v.maxAttachedFileSizeInput=0,v.currentUserOption="",v.Licensing=[],v.userSearch="",v.canChangeShowPassword=c.canViewPasswords(),v.enableGreylisting=!0,v.catchAllEnabled=!1,v.outgoingGateways=[],v.twoFactorFlags={Enabled:1,Forced:2,Locked:4},v.twoFactorSettingOptions=[{value:1,translation:"ENABLED"},{value:2,translation:"FORCED"},{value:6,translation:"FORCE_LOCKED"}],v.ipv4SetBySystem=!1,v.ipv6SetBySystem=!1,v.allowArchivingRules=g.hasEnterpriseFunctionality,v.marketplaceItems={onlyOffice:{enabled:!1},collabora:{enabled:!1}},v.secondaryStorageEnabled=!1,v.bothIpsDisabled=!1,v.validateOutgoingIPs=A,v.save=function(t,n){if(t.$invali
475d)return void m.report("CORRECT_INVALID_FIELDS");var i={domainSettings:{isEnabled:v.settings.isEnabled,hostname:v.settings.hostname,domainLocation:v.settings.domainLocation,domainLocationAddress:v.settings.domainLocationAddress,isSplitDomain:v.settings.isSplitDomain,deliverLocallyForExternalDomain:v.settings.deliverLocallyForExternalDomain,maxDomainAliases:v.settings.maxDomainAliases||0,maxUsers:v.settings.maxUsers,maxAliases:v.settings.maxAliases,maxLists:v.settings.maxLists,mailingListMaxMessageSize:1024*v.mailingListMaxMessageSize,maxMessageSize:1024*v.maxMessageSizeInput,maxAttachedFileSize:1024*v.maxAttachedFileSizeInput,maxRecipients:v.settings.maxRecipients,maxActiveSyncAccounts:v.settings.maxActiveSyncAccounts,maxSize:1024*v.diskSpaceInput*1024,maxMapiEwsAccounts:v.settings.maxMapiEwsAccounts,messagePriority:v.settings.messagePriority,enableMapiEwsAccountManagement:v.settings.enableMapiEwsAccountManagement,outgoingIP:v.settings.outgoingIP,outgoingIPv6:v.settings.outgoingIPv6,domainUrl:v.settings.domainUrl,overrideRedirect:v.settings.overrideRedirect,spamRelayOption:v.settings.spamRelayOption,spamForwardOption:v.settings.spamForwardOption,enableTlsIfAvailable:v.settings.enableTlsIfAvailable,srsEnabled:v.settings.srsEnabled,requireSmtpAuthentication:v.settings.requireSmtpAuthentication,bypassGreyListing:!v.enableGreylisting,enableSenderVerification:v.settings.enableSenderVerification,excludeIPFromReceivedLine:v.settings.excludeIPFromReceivedLine,postmasterMailbox:v.settings.postmasterMailbox,sslRequired:v.settings.sslRequired,sharedGlobalAddressList:v.settings.sharedGlobalAddressList,throttleSettings:{messagesPerHour:v.settings.throttleSettings.messagesPerHour,messagesAction:v.settings.throttleSettings.messagesAction,bandwidthPerHour:v.settings.throttleSettings.bandwidthPerHour,bandwidthAction:v.settings.throttleSettings.bandwidthAction,bouncesPerHour:v.settings.throttleSettings.bouncesPerHour,bouncesAction:v.settings.throttleSettings.bouncesAction},activeDirectoryIntegration:v.settings.activeDirectoryIntegration,enableRemoteWipe:v.settings.enableRemoteWipe,enableActiveSyncAccountManagement:v.settings.enableActiveSyncAccountManagement,caRestrictionLevel:v.catchAllEnabled?1:2,enableDisposableAddresses:v.settings.enableDisposableAddresses,showDomainAliasMenu:v.settings.showDomainAliasMenu,allowUserSizeChanging:v.settings.allowUserSizeChanging,enableDomainHistory:v.settings.enableDomainHistory,enableGoogleDriveIntegration:v.settings.enableGoogleDriveIntegration,onlyOffice:{serverUrl:v.settings.onlyOffice.serverUrl,maxConnections:v.settings.onlyOffice.maxConnections,maxConnectionsPerUser:v.settings.onlyOffice.maxConnectionsPerUser},wopi:{serverUrl:v.settings.wopi.serverUrl,maxConnections:v.settings.wopi.maxConnections,maxConnectionsPerUser:v.settings.wopi.maxConnectionsPerUser},twoFactorSettings:{setting:v.settings.twoFactorSettings.setting},customLoginDisplay:v.settings.customLoginDisplay,showListMenu:v.settings.showListMenu,gatewayGuid:v.settings.gatewayGuid,gatewayFailover:v.settings.gatewayFailover,enableMailForwarding:v.settings.enableMailForwarding,emClientEnabled:v.settings.emClientEnabled,hstsEnabled:v.settings.hstsEnabled,enableSharing:v.settings.enableSharing,enableRssFeed:v.settings.enableRssFeed,allowMeetingGuestUploads:v.settings.allowMeetingGuestUploads,enableClassification:v.settings.enableClassification,maxClassificationInboxMessages:v.settings.maxClassificationInboxMessages,marketPlace:{domainAdminCanOverride:v.settings.marketPlace.domainAdminCanOverride,onlyOfficeEnabled:v.settings.marketPlace.onlyOfficeEnabled,collaboraEnabled:v.settings.marketPlace.collaboraEnabled,dropboxEnabled:v.settings.marketPlace.dropboxEnabled,emclientEnabled:v.settings.marketPlace.emclientEnabled,googleDriveEnabled:v.settings.marketPlace.googleDriveEnabled,oneDriveEnabled:v.settings.marketPlace.oneDriveEnabled,owncloudEnabled:v.settings.marketPlace.owncloudEnabled,vBoxxEnabled:v.settings.marketPlace.vBoxxEnabled,leitzcloudEnabled:v.settings.marketPlace.leitzcloudEnabled,chatGPTEnabled:v.settings.marketPlace.chatGPTEnabled,rocketChatEnabled:v.settings.marketPlace.rocketChatEnabled,smarterMailChatEnabled:v.settings.marketPlace.smarterMailChatEnabled,smarterMailFileStoreEnabled:v.settings.marketPlace.smarterMailFileStoreEnabled,smarterMailOnlineMeetingsEnabled:v.settings.marketPlace.smarterMailOnlineMeetingsEnabled,zoomEnabled:v.settings.marketPlace.zoomEnabled}}};v.canChangeShowPassword&&(i.domainSettings.enableShowPasswords=v.settings.enableShowPasswords);return e.spinner.show(),a.post(`~/api/v1/settings/sysadmin/domain-settings/${v.theDomainName}/`,JSON.stringify(i)).then((function(){a.post(`~/api/v1/settings/sysadmin/ad-settings/${v.theDomainName}/`,JSON.stringify(v.autoDiscoverSettings)).then(s,m.report).finally(e.spinner.hide)}),m.report).finally(e.spinner.hide);function s(t){if(v.currentUserOption.toUpperCase()!==v.settings.mainDomainAdmin.toUpperCase()){var n={domain:v.theDomainName,username:v.currentUserOption,createAdmin:!1};e.spinner.show(),a.post("~/api/v1/settings/sysadmin/primary-domain-admin",JSON.stringify(n)).then(o,m.report).finally(e.spinner.hide)}else o();e.$broadcast("user-domain-settings:changed")}function o(){t.$setPristine()}},v.deleteThis=function(t,i){var r=o.confirmDeletion().textContent(s.instant("CONFIRMATIONS_DELETE_ITEMS_one")).targetEvent(i);o.show(r).then((function(){e.spinner.show(),a.post(`~/api/v1/settings/sysadmin/domain-delete/${v.theDomainName}/true`).then((function(){t.$setPristine(),n.go("index.sysadmin-manage.dashboard")}),m.report).finally(e.spinner.hide)}))},v.showHSTSPopup=async function(e){if(e)try{await o.show({locals:{},controller:"hstsWarningController",controllerAs:"ctrl",templateUrl:"~/interface/app/sysadmin/manage/domains/modals/hsts-warning.dlg.html",clickOutsideToClose:!1})}catch(e){v.settings.hstsEnabled=!1}}
475,v.openChangeDomainName=function(e){o.show({locals:{oldDomainName:v.theDomainName,oldIdn:v.idnName},controller:"editDomainNameController",controllerAs:"ctrl",templateUrl:"app/sysadmin/manage/domains/modals/edit-domainname.dlg.html",targetEvent:e,clickOutsideToClose:!1}).then((function(e){n.go("index.sysadmin-manage.dashboard")}))},v.reloadDomain=function(t){var n=o.confirm().title(l("translate")("RELOAD_DOMAIN")).textContent(p.reactPluralize("CONFIRMATIONS_RELOAD_DOMAIN",{count:1})+" "+s.instant("CONFIRMATIONS_RELOAD_DOMAIN_NOTE")).targetEvent(t).ok(l("translate")("RELOAD")).cancel(l("translate")("CANCEL"));o.show(n).then((function(){e.spinner.show(),a.post(`~/api/v1/settings/sysadmin/reload-domain/${v.theDomainName}`).then(u.report,m.report).finally(e.spinner.hide)}),(function(){}))},v.detachDomain=async function(e,t){try{var i=o.confirm().title(l("translate")("DETACH_DOMAIN")).textContent(p.reactPluralize("CONFIRMATIONS_DETACH_DOMAIN",{count:1})+" "+s.instant("CONFIRMATIONS_DETACH_DOMAIN_NOTE")).targetEvent(t).ok(l("translate")("DETACH")).cancel(l("translate")("CANCEL"));await o.show(i)}catch(e){return}try{await a.post(`~/api/v1/settings/sysadmin/detach-domain/${v.theDomainName}`),h.pop("info","",s.instant("DOMAIN_MANAGEMENT_DETACH_DOMAIN_RUNNING")),e.$setPristine(),n.go("index.sysadmin-manage.dashboard")}catch(e){m.report(e)}},v.clearSearchTerm=function(){v.userSearch=""},v.cancel=function(){n.go("index.sysadmin-manage.dashboard")},v.reindexDomainArchive=function(){var t=JSON.stringify({messageArchiveName:v.theDomainName}),n=o.confirmDeletion().title(s.instant("CONFIRMATION_REQUIRED")).textContent(s.instant("CONFIRMATIONS_REINDEX")).ok(s.instant("REINDEX")).noWarn(!0);o.show(n).then((function(){e.spinner.show(),a.post("~/api/v1/settings/sysadmin/start-domain-archive-reindex",t).then(u.report,m.report).finally(e.spinner.hide)}))},v.editAchiveRule=function(e){(function(e){return o.show({locals:{rule:v.archiveRule},controller:"systemMessageArchivingRuleModalController",controllerAs:"ctrl",templateUrl:"app/sysadmin/shared/modals/archive-rule.dlg.html",targetEvent:e})})(e).then((function(e){u.report("SUCCESS"),f()}),(function(){}))},v.disableArchivingRule=function(t){function n(t){var n={},i={archivePath:v.archiveRule.archivePath,domain:v.archiveRule.domain,incoming:1==v.archiveRule.type||2==v.archiveRule.type,outgoing:1==v.archiveRule.type||3==v.archiveRule.type,disabled:!0,monthsToKeep:12*v.archiveRule.yearsToKeep};n.rules=[i],e.spinner.show(),a.post("~/api/v1/settings/sysadmin/domain-archive-rules",JSON.stringify(n)).then((function(){u.report("SUCCESS"),f()}),m.report).finally(e.spinner.hide)}a.get("~/api/v1/settings/sysadmin/domain-archive-rule/"+v.archiveRule.domain).then((function(e){o.show({locals:{archivePath:e.data.rule.archivePath,archiveSize:e.data.rule.archiveSize},controller:"archiveConfirmDisableDialogController",controllerAs:"ctrl",templateUrl:"app/sysadmin/shared/modals/archive-confirm-disable.dlg.html",targetEvent:t}).then(n,(function(){}))}),(function(){}))},v.viewPrimaryPath=function(e){o.show({locals:{domain:v.theDomainName,mode:"PRIMARY",path:v.settings.domainPath,secondaryAge:0,isDisabling:!1},controller:"domainPathController",controllerAs:"ctrl",templateUrl:"app/sysadmin/manage/domains/modals/domain-path.dlg.html",targetEvent:e})},v.editSecondaryStorage=function(t){o.show({locals:{domain:v.theDomainName,mode:"SECONDARY",path:v.settings.secondaryPath,secondaryAge:v.settings.secondaryAgeDays,isDisabling:v.settings.secondaryIsDisabling,primaryPath:v.settings.domainPath},controller:"domainPathController",controllerAs:"ctrl",templateUrl:"app/sysadmin/manage/domains/modals/domain-path.dlg.html",targetEvent:t}).then((function(t){if("DISABLE"!==t.status)if(v.secondaryStorageEnabled)n();else{let e=o.confirm().title(s.instant("SECONDARY_PATH_ENABLE")).textContent(s.instant("CONFIRMATIONS_ENABLE_SECONDARY_STORAGE")).ok(s.instant("ENABLE")).cancel(s.instant("CANCEL"));o.show(e).then(n,(function(){}))}else!function(){let t=o.confirmDeletion().title(s.instant("SECONDARY_PATH_DISABLE")).textContent(s.instant("CONFIRMATIONS_DISABLE_SECONDARY_STORAGE")).ok(s.instant("DISABLE")).cancel(s.instant("CANCEL"));function n(){e.spinner.show(),a.post(`~/api/v1/settings/sysadmin/domain-secondary-path/disable/${v.theDomainName}`).then((function(e){u.report("SUCCESS"),v.settings.secondaryIsDisabling=!0}),m.report).finally(e.spinner.hide)}o.show(t).then(n,(function(){}))}();function n(){e.spinner.show();let n=JSON.stringify({path:t.path,age:t.age});a.post(`~/api/v1/settings/sysadmin/domain-secondary-path/${v.theDomainName}`,n).then((function(){u.report("SUCCESS"),v.settings.secondaryPath=t.path,v.secondaryStorageEnabled=!!v.settings.secondaryPath&&v.settings.secondaryPath.length>0,v.secondaryPathDisplay=v.secondaryStorageEnabled?v.settings.secondaryPath:s.instant("NOT_ENABLED"),v.settings.secondaryAgeDays=t.secondaryAge}),m.report).finally(e.spinner.hide)}}),(function(){}))},v.openAdvancedXMLBody=function(e,t){o.show({locals:{domain:v.theDomainName,isMobile:t,text:t?v.autoDiscoverSettings.mobileXML:v.autoDiscoverSettings.desktopXML,settings:v.autoDiscoverSettings.services},controller:"editAutodiscoverXml",controllerAs:"ctrl",templateUrl:"app/sysadmin/manage/domains/modals/edit-autodiscover-xml.dlg.html",targetEvent:e,clickOutsideToClose:!1}).then((function(e){v.pageForm.$setDirty(),t?v.autoDiscoverSettings.mobileXML=e:v.autoDiscoverSettings.desktopXML=e}),(function(e){}))},v.openAutoDiscoverModal=function(e,t,n){if(!n)return;o.show({locals:{type:t,domain:v.theDomainName,hostname:v.settings.hostname,settings:v.autoDiscoverSettings.services[t]},controller:"editAutoDiscoverSettingsController",controllerAs:"ctrl",templateUrl:"app/sysadmin/manage/domains/modals/edit-autodiscover-settings.dlg.html",targetEvent:e,clickOutsideToClose:!1}).then((function(e){v.pageForm.$setDirty(),v.autoDiscoverSettings.services[t]=e}),(function(e){}))},v.toggleTwoFactor=function(){v.isTwoFactorForced||(v.isTwoFactorLocked=!1)},t.$on("licensingChanged",(function(){d.init().then(f,m.report)})),f(),t.$on("signalR.mailHub.client.domainDetachStateChanged",(function(e,t){t&&v.theDomainName&&t.domain&&t.domain.toLowerCase()===v.theDomainName.toLowerCase()&&"DETACHING"===t.phase&&(h.pop("warning","",s.instant("DOMAIN_DETACH_IN_PROGRESS_MESSAGE")),n.go("index.sysadmin-manage.dashboard"))})),t.$on("signalR.mailHub.client.domainDeleteStateChanged",(function(e,t){t&&v.theDomainName&&t.domain&&t.domain.toLowerCase()===v.theDomainName.toLowerCase()&&"DELETING"===t.phase&&o.show(o.alert().title(s.instant("DOMAIN_DELETE_IN_PROGRESS")).textContent(s.instant("DOMAIN_DELETE_IN_PROGRESS_REDIRECT")).ok(s.instant("OK"))).finally((function(){n.go("index.sysadmin-manage.dashboard")}))})),v.queryUsers=function(e){return e.length>0?a.get(`~/api/v1/settings/sysadmin/list-usernames/${v.theDomainName}?usersToReturn=50&search=${e}`).then((function(e){return e.data.usernames}),m.report).catch((function(){return[]})):i.when([])}}e.$inject=["$rootScope","$scope","$state","$http","$q","$translate","$mdDialog","$timeout","$filter","claimsService","coreDataLicensing","coreLicensing","errorHandling","successHandling","toaster","i18n","masonryReveal"],angular.module("smartermail").controller("sysAdminDomainConfigController",e)}();
476!function(){"use strict";function e(e,t,a,n,s,i,l,r,o,d,u,c){var g=this,p=c.create(a);function f(){var e=g.isInitialized;function s(e){g.IPV4Options=[{value:"",translation:"AUTOMATIC"},{value:"disable",translation:"DISABLE"}],g.IPV6Options=[{value:"",translation:"AUTOMATIC"},{value:"disable",translation:"DISABLE"}];var t=g.settings.failoverIPAddress;t&&"NONE"!==t&&(g.isIpFailover=!0,g.disableIpv6=!0,g.IPV4Options.push({value:t,translation:t})),"disable"===g.settings.deliverySettings.defaultOutboundDeliveryBindingIPv6.toLowerCase()&&(g.disableIpv6=!0);var n=$.grep(e.data.ips,(function(e){return 2===e.addressFamily&&"127.0.0.1"!==e.address}));n=$.map(n,(function(e){return{value:e.address,translation:e.address}})),g.IPV4Options=g.IPV4Options.concat(n);var s=$.grep(e.data.ips,(function(e){return 23===e.addressFamily&&"::1"!==e.address}));s=$.map(s,(function(e){return{value:e.address,translation:e.address}})),g.IPV6Options=g.IPV6Options.concat(s),null!=g.defaults.outgoingIP&&_.some(g.IPV4Options,(function(e){return(e.value||"")===g.defaults.outgoingIP}))||(g.defaults.outgoingIP=""),null!=g.defaults.outgoingIPv6&&_.some(g.IPV6Options,(function(e){return(e.value||"")===g.defaults.outgoingIPv6}))||(g.defaults.outgoingIPv6=""),a.$watchGroup([function(){return g.defaults&&g.defaults.outgoingIP},function(){return g.defaults&&g.defaults.outgoingIPv6},function(){return g.disableIpv6},function(){return g.isIpFailover}],m)}function l(){g.Licensing=angular.copy(o.Data.Licensing),g.Licensing.enterpriseFunctionality?g.Licensing.isActivated||(g.defaults.emClientEnabled=!1):(g.defaults.enableRemoteWipe=!1,g.defaults.enableActiveSyncAccountManagement=!1,g.defaults.enableXmpp=!1,g.ldapDisallowOptOut=!1,g.defaults.emClientEnabled=!1)}t.spinner.show(),i.all([n.get("~/api/v1/settings/sysadmin/global-mail").then((function(e){return g.settings=angular.copy(e.data.globalMailSettings),g.defaults=g.settings.domainDefaultSettings,g.defaults.webRtcServers=g.defaults.webRtcServers||[],g.diskSpaceInput=parseInt(g.defaults.maxDomainSize/1048576,10),g.maxMessageSizeInput=parseInt(g.defaults.maxMessageSize/1024,10),g.hardcodedMessageSize=parseInt(g.settings.deliverySettings.maxMessageSizeInBytesCap/1024,10),g.hardcodedAttachmentSize=parseInt(g.settings.deliverySettings.hardcodedAttachmentSize/1024,10),g.mailingListMaxMessageSizeInput=parseInt(g.defaults.mailingListMaxMessageSize/1024,10),g.maxAttachedFileSizeInput=parseInt(g.defaults.maxAttachedFileSize/1024,10),g.enableGreylisting=!g.defaults.bypassGreyListing,g.catchAllEnabled=2!==g.defaults.defaultCaRestrictionLevel,g.ldapDisallowOptOut=!g.settings.ldapSettings.ldap_DisallowOptOut,g.defaults.secondaryStoragePath=g.defaults.secondaryStoragePath||"",g.defaults.secondaryStorageAgeDays=g.defaults.secondaryStorageAgeDays||90,g.defaults.maxClassificationInboxMessages=g.defaults.maxClassificationInboxMessages??2e4,g.defaults.meetingGuestUploads=g.defaults.meetingGuestUploads??!0,i.all([o.init().then(l,u.report),n.get("~/api/v1/settings/sysadmin/ips").then(s)])}),u.report),n.get("~/api/v1/settings/sysadmin/combined-gateways?direction=outboun
476d").then((function(e){var t=e.data.result||[];g.hasRoundRobinGateway=t.some((function(e){return 0===e.outboundMode})),g.outgoingGateways=t.filter((function(e){return 1===e.outboundMode}))}))]).then((function(){if(g.isInitialized=!0,e)return g.contentReady=!0,void t.spinner.hide();p.wait((function(){g.contentReady=!0,t.spinner.hide()}))}),(function(e){u.report(e),t.spinner.hide()}))}function m(){var e=!(g.disableIpv6||g.isIpFailover)&&g.defaults&&"disable"===g.defaults.outgoingIP&&"disable"===g.defaults.outgoingIPv6;g.bothIpsDisabled=!!e,g.pageForm&&g.pageForm.$setValidity&&g.pageForm.$setValidity("bothIpsDisabled",!g.bothIpsDisabled)}g.enableSpamfoo=window.stEnableSpamfoo,g.settings=void 0,g.defaults=void 0,g.Licensing=void 0,g.isInitialized=!1,g.contentReady=!1,g.diskSpaceInput=0,g.maxMessageSizeInput=0,g.maxAttachedFileSizeInput=0,g.mailingListMaxMessageSizeInput=0,g.enableGreylisting=!0,g.ldapDisallowOptOut=!1,g.catchAllEnabled=!1,g.twoFactorSettingOptions=[{value:1,translation:"ENABLED"},{value:2,translation:"FORCED"},{value:6,translation:"FORCE_LOCKED"}],g.canChangeShowPassword=d.canViewPasswords(),g.bothIpsDisabled=!1,g.validateOutgoingIPs=m,g.save=function(e,a){if(a.$invalid||a.$pending)return;g.defaults.marketplaceSettings={domainAdminCanOverride:g.defaults.marketplaceSettings.domainAdminCanOverride,dropboxEnabled:g.defaults.marketplaceSettings.dropboxEnabled,googleDriveEnabled:g.defaults.marketplaceSettings.googleDriveEnabled,oneDriveEnabled:g.defaults.marketplaceSettings.oneDriveEnabled,owncloudEnabled:g.defaults.marketplaceSettings.owncloudEnabled,vBoxxEnabled:g.defaults.marketplaceSettings.vBoxxEnabled,leitzcloudEnabled:g.defaults.marketplaceSettings.leitzcloudEnabled,chatGPTEnabled:g.defaults.marketplaceSettings.chatGPTEnabled,onlyOfficeEnabled:g.defaults.marketplaceSettings.onlyOfficeEnabled,collaboraEnabled:g.defaults.marketplaceSettings.collaboraEnabled,emclientEnabled:g.defaults.marketplaceSettings.emclientEnabled,rocketChatEnabled:g.defaults.marketplaceSettings.rocketChatEnabled,smarterMailChatEnabled:g.defaults.marketplaceSettings.smarterMailChatEnabled,smarterMailFileStoreEnabled:g.defaults.marketplaceSettings.smarterMailFileStoreEnabled,smarterMailOnlineMeetingsEnabled:g.defaults.marketplaceSettings.smarterMailOnlineMeetingsEnabled,zoomEnabled:g.defaults.marketplaceSettings.zoomEnabled},g.defaults.onlyofficeSettings={enabled:g.defaults.marketplaceSettings.onlyOfficeEnabled,serverUrl:g.defaults.onlyofficeSettings.serverUrl,maxConnections:g.defaults.onlyofficeSettings.maxConnections||0,maxConnectionsPerUser:g.defaults.onlyofficeSettings.maxConnectionsPerUser||0},g.defaults.wopiSettings={enabled:g.defaults.marketplaceSettings.collaboraEnabled,serverUrl:g.defaults.wopiSettings.serverUrl,maxConnections:g.defaults.wopiSettings.maxConnections||0,maxConnectionsPerUser:g.defaults.wopiSettings.maxConnectionsPerUser||0},g.defaults.maxDomainSize=1024*g.diskSpaceInput*1024,g.defaults.maxMessageSize=1024*g.maxMessageSizeInput,g.defaults.mailingListMaxMessageSize=1024*g.mailingListMaxMessageSizeInput,g.defaults.maxAttachedFileSize=1024*g.maxAttachedFileSizeInput,g.defaults.bypassGreyListing=!g.enableGreylisting,g.defaults.defaultCaRestrictionLevel=g.catchAllEnabled?1:2,g.settings.ldapSettings.ldap_DisallowOptOut=!g.ldapDisallowOptOut;var s={globalMailSettings:{domainDefaultSettings:g.defaults,ldapSettings:{ldap_DisallowOptOut:g.settings.ldapSettings.ldap_DisallowOptOut},pathSettings:{rootMailPath:g.settings.pathSettings.rootMailPath}}};g.canChangeShowPassword||(s.globalMailSettings.domainDefaultSettings.enableShowPasswords=null);t.spinner.show(),n.post("~/api/v1/settings/sysadmin/global-mail",JSON.stringify(s)).then((function(){a.$setPristine(),a.$setUntouched()}),u.report).finally(t.spinner.hide)},g.cancel=function(e,t){f(),t.$setPristine()},g.onClickAllowUserProfileEdits=function(e,t){g.defaults.allowUserProfileEdits||(g.ldapDisallowOptOut=!1)},g.openAdvancedXMLBody=function(e,t){s.show({locals:{domain:null,isMobile:t,text:t?g.defaults.autoDiscoverSettings.mobileXML:g.defaults.autoDiscoverSettings.desktopXML,settings:g.defaults.autoDiscoverSettings.services},controller:"editAutodiscoverXml",controllerAs:"ctrl",templateUrl:"app/sysadmin/manage/domains/modals/edit-autodiscover-xml.dlg.html",targetEvent:e,clickOutsideToClose:!1}).then((function(e){g.pageForm.$setDirty(),t?g.defaults.autoDiscoverSettings.mobileXML=e:g.defaults.autoDiscoverSettings.desktopXML=e}),(function(e){}))},g.openAutoDiscoverModal=function(e,t){s.show({locals:{type:t,domain:null,hostname:g.defaults.hostname,settings:g.defaults.autoDiscoverSettings.services[t]},controller:"editAutoDiscoverSettingsController",controllerAs:"ctrl",templateUrl:"app/sysadmin/manage/domains/modals/edit-autodiscover-settings.dlg.html",targetEvent:e,clickOutsideToClose:!1}).then((function(e){g.pageForm.$setDirty(),g.defaults.autoDiscoverSettings.services[t]=e}),(function(e){}))},g.openPropagateModal=function(e){s.show({locals:{},controller:"domainPropagateDomainController",controllerAs:"ctrl",templateUrl:"app/sysadmin/manage/domains/modals/domain-propagation.dlg.html",targetEvent:e})},g.webRtcNewServer=function(e,t){s.show({locals:{server:null,newItem:!0},controller:"editStunServerController",controllerAs:"ctrl",templateUrl:"app/shared/modals/stun-server.dlg.html",targetEvent:e}).then((function(e){e.server.uris=e.server.urlstring&&e.server.urlstring.split(/[\r\n]+/),e.server.uris.sort(),e.server.urlstring=null,g.defaults.webRtcServers.push(e.server),g.defaults.webRtcServers.sort((function(e,t){return(e.uris[0]||"").localeCompare(t.uris[0]||"")})),t.$setDirty()}),(function(){}))},g.webRtcEditServer=function(e,t,a){s.show({locals:{server:{serverType:t.serverType,urlstring:t.uris.join("\r\n"),username:t.username,credential:t.credential},newItem:!1},controller:"editStunServerController",controllerAs:"ctrl",templateUrl:"app/shared/modals/stun-server.dlg.html",targetEvent:e}).then((function(e){var n;if(e.deleteItem)return(n=g.defaults.webRtcServers.indexOf(t))>-1&&g.defaults.webRtcServers.splice(n,1),void a.$setDirty();e.server.uris=e.server.urlstring&&e.server.urlstring.split(/[\r\n]+/),e.server.uris.sort(),e.server.urlstring=null,(n=g.defaults.webRtcServers.indexOf(t))>-1&&g.defaults.webRtcServers.splice(n,1,e.server),g.defaults.webRtcServers.sort((function(e,t){return(e.uris[0]||"").localeCompare(t.uris[0]||"")})),a.$setDirty()}),(function(){}))},a.$on("licensingChanged",(function(){o.init().then(f,u.report)})),f()}e.$inject=["$state","$rootScope","$scope","$http","$mdDialog","$q","$timeout","$translate","coreDataLicensing","claimsService","errorHandling","masonryReveal"],angular.module("smartermail").controller("sysAdminDomainDefaultsController",e)}();
477!function(){"use strict";
477function e(e,n,a,i,t,s,d,o,r,m,c,l,u){var f='14px Roboto,"Segoe UI","Lucida Grande","Lucida Sans Unicode",Helvetica,Arial,sans-serif',g=22,S=this;function h(){S.lastWindowWidth=S.windowWidth,S.windowWidth=$("#domainHeadingContainer").width(),0===S.windowWidth&&t((function(){h()}),50),function(){if(!S.combinedMenu)return;for(var e=w(i("translate")("MORE"),f)+g+14,n=0;n<S.combinedMenu.length;n++){var a=S.combinedMenu[n];a.hidden||(a.itemWidth=w(a.translated_title,f)+g,e+=a.itemWidth,a.showInSecondaryMenu=a.alwaysShowInSecondaryMenu||e>S.windowWidth&&n>=2,a.showInPrimaryMenu=!a.showInSecondaryMenu)}p()}()}function p(){var e=S.selectedSection;S.moreMenuSelected=e&&e.showInSecondaryMenu,S.moreMenuHasAnyItems=_.some(S.combinedMenu,(function(e){return!e.hidden&&e.showInSecondaryMenu}))}function N(){if(S.domainSettings){var e=a.current.name,t=[{translated_title:i("translate")("EVENTS"),sref:"index.sysadmin-manage.dashboard.domain-specific.domain-events"},{translated_title:i("translate")("SHARING"),sref:"index.sysadmin-manage.dashboard.domain-specific.domain-sharing"},{translated_title:i("translate")("SIGNATURES"),sref:"index.sysadmin-manage.dashboard.domain-specific.domain-email-customization"},{translated_title:i("translate")("SPAM_FILTERING"),sref:"index.sysadmin-manage.dashboard.domain-specific.domain-spam-filtering"},{translated_title:i("translate")("CONTENT_FILTERING"),sref:"index.sysadmin-manage.dashboard.domain-specific.domain-content-filtering"},{translated_title:i("translate")("USER_DEFAULTS"),sref:"index.sysadmin-manage.dashboard.domain-specific.user-defaults"},{translated_title:i("translate")("SYSADMIN_SECURITY_PASSWORD_REQUIREMENTS"),sref:"index.sysadmin-manage.dashboard.domain-specific.domain-password-requirements"}];m.domainPermissions.showMessageArchiveSearch&&t.push({translated_title:i("translate")("MESSAGE_ARCHIVE_SEARCH"),sref:"index.sysadmin-manage.dashboard.domain-specific.domain-message-archive"}),t=_.sortBy(t,(function(e){return e.translated_title}));var s=[{translated_title:i("translate")("OPTIONS"),sref:"index.sysadmin-manage.dashboard.domain-specific.domain-config",sparams:{id:S.domainName,idn:S.idnName}},{translated_title:i("translate")("ACCOUNTS"),sref:"index.sysadmin-manage.dashboard.domain-specific.domain-users"},{translated_title:i("translate")("GENERAL"),sref:"index.sysadmin-manage.dashboard.domain-specific.domain-general-settings"},{translated_title:i("translate")("USER_CONNECTIONS"),sref:"index.sysadmin-manage.dashboard.domain-specific.domain-user-connections"},{translated_title:i("translate")("USER_STATUSES"),sref:"index.sysadmin-manage.dashboard.domain-specific.domain-user-statuses"}];s=s.concat(t),S.combinedMenu=s;var d=_.find(S.combinedMenu,(function(n){return n.sref===e}));S.selectedSection=d||S.combinedMenu[0],n.$applyAsync(),y(),h()}}function w(e,n){var a=(w.canvas||(w.canvas=document.createElement("canvas"))).getContext("2d");return a.font=n,a.measureText(e).width}function y(){if(S.firstRun||(S.selectedSection.sparams?a.go(S.selectedSection.sref,S.selectedSection.sparams):a.go(S.selectedSection.sref)),S.firstRun){if(a.current){var e=a.current.name,n=_.find(S.combinedMenu,(function(n){return e.indexOf(n.sref)>-1}));n?(n.sparams?a.go(e,n.sparams):a.go(e),S.selectedSection=n):S.selectedSection.sparams?a.go(S.selectedSection.sref,S.selectedSection.sparams):a.go(S.selectedSection.sref)}S.firstRun=!1}p()}S.idnName=a.params.idn,S.domainName=a.params.id,S.mode=!0,S.firstRun=!0,function(){if(S.idnName)return;if(!/(^|[.\u3002\uFF0E\uFF61])xn--/i.test(S.domainName))return;m.settingsData.domainData.then((function(e){S.idnName=e.idnName,a.params.idn=S.idnName}),r.report)}(),S.selectedSectionChanged=y,n.$on("licensingChanged",(function(){o.init().then(N,r.report)})),function(){S.windowWidth=S.lastWindowWidth=$("#domainHeadingContainer").width(),window.addEventListener("resize",h,!0),n.$on("$destroy",(function(){window.removeEventListener("resize",h,!0)})),e.secondaryImpersonationDomain=S.domainName,e.secondaryImpersonationIdn=S.idnName,window.stSecondaryImpersonationDomain=S.domainName,a.current.data.pageTitle=S.idnName,m.reset(),m.domain=S.domainName;var i=[d.get("~/api/v1/settings/domain/domain"),m.loadDomainPermissions()];S.idnName||i.push(d.get("~/api/v1/settings/domain/data"));
477if(s.all(i).then((function(e){S.domainSettings=e[0].data.domainSettings,e.length>=3&&(S.idnName=e[2].data.domainData.idnName,a.current.data.pageTitle=S.idnName);N(),t((function(){h()}),50)}),r.report),u.isConnected()&&"connected"==u.connection.state.toLowerCase())c();else var o=e.$on("signalRHubManagerConnected",(function(){o(),c()}));function c(){u.connection.invoke("subscribeSysAdminToDomain",l.getRefreshToken(),S.domainName)}e.$on("signalRHubManagerReconnected",c)}(),S.moreMenuSelected=!1}e.$inject=["$rootScope","$scope","$state","$filter","$timeout","$q","$http","coreDataLicensing","errorHandling","coreDataDomainSettings","claimsService","authStorage","signalrHubManager"],angular.module("smartermail").controller("sysAdminEditDomainController",e)}();
478!function(){"use strict";function e(e,n,t,a,i,o,s,r,p,l,d,c,u){var g=this,m=u.create(n);function O(){var e=[t.get("~/api/v1/settings/sysadmin/user-defaults"),t.get("~/api/v1/settings/sysadmin/antispam/settings")];return o.all(e).then((function(e){g.data=e[0].data.settings,g.enableGreylisting=!g.data.disableGreylisting,g.mailboxSpaceInput=g.data.maxMailboxSize/1048576,g.previewPaneOption=g.data.previewUsePreview?"right":"none",!g.Licensing.enterpriseFunctionality&&g.data&&g.data.services?(g.data.services.xmpp=!1,g.data.enableEas=!1,g.data.enableMapiEws=!1):g.Licensing.enterpriseFunctionality&&g.Licensing.isActivated||(g.data.enableEas=!1);a((function(){$("#timeZoneSearch").on("keydown",(function(e){e.stopPropagation()})),$("#textEncodeSearch").on("keydown",(function(e){e.stopPropagation()}))})),g.canChangeGreylist=e[1].data.settings.greylisting.allowUserOverride}),d.report)}g.enableSpamfoo=window.stEnableSpamfoo,g.timeZoneSearch="",g.textEncodeSearch="",g.isLoaded=!1,g.contentReady=!1,g.mailboxSpaceInput=0,g.Licensing=[],g.availableLocales=[],g.enableGreylisting=!1,g.clearSearchTerm=function(){g.timeZoneSearch="",g.textEncodeSearch=""},g.openPropagateModal=function(e){g.data.previewPaneOption=g.previewPaneOption,i.show({locals:{modUser:g.data},controller:"sysAdminPropagateUsersController",controllerAs:"PropCtrl",templateUrl:"app/sysadmin/manage/domains/modals/user-propagation.dlg.html",targetEvent:e})},g.save=function(n,a){if(!a.$valid)return;g.data.previewUsePreview="none"!==g.previewPaneOption,g.data.maxMailboxSize=1048576*g.mailboxSpaceInput,g.data.disableGreylisting=!g.enableGreylisting,e.spinner.show(),t.post("~/api/v1/settings/sysadmin/user-defaults",JSON.stringify(g.data)).then((function(){a.$setPristine(),a.$setUntouched()}),d.report).catch(d.report).finally(e.spinner.hide)},g.cancel=function(n,t){e.spinner.show(),O().finally((function(){e.spinner.hide(),e.$broadcast("masonry:contentsChanged")})),t.$setPristine()},g.navigateUp=function(e){e.$setPristine(),s.go("^")},g.data=void 0,g.mailForwardingChanged=function(){g.data.mailForwarding&&(g.data.keepRecipients=!0)},function(){e.spinner.show();for(var n=l.init().then((function(){g.authOptions=l.authOptions,g.autoSaveOptions=l.autoSaveOptions,g.deleteOptions=l.deleteOptions,g.junkOption=l.junkOption,g.removeFromJunkMailOption=l.removeFromJunkMailOption,g.encodingOptions=l.encodingOptions,g.fontOptions=l.fontOptions,g.fontSizeOptions=l.fontSizeOptions,g.forwardOptions=l.forwardOptions,g.plusAddressOptions=l.plusAddressOptions,g.previewPaneOptions=l.previewPaneOptions,g.replyHeaderOptions=l.replyHeaderOptions,g.sortOptions=l.sortOptions,g.startupOptions=l.startupOptions,g.throttleOptions=l.throttleOptions,g.timeZoneOptions=l.timeZoneOptions,g.userStatusOptions=l.userStatusOptions,g.availableIndexers=l.availableIndexers,g.delayOptions=l.delaySendOption}),(function(){})),t=p.init().then((function(){g.Licensing=angular.copy(p.Data.Licensing)}),d.report),a=O(),i=0;i<angularLangNames.length;i++){var s={n:angularLangNames[i].n,v:angularLangNames[i].v,engName:c.getEnglishName(angularLangNames[i].v)};g.availableLocales.push(s)}o.all([n,t,a]).then((function(){g.isLoaded=!0,m.wait((function(){g.contentReady=!0,e.spinner.hide()}))}))}()}e.$inject=["$rootScope","$scope","$http","$timeout","$mdDialog","$q","$state","coreLicensing","coreDataLicensing","userSettingEnums","errorHandling","localeInfoService","masonryReveal"],angular.module("smartermail").controller("sysAdminUserDefaultsController",e)}();
479!function(){"use strict";function e(e,t,a,n,s,r,o,c,l,i,d,p,u){var T=this;T.gridColumns=[{sortField:"ip",translate:"IP_ADDRESS"},{sortField:"ipLocation",translate:"COUNTRY"},{sortField:"protocol",translate:"PROTOCOL"},{sortField:"blockType",translate:"TYPE"},{sortField:"ruleDescription",translate:"RULE"},{sortField:"last30Days",translate:"IDS_BLOCKS_30_DAYS"}],T.queryUrl="~/api/v1/settings/sysadmin/blocked-ips",T.searchText="",T.searchParams={startindex:0,count:0,search:"",sortType:null,ascending:!1},T.tableParams=new d({sorting:{1:"asc"},count:25},{getData:function(e){for(var a in T.searchParams.startindex=(e.page()-1)*e.count(),T.searchParams.count=e.count(),T.searchParams.sortType=null,e.sorting())if(e.sorting().hasOwnProperty(a)&&e.sorting()[a]){T.searchParams.sortType=a,T.searchParams.ascending="desc"!==e.sorting()[a];break}return t.spinner.show(),n.post(T.queryUrl,JSON.stringify(T.searchParams)).then((function(t){return T.
479searchResults=t.data.ipBlocks,T.searchResultCount=t.data.count,angular.forEach(T.searchResults,(function(e){switch(e.blockType){default:case 0:e.blockTypeTranslate="UNDEFINED";break;case 1:e.blockTypeTranslate="IDS_BLOCKS_TYPES_HARVESTING";break;case 2:e.blockTypeTranslate="ABUSE_DETECTION_DETECTION_TYPE_3";break;case 3:e.blockTypeTranslate="IDS_BLOCKS_TYPES_DOS";break;case 4:e.blockTypeTranslate="IDS_BLOCKS_BOUNCES_INDICATE_SPAMMER";break;case 5:e.blockTypeTranslate="INTERNAL_SPAMMER";break;case 6:e.blockTypeTranslate="ABUSE_DETECTION_DETECTION_TYPE_6";break;case 7:e.blockTypeTranslate="ABUSE_DETECTION_DETECTION_TYPE_5"}switch(e.blockAction){default:case 0:e.blockActionTranslate="BLOCK";break;case 1:e.blockActionTranslate="QUARANTINE"}e.ipLocationTranslate=e.ipLocation?e.ipLocation:"NA"})),e.total(T.searchResultCount),T.searchResults})).finally(t.spinner.hide)},counts:t.commonTableCounts}),T.checkboxes=p.init(),T.checkboxes.table=T.tableParams,T.checkboxes.specialKey=function(e){return e.ip+"|"+e.protocol},T.contextMenuGridItem=function(t,a){if(!a||"touchstart"!==a.type&&"touchend"!==a.type&&3!==a.which||t.criticallyErrored)return;a.stopPropagation(),a.preventDefault();var n=T.checkboxes.getCheckedItems();(n.length>1&&!_.some(n,(function(e){return e===T.checkboxes.specialKey(t)}))||n.length<=1)&&(T.checkboxes.reset(),T.checkboxes.checkCheckbox(a,t),n=[T.checkboxes.specialKey(t)]);e.dropdownEvent=$.extend(!0,{},a),e.dropdownOptions=[{key:"unblock",click:f,params:{ev:e.dropdownEvent,blacklist:!1},translateKey:"UNBLOCK"},{key:"blacklist",click:f,params:{ev:e.dropdownEvent,blacklist:!0},translateKey:"BLACKLIST"},{divider:!0},{key:"copySource",click:b,params:{ev:e.dropdownEvent,item:t},translateKey:"COPY_SOURCE"}];var s=$("#context-menu-area");if(s){var r=c('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);s.append(r)}},T.copyIp=b,T.deleteIds=h,T.refresh=k,T.searchItems=function(){T.searchParams.search=T.searchText,T.checkboxes.reset(),T.tableParams.reload()},T.queryUrl="~/api/v1/settings/sysadmin/blocked-ips",T.searchParams={startindex:0,count:0,sortType:null,search:"",ascending:!1},T.checkboxes.reset(),T.tableParams.reload();var E=setInterval((function(){T.tableParams.data.forEach((function(e){e.secondsLeftOnBlock-=1,e.secondsLeftOnBlock<0&&(e.secondsLeftOnBlock=0)})),e.$applyAsync()}),1e3);function f(e,t){h(t,e.blacklist)}function h(e,t){var s=[];if(T.checkboxes.items)for(var c in T.checkboxes.items){var i=c.split("|"),d=$.grep(T.searchResults,(function(e){return e.ip===i[0]}));s=s.concat(d)}var p=s.length;if(t){var E=/((^\s*((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))\s*$)|(^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$))/;if(0===(s=s.filter((function(e){return E.test(e.ip)}))).length)return s.length!==p?void l.report("WARN_SOME_ITEMS_NOT_BLACKLISTED"):void l.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}else if(0===s.length)return void l.report("SPOOL_ERRORS_NO_ITEMS_SELECTED");var f=r.confirmDeletion().textContent(t?u.reactPluralize("CONFIRMATIONS_BLACKLIST_ITEMS",{count:p}):u.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:p})).targetEvent(e);t&&(f=r.confirmWithOption().title(a("translate")("CONFIRMATION_REQUIRED")).textContent(o.instant("CONFIRMATIONS_BLACKLIST_ITEMS_one")).optionText(o.instant("BLACKLIST_ENTIRE_CLASS_C_IP_RANGE")).cancel(a("translate")("CANCEL")).ok(a("translate")("BLOCK"))),r.show(f).then((function(e){var a=[];a=t?JSON.stringify({ipBlocks:s,blockClassCRange:e}):JSON.stringify({ipBlocks:s}),n.post("~/api/v1/settings/sysadmin/unblock-ips"+(t?"/1":""),a).then((function(e){t&&s.length>0&&s.length!==p?(l.warn("WARN_SOME_ITEMS_NOT_BLACKLISTED"),k(!0)):(e.data&&e.data.success&&e.data.message&&l.warn(e.data.message),k())}),l.report)}),(function(){}))}function k(e){T.checkboxes.reset(),T.tableParams.reload().then((function(){}),(function(){}))}function b(e){if(e&&e.item&&e.item.ip){var t=document.createElement("textarea");
479t.value=e.item.ip,document.body.appendChild(t),t.focus(),t.select(),document.execCommand("copy"),document.body.removeChild(t),i.report("COPIED_TO_CLIPBOARD")}}e.$on("$destroy",(function(){clearInterval(E)}))}e.$inject=["$scope","$rootScope","$filter","$http","$localStorage","$mdDialog","$translate","$compile","errorHandling","successHandling","NgTableParams","gridCheckboxes","i18n"],angular.module("smartermail").controller("adminIdsBlocksController",e)}();
480!function(){"use strict";function i(i,s,e,t,p,n,r,o,d,a,c,m){var l=this;i.addresses=p,i.smtp=n,i.pop=r,i.imap=o,i.xmpp=d,i.description=a,i.fromGrid=c,i.isValid=!0,i.isSwitchSelected=!0,i.readOnly=m,i.description=e.instant(i.description),t((function(){l.userForm.$setDirty()}),100),i.save=function(e){(i.isValid=e.userForm.$valid&&(i.isSwitchSelected=i.smtp||i.pop||i.imap||i.xmpp,i.isSwitchSelected))&&s.hide({address:i.addresses,smtp:i.smtp,pop:i.pop,imap:i.imap,xmpp:i.xmpp,description:i.description})},i.cancel=function(){s.cancel()}}i.$inject=["$scope","$mdDialog","$translate","$timeout","addresses","smtp","pop","imap","xmpp","description","fromGrid","readOnly"],angular.module("smartermail").controller("sysAdminConnectionsEditBlacklistingController",i)}();
481!function(){"use strict";function e(e,s,t,o,d,n){var a=this;a.address=o,e.type=d,e.addressRequired=!1,e.editAddress=n,e.init=function(){switch(e.type){case t.spoolStatTypes.OutboundSenders:case t.spoolStatTypes.InboundRecipients:case t.spoolStatTypes.InboundSenders:e.addressRequired=!0}},e.save=function(){e.spoolDeleteForm.$valid&&s.hide({address:a.address,type:e.type})},e.cancel=function(){s.cancel()}}e.$inject=["$scope","$mdDialog","coreDataSpool","address","type","editAddress"],angular.module("smartermail").controller("spoolDeleteConfirmController",e)}();
482!function(){"use strict";function n(n,o,e){n.address=e,n.save=function(){o.hide()},n.cancel=function(){o.cancel()}}n.$inject=["$scope","$mdDialog","address"],angular.module("smartermail").controller("spoolDropConnectionsController",n)}();
483!function(){"use strict";function e(e,o,s,t,d,n,a,r){var i=this;i.address=d,e.editAddress=r,e.addressRequired=!1,e.type=n,e.count=a||0,e.folder=t,e.init=function(){switch(e.type){case s.spoolStatTypes.OutboundSenders:case s.spoolStatTypes.InboundRecipients:case s.spoolStatTypes.InboundSenders:e.addressRequired=!0}},e.save=function(){e.spoolMoveForm.$valid&&o.hide({location:e.folder,address:i.address,type:e.type})},e.cancel=function(){o.cancel()}}e.$inject=["$scope","$mdDialog","coreDataSpool","spoolPath","address","type","count","editAddress"],angular.module("smartermail").controller("spoolMoveConfirmController",e)}();
484!function(){"use strict";function e(e,i,s,n){e.recipients=s,e.statuses=n;const t=/([_\.@])/gm;if(e.recipients)for(var r=0;r<e.recipients.length;r++){var c=e.recipients[r];c.addressWbr=(c.address||"").replace(t,"<wbr>$1")}e.save=function(){i.hide()},e.cancel=function(){i.cancel()}}e.$inject=["$scope","$mdDialog","recipients","statuses"],angular.module("smartermail").controller("spoolViewRecipientsController",e)}();
485!function(){"use strict";function n(n,t,i){n.count=i,n.prioritySelection=101,n.priorityOptions=[{value:100,translation:"LOW"},{value:101,translation:"NORMAL"},{value:102,translation:"HIGH"}],n.accept=function(){t.hide(n.prioritySelection)},n.cancel=function(){t.cancel()}}n.$inject=["$scope","$mdDialog","count"],angular.module("smartermail").controller("changeSpoolPriority",n)}();
486!function(){"use strict";function o(o,n,a,i,e,t){o.domainName=e,o.domainPath=t,o.cancel=function(){n.cancel()},o.removeFromList=function(){a.post("~/api/v1/settings/sysadmin/remove-domain-from-list/"+o.domainName).then((function(){n.hide(!0)}),i.report)}}o.$inject=["$scope","$mdDialog","$http","errorHandling","domainName","domainPath"],angular.module("smartermail").controller("failedToLoadDialogController",o)}();
487!function(){"use strict";function e(e,n,s,t,o,a,r,i,d,u,l,c,p,b,m,S,f){var I=this,g=15e4;n.outboundSenders=[],n.outboundIpAddress=[],n.inboundRecipients=[],n.inboundSenders=[],n.inboundIpAddress=[],n.inboundDomains=[];var h,y,A=!1,R=!1;function O(){var e=[];e.push(u.Data.outboundSenders),e.push(u.Data.outboundIPAddresses),e.push(u.Data.inboundRecipients),e.push(u.Data.inboundSenders),e.push(u.Data.inboundIPAddresses),e.push(u.Data.inboundDomains),a.all(e).then((function(e){n.processOutboundSenders(e[0]),n.processOutboundIPAddresses(e[1]),n.processInboundRecipients(e[2]),n.processInboundSenders(e[3]),n.processInboundIPAddresses(e[4]),n.processInboundDomains(e[5])}),p.report)}function C(e){n.processMessageStats=[],e&&(n.processMessageStats.push({key:"SPOOL_LAST_5_MINUTES",delivery:e.deliveryCountLast5Minutes,local:e.localDeliveryCountLast5Minutes,remote:e.remoteDeliveryCountLast5Minutes}),n.processMessageStats.push({key:"SPOOL_LAST_HOUR",delivery:e.deliveryCountLastHour,local:e.localDeliveryCountLastHour,remote:e.remoteDeliveryCountLastHour}),n.processMessageStats.push({key:"SPOOL_LAST_24_HOURS",delivery:e.deliveryCountLast24Hours,local:e.localDeliveryCountLast24Hours,remote:e.remoteDeliveryCountLast24Hours}),n.processMessageStats.push({key:"SPOOL_SINCE_START",delivery:e.deliveryCountSinceLastStart,local:e.localDeliveryCountSinceLastStart,remote:e.remoteDeliveryCountSinceLastStart}))}n.messageStats={},n.processedMessageStats=[],n.isInitialized=!1,I.canImpersonate=l.canImpersonate(),I.spoolStatTypes=u.spoolStatTypes,n.reverseIps={},n.userList={},n.smtpBlocks=[],I.messageStatsTableParams=new m({},{getData:function(e){return e.total(n.processMessageStats.length),n.processMessageStats}}),I.outboundSendersTableParams=new m({},{getData:function(e){return I.outboundSenderResults=n.outboundSenders,I.outboundSendersCount=n.outboundSenders.length,e.total(n.outboundSenders.length),I.outboundSenderResults}}),I.outboundIPAddressesTableParams=new m({},{getData:function(e){return I.outboundIPAddressesResults=n.outboundIpAddress,I.outboundIPAddressesCount=n.outboundIpAddress.length,e.total(n.outboundIpAddress.length),I.outboundIPAddressesResults}}),I.inboundRecipientsTableParams=new m({},{getData:function(e){return I.inboundRecipientsResults=n.inboundRecipients,I.inboundRecipientsCount=n.inboundRecipients.length,e.total(n.inboundRecipients.length),I.inboundRecipientsResults}}),I.inboundSendersTableParams=new m({},{getData:function(e){return I.inboundSendersResults=n.inboundSenders,I.inboundSendersCount=n.inboundSenders.length,e.total(n.inboundSenders.length),I.inboundSendersResults}}),I.inboundIpAddressTableParams=new m({},{getData:function(e){return I.inboundIpAddressResults=n.inboundIpAddress,I.inboundIpAddressCount=n.inboundIpAddress.length,e.total(n.inboundIpAddress.length),I.inboundIpAddressResults}}),I.inboundDomainsTableParams=new m({},{getData:function(e){return I.inboundDomainsResults=n.inboundDomains,I.inboundDomainsCount=n.inboundDomains.length,e.total(n.inboundDomains.length),I.inboundDomainsResults}}),n.init=function(){e.spinner.show();var s=[];s.push(u.Data.messageStats),s.push(u.initialSpoolLoad()),s.push(u.Data.smtpBlockRules),a.all(s).then((function(e){n.messageStats=e[0],C(n.messageStats),n.smtpBlocks=$.extend(!0,[],e[2]),n.initSpool(),n.isInitialized=!0}),(function(e){n.isInitialized=!1,p.report(e)})).finally(e.spinner.hide)},n.initSpool=function(){if(R)return;n.$on("spoolRefresh",(function(){A||(A=!0,n.updateTableRows())})),h=t((function(){n.updateMessageCycle()}),g),y=t((function(){n.updateTablesCycle()}),2e4),n.initialTableLoad()},n.messageStatRefesh=function(){u.Data.refreshMessageStats.then((function(e){n.messageStats=e,C(n.messageStats),I.messageStatsTableParams.reload()}),p.report)},n.updateMessageCycle=function(){n.messageStatRefesh(),h=t((function(){n.updateMessageCycle()}),g)},n.updateTablesCycle=function(){n.updateTableRows(),I.outboundSendersTableParams.reload(),I.outboundIPAddressesTableParams.reload(),I.inboundRecipientsTableParams.reload(),I.inboundSendersTableParams.reload(),I.inboundIpAddressTableParams.reload(),I.inboundDomainsTableParams.reload(),y=t((function(){n.updateTablesCycle()}),2e4)},n.updateTableRows=function(){u.reloadSpoolStats().then((function(){A=!1,O()}),(function(e){A=!1,p.report(e)}))},n.initialTableLoad=O,n.processOutboundSenders=function(e){var s=Object.keys(e);n.outboundSenders.length=0,angular.forEach(s,(function(s){null!=e[s].OutboundSenders.enabled&&n.outboundSenders.push({key:s,times:{5:e[s].OutboundSenders[5],1:e[s].OutboundSenders[1],24:e[s].OutboundSenders[24]},enabled:e[s].OutboundSenders.enabled})}
487)),n.outboundSenders=o("orderBy")(n.outboundSenders,["times[1]","times[24]"],!0),I.outboundSendersTableParams.reload(),t((function(){n.$applyAsync()}))},n.processOutboundIPAddresses=function(e){var s=Object.keys(e);n.outboundIpAddress.length=0,u.getReverseIPs(s,"out").then((function(e){n.reverseIps=e}),p.report),angular.forEach(s,(function(s){n.outboundIpAddress.push({key:s,times:{5:e[s].OutboundIPAddresses[5],1:e[s].OutboundIPAddresses[1],24:e[s].OutboundIPAddresses[24]},enabled:e[s].OutboundIPAddresses.enabled})})),n.outboundIpAddress=o("orderBy")(n.outboundIpAddress,["times[1]","times[24]"],!0),t((function(){n.$applyAsync()}))},n.processInboundRecipients=function(e){var s=Object.keys(e);n.inboundRecipients.length=0,angular.forEach(s,(function(s){null!=e[s].InboundRecipients.enabled&&n.inboundRecipients.push({key:s,times:{5:e[s].InboundRecipients[5],1:e[s].InboundRecipients[1],24:e[s].InboundRecipients[24]},enabled:e[s].InboundRecipients.enabled})})),n.inboundRecipients=o("orderBy")(n.inboundRecipients,["times[1]","times[24]"],!0),t((function(){n.$applyAsync()}))},n.processInboundSenders=function(e){var s=Object.keys(e);n.inboundSenders.length=0,angular.forEach(s,(function(s){null!=e[s].InboundSenders.enabled&&n.inboundSenders.push({key:s,times:{5:e[s].InboundSenders[5],1:e[s].InboundSenders[1],24:e[s].InboundSenders[24]},enabled:e[s].InboundSenders.enabled})})),n.inboundSenders=o("orderBy")(n.inboundSenders,["times[1]","times[24]"],!0),t((function(){n.$applyAsync()}))},n.processInboundIPAddresses=function(e){var s=Object.keys(e);n.inboundIpAddress.length=0,u.getReverseIPs(s,"in").then((function(e){n.reverseIps=e}),p.report),angular.forEach(s,(function(s){n.inboundIpAddress.push({key:s,times:{5:e[s].InboundIPAddresses[5],1:e[s].InboundIPAddresses[1],24:e[s].InboundIPAddresses[24]},enabled:e[s].InboundIPAddresses.enabled})})),n.inboundIpAddress=o("orderBy")(n.inboundIpAddress,["times[1]","times[24]"],!0),t((function(){n.$applyAsync()}))},n.processInboundDomains=function(e){var s=Object.keys(e);n.inboundDomains.length=0,angular.forEach(s,(function(s){n.inboundDomains.push({key:s,enabled:e[s].InboundDomains.enabled,times:{5:e[s].InboundDomains[5],1:e[s].InboundDomains[1],24:e[s].InboundDomains[24]}})})),n.inboundDomains=o("orderBy")(n.inboundDomains,["times[1]","times[24]"],!0),t((function(){n.$applyAsync()}))},n.manageUser=function(e,n){const s=e.key.split("@");if(s.length<2)return;d.go("index.sysadmin-manage.dashboard.domain-specific.domain-users.specific",{id:s[1],selectedUserId:e.key})},n.dropConnections=function(e,n){r.show({locals:{address:e},controller:"spoolDropConnectionsController",controllerAs:"ctrl",templateUrl:"app/sysadmin/manage/modals/admin-spool-drop-connections.dlg.html",targetEvent:n}).then((function(){var n=JSON.stringify({dropInfo:[e]});s.post("~/api/v1/settings/sysadmin/drop-user-connections",n).then((function(){b.report()}),p.report)}),(function(){}))},n.deleteMessages=function(e,n,t){r.show({locals:{address:e,type:n,editAddress:!1},controller:"spoolDeleteConfirmController",controllerAs:"ctrl",templateUrl:"app/sysadmin/manage/modals/admin-spool-delete-confirm.dlg.html",targetEvent:t}).then((function(){var t=JSON.stringify({spoolInput:[{type:n,search:e}]});s.post("~/api/v1/settings/sysadmin/spool-delete-messages/",t).then((function(){b.report()}),p.report)}),(function(){}))},n.moveMessages=function(e,n,t){var o="MovedSpoolItems";"W"===window.stOS?o+="\\":o+="/";r.show({locals:{spoolPath:c.settings.globalMailSettings.pathSettings.spoolPath+o,address:e,type:n,count:0,editAddress:!1},controller:"spoolMoveConfirmController",controllerAs:"ctrl",templateUrl:"app/sysadmin/manage/modals/admin-spool-move-confirm.dlg.html",targetEvent:t}).then((function(t){var o=JSON.stringify({spoolInput:[{type:n,moveLocation:t.location,search:e}]}),r=[s.post("~/api/v1/settings/sysadmin/move-spool-messages/",o)];a.all(r).then((function(){b.report()}),p.report)}),(function(){}))},n.disableUser=function(e,n,t){if(e.enabled){var a=r.confirmWithOption().title(o("translate")("CONFIRMATION_REQUIRED")).textContent(f.reactPluralize("CONFIRMATIONS_DISABLE_USERS",{count:1})).optionText(i.instant("ALLOW_INCOMING_MESSAGES")).cancel(o("translate")("CANCEL")).ok(o("translate")("DISABLE"));r.show(a).then((function(n){var t=S.getClientId(),o=JSON.stringify({email:e.key,userData:{securityFlags:{isDisabled:!0}},allowMail:n,clientId:t});s.post("~/api/v1/settings/sysadmin/post-user",o).then((function(){e.enabled=!1,b.report()}),(function(e){p.report(e)}))}))}else{a=r.confirm().title(o("translate")("CONFIRMATION_REQUIRED")).textContent(f.reactPluralize("CONFIRMATIONS_ENABLE_USERS",{count:1})).cancel(o("translate")("CANCEL")).ok(o("translate")("ENABLE"));r.show(a).then((function(){var n=S.getClientId(),t=JSON.stringify({email:e.key,userData:{securityFlags:{isDisabled:!1}},clientId:n}
487);s.post("~/api/v1/settings/sysadmin/post-user",t).then((function(){e.enabled=!1,b.report()}),(function(e){p.report(e)}))}))}},n.changePassword=function(e,n){if(!e||!e.key)return;r.show({controller:"userEditPasswordAdminController",controllerAs:"ctrl",templateUrl:"app/settings/shared/change-user-password-admin.dlg.html",locals:{username:e.key.split("@")[0]},targetEvent:n}).then((function(n){if(""!==n.newPassword&&""!==n.confirmPassword)if(n.newPassword===n.confirmPassword){var t=S.getClientId(),o=JSON.stringify({email:e.key,userData:{password:n.newPassword},clientId:t});s.post("~/api/v1/settings/domain/post-user",o).then((function(){b.report()}),p.report)}else p.report("PASSWORDS_DONT_MATCH");else p.report("INVALID_PASSWORDS")}))},n.blacklistIp=function(e,n,t){if(e.enabled){var a=r.confirmWithOption().title(o("translate")("CONFIRMATION_REQUIRED")).textContent(i.instant("CONFIRMATIONS_BLACKLIST_ITEMS_one")).optionText(i.instant("BLACKLIST_ENTIRE_CLASS_C_IP_RANGE")).cancel(o("translate")("CANCEL")).ok(o("translate")("BLOCK"));r.show(a).then((function(n){var t={address:e.key,dataType:1,description:i.instant("SPOOL_BLOCKED_FROM_DASHBOARD"),blockClassCRange:n},o=JSON.stringify({toAdd:[t]});s.post("~/api/v1/settings/sysadmin/ip-access-set/0",o).then((function(n){e.enabled=!1,n.data&&n.data.success&&n.data.message?p.warn(n.data.message):b.report()}),p.report)}))}else{a=r.confirm().title(o("translate")("CONFIRMATION_REQUIRED")).textContent(f.reactPluralize("CONFIRMATIONS_UNBLACKLIST_ITEMS",{count:1})).cancel(o("translate")("CANCEL")).ok(o("translate")("UNBLOCK"));r.show(a).then((function(){var n=JSON.stringify({toRemove:[e.key]});s.post("~/api/v1/settings/sysadmin/ip-access-set/0",n).then((function(n){n.data&&n.data.success&&n.data.message?p.warn(n.data.message):(e.enabled=!0,b.report())}),p.report)}))}},n.blockInboundSmtp=function(t,a,d){let l;if($.grep(n.smtpBlocks,(function(e){return e.addressToBlock===t.key})).length>0){const c=r.confirm().title(o("translate")("CONFIRMATION_REQUIRED")).textContent(f.reactPluralize("CONFIRMATIONS_UNBLACKLIST_ITEMS",{count:1})).cancel(o("translate")("CANCEL")).ok(o("translate")("UNBLOCK"));r.show(c).then((function(){l=JSON.stringify({toRemoveAddresses:[t.key]}),s.post("~/api/v1/settings/sysadmin/smtp-block-rules",l).then((function(){t.enabled=!0,n.smtpBlocks=$.grep(n.smtpBlocks,(function(e){return e.addressToBlock===t.key}),!0),u.Data.smtpBlockRules=angular.copy(n.smtpBlocks),b.report()}),p.report)}),(function(){}))}else{function m(o){const a=[],r=o.blockedAddress.split(",");for(let e=0;e<r.length;++e)a.push({type:o.blockType,addressToBlock:r[e].replace(/\s+/g,""),direction:o.direction,description:o.description});l=JSON.stringify({toAdd:a}),e.spinner.show(),s.post("~/api/v1/settings/sysadmin/smtp-block-rules",l).then((function(e){t.enabled=!1,n.smtpBlocks.push(e.data.blockRules[0]),u.Data.smtpBlockRules=angular.copy(n.smtpBlocks),b.report()}),p.report).finally(e.spinner.hide)}r.show({locals:{blockType:0,blockedAddress:t.key,direction:1,description:i.instant("SPOOL_BLOCKED_FROM_DASHBOARD"),isNew:!0},controller:"sysAdminEditSmtpBlockingController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/security/modals/smtp-block.dlg.html",targetEvent:d}).then(m)}},n.$on("$destroy",(function(){R=!0,t.cancel(h),t.cancel(y)})),n.init()}e.$inject=["$rootScope","$scope","$http","$timeout","$filter","$q","$mdDialog","$translate","$state","coreDataSpool","claimsService","coreDataSysAdminSettings","errorHandling","successHandling","NgTableParams","authStorage","i18n"],angular.module("smartermail").controller("adminSpoolDashboardController",e)}();
488!function(){"use strict";function e(e,t,o,s,a,r,n,l,i,c,m,p,u,d,h,f,S,E,g){var v=this;function O(){var s=[];for(var a in v.checkboxes.items)v.checkboxes.items[a]&&(s=s.concat($.grep(v.searchResults,(function(e){return e.fileName===a}))));if(0!==s.length)if(1===s.length)n();else{var r=o.confirmDeletion().textContent(t("translate")("CONFIRMATIONS_MULTI_GENERIC",{count:s.length})).ok(t("translate")("OK")).title(t("translate")("CONFIRMATION_REQUIRED"));o.show(r).then((function(){n()}),(function(){}))}else i.report("SPOOL_ERRORS_NO_ITEMS_SELECTED");function n(){c.forceMessage(s).then((function(){e.$emit("reloadSpool"),v.checkboxes.reset(),v.tableParams.reload(),h.report()}),i.report)}}function y(){var s=[];for(var a in v.checkboxes.items)v.checkboxes.items[a]&&(s=s.concat($.grep(v.searchResults,(function(e){return e.fileName===a}))));if(0!==s.length)if(1===s.length)n();else{var r=o.confirmDeletion().textContent(t("translate")("CONFIRMATIONS_MULTI_GENERIC",{count:s.length})).ok(t("translate")("OK")).title(t("translate")("CONFIRMATION_REQUIRED"));o.show(r).then((function(){n()}))}else i.report("SPOOL_ERRORS_NO_ITEMS_SELECTED");function n(){c.refreshRetries(s).then((function(t){e.$emit("reloadSpool"),v.checkboxes.reset(),v.tableParams.reload(),h.report()}),i.report)}}function T(t){var s=[];for(var a in v.checkboxes.items)v.checkboxes.items[a]&&(s=s.concat($.grep(v.searchResults,(function(e){return e.fileName===a}))));0!==s.length?o.show({locals:{count:s.length},controller:"changeSpoolPriority",controllerAs:"ctrl",templateUrl:"app/sysadmin/manage/modals/change-spool-priority.dlg.html",targetEvent:t}).then((function(t){c.setPriority(t,s).then((function(){e.$emit("reloadSpool"),v.checkboxes.reset(),v.tableParams.reload(),h.report()}),i.report)}),(function(){})):i.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function N(e){var t=JSON.stringify({spoolInput:[{fileName:e.currentTarget.childNodes[4].innerText.replace(".eml",""),spoolName:m.settings.globalMailSettings.pathSettings.spoolPath}]});a.post("~/api/v1/settings/sysadmin/spool-message-recipients",t).then((function(t){o.show({locals:{recipients:t.data.spoolMessageRecipients,statuses:{0:"COMPLETED",1:"PENDING"}},controller:"spoolViewRecipientsController",controllerAs:"spReCtrl",templateUrl:"app/sysadmin/manage/modals/admin-spool-view-recipients.dlg.html",targetEvent:e}).then((function(e){}),(function(e){}))}),(function(e){errorMessageService.showErrorMessage(e)}))}function R(e){var t=[],s=void 0;for(var r in v.checkboxes.items)if(v.checkboxes.items[r]){var n=v.searchResults.find((function(e){return e.fileName===r}));n&&(t=t.concat(n))}if(0!==t.length||e.all)if(t.length>0&&e.all&&t.every((e=>t[0].from==e.from))&&(s=t[0].from),e.all)o.show({locals:{address:s,type:2,count:0,editAddress:e.all},controller:"spoolDeleteConfirmController",controllerAs:"ctrl",templateUrl:"app/sysadmin/manage/modals/admin-spool-delete-confirm.dlg.html",targetEvent:e.ev}).then((function(e){var t=JSON.stringify({spoolInput:[{type:c.spoolStatTypes.OutboundSenders,search:e.address},{type:c.spoolStatTypes.InboundSenders,search:e.address}]});a.post("~/api/v1/settings/sysadmin/spool-delete-messages/",t).then(I,i.report)}),(function(){}));else{var l=o.confirmDeletion().textContent(g.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:t.length})).targetEvent(e.ev);o.show(l).then((function(e){c.deleteMessages(t).then(I,i.report)}),(function(){}))}else i.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function I(){e.$emit("reloadSpool"),v.checkboxes.reset(),v.tableParams.reload(),h.report()}function M(e){var t=[],s=void 0;for(var r in v.checkboxes.items)if(v.checkboxes.items[r]){var n=v.searchResults.find((function(e){return e.fileName===r}));n&&(t=t.concat(n))}if(0!==t.length||e.all){t.length>0&&e.all&&t.every((e=>t[0].from==e.from))&&(s=t[0].from);var l="MovedSpoolItems";"W"===window.stOS?l+="\\":l+="/",o.show({locals:{spoolPath:m.settings.globalMailSettings.pathSettings.spoolPath+l,address:s,type:e.all?2:6,count:t.length,editAddress:e.all},controller:"spoolMoveConfirmController",controllerAs:"ctrl",templateUrl:"app/sysadmin/manage/modals/admin-spool-move-confirm.dlg.html",targetEvent:e.ev}).then((function(o){var s,r;if(e.all)r=JSON.stringify({spoolInput:[{type:c.spoolStatTypes.OutboundSenders,moveLocation:o.location,search:o.address},{type:c.spoolStatTypes.InboundSenders,moveLocation:o.location,search:o.address}]}),s="~/api/v1/settings/sysadmin/move-spool-messages/";else{var n=[];s="~/api/v1/settings/sysadmin/move-selected-spool-messages/";for(var l=0;l<t.length;
488++l)n.push({fileName:t[l].fileName.replace(".eml",""),spoolName:t[l].spoolName});r=JSON.stringify({spoolInput:n,moveLocation:o.location})}a.post(s,r).then(I,i.report)}),(function(){}))}else i.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function P(e,t){var o=[];for(var s in v.checkboxes.items)v.checkboxes.items[s]&&(o=o.concat($.grep(v.searchResults,(function(e){return e.fileName===s}))));var a=[];if(o.forEach((e=>a.push({fileName:e.fileName,spoolName:e.spoolName}))),0!==a.length){var r=1===a.length?a[0].fileName:g.reactPluralize("FILENAME_MESSAGES_WITH_COUNT",{count:a.length})+".zip";S.downloadLargeFile("~/api/v1/settings/sysadmin/spool-messages-export/",r,{fileName:a.map((e=>e.fileName)),spoolName:a.map((e=>e.spoolName))},"eml-download")}else i.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function k(e){if(e&&e.item){var t=document.createElement("textarea");t.value=e.item,document.body.appendChild(t),t.focus(),t.select(),document.execCommand("copy"),document.body.removeChild(t),h.report("COPIED_TO_CLIPBOARD")}}e.spoolCore=c,e.gridColumns=[{sortField:"fileName",translate:"FILENAME"},{sortField:"shortSpool",translate:"SPOOL_PATH"},{sortField:"from",translate:"SENDER"},{sortField:"deliveredratio",translate:"RECIPIENTS"},{sortField:"size",translate:"SIZE"},{sortField:"deliveryAttempts",translate:"ATTEMPTS"},{sortField:"timeTranslate",translate:"SPOOL_TIME_IN_SPOOL"},{sortField:"priority",translate:"PRIORITY"},{sortField:"statusStr",translate:"STATUS"},{sortField:"nextDeliveryAttempt",translate:"NEXT_ATTEMPT"}],e.searchText="",v.queryUrl="~/api/v1/settings/sysadmin/spool-messages",v.searchParams={spoolInput:[{startIndex:0,count:0,sortType:null,search:"",ascending:!1,filter:"processing"}]},v.selectedSection=r.spoolSection?r.spoolSection:"SPOOL",v.tableParams=new u({sorting:{2:"asc"},count:50},{getData:function(e){for(var o in v.searchParams.spoolInput[0].startIndex=(e.page()-1)*e.count(),v.searchParams.spoolInput[0].count=e.count(),v.searchParams.spoolInput[0].sortType=null,e.sorting())if(e.sorting().hasOwnProperty(o)&&e.sorting()[o]){v.searchParams.spoolInput[0].sortType=o,v.searchParams.spoolInput[0].ascending="desc"!==e.sorting()[o];break}return s.spinner.show(),a.post(v.queryUrl,JSON.stringify(v.searchParams)).then((function(o){if(v.searchResults=o.data.spoolListData[0].messages,v.searchResultCount=o.data.spoolListData[0].messageCount,0===v.searchResults.length&&e.page()>1)return e.page(e.page()-1),void v.tableParams.reload();return angular.forEach(v.searchResults,(function(e){var o=moment.duration(e.timeinspool);if(e.timeHours=Math.floor(o.asHours()),e.timeMinutes=Math.floor(o.asMinutes()-60*e.timeHours),e.timeSeconds=Math.floor(o.asSeconds()-60*(e.timeMinutes+60*e.timeHours)),e.timeTranslate=t("translate")(e.timeHours?"SPOOL_TIME_HOURS":"SPOOL_TIME_NO_HOURS",{hours:e.timeHours,minutes:e.timeMinutes,seconds:e.timeSeconds}),7===e.status){var s=moment.duration(e.timeinquarantine);
488e.timeQuHours=Math.floor(s.asHours()),e.timeQuMinutes=Math.floor(s.asMinutes()-60*e.timeQuHours),e.timeQuSeconds=Math.floor(s.asSeconds()-60*(e.timeQuMinutes+60*e.timeQuHours)),e.timeQuTranslate=t("translate")(e.timeQuHours?"SPOOL_TIME_HOURS":"SPOOL_TIME_NO_HOURS",{hours:e.timeQuHours,minutes:e.timeQuMinutes,seconds:e.timeQuSeconds}),e.timeuntilremoval=new Date(e.timeuntilremoval)}5===e.status?0===e.pending?e.statusStr="DELIVERED":e.statusStr=e.isThrottled?"THROTTLED":"WAITING_TO_DELIVER":e.statusStr=v.spoolStatus[e.status],e.statusStr=t("translate")(e.statusStr),e.creationDate=new Date(e.creationDate),e.fileName=e.fileName+".eml"})),e.total(v.searchResultCount),v.searchResults})).finally(s.spinner.hide)},localStorageKey:"ngTableRows-Spool"}),v.checkboxes=d.init("fileName"),v.checkboxes.table=v.tableParams,v.spoolStatus=c.spoolStatus,v.recipientStatus=c.recipientStatus,v.sortFieldTypes=c.sortFieldTypes,v.forceMessage=O,v.resetRetries=y,v.setPriority=T,v.deleteMessages=R,v.viewMessage=function(e,t){var o=c.getViewMessage(p.baseUrl,t);window.open(o,t.fileName,"resizable=1, "+f.dimensions.email)},v.moveMessages=M,v.downloadMessages=P,v.Refresh=function(){v.checkboxes.reset(),v.tableParams.reload().then((function(){}),(function(){})),e.$emit("reloadSpool")},v.searchItems=function(){v.searchParams.spoolInput[0].search=v.searchText,v.checkboxes.reset(),v.tableParams.reload()},v.contextMenuGridItem=function(t,o){if(!o||"touchstart"!==o.type&&"touchend"!==o.type&&3!==o.which||t.criticallyErrored)return;o.stopPropagation(),o.preventDefault();var s=v.checkboxes.getCheckedItems();(s.length>1&&!_.some(s,(function(e){return e===t.fileName}))||s.length<=1)&&(v.checkboxes.reset(),v.checkboxes.checkCheckbox(o,t),s=[t.fileName]);e.dropdownEvent=$.extend(!0,{},o),e.dropdownOptions=[{key:"forceMessage",click:O,translateKey:"SPOOL_FORCE"},{key:"resetRetries",click:y,translateKey:"SPOOL_RESET_RETRIES"},{key:"setPriority",click:T,params:e.dropdownEvent,translateKey:"CHANGE_PRIORITY"},{key:"moveMessages",click:M,params:{ev:e.dropdownEvent,all:!1},translateKey:"SPOOL_MOVE_MESSAGES"},{key:"downloadMessages",click:P,params:e.dropdownEvent,translateKey:"DOWNLOAD_EML"},{key:"deleteMessages",click:R,params:{ev:e.dropdownEvent,all:!1},translateKey:"DELETE"},{divider:!0},{key:"deleteAllMessages",click:R,params:{ev:e.dropdownEvent,all:!0},translateKey:"DELETE_ALL_FROM_SENDER"},{key:"moveAllMessages",click:M,params:{ev:e.dropdownEvent,all:!0},translateKey:"SPOOL_MOVE_ALL_SENDER_MESSAGES"},{divider:!0},{key:"showRecipients",click:N,params:e.dropdownEvent,translateKey:"SPOOL_VIEW_RECIPIENTS"},{key:"copyPath",click:k,params:{ev:e.dropdownEvent,item:t.spoolName+"/"+t.fileName},translateKey:"COPY_PATH"},{key:"copySender",click:k,params:{ev:e.dropdownEvent,item:t.from},translateKey:"COPY_SENDER"}];var a=$("#context-menu-area");if(a){var r=l('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);a.append(r)}},v.copyToClipboard=k,window.refreshSpool=function(){v.checkboxes.reset(),v.tableParams.reload(),e.$emit("reloadSpool")}}e.$inject=["$scope","$filter","$mdDialog","$rootScope","$http","$localStorage","$translate","$compile","errorHandling","coreDataSpool","coreDataSysAdminSettings","coreData","NgTableParams","gridCheckboxes","successHandling","popupService","coreDataFileStorage","$timeout","i18n"],angular.module("smartermail").controller("adminSpoolManageAllController",e)}();
489!function(){"use strict";function t(t,e,n,a,i,o,s,l,c,r,S,g){var d=this;switch(i.current.data.pageTitle=e("translate")("SPOOL_MANAGEMENT"),l.spoolSection){case"OVERVIEW":case"SPOOL":case"WAITING_TO_DELIVER":case"SPOOL_SECTIONS_SPAM_QUARANTINE":case"VIRUS_QUARANTINE":case"SPOOL_SECTIONS_TUSERS":case"SPOOL_SECTIONS_TDOMAINS":d.selectedSection=l.spoolSection;break;default:d.selectedSection="OVERVIEW"}function u(){return a.get("~/api/v1/settings/sysadmin/spool-message-counts").then((function(t){d.gridSections[1].length=t.data.counts.default||0,d.gridSections[2].length=t.data.counts.waiting||0,d.gridSections[3].length=t.data.counts.spam||0,d.gridSections[4].length=t.data.counts.virus||0,d.gridSections[5].length=(t.data.counts.throttledUsers||0)+(t.data.counts.throttledMailingLists||0),d.gridSections[6].length=t.data.counts.throttledDomains||
4890,d.quarantineDisplayLimit=t.data.counts.quarantine_limit||5e3,d.spoolDisplayLimit=t.data.counts.spool_limit||5e4,d.hasHitQuarantineLimit=d.gridSections[3].length+d.gridSections[4].length>=d.quarantineDisplayLimit,d.hasHitSpoolLimit=d.gridSections[1].length+d.gridSections[2].length>=d.spoolDisplayLimit}),(function(t){s.report(t.data.message)}))}function h(e,n){t.$evalAsync((function(){u()}))}function O(t){d.selectedSection!==t&&(d.selectedSection=t,l.spoolSection=t,r.changeSection(t))}d.gridSections=[{translate:"OVERVIEW",length:-1},{translate:"SPOOL",length:0},{translate:"WAITING_TO_DELIVER",length:0},{translate:"SPOOL_SECTIONS_SPAM_QUARANTINE",length:0},{translate:"VIRUS_QUARANTINE",length:0},{translate:"SPOOL_SECTIONS_TUSERS",length:0},{translate:"SPOOL_SECTIONS_TDOMAINS",length:0}],d.changeSection=O,t.selectCard=function(t,e){r.selectCard(t,e)},d.getSpoolMessages=u,c.init().then((function(){var e=[];O(d.selectedSection),e.push(d.getSpoolMessages()),n.all(e).then((function(){t.isInit=!0}),(function(){s.report()}))}),s.report),g.init().then((function(e){t.$on("signalR.client.dashboardUpdate",h)})),t.$on("reloadSpool",u)}t.$inject=["$scope","$filter","$q","$http","$state","$timeout","errorHandling","$localStorage","coreData","coreDataSpool","authStorage","signalrHubManager"],angular.module("smartermail").controller("adminSpoolManageMainController",t)}();
490!function(){"use strict";function e(e,t,o,s,a,n,r,i,l,c,m,u,p,d,h,f,S,E,g){var O=this;function N(){var e=[];for(var s in O.checkboxes.items)O.checkboxes.items[s]&&(e=e.concat($.grep(O.searchResults,(function(e){return e.fileName===s}))));if(0!==e.length)if(1==e.length)n();else{var a=o.confirmDeletion().textContent(t("translate")("CONFIRMATIONS_MULTI_GENERIC",{count:e.length})).ok(t("translate")("OK")).title(t("translate")("CONFIRMATION_REQUIRED"));o.show(a).then((function(){n()}),(function(){}))}else l.report("SPOOL_ERRORS_NO_ITEMS_SELECTED");function n(){c.resendMessages(e).then(M,l.report)}}function v(e){var t=[];for(var s in O.checkboxes.items)O.checkboxes.items[s]&&(t=t.concat($.grep(O.searchResults,(function(e){return e.fileName===s}))));if(0!==t.length){var a=o.confirmDeletion().textContent(g.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:t.length})).targetEvent(e);o.show(a).then((function(){c.deleteMessages(t).then(M,l.report)}),(function(){}))}else l.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function M(){e.$emit("reloadSpool"),O.checkboxes.reset(),O.tableParams.reload(),p.report()}function I(t,a){var n=[];for(var r in O.checkboxes.items)O.checkboxes.items[r]&&(n=n.concat($.grep(O.searchResults,(function(e){return e.fileName===r}))));if(0!==n.length){var i="MovedSpoolItems";"W"===window.stOS?i+="\\":i+="/",o.show({locals:{spoolPath:u.settings.globalMailSettings.pathSettings.spoolPath+i,address:"",type:6,count:n.length,editAddress:!1},controller:"spoolMoveConfirmController",controllerAs:"ctrl",templateUrl:"app/sysadmin/manage/modals/admin-spool-move-confirm.dlg.html",targetEvent:t}).then((function(t){for(var o=[],a=0;a<n.length;++a)o.push({fileName:n[a].fileName.replace(".eml",""),spoolName:n[a].spoolName});var r=JSON.stringify({spoolInput:o,moveLocation:t.location});s.post("~/api/v1/settings/sysadmin/move-selected-spool-messages/",r).then((function(t){e.$emit("reloadSpool"),O.checkboxes.reset(),O.tableParams.reload(),p.report()}),l.report)}),(function(e){}))}else l.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function T(e,o){var s=[];for(var a in O.checkboxes.items)O.checkboxes.items[a]&&(s=s.concat($.grep(O.searchResults,(function(e){return e.fileName===a}))));var n=[];if(s.forEach((e=>n.push({fileName:e.fileName,spoolName:e.spoolName}))),0!==n.length){var r=t("translate")("SPOOL_QUARANTINED")+"-";r+=1===n.length?n[0].fileName:g.reactPluralize("FILENAME_MESSAGES_WITH_COUNT",{count:n.length})+".zip",S.downloadLargeFile("~/api/v1/settings/sysadmin/spool-messages-export/",r,{fileName:n.map((e=>e.fileName)),spoolName:n.map((e=>e.spoolName))},"eml-download")}else l.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function P(e){if(e&&e.item){var t=document.createElement("textarea");
490t.value=e.item,document.body.appendChild(t),t.focus(),t.select(),document.execCommand("copy"),document.body.removeChild(t),p.report("COPIED_TO_CLIPBOARD")}}e.spoolCore=c,e.gridColumns=[{sortField:"fileName",translate:"FILENAME"},{sortField:"creationDate",translate:"DATE"},{sortField:"from",translate:"SENDER"},{sortField:"deliveredratio",translate:"RECIPIENTS"},{sortField:"size",translate:"SIZE"},{sortField:"timeTranslate",translate:"SPOOL_TIME_IN_SPOOL"},{sortField:"timeuntilremoval",translate:"SPOOL_TIME_OF_REMOVAL"}],e.searchText="",O.queryUrl="~/api/v1/settings/sysadmin/spool-messages",O.searchParams={spoolInput:[{startIndex:0,count:0,sortType:null,search:"",ascending:!1,filter:"quarantine_spamout"}]},O.selectedSection=n.spoolSection?n.spoolSection:"SPOOL_SECTIONS_SPAM_QUARANTINE",O.tableParams=new d({sorting:{2:"asc"},count:50},{getData:function(e){for(var o in O.searchParams.spoolInput[0].startIndex=(e.page()-1)*e.count(),O.searchParams.spoolInput[0].count=e.count(),O.searchParams.spoolInput[0].sortType=null,e.sorting())if(e.sorting().hasOwnProperty(o)&&e.sorting()[o]){O.searchParams.spoolInput[0].sortType=o,O.searchParams.spoolInput[0].ascending="desc"!==e.sorting()[o];break}return a.spinner.show(),s.post(O.queryUrl,JSON.stringify(O.searchParams)).then((function(o){return O.searchResults=o.data.spoolListData[0].messages,O.searchResultCount=o.data.spoolListData[0].messageCount,angular.forEach(O.searchResults,(function(e){var o=moment.duration(e.timeinspool);if(e.timeHours=Math.floor(o.asHours()),e.timeMinutes=Math.floor(o.asMinutes()-60*e.timeHours),e.timeSeconds=Math.floor(o.asSeconds()-60*(e.timeMinutes+60*e.timeHours)),e.timeTranslate=t("translate")(e.timeHours?"SPOOL_TIME_HOURS":"SPOOL_TIME_NO_HOURS",{hours:e.timeHours,minutes:e.timeMinutes,seconds:e.timeSeconds}),7===e.status){var s=moment.duration(e.timeinquarantine);
490e.timeQuHours=Math.floor(s.asHours()),e.timeQuMinutes=Math.floor(s.asMinutes()-60*e.timeQuHours),e.timeQuSeconds=Math.floor(s.asSeconds()-60*(e.timeQuMinutes+60*e.timeQuHours)),e.timeQuTranslate=t("translate")(e.timeQuHours?"SPOOL_TIME_HOURS":"SPOOL_TIME_NO_HOURS",{hours:e.timeQuHours,minutes:e.timeQuMinutes,seconds:e.timeQuSeconds}),e.timeuntilremoval=new Date(e.timeuntilremoval)}5===e.status?0===e.pending?e.statusStr="DELIVERED":e.statusStr=e.isThrottled?"THROTTLED":"WAITING_TO_DELIVER":e.statusStr=O.spoolStatus[e.status],e.statusStr=t("translate")(e.statusStr),e.creationDate=new Date(e.creationDate),e.fileName=e.fileName+".eml"})),e.total(O.searchResultCount),O.searchResults})).finally(a.spinner.hide)},localStorageKey:"ngTableRows-Spool"}),O.checkboxes=h.init("fileName"),O.checkboxes.table=O.tableParams,O.spoolStatus=c.spoolStatus,O.recipientStatus=c.recipientStatus,O.sortFieldTypes=c.sortFieldTypes,O.resendMessages=N,O.deleteMessages=v,O.deleteAllMessages=function(e){var s=o.confirmDeletion().textContent(t("translate")("CONFIRMATIONS_DELETE_ITEMS_ALL")).targetEvent(e);o.show(s).then((function(){c.deleteAllQuarantineMessagesByType(2).then(M,l.report)}),(function(){}))},O.viewMessage=function(e,o){var s=c.getViewMessage(m.baseUrl,o);window.open(s,t("translate")("SPOOL_VIEW_RECIPIENTS"),"resizable=1, "+f.dimensions.email)},O.moveMessages=I,O.downloadMessages=T,O.Refresh=function(){e.$emit("reloadSpool"),O.checkboxes.reset(),O.tableParams.reload().then((function(){}),(function(){}))},O.searchItems=function(){O.searchParams.spoolInput[0].search=O.searchText,O.checkboxes.reset(),O.tableParams.reload()},O.contextMenuGridItem=function(t,o){if(!o||"touchstart"!==o.type&&"touchend"!==o.type&&3!==o.which||t.criticallyErrored)return;o.stopPropagation(),o.preventDefault();var s=O.checkboxes.getCheckedItems();(s.length>1&&!_.some(s,(function(e){return e===t.fileName}))||s.length<=1)&&(O.checkboxes.reset(),O.checkboxes.checkCheckbox(o,t),s=[t.fileName]);e.dropdownEvent=$.extend(!0,{},o),e.dropdownOptions=[{key:"resendMessages",click:N,translateKey:"RESEND"},{key:"moveMessages",click:I,params:e.dropdownEvent,translateKey:"SPOOL_MOVE_MESSAGES"},{key:"downloadMessages",click:T,params:e.dropdownEvent,translateKey:"DOWNLOAD_EML"},{key:"deleteMessages",click:v,params:e.dropdownEvent,translateKey:"DELETE"},{divider:!0},{key:"copyPath",click:P,params:{ev:e.dropdownEvent,item:t.spoolName+"/"+t.fileName},translateKey:"COPY_PATH"},{key:"copySender",click:P,params:{ev:e.dropdownEvent,item:t.from},translateKey:"COPY_SENDER"}];var a=$("#context-menu-area");if(a){var n=i('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);a.append(n)}},O.copyToClipboard=P,window.refreshSpool=function(){O.checkboxes.reset(),O.tableParams.reload(),e.$emit("reloadSpool")}}e.$inject=["$scope","$filter","$mdDialog","$http","$rootScope","$localStorage","$translate","$compile","errorHandling","coreDataSpool","coreData","coreDataSysAdminSettings","successHandling","NgTableParams","gridCheckboxes","popupService","coreDataFileStorage","$timeout","i18n"],angular.module("smartermail").controller("adminSpoolManageQuaController",e)}();
491!function(){"use strict";function e(e,t,o,s,a,n,r,i,l,c,m,u,p,d,h,f,S,E,g){var O=this;function v(){var e=[];for(var s in O.checkboxes.items)O.checkboxes.items[s]&&(e=e.concat($.grep(O.searchResults,(function(e){return e.fileName===s}))));if(0!==e.length)if(1==e.length)n();else{var a=o.confirmDeletion().textContent(t("translate")("CONFIRMATIONS_MULTI_GENERIC",{count:e.length})).ok(t("translate")("OK")).title(t("translate")("CONFIRMATION_REQUIRED"));o.show(a).then((function(){n()}),(function(){}))}else c.report("SPOOL_ERRORS_NO_ITEMS_SELECTED");function n(){m.resendMessages(e).then(M,c.report)}}function N(e){var t=[];for(var s in O.checkboxes.items)O.checkboxes.items[s]&&(t=t.concat($.grep(O.searchResults,(function(e){return e.fileName===s}))));if(0!==t.length){var a=o.confirmDeletion().textContent(g.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:t.length})).targetEvent(e);o.show(a).then((function(){m.deleteMessages(t).then(M,c.report)}),(function(){}))}else c.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function M(){e.$emit("reloadSpool"),O.checkboxes.reset(),O.tableParams.reload(),s.report()}function I(t,a){var r=[];for(var i in O.checkboxes.items)O.checkboxes.items[i]&&(r=r.concat($.grep(O.searchResults,(function(e){return e.fileName===i}))));if(0!==r.length){var l="MovedSpoolItems";"W"===window.stOS?l+="\\":l+="/",o.show({locals:{spoolPath:u.settings.globalMailSettings.pathSettings.spoolPath+l,address:"",type:6,count:r.length,editAddress:!1},controller:"spoolMoveConfirmController",controllerAs:"ctrl",templateUrl:"app/sysadmin/manage/modals/admin-spool-move-confirm.dlg.html",targetEvent:t}).then((function(t){for(var o=[],a=0;a<r.length;
491++a)o.push({fileName:r[a].fileName.replace(".eml",""),spoolName:r[a].spoolName});var i=JSON.stringify({spoolInput:o,moveLocation:t.location});n.post("~/api/v1/settings/sysadmin/move-selected-spool-messages/",i).then((function(t){e.$emit("reloadSpool"),O.checkboxes.reset(),O.tableParams.reload(),s.report()}),c.report)}),(function(e){}))}else c.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function T(e,o){var s=[];for(var a in O.checkboxes.items)O.checkboxes.items[a]&&(s=s.concat($.grep(O.searchResults,(function(e){return e.fileName===a}))));var n=[];if(s.forEach((e=>n.push({fileName:e.fileName,spoolName:e.spoolName}))),0!==n.length){var r=t("translate")("SPOOL_QUARANTINED")+"-";r+=1===n.length?n[0].fileName:g.reactPluralize("FILENAME_MESSAGES_WITH_COUNT",{count:n.length})+".zip",S.downloadLargeFile("~/api/v1/settings/sysadmin/spool-messages-export/",r,{fileName:n.map((e=>e.fileName)),spoolName:n.map((e=>e.spoolName))},"eml-download")}else c.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function R(e){if(e&&e.item){var t=document.createElement("textarea");t.value=e.item,document.body.appendChild(t),t.focus(),t.select(),document.execCommand("copy"),document.body.removeChild(t),s.report("COPIED_TO_CLIPBOARD")}}e.spoolCore=m,e.gridColumns=[{sortField:"fileName",translate:"FILENAME"},{sortField:"creationDate",translate:"DATE"},{sortField:"from",translate:"SENDER"},{sortField:"deliveredratio",translate:"RECIPIENTS"},{sortField:"size",translate:"SIZE"},{sortField:"timeTranslate",translate:"SPOOL_TIME_IN_SPOOL"},{sortField:"timeuntilremoval",translate:"SPOOL_TIME_OF_REMOVAL"}],e.searchText="",O.queryUrl="~/api/v1/settings/sysadmin/spool-messages",O.searchParams={spoolInput:[{startIndex:0,count:0,sortType:null,search:"",ascending:!1,filter:"quarantine_virus"}]},O.selectedSection=r.spoolSection?r.spoolSection:"VIRUS_QUARANTINE",O.tableParams=new d({sorting:{2:"asc"},count:100},{getData:function(e){for(var o in O.searchParams.spoolInput[0].startIndex=(e.page()-1)*e.count(),O.searchParams.spoolInput[0].count=e.count(),O.searchParams.spoolInput[0].sortType=null,e.sorting())if(e.sorting().hasOwnProperty(o)&&e.sorting()[o]){O.searchParams.spoolInput[0].sortType=o,O.searchParams.spoolInput[0].ascending="desc"!==e.sorting()[o];break}return a.spinner.show(),n.post(O.queryUrl,JSON.stringify(O.searchParams)).then((function(o){return O.searchResults=o.data.spoolListData[0].messages,O.searchResultCount=o.data.spoolListData[0].messageCount,angular.forEach(O.searchResults,(function(e){var o=moment.duration(e.timeinspool);if(e.timeHours=Math.floor(o.asHours()),e.timeMinutes=Math.floor(o.asMinutes()-60*e.timeHours),e.timeSeconds=Math.floor(o.asSeconds()-60*(e.timeMinutes+60*e.timeHours)),e.timeTranslate=t("translate")(e.timeHours?"SPOOL_TIME_HOURS":"SPOOL_TIME_NO_HOURS",{hours:e.timeHours,minutes:e.timeMinutes,seconds:e.timeSeconds}),7===e.status){var s=moment.duration(e.timeinquarantine);
491e.timeQuHours=Math.floor(s.asHours()),e.timeQuMinutes=Math.floor(s.asMinutes()-60*e.timeQuHours),e.timeQuSeconds=Math.floor(s.asSeconds()-60*(e.timeQuMinutes+60*e.timeQuHours)),e.timeQuTranslate=t("translate")(e.timeQuHours?"SPOOL_TIME_HOURS":"SPOOL_TIME_NO_HOURS",{hours:e.timeQuHours,minutes:e.timeQuMinutes,seconds:e.timeQuSeconds}),e.timeuntilremoval=new Date(e.timeuntilremoval)}5===e.status?0===e.pending?e.statusStr="DELIVERED":e.statusStr=e.isThrottled?"THROTTLED":"WAITING_TO_DELIVER":e.statusStr=O.spoolStatus[e.status],e.statusStr=t("translate")(e.statusStr),e.creationDate=new Date(e.creationDate),e.fileName=e.fileName+".eml"})),e.total(O.searchResultCount),O.searchResults})).finally(a.spinner.hide)},localStorageKey:"ngTableRows-Spool"}),O.checkboxes=h.init("fileName"),O.checkboxes.table=O.tableParams,O.spoolStatus=m.spoolStatus,O.recipientStatus=m.recipientStatus,O.sortFieldTypes=m.sortFieldTypes,O.resendMessages=v,O.deleteMessages=N,O.deleteAllMessages=function(e){var s=o.confirmDeletion().textContent(t("translate")("CONFIRMATIONS_DELETE_ITEMS_ALL")).targetEvent(e);o.show(s).then((function(){m.deleteAllQuarantineMessagesByType(1).then(M,c.report)}),(function(){}))},O.viewMessage=function(e,o){var s=m.getViewMessage(p.baseUrl,o);window.open(s,t("translate")("SPOOL_VIEW_RECIPIENTS"),"resizable=1, "+f.dimensions.email)},O.moveMessages=I,O.downloadMessages=T,O.Refresh=function(){e.$emit("reloadSpool"),O.checkboxes.reset(),O.tableParams.reload().then((function(){}),(function(){}))},O.searchItems=function(){O.searchParams.spoolInput[0].search=O.searchText,O.checkboxes.reset(),O.tableParams.reload()},O.contextMenuGridItem=function(t,o){if(!o||"touchstart"!==o.type&&"touchend"!==o.type&&3!==o.which||t.criticallyErrored)return;o.stopPropagation(),o.preventDefault();var s=O.checkboxes.getCheckedItems();(s.length>1&&!_.some(s,(function(e){return e===t.fileName}))||s.length<=1)&&(O.checkboxes.reset(),O.checkboxes.checkCheckbox(o,t),s=[t.fileName]);e.dropdownEvent=$.extend(!0,{},o),e.dropdownOptions=[{key:"resendMessages",click:v,translateKey:"RESEND"},{key:"moveMessages",click:I,params:e.dropdownEvent,translateKey:"SPOOL_MOVE_MESSAGES"},{key:"downloadMessages",click:T,params:e.dropdownEvent,translateKey:"DOWNLOAD_EML"},{key:"deleteMessages",click:N,params:e.dropdownEvent,translateKey:"DELETE"},{divider:!0},{key:"copyPath",click:R,params:{ev:e.dropdownEvent,item:t.spoolName+"/"+t.fileName},translateKey:"COPY_PATH"},{key:"copySender",click:R,params:{ev:e.dropdownEvent,item:t.from},translateKey:"COPY_SENDER"}];var a=$("#context-menu-area");if(a){var n=l('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);a.append(n)}},O.copyToClipboard=R,window.refreshSpool=function(){O.checkboxes.reset(),O.tableParams.reload(),e.$emit("reloadSpool")}}e.$inject=["$scope","$filter","$mdDialog","successHandling","$rootScope","$http","$localStorage","$translate","$compile","errorHandling","coreDataSpool","coreDataSysAdminSettings","coreData","NgTableParams","gridCheckboxes","popupService","coreDataFileStorage","$timeout","i18n"],angular.module("smartermail").controller("adminSpoolManageVirController",e)}();
492!function(){"use strict";function e(e,t,o,s,a,r,n,l,i,c,m,p,u,d,h,f,S,E,g){var O=this;function v(){var s=[];for(const e in O.checkboxes.items)Object.prototype.hasOwnProperty.call(O.checkboxes.items,e)&&O.checkboxes.items[e]&&(s=s.concat($.grep(O.searchResults,(function(t){return t.fileName===e}))));if(0!==s.length)if(1==s.length)r();else{var a=o.confirmDeletion().textContent(t("translate")("CONFIRMATIONS_MULTI_GENERIC",{count:s.length})).ok(t("translate")("OK")).title(t("translate")("CONFIRMATION_REQUIRED"));o.show(a).then(r,(function(){}))}else l.report("SPOOL_ERRORS_NO_ITEMS_SELECTED");function r(){c.forceMessage(s).then((function(){e.$emit("reloadSpool"),O.checkboxes.reset(),O.tableParams.reload(),i.report()}),l.report)}}function y(){var s=[];for(var a in O.checkboxes.items)O.checkboxes.items[a]&&(s=s.concat($.grep(O.searchResults,(function(e){return e.fileName===a}))));if(0!==s.length)if(1==s.length)n();else{var r=o.confirmDeletion().textContent(t("translate")("CONFIRMATIONS_MULTI_GENERIC",{count:s.length})).ok(t("translate")("OK")).title(t("translate")("CONFIRMATION_REQUIRED"));o.show(r).then((function(){n()}))}else l.report("SPOOL_ERRORS_NO_ITEMS_SELECTED");function n(){c.refreshRetries(s).then((function(t){e.$emit("reloadSpool"),O.checkboxes.reset(),O.tableParams.reload(),i.report()}),l.report)}}function T(t){var s=[];for(var a in O.checkboxes.items)O.checkboxes.items[a]&&(s=s.concat($.grep(O.searchResults,(function(e){return e.fileName===a}))));0!==s.length?o.show({locals:{count:s.length},controller:"changeSpoolPriority",controllerAs:"ctrl",templateUrl:"app/sysadmin/manage/modals/change-spool-priority.dlg.html",targetEvent:t}).then((function(t){c.setPriority(t,s).then((function(t){e.$emit("reloadSpool"),O.checkboxes.reset(),O.tableParams.reload(),i.report()}),l.report)}),(function(e){})):l.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function I(e){var t=JSON.stringify({spoolInput:[{fileName:e.currentTarget.childNodes[4].innerText.replace(".eml",""),spoolName:m.settings.globalMailSettings.pathSettings.spoolPath}]});a.post("~/api/v1/settings/sysadmin/spool-message-recipients",t).then((function(t){o.show({locals:{recipients:t.data.spoolMessageRecipients,statuses:{0:"COMPLETED",1:"PENDING"}},controller:"spoolViewRecipientsController",controllerAs:"spReCtrl",templateUrl:"app/sysadmin/manage/modals/admin-spool-view-recipients.dlg.html",targetEvent:e}).then((function(e){}),(function(e){}))}),(function(e){errorMessageService.showErrorMessage(e)}))}function N(e){var t=[],s=void 0;for(var r in O.checkboxes.items)if(O.checkboxes.items[r]){var n=O.searchResults.find((function(e){return e.fileName===r}));n&&(t=t.concat(n))}if(0!==t.length||e.all)if(t.length>0&&e.all&&t.every((e=>t[0].from==e.from))&&(s=t[0].from),e.all)o.show({locals:{address:s,type:2,count:0,editAddress:e.all},controller:"spoolDeleteConfirmController",controllerAs:"ctrl",templateUrl:"app/sysadmin/manage/modals/admin-spool-delete-confirm.dlg.html",targetEvent:e.ev}).then((function(e){var t=JSON.stringify({spoolInput:[{type:c.spoolStatTypes.OutboundSenders,search:e.address,filter:"waiting"},{type:c.spoolStatTypes.InboundSenders,search:e.address,filter:"waiting"}]});a.post("~/api/v1/settings/sysadmin/spool-delete-messages/",t).then(R,l.report)}),(function(){}));else{var i=o.confirmDeletion().textContent(g.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:t.length})).targetEvent(e.ev);o.show(i).then((function(e){c.deleteMessages(t).then(R,l.report)}),(function(){}))}else l.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function R(){e.$emit("reloadSpool"),O.checkboxes.reset(),O.tableParams.reload(),i.report()}function M(e){var t=[],s=void 0;for(var r in O.checkboxes.items)if(O.checkboxes.items[r]){var n=O.searchResults.find((function(e){return e.fileName===r}));n&&(t=t.concat(n))}if(0!==t.length||e.all){t.length>0&&e.all&&t.every((e=>t[0].from==e.from))&&(s=t[0].from);var i="MovedSpoolItems";"W"===window.stOS?i+="\\":i+="/",o.show({locals:{spoolPath:m.settings.globalMailSettings.pathSettings.spoolPath+i,address:s,type:e.all?2:6,count:t.length,editAddress:e.all},controller:"spoolMoveConfirmController",controllerAs:"ctrl",templateUrl:"app/sysadmin/manage/modals/admin-spool-move-confirm.dlg.html",targetEvent:e.ev}).then((function(o){var s,r;if(e.all)r=JSON.stringify({spoolInput:[{type:c.spoolStatTypes.OutboundSenders,moveLocation:o.location,search:o.address,filter:"waiting"},{type:c.spoolStatTypes.InboundSenders,moveLocation:o.location,search:o.address,filter:"waiting"}]}),s="~/api/v1/settings/sysadmin/move-spool-messages/";else{var n=[];s="~/api/v1/settings/sysadmin/move-selected-spool-messages/";for(var i=0;i<t.length;
492++i)n.push({fileName:t[i].fileName.replace(".eml",""),spoolName:t[i].spoolName});r=JSON.stringify({spoolInput:n,moveLocation:o.location})}a.post(s,r).then(R,l.report)}),(function(){}))}else l.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function P(e,t){var o=[];for(var s in O.checkboxes.items)O.checkboxes.items[s]&&(o=o.concat($.grep(O.searchResults,(function(e){return e.fileName===s}))));var a=[];if(o.forEach((e=>a.push({fileName:e.fileName,spoolName:e.spoolName}))),0!==a.length){var r=1===a.length?a[0].fileName:g.reactPluralize("FILENAME_MESSAGES_WITH_COUNT",{count:a.length})+".zip";S.downloadLargeFile("~/api/v1/settings/sysadmin/spool-messages-export/",r,{fileName:a.map((e=>e.fileName)),spoolName:a.map((e=>e.spoolName))},"eml-download")}else l.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function k(e){if(e&&e.item){var t=document.createElement("textarea");t.value=e.item,document.body.appendChild(t),t.focus(),t.select(),document.execCommand("copy"),document.body.removeChild(t),i.report("COPIED_TO_CLIPBOARD")}}e.spoolCore=c,e.gridColumns=[{sortField:"fileName",translate:"FILENAME"},{sortField:"shortSpool",translate:"SPOOL_PATH"},{sortField:"from",translate:"SENDER"},{sortField:"deliveredratio",translate:"RECIPIENTS"},{sortField:"size",translate:"SIZE"},{sortField:"deliveryAttempts",translate:"ATTEMPTS"},{sortField:"timeTranslate",translate:"SPOOL_TIME_IN_SPOOL"},{sortField:"priority",translate:"PRIORITY"},{sortField:"statusStr",translate:"STATUS"},{sortField:"nextDeliveryAttempt",translate:"NEXT_ATTEMPT"}],e.searchText="",O.queryUrl="~/api/v1/settings/sysadmin/spool-messages",O.searchParams={spoolInput:[{startIndex:0,count:0,sortType:null,search:"",ascending:!1,filter:"waiting"}]},O.selectedSection=r.spoolSection?r.spoolSection:"WAITING_TO_DELIVER",O.tableParams=new u({sorting:{2:"asc"},count:100},{getData:function(e){for(var o in O.searchParams.spoolInput[0].startIndex=(e.page()-1)*e.count(),O.searchParams.spoolInput[0].count=e.count(),O.searchParams.spoolInput[0].sortType=null,e.sorting())if(e.sorting().hasOwnProperty(o)&&e.sorting()[o]){O.searchParams.spoolInput[0].sortType=o,O.searchParams.spoolInput[0].ascending="desc"!==e.sorting()[o];break}return s.spinner.show(),a.post(O.queryUrl,JSON.stringify(O.searchParams)).then((function(o){return O.searchResults=o.data.spoolListData[0].messages,O.searchResultCount=o.data.spoolListData[0].messageCount,angular.forEach(O.searchResults,(function(e){var o=moment.duration(e.timeinspool);if(e.timeHours=Math.floor(o.asHours()),e.timeMinutes=Math.floor(o.asMinutes()-60*e.timeHours),e.timeSeconds=Math.floor(o.asSeconds()-60*(e.timeMinutes+60*e.timeHours)),e.timeTranslate=t("translate")(e.timeHours?"SPOOL_TIME_HOURS":"SPOOL_TIME_NO_HOURS",{hours:e.timeHours,minutes:e.timeMinutes,seconds:e.timeSeconds}),7===e.status){var s=moment.duration(e.timeinquarantine);
492e.timeQuHours=Math.floor(s.asHours()),e.timeQuMinutes=Math.floor(s.asMinutes()-60*e.timeQuHours),e.timeQuSeconds=Math.floor(s.asSeconds()-60*(e.timeQuMinutes+60*e.timeQuHours)),e.timeQuTranslate=t("translate")(e.timeQuHours?"SPOOL_TIME_HOURS":"SPOOL_TIME_NO_HOURS",{hours:e.timeQuHours,minutes:e.timeQuMinutes,seconds:e.timeQuSeconds}),e.timeuntilremoval=new Date(e.timeuntilremoval)}5===e.status?0===e.pending?e.statusStr="DELIVERED":e.statusStr=e.isThrottled?"THROTTLED":"WAITING_TO_DELIVER":e.statusStr=O.spoolStatus[e.status],e.statusStr=t("translate")(e.statusStr),e.creationDate=new Date(e.creationDate),e.fileName=e.fileName+".eml"})),e.total(O.searchResultCount),O.searchResults})).finally(s.spinner.hide)},localStorageKey:"ngTableRows-Spool"}),O.checkboxes=d.init("fileName"),O.checkboxes.table=O.tableParams,O.spoolStatus=c.spoolStatus,O.recipientStatus=c.recipientStatus,O.sortFieldTypes=c.sortFieldTypes,O.forceMessage=v,O.resetRetries=y,O.setPriority=T,O.deleteMessages=N,O.viewMessage=function(e,o){var s=c.getViewMessage(p.baseUrl,o);window.open(s,t("translate")("SPOOL_VIEW_RECIPIENTS"),"resizable=1, "+h.dimensions.email)},O.moveMessages=M,O.downloadMessages=P,O.Refresh=function(){e.$emit("reloadSpool"),O.checkboxes.reset(),O.tableParams.reload().then((function(){}),(function(){}))},O.searchItems=function(){O.searchParams.spoolInput[0].search=O.searchText,O.checkboxes.reset(),O.tableParams.reload()},O.contextMenuGridItem=function(t,o){if(!o||"touchstart"!==o.type&&"touchend"!==o.type&&3!==o.which||t.criticallyErrored)return;o.stopPropagation(),o.preventDefault();var s=O.checkboxes.getCheckedItems();(s.length>1&&!_.some(s,(function(e){return e===t.fileName}))||s.length<=1)&&(O.checkboxes.reset(),O.checkboxes.checkCheckbox(o,t),s=[t.fileName]);e.dropdownEvent=$.extend(!0,{},o),e.dropdownOptions=[{key:"forceMessage",click:v,translateKey:"SPOOL_FORCE"},{key:"resetRetries",click:y,translateKey:"SPOOL_RESET_RETRIES"},{key:"setPriority",click:T,params:e.dropdownEvent,translateKey:"CHANGE_PRIORITY"},{key:"moveMessages",click:M,params:{ev:e.dropdownEvent,all:!1},translateKey:"SPOOL_MOVE_MESSAGES"},{key:"downloadMessages",click:P,params:e.dropdownEvent,translateKey:"DOWNLOAD_EML"},{key:"deleteMessages",click:N,params:{ev:e.dropdownEvent,all:!1},translateKey:"DELETE"},{divider:!0},{key:"deleteAllMessages",click:N,params:{ev:e.dropdownEvent,all:!0},translateKey:"DELETE_ALL_FROM_SENDER"},{key:"moveAllMessages",click:M,params:{ev:e.dropdownEvent,all:!0},translateKey:"SPOOL_MOVE_ALL_SENDER_MESSAGES"},{divider:!0},{key:"showRecipients",click:I,params:e.dropdownEvent,translateKey:"SPOOL_VIEW_RECIPIENTS"},{key:"copyPath",click:k,params:{ev:e.dropdownEvent,item:t.spoolName+"/"+t.fileName},translateKey:"COPY_PATH"},{key:"copySender",click:k,params:{ev:e.dropdownEvent,item:t.from},translateKey:"COPY_SENDER"}];var a=$("#context-menu-area");if(a){var r=n('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);a.append(r)}},O.copyToClipboard=k,window.refreshSpool=function(){O.checkboxes.reset(),O.tableParams.reload(),e.$emit("reloadSpool")}}e.$inject=["$scope","$filter","$mdDialog","$rootScope","$http","$localStorage","$compile","errorHandling","successHandling","coreDataSpool","coreDataSysAdminSettings","coreData","NgTableParams","gridCheckboxes","popupService","$translate","coreDataFileStorage","$timeout","i18n"],angular.module("smartermail").controller("adminSpoolManageWaitingController",e)}();
493!function(){"use strict";function e(e,t,a,r,s,o,n,c,i,l,d,h,u,m,p){var f=this;function g(){s.spinner.show();var n=[];for(var c in f.checkboxes.items)f.checkboxes.items[c]&&(n=n.concat($.grep(f.searchResults,(function(e){return e.id===c}))));if(1==(n=_.map(n,(function(e){return e.domain}))).length)d();else{var i=a.confirmDeletion().textContent(t("translate")("CONFIRMATIONS_MULTI_GENERIC",{count:n.length})).ok(t("translate")("OK")).title(t("translate")("CONFIRMATION_REQUIRED"));a.show(i).then(d,(function(){}))}function d(){o.post("~/api/v1/settings/sysadmin/throttled-domain-reset",{input
493:n}).then((function(){e.$emit("reloadSpool"),f.checkboxes.reset(),f.tableParams.reload(),r.report()}),l.report).finally(s.spinner.hide)}}function S(e){if(e&&e.item){var t=document.createElement("textarea");t.value=e.item,document.body.appendChild(t),t.focus(),t.select(),document.execCommand("copy"),document.body.removeChild(t),r.report("COPIED_TO_CLIPBOARD")}}e.spoolCore=d,e.searchText="",f.queryUrl="~/api/v1/settings/sysadmin/throttled-domains",f.searchParams={startIndex:0,count:0,sortType:null,search:"",ascending:!1},f.selectedSection=n.connectionsSection?n.connectionsSection:"SPOOL_SECTIONS_TDOMAINS",f.tableParams=new m({sorting:{domain:"asc"},count:100},{getData:function(e){for(var a in f.searchParams.startIndex=(e.page()-1)*e.count(),f.searchParams.count=e.count(),f.searchParams.sortType=null,e.sorting())if(e.sorting().hasOwnProperty(a)&&e.sorting()[a]){f.searchParams.sortType=a,f.searchParams.ascending="desc"!==e.sorting()[a];break}return s.spinner.show(),o.get(f.queryUrl).then((function(a){if(f.searchResults=a.data.domains,f.searchResults=t("filter")(f.searchResults,{domain:f.searchParams.search}),f.searchResultCount=f.searchResults.length,e.total(f.searchResultCount),f.searchResults=t("orderBy")(f.searchResults,f.searchParams.sortType,!f.searchParams.ascending),f.searchResults=f.searchResults.splice(f.searchParams.startIndex,f.searchParams.count),0===f.searchResults.length&&e.page()>1)return e.page(e.page()-1),void f.tableParams.reload();return f.searchResults})).finally(s.spinner.hide)},localStorageKey:"ngTableRows-Spool"}),f.checkboxes=p.init("id"),f.checkboxes.table=f.tableParams,f.throttleReasons={0:"SPOOL_THROTTLE_REASONS_MESSAGES",1:"BANDWIDTH",2:"SPOOL_THROTTLE_REASONS_BOUNCES"},f.Refresh=function(){f.checkboxes.reset(),f.tableParams.reload().then((function(){}),(function(){})),e.$emit("reloadSpool")},f.searchItems=function(){f.searchParams.search=f.searchText,f.checkboxes.reset(),f.tableParams.reload()},f.Reset=g,f.contextMenuGridItem=function(t,a){if(!a||"touchstart"!==a.type&&"touchend"!==a.type&&3!==a.which||t.criticallyErrored)return;a.stopPropagation(),a.preventDefault();var r=f.checkboxes.getCheckedItems();(r.length>1&&!_.some(r,(function(e){return e===t.id}))||r.length<=1)&&(f.checkboxes.reset(),f.checkboxes.checkCheckbox(a,t),r=[t.id]);e.dropdownEvent=$.extend(!0,{},a),e.dropdownOptions=[{key:"Reset",click:g,translateKey:"SPOOL_REMOVE_THROTTLE"},{divider:!0},{key:"copyDomain",click:S,params:{ev:e.dropdownEvent,item:t.domain},translateKey:"COPY_DOMAIN"}];var s=$("#context-menu-area");if(s){var o=i('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);s.append(o)}},f.copyToClipboard=S,window.refreshSpool=function(){f.checkboxes.reset(),f.tableParams.reload(),e.$emit("reloadSpool")}}e.$inject=["$scope","$filter","$mdDialog","successHandling","$rootScope","$http","$localStorage","$translate","$compile","errorHandling","coreDataSpool","coreDataSysAdminSettings","coreData","NgTableParams","gridCheckboxes"],angular.module("smartermail").controller("adminSpoolThrottledDomainsController",e)}();
494!function(){"use strict";function e(e,t,r,s,a,o,n,c,i,l,h,u,d,p,m){var f=this;function g(){var n=[];for(var c in f.checkboxes.items)f.checkboxes.items[c]&&(n=n.concat($.grep(f.searchResults,(function(e){return e.id===c}))));if(1==(n=_.map(n,(function(e){return e.user}))).length)h();else{var i=r.confirmDeletion().textContent(t("translate")("CONFIRMATIONS_MULTI_GENERIC",{count:n.length})).ok(t("translate")("OK")).title(t("translate")("CONFIRMATION_REQUIRED"));r.show(i).then(h,(function(){}))}function h(){a.spinner.show(),o.post("~/api/v1/settings/sysadmin/throttled-user-reset",{input:n}).then((function(){e.$emit("reloadSpool"),f.checkboxes.reset(),f.tableParams.reload(),s.report()}),l.report).finally(a.spinner.hide)}}function S(e){if(e&&e.item){var t=document.createElement("textarea");t.value=e.item,document.body.appendChild(t),t.focus(),t.select(),document.execCommand("copy"),document.body.removeChild(t),s.report("COPIED_TO_CLIPBOARD")}}e.spoolCore=h,e.searchText="",f.queryUrl="~/api/v1/settings/sysadmin/throttled-users",f.searchParams={startIndex:0,count:0,sortType:null,search:"",ascending:!1},f.selectedSection=n.connectionsSection?n.connectionsSection:"SPOOL_SECTIONS_TUSERS",f.tableParams=new p({sorting:{user:"asc"},count:100},{getData:function(e){for(var r in f.searchParams.startIndex=(e.page()-1)*e.count(),f.searchParams.count=e.count(),f.searchParams.sortType=null,e.sorting())if(e.sorting().hasOwnProperty(r)&&e.sorting()[r]){f.searchParams.sortType=r,f.searchParams.ascending="desc"!==e.sorting()[r];break}return a.spinner.show(),o.get(f.queryUrl).then((function(r){if(f.searchResults=r.data.users,f.searchResults=t("filter")(f.searchResults,{user:f.searchParams.search}),f.searchResultCount=f.searchResults.length,e.total(f.searchResultCount),f.searchResults=t("orderBy")(f.searchResults,f.searchParams.sortType,!f.searchParams.ascending),f.searchResults=f.searchResults.splice(f.searchParams.startIndex,f.searchParams.count),0===f.searchResults.length&&e.page()>1)return e.page(e.page()-1),void f.tableParams.reload();return f.searchResults})).finally(a.spinner.hide)},localStorageKey:"ngTableRows-Spool"}),f.checkboxes=m.init("id"),f.checkboxes.table=f.tableParams,f.throttleReasons={0:"SPOOL_THROTTLE_REASONS_MESSAGES",1:"BANDWIDTH",2:"SPOOL_THROTTLE_REASONS_BOUNCES"},f.Refresh=function(){f.checkboxes.reset(),f.tableParams.reload().then((function(){}),(function(){})),e.$emit("reloadSpool")},f.searchItems=function(){f.searchParams.search=f.searchText,f.checkboxes.reset(),f.tableParams.reload()},f.Reset=g,f.contextMenuGridItem=function(t,r){if(!r||"touchstart"!==r.type&&"touchend"!==r.type&&3!==r.which||t.criticallyErrored)return;r.stopPropagation(),r.preventDefault();var s=f.checkboxes.getCheckedItems();(s.length>1&&!_.some(s,(function(e){return e===t.id}))||s.length<=1)&&(f.checkboxes.reset(),f.checkboxes.checkCheckbox(r,t),s=[t.id]);e.dropdownEvent=$.extend(!0,{},r),e.dropdownOptions=[{key:"Reset",click:g,translateKey:"SPOOL_REMOVE_THROTTLE"},{divider:!0},{key:"copyEmail",click:S,params:{ev:e.dropdownEvent,item:t.user},translateKey:"COPY_ADDRESS"}];var a=$("#context-menu-area");if(a){var o=i('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);a.append(o)}},f.copyToClipboard=S,window.refreshSpool=function(){f.checkboxes.reset(),f.tableParams.reload(),e.$emit("reloadSpool")}}e.$inject=["$scope","$filter","$mdDialog","successHandling","$rootScope","$http","$localStorage","$translate","$compile","errorHandling","coreDataSpool","coreDataSysAdminSettings","coreData","NgTableParams","gridCheckboxes"],angular.module("smartermail").controller("adminSpoolThrottledUsersController",e)}();
495!function(){"use strict";function e(e,t,n,a,s,r,i,c,o,l,u,m,d,h,p){var f=this;function g(){var e=[];for(var a in f.checkboxes.items)if(f.checkboxes.items[a]){a.split("|");e=e.concat($.grep(f.searchResults,(function(e){return e.user===a})))}if(0!==e.length){var r=n.confirmDeletion().title(t("translate")("CONFIRMATION_REQUIRED")).textContent(p.reactPluralize("CONFIRMATIONS_DELETE_USERS",{count:e.length})).cancel(t("translate")("CANCEL")).ok(t("translate")("DELETE"));n.show(r).then((function(){!function(){for(var t={input:[]},n=0;n<e.length;++n)t.input.push(e[n].user);s.post("~/api/v1/settings/sysadmin/users-delete",t).then((function(){f.checkboxes.reset(),f.tableParams.reload(),l.report()}),u.report)}()}))}else u.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function v(){var e=[];for(var a in f.checkboxes.items)if(f.checkboxes.items[a]){a.split("|");e=e.concat($.grep(f.searchResults,(function(e){return e.user===a})))}if(0!==e.length){var r=n.confirmWithOption().title(t("translate")("CONFIRMATION_REQUIRED")).textContent(p.reactPluralize("CONFIRMATIONS_DISABLE_USERS",{count:e.length})).optionText(i.instant("ALLOW_INCOMING_MESSAGES")).cancel(t("translate")("CANCEL")).ok(t("translate")("DISABLE"));n.show(r).then((function(t){!function(t){for(var n={input:[]},a=t?"~/api/v1/settings/sysadmin/users-disable-with-mail":"~/api/v1/settings/sysadmin/users-disable/true",r=0;r<e.length;++r)n.input.push(e[r].user);s.post(a,n).then((function(e){f.checkboxes.reset(),f.tableParams.reload(),l.report()}),u.report)}(t)}))}else u.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function E(){var e=[];for(var a in f.checkboxes.items)if(f.checkboxes.items[a]){a.split("|");e=e.concat($.grep(f.searchResults,(function(e){return e.user===a})))}if(0!==e.length)if(1===e.length)i();else{var r=n.confirm().title(t("translate")("CONFIRMATION_REQUIRED")).textContent(p.reactPluralize("CONFIRMATIONS_ENABLE_USERS",{count:e.length})).cancel(t("translate")("CANCEL")).ok(t("translate")("ENABLE"));n.show(r).then((function(){i()}))}else u.report("SPOOL_ERRORS_NO_ITEMS_SELECTED");function i(){for(var t={input:[]},n=0;n<e.length;++n)t.input.push(e[n].user);s.post("~/api/v1/settings/sysadmin/users-disable/false",t).then((function(e){f.checkboxes.reset(),f.tableParams.reload(),l.report()}),u.report)}}function R(){switch(f.inactiveTimeRangeSelection){case 0:f.inactiveTimeRange=moment(new Date).subtract(30,"days").toDate();break;case 1:f.inactiveTimeRange=moment(new Date).subtract(90,"days").toDate();break;case 2:f.inactiveTimeRange=moment(new Date).subtract(6,"months").toDate();break;case 3:f.inactiveTimeRange=moment(new Date).subtract(12,"months").toDate()}}function S(e){if(e&&e.item){var t=document.createElement("textarea");
495t.value=e.item,document.body.appendChild(t),t.focus(),t.select(),document.execCommand("copy"),document.body.removeChild(t),l.report("COPIED_TO_CLIPBOARD")}}e.gridColumns=[{sortField:"emailAddress",translate:"USER"},{sortField:"isImapUser",translate:"TYPE"},{sortField:"ipAddress",translate:"IP_ADDRESS"},{sortField:"location",translate:"LOCATION"},{sortField:"loginDate",translate:"START"},{sortField:"timeTranslate",translate:"DURATION"}],f.searchText="",f.queryUrl="~/api/v1/settings/sysadmin/inactive-users",f.selectedSection=r.userActivitySection?r.userActivitySection:"INACTIVE_USERS",f.inactiveSortFieldTypes={user:0,time:1,isDomainAdmin:2,isEnabled:3},f.inactiveTimeRangeSelection=r.inactiveSelectedTimeRange?r.inactiveSelectedTimeRange:0,f.inactiveTimeRange=new Date,f.minDate=new Date("2002"),R(),f.searchParams={startindex:0,count:0,search:"",sortType:null,ascending:!1,cutoffDate:f.inactiveTimeRange},f.tableParams=new d({sorting:{1:"asc"},count:25},{getData:function(e){for(var n in f.searchParams.startindex=(e.page()-1)*e.count(),f.searchParams.count=e.count(),f.searchParams.sortType=null,e.sorting())if(e.sorting().hasOwnProperty(n)&&e.sorting()[n]){f.searchParams.sortType=n,f.searchParams.ascending="desc"!==e.sorting()[n];break}return R(),f.searchParams.cutoffDate=f.inactiveTimeRange,a.spinner.show(),s.post(f.queryUrl,JSON.stringify(f.searchParams)).then((function(n){return f.searchResults=n.data.logins,angular.forEach(f.searchResults,(function(e){e.lastAuthedUser||(e.lastAuthedUser=t("translate")("ANONYMOUS_USER")),e.time=new Date(e.time)})),f.searchResultCount=n.data.count,e.total(f.searchResultCount),f.searchResults})).finally(a.spinner.hide)},counts:a.commonTableCounts}),f.checkboxes=h.init("user"),f.checkboxes.table=f.tableParams,f.Refresh=function(){e.$emit("reloadUserActivity"),f.checkboxes.reset(),f.tableParams.reload().then((function(){}),(function(){})).finally((function(){l.report("SUCCESS")}))},f.searchItems=function(){f.searchParams.search=f.searchText,f.checkboxes.reset(),f.tableParams.reload()},f.setCutoffDate=function(e){switch(e){default:case"30d":f.inactiveTimeRangeSelection=0;break;case"90d":f.inactiveTimeRangeSelection=1;break;case"6m":f.inactiveTimeRangeSelection=2;break;case"12m":f.inactiveTimeRangeSelection=3}r.inactiveSelectedTimeRange=f.inactiveTimeRangeSelection,f.Refresh()},f.deleteUsers=g,f.disableUsers=v,f.enableUsers=E,f.exportAllCSV=function(){R();var e={startindex:0,count:2147483647,search:f.searchParams.search,sortType:null,ascending:!1,cutoffDate:f.inactiveTimeRange};a.spinner.show(),o.downloadFile("~/api/v1/settings/sysadmin/export-inactive-users-csv","InactiveUsers.csv",e).then((function(){}),u.report).finally(a.spinner.hide)},f.contextMenuGridItem=function(t,n){if(!n||"touchstart"!==n.type&&"touchend"!==n.type&&3!==n.which||t.criticallyErrored)return;n.stopPropagation(),n.preventDefault();var a=f.checkboxes.getCheckedItems();(a.length>1&&!_.some(a,(function(e){return e===t.user}))||a.length<=1)&&(f.checkboxes.reset(),f.checkboxes.checkCheckbox(n,t),a=[t.user]);e.dropdownEvent=$.extend(!0,{},n),e.dropdownOptions=[{key:"deleteUsers",click:g,translateKey:"DELETE"},{key:"disableUsers",click:v,translateKey:"DISABLE"},{key:"enableUsers",click:E,translateKey:"ENABLE"},{divider:!0},{key:"copyEmail",click:S,params:{ev:e.dropdownEvent,item:t.user},translateKey:"COPY_ADDRESS"}];var s=$("#context-menu-area");if(s){var r=c('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);s.append(r)}},f.copyToClipboard=S,e.$emit("reloadUserActivity")}e.$inject=["$scope","$filter","$mdDialog","$rootScope","$http","$localStorage","$translate","$compile","coreDataFileStorage","successHandling","errorHandling","coreDataSpool","NgTableParams","gridCheckboxes","i18n"],angular.module("smartermail").controller("adminUserActivityInactiveController",e)}();
496!function(){"use strict";function e(e,t,i,n,a,c,o,r){var s=this;function l(){switch(s.inactiveTimeRangeSelection=o.inactiveSelectedTimeRange?o.inactiveSelectedTimeRange:0,s.inactiveTimeRangeSelection){case 0:s.inactiveTimeRange=moment(new Date).subtract(30,"days").toDate();break;case 1:s.inactiveTimeRange=moment(new Date).subtract(90,"days").toDate();break;case 2:s.inactiveTimeRange=moment(new Date).subtract(6,"months").toDate();break;case 3:s.inactiveTimeRange=moment(new Date).subtract(12,"months").toDate()}return a.post("~/api/v1/settings/sysadmin/user-activity-counts",{dateTime:s.inactiveTimeRange}).then((function(e){s.gridSections[0].length=e.data.onlineUsersCount,s.gridSections[1].length=e.data.inactiveUserCounts}),(function(e){c.report(e.data.message)}))}
496n.current.data.pageTitle=t("translate")("USER_ACTIVITY"),s.selectedSection=o.userActivitySection?o.userActivitySection:"ONLINE_USERS",s.gridSections=[{translate:"ONLINE_USERS",length:0},{translate:"INACTIVE_USERS",length:0}],s.inactiveTimeRangeSelection=o.inactiveSelectedTimeRange?o.inactiveSelectedTimeRange:0,s.getUserActivity=l,s.changeSection=function(e){s.selectedSection!==e&&(s.selectedSection=e,o.userActivitySection=e)},r.init().then((function(){var t=[];t.push(s.getUserActivity()),i.all(t).then((function(t){e.isInit=!0}),(function(e){c.report()}))}),c.report),e.$on("reloadUserActivity",l)}e.$inject=["$scope","$filter","$q","$state","$http","errorHandling","$localStorage","coreData"],angular.module("smartermail").controller("adminUserActivityMainController",e)}();
497!function(){"use strict";function e(e,t,s,n,r,a,i,o,c,l,u,d,h,p,m,f){var S=this;function O(){var e=[];for(var n in S.checkboxes.items)if(S.checkboxes.items[n]){var a=n.split("|");e=e.concat($.grep(S.searchResults,(function(e){return e.lastAuthedUser===a[0]&&e.ipAddress===a[1]})))}if(0!==e.length)if(1==e.length)o();else{var i=s.confirmDeletion().textContent(t("translate")("CONFIRMATIONS_MULTI_GENERIC",{count:e.length})).ok(t("translate")("OK")).title(t("translate")("CONFIRMATION_REQUIRED"));s.show(i).then(o,(function(){}))}else u.report("SPOOL_ERRORS_NO_ITEMS_SELECTED");function o(){var t=[],s=[];angular.forEach(e,(function(e){e.isWebmailUser&&t.push({email:e.lastAuthedUser,ip:e.ipAddress}),-1!==e.lastAuthedUser.indexOf("/")?s.push(e.lastAuthedUser.substring(0,e.lastAuthedUser.indexOf("/"))):s.push(e.lastAuthedUser)}));var n=!1,a=[];if(s.length>0){var i=JSON.stringify({dropInfo:s});a.push(r.post("~/api/v1/settings/sysadmin/drop-user-connections",i))}if(t.length>0){var o=JSON.stringify({sessions:t});a.push(r.post("~/api/v1/settings/sysadmin/kill-user-sessions",o)),t.forEach((function(e){e.email===m.getUsername()&&(n=!0)}))}c.all(a).then((function(e){S.checkboxes.reset(),S.tableParams.reload(),d.report(),n&&(window.location.hash="")}),u.report)}}function g(){return _.some(S.checkboxes.items,(function(e,t){return!t.includes("@")}))}function v(){var e=[];for(var n in S.checkboxes.items)if(S.checkboxes.items[n]){var a=n.split("|");e=e.concat($.grep(S.searchResults,(function(e){return e.lastAuthedUser===a[0]&&e.ipAddress===a[1]})))}if(0!==e.length){var o=s.confirmWithOption().title(t("translate")("CONFIRMATION_REQUIRED")).textContent(f.reactPluralize("CONFIRMATIONS_DISABLE_USERS",{count:e.length})).optionText(i.instant("ALLOW_INCOMING_MESSAGES")).cancel(t("translate")("CANCEL")).ok(t("translate")("DISABLE"));s.show(o).then((function(t){!function(t){var s=[],n=[];angular.forEach(e,(function(e){e.isWebmailUser&&s.push({email:e.lastAuthedUser,ip:e.ipAddress}),-1!==e.lastAuthedUser.indexOf("/")?n.push(e.lastAuthedUser.substring(0,e.lastAuthedUser.indexOf("/"))):n.push(e.lastAuthedUser)}));var a=!1,i=[];if(n.length>0){var o=JSON.stringify({dropInfo:n});i.push(r.post("~/api/v1/settings/sysadmin/drop-user-connections",o))}if(s.length>0){var l=JSON.stringify({sessions:s});i.push(r.post("~/api/v1/settings/sysadmin/kill-user-sessions",l)),s.forEach((function(e){e.email===m.getUsername()&&(a=!0)}))}var h=t?"~/api/v1/settings/sysadmin/users-disable-with-mail":"~/api/v1/settings/sysadmin/users-disable/true";i.push(r.post(h,JSON.stringify({input:n}))),c.all(i).then((function(e){S.checkboxes.reset(),S.tableParams.reload(),d.report(),a&&(window.location.hash="")}),u.report)}(t)}))}else u.report("SPOOL_ERRORS_NO_ITEMS_SELECTED")}function E(e){if(e&&e.item){var t=document.createElement("textarea");t.value=e.item,document.body.appendChild(t),t.focus(),t.select(),document.execCommand("copy"),document.body.removeChild(t),d.report("COPIED_TO_CLIPBOARD")}}e.gridColumns=[{sortField:"emailAddress",translate:"USER"},{sortField:"isImapUser",translate:"TYPE"},{sortField:"ipAddress",translate:"IP_ADDRESS"},{sortField:"location",translate:"LOCATION"},{sortField:"loginDate",translate:"START"},{sortField:"timeTranslate",translate:"DURATION"}],S.searchText="",S.queryUrl="~/api/v1/settings/sysadmin/all-user-activity",S.selectedSection=a.userActivitySection?a.userActivitySection:"ONLINE_USERS",S.onlineSortFieldTypes={connectedName:0,isWebmail:1,smtp:2,imap:3,pop:4,xmpp:5,eas:6,ews:7},S.searchParams={startindex:0,count:0,search:"",sortType:null,ascending:!1},S.tableParams=new l({sorting:{0:"asc"},count:25},{getData:function(e){for(var s in S.searchParams.startindex=(e.page()-1)*e.count(),S.searchParams.count=e.count(),S.searchParams.sortType=null,e.sorting())if(e.sorting().hasOwnProperty(s)&&e.sorting()[s]){S.searchParams.sortType=s,S.searchParams.ascending="desc"!==e.sorting()[s];break}return n.spinner.show(),r.post(S.queryUrl,JSON.stringify(S.searchParams)).then((function(s){return S.searchResults=s.data.usersInfo,angular.forEach(S.searchResults,(function(e){if(e.sessionStart){e.sessionStart=new Date(e.sessionStart);var s=moment.duration(new Date-e.sessionStart);
497e.timeHours=Math.floor(s.asHours()),e.timeMinutes=Math.floor(s.asMinutes()-60*e.timeHours),e.timeSeconds=Math.floor(s.asSeconds()-60*(e.timeMinutes+60*e.timeHours)),e.timeTranslate=t("translate")(e.timeHours?"SPOOL_TIME_HOURS":"SPOOL_TIME_NO_HOURS",{hours:e.timeHours,minutes:e.timeMinutes,seconds:e.timeSeconds})}e.lastAuthedUser||(e.lastAuthedUser=t("translate")("ANONYMOUS_USER"))})),S.searchResultCount=s.data.count,e.total(S.searchResultCount),S.searchResults})).finally(n.spinner.hide)},counts:n.commonTableCounts}),S.checkboxes=p.init(),S.checkboxes.table=S.tableParams,S.checkboxes.specialKey=function(e){return e.lastAuthedUser+"|"+e.ipAddress},S.dropConnections=O,S.disableUsers=v,S.Refresh=function(){e.$emit("reloadUserActivity"),S.checkboxes.reset(),S.tableParams.reload().then((function(){}),(function(){})).finally((function(){d.report("SUCCESS")}))},S.searchItems=function(){S.searchParams.search=S.searchText,S.checkboxes.reset(),S.tableParams.reload()},S.contextMenuGridItem=function(t,s){if(!s||"touchstart"!==s.type&&"touchend"!==s.type&&3!==s.which||t.criticallyErrored)return;s.stopPropagation(),s.preventDefault();var n=S.checkboxes.getCheckedItems();(n.length>1&&!_.some(n,(function(e){return e===t.user}))||n.length<=1)&&(S.checkboxes.reset(),S.checkboxes.checkCheckbox(s,t),n=[t.user]);var r=g();e.dropdownEvent=$.extend(!0,{},s),e.dropdownOptions=[{key:"dropConnections",click:O,translateKey:"DROP_CONNECTIONS"},{divider:!0},{key:"disableUsers",click:v,translateKey:"DISABLE",disabled:r},{divider:!0},{key:"copyIp",click:E,params:{ev:e.dropdownEvent,item:t.ipAddress},translateKey:"COPY_IP"},{key:"copyEmail",click:E,params:{ev:e.dropdownEvent,item:t.lastAuthedUser},translateKey:"COPY_ADDRESS"}];var a=$("#context-menu-area");if(a){var i=o('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);a.append(i)}},S.canDisableSelectedUsers=g,e.$emit("reloadUserActivity")}e.$inject=["$scope","$filter","$mdDialog","$rootScope","$http","$localStorage","$translate","$compile","$q","NgTableParams","errorHandling","successHandling","coreDataSpool","gridCheckboxes","claimsService","i18n"],angular.module("smartermail").controller("adminUserActivityOnlineController",e)}();
498!function(){"use strict";function e(e,t,r,s,l){var a=this,n=!1,o=[];a.searchField="",a.totalCount=0,a.totalFilteredCount=0,a.listDataCache={},a.listController={};function i(e){for(var t=0;t<o.length;++t)if(o[t]&&o[t].messageFileName===e.messageFileName)return t;return-1}function c(e){for(var t=0;t<a.selectedCards.length;++t)if(a.selectedCards[t].messageFileName===e.messageFileName)return t;return-1}a.selectMode=!1,a.selectedCards=[],a.lastSelectedCard=void 0,a.init=function(){var e=t.defer();if(n)e.resolve();else{t.all([]).then((function(){n=!0,e.resolve()}),(function(t){e.reject(t)}))}return e.promise},a.reset=function(){n=!1,o=[],!1},a.Refresh=function(t){var r=a,s={searchID:a.searchID,startIndex:0,count:0};e.post("~/api/v1/settings/sysadmin/message-archive-results",JSON.stringify(s)).then((function(e){r.totalCount=e.data.searchResults.totalItems,o.length=0,r.selectedCards.length=0,r.listController.updateDisplayList&&r.listController.updateDisplayList(),t&&e.data.searchResults.percentProgress<100&&l(r.Refresh,1e3)}),(function(e){}))},a.listDataProvider=function(e){return a.processDataProvider(e),e.defer.promise},a.processDataProvider=function(r){var s=!0,l=r.take,n=r.start;l*=2,0!=a.totalCount&&n+l>a.totalCount&&(l=a.totalCount-n);if(r.start+l<=o.length){s=!1;for(var i=[],c=0,d=r.start;d<r.start+l;d++)i[c++]=o[d],null!=i[c-1]&&(i[c-1].highlight=d%2==0);$.each(i,(function(e,t){if(null==t)return s=!0,!1})),s?(n-=l,l*=2,n<0&&(n=0),0!=a.totalCount&&n+l>a.totalCount&&(l=a.totalCount-n)):r.defer.resolve(i)}if(s){var u={searchID:a.searchID,startIndex:n,count:l};(function(r,s){var l=t.defer(),n=a;return e.post(r,JSON.stringify(s)).then((function(e){var t=s.startIndex;n.totalFilteredCount=e.data.searchResults.totalItems,angular.forEach(e.data.searchResults.results,(function(e){o[t++]=e})),n.totalCount=e.data.searchResults.totalItems,l.resolve(!0)}),(function(e){l.reject(e)})),l.promise})(stSiteRoot+"api/v1/settings/sysadmin/message-archive-results",u).then((function(e){for(var t=[],s=0,a=n;a<n+l&&null!=o[a];a++)t[s++]=o[a],t[s-1].highlight=a%2==0;r.defer.resolve(t)}),(function(e){r.defer.reject(e)}))}},a.onSearchChange=function(e){a.searchField=e,a.selectedCards.length=0,a.listController.reset&&a.listController.updateDisplayList&&(o.length=0,a.listController.reset(),a.listController.updateDisplayList())},a.setSelectMode=function(e){a.selectedCards.length=0,a.selectMode=e},a.selectCard=function(e,r){if(document.getSelection().removeAllRanges(),r.shiftKey&&a.lastSelectedCard){c(e);var s=i(a.lastSelectedCard),l=i(e);if(s>-1){a.selectedCards.length=0;var n=[],d=-1,u=-1;if(l>s)for(var f=s;f<=l;++f)o[f]||((f<d||-1===d)&&(d=f),(f>u||-1===u)&&(u=f));else for(f=l;f<=s;++f)o[f]||((f<d||-1===d)&&(d=f),(f>u||-1===u)&&(u=f));var h=u-d;if(h>0){var C=t.defer();a.listController.spinner.show(),a.listDataProvider({start:d,take:h,defer:C}),C.promise.then((function(e){if(l>s)for(var t=s;t<=l;++t)n.push(o[t]);else for(t=l;t<=s;++t)n.push(o[t]);a.selectedCards=a.selectedCards.concat(n),a.listController.spinner.hide()}),(function(e){a.listController.spinner.hide()}))}else{if(l>s)for(f=s;f<=l;++f)n.push(o[f]);else for(f=l;f<=s;++f)n.push(o[f]);a.selectedCards=a.selectedCards.concat(n)}}}else{var v=a.selectedCards.indexOf(e);v>-1?a.selectedCards.splice(v,1):a.selectedCards.push(e),a.lastSelectedCard=e}},a.isCardSelected=function(e){var t=!1;return $.each(a.selectedCards,(function(r,s){if(s.messageFileName==e.messageFileName)return t=!0,!1})),t},a.deselectAll=function(){a.selectedCards.length=0},a.selectAll=function(){var e=a.totalFilteredCount;if(e>0)if(a.selectedCards.length===e)a.deselectAll();else{var r=-1,s=-1;o.length=e;for(var l=0;l<o.length;++l){if(null==o[l])-1==r&&(r=l),s=l+1;else-1==c(o[l])&&a.selectedCards.push(o[l])}var n=s-r;if(n>0){var i=t.defer();a.listController.spinner.show(),a.listDataProvider({start:r,take:n,defer:i}),i.promise.then((function(e){for(var t=r;t<r+n;t++){var s=o[t];-1==c(s)&&a.selectedCards.push(s)}a.listController.spinner.hide()}),(function(e){a.listController.spinner.hide()}))}}}}e.$inject=["$http","$q","$filter","$rootScope","$timeout"],angular.module("smartermail").service("coreDataManageArchive",e)}();
499!function(){"use strict";function e(e,i,t,n,r,s){var o=this,S=!1,a=[],c=!1;o.serviceInfo={imap:{name:"IMAP",description:"LOGS_AND_SETTINGS_SERVICES_DESCRIPTIONS_IMAP"},imapretrieval:{name:"IMAP_RETRIEVAL",description:"LOGS_AND_SETTINGS_SERVICES_DESCRIPTIONS_IMAP_RETRIEVAL"},indexing:{name:"INDEXING",description:"LOGS_AND_SETTINGS_SERVICES_DESCRIPTIONS_INDEXING"},ldap:{name:"LDAP",description:"LOGS_AND_SETTINGS_SERVICES_DESCRIPTIONS_LDAP"},pop:{name:"POP",description:"LOGS_AND_SETTINGS_SERVICES_DESCRIPTIONS_POP"},popretrieval:{name:"POP_RETRIEVAL",description:"LOGS_AND_SETTINGS_SERVICES_DESCRIPTIONS_POP_RETRIEVAL"},smtp:{name:"SMTP",description:"LOGS_AND_SETTINGS_SERVICES_DESCRIPTIONS_SMTP"},spool:{name:"SPOOL",description:"LOGS_AND_SETTINGS_SERVICES_DESCRIPTIONS_SPOOL"},xmpp:{name:"XMPP",description:"LOGS_AND_SETTINGS_SERVICES_DESCRIPTIONS_XMPP"}},o.passwordRequirment={common:1,length:2,capital:4,lowerCase:8,symbol
499:16,number:32,notUsername:64,blank:128,used:256},o.Data={get services(){return function(){var n=i.defer();if(c)return i.when(a);(r=o,e.get("~/api/v1/settings/sysadmin/services").then((function(e){a=[];var i=Object.keys(e.data.services);angular.forEach(i,(function(i){a.push({key:i,status:e.data.services[i],nameTranslate:t("translate")(r.serviceInfo[i].name)})})),c=!0}),(function(e){c=!1}))).then((function(e){n.resolve(a)}),(function(e){n.reject("LOGS_AND_SETTINGS_ERRORS_FAILED_TO_LOAD_SERVICES")}));var r;return n.promise}()},set services(e){a=e||[]}},o.startService=void 0,o.stopService=void 0,o.searchLogs=void 0,o.downloadLogs=void 0,o.sendEmail=void 0,o.exportCSV=void 0,o.restore=void 0,o.searchField="",o.sortField="",o.isDescending=!1,o.init=function(){var e=i.defer();if(S)e.resolve();else{i.all([]).then((function(){S=!0,e.resolve()}),(function(i){e.reject(i)}))}return e.promise},o.reset=function(){S=!1,a=[],c=!1,o.startService=void 0,o.endService=void 0,_passwordPolicies=[],passwordPoliciesIntialized=!1,o.sendEmail=void 0,o.exportCSV=void 0,o.restore=void 0},o.Refresh=function(){},o.onSearchChange=function(e){o.searchField=e,o.selectedCards.length=0,o.listController.reset&&o.listController.updateDisplayList&&(connections.length=0,o.listController.reset(),o.listController.updateDisplayList())},o.onSortingChanged=function(e){o.listController.updateDisplayList&&(connections.length=0,o.listController.updateDisplayList())}}e.$inject=["$http","$q","$filter","$rootScope","coreDataSysAdminCards","coreDataSysAdminSettings"],angular.module("smartermail").service("coreDataManageSettings",e)}();
500!function(){"use strict";function n(n,e,t){var a=this,o=!1,s=void 0,i=!1,r=void 0,l=!1,u={},f={},d={},c={},p={},m={},S=10,O=!1;a.spoolStatTypes={OutboundSenders:0,InboundRecipients:1,InboundSenders:2,InboundIPAddresses:3,OutboundIPAddresses:4,InboundDomain:5};var v={},I={};a.isIPListValid=!0;var g=[],h=!1,_={};a.isUserListValid=!0,a.currentSection="OVERVIEW",a.spoolStatus={0:"SPOOL_WRITING",1:"SPOOL_DELAY",2:"COMMAND_LINE",3:"SPOOL_SPAM_CHECK",4:"SPOOL_LOCAL_DELIVERY",5:"DELIVERED",6:"SPOOL_REMOTE_DELIVERY_PROCESSING",7:"SPOOL_QUARANTINED"},a.sortFieldTypes={fileName:2,shortSpool:3,from:1,deliveredratio:5,size:4,deliveryAttempts:6,timeTranslate:8,priority:9,statusStr:7,creationDate:12,nextDeliveryAttempt:10,timeuntilremoval:11},a.Data={get spoolStats(){return i?e.when(s):(E||(E=e.defer(),R().then((function(){E.resolve(s)}),(function(){E.reject("SPOOL_ERRORS_FAILED_TO_LOAD_SPOOL_STATS")})).finally((function(){E=null}))),E.promise)},get messageStats(){return b()},get refreshMessageStats(){return l=!1,e.when(b())},get outboundSenders(){return O?e.when(u):(A||(A=e.defer(),a.initialSpoolLoad.then((function(){A.resolve(u)}),(function(){A.reject("SPOOL_ERRORS_FAILED_TO_LOAD_OUTBOUND_SENDERS")})).finally((function(){A=null}))),A.promise)},get outboundIPAddresses(){return O?e.when(f):(P||(P=e.defer(),a.initialSpoolLoad.then((function(){P.resolve(f)}),(function(){P.reject("SPOOL_ERRORS_FAILED_TO_LOAD_OUTBOUND_IP_ADDRESSES")})).finally((function(){P=null}))),P.promise)},get inboundRecipients(){return O?e.when(d):(T||(T=e.defer(),a.initialSpoolLoad.then((function(){T.resolve(d)}),(function(){T.reject("SPOOL_ERRORS_FAILED_TO_LOAD_INBOUND_RECIPIENTS")})).finally((function(){T=null}))),T.promise)},get inboundSenders(){return O?e.when(c):(j||(j=e.defer(),a.initialSpoolLoad.then((function(){j.resolve(c)}),(function(){j.reject("SPOOL_ERRORS_FAILED_TO_LOAD_INBOUND_SENDERS")})).finally((function(){j=null}))),j.promise)},get inboundIPAddresses(){return O?e.when(p):(k||(k=e.defer(),a.initialSpoolLoad.then((function(){k.resolve(p)}),(function(){k.reject("SPOOL_ERRORS_FAILED_TO_LOAD_INBOUND_IP_ADDRESSES")})).finally((function(){k=null}))),k.promise)},get inboundDomains(){return O?e.when(m):(w||(w=e.defer(),a.initialSpoolLoad.then((function(){w.resolve(m)}),(function(){w.reject("SPOOL_ERRORS_FAILED_TO_LOAD_INBOUND_DOMAINS")})).finally((function(){w=null}))),w.promise)},get smtpBlockRules(){return h?e.when(g):(B||(B=e.defer(),n.get("~/api/v1/settings/sysadmin/smtp-block-rules").then((function(n){g=n.data.blockRules?n.data.blockRules:[],h=!0}),(function(){g=[],h=!1})).then((function(){B.resolve(g)}),(function(){B.reject("SPOOL_ERRORS_FAILED_TO_LOAD_SMTP_BLOCKS")})).finally((function(){B=null}))),B.promise)},set smtpBlockRules(n){g=n||[]}},a.init=function(){if(o)return e.when();if(y)return y.promise;y=e.defer();return e.all([]).then((function(){o=!0,y.resolve()}),(function(n){o=!1,y.reject(n)})).finally((function(){y=null})),y.promise},a.reset=function(){o=!1,s=void 0,i=!1,r=void 0,l=!1,a.currentSection="OVERVIEW"},a.initialSpoolLoad=function(){if(N)return N.promise;N=e.defer();var n=[];return n.push(R()),e.all(n).then((function(){O=!0,N.resolve()}),(function(){O=!1,N.reject()})).finally((function(){N=null})),N.promise},a.reloadSpoolStats=function(){return D||(D=e.defer(),R().then((function(){D.resolve()}),(function(){D.reject()})).finally((function(){D=null}))),D.promise},a.getReverseIPs=function(t,o){var s="in"==o?U:V;if(s)return s.promise;s=e.defer();var i=[],r=[];a.isIPListValid||(v={},a.isIPListValid=!0);if(angular.forEach(t,(function(n){if(v[n]){var t={};t[n]=v[n],r.push(e.when({data:{domains:t}}))}else I[n]||(i.push(n),I[n]=!0)})),i.length>0){var l=JSON.stringify({ips:i});r.push(n.post("~/api/v1/settings/sysadmin/reverse-dns",l))}e.all(r).then((function(n){angular.forEach(n,(function(n){for(var e=Object.keys(n.data.domains),t=0;t<e.length;++t)v[e[t]]=n.data.domains[e[t]]})),s.resolve(v)}),(function(){})).finally((function(){"in"==o?U=null:V=null,s=null})),"in"==o?U=s:V=s;return s.promise},a.getUsers=function(t){if(M)return M.promise;M=e.defer();var o=[];a.isUserListValid||(_={},a.isUserListValid=!0);return angular.forEach(t,(function(t){if(_[t]){var a={};a[t]=_[t],o.push(e.when({data:{userData:a}}))}else o.push(n.post("~/api/v1/settings/sysadmin/get-user",JSON.stringify({email:t})))})),e.all(o).then((function(n){angular.forEach(n,(function(n,e){n.data.userData?_[n.data.userData.emailAddress]=n.data.userData:_[t[e]]=void 0})),M.resolve(_)}),(function(){M.resolve(_)})).finally((function(){M=null})),M.promise},a.updateUser=function(n){_[n.emailAddress]=n},a.forceMessage=function(t){if(F)return F.promise;F=e.defer();var a=[];
500angular.forEach(t,(function(n){a.push({fileName:n.fileName,spoolName:n.spoolName})}));var o=JSON.stringify({spoolInput:a});return n.post("~/api/v1/settings/sysadmin/push-spool-message",o).then((function(){F.resolve()}),(function(n){F.reject(n.data.message)})).finally((function(){F=null})),F.promise},a.refreshRetries=function(t){if(J)return J.promise;J=e.defer();var a=[];return angular.forEach(t,(function(n){a.push({fileName:n.fileName,spoolName:n.spoolName})})),n.post("~/api/v1/settings/sysadmin/reset-spool-messages",JSON.stringify({spoolInput:a})).then((function(n){J.resolve(n)}),(function(n){J.reject(n.data.message)})).finally((function(){J=null})),J.promise},a.setPriority=function(t,a){if(C)return C.promise;C=e.defer();var o=[];angular.forEach(a,(function(n){o.push({fileName:n.fileName,spoolName:n.spoolName,priority:t})}));var s=JSON.stringify({spoolInput:o});return n.post("~/api/v1/settings/sysadmin/spool-message-priority",s).then((function(){C.resolve()}),(function(n){C.reject(n.data.message)})).finally((function(){C=null})),C.promise},a.resendMessages=function(t){if(q)return q.promise;q=e.defer();var a=[];angular.forEach(t,(function(n){a.push({fileName:n.fileName,spoolName:n.spoolName})}));var o=JSON.stringify({spoolInput:a});return n.post("~/api/v1/settings/sysadmin/resend-quarantine-messages",o).then((function(){q.resolve()}),(function(n){q.reject(n.data.message)})).finally((function(){q=null})),q.promise},a.deleteMessages=function(t){if(G)return G.promise;G=e.defer();var a=[];angular.forEach(t,(function(n){a.push({fileName:n.fileName.replace(".eml",""),spoolName:n.spoolName,status:n.status,quarantineType:n.quarantineType})}));var o=a.length,s=JSON.stringify({spoolInput:a});return n.post("~/api/v1/settings/sysadmin/spool-delete-message",s).then((function(){G.resolve(o)}),(function(n){G.reject(n.data.message)})).finally((function(){G=null})),G.promise},a.deleteAllQuarantineMessagesByType=function(t){return W||(W=e.defer(),n.post("~/api/v1/settings/sysadmin/spool-delete-all-quarantine-messages/"+t).then(W.resolve,(function(n){W.reject(n)})).finally((function(){W=null}))),W.promise},a.getViewMessage=function(n,e){const a=t.makeSpoolPacket(e.spoolName,e.fileName,!!e.quarantineType);return t.getPopoutUrl(a)},a.changeSection=function(n){a.currentSection=n};var y=null;var E=null;var L=null;function b(){return l?e.when(r):(L||(L=e.defer(),n.get("~/api/v1/settings/sysadmin/message-traffic-statistics").then((function(n){r=n.data.stats,l=!0}),(function(){r=void 0,l=!1})).then((function(){L.resolve(r)}),(function(){L.reject("SPOOL_ERRORS_FAILED_TO_LOAD_MESSAGES_STATS")})).finally((function(){L=null}))),L.promise)}var N=null;function R(){var e=JSON.stringify({type:[a.spoolStatTypes.OutboundSenders,a.spoolStatTypes.OutboundIPAddresses,a.spoolStatTypes.InboundRecipients,a.spoolStatTypes.InboundSenders,a.spoolStatTypes.InboundDomain,a.spoolStatTypes.InboundIPAddresses],timeframes:["0.00:05:00","0.01:00:00","1.00:00:00"],amount:S});return n.post("~/api/v1/settings/sysadmin/spool-stats",e).then((function(n){if(n.data.statInfo)for(var e=Object.keys(n.data.statInfo),a=0;a<e.length;++a){var o,s,i=e[a],r=Object.keys(n.data.statInfo[i]);switch(i){case"outBoundSenders":for(o=0;o<r.length;++o)s=r[o],u[s]||(u[s]={}),u[s].OutboundSenders={5:n.data.statInfo[i][s][0].amount,1:n.data.statInfo[i][s][1].amount,24:n.data.statInfo[i][s][2].amount,enabled:n.data.statInfo[i][s][0].enabled};break;case"outboundIPAddresses":for(o=0;o<r.length;++o)s=r[o],f[s]||(f[s]={}),f[s].OutboundIPAddresses={5:n.data.statInfo[i][s][0].amount,1:n.data.statInfo[i][s][1].amount,24:n.data.statInfo[i][s][2].amount,enabled:n.data.statInfo[i][s][0].enabled};break;case"inboundRecipients":for(o=0;o<r.length;++o)s=r[o],d[s]||(d[s]={}),d[s].InboundRecipients={5:n.data.statInfo[i][s][0].amount,1:n.data.statInfo[i][s][1].amount,24:n.data.statInfo[i][s][2].amount,enabled:n.data.statInfo[i][s][0].enabled};break;case"inboundSenders":for(o=0;o<r.length;++o)s=r[o],c[s]||(c[s]={}),c[s].InboundSenders={5:n.data.statInfo[i][s][0].amount,1:n.data.statInfo[i][s][1].amount,24:n.data.statInfo[i][s][2].amount,enabled:n.data.statInfo[i][s][0].enabled};break;
500case"inboundDomain":for(o=0;o<r.length;++o)s=r[o],m[s]||(m[s]={}),m[s].InboundDomains={5:n.data.statInfo[i][s][0].amount,1:n.data.statInfo[i][s][1].amount,24:n.data.statInfo[i][s][2].amount,enabled:n.data.statInfo[i][s][0].enabled};break;case"inboundIPAddresses":for(o=0;o<r.length;++o)s=r[o],p[s]||(p[s]={}),p[s].InboundIPAddresses={5:n.data.statInfo[i][s][0].amount,1:n.data.statInfo[i][s][1].amount,24:n.data.statInfo[i][s][2].amount,enabled:n.data.statInfo[i][s][0].enabled}}}else t()}),(function(){t()}));function t(){u={},f={},d={},c={},p={},m={}}}var D=null;var A=null;var P=null;var T=null;var j=null;var k=null;var w=null;var U=null,V=null;var M=null;var B=null;var F=null;var J=null;var C=null;var q=null;var G=null;var W=null}n.$inject=["$http","$q","emailNavigation"],angular.module("smartermail").service("coreDataSpool",n)}();
501!function(){"use strict";function e(e,t,a,s,n,i,r){const o=this,d=["inbox","deleted items","drafts","junk e-mail","sent items"];function l(e,t){for(let a=0;a<e.subFolders.length;++a){const s=e.subFolders[a];s.path=s.path.toLowerCase();let n=0;for(let a=0;a<t.length;++a)if(t[a].path===e.path){n=a;break}n||(n=t.length-1),s.translatedPath=e.translatedPath+"/"+s.name,s.name=e.name+"/"+s.name,t.splice(n+1,0,s),s.subFolders&&l(s,t)}return t}o.isSysAdmin=i.user.isSysAdmin&&!n.params.id,o.init=function(){const s=a.defer();return i.init().then((function(){o.isSysAdmin=i.user.isSysAdmin&&!n.params.id,o.isSysAdmin?e.get("~/api/v1/settings/sysadmin/internationalized-domain-names").then((function(e){o.domains=angular.copy(e.data.data),o.domains.unshift({asciiName:t.instant("ALL")}),o.selectedDomain=o.domains[0],s.resolve()}),s.reject):(o.domains=[i.user.domain],o.selectedDomain={asciiName:i.user.domain||n.params.id},s.resolve())}),s.reject),s.promise},o.queryUsers=function(t){return t.length>0?e.get(o.isSysAdmin?`~/api/v1/settings/sysadmin/list-usernames/${o.selectedDomain.asciiName}?usersToReturn=50&includeDomain=false&search=${t}`:`~/api/v1/settings/domain/list-usernames/?usersToReturn=50&includeDomain=false&includeDomainAliases=false&search=${t}`).then((function(e){return e.data.usernames}),r.report).catch((function(){return[]})):a.when([])},o.getUserMailFolderListByEmail=function(e){const t=e.split("@");if(2===t.length){if(o.isSysAdmin){var s=o.domains.find((e=>e.asciiName===t[1]||e.idnName&&e.idnName===t[1]));if(!s)return a.reject("unknown domain");o.selectedDomain=s}return o.getUserMailFolderList(t[0])}return a.reject("invalid email address")},o.getUserMailFolderList=function(t){const n=a.defer();if(!t)return a.reject("invalid username");const i=o.isSysAdmin&&o.selectedDomain===o.domains[0]?o.targetEmail:`${t}@${o.selectedDomain.asciiName}`,r=o.isSysAdmin?`~/api/v1/folders/sysadmin/list-email-folders/${i}`:`~/api/v1/folders/domain/list-email-folders/${t}`;return e.get(r).then((function(e){const t=e.data.folderList;t.forEach((e=>e.translatedPath=e.translatedName?s("translate")(e.translatedName):e.displayPath));let a=$.extend(!0,[],t);for(let e=0;e<t.length;++e)t[e].path=t[e].path.toLowerCase(),t[e].subFolders&&(a=l(t[e],a));for(let e=0;e<a.length;++e){a[e].path=a[e].path.toLowerCase();const t=d.indexOf(a[e].path.toLowerCase());-1===t||a[e].isMappedFolder||a[e].isMappedSubfolder?a[e].sortName=a[e].translatedName||a[e].name:a[e].priority=t}a=s("orderBy")(a,["priority","sortName"]),a&&0!==a.length?n.resolve(a):n.reject(s("translate")("MAIL_ERRORS_NO_AVAILABLE_FOLDERS"))}),(function(e){n.reject(e)})),n.promise}}e.$inject=["$http","$translate","$q","$filter","$state","userDataService","errorHandling"],angular.module("smartermail").service("coreDataUserFolder",e)}();
502!function(){"use strict";function e(e,a,i){var t=this;t.archivePath=a.archivePath,t.archiveSize=i("bytes")(a.archiveSize),t.passwordConfirm=!1,t.adminPassword="",t.deleteData=!1,t.onDisable=function(){e.hide({deleteData:t.deleteData})},t.cancel=function(){e.cancel()}}e.$inject=["$mdDialog","locals","$filter"],angular.module("smartermail").controller("archiveConfirmDisableDialogController",e)}();
503!function(){"use strict";function e(e,i,n,r,t,a,s){var l=this;l.rule=angular.copy(a),l.save=function(t){if(t.$pending||t.$invali
503d)return;var a=JSON.stringify({path:l.rule.archivePath});e.spinner.show(),r.post("~/api/v1/settings/sysadmin/verify-path",a).then((function(){var i={rules:[{archivePath:l.rule.archivePath,domain:l.rule.domain,disabled:!1,incoming:"1"==l.rule.type||"2"==l.rule.type,outgoing:"1"==l.rule.type||"3"==l.rule.type,monthsToKeep:12*l.rule.yearsToKeep}]};e.spinner.show(),r.post("~/api/v1/settings/sysadmin/domain-archive-rules",JSON.stringify(i)).then((function(e){e.data.message?s.report(e.data.message):n.hide()}),s.report).finally(e.spinner.hide)}),(function(){i.messageArchivingForm.archivePath.$setValidity("requiresNoUnc",!1)})).finally(e.spinner.hide)},l.cancel=function(){n.cancel()},l.onInit=function(e){l.rule.disabled&&e.$setDirty(),l.disablePath=!(l.rule.disabled??1)}}e.$inject=["$rootScope","$scope","$mdDialog","$http","$filter","rule","errorHandling"],angular.module("smartermail").controller("systemMessageArchivingRuleModalController",e)}();
504!function(){"use strict";function i(i,t,e,n,s){var a=this;function o(){a.waiting=!0,e.post("~/api/v1/settings/sysadmin/activate-license",JSON.stringify({email:a.emailAddress,password:a.password,licenseKey:a.licenseKey})).then((function(i){t.hide()}),(function(i){n("translate")(i.data.message)==i.data.message&&(i.data.message=n("translate")("LICENSE_PROBLEM_ACTIVATING")+" "+i.data.message),s.report(i)})).finally((function(){a.waiting=!1}))}a.licenseKey="",a.emailAddress="",a.password="",a.progress="0",a.waiting=!1,a.isHighAvailability=window.stHA,i.next=function(){switch(a.progress){case"0":!function(){function i(i){i.data.owned?a.progress=(parseInt(a.progress,10)+1).toString(10):o()}a.waiting=!0,e.post("~/api/v1/settings/sysadmin/validate-license",JSON.stringify({input:a.licenseKey})).then(i,s.report).finally((function(){a.waiting=!1}))}();break;case"1":o()}},i.cancel=function(){t.cancel()}}i.$inject=["$scope","$mdDialog","$http","$filter","errorHandling"],angular.module("smartertools").controller("productActivationDialogController",i)}();
505!function(){"use strict";function e(e,i,a,t,n,s,r,l,c,o,E,d,S){var u=this;function A(){i.licensing=angular.copy(c.Data.Licensing),g()}function g(){var e,t;switch(l.cards.length=0,i.licensing.edition){default:e=a("translate")("LICENSE_PRODUCT_NAME_FREE");break;case 0:e=a("translate")("LICENSE_PRODUCT_NAME_ENTERPRISE");break;case 1:e=a("translate")("LICENSE_PRODUCT_NAME_PROFESSIONAL")}t=a("translate")("LICENSE_DESC_SMARTERMAIL");var n="";2==i.licensing.edition&&(n=a("translate")("LICENSE_DESC_SMARTERMAIL_FREE_EDITION")),i.licensing.isBeta&&(e+=" ("+a("translate")("BETA")+")");var s=a("translate")("ACTIVE_LICENSE");i.licensing.isLeasedLicense&&(s=a("translate")("ACTIVE_LEASE")),i.licensing.isTrialLicense&&(s=a("translate")("ACTIVE_TRIAL"));var r=!1;try{r=new Date(i.licensing.upgradeProtectionExpires)<new Date}catch(e){}let c=i.licensing.maxUsers<0?a("translate")("X_MAILBOXES_UNLIMITED"):S.reactPluralize("X_MAILBOXES",{count:i.licensing.maxUsers});for(var o in c+=" ("+a("translate")("X_USED",{x:i.licensing.stats.totalUsers})+")",l.cards.push({feature:e,status:i.licensing.isActivated?s:a("translate")("DISABLED"),expiration:p(!0,i.licensing.expiration),upgradeProtectionExpires:p(!0,i.licensing.upgradeProtectionExpires),upgradeProtectionExpired:r,limits:c,trialAvailable:!1,isPrimaryProduct:!0,licenseKey:i.licensing.licenseKey,isLease:i.licensing.isLeasedLicense,isTrial:i.licensing.isTrialLicense,isActivated:i.licensing.isActivated,requiredEdition:"",description:t,secondaryDescription:n,imageUrl:"img/addons/smartermail.png"}),i.licensing.services)if(i.licensing.services.hasOwnProperty(o))switch(o){case"activesync":var E=i.licensing.services.activesync,d=E.enabled?E.activeSyncMailboxes<0?a("translate")("X_MAILBOXES_UNLIMITED"):S.reactPluralize("X_MAILBOXES",{count:E.activeSyncMailboxes}):"";E.enabled&&(d+=" ("+a("translate")("X_USED",{x:E.activeSyncCurrentMailboxes})+")"),l.cards.push({uid:"activesync",feature:a("translate")("ACTIVESYNC"),status:v(E.enabled,E.isTrialActive),expiration:p(E.enabled,E.expiration),limits:d,trialAvailable:E.trialAvailable,isLease:i.licensing.isLeasedLicense,isTrial:E.isTrialActive,isActivated:E.enabled,requiredEdition:a("translate")("LICENSE_REQUIRES_ENTERPRISE"),description:a("translate")("LICENSE_DESC_EAS"),imageUrl:"img/addons/eas.png"});break;case"mapiews":var u=i.licensing.services.mapiews;
505l.cards.push({uid:"exchangewebservices",feature:a("translate")("MAPI_EWS"),status:v(u.enabled,u.isTrialActive),expiration:p(u.enabled,u.expiration),limits:null,trialAvailable:u.trialAvailable,isLease:i.licensing.isLeasedLicense,isTrial:u.isTrialActive,isActivated:u.enabled,requiredEdition:a("translate")("LICENSE_REQUIRES_ENTERPRISE"),description:a("translate")("LICENSE_DESC_EWS"),imageUrl:"img/addons/ews.png"});break;case"cyren_as":var A=i.licensing.services.cyren_as;l.cards.push({uid:"commtouch",feature:a("translate")("CYREN_ANTISPAM"),status:v(A.enabled,A.isTrialActive),expiration:p(A.enabled,A.expiration),limits:null,trialAvailable:A.trialAvailable,isLease:i.licensing.isLeasedLicense,isTrial:A.isTrialActive,isActivated:A.enabled,requiredEdition:a("translate")("LICENSE_REQUIRES_PROFESSIONAL_OR_ENTERPRISE"),description:a("translate")("LICENSE_DESC_CYREN_AS"),imageUrl:"img/addons/cyren-antispam.png"});break;case"cyren_av":var g=i.licensing.services.cyren_av;l.cards.push({uid:"commtouchav",feature:a("translate")("CYREN_ANTIVIRUS"),status:v(g.enabled,g.isTrialActive),expiration:p(g.enabled,g.expiration),limits:null,trialAvailable:g.trialAvailable,isLease:i.licensing.isLeasedLicense,isTrial:g.isTrialActive,isActivated:g.enabled,requiredEdition:a("translate")("LICENSE_REQUIRES_PROFESSIONAL_OR_ENTERPRISE"),description:a("translate")("LICENSE_DESC_CYREN_AV"),imageUrl:"img/addons/cyren-antivirus.png"});break;case"messagesniffer":var _=i.licensing.services.messagesniffer;l.cards.push({uid:"messagesniffer",feature:a("translate")("MESSAGE_SNIFFER"),status:v(_.enabled,_.isTrialActive),expiration:p(_.enabled,_.expiration),limits:null,trialAvailable:_.trialAvailable,isLease:i.licensing.isLeasedLicense,isTrial:_.isTrialActive,isActivated:_.enabled,requiredEdition:a("translate")("LICENSE_REQUIRES_PROFESSIONAL_OR_ENTERPRISE"),description:a("translate")("LICENSE_DESC_MESSAGESNIFFER"),imageUrl:"img/addons/message-sniffer.png"});break;case"spamfoo_antispam":if(!window.stEnableSpamfoo)break;var I=i.licensing.services.spamfoo_antispam;l.cards.push({uid:"spamfoo",feature:a("translate")("SPAMFOO_ANTISPAM"),status:I.isBeta?a("translate")("ACTIVE_BETA"):I.planName&&I.licenseStatus?I.planName+" ("+I.licenseStatus+")":v(I.enabled,I.isTrialActive),expiration:p(I.enabled,I.isBeta&&I.betaExpiration?I.betaExpiration:I.expiration),limits:null,trialAvailable:I.trialAvailable,isLease:i.licensing.isLeasedLicense,isTrial:I.isTrialActive,isActivated:I.enabled,requiredEdition:a("translate")("LICENSE_REQUIRES_PROFESSIONAL_OR_ENTERPRISE"),description:a("translate")("LICENSE_DESC_SPAMFOO_ANTISPAM"),imageUrl:"img/addons/spamfoo-antispam.svg"});break;case"spamfoo_classification":if(!window.stEnableSpamfoo)break;var L=i.licensing.services.spamfoo_classification;l.cards.push({uid:"spamfoo_classification",feature:a("translate")("SPAMFOO_CLASSIFICATION"),status:L.isBeta?a("translate")("ACTIVE_BETA"):L.planName&&L.licenseStatus?L.planName+" ("+L.licenseStatus+")":v(L.enabled,L.isTrialActive),expiration:p(L.enabled,L.isBeta&&L.betaExpiration?L.betaExpiration:L.expiration),limits:null,trialAvailable:!1,isLease:i.licensing.isLeasedLicense,isTrial:L.isTrialActive,isActivated:L.enabled,requiredEdition:a("translate")("LICENSE_REQUIRES_PROFESSIONAL_OR_ENTERPRISE"),description:a("translate")("LICENSE_DESC_SPAMFOO_CLASSIFICATION"),imageUrl:"img/addons/spamfoo-classification.svg"})}l.updateFilteredCards()}function p(e,i){if(!0===e){var t=moment(i);return t.year()>3e3?null:a("date")(t.toDate(),"shortDate")}return a("translate")("NA")}function v(e,i){return!0===e?i?a("translate")("ACTIVE_TRIAL"):a("translate")("ACTIVE_LICENSE"):a("translate")("DISABLED")}i.cardService=l,l.sortField="",i.cardService.newItemDelegate=void 0,i.cardService.deleteItemsDelegate=void 0,i.cardService.editItemDelegate=void 0,i.cardService.searchItemsDelegate=void 0,u.isHighAvailability=window.stHA,u.buyNow=function(){window.open("http://www.smartertools.com","buynowwindow","")},u.activate=function(){t.show({controller:"productActivationDialogController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/activation/activation.dlg.html"}).then((function(){c.reset(),c.init().then((function(){i.licensing=angular.copy(c.Data.Licensing),g(),E.reload()}))}),(function(){}))},u.reactivate=function(){e.spinner.show(),n.post("~/api/v1/licensing/reactivate").then((function(e){s.report(e.data.message)}),(function(e){var i=e&&e.data&&e.data.message?a("translate")(e.data.message):a("translate")("LICENSE_UNABLE_TO_REFRESH");o.report(i)})).finally((function(){c.reset(),c.init().then((function(){i.licensing=angular.copy(c.Data.Licensing),g(),E.reload()})),e.spinner.hide()}))},u.startTrial=function(r,l,d){var S=t.confirm().title(a("translate")("START_TRIAL")).textContent(a("translate")("LICENSE_TRIAL_REQUEST_NOTE")).ariaLabel(a("translate")("LICENSE_TRIAL_REQUEST_NOTE")).targetEvent(d).ok(a("translate")("OK")).cancel(a("translate")("CANCEL"));t.show(S).then((function(){var t=JSON.stringify({licenseKey:i.licensing.licenseKey,product:r,product_description:l});e.spinner.show(),n.post("~/api/v1/licensing/request-trial",t).then((function(e){c.reset(),c.init().then((function(){i.licensing=angular.copy(c.Data.Licensing),g(),E.reload()})),s.report(e.data.message)}),(function(e){var i=e&&e.data&&e.data.message?a("translate")(e.data.message):a("translate")("LICENSE_ERROR_STARTING_TRIAL");o.report(i)})).finally((function(){e.spinner.hide(),g()}))}))}
505,u.startManualActivation=function(e){t.show({controller:"productManualActivationDialogController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/activation/modals/manual-activation.dlg.html",targetEvent:e}).then((function(e){c.reset(),c.init().then((function(){i.licensing=angular.copy(c.Data.Licensing),g(),E.reload()}))}),(function(e){}))},r.init().then(A,o.report)}e.$inject=["$rootScope","$scope","$filter","$mdDialog","$http","successHandling","coreData","coreDataSysAdminCards","coreDataLicensing","errorHandling","coreLicensing","claimsService","i18n"],angular.module("smartermail").controller("sysAdminActivationController",e)}();
506!function(){"use strict";function t(t,n,a,e,i,s,o){var c=this;function u(){o.all([s.get("~/api/v1/settings/sysadmin/antispam/counts")]).then((function(t){c.spamCheckCounts=t[0].data}),(function(){}))}u(),t.$on("$translateChangeSuccess",u)}t.$inject=["$rootScope","$timeout","$log","$filter","$translate","$http","$q"],angular.module("smartermail").service("antiSpamData",t)}();
507!function(){"use strict";function n(n,t,e,i,o,s,c,r,l){var a=this;function u(){s.spinner.show(),i.get("~/api/v1/settings/sysadmin/antispam/counts").then((function(n){a.counts=n.data,a.isHA?(a.gridSections[0].length=o("unicodeNumber")(a.counts.rblCount),a.gridSections[1].length=o("unicodeNumber")(a.counts.uriblCount)):(a.gridSections[1].length=o("unicodeNumber")(a.counts.spamCheckCount),a.gridSections[2].length=o("unicodeNumber")(a.counts.rblCount),a.gridSections[3].length=o("unicodeNumber")(a.counts.uriblCount),a.gridSections[4].length=a.counts.greylistFilterCount);a.ready=!0}),c.report).finally(s.spinner.hide)}a.isHA=window.stHA,a.ready=!1,a.gridSections=[{translate:"OPTIONS",length:-1},{translate:"SPAM_CHECKS",length:"0"},{translate:"RBLS",length:"0"},{translate:"URIBLS",length:"0"},{translate:"GREYLIST_FILTERS",length:"0"}],a.selectedSection="OPTIONS",a.isHA&&(a.gridSections=a.gridSections.filter((n=>["RBLS","URIBLS"].includes(n.translate))),a.selectedSection="RBLS"),a.changeSection=function(n){r.doConfirmDialog?r.doConfirmDialog().then((function(){r.doConfirmDialog=void 0,a.selectedSection=n}),(function(){})):a.selectedSection=n},u(),n.$on("antispam:counts-changed",(function(){u()}))}n.$inject=["$scope","$mdDialog","$timeout","$http","$filter","$rootScope","errorHandling","unsavedChangesTrackingService","claimsService"],angular.module("smartermail").controller("systemAntiSpamController",n)}();
508!function(){"use strict";function e(e,t,s,a,n,r,i,l,o,c,m,d,p,u){var S=this;S.spamChecks=[],S.settings={},S.searchText=null,S.searchParams={skip:0,take:0,search:null,sortField:null,sortDescending:!1},S.tableParams=new o({sorting:{name:"asc"},count:25,filter:{}},{getData:function(e){for(var s in S.searchParams.skip=(e.page()-1)*e.count(),S.searchParams.take=e.count(),S.searchParams.sortField=null,e.sorting())if(e.sorting().hasOwnProperty(s)&&e.sorting()[s]){S.searchParams.sortField=s,S.searchParams.sortDescending="desc"===e.sorting()[s];break}return t.spinner.show(),a.post("~/api/v1/settings/sysadmin/antispam/spam-checks",JSON.stringify({searchParams:S.searchParams,translations:h})).then((function(t){return S.searchResults=t.data.spamChecks,S.searchResultCount=S.searchResults.length,e.total(t.data.total),S.customRules=S.searchResults.filter((function(e){return"CustomRule"===e.type})),S.searchResults}),m.report).finally(t.spinner.hide)},counts:t.commonTableCounts}),S.checkboxes=c.init("id"),S.checkboxes.ignoreItemDelegate=function(e){return e.default},S.checkboxes.table=S.tableParams,S.initialized=!1,S.customRules=[],S.isDecludeInstalled=!0;var h=[{key:"CYREN",translation:n("translate")("CYREN_ANTISPAM")},{key:"CYRENIP",translation:n("translate")("CYREN_IP_REPUTATION")},{key:"DECLUDE",translation:n("translate")("DECLUDE")},{key:"DKIM",translation:n("translate")("DKIM")},{key:"DOMAINKEYS",translation:n("translate")("DOMAIN_KEYS")},{key:"MESSAGESNIFFER",translation:n("translate")("MESSAGE_SNIFFER")},{key:"SPAMFOO",translation:n("translate")("SPAMFOO")},{key:"REMOTESPAMASSASSIN",translation:n("translate")("REMOTE_SPAMASSASSIN")},{key:"REMOTERSPAMD",translation:n("translate")("REMOTE_RSPAMD")},{key:"SPAMASSASSIN",translation:n("translate")("SYSADMIN_SECURITY_INTERNAL_SPAMASSASSIN")},{key:"REVERSEDNS",translation:n("translate")("REVERSE_DNS")},{key:"NULLSENDER",translation:n("translate")("NULL_SENDER")},{key:"SPF",translation:n("translate")("SPF")},{key:"HONEYPOT",translation:n("translate")("HONEYPOT")}];function E(){var e=[a.get("~/api/v1/settings/sysadmin/antispam/settings").then((function(e){
508S.isDecludedOn=e.data.settings.declude.enabled||e.data.settings.declude.enabledOutgoingSmtpBlocking}),(function(e){S.isDecludedOn=!1})),a.get("~/api/v1/settings/sysadmin/antispam/is-declude-installed").then((function(e){e.data.result||(S.isDecludeInstalled=!1)}),(function(e){S.isDecludeInstalled=!1}))];d.all(e)}function g(){E(),S.checkboxes.reset(),S.tableParams.reload()}function f(){t.$broadcast("antispam:counts-changed")}function y(e,s){function i(e){if(e.ItemsToRemove){var i=r.confirmDeletion().textContent(n("translate")("CONFIRMATIONS_DELETE_ITEMS_one")).targetEvent(s);r.show(i).then((function(){t.spinner.show(),a.post("~/api/v1/settings/sysadmin/antispam/custom-rules/update",JSON.stringify(e)).then(t.spinner.hide,m.reportAndHideSpinner).finally(l)}),(function(){}))}else l()}function l(){g(),f()}r.show({locals:{ruleId:e.id},controller:"sysAdminSecurityEditCustomRuleController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/antispam/modals/edit-custom-rule.dlg.html",targetEvent:s}).then(i,(function(){}))}function k(e){var s=S.checkboxes.getCheckedItems(),n=r.confirmDeletion().textContent(p.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:s.length})).targetEvent(e);r.show(n).then((function(){var e={ItemsToRemove:s};t.spinner.show(),a.post("~/api/v1/settings/sysadmin/antispam/custom-rules/update",JSON.stringify(e)).then((function(){g(),f()}),m.report).finally(t.spinner.hide)}),(function(){}))}window.stEnableSpamfoo||(h=h.filter((function(e){return"SPAMFOO"!==e.key}))),S.newItem=function(e){y({id:null},e)},S.editItem=function(e,t){if(!e)return;if(!S.isDecludeInstalled&&!S.isDecludedOn&&"Declude"===e.type)return;var s,a;switch(e.type.toUpperCase()){case"CUSTOMRULE":return void y(e,t);case"CYREN":a="cyrenSpamCtrl",s="app/sysadmin/settings/antispam/modals/cyren.dlg.html";break;
508case"CYRENIP":a="cyrenIpSpamCtrl",s="app/sysadmin/settings/antispam/modals/cyrenip.dlg.html";break;case"DECLUDE":a="decludeSpamCtrl",s="app/sysadmin/settings/antispam/modals/declude.dlg.html";break;case"DKIM":case"DOMAINKEYS":a="dkimSpamCtrl",s="app/sysadmin/settings/antispam/modals/dkim.dlg.html";break;case"MESSAGESNIFFER":a="messageSnifferSpamCtrl",s="app/sysadmin/settings/antispam/modals/message-sniffer.dlg.html";break;case"SPAMFOO":a="spamFooSpamCtrl",s="app/sysadmin/settings/antispam/modals/spamfoo.dlg.html";break;case"REMOTESPAMASSASSIN":case"SPAMASSASSIN":a="spamAssassinSpamCtrl",s="app/sysadmin/settings/antispam/modals/spam-assassin.dlg.html";break;case"REMOTERSPAMD":a="rspamdSpamCtrl",s="app/sysadmin/settings/antispam/modals/rspamd.dlg.html";break;case"REVERSEDNS":a="reverseDnsSpamCtrl",s="app/sysadmin/settings/antispam/modals/reverse-dns.dlg.html";break;case"NULLSENDER":a="nullSenderSpamCtrl",s="app/sysadmin/settings/antispam/modals/null-sender.dlg.html";break;case"SPF":a="spfSpamCtrl",s="app/sysadmin/settings/antispam/modals/spf.dlg.html";break;case"HONEYPOT":a="honeyPotSpamCtrl",s="app/sysadmin/settings/antispam/modals/honey-pot.dlg.html"}r.show({locals:{cardType:e.type.toUpperCase()},controller:a,controllerAs:"ctrl",templateUrl:s,targetEvent:t}).then(g,(function(){}))},S.contextMenuGridItem=function(e,t){if(!t||"touchstart"!==t.type&&"touchend"!==t.type&&3!==t.which||e.criticallyErrored)return;if(S.checkboxes.ignoreItemDelegate(e))return;t.stopPropagation(),t.preventDefault();var a=S.checkboxes.getCheckedItems();(a.length>1&&!_.some(a,(function(t){return t===e.id}))||a.length<=1)&&(S.checkboxes.reset(),S.checkboxes.checkCheckbox(t,e),a=[e.id]);s.dropdownEvent=$.extend(!0,{},t),s.dropdownOptions=[{key:"deleteItems",click:k,params:s.dropdownEvent,translateKey:"DELETE"}];var n=$("#context-menu-area");if(n){var r=l('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(s);n.append(r)}},S.deleteItems=k,S.searchItems=function(){S.searchParams.search=S.searchText,g()},S.isDecludedOn=!1,E()}e.$inject=["$state","$rootScope","$scope","$http","$filter","$mdDialog","$translate","$compile","NgTableParams","gridCheckboxes","errorHandling","$q","i18n","coreDataLicensing"],angular.module("smartermail").controller("sysadminAntiSpamChecksController",e)}();
509!function(){"use strict";function e(e,t,i,n,s,r,o,a,c,l){var d=this;function p(){e.$broadcast("antispam:counts-changed"),d.checkboxes.reset(),d.tableParams.reload()}function m(e,t){if(t&&t.length||(t=d.checkboxes.getCheckedItems()),t&&t.length){var i=s.confirmDeletion().textContent(l.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:t.length})).targetEvent(e);s.show(i).then((function(){n.post("~/api/v1/settings/sysadmin/greylist-delete",JSON.stringify({ids:t})).then(p,o.report)}),(function(){}))}}d.items=[],d.searchParams={skip:0,take:0,search:null,sortField:null,sortDescending:!1},d.tableParams=new a({sorting:{ipAddress:"asc"},count:25},{getData:function(t){for(var i in d.searchParams.skip=(t.page()-1)*t.count(),d.searchParams.take=Number(t.count()),d.searchParams.sortField=null,t.sorting())if(t.sorting().hasOwnProperty(i)&&t.sorting()[i]){d.searchParams.sortField=i,d.searchParams.sortDescending="desc"===t.sorting()[i];break}return d.initialized=!1,e.spinner.show(),n.post("~/api/v1/settings/sysadmin/greylist",JSON.stringify({searchParams:d.searchParams})).then((function(e){return d.items=e.data.filters||[],t.total(e.data.totalCount),d.initialized=!0,d.items}),o.report).finally(e.spinner.hide)},counts:e.commonTableCounts}),d.checkboxes=c.init("id"),d.checkboxes.ignoreItemDelegate=function(e){return e.isInternal},d.checkboxes.table=d.tableParams,d.contextMenuGridItem=function(e,n){if(!n||"touchstart"!==n.type&&"touchend"!==n.type&&3!==n.which||e.criticallyErrored||e.isInternal)return;n.stopPropagation(),n.preventDefault();var s=d.checkboxes.getCheckedItems();(s.length>1&&!_.some(s,(function(t){return t===e.id}))||s.length<=1)&&(d.checkboxes.reset(),d.checkboxes.checkCheckbox(n,e),s=[e.sourceOwner+"|"+e.id]);t.dropdownEvent=$.extend(!0,{},n),t.dropdownOptions=[{key:"deleteItem",click:d.deleteItems,params:{card:[e.id],event:d.dropdownEvent},translateKey:"DELETE",show:!e.isInternal}];var r=$("#context-menu-area");if(r){var o=i('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(t);r.append(o)}},d.initialized=!1,d.newItem=function(e){s.show({locals:{filterType:0,countryCode:"",ipAddress:"",description:"",isNew:!0},controller:"sysAdminEditGreylistingController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/antispam/modals/greylist-filter.dlg.html",targetEvent:e}).then((function(e){var t={countryCode:1===e.filterType?e.countryCode:void 0,ipAddress:0===e.filterType?e.ipAddress:void 0,description:e.description,filterType:e.filterType};n.post("~/api/v1/settings/sysadmin/greylist-add",JSON.stringify({filter:t})).then(p,o.report)}),(function(){}))},d.editItem=async function(e,t){if(e.isInternal)return;try{const i={locals:{filterType:e.filterType,countryCode:e.countryCode,ipAddress:e.ipAddress,description:e.description,isNew:!1},controller:"sysAdminEditGreylistingController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/antispam/modals/greylist-filter.dlg.html",targetEvent:t},r=await s.show(i);if(r.deleteItem)m(t,[e.id]);else try{e.ipAddress=0===r.filterType?r.ipAddress:void 0,e.countryCode=1===r.filterType?r.countryCode:void 0,e.description=r.description,e.filterType=r.filterType,await n.post("~/api/v1/settings/sysadmin/greylist-edit",JSON.stringify({filter:e})),p()}catch(e){o.report(e)}}catch(e){}},d.deleteItems=m,d.searchItems=function(){d.searchParams.search=d.searchText,p()},n.get("~/api/v1/settings/sysadmin/antispam/settings").then((function(e){d.greylistingDisabled=!e.data.settings.greylisting.enabled}),(function(){}))}e.$inject=["$rootScope","$scope","$compile","$http","$mdDialog","$filter","errorHandling","NgTableParams","gridCheckboxes","i18n"],angular.module("smartermail").controller("sysAdminSecurityGreylisting",e)}();
510!function(){"use strict";function t(t,s,e,n,i,a,r,o,l,m,p,d,c){var g=this,u=c.create(s);function h(){var s=[i.get("~/api/v1/settings/sysadmin/antispam/settings").then((function(t){g.settings=t.data.settings,g.maxMessageSizeToContentScanInput=parseInt(g.settings.maxMessageSizeToContentScan/1024,10),g.spamLevels={SPAM_FILTERING_LOW_PROBABILITY:g.settings.spamLevelLow,SPAM_FILTERING_MED_PROBABILITY:g.settings.spamLevelMedium,SPAM_FILTERING_HIGH_PROBABILITY:g.settings.spamLevelHigh},g.privateSuffixList=g.settings.privateSuffixList}),(function(){})),i.get("~/api/v1/settings/sysadmin/spam-assassin-servers").then((function(t){g.spamAssassinServers=t.data.spamAssassinServers||[]}),(function(){})),i.get("~/api/v1/settings/sysadmin/global-mail").then((function(t){var s=t.data.globalMailSettings.emailWhitelist;g.trustedDomains=[],angular.forEach(s.domains||[],(function(t){g.trustedDomains.push(t.value)})),g.trustedEmails=[],angular.forEach(s.emailAddresses||[],(function(t){g.trustedEmails.push(t.value)}))}),(function(){})),i.get("~/api/v1/settings/sysadmin/rspamd-servers").then((function(t){g.rspamdServers=t.data.rspamdServers||[]}),(function(){}))];t.spinner.show(),a.all(s).finally((function(){t.spinner.hide(),g.loading=!1,u.wait((function(){g.contentReady=!0}))}
510))}function v(s){s&&(t.spinner.show(),i.post("~/api/v1/settings/sysadmin/spam-assassin-servers",s).then((function(){!function(){function t(t){g.spamAssassinServers=t.data.spamAssassinServers||[]}i.get("~/api/v1/settings/sysadmin/spam-assassin-servers").then(t)}()}),m.report).finally(t.spinner.hide))}function f(s){s&&(t.spinner.show(),i.post("~/api/v1/settings/sysadmin/rspamd-servers",s).then((function(){!function(){function t(t){g.rspamdServers=t.data.rspamdServers||[]}i.get("~/api/v1/settings/sysadmin/rspamd-servers").then(t)}()}),m.report).finally(t.spinner.hide))}function S(){t.$broadcast("antispam:counts-changed")}function A(t,s,e){r.show({locals:{trustedSenders:e?g.trustedEmails:g.trustedDomains,isAddresses:e},controller:"trustedSenderDialogController",controllerAs:"ctrl",templateUrl:"app/settings/shared/trusted-senders.dlg.html",targetEvent:t}).then((function(t){var n=$.grep(t,(function(t){return(t||"").trim()}));e?g.trustedEmails=n:g.trustedDomains=n;s.$setDirty()}),(function(){}))}g.settings={},g.spamAssassinServers=[],g.rspamdServers=[],g.maxMessageSizeToContentScanInput=0,g.loading=!0,g.contentReady=!1,g.save=function(s,e){t.spinner.show();var n=JSON.stringify({allowDomainOverride:g.settings.allowDomainOverride,allowSystemResponsesToCatchallMessages:g.settings.allowSystemResponsesToCatchallMessages,incomingBlockingEnabled:g.settings.incomingBlockingEnabled,incomingBlockThreshold:g.settings.incomingBlockThreshold,outgoingBlockingEnabled:g.settings.outgoingBlockingEnabled,outgoingBlockingThreshold:g.settings.outgoingBlockingThreshold,outgoingQuarantineAction:g.settings.outgoingQuarantineAction,maxMessageSizeToContentScan:1024*g.maxMessageSizeToContentScanInput,allowBouncesForOutgoingBlockedItems:g.settings.allowBouncesForOutgoingBlockedItems,useSpoolProcFolder:g.settings.useSpoolProcFolder,enableDmarcPolicy:g.settings.enableDmarcPolicy,dmarcQuarantineWeight:g.settings.dmarcQuarantineWeight,dmarcFallbackPolicy:g.settings.dmarcFallbackPolicy,copySpamHamToFolders:g.settings.copySpamHamToFolders,providerReportSpamHam:g.settings.providerReportSpamHam,internalSpamCheckBehavior:g.settings.internalSpamCheckBehavior,autoResponseRestrictionLevel:g.settings.autoResponseRestrictionLevel,contentFilterBounceRestrictionLevel:g.settings.contentFilterBounceRestrictionLevel,spamLevelLow:g.settings.spamLevelLow,spamLevelMedium:g.settings.spamLevelMedium,spamLevelHigh:g.settings.spamLevelHigh,greylisting:g.settings.greylisting,spf:g.settings.spf,maxSpamThreads:g.settings.maxSpamThreads,privateSuffixList:g.privateSuffixList!==g.settings.privateSuffixList?g.privateSuffixList:null});function a(){e.$setPristine()}i.post("~/api/v1/settings/sysadmin/antispam/settings",n).then((function(){var s=JSON.stringify({domains:g.trustedDomains,emails:g.trustedEmails});i.post("~/api/v1/settings/sysadmin/whitelist",s).then(a,m.report).finally((function(){t.spinner.hide()}))}),m.report)},g.exportSpamSettings=function(){var s=n("translate")("FILENAME_SPAM_CONFIG")+".json";t.spinner.show(),o.downloadFile("~/api/v1/settings/sysadmin/export-spam-settings",s).then((function(){}),m.report).finally(t.spinner.hide)},g.importSpamSettings=function(t){r.show({locals:{},controller:"sysAdminImportspamSettingsController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/antispam/modals/import-spam-settings.dlg.html",targetEvent:t}).then((function(){h(),S()}))},g.startSpamWizard=function(t){var s=r.confirmDeletion().textContent(n("translate")("CONFIRMATIONS_RESET_SPAM_SETTINGS")).ok(n("translate")("RESET")).targetEvent(t);r.show(s).then((function(){i.post("~/api/v1/settings/sysadmin/load-spam-defaults").then((function(){p.report(),h(),S()}),m.report)}),(function(){}))},g.editFilterLevel=function(t,s,e,n){r.show({locals:{title:e,actionType:n.action,argument:n.actionData,weight:n.weight,hideMoveToJunk:!1},controller:"editSpamFilterActionDialogController",controllerAs:"ctrl",templateUrl:"app/settings/shared/spam-filter-action.dlg.html",targetEvent:t}).then((function(t){n.action=t.actionTypeName,n.actionData=t.argument,n.weight=t.weight,s.$setDirty()}),(function(){}))},g.newSpamAssassinServer=function(t){r.show({locals:{name:"",address:"",port:""},controller:"sysAdminEditSpamAssassinServerController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/antispam/modals/spam-assassin-server.dlg.html",targetEvent:t}).then((function(t){v(JSON.stringify({toAdd:[{spamAssassinServerName:t.name,spamAssassinIP:t.address,spamAssassinPort:t.port}],toRemove:[t.address]}))}),(function(){}))},g.newRspamdServer=function(t){r.show({locals:{cardData:null},controller:"sysAdminEditRspamdServerController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/antispam/modals/rspamd-server.dlg.html",targetEvent:t}).then((function(t){f(JSON.stringify({toAdd:[{rspamdServerName:t.rspamdServerName,httpBaseAddress:t.httpBaseAddress,httpCheckAddress:t.httpCheckAddress,httpSpamAddress:t.httpSpamAddress,httpHamAddress:t.httpHamAddress}],toRemove:[t.httpBaseAddress]}))}),(function(){}))},g.editSpamAssassinServer=function(t,s,e){r.show({locals:{name:s.spamAssassinServerName,address:s.spamAssassinIP,port:s.spamAssassinPort},controller:"sysAdminEditSpamAssassinServerController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/antispam/modals/spam-assassin-server.dlg.html",targetEvent:t}).then((function(t){if(t.doDelete){var e=r.confirmDeletion().textContent(n("translate")("CONFIRMATIONS_DELETE_ITEMS_one")).targetEvent(event);r.show(e).then((function(){v(JSON.stringify({toRemove:[s.spamAssassinIP]}))}),null)}else v(JSON.stringify({toAdd:[{spamAssassinServerName:t.name,spamAssassinIP:t.address,spamAssassinPort:t.port}],toRemove:[s.spamAssassinIP]}))}),(function(){}))},g.editRspamdServer=function(t,s,e){r.show({locals:{cardData:s},controller:"sysAdminEditRspamdServerController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/antispam/modals/rspamd-server.dlg.html",targetEvent:t}).then((function(t){if(t.doDelete){var e=r.confirmDeletion().textContent(n("translate")("CONFIRMATIONS_DELETE_ITEMS_one")).targetEvent(event);r.show(e).then((function(){f(JSON.stringify({toRemove:[s.httpBaseAddress]}))}),null)}else f(JSON.stringify({toAdd:[{rspamdServerName:t.rspamdServerName,httpBaseAddress:t.httpBaseAddress,httpCheckAddress:t.httpCheckAddress,httpSpamAddress:t.httpSpamAddress,httpHamAddress:t.httpHamAddress}],toRemove:[s.httpBaseAddress]}))}),(function(){}))},g.openTrustedDomains=function(t,s){A(t,s,!1)},g.openTrustedEmails=function(t,s){A(t,s,!0)},g.doCancel=function(t,s){if(!s.$dirty)return;r.show(r.confirmRevertChanges().targetEvent(t)).then((function(){h(),s.$setPristine()}),(function(){}))},h(),g.openDomainSuffixList=function(t,s){r.show({locals:{extensions:angular.copy(g.privateSuffixList),title:"CUSTOM_DOMAIN_SUFFIXES",isReadOnly:!1,blockFilesWithNoExtension:!1},controller:"extensionBlacklistDialogController",controllerAs:"ctrl",templateUrl:"app/settings/shared/extension-blacklist.dlg.html",targetEvent:t}).then((function(t){g.privateSuffixList=t.extensions,s.$setDirty()}),(function(){}))}}t.$inject=["$rootScope","$scope","$timeout","$filter","$http","$q","$mdDialog","coreDataFileStorage","coreDataSysAdminSettings","errorHandling","successHandling","i18n","masonryReveal"],angular.module("smartermail").controller("sysadminAntiSpamOptionsController",t)}();
511!function(){"use strict";function t(t,e,n,a,i,o,s,l,r,c,m,g){var p=this;function d(){m.tablePageNumber=1,n.get("~/api/v1/settings/sysadmin/antispam/rbls/list").then((function(t){angular.forEach(t.data.items,(function(t){t.sortEnableFiltering=""+t.enableFiltering,t.sortEnableIncomingSmtpBlocking=""+t.enableIncomingSmtpBlocking,t.sortEnableOutgoingSmtpBlocking=""+t.enableOutgoingSmtpBlocking})),p.spamChecks=a("filter")(t.data.items,{type:"RBL"});for(let t=0;t<p.spamChecks.length;t++)p.spamChecks[t].weightRange=E(p.spamChecks[t]);p.tableParams.settings({dataset:p.spamChecks}),p.checkboxes.reset(),p.tableParams.reload(),p.initialized=!0}),c.report)}function u(){t.$broadcast("antispam:counts-changed")}function h(){d()}function f(t){var e=p.checkboxes.getCheckedItems();if(e&&e.length)if(1!=e.length)i.show({locals:{type:"rbl"},controller:"modifyChecksSpamCtrl",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/antispam/modals/modify-checks.dlg.html",targetEvent:t}).then((function(t){var a=[];angular.forEach(e,(function(e){a.push({id:e,enableFiltering:t.filteringEnabled,enableIncomingSmtpBlocking:t.inFilteringEnabled,enableOutgoingSmtpBlocking:t.outFilteringEnabled})}
511));var i=JSON.stringify({itemsToUpdate:a});n.post("~/api/v1/settings/sysadmin/antispam/rbls/update",i).then((function(){h(),u()}))}),(function(){}));else{var a=$.grep(p.spamChecks,(function(t){return t.id===e[0]}));a.length>0&&b(a[0],t)}}function b(t,e){function o(){i.show({locals:{orig:angular.copy(t)},controller:"rblSpamCtrl",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/antispam/modals/rbl.dlg.html",targetEvent:e}).then(s,(function(){}))}function s(s){if(s.itemsToRemove){var l=JSON.stringify({itemsToRemove:[t.id]}),r=i.confirmDeletion().textContent(a("translate")("CONFIRMATIONS_DELETE_ITEMS_one")).targetEvent(e);i.show(r).then((function(){n.post("~/api/v1/settings/sysadmin/antispam/rbls/update",l).then((function(){h(),u()}),(function(){}))}),o)}else t.name=s.name,t.description=s.description,t.weight=s.weight,t.maxWeight=s.maxWeight,t.lookupDomain=s.lookupDomain,t.lookupResultsIndicatingSpam=s.lookupResultsIndicatingSpam,t.requireLookupMatch=s.requireLookupMatch,t.enableFiltering=s.enableFiltering,t.enableIncomingSmtpBlocking=s.enableIncomingSmtpBlocking,t.enableOutgoingSmtpBlocking=s.enableOutgoingSmtpBlocking,h()}t&&o()}function k(t){var e=p.checkboxes.getCheckedItems(),a=i.confirmDeletion().textContent(g.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:e.length})).targetEvent(t);i.show(a).then((function(){var t=JSON.stringify({itemsToRemove:e});n.post("~/api/v1/settings/sysadmin/antispam/rbls/update",t).then((function(){h(),u()}))}),null)}function E(t){let e=9999999,n=-9999999;for(let a=0;a<t.spamResultIndicators.length;a++)t.spamResultIndicators[a].weight<e&&(e=t.spamResultIndicators[a].weight),t.spamResultIndicators[a].weight>n&&(n=t.spamResultIndicators[a].weight);return t.weightSort=e,e===n?e:s.instant("INTEGER_RANGE",{start:e,end:n})}p.isHA=window.stHA,p.spamChecks=[],p.searchText=null,p.tableParams=new l({sorting:{name:"asc"},count:25,filter:{}},{dataset:[],counts:t.commonTableCounts}),p.checkboxes=r.init("id"),p.checkboxes.table=p.tableParams,p.initialized=!1,p.strings={avg_time_ms:`${s.instant("AVG_TIME")} (${s.instant("MILLISECONDS_ABREV")})`},p.newItem=function(t){i.show({locals:{orig:angular.copy({lookupResultsIndicatingSpam:["127.0.0.2"],weight:10,maxWeight:30,type:"RBL",new:!0})},controller:"rblSpamCtrl",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/antispam/modals/rbl.dlg.html",targetEvent:t}).then((function(){h(),u()}),(function(){}))},p.editItem=b,p.contextMenuGridItem=function(t,n){if(!n||"touchstart"!==n.type&&"touchend"!==n.type&&3!==n.which||t.criticallyErrored)return;n.stopPropagation(),n.preventDefault();var a=p.checkboxes.getCheckedItems();(a.length>1&&!_.some(a,(function(e){return e===t.id}))||a.length<=1)&&(p.checkboxes.reset(),p.checkboxes.checkCheckbox(n,t),a=[t.id]);e.dropdownEvent=$.extend(!0,{},n),e.dropdownOptions=[{key:"deleteCheckedItems",click:k,params:e.dropdownEvent,translateKey:"DELETE"},{key:"modifyItems",click:f,params:e.dropdownEvent,translateKey:"MODIFY"}];var i=$("#context-menu-area");if(i){var s=o('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);i.append(s)}},p.deleteCheckedItems=k,p.modifyItems=f,p.searchItems=function(){p.checkboxes.reset(),p.tableParams.filter({$:p.searchText}),p.tableParams.reload()},d()}t.$inject=["$rootScope","$scope","$http","$filter","$mdDialog","$compile","$translate","NgTableParams","gridCheckboxes","errorHandling","tablePageService","i18n"],angular.module("smartermail").controller("sysadminAntiSpamRblsController",t)}();
512!function(){"use strict";function t(t,e,n,a,i,o,s,l,r,c,m,g){var p=this;p.isHA=window.stHA,p.spamChecks=[];function u(){m.tablePageNumber=1,n.get("~/api/v1/settings/sysadmin/antispam/rbls/list").then((function(t){angular.forEach(t.data.items,(function(t){t.sortEnableFiltering=""+t.enableFiltering,t.sortEnableIncomingSmtpBlocking=""+t.enableIncomingSmtpBlocking,t.sortEnableOutgoingSmtpBlocking=""+t.enableOutgoingSmtpBlocking})),p.spamChecks=a("filter")(t.data.items,{type:"URIBL"});for(let t=0;t<p.spamChecks.length;t++)p.spamChecks[t].weightRange=k(p.spamChecks[t]);p.tableParams.settings({dataset:p.spamChecks}),p.checkboxes.reset(),p.tableParams.reload(),p.initialized=!0}),c.report)}function d(t){var e=p.checkboxes.getCheckedItems();e&&e.length&&i.show({locals:{type:"uribl"},controller:"modifyChecksSpamCtrl",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/antispam/modals/modify-checks.dlg.html",targetEvent:t}).then((function(t){var a=[];angular.forEach(e,(function(e){a.push({id:e,type:"URIBL",enableFiltering:t.filteringEnabled,enableIncomingSmtpBlocking:t.inFilteringEnabled,enableOutgoingSmtpBlocking:t.outFilteringEnabled})}
512));var i=JSON.stringify({itemsToUpdate:a});n.post("~/api/v1/settings/sysadmin/antispam/rbls/update",i).then((function(){b(),f()}))}),(function(){}))}function h(t){var e=p.checkboxes.getCheckedItems(),a=i.confirmDeletion().textContent(g.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:e.length})).targetEvent(t);i.show(a).then((function(){var t=JSON.stringify({itemsToRemove:e});n.post("~/api/v1/settings/sysadmin/antispam/rbls/update",t).then((function(){b(),f()}))}),null)}function f(){t.$broadcast("antispam:counts-changed")}function b(){u()}function k(t){let e=9999999,n=-9999999;for(let a=0;a<t.spamResultIndicators.length;a++)t.spamResultIndicators[a].weight<e&&(e=t.spamResultIndicators[a].weight),t.spamResultIndicators[a].weight_max>n&&(n=t.spamResultIndicators[a].weight_max);return t.weightSort=e,e===n?e:s.instant("INTEGER_RANGE",{start:e,end:n})}p.searchText=null,p.tableParams=new l({sorting:{name:"asc"},count:25,filter:{}},{dataset:[],counts:t.commonTableCounts}),p.checkboxes=r.init("id"),p.checkboxes.table=p.tableParams,p.initialized=!1,p.strings={avg_time_ms:`${s.instant("AVG_TIME")} (${s.instant("MILLISECONDS_ABREV")})`},p.newItem=function(t){i.show({locals:{orig:angular.copy({lookupResultsIndicatingSpam:["127.0.0.2"],weight:10,maxWeight:30,type:"URIBL",new:!0})},controller:"rblSpamCtrl",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/antispam/modals/rbl.dlg.html",targetEvent:t}).then((function(){b(),f()}),(function(){}))},p.editItem=function(t,e){if(!t)return;function o(o){if(o.itemsToRemove){var s=JSON.stringify({itemsToRemove:[t.id]}),l=i.confirmDeletion().textContent(a("translate")("CONFIRMATIONS_DELETE_ITEMS_one")).targetEvent(e);i.show(l).then((function(){n.post("~/api/v1/settings/sysadmin/antispam/rbls/update",s).then((function(){b(),f()}),(function(){}))}),(function(){}))}else b(),t.name=o.name,t.description=o.description,t.weight=o.weight,t.maxWeight=o.maxWeight,t.lookupDomain=o.lookupDomain,t.lookupResultsIndicatingSpam=o.lookupResultsIndicatingSpam,t.requireLookupMatch=o.requireLookupMatch,t.enableFiltering=o.enableFiltering,t.enableIncomingSmtpBlocking=o.enableIncomingSmtpBlocking,t.enableOutgoingSmtpBlocking=o.enableOutgoingSmtpBlocking}i.show({locals:{orig:angular.copy(t)},controller:"rblSpamCtrl",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/antispam/modals/rbl.dlg.html",targetEvent:e}).then(o,(function(){}))},p.contextMenuGridItem=function(t,n){if(!n||"touchstart"!==n.type&&"touchend"!==n.type&&3!==n.which||t.criticallyErrored)return;n.stopPropagation(),n.preventDefault();var a=p.checkboxes.getCheckedItems();(a.length>1&&!_.some(a,(function(e){return e===t.id}))||a.length<=1)&&(p.checkboxes.reset(),p.checkboxes.checkCheckbox(n,t),a=[t.id]);e.dropdownEvent=$.extend(!0,{},n),e.dropdownOptions=[{key:"deleteCheckedItems",click:h,params:e.dropdownEvent,translateKey:"DELETE"},{key:"modifyItems",click:d,params:e.dropdownEvent,translateKey:"MODIFY"}];var i=$("#context-menu-area");if(i){var s=o('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);i.append(s)}},p.deleteCheckedItems=h,p.modifyItems=d,p.searchItems=function(){p.tableParams.filter({$:p.searchText}),p.tableParams.reload()},u()}t.$inject=["$rootScope","$scope","$http","$filter","$mdDialog","$compile","$translate","NgTableParams","gridCheckboxes","errorHandling","tablePageService","i18n"],angular.module("smartermail").controller("sysadminAntiSpamUriblsController",t)}();
513!function(){"use strict";function n(n,t,e,s,i,a,c,r,o,l,m,d){var g=this,u=d.create(t);function f(){var a=[e.get("~/api/v1/settings/sysadmin/antivirus/sett
513ings").then((function(n){if(g.settings=n.data.settings,g.canUpdateClam=g.settings.clam&&(g.settings.clam.scanMessages||g.settings.clam.scanUploadedFiles||g.settings.clam.scanMessagesWithoutAttachments)&&!g.settings.clam.isRemoteServer,"W"===window.stOs)if(moment.utc(g.settings.clam.virusDefinitionsUpdated,"YYYY-MM-DD HH:mm").format("YYYY")>1900){const n=new Date(g.settings.clam.virusDefinitionsUpdated);t.virusDefinitions=s.instant("ANTI_VIRUS_LAST_UPDATED",{date:m("date")(n,"shortDate"),time:m("date")(n,"shortTime")})}else t.virusDefinitions=s.instant("ANTI_VIRUS_UPDATING")}),(function(){})),e.get("~/api/v1/settings/sysadmin/cyren-licensed").then((function(n){t.cyrenLicensed=n.data.isCyrenAntivirusLicensed}),(function(){t.cyrenLicensed=!1}))];n.spinner.show(),i.all(a).finally((function(){n.spinner.hide(),g.loading=!1,u.wait((function(){g.contentReady=!0}))}))}t.cardService=t.mainSetCtrl.cardService,t.isHA=window.stHA,g.canUpdateClam=!1,g.loading=!0,g.contentReady=!1,t.defaultActionOptions=[{value:0,translation:"NO_ACTION"},{value:1,translation:"DELETE_MESSAGE"},{value:2,translation:"QUARANTINE_MESSAGE"}],g.virusCheckOptions=[{value:0,translation:"BOTH"},{value:1,translation:"INCOMING"},{value:2,translation:"OUTGOING"}],g.save=function(t,s){if(s.$pending)return;n.spinner.show();var i=JSON.stringify({commandLine:g.settings.commandLine,commandLineArguments:g.settings.commandLineArguments,commandLineScanMessages:g.settings.commandLineScanMessages,commandLineScanFiles:g.settings.commandLineScanFiles,commandLineScanMessagesWithoutAttachments:g.settings.commandLineScanMessagesWithoutAttachments,clam:g.settings.clam,cyren:g.settings.cyren,defender:g.settings.defender});
513e.post("~/api/v1/settings/sysadmin/antivirus/settings",i).then((function(){s.$setPristine(),g.canUpdateClam=g.settings.clam&&(g.settings.clam.scanMessages||g.settings.clam.scanUploadedFiles||g.settings.clam.scanMessagesWithoutAttachments)&&!g.settings.clam.isRemoteServer}),r.report).finally(n.spinner.hide)},g.doCancel=function(n,t){if(!t.$dirty)return;c.show(c.confirmRevertChanges().targetEvent(n)).then((function(){f(),t.$setPristine()}),(function(){}))},g.updateClamAV=function(){e.post("~/api/v1/settings/sysadmin/antivirus/update-clam-definitions").then((function(){"W"===window.stOs&&(t.virusDefinitions=s.instant("ANTI_VIRUS_UPDATING"))}),r.report).finally(n.spinner.hide)},g.clamEnabled=function(n){if(!g.settings)return!1;if(!g.settings.clam)return!1;return n?g.settings.clam.scanMessages:g.settings.clam.scanMessages||g.settings.clam.scanUploadedFiles},f()}n.$inject=["$rootScope","$scope","$http","$translate","$q","$timeout","$mdDialog","errorHandling","claimsService","i18n","$filter","masonryReveal"],angular.module("smartermail").controller("sysAdminSecurityAntiVirusPageController",n)}();
514!function(){"use strict";function t(t,e,n,i){var s=this;function r(){n.get("~/api/v1/settings/sysadmin/forward-blacklist").then((function(t){s.gridSections[0].length=(t.data.forwardBlacklists||[]).length}),(function(){})),n.get("~/api/v1/settings/sysadmin/priority-overrides").then((function(t){s.gridSections[1].length=(t.data.priorityOverrides||[]).length}),(function(){})),n.get("~/api/v1/settings/sysadmin/global-mail").then((function(t){s.gridSections[2].length=(t.data.globalMailSettings.serverSettings.reservedDomainNames||[]).length}),(function(){}))}s.gridSections=[{translate:"DO_NOT_FORWARD",length:"0"},{translate:"SENDER_PRIORITY",length:"0"},{translate:"RESERVED_DOMAINS",length:"0"}],s.selectedSection="DO_NOT_FORWARD",s.changeSection=function(t){s.selectedSection=t},r(),e.$on("security:countersChanged",r)}t.$inject=["$rootScope","$scope","$http","claimsService"],angular.module("smartermail").controller("sysAdminDeliveryLimitsController",t)}();
515!function(){"use strict";function i(i,n,e,a,o,r,t,l){r=r||[];var s=angular.copy(t.domainName||"");n.domainName=t.domainName,n.save=function(){if(!n.forwardingBlacklistForm.$valid)return void(n.isValid=!1);var a=r.indexOf(s);a>-1&&r.splice(a,1);r.push(n.domainName);var t=JSON.stringify({forwardBlacklists:r,toRemove:s?[s]:null});i.spinner.show(),o.post("~/api/v1/settings/sysadmin/forward-blacklist",t).then((function(){e.hide({})}),l.report).finally(i.spinner.hide)},n.cancel=function(){e.cancel()},n.deleteItem=function(){e.hide({delete:!0})}}i.$inject=["$rootScope","$scope","$mdDialog","$filter","$http","domains","info","errorHandling"],angular.module("smartermail").controller("systemForwardingBlacklistModalController",i)}();
516!function(){"use strict";function n(n,i,r,o,t,e){i.domains="",i.save=function(){if(!i.userForm.$valid)return void(i.isValid=!1);var o=$.grep(i.domains.split("\n"),(function(n){return!!n})),l=JSON.stringify({forwardBlacklists:o,toRemove:null});n.spinner.show(),t.post("~/api/v1/settings/sysadmin/forward-blacklist",l).then((function(){r.hide()}),e.report).finally(n.spinner.hide)},i.cancel=function(){r.cancel()}}n.$inject=["$rootScope","$scope","$mdDialog","$filter","$http","errorHandling"],angular.module("smartermail").controller("systemNewForwardingBlacklistModalController",n)}();
517!function(){"use strict";function t(t,e,n,o,r,a,s,i,l,c){var d=this;function m(){r.get("~/api/v1/settings/sysadmin/forward-blacklist").then((function(t){d.blacklist=t.data.forwardBlacklists||[],d.tableParams.settings({dataset:d.blacklist}),d.checkboxes.reset(),d.tableParams.reload(),d.initialized=!0}),l.report)}function u(t){h(d.checkboxes.getCheckedItems())}function h(e){if(e&&angular.isArray(e)){var o=n.confirmDeletion().textContent(c.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:e.length})).targetEvent(event);n.show(o).then((function(){var n=JSON.stringify({toRemove:e});r.post("~/api/v1/settings/sysadmin/forward-blacklist",n).then(a,l.report).finally(t.spinner.hide)}),null)}function a(){m(),t.$broadcast("security:countersChanged")}}d.blacklist=[],d.tableParams=new s({sorting:{emailAddress:"asc"},count:25},{dataset:[],counts:t.commonTableCounts}),d.checkboxes=i.init(),d.checkboxes.table=d.tableParams,d.initialized=!1,d.newItem=function(e){return n.show({controller:"systemNewForwardingBlacklistModalController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/delivery-limits/forwarding-blacklist-new.dlg.html",targetEvent:e}).then((function(){m(),t.$broadcast("security:countersChanged")}),(function(){}))},d.deleteItems=u,d.searchItems=function(){d.tableParams.filter({$:d.searchText})},d.editItem=function(e,o){!function(e,o){n.show({locals:{domains:d.blacklist,info:e}
517,controller:"systemForwardingBlacklistModalController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/delivery-limits/forwarding-blacklist-edit.dlg.html",targetEvent:o}).then((function(n){n.delete?h([e.domainName]):(m(),t.$broadcast("security:countersChanged"))}),(function(){}))}({domainName:e},o)},d.contextMenuGridItem=function(t,n){if(!n||"touchstart"!==n.type&&"touchend"!==n.type&&3!==n.which||t.criticallyErrored)return;n.stopPropagation(),n.preventDefault();var o=d.checkboxes.getCheckedItems();(o.length>1&&!_.some(o,(function(e){return e===t}))||o.length<=1)&&(d.checkboxes.reset(),d.checkboxes.checkCheckbox(n,t),o=[t]);e.dropdownEvent=$.extend(!0,{},n),e.dropdownOptions=[{key:"deleteItems",click:u,params:e.dropdownEvent,translateKey:"DELETE"}];var r=$("#context-menu-area");if(r){var s=a('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);r.append(s)}},m()}t.$inject=["$rootScope","$scope","$mdDialog","$filter","$http","$compile","NgTableParams","gridCheckboxes","errorHandling","i18n"],angular.module("smartermail").controller("adminSettingsForwardingBlacklistController",t)}();
518!function(){"use strict";function i(i,e,n){i.editingItem=n,i.domains=n,i.isValid=!0,i.save=function(n){if(n.$setSubmitted(),i.isValid=n.$valid){var t=[];t=i.editingItem?[i.domains]:$.grep(i.domains.split("\n"),(function(i){return!!i})),e.hide({domains:t})}},i.deleteItem=function(){e.hide({toRemove:[i.domains]})},i.cancel=function(){e.cancel()}}i.$inject=["$scope","$mdDialog","domain"],angular.module("smartermail").controller("sysAdminEditReservedDomainNameEditController",i)}();
519!function(){"use strict";function i(i,n,e){i.editingItem=e,i.domains=e,i.isValid=!0,i.save=function(e){if(e.$setSubmitted(),i.isValid=e.$valid){var t=[];t=i.editingItem?[i.domains]:$.grep(i.domains.split("\n"),(function(i){return!!i})),n.hide({domains:t})}},i.cancel=function(){n.cancel()}}i.$inject=["$scope","$mdDialog","domain"],angular.module("smartermail").controller("sysAdminEditReservedDomainNameController",i)}();
520!function(){"use strict";function e(e,t,n,o,i,s,r,a,l,c){var d=this;function m(){n.get("~/api/v1/settings/sysadmin/global-mail").then((function(e){d.items=e.data.globalMailSettings.serverSettings.reservedDomainNames||[],d.tableParams.settings({dataset:d.items}),d.checkboxes.reset(),d.tableParams.reload(),d.initialized=!0}),r.report)}function h(t){t&&(e.spinner.show(),n.post("~/api/v1/settings/sysadmin/reserved-domain-names",t).then((function(){m(),e.$broadcast("security:countersChanged")}),r.report).finally(e.spinner.hide))}function u(e){p(d.checkboxes.getCheckedItems())}function p(e,t){if(e&&e.length){var n=i.confirmDeletion().textContent(c.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:e.length})).targetEvent(t);i.show(n).then((function(){h(JSON.stringify({toRemove:e}))}))}}d.items=[],d.tableParams=new a({count:25},{dataset:[],counts:e.commonTableCounts}),d.checkboxes=l.init(),d.checkboxes.table=d.tableParams,d.initialized=!1,d.newItem=function(e){i.show({locals:{domain:""},controller:"sysAdminEditReservedDomainNameController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/delivery-limits/reserved-domain-name.dlg.html",targetEvent:e}).then((function(e){h(JSON.stringify({toAdd:e.domains,toRemove:e.domains}))}))},d.deleteItems=u,d.searchItems=function(){d.tableParams.filter({$:d.searchText})},d.editItem=function(e,t){i.show({locals:{domain:e},controller:"sysAdminEditReservedDomainNameEditController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/delivery-limits/reserved-domain-name-edit.dlg.html",targetEvent:t}).then((function(n){n.toRemove?p(n.toRemove,t):h(JSON.stringify({toAdd:n.domains,toRemove:[e].concat(n.domains)}))}))},d.contextMenuGridItem=function(e,n){if(!n||"touchstart"!==n.type&&"touchend"!==n.type&&3!==n.which||e.criticallyErrored)return;n.stopPropagation(),n.preventDefault();var o=d.checkboxes.getCheckedItems();(o.length>1&&!_.some(o,(function(t){return t===e}))||o.length<=1)&&(d.checkboxes.reset(),d.checkboxes.checkCheckbox(n,e),o=[e]);t.dropdownEvent=$.extend(!0,{},n),t.dropdownOptions=[{key:"deleteItems",click:u,params:t.dropdownEvent,translateKey:"DELETE"}];var i=$("#context-menu-area");if(i){var r=s('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(t);i.append(r)}},m()}e.$inject=["$rootScope","$scope","$http","$filter","$mdDialog","$compile","errorHandling","NgTableParams","gridCheckboxes","i18n"],angular.module("smartermail").controller("sysAdminSecurityReservedDomainNamesController",e)}();
521!function(){"use strict";function i(i,r,e,n,t,o,s){var a=angular.copy(o);function d(){e.hide({})}r.address=o.address,r.priority=o.priority,r.description=o.description,r.priorityOptions=[{value:100,translation:"LOW"},{value:101,translation:"NORMAL"},{value:102,translation:"HIGH"}
521],r.save=function(){if(r.pageForm.$invalid)return;var e=JSON.stringify({priorityOverride:{address:r.address,priority:r.priority,description:r.description}});a.isNew?function(r){i.spinner.show(),t.post("~/api/v1/settings/sysadmin/priority-override-put",r).then(d,s.report).finally(i.spinner.hide)}(e):function(r){i.spinner.show(),t.post("~/api/v1/settings/sysadmin/priority-override/"+a.address,r).then(d,s.report).finally(i.spinner.hide)}(e)},r.cancel=function(){e.cancel()},r.deleteItem=function(){e.hide({delete:!0})}}i.$inject=["$rootScope","$scope","$mdDialog","$filter","$http","info","errorHandling"],angular.module("smartermail").controller("systemSenderPriorityOverrideModalController",i)}();
522!function(){"use strict";function e(e,t,n,r,o,s,i,a,c,d){var l=this;function u(){o.get("~/api/v1/settings/sysadmin/priority-overrides").then((function(e){l.items=e.data.priorityOverrides||[],l.tableParams.settings({dataset:l.items}),l.checkboxes.reset(),l.tableParams.reload(),l.initialized=!0}),c.report)}function m(t,r){t&&function(t,r){return n.show({locals:{info:t},controller:"systemSenderPriorityOverrideModalController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/delivery-limits/sender-priority-override.dlg.html",targetEvent:r}).then((function(n){n&&n.delete?h([t.address]):(u(),e.$broadcast("security:countersChanged"))}),(function(){}))}(t,r).then(u)}function p(e){h(l.checkboxes.getCheckedItems())}function h(t){if(t&&t.length){var r=n.confirmDeletion().textContent(d.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:t.length})).targetEvent(event);n.show(r).then((function(){var n=JSON.stringify({addresses:t});o.post("~/api/v1/settings/sysadmin/priority-overrides/delete",n).then((function(){u(),e.$broadcast("security:countersChanged")}),c.report).finally(e.spinner.hide)}),null)}}l.items=[],l.tableParams=new i({sorting:{address:"asc"},count:25},{dataset:[],counts:e.commonTableCounts}),l.checkboxes=a.init("address"),l.checkboxes.table=l.tableParams,l.initialized=!1,l.newItem=function(e){m({isNew:!0,address:"",priority:101,description:""},e)},l.deleteItems=p,l.searchItems=function(){l.tableParams.filter({$:l.searchText})},l.editItem=m,l.contextMenuGridItem=function(e,n){if(!n||"touchstart"!==n.type&&"touchend"!==n.type&&3!==n.which||e.criticallyErrored)return;n.stopPropagation(),n.preventDefault();var r=l.checkboxes.getCheckedItems();(r.length>1&&!_.some(r,(function(t){return t===e.address}))||r.length<=1)&&(l.checkboxes.reset(),l.checkboxes.checkCheckbox(n,e),r=[e.address]);t.dropdownEvent=$.extend(!0,{},n),t.dropdownOptions=[{key:"deleteItems",click:p,params:t.dropdownEvent,translateKey:"DELETE"}];var o=$("#context-menu-area");if(o){var i=s('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(t);o.append(i)}},u()}e.$inject=["$rootScope","$scope","$mdDialog","$filter","$http","$compile","NgTableParams","gridCheckboxes","errorHandling","i18n"],angular.module("smartermail").controller("adminSettingsSenderPriorityOverridesController",e)}();
523!function(){"use strict";function n(n,i,e,t,a){var g=this;function o(){e.spinner.show(),i.get("~/api/v1/settings/sysadmin/ip-binding-manager").then((function(n){g.bindingManager=n.data.bindingManager,g.gridSections[0].length=(n.data.bindingManager.bindingInfo||[]).length,g.gridSections[1].length=(n.data.bindingManager.bindingPorts||[]).length}),t.report).finally(e.spinner.hide)}g.gridSections=[{translate:"IP_ADDRESSES",length:"0"},{translate:"PORTS",length:"0"}],g.selectedSection="IP_ADDRESSES",g.changeSection=function(n){g.selectedSection=n},o(),n.$on("bindings:counts-changed",(function(){o()}))}n.$inject=["$scope","$http","$rootScope","errorHandling","claimsService"],angular.module("smartermail").controller("systemBindingsModalController",n)}();
524!function(){"use strict";function e(e,t,i,r,o,s,n){var d,p=angular.copy(s);function l(){e.noRepeatedPorts=0;for(var t=[],i=0;i<e.ports.length;++i)if(e.ports[i].isSelected){var r=e.ports[i].port;if(t.indexOf(r)>-1)return void(e.noRepeatedPorts=-1);t.push(r)}}e.ipType=p.ipType,e.ipAddress=p.ipAddress,e.description=p.description,e.portIDs=p.portIDs||[],e.ports=p.ports||[],e.hostName=p.hostName,e.no
524RepeatedPorts=0,e.selectAll=function(){for(var t=0,i=0;i<e.ports.length;++i)e.ports[i].isSelected&&++t;return t===e.ports.length}(),e.canDelete=p.canDelete,e.save=function(){for(var i=[],o=0;o<e.ports.length;++o)e.ports[o].isSelected&&i.push(e.ports[o].id);var d=JSON.stringify({bindingInfo:[{ipType:s.ipType,ipAddress:s.ipAddress,description:e.description,portIDs:i,hostName:e.hostName}]});r.post("~/api/v1/settings/sysadmin/ip-binding-info",d).then((function(){t.hide()}),n.report)},e.cancel=function(){t.cancel()},e.checked=function(t,i){if(document.getSelection().removeAllRanges(),d&&i.id!==d&&event.shiftKey)for(var r=i.isSelected,o=!1,s=0;s<e.ports.length;s++){var n=e.ports[s];if(o){if(n.id!==i.id&&(n.isSelected=r),n.id===d||n.id===i.id)break}else n.id!==d&&n.id!==i.id||(n.id!==i.id&&(n.isSelected=r),o=!0)}d=i.id,l()},e.deleteItem=function(){if(!e.canDelete)return;t.hide({delete:!0})},e.ports=o("orderBy")(e.ports,"port"),l()}e.$inject=["$scope","$mdDialog","$timeout","$http","$filter","info","errorHandling"],angular.module("smartermail").controller("systemIpAddressModalController",e)}();
525!function(){"use strict";function e(e,n,t,s,r,i,o,a,d,c){var l=this;function p(){u()}function g(e){h(l.checkboxes.getCheckedItems(),e)}function h(n,r){for(var i=[],o=0;o<n.length;++o){for(var a=!1,g=0;g<l.availableAddresses.length;++g)if(l.availableAddresses[g]===n[o]){a=!0;break}a||i.push(n[o])}if(0!==i.length){var h=t.confirmDeletion().textContent(c.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:i.length})).targetEvent(r);t.show(h).then((function(){var n={toRemove:i};e.spinner.show(),s.post("~/api/v1/settings/sysadmin/ip-binding-info",JSON.stringify(n)).then(m,d.report).finally(e.spinner.hide)}),(function(){}))}else m();function m(){d.warn("SYSADMIN_SETTINGS_ONLY_UNAVAILABLE_ADDRESSES_DELETED"),u(),p()}}function u(){l.checkboxes.reset(),l.tableParams.reload()}l.isHA=window.stHA,l.searchText=null,l.ipAddresses=[],l.tableParams=new o({sorting:{ipAddress:"asc"},count:25},{getData:function(n){var t=(n.page()-1)*n.count(),r=Number(n.count()),i=l.searchText?l.searchText.toLowerCase():"",o=null,a=!1;for(var c in n.sorting())if(n.sorting().hasOwnProperty(c)&&n.sorting()[c]){o=c,a="desc"===n.sorting()[c];break}return e.spinner.show(),s.get("~/api/v1/settings/sysadmin/ip-binding-manager/"+o+"/"+a).then((function(e){l.bindingManager=e.data.bindingManager,l.availableAddresses=l.bindingManager.availableAddresses||[],l.ipAddresses=l.bindingManager.bindingInfo||[],l.checkboxes.reset(),l.tableParams.total(l.ipAddresses.length),i&&(l.ipAddresses=_.filter(l.ipAddresses,(function(e){return!(!e.ipAddress||-1===e.ipAddress.toLowerCase().indexOf(i))||(!(!e.hostName||-1===e.hostName.toLowerCase().indexOf(i))||!(!e.description||-1===e.description.toLowerCase().indexOf(i)))})),l.tableParams.total(l.ipAddresses.length));return l.ipAddresses.slice(t,t+r)}),d.report).finally(e.spinner.hide)},counts:e.commonTableCounts}),l.checkboxes=a.init("ipAddress"),l.checkboxes.table=l.tableParams,l.initialized=!1,l.searchItems=p,l.editItem=function(e,n){var s=$.map(l.bindingManager.bindingPorts,(function(n){return{id:n.id,name:n.name,port:n.port,isSelected:e.portIDs&&e.portIDs.indexOf(n.id)>-1}})),r=$.extend({},e,{ports:s,canDelete:!l.availableAddresses.some((n=>n===e.ipAddress))});t.show({locals:{info:r},controller:"systemIpAddressModalController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/bindings/ip-address.dlg.html",targetEvent:n}).then((function(t){t&&t.delete?h([e.ipAddress],n):u()}),(function(){}))},l.contextMenuGridItem=function(e,t){if(!t||"touchstart"!==t.type&&"touchend"!==t.type&&3!==t.which||e.criticallyErrored)return;t.stopPropagation(),t.preventDefault();var s=l.checkboxes.getCheckedItems();(s.length>1&&!_.some(s,(function(n){return n===e.ipAddress}))||s.length<=1)&&(l.checkboxes.reset(),l.checkboxes.checkCheckbox(t,e),s=[e.ipAddress]);n.dropdownEvent=$.extend(!0,{},t),n.dropdownOptions=[{key:"deleteItems",click:g,params:n.dropdownEvent,translateKey:"DELETE"}];var r=$("#context-menu-area");if(r){var o=i('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(n);r.append(o)}},l.deleteItems=g}e.$inject=["$rootScope","$scope","$mdDialog","$http","$translate","$compile","NgTableParams","gridCheckboxes","errorHandling","i18n"],angular.module("smartermail").controller("adminSettingsIpAddressesController",e)}();
526!function(){"use strict";function e(e,t,i,s,a,r,n){var c=this;e.encryptionsEnum=[{index:0,label:i("translate")("NONE"),isSsl:!1,isTls:!1},{index:1,label:i("translate")("ENCRYPTION_SSL"),isSsl:!0,isTls:!1},{index:2,label:i("translate")("ENCRYPTION_TLS"),isSsl:!1,isTls:!0}];var d,o=angular.copy(r),l=o.id||null;function u(e){switch(e){case 0:return i("translate")("CERTIFICATE_NOT_FOUND");case 1:return i("translate")("NOT_A_VALID_CERTIFICATE");case 2:return i("translate")("VALID_CERTIFICATE");default:return i("translate")("NOT_VERIFIED")}}function p(t){var s=i("translate")(t);return 1===e.encryption&&(s+=" "+e.encryptionsEnum[1].label),2===e.encryption&&(s+=" "+e.encryptionsEnum[2].label),s}function f(){var t=1===e.encryption;switch(e.protocol){case 0:e.port=t?465:25,o.isNew&&(e.name=p("SMTP"));break;case 1:e.port=t?995:110,o.isNew&&(e.name=p("POP"));break;case 2:e.port=t?993:143,o.isNew&&(e.name=p("IMAP"));break;case 3:e.port=t?636:389,o.isNew&&(e.name=p("LDAP"));break;case 4:e.port=t?465:587,o.isNew&&(e.name=p("SUBMISSION"));break;case 5:e.port=t?5223:5222,o.isNew&&(e.name=p("XMPP"))}}function m(i){var a={id:l,type:e.protocol,name:e.name,port:e.port,isSSL:1===e.encryption,isTls:2===e.encryption,certificatePath:c.useAutomatedCertificate?"":c.certificatePath,password:c.useAutomatedCertificate?"":c.password,useAutomatedCertificate:c.useAutomatedCertificate,automatedCertificateFilename:c.useAutomatedCertificate&&c.selectedAutomatedCertificate?c.selectedAutomatedCertificate.filename:null,boundIpAddresses:c.boundIpAddresses},r={};o.isNew?r.toAdd=[a]:r.bindingPorts=[a],r=JSON.stringify(r),s.post("~/api/v1/settings/sysadmin/ip-binding-ports",r).then((function(){t.hide()}),n.report)}function A(t){if(t)if(t.selected){var i=e.port,s=r.ports.some((e=>e.id!=l&&e.ips.some((s=>s.selected&&s.ipAddress==t.ipAddress&&i==e.port)))),a=c.originalSelections.some((e=>e==t.ipAddress));s&&!a&&c.duplicateIps.push(t.ipAddress)}else c.originalSelections=c.originalSelections.filter((e=>e!==t.ipAddress)),c.duplicateIps=c.duplicateIps.filter((e=>e!==t.ipAddress));else c.duplicateIps=[],o.ips.forEach((function(e){A(e)}));c.duplicateEntryError=c.duplicateIps.length>
5260,c.duplicateEntryError&&console.log("duplicate bound ips",c.duplicateIps)}function C(){c.duplicateEntryError=!1}function h(){s.get("~/api/v1/settings/sysadmin/automated-certificates").then((function(e){if(c.certificatesLoaded=!0,e.data&&e.data.success&&(c.automatedCertificatesEnabled=e.data.automatedCertificatesEnabled,c.availableCertificates=e.data.certificates||[],c.useAutomatedCertificate&&o.automatedCertificateFilename&&(c.selectedAutomatedCertificate=c.availableCertificates.find((function(e){return e.filename===o.automatedCertificateFilename}))||null),!c.selectedAutomatedCertificate&&c.certificatePath))try{var t=function(e){return e&&"string"==typeof e?e.replace(/\\/g,"/").toLowerCase():""},i=t(c.certificatePath),s=function(e){if(!e||"string"!=typeof e)return"";var t=e.replace(/\\/g,"/"),i=t.lastIndexOf("/");return i>=0?t.substring(i+1):t}(c.certificatePath).toLowerCase(),a=c.availableCertificates.find((function(e){return!(!e.certificatePath||t(e.certificatePath)!==i)||!(!e.filename||e.filename.toLowerCase()!==s)}));a&&(c.selectedAutomatedCertificate=a,I())}catch(e){}}),n.report)}function g(){c.useAutomatedCertificate?(c.certificatePath="",c.password="",c.verificationStr=""):c.selectedAutomatedCertificate=null}function I(){c.useAutomatedCertificate=!!c.selectedAutomatedCertificate,g()}e.isNew=o.isNew||!1,e.protocol=o.type,e.name=o.name,e.port=o.port,e.encryption=o.isSSL?e.encryptionsEnum[1].index:o.isTls?e.encryptionsEnum[2].index:e.encryptionsEnum[0].index,e.ips=i("orderBy")(o.ips,"ipAddress"),e.checkedIps=o.ips.reduce((function(e,t){return t.selected?++e:e}),0),c.certificatePath=o.certificatePath||"",c.password=o.password||"",c.useAutomatedCertificate=o.useAutomatedCertificate||!1,c.automatedCertificatesEnabled=!1,c.availableCertificates=[],c.certificatesLoaded=!1,c.selectedAutomatedCertificate=null,e.checkboxCount=0,e.startsave=function(t,i){if(c.boundIpAddresses=[],angular.forEach(e.ips,(function(e){e.selected&&c.boundIpAddresses.push(e.ipAddress)})),!i)for(var d=0;d<r.ports.length;d++)if(e.port==r.ports[d].port&&e.id!==r.ports[d].id)for(var o=r.ports[d].ips,p=0;p<c.boundIpAddresses.length;p++){o.filter((function(e){return e.ipAddress==c.boundIpAddresses[p]})).length>0&&(c.duplicateEntryError=!0)}c.verificationStr="",0===e.encryption||c.useAutomatedCertificate?m(t):function(){var e=a.defer(),t=JSON.stringify({id:l,path:c.certificatePath,password:c.password});return s.post("~/api/v1/settings/sysadmin/verify-certificate",t).then(i,r),e.promise;function i(t){2===t.data.result?e.resolve({success:!0}):e.resolve({success:!1,message:u(t.data.result)})}function r(t){e.reject(t.data.message)}}().then((function(e){e.success?m(t):c.verificationStr=e.message}),n.report)},e.save=m,e.cancel=function(){t.cancel()},e.checked=function(t,i){C(),document.getSelection().removeAllRanges(),i.selected?e.checkedIps++:e.checkedIps--;if(d&&i.ipAddress!=d&&event.shiftKey)for(var s=i.selected,a=!1,r=0;r<e.ips.length;r++){var n=e.ips[r];if(a){if(n.ipAddress!==i.ipAddress&&(n.selected=s),n.ipAddress==d||n.ipAddress==i.ipAddress)break}else n.ipAddress!=d&&n.ipAddress!=i.ipAddress||(n.ipAddress!==i.ipAddress&&(n.selected=s),a=!0)}d=i.ipAddress,A(i)},e.deleteItem=function(){t.hide({delete:!0})},e.checkForDuplicates=A,c.setNameAndPort=f,c.checkForDuplicates=A,c.onUseAutomatedCertificateChanged=g,c.onSelectedAutomatedCertificateChanged=I,c.loadAutomatedCertificates=h,c.boundIpAddresses=[],c.duplicateEntryError=!1,c.portOrIP
526Changed=C(),c.originalSelections=[],c.duplicateIps=[],function(){o.isNew&&f();h(),A()}()}e.$inject=["$scope","$mdDialog","$filter","$http","$q","info","errorHandling"],angular.module("smartermail").controller("systemPortsModalController",e)}();
527!function(){"use strict";function t(t,e,n,r,o,a,s,i,c,l){var p=this;function d(t,e){var n=0,r=[];angular.forEach(p.bindingManager.bindingInfo,(function(o){var a=!1;angular.forEach(o.portIDs,(function(e){e==t.id&&(r.push({ipAddress:o.ipAddress,selected:!0}),n++,a=!0)})),!a&&e&&r.push({ipAddress:o.ipAddress,selected:!1})})),t.ips=r,t.ipCount=n}function u(t,e){return n.show({locals:{info:t},controller:"systemPortsModalController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/bindings/port.dlg.html",targetEvent:e})}function g(t){f(p.checkboxes.getCheckedItems(),t)}function f(e,r){if(angular.isArray(e)&&!(e.length<1)){var a=n.confirmDeletion().textContent(l.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:e.length})).targetEvent(r);n.show(a).then((function(){var n=e,r=JSON.stringify({toRemove:n});t.spinner.show(),o.post("~/api/v1/settings/sysadmin/ip-binding-ports",r).then((function(){b(),h()}),c.report).finally(t.spinner.hide)}),(function(){}))}}function h(){t.$broadcast("bindings:counts-changed")}function b(){p.checkboxes.reset(),p.tableParams.reload()}p.isHA=window.stHA,p.searchText=null,p.ports=[],p.tableParams=new s({sorting:{port:"asc"},count:25},{getData:function(e){var n=(e.page()-1)*e.count(),a=Number(e.count()),s=p.searchText?p.searchText.toLowerCase():"",i=null,l=!1;for(var u in e.sorting())if(e.sorting().hasOwnProperty(u)&&e.sorting()[u]){i=u,l="desc"===e.sorting()[u];break}return t.spinner.show(),o.get("~/api/v1/settings/sysadmin/ip-binding-manager/"+i+"/"+l).then((function(t){p.bindingManager=t.data.bindingManager,p.ports=t.data.bindingManager.bindingPorts||[],angular.forEach(p.ports,(function(t){switch(t.type){case 0:t.typeStr=r("translate")("SMTP");break;case 1:t.typeStr=r("translate")("POP");break;case 2:t.typeStr=r("translate")("IMAP");break;case 3:t.typeStr=r("translate")("LDAP");break;case 4:t.typeStr=r("translate")("SUBMISSION");break;case 5:t.typeStr=r("translate")("XMPP");break;default:t.typeStr=r("translate")("UNKNOWN_PORT_TYPE")}d(t)})),p.tableParams.total(p.ports.length),"ipCount"===i&&(p.ports=r("orderBy")(p.ports,i,l));s&&(p.ports=_.filter(p.ports,(function(t){return!(!t.port||-1===t.port.toString().indexOf(s))||!(!t.name||-1===t.name.toLowerCase().indexOf(s))})),p.tableParams.total(p.ports.length));return p.ports.slice(n,n+a)}),c.report).finally(t.spinner.hide)},counts:t.commonTableCounts}),p.checkboxes=i.init("id"),p.checkboxes.table=p.tableParams,p.initialized=!1,p.searchItems=function(){b()},p.editItem=function(t,e){if(!t)return;var n=angular.copy(t);n.password="0b6874fa-d052-49bf-a3cb-c04ebb5c4909",n.ports=p.ports,d(n,!0),u(n,e).then((function(n){n&&n.delete?f([t.id],e):b()}),(function(){}))},p.newItem=function(t){var e={isNew:!0,id:void 0,name:"",port:void 0,type:0,description:"",isTls:!1,isSsl:!1,certificatePath:"",password:"",ports:p.ports};d(e,!0),u(e,t).then((function(){b(),h()}),(function(){}))},p.contextMenuGridItem=function(t,n){if(!n||"touchstart"!==n.type&&"touchend"!==n.type&&3!==n.which||t.criticallyErrored)return;n.stopPropagation(),n.preventDefault();var r=p.checkboxes.getCheckedItems();(r.length>1&&!_.some(r,(function(e){return e===t.id}))||r.length<=1)&&(p.checkboxes.reset(),p.checkboxes.checkCheckbox(n,t),r=[t.id]);e.dropdownEvent=$.extend(!0,{},n),e.dropdownOptions=[{key:"deleteItems",click:g,params:e.dropdownEvent,translateKey:"DELETE"}];var o=$("#context-menu-area");if(o){var s=a('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);o.append(s)}},p.deleteItems=g}t.$inject=["$rootScope","$scope","$mdDialog","$filter","$http","$compile","NgTableParams","gridCheckboxes","errorHandling","i18n"],angular.module("smartermail").controller("adminSettingsPortsController",t)}();
528!function(){"use strict";function o(o,e,t,n,a,s,i,c,l,r,d){var h=this,g=d.create(e);async function u(){o.spinner.show(),await n.get("~/api/v1/settings/sysadmin/about-checkup").then((function(o){h.edition=o.data.edition,h.productBuild=o.data.productBuild,h.productActivationCheck=l.instant(o.data.productActivationCheck),h.sdkVersion=o.data.sdkVersion,h.osLocale=o.data.osLocale,h.osDateFormat=o.data.osDateFormat,h.osTimeFormat=o.data.osTimeFormat,h.osDefaultEncoding=o.data.osDefaultEncoding,h.osTimeZone=o.data.osTimeZone,h.osVersion=o.data.osVersion,h.folderPermissionsCheck=l.instant(o.data.folderPermissionsCheck),h.yahooResolveCheck=l.instant(o.data.yaho
528oResolveCheck),h.yahooHttpsCheck=l.instant(o.data.yahooHttpsCheck),h.googleResolveCheck=l.instant(o.data.googleResolveCheck),h.googleHttpsCheck=l.instant(o.data.googleHttpsCheck),h.echo1Check=l.instant(o.data.echo1Check),h.echo2Check=l.instant(o.data.echo2Check),h.logFiles=o.data.logFiles||[],h.jsonFiles=o.data.jsonFiles||[]}),r).finally((()=>{o.spinner.hide(),h.loading=!1,g.wait((function(){h.contentReady=!0}))}))}h.loading=!0,h.contentReady=!1,h.edition="",h.productBuild="",h.productActivationCheck="",h.sdkVersion="",h.osLocale="",h.osDateFormat="",h.osTimeFormat="",h.osDefaultEncoding="",h.osTimeZone="",h.osVersion="",h.folderPermissionsCheck="",h.yahooResolveCheck="",h.yahooHttpsCheck="",h.googleResolveCheck="",h.googleHttpsCheck="",h.echo1Check="",h.echo2Check="",h.logFiles=[],h.jsonFiles=[],h.save=function(o,e){if(e.$invalid)return void r.report("CORRECT_INVALID_FIELDS");e.$setPristine()},h.doCancel=function(o,e){if(!e.$dirty)return;s.show(s.confirmRevertChanges().targetEvent(o)).then((function(){u(),e.$setPristine()}),(function(){}))},h.showJsonFilesDialog=function(o){s.show({locals:{jsonFiles:h.jsonFiles},controller:"largeJsonFilesDialogController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/diagnostics/large-json-files.dlg.html",targetEvent:o}).then((function(){}),(function(){}))},u()}o.$inject=["$rootScope","$scope","$filter","$http","$state","$mdDialog","$q","$timeout","$translate","errorHandling","masonryReveal"],angular.module("smartermail").controller("adminSettingsDiagnostics2Controller",o)}();
529!function(){"use strict";function e(e,i,l){this.jsonFiles=l.map((function(e){return{fileName:e.fileName,emailAddress:e.emailAddress,fileSize:i("bytes")(e.fileSize,1,"0")}})),this.cancel=function(){e.cancel()}}e.$inject=["$mdDialog","$filter","jsonFiles"],angular.module("smartermail").controller("largeJsonFilesDialogController",e)}();
530!function(){"use strict";function e(e,n,t,o,i,a,s,r,c,l,v,d,u,g,f,k,p){var E=this,H=p.create(n);function y(){i.all([t.get("~/api/v1/settings/sysadmin/sysadmin-events"),t.post("~/api/v1/settings/sysadmin/event-hooks-by-owner"),t.get("~/api/v1/settings/sysadmin/event-variables")]).then((function(e){E.availableEvents=e[0].data.events||[],t=[],angular.forEach(E.availableEvents,(function(e){e.categoryResourceId=e.categoryResourceId.replace("@","").toUpperCase(),e.translation="EVENT_TYPES_"+e.id.toUpperCase();var n=null;angular.forEach(t,(function(t){t.categoryResourceId==e.categoryResourceId&&(n=t)})),n||(n={categoryResourceId:e.categoryResourceId,events:[],internalId:t.length},t.push(n)),n.events.push(e)})),E.eventCategories=t;var t;var o=e[1].data.eventHooks||[];angular.forEach(o,(function(e){e.id===E.eventHookId&&(E.eventHook=e)})),E.eventHook||(E.eventHook={actions:[],actionsByKey:{},conditions:[],conditionsByKey:{},enabled:!0,eventID:null,groupID:c.user.domain,isNew:!0,name:"",owner:""});E.eventHook.conditions=E.eventHook.conditions||[],E.eventHook.actions=E.eventHook.actions||[],E.canDelete="new"!==E.eventHookId&&"@DefaultEventGroupStatic"!==E.eventHook.eventGroup,E.readOnly="@DefaultEventGroupStatic"===E.eventHook.eventGroup,angular.forEach(E.eventCategories,(function(e){angular.forEach(e.events,(function(n){if(E.eventHook.eventID||(E.eventHook.eventID=n.eventId),n.eventId===E.eventHook.eventID)return E.selectedCategory=e,void(E.selectedEventType=n)}))})),E.eventVariables=e[2].data.variables,n.$watch((function(){return E.selectedCategory}),T),n.$watch((function(){return E.selectedEventType}),b),C(),h(),I(),E.initialized=!0,E.loading=!1,H.wait((function(){E.contentReady=!0}))}),d.report)}function h(){console.log("initialize conditions"),console.log(""+E.eventHook.conditions),angular.forEach(E.eventHook.conditions,(function(e,n){e.$$index=n,e.$$order=n+1})),E.conditionsTableParams.settings({dataset:E.eventHook.conditions}),E.conditionsCheckboxes.reset(),E.conditionsTableParams.reload()}function C(){console.log("initialize actions"),console.log(""+E.eventHook.actions),angular.forEach(E.eventHook.actions,(function(e,n){e.$$index=n,e.$$order=n+1})),E.actionsTableParams.settings({dataset:E.eventHook.actions}),E.actionsCheckboxes.reset(),E.actionsTableParams.reload()}function I(){E.gridSections[1].length=E.eventHook.conditions.length,E.gridSections[2].length=E.eventHook.actions.length}function m(e){var n=null;return angular.forEach(E.eventCategories,(function(t){angular.forEach(t.events,(function(o){e&&e.eventId==o.eventId&&(n=t)}))})),n}function T(e,n){E.lastCategory!==e&&E.lastCategory?(E.eventHook.eventID=e.events[0].eventId,E.selectedEventType=e.events[0]):E.lastCategory=e}function b(e,n){if(E.lastEvent!==e&&E.lastEvent){var t=[];angular.forEach(E.eventHook.conditions,(function(n){var o=!1;angular.forEach(e.conditions,(function(e){e.key===n.key&&e.inputType===n.inputType&&e.descriptionResourceID===n.descriptionResourceID&&(o=!0)})),o||t.push(n)}));var i=[];if(angular.forEach(E.eventHook.actions,(function(n){var t=!1;
530angular.forEach(e.possibleActions,(function(e){e.key===n.key&&e.inputType===n.inputType&&e.descriptionResourceID===n.descriptionResourceID&&(t=!0)})),t||i.push(n)})),t.length||i.length){var s=a.confirm().title(o("translate")("EVENTS_NOTICE_CONDITIONS_AND_ACTIONS_CHANGED_TITLE")).textContent(o("translate")("EVENTS_NOTICE_CONDITIONS_AND_ACTIONS_CHANGED")).ariaLabel(o("translate")("EVENTS_NOTICE_CONDITIONS_AND_ACTIONS_CHANGED")).ok(o("translate")("CONTINUE")).cancel(o("translate")("CANCEL"));a.show(s).then((function(){r(t,i)}),(function(){E.selectedCategory=m(E.lastEvent),E.selectedEventType=E.lastEvent,E.eventHook.eventID=E.lastEvent.eventId}))}else r()}else r();function r(n,t){e&&(n&&angular.forEach(n,(function(e){var n=E.eventHook.conditions.indexOf(e);-1!==n&&E.eventHook.conditions.splice(n,1),delete E.eventHook.conditionsByKey[e.key]})),t&&angular.forEach(t,(function(e){var n=E.eventHook.actions.indexOf(e);-1!==n&&E.eventHook.actions.splice(n,1)})),E.lastCategory=m(e),E.lastEvent=e,E.eventHook.eventID=e.eventId)}}function D(n,o){if(o.$valid){var i=E.eventHook;t.post("~/api/v1/settings/sysadmin/event-hook",i).then((function(n){if(!n.data.success)return void d.report(n);o.$setPristine(),e.$broadcast("system-settings:changed"),I(),h(),C()}),d.report)}}E.loading=!0,E.contentReady=!1,E.eventHookId=s.params.id,E.eventHook=null,E.availableEvents=[],E.lastCategory=null,E.lastEvent=null,E.canDelete=!1,E.initialized=!1,E.save=function(n,o){if(!o.$valid)return;var i=E.eventHook;t.post("~/api/v1/settings/sysadmin/event-hook",i).then((function(n){n.data.success?"new"===E.eventHookId&&n.data.id?(E.eventHookId=n.data.id,E.eventHook.id=E.eventHookId,E.gridSections[1].disabled=!1,E.gridSections[2].disabled=!1,s.go(".",{"index.sysadmin-settings.events.specific":E.eventHook.id},{location:"replace",notify:!1}),o.$setPristine(),e.$broadcast("system-settings:changed")):(o.$setPristine(),e.$broadcast("system-settings:changed"),s.go("^")):d.report(n)}),d.report)},E.deleteThis=function(e,n){if("new"===E.eventHookId)return void s.go("^");var i=a.confirmDeletion().textContent(o("translate")("CONFIRMATIONS_DELETE_ITEMS_one")).targetEvent(e);a.show(i).then((function(){E.skipNavigateConfirm=!0;var e=JSON.stringify({input:[E.eventHookId]});t.post("~/api/v1/settings/sysadmin/event-hook-delete",e).then((function(){s.go("^")}),d.report)}),(function(){}))},E.addCondition=function(e,n){if(E.readOnly)return;a.show({locals:{newCondition:!0,conditionKey:"",eventId:E.eventHook.eventID,operator:"Equals",availableEvents:E.availableEvents,usedConditions:E.eventHook.conditionsByKey,value1:void 0,value2:void 0,parseTimeSpan:l.parseUserTimeSpan,level:"user"},controller:"sysAdminEventConditionEditController",controllerAs:"EvMoCtrl",templateUrl:"app/sysadmin/settings/events/modals/event-condition.dlg.html",targetEvent:e}).then((function(t){E.eventHook.conditions.push(t.condition),E.eventHook.conditionsByKey=E.eventHook.conditionsByKey||[],E.eventHook.conditionsByKey[t.condition.key]=t.condition,D(e,n),n.$setDirty()}),(function(){}))},E.editCondition=function(e,n,t){if(E.readOnly||!E.isConditionEditable(E.eventHook.eventID,n))return;a.show({locals:{newCondition:!1,conditionKey:n.key,eventId:E.eventHook.eventID,operator:n.condition,availableEvents:E.availableEvents,usedConditions:E.eventHook.conditionsByKey,getConditionTranslation:v.getConditionTranslation,value1:n.value1,value2:n.value2,parseTimeSpan:l.parseUserTimeSpan,level:"user"},controller:"sysAdminEventConditionEditController",controllerAs:"EvMoCtrl",templateUrl:"app/sysadmin/settings/events/modals/event-condition.dlg.html",targetEvent:e}).then((function(i){if(i.deleteCond){var s=a.confirmDeletion().textContent(o("translate")("CONFIRMATIONS_DELETE_ITEMS_one")).targetEvent(event);a.show(s).then((function(){var o=n.$$index;-1!==o&&(E.eventHook.conditions.splice(o,1),delete E.eventHook.conditionsByKey[i.condition.key],t.$setDirty(),D(e,t))}),(function(){}))}else{var r=n.$$index;-1===r?E.eventHook.conditions.push(i.condition):E.eventHook.conditions[r]=i.condition,t.$setDirty(),D(e,t)}}),(function(){}))},E.addAction=function(e,n){if(E.readOnly)return;var t=E.availableEvents[E.eventHook.eventID],o=$.grep(t.possibleActions,
530(function(e){return"AlertAction"===e.key}));if(!o[0])return void d.report("ERROR_GETTING_ACTION");a.show({locals:{newAction:!0,eventGuid:E.eventHookId,eventId:E.eventHook.eventID,availableEvents:E.availableEvents,availableVariables:E.eventVariables,action:o[0],defaultEmail:c.user.emailAddress,level:"user"},controller:"sysAdminEventActionEditController",controllerAs:"EvMoCtrl",templateUrl:"app/sysadmin/settings/events/modals/event-action.dlg.html",targetEvent:e}).then((function(t){E.eventHook.actions.push(t.action),n.$setDirty(),D(e,n)}),(function(){}))},E.editAction=function(e,n,t){if(E.readOnly)return;a.show({locals:{newAction:!1,eventGuid:E.eventHookId,eventId:E.eventHook.eventID,availableEvents:E.availableEvents,availableVariables:E.eventVariables,action:angular.copy(n),defaultEmail:c.user.emailAddress,level:"user"},controller:"sysAdminEventActionEditController",controllerAs:"EvMoCtrl",templateUrl:"app/sysadmin/settings/events/modals/event-action.dlg.html",targetEvent:e}).then((function(o){var i=n.$$index;o.deleteAction?-1!==i&&void 0!==i&&(E.eventHook.actions.splice(i,1),t.$setDirty()):(-1===i||void 0===i?E.eventHook.actions.push(o.action):E.eventHook.actions[i]=o.action,t.$setDirty(),D(e,t))}),(function(){}))},E.getActionTranslation=v.getActionTranslation,E.getGenericConditionTranslation=v.getGenericConditionTranslation,E.getConditionTranslation=v.getConditionTranslation,E.getConditionTypeString=v.getConditionTypeString,E.getActionMiddleString=v.getActionMiddleString,E.getActionBottomString=v.getActionBottomString,E.verifyEventTypeChange=b,E.verifyEventCategoryChange=T,E.isConditionEditable=function(e,n){return!0},E.cancel=function(){s.go("^")}
530,E.cancelOptions=function(e,n){n.$setPristine(),y()},E.hasActions=function(){return E.eventHook&&E.eventHook.actions&&E.eventHook.actions.length>0},E.hasConditions=function(){return E.eventHook&&E.eventHook.conditions&&E.eventHook.conditions.length>0},E.setActionHigherPriority=function(e,n,t){n.stopPropagation();var o=e.$$index;if(void 0===o||o<=0)return;var i=E.eventHook.actions[o-1];E.eventHook.actions[o-1]=E.eventHook.actions[o],E.eventHook.actions[o]=i,C(),D(n,t)},E.setActionLowerPriority=function(e,n,t){n.stopPropagation();var o=e.$$index;if(void 0===o||o>=E.eventHook.actions.length-1)return;var i=E.eventHook.actions[o+1];E.eventHook.actions[o+1]=E.eventHook.actions[o],E.eventHook.actions[o]=i,C(),D(n,t)},E.setConditionHigherPriority=function(e,n,t){if(n.stopPropagation(),E.readOnly)return;var o=e.$$index;if(void 0===o||o<=0)return;var i=E.eventHook.conditions[o-1];E.eventHook.conditions[o-1]=E.eventHook.conditions[o],E.eventHook.conditions[o]=i,h(),D(n,t)},E.setConditionLowerPriority=function(e,n,t){if(n.stopPropagation(),E.readOnly)return;var o=e.$$index;if(void 0===o||o>=E.eventHook.conditions.length-1)return;var i=E.eventHook.conditions[o+1];E.eventHook.conditions[o+1]=E.eventHook.conditions[o],E.eventHook.conditions[o]=i,h(),D(n,t)},E.deleteCheckedConditions=function(e,n){var t=E.conditionsCheckboxes.getCheckedItems();if(!t||!t.length)return;var o=a.confirmDeletion().textContent(u.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:t.length})).targetEvent(e);a.show(o).then((function(){var o=t.map((function(e){return parseInt(e,10)}));E.eventHook.conditions=E.eventHook.conditions.filter((function(e){return-1===o.indexOf(e.$$index)})),h(),I(),D(e,n)}),(function(){}))},E.deleteCheckedActions=function(e,n){var t=E.conditionsCheckboxes.getCheckedItems();if(!t||!t.length)return;var o=a.confirmDeletion().textContent(u.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:t.length})).targetEvent(e);a.show(o).then((function(){var o=t.map((function(e){return parseInt(e,10)}));E.eventHook.actions=E.eventHook.actions.filter((function(e){return-1===o.indexOf(e.$$index)})),C(),I(),D(e,n)}),(function(){}))},y(),E.gridSections=[{translate:"OPTIONS",length:-1},{translate:"CONDITIONS",length:0,disabled:"new"===E.eventHookId},{translate:"ACTIONS",length:0,disabled:"new"===E.eventHookId}],E.selectedSection="OPTIONS",E.changeSection=function(e){E.selectedSection=e},E.conditionsTableParams=new f({sorting:{$$order:"asc"},count:25},{dataset:[],counts:e.commonTableCounts}),E.conditionsCheckboxes=k.init("$$index"),E.conditionsCheckboxes.table=E.conditionsTableParams,E.actionsTableParams=new f({sorting:{$$order:"asc"},count:25},{dataset:[],counts:e.commonTableCounts}),E.actionsCheckboxes=k.init("$$index"),E.actionsCheckboxes.table=E.actionsTableParams}e.$inject=["$rootScope","$scope","$http","$filter","$q","$mdDialog","$state","$timeout","coreData","coreDataSysAdminCards","eventData","errorHandling","i18n","successHandling","NgTableParams","gridCheckboxes","masonryReveal"],angular.module("smartermail").controller("sysAdminSettingsGeneralEventItemController",e)}();
531!function(){"use strict";function e(e,t,n,o,a,r,s,i,c,d,l,u,v,g,m){var h=this;function p(e,t){var n=h.checkboxes.getCheckedItems();if(n&&n.length&&angular.isArray(n)){var o=s.confirmDeletion().textContent(m.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:n.length})).targetEvent(t);s.show(o).then((function(){var e=JSON.stringify({input:n});r.post("~/api/v1/settings/sysadmin/event-hook-delete",e).then((function(){h.checkboxes.reset(),h.tableParams.reload()}),d.report)}),(function(){}))}}h.eventData=l,h.tableParams=new u({sorting:{name:"asc"},count:25},{getData:function(e){var t=!1,n="";for(var a in e.sorting())if(e.sorting().hasOwnProperty(a)&&e.sorting()[a]){t="desc"===e.sorting()[a],n=a;break}var s={startIndex:(e.page()-1)*e.count(),count:e.count(),name:h.searchText,sortDescending:t};return r.post("~/api/v1/settings/sysadmin/event-hooks-by-owner",JSON.stringify(s)).then((function(a){return e.total(a.data.total),a.data.eventHooks.forEach((function(e){e.whenType=h.eventData.getEventWhenString(e)}
531)),a.data.eventHooks=o("orderBy")(a.data.eventHooks,n,t),h.currentPageResults=a.data.eventHooks,a.data.eventHooks}),(function(){}))},counts:e.commonTableCounts}),h.checkboxes=v.init("id"),h.checkboxes.table=h.tableParams,h.isInitialized=!1,t.page=a.page,t.cardService=c,h.deleteEvents=p,h.editEvent=function(e,t){n.go("index.sysadmin-settings.events.specific",{id:e.id})},h.contextMenuGridItem=function(e,n){if(!n||"touchstart"!==n.type&&"touchend"!==n.type&&3!==n.which||e.criticallyErrored)return;n.stopPropagation(),n.preventDefault();var o=h.checkboxes.getCheckedItems();(o.length>1&&!_.some(o,(function(t){return t===e.id}))||o.length<=1)&&(h.checkboxes.reset(),h.checkboxes.checkCheckbox(n,e),o=[e.id]);t.dropdownEvent=$.extend(!0,{},n),t.dropdownOptions=[{key:"deleteEvents",click:p,translateKey:"DELETE"}];var a=$("#context-menu-area");if(a){var r=i('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(t);a.append(r)}},h.newEvent=function(e){n.go("index.sysadmin-settings.events.specific",{id:"new"})},h.searchItems=function(){h.tableParams.reload()},h.checkboxes.ignoreItemDelegate=function(e){return"@DefaultEventGroupStatic"===e.eventGroup},t.cardService.editItem=h.editEvent,t.cardService.newItem=h.newEvent,t.cardService.deleteItems=h.deleteEvents,h.tableParams.reload()}e.$inject=["$rootScope","$scope","$state","$filter","$stateParams","$http","$mdDialog","$compile","coreDataSysAdminCards","errorHandling","eventData","NgTableParams","gridCheckboxes","claimsService","i18n"],angular.module("smartermail").controller("sysAdminSettingsEventsSectionController",e)}();
532!function(){"use strict";function n(n,e,t,i,o,a,s,r,c,l,d,u,m,S,p){const A=this;var f=p.create(e);let y;function E(e,t,i){n.$broadcast("verify-connection.changed",{guid:"verify-connection",current:e,total:t,totalCount:-1,action:i})}function M(e,i){if(!e)return;const a=A.id?"~/api/v1/settings/sysadmin/combined-gateway/put":"~/api/v1/settings/sysadmin/combined-gateway";n.spinner.show(),o.post(a,e).then((function(){!function(n){n.$setPristine(),t.go("^",{data:{type:"GATEWAYS"}})}(i)}),d.report).finally(n.spinner.hide)}function g(n){const e=Number(n);if(!Array.isArray(A.spamActionDefs)||0===A.spamActionDefs.length)return{value:0,labelKey:"NO_ACTION",argKind:"none"};for(let n=0;n<A.spamActionDefs.length;n++){const t=A.spamActionDefs[n];if(t&&Number(t.value)===e)return t}return A.spamActionDefs[0]}A.loading=!0,A.contentReady=!1,A.encryptionsEnum=[{index:0,label:s.instant("NONE"),isSsl:!1,isTls:!1},{index:1,label:s.instant("ENCRYPTION_SSL"),isSsl:!0,isTls:!1},{index:2,label:s.instant("ENCRYPTION_TLS"),isSsl:!1,isTls:!0}],A.spamActionDefs=[{value:0,labelKey:"NO_ACTION",argKind:"none"},{value:1,labelKey:"SPAM_FILTERING_ADD_SUBJECT",argKind:"text",argLabelKey:"TEXT_TO_ADD"},{value:2,labelKey:"ADD_HEADER",argKind:"text",argLabelKey:"TEXT_TO_ADD"},{value:3,labelKey:"REROUTE_MESSAGE",argKind:"email",argLabelKey:"EMAIL_ADDRESS"},{value:4,labelKey:"DELETE_MESSAGE",argKind:"none"},{value:5,labelKey:"PASS_SCORE_TO_SMARTERMAIL",argKind:"none"}],A.id=i.id||null,A.isInitialized=!1,A.isReadOnly=!1,A.possibleRoutingError=!1,A.onSave=function(n,e){if(e.$invalid)return void d.report("CORRECT_INVALID_FIELDS");const t={id:A.id,address:A.address,description:A.description,enableSmtpUtf8:A.enableSmtpUtf8,outboundEnabled:A.outboundEnabled,outPort:A.outPort,outboundMode:A.outboundMode,outShouldAuthenticate:A.outShouldAuthenticate,outAuthUsername:A.outAuthUsername,outAuthPassword:A.outAuthPasswordSet&&""===A.outAuthPassword?null:A.outAuthPassword,outAuthPasswordSet:A.outAuthPasswordSet,outEncryptionMode:A.encryption.index,outVerifyConnection:A.outVerifyConnection,inboundEnabled:A.inboundEnabled,inboundMode:A.inboundMode,inUserVerifyMode:A.inUserVerifyMode,inDomainVerifyMode:A.inDomainVerifyMode,inDomainsToForward:(A.domainsToForward||[]).map((n=>(n||"").trim())).filter(Boolean),inSpamNoAction:A.inSpamNoAction,inSpamNoActionValue:A.inSpamNoActionValue,inSpamLowAction:A.inSpamLowAction,inSpamLowActionValue:A.inSpamLowActionValue,inSpamMedAction:A.inSpamMedAction,inSpamMedActionValue:A.inSpamMedActionValue,inSpamHighAction:A.inSpamHighAction,inSpamHighActionValue:A.inSpamHighActionValue,isSmarterMailServer:A.isSmarterMailServer,smarterMailUrl:A.smarterMailUrl,smarterMailUsername:A.smarterMailUsername,smarterMailPassword:A.smarterMailPasswordSet&&""===A.smarterMailPassword?null:A.smarterMailPassword,smarterMailPasswordSet:A.smarterMailPasswordSet,smarterMailVerifyConnection:A.smarterMailVerifyConnection},i=JSON.stringify(t),a=A.outboundEnabled&&A.outVerifyConnection,r=A.isSmarterMailServer&&A.smarterMailVerifyConnection;a||r?async function(n,e,t,i){const a=c.stProgressBar().title(s.instant("VERIFYING_GATEWAY_CONNECTION")).barText(s.instant("VERIFYING_GATEWAY_CONNECTION")).showCancel(!1).enableButtons(!1).percentProgress(0).autoClose(!0).guid("verify-connection").progressListener("verify-connection.changed");c.show(a);try{let a=0;const r=(t?1:0)+(i?1:0);if(t){A.smtpSuccess=!1,A.smtpError=null,A.possibleRoutingError=!1,E(a++,r,"VERIFYING_SMTP_CONNECTION");const e=await async function(n){try{const e=await o.post("~/api/v1/settings/sysadmin/gateway-test/smtp-verify",n);return{success:e.data.success,message:e.data?.message?.toUpperCase(),possibleRoutingError:e.data?.possibleRoutingError}}catch(n){return{success:!1,message:n.data?.message?.toUpperCase()||"ERROR"}}}(n);A.possibleRoutingError=e.possibleRoutingError,A.smtpSuccess=e.success,e.success||(A.smtpError="SMTP_TEST_RESULTS_"+e.message)}else A.smtpSuccess=!0;
532if(i){A.smSuccess=!1,A.smError=null,E(a++,r,"VERIFYING_SMARTERMAIL_CONNECTION");const e=await async function(n){try{const e=await o.post("~/api/v1/settings/sysadmin/gateway-test/sm-connection",n);return{success:e.data.success,message:e.data?.message?.toUpperCase()}}catch(n){return{success:!1,message:n.data?.message?.toUpperCase()||"ERROR"}}}(n);A.smSuccess=e.success,e.success||(A.smError="SYSADMIN_SETTINGS_GATEWAY_TEST_RESULTS_"+e.message)}else A.smSuccess=!0;E(r,r,"COMPLETE");A.smSuccess&&A.smtpSuccess?(M(n,e),u.report(),A.possibleRoutingError&&S.pop({type:"warning",body:s.instant("POSSIBLE_GATEWAY_ROUTING_ERROR"),timeout:3e4})):e.$setDirty()}catch(n){e.$setDirty()}finally{c.hide(a)}}(i,e,a,r):M(i,e)},A.onDelete=function(n,e){if(!A.id)return void t.go("^");const i=c.confirmDeletion().textContent(l("translate")("CONFIRMATIONS_DELETE_ITEMS_one")).targetEvent(n);c.show(i).then((function(){o.post("~/api/v1/settings/sysadmin/combined-gateway/delete/"+A.id).then((function(){t.go("^")}),d.report)}))},A.getSpamActionDef=g,A.getSpamActionSummary=function(n,e){const t=g(n),i=s.instant(t.labelKey);if(!t||"none"===t.argKind)return i;const o=(e||"").toString().trim();return o?i+': "'+o+'"':i},A.onClickEditInSpamItem=function(n,e,t){let i,o,a;"not"===t?(i="GATEWAY_IN_SPAM_ACTION_NOT",o=A.inSpamNoAction,a=A.inSpamNoActionValue):"low"===t?(i="GATEWAY_IN_SPAM_ACTION_LOW",o=A.inSpamLowAction,a=A.inSpamLowActionValue):"med"===t?(i="GATEWAY_IN_SPAM_ACTION_MED",o=A.inSpamMedAction,a=A.inSpamMedActionValue):(i="GATEWAY_IN_SPAM_ACTION_HIGH",o=A.inSpamHighAction,a=A.inSpamHighActionValue);c.show({locals:{title:i,actionType:o??0,argument:a??"",actionDefs:A.spamActionDefs},controller:"editInboundGatewaySpamActionDialogController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/gateways/modals/inbound-gateway-spam-action.dlg.html",targetEvent:n}).then((function(n){const i=n.actionType??0,o=n.argument??"";"not"===t?(A.inSpamNoAction=i,A.inSpamNoActionValue=o):"low"===t?(A.inSpamLowAction=i,A.inSpamLowActionValue=o):"med"===t?(A.inSpamMedAction=i,A.inSpamMedActionValue=o):(A.inSpamHighAction=i,A.inSpamHighActionValue=o),e.$setDirty()}),(function(){}))},A.onSmarterMailModeChanged=function(){A.isSmarterMailServer||(1===A.inUserVerifyMode&&(A.inUserVerifyMode=0),0===A.inDomainVerifyMode&&(A.inDomainVerifyMode=1))},A.onInboundEnabledChanged=function(){A.inboundEnabled&&(A.inboundMode=1)},A.onInboundModeChanged=function(n,e){0===A.inboundMode&&2===A.inUserVerifyMode&&(A.isSmarterMailServer?A.inUserVerifyMode=1:A.inUserVerifyMode=0);0===A.inboundMode&&A.outboundEnabled&&function(n){const e=c.confirm().title(s.instant("GATEWAY_IN_BACKUP_MX_ADDRESS_WARN_TITLE")).textContent(s.instant("GATEWAY_IN_BACKUP_MX_ADDRESS_WARN_BODY")).targetEvent(n).ok(s.instant("YES")).cancel(s.instant("CANCEL"));c.show(e).then((function(){A.outboundEnabled=!1}),(function(){A.inboundMode=1}))}(n)},A.openInboundDomains=function(n,e){if(0===A.inDomainVerifyMode)return;const t=(A.domainsToForward||[]).map((n=>(n||"").trim())).filter(Boolean);c.show({locals:{domainsToForward:t,isExclude:2===A.inDomainVerifyMode},controller:"editInboundGatewayDomainsDialogController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/gateways/modals/inbound-gateway-domains.dlg.html",targetEvent:n}).then((function(n){A.domainsToForward=(n||[]).map((n=>(n||"").trim())).filter(Boolean),e.$setDirty()}),(function(){})).finally((function(){e&&e.inDomainVerifyMode&&"function"==typeof e.inDomainVerifyMode.$validate&&e.inDomainVerifyMode.$validate()}))},function(){A.id?(A.isReadOnly=!0,n.spinner.show(),o.get("~/api/v1/settings/sysadmin/combined-gateway/"+A.id).then(i,(function(){A.isInitialized=!1,d.report("ERROR"),t.go("^",{data:{type:"GATEWAYS"}})})).finally((function(){n.spinner.hide(),e()}))):(A.isReadOnly=!1,i(),e());function e(){A.loading=!1,f.wait((function(){A.contentReady=!0}))}function i(n){y=n?.data?.result??{},A.id=y.id,A.address=y.address,A.description=y.description,A.enableSmtpUtf8=y.enableSmtpUtf8,A.outboundEnabled=y.outboundEnabled||!1,A.outPort=y.outPort??25,A.outboundMode=y.outboundMode??0,A.outShouldAuthenticate=y.outShouldAuthenticate||!1,A.outAuthUsername=y.outAuthUsername||"",A.outAuthPassword=y.outAuthPassword||"",A.outAuthPasswordSet=y.outAuthPasswordSet||!1,A.outEncryptionMode=y.outEncryptionMode??0,A.encryption=A.encryptionsEnum[A.outEncryptionMode],A.outVerifyConnection=y.outVerifyConnection||!1,A.inboundEnabled=y.inboundEnabled||!1,A.inboundMode=y.inboundMode??1,A.inDomainVerifyMode=y.inDomainVerifyMode??1,A.domainsToForward=(y.inDomainsToForward||[]).map((n=>
532(n||"").trim())).filter(Boolean),A.inUserVerifyMode=y.inUserVerifyMode??0;const e=y.inSpamNoAction||y.inSpamLowAction||y.inSpamMedAction||y.inSpamHighAction;A.inSpamCheckEnabled=!!e,A.inSpamNoAction=y.inSpamNoAction??0,A.inSpamNoActionValue=y.inSpamNoActionValue||"",A.inSpamLowAction=y.inSpamLowAction??0,A.inSpamLowActionValue=y.inSpamLowActionValue||"",A.inSpamMedAction=y.inSpamMedAction??0,A.inSpamMedActionValue=y.inSpamMedActionValue||"",A.inSpamHighAction=y.inSpamHighAction??0,A.inSpamHighActionValue=y.inSpamHighActionValue||"",A.isSmarterMailServer=y.isSmarterMailServer||!1,A.smarterMailUrl=y.smarterMailUrl||"",A.smarterMailUsername=y.smarterMailUsername||"",A.smarterMailPassword=y.smarterMailPassword||"",A.smarterMailPasswordSet=y.smarterMailPasswordSet||!1,A.smarterMailVerifyConnection=y.smarterMailVerifyConnection||!1,A.isInitialized=!0}}()}n.$inject=["$rootScope","$scope","$state","$stateParams","$http","$q","$translate","$timeout","$mdDialog","$filter","errorHandling","successHandling","i18n","toaster","masonryReveal"],angular.module("smartermail").controller("combinedGatewayController",n)}();
533!function(){"use strict";function t(t,e,n,o,s,i,a,c,r,d,l,u,m){const g=this;function p(){i.all([n.get("~/api/v1/settings/sysadmin/combined-gateways"),n.get("~/api/v1/settings/sysadmin/gateway-spool-counts")]).then((function(e){g.items=e[0].data.result||[];const n=e[1].data.result||[];angular.forEach(g.items,(function(t){const e=$.grep(n,(function(e){return t.id===e.id}));e.length>0?t.spoolCount=e[0].spoolCount:t.spoolCount=0})),g.tableParams.settings({dataset:g.items}),t.$broadcast("gateways:countUpdated"),g.checkboxes.reset(),g.tableParams.reload(),g.initialized=!0}),(function(){})).finally((function(){g.contentReady=!0}))}function h(e){const o=g.checkboxes.getCheckedItems();if(!o||!o.length)return;const s=d.confirmDeletion().textContent(m.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:o.length})).targetEvent(e);d.show(s).then((function(){t.spinner.show();const e=JSON.stringify(o);n.post("~/api/v1/settings/sysadmin/combined-gateways/delete",e).then((function(){p(),t.$broadcast("gateways:countUpdated")}),l.report).finally(t.spinner.hide)}),null)}g.isHA=window.stHA,g.contentReady=!1,g.items=[],g.tableParams=new c({sorting:{address:"asc"},count:25},{dataset:[],counts:t.commonTableCounts}),g.checkboxes=r.init("id"),g.checkboxes.table=g.tableParams,g.initialized=!1,g.skipNavigateConfirm=!1,g.newItem=function(t){o.go("index.sysadmin-settings.gateways.combined",{id:null})},g.deleteItems=h,g.searchItems=function(){g.tableParams.filter({$:g.searchText})},g.editItem=function(t,e){if(!t)return;o.go("index.sysadmin-settings.gateways.combined",{id:t.id})},g.contextMenuGridItem=function(t,n){if(!n||"touchstart"!==n.type&&"touchend"!==n.type&&3!==n.which||t.criticallyErrored)return;n.stopPropagation(),n.preventDefault();let o=g.checkboxes.getCheckedItems();(o.length>1&&!_.some(o,(function(e){return e===t.id}))||o.length<=1)&&(g.checkboxes.reset(),g.checkboxes.checkCheckbox(n,t.id),o=[t.id]);e.dropdownEvent=$.extend(!0,{},n),e.dropdownOptions=[{key:"deleteItems",click:h,params:e.dropdownEvent,translateKey:"DELETE"}];const s=$("#context-menu-area");if(s){const t=a('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);s.append(t)}},p()}t.$inject=["$rootScope","$scope","$http","$state","$filter","$q","$compile","NgTableParams","gridCheckboxes","$mdDialog","errorHandling","coreDataSysAdminCards","i18n"],angular.module("smartermail").controller("combinedGatewaysController",t)}();
534!function(){"use strict";function e(e,t,n,i,a,s,o,r,l,c,d){var m=this;function g(){a.get("~/api/v1/settings/sysadmin/global-mail").then((function(t){m.globalMailSettings=angular.copy(t.data.globalMailSettings),m.machineName=m.globalMailSettings.machineName||"",m.failoverEnabled=m.globalMailSettings.failoverEnabled||!1,m.items=m.globalMailSettings.failoverClusterSettings&&m.globalMailSettings.failoverClusterSettings.failoverNodes||[],m.high=0,angular.forEach(m.items,(function(e){null==e.id&&(e.id=e.guid);var t=parseInt(e.version.replace(/\./g,""));t>m.high&&(m.high=t),e.versionNum=t,0===e.machineName.localeCompare(m.machineName)?(e.status=i("translate")("ACTIVE"),e.isActive=!0):(e.status=i("translate")("INACTIVE"),e.isActive=!1)})),m.isInitialized=!0,m.tableParams.settings({dataset:m.items}),e.$broadcast("gateways:countUpdated"),m.checkboxes.reset(),m.tableParams.reload()}),(function(){m.isInitialized=!1}))}function u(t){var i=m.checkboxes.getCheckedItems();if(i&&i.length){var s=n.confirmDeletion().textContent(d.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:i.length})).targetEvent(t);n.show(s).then((function(){var t=$.grep(m.items,(function(e){return!e.isActive&&-1!==i.indexOf(e.id)})),n=$.map(t,(function(e){return e.ipAddress}));if(n.length<1)return;var s=JSON.stringify({ips:n});e.spinner.show(),a.post("~/api/v1/settings/sysadmin/delete-failover-nodes",s).then((function(){m.checkboxes.reset(),g()}),c.report).finally(e.spinner.hide)}),null)}}m.items=[],m.tableParams=new r({sorting:{machineName:"asc"},count:25},{dataset:[],counts:e.commonTableCounts}),m.checkboxes=l.init("id"),m.checkboxes.table=m.tableParams,m.isInitialized=!1,m.
534isEnterprise=o.hasEnterpriseFunctionality,m.deleteItems=u,m.searchItems=function(){m.tableParams.filter({$:m.searchText})},m.contextMenuGridItem=function(e,n){if(!n||"touchstart"!==n.type&&"touchend"!==n.type&&3!==n.which||e.criticallyErrored)return;n.stopPropagation(),n.preventDefault();var i=m.checkboxes.getCheckedItems();(i.length>1&&!_.some(i,(function(t){return t===e.id}))||i.length<=1)&&(m.checkboxes.reset(),m.checkboxes.checkCheckbox(n,e),i=[e.id]);t.dropdownEvent=$.extend(!0,{},n),t.dropdownOptions=[{key:"deleteItems",click:u,params:t.dropdownEvent,translateKey:"DELETE"}];var a=$("#context-menu-area");if(a){var o=s('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(t);a.append(o)}},g()}e.$inject=["$rootScope","$scope","$mdDialog","$filter","$http","$compile","coreLicensing","NgTableParams","gridCheckboxes","errorHandling","i18n"],angular.module("smartermail").controller("adminSettingsFailoverServersController",e)}();
535!function(){"use strict";function t(t,e,n,i,a,o,l){var s=this;function r(){t.spinner.show(),a.all([i.get("~/api/v1/settings/sysadmin/combined-gateways").then((function(t){s.gridSections[0].length=(t.data.result||[]).length}),o.report),i.get("~/api/v1/settings/sysadmin/global-mail").then((function(t){let e=t.data.globalMailSettings;!window.stHA&&e.failoverEnabled&&(1===s.gridSections.length&&s.gridSections.push({translate:"FAILOVER_SERVERS",length:-1}),e.failoverClusterSettings&&e.failoverClusterSettings.failoverNodes?s.gridSections[1].length=e.failoverClusterSettings.failoverNodes.length:s.gridSections[1].length=0)}),o.report)]).then((function(){s.isInitialized=!0}),(function(t){s.isInitialized=!1,o.report(t)})).finally(t.spinner.hide)}s.isInitialized=!1,s.selectedSection=n.current.data.type||"GATEWAYS",s.gridSections=[{translate:"GATEWAYS",length:0}],s.changeSection=function(t){s.selectedSection=t,n.current.data.type=t},r(),e.$on("gateways:countUpdated",(function(){r()})),e.$on("combinedGatewayCountUpdated",(function(t,e){s.gridSections[0].length=e||0}))}t.$inject=["$rootScope","$scope","$state","$http","$q","errorHandling","claimsService"],angular.module("smartermail").controller("gatewaysController",t)}();
536!function(){"use strict";function e(e,t,n,o,i,s,a,l,r,c,g,u,d,m,p,h,y){var f=this,S=y.create(t);t.uploaderData=JSON.stringify({domain:null,guid:E()});var v=1e3;function C(){function e(){f.previewWindow&&f.previewWindow.close()}function n(){f.edition=c.edition,f.hasEnterpriseFunctionality=c.hasEnterpriseFunctionality}n(),c.watchForChanges(t,n),b(),t.$on("$destroy",(function(){e(),window.removeEventListener("beforeunload",e)})),t.$on("masonry:loaded",(function(){f.pageForm.$setPristine()})),window.addEventListener("beforeunload",e)}function b(){e.spinner.show();var n=w();function o(e){var t=e.data&&e.data.folderRestrictions&&e.data.folderRestrictions.restrictedWords||[];f.fileSystemRestrictionsWords=t}function a(e){f.antiVirusSettings=e.data.settings,"VIRUS_QUARANTINE"===f.antiVirusSettings.quarantineDirectory&&(f.antiVirusSettings.quarantineDirectory="")}function l(e){const t=e.data.results,n=new Array(t.length);for(let e=0;e<t.length;e++)n[e]={key:t[e],translation:r.instant("COUNTRY_CODE_"+t[e])};n.sort(((e,t)=>e.translation.localeCompare(t.translation))),f.countries=n,f.filteredCountries=n}function c(n){t.companyInfo=angular.copy(n.data.companyInfo),f.customHelpLinkEnabled=t.companyInfo.customHelpLinkEnabled,f.customHelpUrl=t.companyInfo.customHelpLink,!f.customHelpUrl||"http://"!==f.customHelpUrl.toLowerCase()&&"https://"!==f.customHelpUrl.toLowerCase()||(f.customHelpUrl=""),f.customHelpText=t.companyInfo.customHelpText,f.customTitleText=t.companyInfo.customTitleText,f.customLoginText=t.companyInfo.customLoginTextEnabled?t.companyInfo.customLoginText:"",f.customLoginTextEnabled=t.companyInfo.customLoginTextEnabled,f.customLoginPageHtmlEnabled=t.companyInfo.showLoginAreaHTML,f.loginPageHtml=t.companyInfo.htmlDisplayBadge,f.loginBackgroundOption=t.companyInfo.loginBackgroundOption,f.loginBackgroundImagePath=t.companyInfo.loginBackgroun
536dImagePath,f.loginBackgroundColor=t.companyInfo.loginBackgroundColor,e.$broadcast("pageTitleUpdated",f.customTitleText)}function u(e){f.autoCleanFolders=[{name:"deleted items",folderName:"deleted items",path:"deleted items",translatedPath:r.instant("DELETED_ITEMS")},{name:"inbox",folderName:"inbox",path:"inbox",translatedPath:r.instant("INBOX")},{name:"junk e-mail",folderName:"junk e-mail",path:"junk e-mail",translatedPath:r.instant("JUNK_EMAIL")},{name:"sent items",folderName:"sent items",path:"sent items",translatedPath:r.instant("SENT_ITEMS")}],f.autoCleanSystemRules=e.data.systemRules||[];for(var t=0;t<f.autoCleanSystemRules.length;++t)f.autoCleanSystemRules[t].translatedPath=f.autoCleanFolders.find((e=>e.name===f.autoCleanSystemRules[t].folderName)).translatedPath||f.autoCleanSystemRules[t].folderName}function d(e){var n=e.data.rules||[];f.systemArchiveRule=n.find((e=>e.isDefault)),f.systemArchiveRule&&(f.archiveRule={type:f.systemArchiveRule.disabled||f.systemArchiveRule.outgoing&&f.systemArchiveRule.incoming?"1":f.systemArchiveRule.incoming?"2":f.systemArchiveRule.outgoing?"3":"1",archivePath:!f.systemArchiveRule.disabled&&f.systemArchiveRule.archivePath&&f.systemArchiveRule.archivePath.length>0?f.systemArchiveRule.archivePath:t.settings.pathSettings.archivePath,yearsToKeep:f.systemArchiveRule.disabled||"number"!=typeof f.systemArchiveRule.monthsToKeep?5:f.systemArchiveRule.monthsToKeep>0?Math.ceil(f.systemArchiveRule.monthsToKeep/12):0,domain:f.systemArchiveRule.domain,isNew:f.systemArchiveRule.archivePath.length>0,disabled:f.systemArchiveRule.disabled,archiveName:r.instant("ALL_DOMAINS")})}s.get("~/api/v1/settings/sysadmin/global-mail").then((m=>{!function(e){t.settings=angular.copy(e.data.globalMailSettings),f.settings=t.settings,f.fileStorageExtensionBlacklist=t.settings.fileTypeRestriction.blackList||[],f.blockFilesWithNoExtension=t.settings.fileTypeRestriction.blockFilesWithNoExtension||!1,f.webmailExtensionBlacklist=t.settings.webmailFileTypeRestriction.blackList||[],f.outgoingExtensionBlacklist=t.settings.outgoingFileTypeRestriction.blackList||[],f.autoCleanSettings=t.settings.autoCleanSettings,0==f.autoCleanSettings.autoCleanNotificationGlobalSettings&&(f.autoCleanSettings.autoCleanNotificationGlobalSettings=30);f.logPath=t.settings.pathSettings.logPath,f.maxFileSizeEnabled=t.settings.fileStorageSettings.fileRestriction.maxSizeEnabled,f.maxFileSize=t.settings.fileStorageSettings.fileRestriction.maxSizeInKb,f.urlOverrideEnabled=t.settings.fileStorageSettings.storageUrl.urlOverrideEnabled,f.urlOverride=t.settings.fileStorageSettings.storageUrl.urlOverride,f.hostname=t.settings.serverSettings.hostName,f.requireHttps=t.settings.serverSettings.requireHttps,f.hstsEnabled=t.settings.serverSettings.hstsEnabled,f.gatewayGuid=t.settings.serverSettings.gatewayGuid,f.primaryDnsIp=t.settings.serverSettings.dns1,f.secondaryDnsIp=t.settings.serverSettings.dns2,f.mailAvatarPrivacy=t.settings.serverSettings.mailAvatarPrivacy,f.logoutUrl=t.settings.sysAdminSettings.serverUrl,f.allowDomainAdminsToOverrideLogoutUrl=t.settings.sysAdminSettings.allowDomainsToOverrideUrl,f.siteWideSSLRequired=t.settings.sysAdminSettings.siteWideSSLRequired,f.allowDomainAdminsToOverrideSSLRequirement=t.settings.sysAdminSettings.allowDomainAdminsToOverrideSSLRequirement,f.spoolPath=t.settings.pathSettings.spoolPath,f.subSpools=t.settings.deliverySettings.spoolSubSpools,f.deliveryDelay=t.settings.deliverySettings.relayInterval/1e3,f.retryIntervals=t.settings.deliverySettings.relayRetryTimes.replace(/\s+/g,"").split(",").join(", "),f.bounceDnsErrors=t.settings.deliverySettings.bounceDnsErrorsAfterXAttempts,f.notifySendersOfDelay=t.settings.deliverySettings.notifyOfDelayAfterXAttempts,f.maxLocalDeliveryThreads=t.settings.deliverySettings.maxLocalDeliveryThreads,f.deleteServerStats=t.settings.statCleanerSettings.statCleanerAutoDeleteServerStatsMonths,f.deleteDomainStats=t.settings.statCleanerSettings.statCleanerAutoDeleteDomainStatsMonths,f.deleteUserStats=t.settings.statCleanerSettings.statCleanerAutoDeleteUserStatsMonths,f.deleteServerStatsEnabled=t.settings.statCleanerSettings.statCleanerAutoDeleteServerStats,f.deleteDomainStatsEnabled=t.settings.statCleanerSettings.statCleanerAutoDeleteDomainStats,f.deleteUserStatsEnabled=t.settings.statCleanerSettings.statCleanerAutoDeleteUserStats,f.footerEnabled=t.settings.footerSettings.enabled,f.footerApplyToMailingLists=t.settings.footerSettings.applyToMailingLists,f.footerHtml=t.settings.footerSettings.footerText,f.footerDomainOverride=t.settings.footerSettings.allowOverride,f.blockedCountrySettings=t.settings.blockedCountrySettings,f.blockedCountrySettings||(f.blockedCountrySettings={type:0,countries:[]});f.blockedCountrySettings.countries?f.blockedCountrySettings.countries=f.blockedCountrySettings.countries.map((function(e){return{key:e,translation:r.instant("COUNTRY_CODE_"+e)}})):f.blockedCountrySettings.countries=[];f.mailboxMigrationMaxThreads=t.settings.mailboxMigrationSettings.mailboxMigrationMaxThreads,P()}(m);
536var p=[s.get("~/api/v1/settings/sysadmin/antivirus/settings").then(a,(function(){})),s.get("~/api/v1/companyinfo").then(c,(function(){})),s.get("~/api/v1/settings/auto-clean").then(u,(function(){})),s.get("~/api/v1/settings/sysadmin/combined-gateways?direction=outbound").then(x,(function(){})),s.get("~/api/v1/settings/domain/country-codes").then(l,g.report),s.get("~/api/v1/settings/sysadmin/folder-restrictions").then(o,(function(){})),n];f.hasEnterpriseFunctionality&&p.push(s.get("~/api/v1/settings/sysadmin/domain-archive-rules").then(d,(function(){}))),i.all(p).finally((function(){f.pageForm.$setPristine(),f.pageForm.$setUntouched(),f.pageForm.$setSubmitted(),e.spinner.hide(),f.loading=!1,f.logoAction="revert",f.previewingLogin&&k(),S.wait((function(){f.contentReady=!0}))}))}),g.report)}function x(e){var t=e.data.result||[];f.hasRoundRobinGateway=t.some((function(e){return 0===e.outboundMode})),f.outgoingGateways=t.filter((function(e){return 1===e.outboundMode}))}function E(){return f.loginPreviewGuid="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)})),f.loginPreviewGuid}function w(){var e=[];return e.push(s.get("~/api/v1/companyinfo/logo-exists/")),i.all(e).then((function(e){f.companyLogoUrl=e[0].data?stSiteRoot+"api/v1/companyinfo/logo/":void 0,t.randomUrlString=(v++).toString(),t.$applyAsync()}))}function A(e){if(!f.file)return i.when();var t=s({method:"POST",url:"~/api/v1/settings/sysadmin/temp-image/"+E(),headers:{"Content-Type":void 0},data:{upload:f.file},transformRequest:function(e,t){var n=new FormData;return angular.forEach(e,(function(e,t){n.append(t,e)})),delete t()["Content-Type"],n}}).then((function(){e&&m.setLocalParam("loginPreviewChanges",{imageGuid:f.loginPreviewGuid})}),g.report);return f.file=void 0,t}async function L(){let e=(await s.get(`~/api/v1/settings/sysadmin/temp-background-folder/${utf8ToBase64(f.loginBackgroundImagePath)}`)).data.id;m.setLocalParam("loginPreviewChanges",{backgroundStillImage:`/dynamic/preview/background-of-the-day/${e}`,backgroundColor:""})}function k(){let e="";e=2===f.loginBackgroundOption?"":1===f.loginBackgroundOption?"/dynamic/preview/background-of-the-day/live":"/dynamic/preview/background-of-the-day/",m.setLocalParam("loginPreviewChanges",{customTitle:f.customLoginText,backgroundStillImage:e,backgroundColor:f.backgroundStillImage?"":f.loginBackgroundColor,customHelpUrl:f.customHelpLinkEnabled?f.customHelpUrl:"",customHelpText:f.customHelpLinkEnabled?f.customHelpText:"",customHtmlBlock:f.customLoginPageHtmlEnabled?f.loginPageHtml:"",imageGuid:f.logoChanged?f.loginPreviewGuid:void 0,logoAction:f.logoAction})}function T(e,t){var n=f.autoCleanSystemRules.indexOf(e);-1!=n&&f.autoCleanSystemRules.splice(n,1),t.$setDirty()}function R(){f.countrySearch="",D()}function D(){const e=(f.countrySearch||"").toLowerCase();f.filteredCountries=e?f.countries.filter((t=>t.translation.toLowerCase().includes(e))):f.countries}function P(e){const t=new Set,n=[];for(let e=0;e<f.blockedCountrySettings.countries.length;e++){const o=f.blockedCountrySettings.countries[e];if(o){const e="object"==typeof o?o.key:o;e&&""!==e.key&&(t.has(e)?g.report("ERROR_DUPLICATE_COUNTRIES_ARE_NOT_ALLOWED"):(t.add(e),n.push(o)))}}f.blockedCountrySettings.countries=n,f.blockedCountrySettings.countries.push({key:"",translation:""})}f.imagePendingSave=!1,f.pendingRemoveImage=!1,f.previewingLogin=!1,f.uploaderFunctionsImage=!1,f.logoAction="",f.loginPreviewGuid="",f.countrySearch="",f.outgoingGateways=[],f.stHA=window.stHA||!1,f.loading=!0,f.contentReady=!1,f.save=function(t,n){if(n.$invalid||n.$pending)return void g.report("CORRECT_INVALID_FIELDS");e.spinner.show(),function(){0===f.blockedCountrySettings.type&&(f.blockedCountrySettings.countries=[]),f.blockedCountrySettings.countries=f.blockedCountrySettings.countries.filter((e=>""!==e.key)).map((e=>e.key));var e=JSON.stringify({globalMailSettings:{mailboxMigrationSettings:{mailboxMigrationMaxThreads:f.mailboxMigrationMaxThreads},serverSettings:{hostName:f.hostname,dns1:f.primaryDnsIp,dns2:f.secondary
536DnsIp,mailAvatarPrivacy:f.mailAvatarPrivacy,requireHttps:f.requireHttps,hstsEnabled:f.requireHttps&&f.hstsEnabled,gatewayGuid:f.gatewayGuid},sysAdminSettings:{serverUrl:f.logoutUrl,allowDomainsToOverrideUrl:f.allowDomainAdminsToOverrideLogoutUrl,siteWideSSLRequired:f.siteWideSSLRequired,allowDomainAdminsToOverrideSSLRequirement:f.allowDomainAdminsToOverrideSSLRequirement},pathSettings:{logPath:f.logPath,spoolPath:f.spoolPath},deliverySettings:{spoolSubSpools:f.subSpools,relayInterval:1e3*f.deliveryDelay,relayRetryTimes:f.retryIntervals,bounceDnsErrorsAfterXAttempts:f.bounceDnsErrors,notifyOfDelayAfterXAttempts:f.notifySendersOfDelay,maxLocalDeliveryThreads:f.maxLocalDeliveryThreads},statCleanerSettings:{statCleanerAutoDeleteServerStatsMonths:f.deleteServerStats,statCleanerAutoDeleteDomainStatsMonths:f.deleteDomainStats,statCleanerAutoDeleteUserStatsMonths:f.deleteUserStats,statCleanerAutoDeleteServerStats:f.deleteServerStatsEnabled,statCleanerAutoDeleteDomainStats:f.deleteDomainStatsEnabled,statCleanerAutoDeleteUserStats:f.deleteUserStatsEnabled},fileStorageSettings:{fileRestriction:{maxSizeEnabled:f.maxFileSizeEnabled,maxSizeInKb:f.maxFileSize},storageUrl:{urlOverrideEnabled:f.urlOverrideEnabled,urlOverride:f.urlOverride}},footerSettings:{enabled:f.footerEnabled,allowOverride:f.footerDomainOverride,applyToMailingLists:f.footerApplyToMailingLists,footerText:f.footerHtml},webmailFileTypeRestriction:{blackList:f.webmailExtensionBlacklist},outgoingFileTypeRestriction:{blackList:f.outgoingExtensionBlacklist},fileTypeRestriction:{blackList:f.fileStorageExtensionBlacklist,blockFilesWithNoExtension:f.blockFilesWithNoExtension},autoCleanSettings:f.autoCleanSettings,blockedCountrySettings:f.blockedCountrySettings,externalSendersSys:f.settings.externalSendersSys}});return s.post("~/api/v1/settings/sysadmin/global-mail",e).then((function(){var e=JSON.stringify({folderRestrictions:{restrictedWords:f.fileSystemRestrictionsWords||[]}});return s.post("~/api/v1/settings/sysadmin/folder-restrictions",e)}))}().then((function(){if(f.stHA)return i.resolve();var e={companyInfo:{customHelpLink:f.customHelpUrl,customHelpLinkEnabled:f.customHelpLinkEnabled,customHelpText:f.customHelpText,customLoginText:f.customLoginText,customLoginTextEnabled:f.customLoginText&&f.customLoginText.length>0,customTitleText:f.customTitleText,showLoginAreaHTML:f.customLoginPageHtmlEnabled,htmlDisplayBadge:f.loginPageHtml,loginBackgroundOption:f.loginBackgroundOption,loginBackgroundImagePath:f.loginBackgroundImagePath,loginBackgroundColor:f.loginBackgroundColor}};return s.post("~/api/v1/companyinfo",e)})).then((function(){var e=JSON.stringify({enableSpoolCommandLine:f.antiVirusSettings.enableSpoolCommandLine,spoolCommandLineFile:f.antiVirusSettings.spoolCommandLineFile,spoolCommandLineArguments:f.antiVirusSettings.spoolCommandLineArguments,spoolCommandLineTimeout:f.antiVirusSettings.spoolCommandLineTimeout,quarantineDirectory:f.antiVirusSettings.quarantineDirectory});
536return s.post("~/api/v1/settings/sysadmin/antivirus/settings",e)})).then((function(){var e={allowAutoCleanInbox:f.autoCleanSettings.autoCleanAllowInbox,allowDomainOverride:f.autoCleanSettings.autoCleanAllowDomainOverride,systemRules:f.autoCleanSystemRules};return s.post("~/api/v1/settings/auto-clean-system",JSON.stringify(e))})).then((function(){if(f.stHA)return i.resolve();if(f.imagePendingSave)return f.uploaderFunctionsImage.startUpload();if(f.pendingRemoveImage)return s.post("~/api/v1/companyinfo/logo-delete");var e=i.defer();return e.resolve(),e.promise})).then((function(){n.$setPristine(),e.$broadcast("system-settings:changed"),f.logoAction="replace",f.previewingLogin&&k()})).catch(g.report).finally((function(){e.spinner.hide(),b()}))},f.doCancel=function(e,t){if(!t.$dirty)return;o.show(o.confirmRevertChanges().targetEvent(e)).then((function(){b(),t.$setPristine()}),(function(){}))},f.autoCleanNewRule=function(e,t){o.show({locals:{folderName:"Deleted Items",folders:f.autoCleanFolders,processGoal:75,processThreshold:100,thresholdDays:30,type:0,enabled:!0,newItem:!0},controller:"userEditAutoCleanController",controllerAs:"ctrl",templateUrl:"app/settings/shared/edit-auto-clean.dlg.html",targetEvent:e}).then((function(e){e.rule.processGoalBytes=1024*e.rule.processGoalMb*1024,e.rule.processThresholdBytes=1024*e.rule.processThresholdMb*1024,f.autoCleanSystemRules.push(e.rule),t.$setDirty()}),(function(){}))},f.autoCleanEditRule=function(e,t,n){o.show({locals:{folderName:t.folderName,folders:f.autoCleanFolders,processGoal:t.processGoalMb,processThreshold:t.processThresholdMb,thresholdDays:t.thresholdDays,type:t.type,enabled:t.enabled,newItem:!1},controller:"userEditAutoCleanController",controllerAs:"ctrl",templateUrl:"app/settings/shared/edit-auto-clean.dlg.html",targetEvent:e}).then((function(e){if(e.deleteItem)T(t,n);
536else{e.rule.id=t.id,e.rule.processGoalBytes=1024*e.rule.processGoalMb*1024,e.rule.processThresholdBytes=1024*e.rule.processThresholdMb*1024;var o=f.autoCleanSystemRules.indexOf(t);-1!==o?f.autoCleanSystemRules[o]=e.rule:f.autoCleanSystemRules.push(e.rule),n.$setDirty()}}),(function(){}))},f.autoCleanDeleteItem=T,f.autoCleanGetCleanBottomString=function(e){switch(e.type){case 0:var t=n("bytes")(e.processThresholdBytes,1),o=n("bytes")(e.processGoalBytes,1);return r.instant("AUTO_CLEAN_SUMMARY_SIZE",{over:t,reduce:o});case 1:return r.instant("AUTO_CLEAN_SUMMARY_TIME_IN_FOLDER",{days:e.thresholdDays});case 2:return r.instant("AUTO_CLEAN_SUMMARY_MESSAGE_AGE",{days:e.thresholdDays})}},f.reindexDomainArchive=function(){var t=JSON.stringify({messageArchiveName:f.archiveRule.domain}),n=o.confirmDeletion().title(r.instant("CONFIRMATION_REQUIRED")).textContent(r.instant("CONFIRMATIONS_REINDEX")).ok(r.instant("REINDEX")).noWarn(!0);o.show(n).then((function(){e.spinner.show(),s.post("~/api/v1/settings/sysadmin/start-domain-archive-reindex",t).then(u.report,g.report).finally(e.spinner.hide)}))},f.editAchiveRule=function(e){(function(e){return o.show({locals:{rule:f.archiveRule},controller:"systemMessageArchivingRuleModalController",controllerAs:"ctrl",templateUrl:"app/sysadmin/shared/modals/archive-rule.dlg.html",targetEvent:e})})(e).then((function(e){u.report("SUCCESS"),h.loadDomainArchiveRules(),b()}),(function(){}))},f.disableArchivingRule=function(t){function n(){var t={},n={archivePath:"",domain:f.systemArchiveRule.domain,incoming:f.systemArchiveRule.incoming,outgoing:f.systemArchiveRule.outgoing,monthsToKeep:f.systemArchiveRule.monthsToKeep,disabled:!0};t.rules=[n],e.spinner.show(),s.post("~/api/v1/settings/sysadmin/domain-archive-rules",JSON.stringify(t)).then((function(){u.report("SUCCESS"),h.loadDomainArchiveRules(),C()}),g.report).finally(e.spinner.hide)}s.get("~/api/v1/settings/sysadmin/domain-archive-rule/").then((function(e){o.show({locals:{archivePath:e.data.rule.archivePath,archiveSize:e.data.rule.archiveSize},controller:"archiveConfirmDisableDialogController",controllerAs:"ctrl",templateUrl:"app/sysadmin/shared/modals/archive-confirm-disable.dlg.html",targetEvent:t}).then(n,(function(){}))}),(function(){}))},f.clearSearchTerm=R,f.deleteCountryFromList=function(e,t){f.blockedCountrySettings.countries.splice(e,1),f.countryListChanged(),t.$setDirty()},f.countryListChanged=P,f.updateCountryFilter=D,f.autoCleanAllowDomainOverrideChanged=function(){f.autoCleanSettings.autoCleanAllowDomainOverride||(f.autoCleanSettings.autoCleanAllowInbox=!1)},t.adjustLogoHover=function(){$(".profile-setting-logo #logo-hover").css({width:$(".profile-setting-logo img").width()})},f.imagePreviewImage=function(e,n){f.file=n,f.previewingLogin&&A(!0);f.logoAction="",f.companyLogoUrl=e,f.pageForm.$setDirty(),f.imagePendingSave=!0,f.logoChanged=!0,t.$applyAsync()},f.removePicture=function(e,t){"logo"==(e?"logo":"favicon")&&(f.companyLogoUrl=null,f.pendingRemoveImage=!0,f.imagePendingSave=!1,m.setLocalParam("loginPreviewChanges",{imageGuid:""}),f.logoChanged=!0,f.logoAction="",f.loginPreviewGuid="");f.pageForm.$setDirty()},f.uploaderInitImage=function(e){f.uploaderFunctionsImage=e},t.uploadFile=function(e,t){e&&-1!==e&&500!==e.code?w():g.report("ERROR_UPLOADING")},f.openFileStorageExtensionBlacklist=async function(e,t){await o.show({locals:{extensions:angular.copy(f.fileStorageExtensionBlacklist),title:"EXTENSION_BLACKLIST_FOR_UPLOADS",isReadOnly:!1,blockFilesWithNoExtension:f.blockFilesWithNoExtension},controller:"extensionBlacklistDialogController",controllerAs:"ctrl",templateUrl:"app/settings/shared/extension-blacklist.dlg.html",targetEvent:e}).then((function(e){f.fileStorageExtensionBlacklist=e.extensions,f.blockFilesWithNoExtension=e.blockFilesWithNoExtension,t.$setDirty()}),(function(){}))},f.openFileSystemRestrictions=async function(e,t){await o.show({locals:{words:angular.copy(f.fileSystemRestrictionsWords),title:"FILE_SYSTEM_RESTRICTIONS",isReadOnly:!1},controller:"fileSystemRestrictionsDialogController",controllerAs:"ctrl",templateUrl:"app/settings/shared/FileSystemRestrictions.dlg.html",targetEvent:e}).then((function(e){f.fileSystemRestrictionsWords=e.words||[],e.isReset,t.$setDirty()}),(function(){}))},f.openLoginPageHtml=async function(e,t){await o.show({locals:{body:f.loginPageHtml},controller:"domainEditLoginHtmlController",controllerAs:"ctrl",templateUrl:"app/settings/domain-settings/general-sett
536ings/login-html.dlg.html",targetEvent:e}).then((function(e){f.loginPageHtml!==e&&(f.isLoginDisplayChanged=!0,f.loginPageHtml=e,t.$setDirty(),m.setLocalParam("loginPreviewChanges",{customHtmlBlock:f.loginPageHtml}))}),(function(){}))},f.openLoginPreview=function(){f.logoChanged?A().then(e,g.report):e();function e(){f.previewingLogin=!0,k(),f.previewWindow=window.open(window.location.href.replace("/sysadmin/settings/general-settings","/popout/login-preview"),"login-preview","resizable=1, "+d.dimensions.loginPreview)}},f.openWebmailExtensionBlacklist=async function(e,t){await o.show({locals:{extensions:angular.copy(f.webmailExtensionBlacklist),title:"INBOUND_EXTENSION_BLACKLIST",isReadOnly:!1,blockFilesWithNoExtension:!1},controller:"extensionBlacklistDialogController",controllerAs:"ctrl",templateUrl:"app/settings/shared/extension-blacklist.dlg.html",targetEvent:e}).then((function(e){f.webmailExtensionBlacklist=e.extensions,t.$setDirty()}),(function(){}))},f.openOutgoingExtensionBlacklist=async function(e,t){await o.show({locals:{extensions:angular.copy(f.outgoingExtensionBlacklist),title:"OUTBOUND_EXTENSION_BLACKLIST",isReadOnly:!1,blockFilesWithNoExtension:!1},controller:"extensionBlacklistDialogController",controllerAs:"ctrl",templateUrl:"app/settings/shared/extension-blacklist.dlg.html",targetEvent:e}).then((function(e){f.outgoingExtensionBlacklist=e.extensions,t.$setDirty()}),(function(){}))},f.openFooterBody=async function(e,t){await o.show({locals:{footerText:f.footerHtml,domainOverride:"",context:"system",readOnly:!1},controller:"domainFooterController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/general-settings/modals/email-footer.dlg.html",targetEvent:e}).then((function(e){f.footerHtml!==e&&(f.footerHtml=e,t.$setDirty())}),(function(){}))},f.customHelpTextChanged=function(){m.setLocalParam("loginPreviewChanges",{customHelpText:f.customHelpLinkEnabled?f.customHelpText:""})},f.customHelpUrlChanged=function(){m.setLocalParam("loginPreviewChanges",{customHelpUrl:f.customHelpLinkEnabled?f.customHelpUrl:""})},f.customHelpEnableChanged=function(){f.customHelpLinkEnabled?m.setLocalParam("loginPreviewChanges",{customHelpUrl:f.customHelpUrl,customHelpText:f.customHelpLinkEnabled}):m.setLocalParam("loginPreviewChanges",{customHelpUrl:"",customHelpText:""})},f.customLoginTextChanged=function(){m.setLocalParam("loginPreviewChanges",{customTitle:f.customLoginText})},f.customLoginPageHtmlEnabledChanged=function(){f.customLoginPageHtmlEnabled?m.setLocalParam("loginPreviewChanges",{customHtmlBlock:f.loginPageHtml}):m.setLocalParam("loginPreviewChanges",{customHtmlBlock:""})},f.loginBackgroundColorChanged=function(){m.setLocalParam("loginPreviewChanges",{backgroundColor:f.loginBackgroundColor})},f.loginBackgroundImagePathChanged=L,f.loginBackgroundOptionChanged=async function(){2===f.loginBackgroundOption?m.setLocalParam("loginPreviewChanges",{backgroundStillImage:"",backgroundColor:f.loginBackgroundColor}):1===f.loginBackgroundOption?await L():m.setLocalParam("loginPreviewChanges",{backgroundStillImage:"/dynamic/preview/background-of-the-day/",backgroundColor:""})},f.clearSearchTerm=R,f.filterCountrySearch=function(e){return e.translation.toLowerCase().startsWith(f.countrySearch.toLowerCase())||e.key.toLowerCase().startsWith(f.countrySearch.toLowerCase())},f.showHSTSPopup=async function(e){if(e)try{await o.show({locals:{},controller:"hstsWarningController",controllerAs:"ctrl",templateUrl:"~/interface/app/sysadmin/manage/domains/modals/hsts-warning.dlg.html",clickOutsideToClose:!1})}catch(e){f.hstsEnabled=!1}},f.fileSystemRestrictionsWords=[],C(),f.openExternalWhitelistModal=function(e,t){o.show({locals:{extensions:angular.copy(f.settings.externalSendersSys.whitelist),title:"KNOWN_EXTERNAL_DOMAINS",isReadOnly:!1,blockFilesWithNoExtension:!1},controller:"extensionBlacklistDialogController",controllerAs:"ctrl",templateUrl:"app/settings/shared/extension-blacklist.dlg.html",targetEvent:e}).then((function(e){var n=$.grep(e.extensions,(e=>(e||"").trim()));f.settings.externalSendersSys.whitelist=n,t.$setDirty()}),(function(){}))}}e.$inject=["$rootScope","$scope","$filter","$mdDialog","$q","$http","$timeout","$state","$translate","coreLicensing","errorHandling","successHandling","popupService","preferencesStorage","claimsService","coreDataSysAdminSettings","masonryReveal"],angular.module("smartermail").controller("adminSettingsGeneralSettingsController",e)}();
537!function(){"use strict";function s(s,e,t,n,a,o,i,r,p,l){var u=this,d=l.create(e);function c(){s.spinner.show(),t.get("~/api/v1/settings/sysadmin/global-mail").then((function(s){var t=s.data.globalMailSettings.passwordSettings;e.passLength=t.passLengthEnabled?t.passLength:3,e.passExpirationInMonths=t.passExpirationInMonths,e.passExpirationEnabled=t.passExpirationEnabled,e.autoblockGracePeriod=t.autoblockGracePeriod,e.notificationTimings=a("orderBy")(t.autoBlockNotificationTimings,null,!0).join(", "),e.passNumber=t.passNumber,e.passCapital=t.passCapital,e.passLower=t.passLower,e.passSymbol=t.passSymbol,e.passNotUsername=t.passNotUsername,e.disablePassStrength=t.disablePassStrength,e.enablePasswordRetrieval=t.enablePasswordRetrieval,e.preventCommonPasswords=t.preventCommonPasswords,e.preventPreviousPasswords=t.preventPreviousPasswords,e.preventPreviousPasswordsCount=t.preventPreviousPasswordsCount,e.enableAutoblockOutgoingSmtp=t.enableAutoblockOutgoingSmtp}),(function(){})).finally((function(){s.spinner.hide(),u.loading=!1,d.wait((function(){u.contentReady=!0}))}
537))}u.loading=!0,u.contentReady=!1,this.save=function(n,o){if(o.$invalid)return void r.report("CORRECT_INVALID_FIELDS");for(var i=e.notificationTimings.split(","),p=[],l=0;l<i.length;l++)p.push(Number(i[l].trim()));var u=JSON.stringify({globalMailSettings:{passwordSettings:{passLength:e.passLength,passLengthEnabled:!0,passExpirationInMonths:e.passExpirationInMonths,passExpirationEnabled:e.passExpirationEnabled,autoblockGracePeriod:e.autoblockGracePeriod,autoBlockNotificationTimings:a("orderBy")(p,null,!0),passNumber:e.passNumber,passCapital:e.passCapital,passLower:e.passLower,passSymbol:e.passSymbol,passNotUsername:e.passNotUsername,disablePassStrength:e.disablePassStrength,enablePasswordRetrieval:e.enablePasswordRetrieval,preventCommonPasswords:e.preventCommonPasswords,preventPreviousPasswords:e.preventPreviousPasswords,preventPreviousPasswordsCount:e.preventPreviousPasswordsCount,enableAutoblockOutgoingSmtp:e.enableAutoblockOutgoingSmtp}}});s.spinner.show(),t.post("~/api/v1/settings/sysadmin/global-mail",u).then((function(){e.$emit("password-update-count"),o.$setPristine()}),r.report).finally(s.spinner.hide)},this.doCancel=function(s,e){if(!e.$dirty)return;i.show(i.confirmRevertChanges().targetEvent(s)).then((function(){c(),e.$setPristine()}),(function(){}))},c(),e.$watch("preventPreviousPasswords",(function(s){s||void 0===e.preventPreviousPasswordsCount||(e.preventPreviousPasswordsCount=null)}))}s.$inject=["$rootScope","$scope","$http","$timeout","$filter","$state","$mdDialog","errorHandling","claimsService","masonryReveal"],angular.module("smartermail").controller("sysAdminSecurityUserPassSettingsController",s)}();
538!function(){"use strict";function n(n,t,e,o,s,a,r,i,c,u,l,m,d,h){var f=this;f.initialized=!1,f.searchText=null,f.items=[],f.statusMap={0:e.instant("UNKNOWNMOUNT"),1:e.instant("MOUNTED"),2:e.instant("DISABLED"),3:e.instant("MOUNT_FAILED")},f.tableParams=new u({sorting:{MountPath:"asc"},count:25},{getData:function(n){var t=(n.page()-1)*n.count(),e=Number(n.count()),r=f.searchText?f.searchText.toLowerCase():"",c=null,u=!1;return angular.forEach(n.sorting(),(function(n,t){n&&(c=t,u="desc"===n)})),a.spinner.show(),o.get("~/api/v1/settings/sysadmin/GetMountInfo").then((function(o){var a=[];try{a=o.data.results,console.log(o)}catch(n){i.report(n)}f.items=a.map((function(n,t){return{id:n.info.mountPath||"mount_"+t,MountPath:n.info.mountPath||"Unknown Path",CommandMount:n.info.commandMount||"No Command",CommandUnmount:n.info.commandUnmount||"No Command",UseArgumentsInCommand:n.info.useArgumentsInCommand||!1,enabled:n.info.enabled||!1,status:f.statusMap[n.state],ReadOnly:n.info.readOnly||!1,isRoot:n.isRoot||!1,isUnknownMount:0===n.state,originalMount:n,mountConfig:{mountPath:n.info.mountPath,commandMount:n.info.commandMount,commandUnmount:n.info.commandUnmount,enabled:n.info.enabled,readOnly:n.info.readOnly,useArgumentsInCommand:n.info.useArgumentsInCommand}}})),c&&(f.items=s("orderBy")(f.items,c,u));r&&(f.items=_.filter(f.items,(function(n){return n.MountPath&&-1!==n.MountPath.toLowerCase().indexOf(r)})));return f.checkboxes.reset(),angular.forEach(f.items,(function(n){n.ReadOnly&&(f.checkboxes.items[n.id]=!1)})),n.total(f.items.length),f.initialized=!0,f.items.slice(t,t+e)}),(function(n){return i.report("ERROR"),[]})).finally((function(){a.spinner.hide()}))},counts:a.commonTableCounts}),f.checkboxes=l.init("id"),f.checkboxes.table=f.tableParams;var p=f.checkboxes.checkboxChanged;function g(n){n.preventDefault();var t=f.checkboxes.items,s=[],r=[];angular.forEach(t,(function(n,t){!0===n&&r.push(t)})),a.spinner.show();try{return r.forEach((function(n){var t=d.defer(),a=M(n);a?(o.post("~/api/v1/settings/sysadmin/RemoveMount",{MountPath:a.MountPath},{headers:{"Content-Type":"application/json"}}).then((function(n){n.data&&n.data.success?t.resolve():(i.report(e.instant("MOUNTS_REMOVAL_FAILED")+" "+a.MountPath),t.reject(n.data?n.data.error:"Unknown error"))}),(function(n){i.report(n),t.reject(n)})),s.push(t.promise)):t.reject("Row with id "+n+" not found")})),d.all(s).then((function(){var n=r.length;n>0&&c.report(n+" "+e.instant("MOUNTS_REMOVED_SUCCESSFULLY"))})).finally((function(){b(),a.spinner.hide()}))}catch(n){i.report(e.instant("MOUNTS_REMOVAL_FAILED"))}}function M(n){if(f.items&&f.items.length>0)return f.items.find((function(t){return t.id===n}));if(f.tableParams&&f.tableParams.data)for(var t=0;t<f.tableParams.data.length;t++)if(f.tableParams.data[t].id===n)return f.tableParams.data[t];return null}function b(){f.tableParams.reload(),f.checkboxes.items={},f.checkboxes.allSelected=!1,f.checkboxes.selectedCount=0}f.checkboxes.checkboxChanged=function(n){var t=f.items.find((function(t){return t.id===n}));t&&t.ReadOnly?f.checkboxes.items[n]=!1:p.call(f.checkboxes,n)},f.searchItems=function(){b()},f.editItem=async function(n,e){try{await t.show({locals:{mount:n},controller:"sysAdminMountDlg",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/mounts/modals/mount.dlg.html",targetEvent:e});b()}catch(n){void 0!==n&&console.error("Error in $mdDialog:",n)}},f.newMount=async function(n){try{await t.show({locals:{mount:null},controller:"sysAdminMountDlg",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/mounts/modals/mount.dlg.html",targetEvent:n});b()}catch(n){void 0!==n&&console.error("Error in $mdDialog:",n)}},f.contextMenuGridItem=function(t,e){if(!e||"touchstart"!==e.type&&"touchend"!==e.type&&3!==e.which)return;e.stopPropagation(),e.preventDefault();var o=f.checkboxes.getCheckedItems();(o.length>1&&!_.some(o,(function(n){return n===t.id}))||o.length<=1)&&(f.checkboxes.reset(),f.checkboxes.checkCheckbox(e,t),o=[t.id]);n.dropdownEvent=e,n.dropdownOptions=[{key:"mountItems",click:n=>f.mountSelected(n),params:e,translateKey:"MOUNT"},{key:"unmountItems",click:n=>f.unmountSelected(n),params:e,translateKey:"UNMOUNT"},{key:"deleteItems",click:n=>g(n),params:e,translateKey:"DELETE"}];var s=angular.element(document.getElementById("context-menu-area"));if(s){s.empty();var a=r('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(n);s.append(a)}},f.unmountSelected=function(n){n.preventDefault();var t=f.checkboxes.items,s=[],r=[];return angular.forEach(t,(function(n,t){!0===n&&r.push(t)})),a.spinner.show(),r.forEach((function(n){var t=M(n);if(t){var e=o.post("~/api/v1/settings/sysadmin/unmount-selected",t.mountConfig).then((function(t){return t.data.success?{id:n,success:!0}:{id:n,success:!1,error:"Unmount failed"}}),(function(t){return{id:n,success:!1,error:t}}));s.push(e)}
538else s.push(d.resolve({id:n,success:!1,error:"Row with id "+n+" not found"}))})),d.all(s).then((function(n){var t=n.filter((function(n){return n.success})).length,o=n.length-t;t>0&&c.report(t+" "+e.instant("MOUNTS_UNMOUNTED_SUCCESSFULLY")),o>0&&i.report(e.instant("MOUNTS_UNMOUNTED_FAILED"))})).finally((function(){b(),a.spinner.hide()}))},f.removeMount=g,f.mountSelected=function(n){n.preventDefault();var t=f.checkboxes.items,s=[],r=[];return angular.forEach(t,(function(n,t){!0===n&&r.push(t)})),a.spinner.show(),r.forEach((function(n){var t=M(n);if(t){var e=o.post("~/api/v1/settings/sysadmin/mount-selected",t.mountConfig).then((function(t){return t.data.success?{id:n,success:!0}:{id:n,success:!1,error:"mount failed"}}),(function(t){return{id:n,success:!1,error:t}}));s.push(e)}else s.push(d.resolve({id:n,success:!1,error:"Row with id "+n+" not found"}))})),d.all(s).then((function(n){var t=n.filter((function(n){return n.success})).length,o=n.length-t;t>0&&c.report(t+" "+e.instant("MOUNTS_MOUNTED_SUCCESSFULLY")),o>0&&i.report(e.instant("MOUNTS_MOUNTED_FAILED"))})).finally((function(){b(),a.spinner.hide()}))},f.selectAllChanged=function(){angular.forEach(f.items,(function(n){n.ReadOnly?f.checkboxes.items[n.id]=!1:f.checkboxes.items[n.id]=f.checkboxes.allSelected}));var n=0;angular.forEach(f.checkboxes.items,(function(t){!0===t&&n++})),f.checkboxes.selectedCount=n}}angular.module("smartermail").controller("sysAdminSettingsMountController",n),n.$inject=["$scope","$mdDialog","$translate","$http","$filter","$rootScope","$compile","errorHandling","successHandling","NgTableParams","gridCheckboxes","i18n","$q","$mdMenu"]}();
539!function(){"use strict";function e(e,t,s,i,n,a,l,o,r,m,p,u){var d=this,c=u.create(t);function g(){return r.init().then((function(){d.Licensing=r.Data.Licensing,d.isEnterprise=r.Data.Licensing.enterpriseFunctionality}),m.report)}function S(){return l.all([i.get("~/api/v1/settings/sysadmin/global-mail"),i.get("~/api/v1/settings/sysadmin/ips")]).then((function(e){var s=e[0];e[1].data.ips;t.settings=angular.copy(s.data.globalMailSettings),d.popBanner=t.settings.popSettings.popBanner,d.popCommandTimeout=t.settings.popSettings.popCommandIdleTimeoutInMinutes,d.popMaxBadCommands=t.settings.popSettings.popMaxBadCommands,d.popMaxConnections=t.settings.popSettings.maxPopThreads,d.popMaxRetrievalThreads=t.settings.messageRetrievalSettings.maxPopRetrievalThreads,d.popRetrievalInterval=t.settings.messageRetrievalSettings.popRetrievalInterval,d.popInsecureAuthDisabled=t.settings.popSettings.popNoInsecureLogin,d.imapBanner=t.settings.imapSettings.imapBanner,d.imapCommandTimeout=t.settings.imapSettings.imapCommandIdleTimeoutInMinutes,d.imapMaxBadCommands=t.settings.imapSettings.imapMaxBadCommands,d.imapMaxConnections=t.settings.imapSettings.imapConnections,d.imapMaxRetrievalThreads=t.settings.messageRetrievalSettings.maxImapRetrievalThreads,d.imapRetrievalInterval=t.settings.messageRetrievalSettings.imapRetrievalInterval,d.imapIdleCommandEnabled=t.settings.imapSettings.imapIdle,d.imapInsecureAuthDisabled=t.settings.imapSettings.imapNoInsecureLogin,d.ewsMaxSubscriptions=t.settings.ewsSettings.maxSubscriptions,d.ewsMaxPushSubscriptions=t.settings.ewsSettings.maxPushSubscriptions,d.ewsMaxStreaming=t.settings.ewsSettings.maxStreamingConnections,d.exchangeMaxRetrievalThreads=t.settings.messageRetrievalSettings.exchangeMaxRetrievalThreads,d.exchangeRetrievalInterval=t.settings.messageRetrievalSettings.exchangeRetrievalInterval,d.ldapSessionTimeout=t.settings.ldapSettings.ldap_SessionIdleTimeout,d.ldapCommandTimeout=t.settings.ldapSettings.ldap_CommandIdleTimeout,d.xmppMaxConnections=t.settings.xmppSettings.xmppConnections,d.securitySystemDefaultsEnabled=t.settings.securityProtocolsSettings.useSystemDefaults,d.securitySsl3Enabled=t.settings.securityProtocolsSettings.useSsl3,d.securityTls10Enabled=t.settings.securityProtocolsSettings.useTls10,d.securityTls11Enabled=t.settings.securityProtocolsSettings.useTls11,d.securityTls12Enabled=t.settings.securityProtocolsSettings.useTls12,d.securityTls13Enabled=t.settings.securityProtocolsSettings.useTls13,d.secProtocols=d.securitySystemDefaultsEnabled||d.securitySsl3Enabled||d.securityTls10Enabled||d.securityTls11Enabled||d.securityTls12Enabled||d.securityTls13Enabled?"valid":""}))}d.loading=!0,d.contentReady=!1,d.isEnterprise=!1,d.secProtocols="",d.securitySystemDefaultsEnabled=!0,d.securitySsl3Enabled=!1,d.securityTls10Enabled=!1,d.securityTls11Enabled=!1,d.securityTls12Enabled=!1,d.securityTls13Enabled=!1,d.isHighAvailability=window.stHA,d.save=function(t,s){if(s.$invalid)return void m.report("CORRECT_INVALID_FIELDS");var n={globalMailSettings:{messageRetrievalSettings:{exchangeMaxRetrievalThreads:d.exchangeMaxRetrievalThreads,exchangeRetrievalInterval:d.exchangeRetrievalInterval,maxPopRetrievalThreads:d.popMaxRetrievalThreads,popRetrievalInterval:d.popRetrievalInterval,max
539ImapRetrievalThreads:d.imapMaxRetrievalThreads,imapRetrievalInterval:d.imapRetrievalInterval}}};d.isHighAvailability||(n=$.extend(!0,{},n,{globalMailSettings:{ewsSettings:{maxSubscriptions:d.ewsMaxSubscriptions,maxPushSubscriptions:d.ewsMaxPushSubscriptions,maxStreamingConnections:d.ewsMaxStreaming},popSettings:{popBanner:d.popBanner,popCommandIdleTimeoutInMinutes:d.popCommandTimeout,popMaxBadCommands:d.popMaxBadCommands,maxPopThreads:d.popMaxConnections,popNoInsecureLogin:d.popInsecureAuthDisabled},imapSettings:{imapBanner:d.imapBanner,imapCommandIdleTimeoutInMinutes:d.imapCommandTimeout,imapMaxBadCommands:d.imapMaxBadCommands,imapConnections:d.imapMaxConnections,imapIdle:d.imapIdleCommandEnabled,imapNoInsecureLogin:d.imapInsecureAuthDisabled},ldapSettings:{ldap_SessionIdleTimeout:d.ldapSessionTimeout,ldap_CommandIdleTimeout:d.ldapCommandTimeout},xmppSettings:{xmppConnections:d.xmppMaxConnections},securityProtocolsSettings:{useSystemDefaults:d.securitySystemDefaultsEnabled,useSsl3:!d.securitySystemDefaultsEnabled&&d.securitySsl3Enabled,useTls10:!d.securitySystemDefaultsEnabled&&d.securityTls10Enabled,useTls11:!d.securitySystemDefaultsEnabled&&d.securityTls11Enabled,useTls12:!d.securitySystemDefaultsEnabled&&d.securityTls12Enabled,useTls13:!d.securitySystemDefaultsEnabled&&d.securityTls13Enabled}}}));e.spinner.show(),i.post("~/api/v1/settings/sysadmin/global-mail/",n).then((function(){s.$setPristine()}),m.report).finally(e.spinner.hide)},d.doCancel=function(e,t){if(!t.$dirty)return;a.show(a.confirmRevertChanges().targetEvent(e)).then((function(){S(),t.$setPristine()}),(function(){}))},d.Licensing={},l.all([S(),g()]).finally((function(){d.loading=!1,c.wait((function(){d.contentReady=!0}))})),t.$on("licensingChanged",g),t.$watchCollection((function(){return[d.securitySystemDefaultsEnabled,d.securitySsl3Enabled,d.securityTls10Enabled,d.securityTls11Enabled,d.securityTls12Enabled,d.securityTls13Enabled]}),(function(e,t){e!==t&&(d.secProtocols=d.securitySystemDefaultsEnabled||d.securitySsl3Enabled||d.securityTls10Enabled||d.securityTls11Enabled||d.securityTls12Enabled||d.securityTls13Enabled?"valid":"")}))}e.$inject=["$rootScope","$scope","$filter","$http","$state","$mdDialog","$q","$timeout","coreDataLicensing","errorHandling","claimsService","masonryReveal"],angular.module("smartermail").controller("adminSettingsProtocolSettingsController",e)}();
540!function(){"use strict";function t(t,e,o,n,a,i,c,r,l,s){function d(){t.currentAction&&(t.hasSelectedAction=!0,t.currentAction.id!==t.oldAction.actionType||t.newAction?t.newAction&&(t.textInput="",t.selectedGateway=t.gateways.length>0?t.gateways[0].id:void 0,t.notificationSubject="",t.notificationBody="",t.notificationEditorScope={},t.emailFrom="",t.emailTo="",t.emailSubject="",t.emailBody="",t.emailEditorScope={},t.commandProcess="",t.commandArguments="",t.webhookUrl="",t.webhookMethod="POST",t.webhookHeaders="",t.webhookPayload=""):t.loadArguments())}function u(){}function A(){}t.oldAction=n,t.newAction=a,t.ruleId=null!=s?s:0,t.hasSelectedAction=!t.newAction,t.availableActions=i,t.currentAction=void 0,t.usedActions=c,t.gateways=r,t.hasRoundRobinGateway=l,t.textInput="",t.selectedGateway=void 0,t.isValid=!0,t.stripAllAttachments=!1,t.notificationSubject="",t.notificationBody="",t.notificationEditorScope={},t.emailFrom="",t.emailTo="",t.emailSubject="",t.emailBody="",t.emailEditorScope={},t.commandProcess="",t.commandArguments="",t.webhookUrl="",t.webhookMethod="POST",t.webhookHeaders="",t.webhookPayload="",t.getCurrentAction=function(){var e=$.grep(t.availableActions,(function(e){return e.id===t.oldAction.actionType}));e.length>0&&(t.currentAction=e[0])},t.loadArguments=function(){switch(t.currentAction.id){default:case 0:case 1:case 3:case 6:break;case 2:0==t.gateways.length&&(t.selectedGateway=void 0),void 0===t.oldAction.argument||""===t.oldAction.argument?t.selectedGateway=t.gateways.length>0?t.gateways[0].id:void 0:t.selectedGateway=t.oldAction.argument;break;case 4:case 5:case 9:case 10:t.textInput=t.oldAction.argument;break;case 7:t.stripAllAttachments=t.oldAction.boolOption1||!1;break;case 11:try{var e=JSON.parse(t.oldAction.argument);t.notificationSubject=e.subject||"",t.notificationBody=e.body||""}catch(e){t.notificationBody=t.oldAction.argument||""}break;case 12:try{var o=JSON.parse(t.oldAction.argument);t.emailFrom=o.from||"",t.emailTo=o.to||"",t.emailSubject=o.subject||"",t.emailBody=o.body||""}catch(t){}break;case 14:try{var n=JSON.parse(t.oldAction.argument);t.webhookUrl=n.url||"",t.webhookMethod=n.method||"POST",t.webhookHeaders=n.headers?"string"==typeof n.headers?n.headers:JSON.stringify(n.headers,null,2):"",t.webhookPayload=n.payload?JSON.stringify(n.payload,null,2):""}catch(t){}}},t.buildSaveAction=function(){switch(t.currentAction.id){default:case 0:case 1:case 3:case 6:case 8:return{actionType:t.currentAction.id,argument:"",isDefaultAction:!1};case 2:return{actionType:t.currentAction.id,argument:t.selectedGateway,isDefaultAction:!1};case 4:case 5:case 9:case 10:return{actionType:t.currentAction.id,argument:t.textInput,isDefaultAction:!1};case 7:return{actionType:t.currentAction.id,argument:"",boolOption1:t.stripAllAttachments||!1,isDefaultAction:!1};case 11:var e=t.notificationEditorScope.getHtml?t.notificationEditorScope.getHtml():t.notificationBody,o=JSON.stringify({subject:t.notificationSubject,body:e});return{actionType:t.currentAction.id,argument:o,isDefaultAction:!1};
540case 12:var n=t.emailEditorScope.getHtml?t.emailEditorScope.getHtml():t.emailBody,a=JSON.stringify({from:t.emailFrom,to:t.emailTo,subject:t.emailSubject,body:n});return{actionType:t.currentAction.id,argument:a,isDefaultAction:!1};case 13:var i=JSON.stringify({process:t.commandProcess,arguments:t.commandArguments});return{actionType:t.currentAction.id,argument:i,isDefaultAction:!1};case 14:var c={};if(t.webhookHeaders)try{c=JSON.parse(t.webhookHeaders)}catch(e){t.webhookHeaders.split("\n").forEach((function(t){var e=t.indexOf(":");if(e>0){var o=t.substring(0,e).trim(),n=t.substring(e+1).trim();c[o]=n}}))}var r={};if(t.webhookPayload)try{r=JSON.parse(t.webhookPayload)}catch(e){r={data:t.webhookPayload}}var l=JSON.stringify({url:t.webhookUrl,method:t.webhookMethod,headers:c,payload:r});return{actionType:t.currentAction.id,argument:l,isDefaultAction:!1}}},t.save=function(){var o=t.buildSaveAction();e.hide({saveAction:o,deleteAction:!1})},t.delete=function(){e.hide({actionType:t.currentAction.id,deleteAction:!0})},t.cancel=function(){e.cancel()},t.onFroalaInitialized=function(e,o){e.events.on("contentChanged",(function(){t.$applyAsync((function(){t.actionForm&&t.actionForm.$setDirty()}))}))},function(){t.newAction?angular.forEach(c,(function(e){t.availableActions=$.grep(t.availableActions,(function(t){return t.id!==e.actionType}))})):angular.forEach(c,(function(e){t.availableActions=$.grep(t.availableActions,(function(o){return o.id!==e.actionType||o.id===t.oldAction.actionType}))}));t.availableActions=$.grep(t.availableActions,(function(t){return 0!==t.id})),t.newAction||(t.getCurrentAction(),t.loadArguments());t.$watch("currentAction",d),t.$watch("textInput",u),t.$watch("stripAllAttachments",A)}()}t.$inject=["$scope","$mdDialog","$filter","oldAction","newAction","actionTypes","usedActions","gateways","hasRoundRobinGateway","ruleId"],angular.module("smartermail").controller("routingRuleActionEditController",t)}();
541!function(){"use strict";function e(e,n,t,i,o,r,d,a,c,s,u){e.newCondition=i,e.isCategorySelected=!i,e.isConditionSelected=!i,e.conditionCategories=r,e.conditionTypes=o,e.condition=d,e.wildcard=c,e.matchAllMessageTypes=s,e.messageTypes=u.messageTypes,e.spamLevels=u.spamLevels,e.currentCategory=void 0,e.currentCondition=void 0,e.conditionsForCategory=[],e.logicInput=!1,e.textInput="",e.KBInput="",e.bytesInput="",e.boolOption=!0,e.priorityOption="1",e.numericInput="",e.messageTypeOption="Normal",e.spamLevelOption=1,e.timeOfDayOperator="Between",e.timeValue1="",e.timeValue2="",e.dayOfWeekOperator="Equals",e.dayModel={value1:0,value2:0},e.isValid=!0,e.ipAddresses=[],e.countryCodes=[],e.dayOptions=[{value:0,label:"Sunday"},{value:1,label:"Monday"},{value:2,label:"Tuesday"},{value:3,label:"Wednesday"},{value:4,label:"Thursday"},{value:5,label:"Friday"},{value:6,label:"Saturday"}],e.getCurrentCondition=function(){var n=$.grep(e.conditionTypes,(function(n){return n.id===e.condition.fieldType}));n.length>0&&(e.currentCondition=n[0]);var t=$.grep(e.conditionCategories,(function(n){return n.id===e.currentCondition.category}));t.length>0&&(e.currentCategory=t[0])},e.getConditionsForCategory=function(){e.conditionsForCategory=$.grep(e.conditionTypes,(function(n){return n.category===e.currentCategory.id}))},e.loadArguments=function(){if(!e.newCondition&&!e.resetCondition)switch(e.logicInput=e.condition.applyLogicalNot,e.currentCondition.inputType){default:case 0:break;case 1:e.textInput=e.condition.searchArguments?e.condition.searchArguments.join("\n"):"";break;case 2:e.KBInput=e.condition.searchArguments?e.condition.searchArguments[0]/1024:"";break;case 3:e.bytesInput=e.condition.searchArguments?Number(e.condition.searchArguments[0]):"";break;case 4:e.priorityOption=e.condition.searchArguments?e.condition.searchArguments[0]:"1";break;case 5:e.condition.searchArguments?e.boolOption="0"===e.condition.searchArguments[0]||"true"===e.condition.searchArguments[0]:e.boolOption=!0;break;case 6:e.numericInput=e.condition.searchArguments?Number(e.condition.searchArguments[0]):"";break;case 7:e.messageTypeOption=e.condition.searchArguments?e.condition.searchArguments[0]:"Normal";break;case 8:e.condition.searchArguments&&e.condition.searchArguments.length>=2?(e.timeOfDayOperator=e.condition.searchArguments[0]||"Between",e.timeValue1=e.condition.searchArguments[1]||moment().format("LT"),e.timeValue2=e.condition.searchArguments[2]||moment().format("LT")):(e.timeOfDayOperator="Between",e.timeValue1=moment().format("LT"),e.timeValue2=moment().format("LT"));break;case 9:e.condition.searchArguments&&e.condition.searchArguments.length>=2?(e.dayOfWeekOperator=e.condition.searchArguments[0]||"Equals",e.dayModel.value1=parseInt(e.condition.searchArguments[1])||0,e.dayModel.value2=parseInt(e.condition.searchArguments[2])||0):(e.dayOfWeekOperator="Equals",e.dayModel.value1=0,e.dayModel.value2=0);break;case 10:e.ipAddresses=e.condition.searchArguments?e.condition.searchArguments.map((function(e){return{address:e,description:""}})):[];break;case 11:e.countryCodes=e.condition.searchArguments?e.condition.searchArguments.map((function(e){return{countryCode:e,description:""}})):[];break;case 12:e.spamLevelOption=e.condition.searchArguments?parseInt(e.condition.searchArguments[0],10):1}},e.buildSaveCondition=function(){switch(e.currentCondition.inputType){default:case 0:return{applyLogicalNot:e.logicInput,fieldType:e.currentCondition.id,filterType:2,isWildcard:e.wildcard,searchArguments:[]};case 1:var n=e.textInput?e.textInput.split("\n"):[];return{applyLogicalNot:e.logicInput,fieldType:e.currentCondition.id,filterType:2,isWildcard:e.wildcard,searchArguments:n};case 2:return{applyLogicalNot:e.logicInput,fieldType:e.currentCondition.id,filterType:2,isWildcard:e.wildcard,searchArguments:[(1024*e.KBInput).toString()]};case 3:return{applyLogicalNot:e.logicInput,fieldType:e.currentCondition.id,filterType:2,isWildcard:e.wildcard,searchArguments:[e.bytesInput.toString()]};case 4:return{applyLogicalNot:e.logicInput,fieldType:e.currentCondition.id,filterType:2,isWildcard:e.wildcard,searchArguments:[e.priorityOption]};case 5:return{applyLogicalNot:e.logicInput,fieldType:e.currentCondition.id,filterType:2,isWildcard:e.wildcard,searchArguments:[e.boolOption?"0":"1"]};case 6:return{applyLogicalNot:e.logicInput,fieldType:e.currentCondition.id,filterType:2,isWildcard:e.wildcard,searchArguments:[e.numericInput.toString()]};case 7:return{applyLogicalNot:e.logicInput,fieldType:e.currentCondition.id,filterType:2,isWildcard:e.wildcard,searchArguments:[e.messageTypeOption]};case 8:var t=[e.timeOfDayOperator,e.timeValue1];return"Between"!==e.timeOfDayOperator&&"Outside"!==e.timeOfDayOperator||t.push(e.timeValue2),{applyLogicalNot:e.logicInput,fieldType:e.currentCondition.id,filterType:2,isWildcard:e.wildcard,searchArguments:t};case 9:var i=[e.dayOfWeekOperator,e.dayModel.value1.toString()];return"Between"===e.dayOfWeekOperator&&i.push(e.dayModel.value2.toString()),{applyLogicalNot:e.logicInput,fieldType:e.currentCondition.id,filterType:2,isWildcard:e.wildcard,searchArguments:i};case 10:var o=e.ipAddresses.map((function(e){return e.address}));return{applyLogicalNot:e.logicInput,fieldType:e.currentCondition.id,filterType:2,isWildcard:e.wildcard,searchArguments:o};case 11:var r=e.countryCodes.map((function(e){return e.countryCode}));return{applyLogicalNot:e.logicInput,fieldType:e.currentCondition.id,filterType:2,isWildcard:e.wildcard,searchArguments:r};case 12:return{applyLogicalNot:e.logicInput,fieldType:e.currentCondition.id,filterType:2,isWildcard:e.wildcard,searchArguments:[e.spamLevelOption.toString()]}}},e.save=function(){var t=e.buildSaveCondition();n.hide({condition:t,oldType:e.condition.fieldType,deleteCondition:!1})},e.delete=function(){n.hide({fieldType:e.currentCondition.id,deleteCondition:!0})},e.cancel=function(){n.cancel()},e.addIPAddress=function(t){n.show({controller:"sysAdminEditWhitelistingController",templateUrl:"app/sysadmin/settings/security/modals/whitelist.dlg.html",targetEvent:t,locals:{whitelistEntry:{},changed:"",isNew:!0}}).then((function(n){n&&n.address&&(e.ipAddresses.some((function(e){return e.address===n.address}))||e.ipAddresses.push({address:n.address,description:n.description||""}))}))},e.removeIPAddress=function(n){e.ipAddresses.splice(n,1)},e.addCountryCode=function(t){n.show({controller:"sysAdminEditGreylistingController",templateUrl:"app/sysadmin/settings/antispam/modals/greylist-filter.dlg.html",targetEvent:t,locals:{filterType:1,countryCode:null,ipAddress:"",description:"",isNew:!0}}).then((function(n){n&&n.countryCode&&(e.countryCodes.some((function(e){return e.countryCode===n.countryCode}))||e.countryCodes.push({countryCode:n.countryCode,description:n.description||""}))}))},e.removeCountryCode=function(n){e.countryCodes.splice(n,1)},function(){e.newCondition?angular.forEach(a,(function(n){e.conditionTypes=$.grep(e.conditionTypes,(function(e){return e.id!==n.fieldType}))})):angular.forEach(a,(function(n){e.conditionTypes=$.grep(e.conditionTypes,(function(t){return t.id!==n.fieldType||t.id===e.condition.fieldType}))}));e.conditionCategories=$.grep(e.conditionCategories,(function(n){for(var t=0;t<e.conditionTypes.length;++t)if(e.conditionTypes[t].category===n.id)return!0;return!1})),e.newCondition||(e.getCurrentCondition(),e.getConditionsForCategory());e.$watch("currentCategory",p),e.$watch("currentCondition",y),e.loadArguments()}();var l=-1;function p(){l=e.currentCategory?e.currentCategory.id:-1,e.currentCategory&&(e.isCategorySelected=!0,e.getConditionsForCategory(),(e.newCondition||e.resetCondition)&&(e.currentCondition=e.conditionsForCategory[0]),e.isConditionSelected=!0,e.currentCondition.id!==e.condition.fieldType||e.newCondition||e.resetCondition?(e.textInput="",e.KBInput="",e.bytesInput="",e.numericInput="",e.messageTypeOption="Normal"):e.loadArguments(),e.resetCondition=!0)}function y(){e.currentCondition&&(e.currentCondition.id===e.condition.fieldType?e.loadArguments():(e.newCondition||e.resetCondition)&&(e.textInput="",e.KBInput="",e.bytesInput="",e.numericInput="",e.messageTypeOption="Normal",8===e.currentCondition.inputType&&(e.timeValue1=moment().format("LT"),e.timeValue2=moment().format("LT")),9===e.currentCondition.inputType&&(e.dayOfWeekOperator="Equals",e.dayModel.value1=0,e.dayModel.value2=0)))}}e.$inject=["$scope","$mdDialog","$filter","newCondition","conditionTypes","conditionCategories","oldCondition","usedConditions","wildcard","matchAllMessageTypes","routingRuleData"],angular.module("smartermail").controller("routingRuleConditionEditController",e)}();
542!function(){"use strict";function t(t,n){var a=this;function T(){a.matchTypes=[{value:1,label:n.instant("ANY_CONDITION_MUST_BE_MET")},{value:0,label:n.instant("ALL_CONDITIONS_MUST_BE_MET")}],a.conditionCategories=[{id:0,translate:n.instant("EVENT_CONDITIONS_FROMADDRESS")},{id:1,translate:n.instant("EVENT_CONDITIONS_TOADDRESS")},{id:2,translate:n.instant("CONTENT_FILTERING_CATEGORIES_CONTAINS_WORDS")},{id:3,translate:n.instant("MESSAGE_PROPERTIES")},{id:4,translate:n.instant("DELIVERY")},{id:5,translate:n.instant("ATTACHMENTS")}],a.conditionTypes=[{id:0,translate:n.instant("EVENT_CONDITIONS_FROMADDRESS"),category:0,inputType:1,inputTranslate:n.instant("CONTENT_FILTERING_INPUTS_FROM_ADDRESS")},{id:1,translate:n.instant("EVENT_CONDITIONS_FROMDOMAIN"),category:0,inputType:1,inputTranslate:n.instant("CONTENT_FILTERING_INPUTS_FROM_DOMAIN")},{id:2,translate:n.instant("EVENT_CONDITIONS_TOADDRESS"),category:1,inputType:1,inputTranslate:n.instant("CONTENT_FILTERING_INPUTS_TO_ADDRESS")},{id:3,translate:n.instant("EVENT_CONDITIONS_TODOMAIN"),category:1,inputType:1,inputTranslate:n.instant("CONTENT_FILTERING_INPUTS_TO_DOMAIN")},{id:4,translate:n.instant("SUBJECT"),category:2,inputType:1,inputTranslate:n.instant("CONTENT_FILTERING_INPUTS_WORDS_SUBJECT")},{id:5,translate:n.instant("BODY"),category:2,inputType:1,inputTranslate:n.instant("CONTENT_FILTERING_INPUTS_WORDS_BODY")},{id:6,translate:n.instant("CONTENT_FILTERING_TYPES_SIZE_OVER"),category:3,inputType:2,inputTranslate:n.instant("CONTENT_FILTERING_INPUTS_SIZE_OVER")},{id:7,translate:n.instant("CONTENT_FILTERING_TYPES_SIZE_UNDER"),category:3,inputType:3,inputTranslate:n.instant("CONTENT_FILTERING_INPUTS_SIZE_UNDER")},{id:8,translate:n.instant("CONTENT_FILTERING_TYPES_ATT_HAS"),category:5,inputType:0,inputTranslate:n.instant("CONTAINS_ATTACHMENTS")},{id:9,translate:n.instant("CONTENT_FILTERING_TYPES_ATT_EXTENSION"),category:5,inputType:1,inputTranslate:n.instant("CONTENT_FILTERING_INPUTS_ATT_EXTENSION")},{id:10,translate:n.instant("ROUTING_CONDITION_MESSAGE_PRIORITY"),category:3,inputType:4,inputTranslate:n.instant("ROUTING_CONDITION_MESSAGE_PRIORITY")},{id:11,translate:n.instant("CONTENT_FILTERING_TYPES_IS_AUTH"),category:4,inputType:0,inputTranslate:n.instant("ROUTING_CONDITION_IS_AUTHENTICATED")},{id:12,translate:n.instant("ROUTING_CONDITION_IS_BEING_FORWARDED"),category:4,inputType:0,inputTranslate:n.instant("ROUTING_CONDITION_IS_BEING_FORWARDED")},{id:13,translate:n.instant("ROUTING_CONDITION_IS_SIGNED_OR_ENCRYPTED"),category:3,inputType:0,inputTranslate:n.instant("ROUTING_CONDITION_IS_SIGNED_OR_ENCRYPTED")},{id:14,translate:n.instant("ROUTING_CONDITION_SPAM_SCORE"),category:4,inputType:6,inputTranslate:n.instant("ROUTING_CONDITION_SPAM_SCORE")},{id:28,translate:n.instant("EVENT_CONDITIONS_SPAMLEVEL"),category:4,inputType:12,inputTranslate:n.instant("EVENT_CONDITIONS_SPAMLEVEL")},{id:15,translate:n.instant("ROUTING_CONDITION_MESSAGE_TYPE"),category:4,inputType:7,inputTranslate:n.instant("ROUTING_CONDITION_MESSAGE_TYPE")},{id:16,translate:n.instant("ROUTING_CONDITION_IS_WHITELISTED"),category:4,inputType:0,inputTranslate:n.instant("ROUTING_CONDITION_IS_WHITELISTED")},{id:17,translate:n.instant("CONTENT_FILTERING_TYPES_WORDS_SUBJECT_BODY"),category:2,inputType:1,inputTranslate:n.instant("CONTENT_FILTERING_INPUTS_WORDS_SUBJECT_BODY")},{id:18,translate:n.instant("FROM_ADDRESS"),category:2,inputType:1,inputTranslate:n.instant("CONTENT_FILTERING_INPUTS_WORDS_FROM")},{id:19,translate:n.instant("TO_ADDRESS"),category:2,inputType:1,inputTranslate:n.instant("CONTENT_FILTERING_INPUTS_WORDS_TO")},{id:20,translate:n.instant("CONTENT_FILTERING_TYPES_WORDS_HEADERS"),category:2,inputType:1,inputTranslate:n.instant("CONTENT_FILTERING_INPUTS_WORDS_HEADERS")},{id:21,translate:n.instant("CONTENT_FILTERING_TYPES_WORDS_MESSAGE"),category:2,inputType:1,inputTranslate:n.instant("CONTENT_FILTERING_INPUTS_WORDS_MESSAGE")},{id:22,translate:n.instant("EVENT_CONDITIONS_EVENTOCCURED"),category:4,inputType:8,inputTranslate:n.instant("EVENT_CONDITIONS_EVENTOCCURED")},{id:23,translate:n.instant("EVENT_CONDITIONS_DAYSOFWEEK"),category:4,inputType:9,inputTranslate:n.instant("EVENT_CONDITIONS_DAYSOFWEEK")},{id:24,translate:n.instant("CONTENT_FILTERING_TYPES_ATT_FILENAME"),category:5,inputType:1,inputTranslate:n.instant("CONTENT_FILTERING_INPUTS_ATT_FILENAME")},{id:25,translate:n.instant("CONTENT_FILTERING_TYPES_ATT_SIZE"),category:5,inputType:2,inputTranslate:n.instant("CONTENT_FILTERING_INPUTS_ATT_SIZE")},{id:29,translate:n.instant("ROUTING_CONDITION_EXTERNAL_SENDER"),category:4,inputType:0,inputTranslate:n.instant("ROUTING_CONDITION_EXTERNAL_SENDER")}],a.conditionInputTypes=[{id:0,translate:n.instant("NONE")},{id:1,translate:n.instant("MULTILINE")},{id:2,translate:n.instant("KB")},{id:3,translate:n.instant("BYTES")},{id:4,translate:n.instant("PRIORITY_DROPDOWN")},{id:5,translate:n.instant("BOOL")},{id:6,translate:n.instant("NUMERIC")},{id:7,translate:n.instant("MESSAGE_TYPE_DROPDOWN")},{id:8,translate:n.instant("TIME_RANGE")},{id:9,translate:n.instant("DAY_OF_WEEK_DROPDOWN")},{id:10,translate:"IP_ADDRESS_LIST"},{id:11,translate:"COUNTRY_CODE_LIST"},{id:12,translate:n.instant("SPAM_LEVEL_DROPDOWN")}],a.actionTypes=[{id:0,translate:n.instant("ROUTING_ACTION_NO_ACTION")},{id:1,translate:n.instant("DELETE_MESSAGE"),inputTranslate:n.instant("ROUTING_INPUT_DELETE_MESSAGE_REASON")},{id:2,translate:n.instant("ROUTING_ACTION_SEND_TO_GATEWAY"),inputTranslate:n.instant("GATEWAY_OUT_OPTIONS"),needsGateway:!0},{id:3,translate:n.instant("QUARANTINE_MESSAGE")},{id:4,translate:n.instant("ADD_HEADER"),inputTranslate:n.instant("TEXT_TO_ADD")},{id:5,translate:n.instant("SUBJECT_PREFIX"),inputTranslate:n.instant("TEXT_TO_ADD")},{id:6,translate:n.instant("BOUNCE_MESSAGE"),inputTranslate:n.instant("ROUTING_INPUT_BOUNCE_MESSAGE")},{
542id:7,translate:n.instant("ROUTING_ACTION_STRIP_ATTACHMENTS")},{id:8,translate:n.instant("ROUTING_ACTION_STOP_PROCESSING")},{id:9,translate:n.instant("ROUTING_ACTION_ADD_RECIPIENT"),inputTranslate:n.instant("EMAIL_ADDRESSES_EACH_LINE")},{id:10,translate:n.instant("ROUTING_ACTION_SEND_COPY"),inputTranslate:n.instant("EMAIL_ADDRESSES_EACH_LINE")},{id:11,translate:n.instant("EVENT_ACTIONS_ALERTACTION"),inputTranslate:n.instant("NOTIFICATION_MESSAGE")},{id:12,translate:n.instant("SEND_EMAIL"),inputTranslate:n.instant("EMAIL_CONFIGURATION")},{id:14,translate:n.instant("EVENT_ACTIONS_WEBHOOKACTION"),inputTranslate:n.instant("WEBHOOK_CONFIGURATION")}],a.priorityLevels=[{value:0,label:n.instant("CONTENT_FILTERING_TYPES_PRIORITY_LOW")},{value:1,label:n.instant("CONTENT_FILTERING_TYPES_PRIORITY_NORMAL")},{value:2,label:n.instant("CONTENT_FILTERING_TYPES_PRIORITY_HIGH")}],a.messageTypes=[{value:"Normal",label:n.instant("MESSAGE_TYPE_NORMAL")},{value:"AutoResponse",label:n.instant("MESSAGE_TYPE_AUTO_RESPONSE")},{value:"Bounce",label:n.instant("MESSAGE_TYPE_BOUNCE")},{value:"EventEmail",label:n.instant("MESSAGE_TYPE_EVENT_EMAIL")},{value:"MailingList",label:n.instant("MESSAGE_TYPE_MAILING_LIST")},{value:"SizeLimitExceeded",label:n.instant("MESSAGE_TYPE_SIZE_LIMIT_EXCEEDED")},{value:"Dsn",label:n.instant("MESSAGE_TYPE_DSN")}],a.spamLevels=[{value:0,label:n.instant("NONE")},{value:1,label:n.instant("LOW")},{value:2,label:n.instant("MEDIUM")},{value:3,label:n.instant("HIGH")}]}T(),t.$on("$translateChangeSuccess",T)}t.$inject=["$rootScope","$translate"],angular.module("smartermail").service("routingRuleData",t)}();
543!function(){"use strict";function n(n,t,e,i,r,o,a,s,u,c,l,d,g,f,p,h){var m=this,T=h.create(t);function y(){e.get("~/api/v1/settings/sysadmin/routing-rules").then((function(n){m.rule=null,m.routingRules=n.data.routingRuleGroups||[];var t=0;angular.forEach(m.routingRules,(function(n){n.id===m.ruleId&&(m.rule=n),t<n.order&&(t=n.order)})),m.rule||(m.rule={actions:[],conditions:[],matchType:0,title:null,isEnabled:!0,matchAllMessageTypes:!1,direction:0});m.rule.conditions=m.rule.conditions||[],m.rule.actions=m.rule.actions||[],m.enableWildcard=m.rule.enableWildcard??!1,angular.forEach(m.rule.conditions,(function(n){n.isWildcard&&(m.enableWildcard=!0)})),"new"===m.ruleId&&(m.rule.order=t+1);A(),v(),E(),m.initialized=!0,m.loading=!1,T.wait((function(){m.contentReady=!0})),window.setTimeout((function(){var n=document.getElementById("RuleNameInput");n&&n.focus()}),100)}),l.report),e.get("~/api/v1/settings/sysadmin/combined-gateways?direction=outbound").then((function(n){const t=n.data.result||[];m.hasRoundRobinGateway=t.some((function(n){return 0===n.outboundMode})),m.gateways=t.filter((function(n){return 1===n.outboundMode}))}),l.report)}function A(){angular.forEach(m.rule.conditions,(function(n,t){n.$$index=t,n.$$order=t+1})),m.conditionsTableParams.settings({dataset:m.rule.conditions}),m.conditionsCheckboxes.reset(),m.conditionsTableParams.reload()}function v(){angular.forEach(m.rule.actions,(function(n,t){n.$$index=t,n.$$order=t+1})),m.actionsTableParams.settings({dataset:m.rule.actions}),m.actionsCheckboxes.reset(),m.actionsTableParams.reload()}function E(){m.gridSections[1].length=m.rule.conditions.length,m.gridSections[2].length=m.rule.actions.length}function I(){var n=angular.copy(m.rule);return n.conditions&&(n.conditions=n.conditions.map((function(n){var t=angular.copy(n);return delete t.$$index,delete t.$$order,delete t.$$hashKey,t}))),n.actions&&(n.actions=n.actions.map((function(n){var t=angular.copy(n);return delete t.$$index,delete t.$$order,delete t.$$hashKey,t}))),angular.forEach(n.conditions,(function(n){n.isWildcard=m.enableWildcard})),n.enableWildcard=m.enableWildcard,n}function C(){var t,i=I();if("new"===m.ruleId){if($.grep(m.routingRules,(function(n){return n.title.toUpperCase()===i.title.toUpperCase()})).length>0)return void l.report(u.instant("ROUTING_RULE_NAME_IN_USE",{title:i.title}));t=JSON.stringify({toAdd:[i]})}else t=JSON.stringify({routingRuleGroups:[i]});e.post("~/api/v1/settings/sysadmin/routing-rules",t).then((function(t){if(!t.data.success)return void l.report(t);"new"===m.ruleId&&t.data.routingRuleGroups&&t.data.routingRuleGroups.length>0&&(m.ruleId=t.data.routingRuleGroups[0].id,m.rule.id=m.ruleId,a.go(".",{routingruleid:m.ruleId},{location:"replace",notify:!1}));n.$broadcast("system-settings:changed")}),l.report)}function R(n){function t(n){let t=(new DOMParser).parseFromString(n,"text/html");return t.body.querySelectorAll("br, p, div").forEach((n=>{"BR"===n.tagName?n.replaceWith(" "):n.insertAdjacentText("afterend"," ")})),t.body.textContent||""}if(2===n.actionType){if("11cc1eca0f0a07f1a5f8da323cf7ca7a"===n.argument)return u.instant("ROUND_ROBIN");var e=$.grep(m.gateways,(function(t){return t.id===n.argument}));return e.length>0?e[0].description:n.argument}if(11===n.actionType)try{var i=JSON.parse(n.argument),r=[];return i.subject&&r.push(i.subject),i.body&&r.push(t(i.body)),r.join(": ")||n.argument}catch(t){return n.argument||""}if(12===n.actionType)try{var o=JSON.parse(n.argument),a=[];return o.from&&a.push(u.instant("FROM")+": "+o.from),o.to&&a.push(u.instant("TO")+": "+o.to),o.subject&&a.push(u.instant("SUBJECT")+": "+o.subject),o.body&&a.push(u.instant("BODY")+": "+t(o.body)),a.join("\n ")||n.argument}catch(t){return n.argument||""}if(14===n.actionType)try{var s=JSON.parse(n.argument),c=[];return s.method&&c.push(s.method),s.url&&c.push(s.url),c.join(" ")||n.argument}catch(t){return n.argument||""}return n.argument||""}function N(n){switch(parseInt(n,10)){case 0:return u.instant("SUNDAY");case 1:return u.instant("MONDAY");case 2:return u.instant("TUESDAY");case 3:return u.instant("WEDNESDAY");case 4:return u.instant("THURSDAY");case 5:return u.instant("FRIDAY");case 6:return u.instant("SATURDAY");default:return n}}
543m.loading=!0,m.contentReady=!1,m.isHA=window.stHA,m.ruleId=parseInt(a.params.routingruleid,10)||"new",m.rule=null,m.conditionTypes=c.conditionTypes,m.matchTypes=c.matchTypes,m.actionTypes=c.actionTypes,m.routingRules=[],m.gateways=[],m.hasRoundRobinGateway=!1,m.initialized=!1,m.gridSections=[{translate:"OPTIONS",length:-1},{translate:"CONDITIONS",length:0,disabled:"new"===m.ruleId},{translate:"ACTIONS",length:0,disabled:"new"===m.ruleId}],m.selectedSection="OPTIONS",m.changeSection=function(n){m.selectedSection=n},m.conditionsTableParams=new f({sorting:{$$order:"asc"},count:25},{dataset:[],counts:n.commonTableCounts}),m.conditionsCheckboxes=p.init("$$index"),m.conditionsCheckboxes.table=m.conditionsTableParams,m.actionsTableParams=new f({sorting:{$$order:"asc"},count:25},{dataset:[],counts:n.commonTableCounts}),m.actionsCheckboxes=p.init("$$index"),m.actionsCheckboxes.table=m.actionsTableParams,m.save=function(t,i){if(!i.$valid)return;var r,o=I();if("new"===m.ruleId){if($.grep(m.routingRules,(function(n){return n.title.toUpperCase()===o.title.toUpperCase()})).length>0)return void l.report(u.instant("ROUTING_RULE_NAME_IN_USE",{title:o.title}));r=JSON.stringify({toAdd:[o]})}else r=JSON.stringify({routingRuleGroups:[o]});e.post("~/api/v1/settings/sysadmin/routing-rules",r).then((function(t){t.data.success?"new"===m.ruleId&&t.data.newIds&&t.data.newIds.length>0?(m.ruleId=t.data.newIds[0],m.rule.id=m.ruleId,m.gridSections[1].disabled=!1,m.gridSections[2].disabled=!1,a.go(".",{routingruleid:m.ruleId},{location:"replace",notify:!1}),i.$setPristine(),n.$broadcast("system-settings:changed")):(i.$setPristine(),n.$broadcast("system-settings:changed"),a.go("^")):l.report(t)}),l.report)},m.deleteThis=function(n){if("new"===m.ruleId)return void a.go("^");var t=o.confirmDeletion().textContent(r("translate")("CONFIRMATIONS_DELETE_ITEMS_one")).targetEvent(n);o.show(t).then((function(){var n=JSON.stringify({toRemove:[m.rule.id]});e.post("~/api/v1/settings/sysadmin/routing-rules",n).then((function(){m.skipNavigateConfirm=!0,a.go("^")}),l.report)}),(function(){}))},m.cancel=function(){a.go("^")},m.cancelOptions=function(n,t){t.$setPristine(),y()},m.autoSave=C,m.addCondition=function(n,t){o.show({locals:{newCondition:!0,conditionTypes:angular.copy(c.conditionTypes),conditionCategories:angular.copy(c.conditionCategories),oldCondition:{applyLogicalNot:!1,fieldType:0,filterType:2,isWildcard:m.enableWildcard,searchArguments:[]},usedConditions:m.rule.conditions,wildcard:m.enableWildcard,matchAllMessageTypes:m.rule.matchAllMessageTypes,direction:m.rule.direction},controller:"routingRuleConditionEditController",controllerAs:"CondCtrl",templateUrl:"app/sysadmin/settings/routing-rules/routing-rule-condition.dlg.html",targetEvent:n}).then((function(n){m.rule.conditions.push(n.condition),A(),E(),C()}),(function(){}))},m.editCondition=function(n,t,e){o.show({locals:{newCondition:!1,conditionTypes:$.extend(!0,[],c.conditionTypes),conditionCategories:$.extend(!0,[],c.conditionCategories),oldCondition:$.extend(!0,{},t),usedConditions:m.rule.conditions,wildcard:m.enableWildcard,matchAllMessageTypes:m.rule.matchAllMessageTypes,direction:m.rule.direction},controller:"routingRuleConditionEditController",controllerAs:"CondCtrl",templateUrl:"app/sysadmin/settings/routing-rules/routing-rule-condition.dlg.html",targetEvent:n}).then((function(n){var e;n.deleteCondition?-1!==(e=void 0!==t.$$index?t.$$index:m.rule.conditions.indexOf(t))&&(m.rule.conditions.splice(e,1),A(),E(),C()):(-1===(e=void 0!==t.$$index?t.$$index:m.rule.conditions.indexOf(t))||e>=m.rule.conditions.length?m.rule.conditions.push(n.condition):m.rule.conditions[e]=n.condition,A(),E(),C())}),(function(){}))},m.deleteCondition=function(n,t){var e=m.rule.conditions.indexOf(n);-1!==e&&(m.rule.conditions.splice(e,1),A(),E(),C())},m.deleteCheckedConditions=function(n){var t=m.conditionsCheckboxes.getCheckedItems();if(!t||!t.length)return;var e=o.confirmDeletion().textContent(g.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:t.length})).targetEvent(n);o.show(e).then((function(){var n=t.map((function(n){return parseInt(n,10)}));m.rule.conditions=m.rule.conditions.filter((function(t){return-1===n.indexOf(t.$$index)})),A(),E(),C()}),(function(){}))},m.hasConditions=function(){return m.rule&&m.rule.conditions&&m.rule.conditions.length>0},m.setConditionHigherPriority=function(n){var t=n.$$index;if(void 0===t||t<=0)return;
543var e=m.rule.conditions[t-1];m.rule.conditions[t-1]=m.rule.conditions[t],m.rule.conditions[t]=e,A(),C()},m.setConditionLowerPriority=function(n){var t=n.$$index;if(void 0===t||t>=m.rule.conditions.length-1)return;var e=m.rule.conditions[t+1];m.rule.conditions[t+1]=m.rule.conditions[t],m.rule.conditions[t]=e,A(),C()},m.addAction=function(n,t){o.show({locals:{oldAction:{actionType:1,argument:"",isDefaultAction:!1},newAction:!0,actionTypes:$.extend(!0,[],c.actionTypes),usedActions:m.rule.actions,gateways:m.gateways,hasRoundRobinGateway:m.hasRoundRobinGateway,ruleId:"new"===m.ruleId?0:m.ruleId},controller:"routingRuleActionEditController",controllerAs:"ActCtrl",templateUrl:"app/sysadmin/settings/routing-rules/routing-rule-action.dlg.html",targetEvent:n}).then((function(n){m.rule.actions.push(n.saveAction),v(),E(),C()}),(function(){}))},m.editAction=function(n,t,e){o.show({locals:{oldAction:$.extend(!0,{},t),newAction:!1,actionTypes:$.extend(!0,[],c.actionTypes),usedActions:m.rule.actions,gateways:m.gateways,hasRoundRobinGateway:m.hasRoundRobinGateway,ruleId:"new"===m.ruleId?0:m.ruleId},controller:"routingRuleActionEditController",controllerAs:"ActCtrl",templateUrl:"app/sysadmin/settings/routing-rules/routing-rule-action.dlg.html",targetEvent:n}).then((function(n){let e;if(n.deleteAction)return e=void 0!==t.$$index?t.$$index:m.rule.actions.indexOf(t),void(-1!==e&&(m.rule.actions.splice(e,1),v(),E(),C()));e=void 0!==t.$$index?t.$$index:m.rule.actions.indexOf(t),-1===e||e>=m.rule.actions.length?m.rule.actions.push(n.saveAction):m.rule.actions[e]=n.saveAction,v(),E(),C()}),(function(){}))},m.deleteAction=function(n,t){const e=m.rule.actions.indexOf(n);-1!==e&&(m.rule.actions.splice(e,1),v(),E(),C())},m.deleteCheckedActions=function(n){var t=m.actionsCheckboxes.getCheckedItems();if(!t||!t.length)return;var e=o.confirmDeletion().textContent(g.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:t.length})).targetEvent(n);o.show(e).then((function(){var n=t.map((function(n){return parseInt(n,10)}));m.rule.actions=m.rule.actions.filter((function(t){return-1===n.indexOf(t.$$index)})),v(),E(),C()}),(function(){}))},m.hasActions=function(){return m.rule&&m.rule.actions&&m.rule.actions.length>0},m.setActionHigherPriority=function(n){var t=n.$$index;if(void 0===t||t<=0)return;var e=m.rule.actions[t-1];m.rule.actions[t-1]=m.rule.actions[t],m.rule.actions[t]=e,v(),C()},m.setActionLowerPriority=function(n){var t=n.$$index;if(void 0===t||t>=m.rule.actions.length-1)return;var e=m.rule.actions[t+1];m.rule.actions[t+1]=m.rule.actions[t],m.rule.actions[t]=e,v(),C()},m.getActionArgument=function(n){let t=R(n);if(t.length>500)return t.substring(0,500)+"...";return t},m.getActionArgumentFull=R,m.getActionTypeDescription=function(n){var t=$.grep(m.actionTypes,(function(t){return t.id===n.actionType}));return t.length>0?t[0].translate:""},m.getConditionArgument=function(n){if(!n.searchArguments||0===n.searchArguments.length)return"";if(10===n.fieldType){var t=n.searchArguments.map((function(n){var t=parseInt(n,10);return 0===t?u.instant("CONTENT_FILTERING_TYPES_PRIORITY_LOW"):1===t?u.instant("CONTENT_FILTERING_TYPES_PRIORITY_NORMAL"):2===t?u.instant("CONTENT_FILTERING_TYPES_PRIORITY_HIGH"):n}));return t.join(", ")}if(22===n.fieldType)return`${n.searchArguments[1]} - ${n.searchArguments[2]}`;if(23===n.fieldType)return"Equals"===n.searchArguments[0]||"DoesNotEqual"===n.searchArguments[0]?`${N(n.searchArguments[1])}`:`${N(n.searchArguments[1])} - ${N(n.searchArguments[2])}`;if(6===n.fieldType){var e=parseFloat(n.searchArguments[0]);if(isNaN(e)||!isFinite(e)||0===e)return"0 KB";var i=Math.floor(Math.log(e)/Math.log(1024));return e<1?"0 KB":0===i?"1 KB":(e/Math.pow(1024,i)).toFixed(1)+" "+["bytes","KB","MB","GB","TB","PB","EB","ZB","YB"][i]}if(28===n.fieldType){var r=parseInt(n.searchArguments[0],10);return 0===r?u.instant("NONE"):1===r?u.instant("LOW"):2===r?u.instant("MEDIUM"):3===r?u.instant("IGH"):n.searchArguments[0]}return n.searchArguments.join(", ")},m.getConditionTypeDescription=function(n){var t=$.grep(m.conditionTypes,(function(t){return t.id===n.fieldType}));return t.length>0?t[0].translate:""},m.actionStopsProcessing=function(n){return-1!==[1,3,6,8].indexOf(n.actionType)},y(),m.getConditionModifier=function(n){var t=$.grep(m.conditionTypes,(function(t){return t.id===n.fieldType}));if(0===t.length)return"";var e=t[0].inputType,i=n.applyLogicalNot;if(0===e||5===e)return i?u.instant("FALSE"):u.instant("TRUE");if(1===e||10===e||11===e)return i?u.instant("CONTAINS_NOT"):u.instant("CONTAINS");
543if(2===e)return i?u.instant("LESSTHAN"):u.instant("GREATER_THAN_OR_EQUAL");if(3===e)return i?u.instant("GREATER_THAN_OR_EQUAL"):u.instant("LESSTHAN");if(4===e||7===e||12===e)return i?u.instant("DOESNOTEQUAL"):u.instant("EQUALS");if(6===e)return i?u.instant("LESSTHAN"):u.instant("GREATER_THAN_OR_EQUAL");if(8===e){var r="Between"===(n.searchArguments&&n.searchArguments.length>0?n.searchArguments[0]:"Between");return i&&(r=!r),r?u.instant("BETWEEN"):u.instant("OUTSIDE")}if(9===e){var o=n.searchArguments&&n.searchArguments.length>0?n.searchArguments[0]:"Between";return o=o.toUpperCase(),u.instant(o)}return""}}n.$inject=["$rootScope","$scope","$http","$q","$filter","$mdDialog","$state","$timeout","$translate","routingRuleData","errorHandling","successHandling","i18n","NgTableParams","gridCheckboxes","masonryReveal"],angular.module("smartermail").controller("sysadminRoutingRuleController",n)}();
544!function(){"use strict";function t(t,e,n,r,i,o,s,a,c,u,l,d,g,p,f){var h=this;function v(){n.get("~/api/v1/settings/sysadmin/routing-rules").then(m,u.report)}function m(t){e.routingRules=t.data.routingRuleGroups||[],h.checkboxes.reset(),h.tableParams.reload(),h.initialized=!0}function y(t){var e=[];for(var r in h.checkboxes.items)h.checkboxes.items[r]&&(e=e.concat($.grep(h.listResults,(function(t){return t.title===r}))));if(e&&0!==e.length){var o=i.confirmDeletion().textContent(f.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:e.length})).targetEvent(t);i.show(o).then((function(){var t=[];angular.forEach(e,(function(e,n){t.push(e.id)}));var r=JSON.stringify({toRemove:t});n.post("~/api/v1/settings/sysadmin/routing-rules",r).then(v,u.report)}))}else u.warn("ERROR_NO_CARDS")}h.isHA=window.stHA,e.routingRules=void 0,e.cardService=c,e.conditionTypes=p.conditionTypes,e.actionTypes=p.actionTypes,h.tableParams=new d({sorting:{order:"asc"},count:25},{getData:function(t){if(!e.routingRules)return[];var n="",i="",o=(t.page()-1)*t.count(),s=t.count();for(var a in t.sorting())if(t.sorting().hasOwnProperty(a)&&t.sorting()[a]){n=a,i="desc"!==t.sorting()[a];break}var c=r("orderBy")(e.routingRules,n,!i);return h.listResults=angular.copy(c),h.listResults=h.listResults.splice(o,s),t.total(e.routingRules?e.routingRules.length:0),h.listResults},counts:t.commonTableCounts}),h.checkboxes=g.init("title"),h.checkboxes.table=h.tableParams,h.initialized=!1,h.deleteRules=y,h.editRule=function(t,e){o.go(".specific",{routingruleid:t.id})},h.newRule=function(t){o.go(".specific",{routingruleid:"new"})},h.getActionsString=function(t){if(t.actions&&0!==t.actions.length){if(1===t.actions.length){var n=$.grep(e.actionTypes,(function(e){return e.id===t.actions[0].actionType}));return n.length>0?n[0].translate:r("translate")("NONE")}return r("translate")("MULTIPLE",{count:t.actions.length})}return r("translate")("NONE")},h.getConditionsString=function(t){if(t.conditions&&0!==t.conditions.length){if(1===t.conditions.length){var n=t.conditions[0],i=$.grep(e.conditionTypes,(function(t){return t.id===n.fieldType}))[0];if(!i)return r("translate")("UNKNOWN");var o=r("translate")(i.translate),s=function(t){var n=$.grep(e.conditionTypes,(function(e){return e.id===t.fieldType}))[0];if(!n)return"";var r=n.inputType,i=t.applyLogicalNot;if(0===r)return i?a.instant("FALSE"):a.instant("TRUE");if(1===r)return i?a.instant("CONTAINS_NOT"):a.instant("CONTAINS");return""}(n);return s&&(o+=" - "+s),o}return r("translate")("MULTIPLE",{count:t.conditions.length})}return r("translate")("NONE")},h.hasStoppableAction=function(t){if(!t.actions||0===t.actions.length)return!1;for(var e=[1,3,6,8],n=0;n<t.actions.length;n++)if(-1!==e.indexOf(t.actions[n].actionType))return!0;return!1},h.contextMenuGridItem=function(t,n){if(!n||"touchstart"!==n.type&&"touchend"!==n.type&&3!==n.which||t.criticallyErrored)return;n.stopPropagation(),n.preventDefault();var r=h.checkboxes.getCheckedItems();(r.length>1&&!_.some(r,(function(e){return e===t.title}))||r.length<=1)&&(h.checkboxes.reset(),h.checkboxes.checkCheckbox(n,t),r=[t.title]);e.dropdownEvent=$.extend(!0,{},n),e.dropdownOptions=[{key:"deleteRules",click:y,params:e.dropdownEvent,translateKey:"DELETE"}];var i=$("#context-menu-area");if(i){var o=s('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);i.append(o)}},h.setLowerPriority=function(t){if(t.order===h.tableParams.total())return;n.post("~/api/v1/settings/sysadmin/routing-rules/order/"+t.id+"/false").then((function(t){l.report(),m(t)}),u.report)},h.setHigherPriority=function(t){if(1===t.order)return;n.post("~/api/v1/settings/sysadmin/routing-rules/order/"+t.id+"/true").then((function(t){l.report(),m(t)}),u.report)},e.cardService.editItem=h.editRule,e.cardService.newItem=h.newRule,e.cardService.deleteItems=h.deleteRules,v()}t.$inject=["$rootScope","$scope","$http","$filter","$mdDialog","$state","$compile","$translate","coreDataSysAdminCards","errorHandling","successHandling","NgTableParams","gridCheckboxes","routingRuleData","i18n"],angular.module("smartermail").controller("sysadminRoutingRulesController",t)}();
545!function(){"use strict";function t(t,e,s,n,i,a,r,o,c,p,d,l,m,u){var h=this;function y(e){var i=h.checkboxes.getCheckedItems();if(i&&i.length){var a=n.confirmDeletion().textContent(u.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:i.length})).targetEvent(e);n.show(a).then((function(){var e=[],n=[];
545if(h.items.forEach((function(t){i.indexOf(t.ip)>-1&&(t.description.startsWith("HoneyPot ")?n.push(t.ip):e.push(t.ip))})),e.length>0){var a={address:i.join(","),dataType:1};s.post("~/api/v1/settings/sysadmin/ip-access-delete",JSON.stringify(a)).then((function(e){g(),t.$broadcast("security:countersChanged")}),c.report)}if(n.length>0){i.join(","),a={ips:n};s.post("~/api/v1/settings/sysadmin/honey-pot/remove",JSON.stringify(a)).then((function(e){g(),t.$broadcast("security:countersChanged")}),c.report)}}),null)}}function g(){h.checkboxes.reset(),h.tableParams.reload()}h.isHA=window.stHA,h.items=[],h.searchParams={skip:0,take:0,search:null,sortField:null,sortDescending:!1},h.tableParams=new p({sorting:{ip:"asc"},count:25},{getData:function(e){for(var n in h.searchParams.skip=(e.page()-1)*e.count(),h.searchParams.take=Number(e.count()),h.searchParams.sortField=null,e.sorting())if(e.sorting().hasOwnProperty(n)&&e.sorting()[n]){h.searchParams.sortField=n,h.searchParams.sortDescending="desc"===e.sorting()[n];break}return t.spinner.show(),s.post("~/api/v1/settings/sysadmin/ip-access/"+!1,JSON.stringify({searchParams:h.searchParams,showHoneypot:!0})).then((function(t){h.items=t.data.ipAccessList||[];for(var s=0;s<h.items.length;s++)"SPOOL.BLOCKED_FROM_DASHBOARD"===h.items[s].description&&(h.items[s].description="SPOOL_BLOCKED_FROM_DASHBOARD"),h.items[s].modified&&(h.items[s].modifiedTranslated=i("date")(h.items[s].modified,"short")),h.items[s].country?null===h.items[s].country?h.items[s].countryTranslated=i("translate")("NA"):h.items[s].countryTranslated=i("translate")("COUNTRY_CODE_"+h.items[s].country)+" ("+h.items[s].country+")":h.items[s].countryTranslated=i("translate")("NA");return e.total(t.data.totalCount),h.items}),c.report).finally(t.spinner.hide)},counts:t.commonTableCounts}),h.checkboxes=d.init("ip"),h.checkboxes.table=h.tableParams,h.newItem=function(e){n.show({locals:{addresses:"",smtp:!1,pop:!1,imap:!1,xmpp:!1,ldap:!1,active_sync:!1,web_dav:!1,web_mail:!1,mapi_ews:!1,description:"",fromGrid:!1,changed:"",readOnly:!1},controller:"sysAdminEditBlacklistingController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/security/modals/blacklist.dlg.html",targetEvent:e}).then((function(e){var n=[];e.smtp&&n.push(0),e.imap&&n.push(1),e.pop&&n.push(2),e.xmpp&&n.push(7),e.ldap&&n.push(4),e.active_sync&&n.push(9),e.mapi_ews&&n.push(10),e.web_dav&&n.push(12),e.web_mail&&n.push(8);var i={serviceList:n,dataType:1,address:e.address,description:e.description};s.post("~/api/v1/settings/sysadmin/ip-access",JSON.stringify(i)).then((function(){g(),t.$broadcast("security:countersChanged")}),c.report)}),(function(){}))},h.deleteItems=y,h.searchItems=function(){h.searchParams.search=h.searchText,g()},h.editItem=function(e,i){n.show({locals:{addresses:e.ip,smtp:e.smtp,pop:e.pop,imap:e.imap,xmpp:e.xmpp,ldap:e.ldap,active_sync:e.active_sync,web_dav:e.web_dav,web_mail:e.web_mail,mapi_ews:e.mapi_ews,description:e.description,fromGrid:!1,changed:e.modifiedTranslated,readOnly:e.description.startsWith("HoneyPot ")},controller:"sysAdminEditBlacklistingController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/security/modals/blacklist.dlg.html",targetEvent:i}).then((function(n){if(!e.description.startsWith("HoneyPot ")){var i=[];n.smtp&&i.push(0),n.imap&&i.push(1),n.pop&&i.push(2),n.xmpp&&i.push(7),n.ldap&&i.push(4),n.active_sync&&i.push(9),n.mapi_ews&&i.push(10),n.web_dav&&i.push(12),n.web_mail&&i.push(8);var a={serviceList:i,dataType:1,address:n.address,oldAddress:e.ip,description:n.description};s.post("~/api/v1/settings/sysadmin/ip-access",JSON.stringify(a)).then((function(){g(),t.$broadcast("security:countersChanged")}),c.report)}}),(function(){}))},h.contextMenuGridItem=function(t,s){if(!s||"touchstart"!==s.type&&"touchend"!==s.type&&3!==s.which||t.criticallyErrored)return;s.stopPropagation(),s.preventDefault();var n=h.checkboxes.getCheckedItems();(n.length>1&&!_.some(n,(function(e){return e===t.ip}))||n.length<=1)&&(h.checkboxes.reset(),h.checkboxes.checkCheckbox(s,t),n=[t.ip]);e.dropdownEvent=$.extend(!0,{},s),e.dropdownOptions=[{key:"deleteItems",click:y,params:e.dropdownEvent,translateKey:"DELETE"}];var i=$("#context-menu-area");if(i){var r=a('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);i.append(r)}},h.exportSecuritySettings=function(){var e=i("translate")("FILENAME_SECURITY_CONFIG")+"-"+i("translate")("BLACKLIST")+".json";t.spinner.show(),l.downloadFile("~/api/v1/settings/sysadmin/export-security-settings/blacklist",e).then((function(){}),c.report).finally(t.spinner.hide)},h.importSecuritySettings=function(e){n.show({locals:{titleText:m.instant("IMPORT")+" "+m.instant("BLACKLIST")},controller:"sysAdminImportSecuritySettingsController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/security/modals/import-security-settings.dlg.html",targetEvent:e}).then((function(){g(),t.$broadcast("security:countersChanged")}))}}t.$inject=["$rootScope","$scope","$http","$mdDialog","$filter","$compile","coreDataSysAdminSettings","coreDataSysAdminCards","errorHandling","NgTableParams","gridCheckboxes","coreDataFileStorage","$translate","i18n"],angular.module("smartermail").controller("sysAdminSecurityBlacklisting",t)}();
546!function(){"use strict";function t(t,a,e,s,i,r,n,o,c,l,u,m){var S=this;S.items=[],S.tableParams=new c({sorting:{StatusSort:"asc",hostname:"asc"},count:25},{dataset:[],counts:t.commonTableCounts}),S.checkboxes=l.init("id"),S.checkboxes.table=S.tableParams,S.initialized=!1,S.searchItems=function(){S.tableParams.filter({$:S.searchText})},e.get("~/api/v1/settings/sysadmin/ssl-certificates").then((function(t){S.items=t.data.certificates||[];
546let a=r.instant("EXPIRED"),e=r.instant("OK"),s=r.instant("RENEWING"),i=r.instant("INVALID");for(let t=0;t<S.items.length;t++){let r=S.items[t];if(r.Status=e,r.StatusSort=999,r.IsStatusError=!1,r.isExpired)r.Status=a,r.StatusSort=0,r.IsStatusError=!0;else if(2==r.certSetupType){if(1==r.acmeValidationStatus){r.StatusSort=2,r.Status=s;continue}if(3==r.acmeValidationStatus){r.Status=i,r.StatusSort=1,r.IsStatusError=!0;continue}}}S.tableParams.settings({dataset:S.items}),S.checkboxes.reset(),S.tableParams.reload(),S.initialized=!0}),(function(){}))}t.$inject=["$rootScope","$scope","$http","$filter","$mdDialog","$translate","$compile","errorHandling","NgTableParams","gridCheckboxes","coreDataFileStorage","i18n"],angular.module("smartermail").controller("sysAdminSecurityCertificatesController",t)}();
547!function(){"use strict";function t(t,e,n,o,i,c,s,r,a,l,d,p,u){var E=this;E.isHA=window.stHA;var T=[c.instant("ABUSE_DETECTION_DETECTION_TYPE_0"),c.instant("ABUSE_DETECTION_DETECTION_TYPE_1"),c.instant("ABUSE_DETECTION_DETECTION_TYPE_2"),c.instant("ABUSE_DETECTION_DETECTION_TYPE_3"),c.instant("ABUSE_DETECTION_DETECTION_TYPE_4"),c.instant("ABUSE_DETECTION_DETECTION_TYPE_5"),c.instant("ABUSE_DETECTION_DETECTION_TYPE_6")],m=["N/A",c.instant("ABUSE_DETECTION_ACTION_TYPE_1"),c.instant("ABUSE_DETECTION_ACTION_TYPE_2"),c.instant("ABUSE_DETECTION_ACTION_TYPE_3"),c.instant("ABUSE_DETECTION_ACTION_TYPE_4")];function h(){n.get("~/api/v1/settings/sysadmin/temp-ip-blocks").then((function(t){E.items=t.data.tempIPBlocks||[],angular.forEach(E.items,(function(t){t.detectionTypeSortOrder=T[t.detectionType],t.actionSortOrder=3!==t.action||2!==t.detectionType&&4!==t.detectionType?m[t.action]:"N/A",t.blockPeriodSortOrder=4===t.action?t.tempBlockPeriod:6e4*t.tempBlockPeriod})),E.tableParams.settings({dataset:E.items}),E.checkboxes.reset(),E.tableParams.reload(),E.initialized=!0}),(function(){}))}function S(e){e&&(t.spinner.show(),n.post("~/api/v1/settings/sysadmin/temp-ip-blocks",e).then(f,r.report).finally(t.spinner.hide))}function f(){h(),t.$broadcast("security:countersChanged")}function C(t){var e=E.checkboxes.getCheckedItems();function o(n){let o="";o+=u.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:e.length}),n&&(o+="\r\n"+u.reactPluralize("CONFIRMATIONS_DELETE_IDS_RULE_BLOCKS",{count:n}));var s=i.confirmDeletion().textContent(o).targetEvent(t);i.show(s).then(c,(function(){}))}function c(){S(JSON.stringify({toRemove:e}))}e&&e.length&&n.post("~/api/v1/settings/sysadmin/blocked-ips-count-by-rule",JSON.stringify(e)).then((function(t){o(t.data.count)}),(function(){o(0)}))}E.items=[],E.tableParams=new l({sorting:{detectionTypeSortOrder:"asc"},count:25},{dataset:[],counts:t.commonTableCounts}),E.checkboxes=d.init("id"),E.checkboxes.table=E.tableParams,E.initialized=!1,E.newItem=function(t){i.show({locals:{detectionType:0,action:3,tempBlockWatchPeriod:"",tempBlockConnectionThreshold:"",tempBlockPeriod:"",description:"",successfulAuthScore:""},controller:"sysAdminEditAbuseDetectionController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/security/modals/rule.dlg.html",targetEvent:t}).then((function(t){S(JSON.stringify({toAdd:[{detectionType:t.detectionType,action:t.action,tempBlockWatchPeriod:t.tempBlockWatchPeriod,tempBlockConnectionThreshold:t.tempBlockConnectionThreshold,tempBlockPeriod:t.tempBlockPeriod,description:t.description,successfulAuthScore:t.successfulAuthScore}]}))}))},E.deleteItems=C,E.searchItems=function(){E.tableParams.filter({$:E.searchText})},E.editItem=function(t,e){i.show({locals:{detectionType:t.detectionType,action:t.action,tempBlockWatchPeriod:t.tempBlockWatchPeriod,tempBlockConnectionThreshold:t.tempBlockConnectionThreshold,tempBlockPeriod:t.tempBlockPeriod,description:t.description,successfulAuthScore:t.successfulAuthScore},controller:"sysAdminEditAbuseDetectionController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/security/modals/rule.dlg.html",targetEvent:e}).then((function(e){S(JSON.stringify({tempIPBlocks:[{detectionType:e.detectionType,action:e.action,tempBlockWatchPeriod:e.tempBlockWatchPeriod,tempBlockConnectionThreshold:e.tempBlockConnectionThreshold,tempBlockPeriod:e.tempBlockPeriod,description:e.description,successfulAuthScore:e.successfulAuthScore,id:t.id}]}))}),(function(){}))},E.contextMenuGridItem=function(t,n){if(!n||"touchstart"!==n.type&&"touchend"!==n.type&&3!==n.which||t.criticallyErrored)return;n.stopPropagation(),n.preventDefault();var o=E.checkboxes.getCheckedItems();(o.length>1&&!_.some(o,(function(e){return e===t.id}))||o.length<=1)&&(E.checkboxes.reset(),E.checkboxes.checkCheckbox(n,t),o=[t.id]);e.dropdownEvent=$.extend(!0,{},n),e.dropdownOptions=[{key:"deleteItems",click:C,params:e.dropdownEvent,translateKey:"DELETE"}];var i=$("#context-menu-area");if(i){var c=s('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);i.append(c)}},E.resetIdsRules=function(e,c){var s=i.confirmDeletion().textContent(o("translate")("CONFIRMATIONS_RESET_IDS_RULES")).ok(o("translate")("RESET")).targetEvent(c);i.show(s).then((function(){n.post("~/api/v1/settings/sysadmin/default-temp-ip-blocks").then((function(){h(),t.$broadcast("security:countersChanged"),a.report("SUCCESS")}),r.report)}),(function(){}))},E.exportSecuritySettings=function(){var e=o("translate")("FILENAME_SECURITY_CONFIG")+"-"+o("translate")("IDS_RULES")+".json";t.spinner.show(),p.downloadFile("~/api/v1/settings/sysadmin/export-security-settings/idsSettings",e).then((function(){}),r.report).finally(t.spinner.hide)},E.importSecuritySettings=function(e){i.show({locals:{titleText:c.instant("IMPORT")+" "+c.instant("IDS_RULES")},controller:"sysAdminImportSecuritySettingsController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/security/modals/import-security-settings.dlg.html",targetEvent:e}).then((function(){h(),t.$broadcast("security:countersChanged")}))}
547,E.getBlockDelayTimeString=function(t){return 3!==t.action||2!==t.detectionType&&4!==t.detectionType?4===t.action?`${t.tempBlockPeriod} ${o("translate")("MILLISECONDS_ABREV")}`:u.reactPluralize("X_MINUTES",{count:t.tempBlockPeriod}):o("translate")("NA")},h()}t.$inject=["$rootScope","$scope","$http","$filter","$mdDialog","$translate","$compile","errorHandling","successHandling","NgTableParams","gridCheckboxes","coreDataFileStorage","i18n"],angular.module("smartermail").controller("sysAdminAbuseDetectionRulesController",t)}();
548!function(){"use strict";function t(t,n,e){var i=this;function s(){e.get("~/api/v1/settings/sysadmin/temp-ip-blocks").then((function(t){i.gridSections[0].length=(t.data.tempIPBlocks||[]).length}),(function(){})),e.get("~/api/v1/settings/sysadmin/smtp-block-rules").then((function(t){i.gridSections[3].length=(t.data.blockRules||[]).length}),(function(){})),e.get("~/api/v1/settings/sysadmin/listing-counts").then((function(t){i.gridSections[1].length=t.data.blacklistCount,i.gridSections[2].length=t.data.whitelistCount}),(function(){}))}i.gridSections=[{translate:"IDS_RULES",length:"0"},{translate:"BLACKLIST",length:0},{translate:"WHITELIST",length:0},{translate:"SMTP_BLOCKS",length:"0"}],i.selectedSection="IDS_RULES",i.changeSection=function(t){i.selectedSection=t},s(),n.$on("security:countersChanged",s)}t.$inject=["$rootScope","$scope","$http"],angular.module("smartermail").controller("sysAdminAbuseDetectionController",t)}();
549!function(){"use strict";function t(t,e,n,s,o,i,r,c,l,a,d,p){var m=this;function u(){n.get("~/api/v1/settings/sysadmin/smtp-block-rules").then((function(t){m.items=t.data.blockRules||[],m.tableParams.settings({dataset:m.items}),m.checkboxes.reset(),m.tableParams.reload(),m.initialized=!0}),(function(){}))}function h(e){e&&(t.spinner.show(),n.post("~/api/v1/settings/sysadmin/smtp-block-rules",e).then((function(){u(),t.$broadcast("security:countersChanged")}),l.report).finally(t.spinner.hide))}function g(t){var e=m.checkboxes.getCheckedItems();if(e&&e.length){var n=o.confirmDeletion().textContent(p.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:e.length})).targetEvent(t);o.show(n).then((function(){h(JSON.stringify({toRemove:e}))}))}}m.isHA=window.stHA,m.items=[],m.tableParams=new r({sorting:{addressToBlock:"asc"},count:25},{dataset:[],counts:t.commonTableCounts}),m.checkboxes=c.init("id"),m.checkboxes.table=m.tableParams,m.initialized=!1,m.newItem=function(t){o.show({locals:{blockType:0,blockedAddress:"",direction:1,description:"",isNew:!0},controller:"sysAdminEditSmtpBlockingController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/security/modals/smtp-block.dlg.html",targetEvent:t}).then((function(t){for(var e=[],n=t.blockedAddress.split(","),s=0;s<n.length;++s)e.push({type:t.blockType,addressToBlock:n[s].replace(/\s+/g,""),direction:t.direction,description:t.description});h(JSON.stringify({toAdd:e}))}))},m.deleteItems=g,m.searchItems=function(){m.tableParams.filter({$:m.searchText})},m.editItem=function(t,e){o.show({locals:{blockType:t.type,blockedAddress:t.addressToBlock,direction:t.direction,description:t.description,isNew:!1},controller:"sysAdminEditSmtpBlockingController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/security/modals/smtp-block.dlg.html",targetEvent:e}).then((function(e){for(var n=[],s=e.blockedAddress.split(","),o=0;o<s.length;++o)n.push({type:e.blockType,addressToBlock:s[o].replace(/\s+/g,""),direction:e.direction,description:e.description,id:t.id});h(JSON.stringify({blockRules:n}))}))},m.contextMenuGridItem=function(t,n){if(!n||"touchstart"!==n.type&&"touchend"!==n.type&&3!==n.which||t.criticallyErrored)return;n.stopPropagation(),n.preventDefault();var s=m.checkboxes.getCheckedItems();(s.length>1&&!_.some(s,(function(e){return e===t.id}))||s.length<=1)&&(m.checkboxes.reset(),m.checkboxes.checkCheckbox(n,t),s=[t.id]);e.dropdownEvent=$.extend(!0,{},n),e.dropdownOptions=[{key:"deleteItems",click:g,params:e.dropdownEvent,translateKey:"DELETE"}];var o=$("#context-menu-area");if(o){var r=i('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);o.append(r)}},m.exportSecuritySettings=function(){var e=s("translate")("FILENAME_SECURITY_CONFIG")+"-"+s("translate")("SMTP_BLOCKS")+".json";t.spinner.show(),a.downloadFile("~/api/v1/settings/sysadmin/export-security-settings/smtpBlockRules",e).then((function(){}),l.report).finally(t.spinner.hide)},m.importSecuritySettings=function(e){o.show({locals:{titleText:d.instant("IMPORT")+" "+d.instant("SMTP_BLOCKS")},controller:"sysAdminImportSecuritySettingsController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/security/modals/import-security-settings.dlg.html",targetEvent:e}).then((function(){u(),t.$broadcast("security:countersChanged")}))},u()}t.$inject=["$rootScope","$scope","$http","$filter","$mdDialog","$compile","NgTableParams","gridCheckboxes","errorHandling","coreDataFileStorage","$translate","i18n"],angular.module("smartermail").controller("sysAdminSecuritySmtpBlockingController",t)}();
550!function(){"use strict";function s(s,t,e,n,i,r,a,o,p,c,l,d,h,u){var m=this;function y(t){var i=m.checkboxes.getCheckedItems();if(i&&i.length){var r=n.confirmDeletion().textContent(u.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:i.length})).targetEvent(t);n.show(r).then((function(){var t=i.map((s=>({address:s,dataType:0})));function n(){g(),s.$broadcast("security:countersChanged")}s.spinner.show(),e.post("~/api/v1/settings/sysadmin/ip-access-delete-entries",JSON.stringify(t)).then((function(){var t={toRemove:i};s.spinner.show(),e.post("~/api/v1/settings/sysadmin/smtp-auth-bypass",JSON.stringify(t)).then(n,p.report).finally(s.spinner.hide)}),p.report).finally(s.spinner.hide)}),null)}}function g(){m.checkboxes.reset(),m.tableParams.reload()}m.isHA=window.stHA,m.items=[],m.searchParams={skip:0,take:0,search:null,sortField:null,sortDescending:!1},m.tableParams=new c({sorting:{ip:"asc"},count:25},{getData:function(t){for(var n in m.searchParams.skip=(t.page()-1)*t.count(),m.searchParams.take=Number(t.count()),m.searchParams.sortField=null,t.sorting())if(t.sorting().hasOwnProperty(n)&&t.sorting()[n]){m.searchParams.sortField=n,m.searchParams.sortDescending="desc"===t.sorting()[n];break}return s.spinner.show(),e.post("~/api/v1/settings/sysadmin/ip-access/"+!0,JSON.stringify({searchParams:m.searchParams})).then((function(s){m.items=s.data.ipAccessList||[];for(var e=0;e<m.items.length;e++)m.items[e].modified&&(m.items[e].modifiedTranslated=i("date")(m.items[e].modified,"short")),m.items[e].country?null===m.items[e].country?m.items[e].countryTranslated=i("translate")("NA"):m.items[e].countryTranslated=i("translate")("COUNTRY_CODE_"+m.items[e].country)+" ("+m.items[e].country+")":m.items[e].countryTranslated=i("translate")("NA");return t.total(s.data.totalCount),m.items}),p.report).finally(s.spinner.hide)},counts:s.commonTableCounts}),m.checkboxes=l.init("ip"),m.checkboxes.table=m.tableParams,m.checkboxes.ignoreItemDelegate=function(s){return"10.0.0.0-10.255.255.255"==s.ip||"172.16.0.0-172.31.255.255"==s.ip||"192.168.0.0-192.168.255.255"==s.ip},m.newItem=function(t){n.show({locals:{whitelistEntry:{},changed:"",isNew:!0},controller:"sysAdminEditWhitelistingController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/security/modals/whitelist.dlg.html",targetEvent:t}).then((function(t){var n=[];t.smtp&&n.push(0),t.imap&&n.push(1),t.pop&&n.push(2),t.xmpp&&n.push(7),t.ldap&&n.push(4),t.active_sync&&n.push(9),t.mapi_ews&&n.push(10),t.web_dav&&n.push(12),t.web_mail&&n.push(8);var i={serviceList:n,dataType:0,address:t.address,description:t.description,spam_bypass:t.spam_bypass,bypass:t.bypass,bruteforce_bypass:t.bruteforce_bypass,greylist_bypass:t.greylist_bypass,ip_bypass:t.ip_bypass,tcp_proxy:t.tcp_proxy};function r(){g(),s.$broadcast("security:countersChanged")}s.spinner.show(),e.post("~/api/v1/settings/sysadmin/ip-access",JSON.stringify(i)).then((function(){var n={toRemove:[t.address.replace(/\s+/g,"")]};t.bypass&&(n.toAdd=[{address:t.address,description:t.description}]);s.spinner.show(),e.post("~/api/v1/settings/sysadmin/smtp-auth-bypass",JSON.stringify(n)).then(r,p.report).finally(s.spinner.hide)}),p.report).finally(s.spinner.hide)}),(function(){}))},m.deleteItems=y,m.searchItems=function(){m.searchParams.search=m.searchText,g()},m.editItem=function(t,i){n.show({locals:{whitelistEntry:t,changed:t.modifiedTranslated,isNew:!1},controller:"sysAdminEditWhitelistingController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/security/modals/whitelist.dlg.html",targetEvent:i}).then((function(n){var i=[];n.smtp&&i.push(0),n.imap&&i.push(1),n.pop&&i.push(2),n.xmpp&&i.push(7),n.ldap&&i.push(4),n.active_sync&&i.push(9),n.mapi_ews&&i.push(10),n.web_dav&&i.push(12),n.web_mail&&i.push(8);var r={serviceList:i,dataType:0,address:n.address,oldAddress:t.ip,description:n.description,spam_bypass:n.spam_bypass,bruteforce_bypass:n.bruteforce_bypass,greylist_bypass:n.greylist_bypass,ip_bypass:n.ip_bypass,tcp_proxy:n.tcp_proxy};function a(){g(),s.$broadcast("security:countersChanged")}s.spinner.show(),e.post("~/api/v1/settings/sysadmin/ip-access",JSON.stringify(r)).then((function(){var i={toRemove:[t.ip.replace(/\s+/g,"")]};
550n.bypass&&(i.toAdd=[{address:n.address,description:n.description}]);s.spinner.show(),e.post("~/api/v1/settings/sysadmin/smtp-auth-bypass",JSON.stringify(i)).then(a,p.report).finally(s.spinner.hide)}),p.report).finally(s.spinner.hide)}),(function(){}))},m.contextMenuGridItem=function(s,e){if(!e||"touchstart"!==e.type&&"touchend"!==e.type&&3!==e.which||s.criticallyErrored)return;if(m.checkboxes.ignoreItemDelegate(s))return;e.stopPropagation(),e.preventDefault();var n=m.checkboxes.getCheckedItems();(n.length>1&&!_.some(n,(function(t){return t===s.ip}))||n.length<=1)&&(m.checkboxes.reset(),m.checkboxes.checkCheckbox(e,s),n=[s.ip]);t.dropdownEvent=$.extend(!0,{},e),t.dropdownOptions=[{key:"deleteItems",click:y,params:t.dropdownEvent,translateKey:"DELETE"}];var i=$("#context-menu-area");if(i){var a=r('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(t);i.append(a)}},m.exportSecuritySettings=function(){var t=i("translate")("FILENAME_SECURITY_CONFIG")+"-"+i("translate")("WHITELIST")+".json";s.spinner.show(),d.downloadFile("~/api/v1/settings/sysadmin/export-security-settings/whitelist",t).then((function(){}),p.report).finally(s.spinner.hide)},m.importSecuritySettings=function(t){n.show({locals:{titleText:h.instant("IMPORT")+" "+h.instant("WHITELIST")},controller:"sysAdminImportSecuritySettingsController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/security/modals/import-security-settings.dlg.html",targetEvent:t}).then((function(){g(),s.$broadcast("security:countersChanged")}))}}s.$inject=["$rootScope","$scope","$http","$mdDialog","$filter","$compile","coreDataSysAdminSettings","coreDataSysAdminCards","errorHandling","NgTableParams","gridCheckboxes","coreDataFileStorage","$translate","i18n"],angular.module("smartermail").controller("sysAdminSecurityWhitelisting",s)}();
551!function(){"use strict";function t(t,e,n,s,i,a,m,p,o,r,d,l){var g=this,c=l.create(e);function u(){return s.get("~/api/v1/settings/sysadmin/global-mail").then((function(t){e.settings=angular.copy(t.data.globalMailSettings),g.smtpInBanner=e.settings.smtpSettings.smtpBanner,g.smtpInAllowRelay=e.settings.smtpSettings.relayOption,g.smtpInSessionTimeout=e.settings.smtpSettings.smtpSessionTimeout,g.smtpInSessionTimeoutEnabled=e.settings.smtpSettings.smtpSessionTimeoutEnabled,g.smtpInCommandTimeout=e.settings.smtpSettings.smtpCommandIdleTimeout,g.smtpInMaxBadCommands=e.settings.smtpSettings.smtpMaxBadCommands,g.smtpInMaxConnections=e.settings.smtpSettings.maxSmtpThreads,g.smtpInMaxHopCount=e.settings.smtpSettings.smtpMaxHopCount,g.smtpInMaxMessageSize=parseInt(e.settings.deliverySettings.maxMessageSizeInBytes/1024,10),g.smtpInMaxMessageSizeCap=parseInt(e.settings.deliverySettings.maxMessageSizeInBytesCap/1024,10),g.smtpInMaxBadRecipients=e.settings.smtpSettings.maxBadConsecutiveRecipients,g.smtpInAppendReceivedLine=e.settings.smtpSettings.recievedAppendOption,g.smtpInRequireAuthMatch=e.settings.serverSettings.requireSendAddressAuthMatch?1:e.settings.serverSettings.requireSendDomainAuthMatch?2:0,g.smtpInAuthMatchIncludeHeaders=e.settings.serverSettings.authMatchIncludeHeaders,g.smtpInMaxMessagesPerSession=e.settings.smtpSettings.maxMessagesPerSession,g.smtpInVrfyCommandEnabled=e.settings.smtpSettings.smtpEnableVrfy,g.smtpInExpnCommandEnabled=e.settings.smtpSettings.smtpEnableExpn,g.smtpInDsnEnabled=e.settings.smtpSettings.smtpEnableDsn,g.smtpInAllowRelayForAuthenticatedUsersEnabled=e.settings.smtpSettings.smtpAuthBypassRelay,g.smtpInDomainSmtpAuthSettingForLocalDeliveriesEnabled=e.settings.smtpSettings.enforceSMTPAuth,g.smtpInAuthPlainMethodForSmtpAuthenticationDisabled=e.settings.smtpSettings.smtpNoPlainLogin,g.smtpInAuthLoginMethodForSmtpAuthenticationDisabled=e.settings.smtpSettings.smtpNoAuthLogin,g.smtpInAuthCram5MethodForSmtpAuthenticationDisabled=e.settings.smtpSettings.smtpNoCram5Login,g.smtpInAcceptDisconnectedClients=e.settings.smtpSettings.smtpAcceptDisconnectedClients,g.smtpInMaxRecipientsUnauthenticated=e.settings.smtpSettings.smtpUnauthenticatedMaxRecipients}),r.report)}g.isHA=window.stHA,g.isHighAvailability=window.stHA,g.loading=!0,g.contentReady=!1,g.save=function(e,n){if(n.$invalid)return void r.report("CORRECT_INVALID_FIELDS");var i={globalMailSettings:{smtpSettings:{smtpBanner:g.smtpInBanner,relayOption:g.smtpInAllowRelay,smtpSessionTimeout:g.smtpInSessionTimeout,smtpSessionTimeoutEnabled:g.smtpInSessionTimeoutEnabled,smtpCommandIdleTimeout:g.smtpInCommandTimeout,smtpMaxBadCommands:g.smtpInMaxBadCommands,maxSmtpThreads:g.smtpInMaxConnections,smtpMaxHopCount:g.smtpInMaxHopCount,maxBadConsecutiveRecipients:g.smtpInMaxBadRecipients,recievedAppendOption:g.smtpInAppendReceivedLine,maxMessagesPerSession:g.smtpInMaxMessagesPerSession,smtpEnableVrfy:g.smtpInVrfyCommandEnabled,smtpEnableExpn:g.smtpInExpnCommandEnabled,smtpEnableDsn:g.smtpInDsnEnabled,smtpAuthBypassRelay:g.smtpInAllowRelayForAuthenticatedUsersEnabled,enforceSMTPAuth:g.smtpInDomainSmtpAuthSettingForLocalDeliveriesEnabled,smtpNoPlainLogin:g.smtpInAuthPlainMethodForSmtpAuthenticationDisabled,smtpNoAuthLogin:g.smtpInAuthLoginMethodForSmtpAuthenticationDisabled,smtpNoCram5Login:g.smtpInAuthCram5MethodForSmtpAuthenticationDisabled,smtpAcceptDisconnectedClients:g.smtpInAcceptDisconnectedClients,smtpUnauthenticatedMaxRecipients:g.smtpInMaxRecipientsUnauthenticated},serverSettings:{requireSendAddressAuthMatch:1===g.smtpInRequireAuthMatch,requireSendDomainAuthMatch:2===g.smtpInRequireAuthMatch,authMatchIncludeHeaders:g.smtpInAuthMatchIncludeHeaders},deliverySettings:{maxMessageSizeInBytes:1024*g.smtpInMaxMessageSize}}};t.spinner.show(),s.post("~/api/v1/settings/sysadmin/global-mail/",i).then((function(){n.$setPristine()}),r.report).finally(t.spinner.hide)},g.doCancel=function(t,e){if(!e.$dirty)return;a.show(a.confirmRevertChanges().targetEvent(t)).then((function(){u(),e.$setPristine()}),(function(){}))},u().finally((function(){g.loading=!1,c.wait((function(){g.contentReady=!0}))}
551))}t.$inject=["$rootScope","$scope","$filter","$http","$state","$mdDialog","$q","$timeout","coreDataLicensing","errorHandling","claimsService","masonryReveal"],angular.module("smartermail").controller("adminSettingsSmtpInSettingsController",t)}();
552!function(){"use strict";function t(t,e,i,n,s){var r=this;r.ready=!1,r.gridSections=[{translate:"OPTIONS",length:-1},{translate:"IPV4_ADDRESSES",length:0},{translate:"IPV6_ADDRESSES",length:0},{translate:"RBL_PROVIDERS",length:0}],r.selectedSection="OPTIONS",r.changeSection=function(t){s.doConfirmDialog?s.doConfirmDialog().then((function(){s.doConfirmDialog=void 0,r.selectedSection=t}),(function(){})):r.selectedSection=t},e.get("~/api/v1/settings/sysadmin/global-mail").then((function(t){var e=t.data.globalMailSettings,i=e.deliverySettings.outboundDeliveryIPList||[],n=e.deliverySettings.outboundDeliveryIPv6List||[],s=(e.deliverySettings.ipRotationSettings||{rblCheckProviders:[]}).rblCheckProviders||[];r.gridSections[1].length=i.length,r.gridSections[2].length=n.length,r.gridSections[3].length=s.filter((function(t){return t.host&&t.host.length>0})).length})),r.ready=!0,t.$on("smtp-out-ipv4-count-updated",(function(t,e){r.gridSections[1].length=e})),t.$on("smtp-out-ipv6-count-updated",(function(t,e){r.gridSections[2].length=e})),t.$on("smtp-out-rbl-count-updated",(function(t,e){r.gridSections[3].length=e}))}t.$inject=["$scope","$http","$rootScope","errorHandling","unsavedChangesTrackingService"],angular.module("smartermail").controller("adminSettingsSmtpOutSettingsController",t)}(),function(){"use strict";function t(t,e,i,n,s,r,a,o,l){var d=this,u=l.create(e);function p(){return a.init().then((function(){d.Licensing=a.Data.Licensing}),o.report)}function c(){return r.all([i.get("~/api/v1/settings/sysadmin/global-mail"),i.get("~/api/v1/settings/sysadmin/ips")]).then((function(t){var i=t[0],n=t[1].data.ips;e.settings=angular.copy(i.data.globalMailSettings),d.ipOptions=[{address:0,addressFamily:-1,translation:"USE_PRIMARY_IP_ON_NIC"},{address:2,addressFamily:-1,translation:"USE_THE_DOMAINS_IP"},{address:4,addressFamily:-1,translation:"ROTATE_IP_LIST"},{address:3,addressFamily:-1,translation:"DISABLE"}];var s=e.settings.failoverIPAddress;e.settings.failoverEnabled&&s&&"NONE"!==s&&(d.isIpFailover=!0,d.ipOptions=[{address:0,addressFamily:-1,translation:"HANDLED_VIA_FAILOVER"}]);d.ipOptions=d.ipOptions.concat(n),d.smtpOutCommandTimeout=e.settings.deliverySettings.deliveryCommandTimeout,d.smtpOutMaxDeliveryThreads=e.settings.deliverySettings.maxRelayThreads,d.smtpOutMaxRecipientsPerSession=e.settings.deliverySettings.maxRecipientsPerSession,d.smtpOutDnsCachingEnabled=e.settings.serverSettings.enableDnsCache,d.smtpOutAppendAuthenticatedAsHeaderEnabled=e.settings.smtpSettings.authHeaderOnOut,d.smptOutRemoteBouncesEnabled=e.settings.serverSettings.disableRemoteBounces,d.smtpOutValidateAllCerts=e.settings.smtpSettings.validateAllCerts,d.smtpOutRelaxedCertificateValidation=e.settings.smtpSettings.smtpOutRelaxedCertificateValidation,d.smtpOutOutboundIpv4=d.isIpFailover?0:v(e.settings.deliverySettings.outboundDeliveryBinding,e.settings.deliverySettings.defaultOutboundDeliveryBinding),d.smtpOutOutboundIpv6=v(e.settings.deliverySettings.outboundDeliveryBindingIPv6,e.settings.deliverySettings.defaultOutboundDeliveryBindingIPv6),d.smtpOutPrimaryIpOnFailureEnabled=e.settings.deliverySettings.fallbackToPrimary,e.$watchGroup([function(){return d.smtpOutOutboundIpv4},function(){return d.smtpOutOutboundIpv6}],g),d.ipRotationSettings=e.settings.deliverySettings.ipRotationSettings||d.ipRotationSettings}),o.report)}function v(t,e){return 1===t?e&&e.length>0?e:0:t}function g(){var t=3==d.smtpOutOutboundIpv4&&3==d.smtpOutOutboundIpv6;d.bothIpsDisabled=!!t,e.pageForm&&e.pageForm.$setValidity&&e.pageForm.$setValidity("bothIpsDisabled",!d.bothIpsDisabled)}function m(t,e){if(e)switch(t){case 4:case 3:case 2:case 0:return"";default:return t}switch(t){case 4:case 3:case 2:case 0:return t;default:return 1}}d.loading=!0,d.contentReady=!1,d.Licensing={},d.isIpFailover=!1,d.ipRotationSettings={ipRotationType:0,rotationMinutes:60,failureTimeWindow:60,failureThreshold:10,failureTimeToSkip:60,deliveriesPerIp:100,failure_enabled:!1,rblCheckInterval:60,rblSkipDuration:1440,rblCheckProviders:[{host:"zen.spamhaus.org",ipsToMatch:"*"},{host:"bl.spamcop.net",ipsToMatch:"*"},{host:"b.barracudacentral.org",ipsToMatch:"*"}],rbl_enabled:!1},d.bothIpsDisabled=!1,d.save=function(e,n){if(n.$invalid)return void o.report("CORRECT_INVALID_FIELDS");var s={globalMailSettings:{smtpSettings:{authHeaderOnOut:d.smtpOutAppendAuthenticatedAsHeaderEnabled,validateAllCert
552s:d.smtpOutValidateAllCerts,smtpOutRelaxedCertificateValidation:d.smtpOutRelaxedCertificateValidation},serverSettings:{enableDnsCache:d.smtpOutDnsCachingEnabled,disableRemoteBounces:d.smptOutRemoteBouncesEnabled},deliverySettings:{deliveryCommandTimeout:d.smtpOutCommandTimeout,maxRelayThreads:d.smtpOutMaxDeliveryThreads,maxRecipientsPerSession:d.smtpOutMaxRecipientsPerSession,outboundDeliveryBinding:m(d.smtpOutOutboundIpv4),defaultOutboundDeliveryBinding:m(d.smtpOutOutboundIpv4,!0),outboundDeliveryBindingIPv6:m(d.smtpOutOutboundIpv6),defaultOutboundDeliveryBindingIPv6:m(d.smtpOutOutboundIpv6,!0),fallbackToPrimary:d.smtpOutPrimaryIpOnFailureEnabled,ipRotationSettings:d.ipRotationSettings}}};t.spinner.show(),i.post("~/api/v1/settings/sysadmin/global-mail/",s).then((function(){n.$setPristine()}),o.report).finally(t.spinner.hide)},d.doCancel=function(t,e){if(!e.$dirty)return;s.show(s.confirmRevertChanges().targetEvent(t)).then((function(){c(),e.$setPristine()}),(function(){}))},d.onRotationTypeChanged=function(){e.pageForm&&e.pageForm.$setDirty()},d.openRblCheckProvidersConfig=function(t,e){s.show({locals:{rblCheckProviders:d.ipRotationSettings.rblCheckProviders},controller:"rblCheckProvidersCtrl",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/smtp-out/modals/rbl-check-providers.dlg.html",targetEvent:t}).then((function(t){e.$setDirty()}),(function(){}))},d.countRblCheckProviders=function(){var t=0;d.ipRotationSettings.rblCheckProviders&&(t=d.ipRotationSettings.rblCheckProviders.filter((function(t){return t.host.length>0})).length);return t},r.all([c(),p()]).finally((function(){d.loading=!1,u.wait((function(){d.contentReady=!0}))})),e.$on("licensingChanged",p)}t.$inject=["$rootScope","$scope","$http","$timeout","$mdDialog","$q","coreDataLicensing","errorHandling","masonryReveal"],angular.module("smartermail").controller("adminSettingsSmtpOutOptionsController",t)}(),function(){"use strict";function t(t,e,i,n,s,r){var a=this;function o(){s.all([i.get("~/api/v1/settings/sysadmin/global-mail"),i.get("~/api/v1/settings/sysadmin/ips")]).then((function(t){var i=t[0],n=t[1].data.ips;e.settings=angular.copy(i.data.globalMailSettings),a.ipOptions=[{address:0,addressFamily:-1,translation:"USE_PRIMARY_IP_ON_NIC"},{address:2,addressFamily:-1,translation:"USE_THE_DOMAINS_IP"},{address:4,addressFamily:-1,translation:"ROTATE_IP_LIST"},{address:3,addressFamily:-1,translation:"DISABLE"}];var s=e.settings.failoverIPAddress;e.settings.failoverEnabled&&s&&"NONE"!==s&&(a.isIpFailover=!0,a.ipOptions=[{address:0,addressFamily:-1,translation:"HANDLED_VIA_FAILOVER"}]);a.ipRotateOptions=[{address:0,addressFamily:-1,translation:"USE_PRIMARY_IP_ON_NIC"},{address:2,addressFamily:-1,translation:"USE_THE_DOMAINS_IP"}],a.ipOptions=a.ipOptions.concat(n),a.ipRotateOptions=a.ipRotateOptions.concat(n),a.smtpOutOutboundIpv4=a.isIpFailover?0:d(e.settings.deliverySettings.outboundDeliveryBinding,e.settings.deliverySettings.defaultOutboundDeliveryBinding),a.outboundDeliveryIPList=u(e.settings.deliverySettings.outboundDeliveryIPList),a.smtpOutOutboundIpv6=d(e.settings.deliverySettings.outboundDeliveryBindingIPv6,e.settings.deliverySettings.defaultOutboundDeliveryBindingIPv6),a.outboundDeliveryIPv6List=u(e.settings.deliverySettings.outboundDeliveryIPv6List),a.smtpOutPrimaryIpOnFailureEnabled=e.settings.deliverySettings.fallbackToPrimary,e.$watchGroup([function(){return a.smtpOutOutboundIpv4},function(){return a.smtpOutOutboundIpv6}],l),a.ipRotationSettings=e.settings.deliverySettings.ipRotationSettings||a.ipRotationSettings,v("ipv4"),v("ipv6")}))}function l(){var t=3==a.smtpOutOutboundIpv4&&3==a.smtpOutOutboundIpv6;a.bothIpsDisabled=!!t,e.pageForm&&e.pageForm.$setValidity&&e.pageForm.$setValidity("bothIpsDisabled",!a.bothIpsDisabled)}function d(t,e){return 1===t?e&&e.length>0?e:0:t}function u(t){if(t&&0!==t.length)for(var e=0;e<t.length;++e){var i=t[e],n={order:i.order};switch(i.type){case 3:case 2:case 0:n.ip=i.type;break;case 1:n.ip=i.ip;break;default:n.ip=0}n.enabled=i.enabled,t[e]=n}else t=[{order:null,ip:null}];return t}function p(t){var e=angular.copy(t);
552if(!e)return[];for(var i=0;i<e.length;++i){var n=e[i],s={order:n.order,enabled:n.enabled};switch(n.ip){case 3:case 2:case 0:s.type=n.ip,s.ip="";break;case 4:s.type=0,s.ip="";break;default:s.type=1,s.ip=n.ip}e[i]=s}return e}function c(t,e){if(e)switch(t){case 4:case 3:case 2:case 0:return"";default:return t}switch(t){case 4:case 3:case 2:case 0:return t;default:return 1}}function v(t){var e="ipv4"===t?a.outboundDeliveryIPList:a.outboundDeliveryIPv6List;if(0===e.length)e.push({order:null,ip:null});else{var i=$.grep(e,(function(t){return null==t||null==t.order||""==t.order||null==t.ip}));if(i.length>1){var n=$.grep(e,(function(t){return null!=t&&null!=t.order&&""!=t.order&&null!=t.ip}));"ipv4"===t?(a.outboundDeliveryIPList=n,a.outboundDeliveryIPList.push({order:null,ip:null})):(a.outboundDeliveryIPv6List=n,a.outboundDeliveryIPv6List.push({order:null,ip:null}))}else 0===i.length&&e.push({order:null,ip:null})}}function g(t){for(var i="ipv4"===t?a.outboundDeliveryIPList:a.outboundDeliveryIPv6List,n=0;n<i.length;n++)null!=i[n].ip&&(i[n].order=n+1);e.pageForm&&e.pageForm.$setDirty()}a.isIpFailover=!1,a.ipRotationSettings={ipRotationType:0,rotationMinutes:60,failureTimeWindow:60,failureThreshold:10,failureTimeToSkip:60,deliveriesPerIp:100,failure_enabled:!1},a.bothIpsDisabled=!1,a.save=function(e,n){if(n.$invalid)return void r.report("CORRECT_INVALID_FIELDS");if(a.outboundDeliveryIPList=$.grep(a.outboundDeliveryIPList,(function(t){return null!=t&&null!=t.order&&""!=t.order&&null!=t.ip})),a.outboundDeliveryIPv6List=$.grep(a.outboundDeliveryIPv6List,(function(t){return null!=t&&null!=t.order&&""!=t.order&&null!=t.ip})),4===a.smtpOutOutboundIpv4&&(!a.outboundDeliveryIPList||0===a.outboundDeliveryIPList.length)||4===a.smtpOutOutboundIpv6&&(!a.outboundDeliveryIPv6List||0===a.outboundDeliveryIPv6List.length))return r.report("LIST_ONE_IP_REQUIRED"),v("ipv4"),void v("ipv6");var s={globalMailSettings:{deliverySettings:{outboundDeliveryBinding:c(a.smtpOutOutboundIpv4),defaultOutboundDeliveryBinding:c(a.smtpOutOutboundIpv4,!0),outboundDeliveryIPList:p(a.outboundDeliveryIPList),outboundDeliveryBindingIPv6:c(a.smtpOutOutboundIpv6),outboundDeliveryIPv6List:p(a.outboundDeliveryIPv6List),defaultOutboundDeliveryBindingIPv6:c(a.smtpOutOutboundIpv6,!0),fallbackToPrimary:a.smtpOutPrimaryIpOnFailureEnabled,ipRotationSettings:a.ipRotationSettings}}};t.spinner.show(),i.post("~/api/v1/settings/sysadmin/global-mail/",s).then((function(){v("ipv4"),v("ipv6"),n.$setPristine()}),r.report).finally(t.spinner.hide)},a.ipListChanged=v,a.ipListRemove=function(t,e,i){("ipv4"===t?a.outboundDeliveryIPList:a.outboundDeliveryIPv6List).splice(e,1),v(t),i.$setDirty()},a.doCancel=function(t,e){if(!e.$dirty)return;n.show(n.confirmRevertChanges().targetEvent(t)).then((function(){o(),e.$setPristine()}),(function(){}))},a.onRotationTypeChanged=onRotationTypeChanged,a.updateOrder=g,a.sortableOptions={handle:".drag-handle",stop:function(){g("ipv4")}},a.sortableOptionsV6={handle:".drag-handle",stop:function(){g("ipv6")}},o()}t.$inject=["$rootScope","$scope","$http","$mdDialog","$q","errorHandling"],angular.module("smartermail").controller("adminSettingsSmtpOutIpAddressesController",t)}(),function(){"use strict";function t(t,e,i,n,s,r,a,o,l){var d=this;function u(){i.get("~/api/v1/settings/sysadmin/ips").then((function(t){return d.availableIps=t.data.ips.filter((function(t){return 2===t.addressFamily})),d.ipRotateOptions=[{addressFamily:-1,address:"primary",translation:"USE_PRIMARY_IP_ON_NIC"},{addressFamily:-1,address:"domain",translation:"USE_THE_DOMAINS_IP"}],d.ipRotateOptions=d.ipRotateOptions.concat(d.availableIps),i.get("~/api/v1/settings/sysadmin/global-mail")})).then((function(t){e.settings=angular.copy(t.data.globalMailSettings);var i=e.settings.deliverySettings.outboundDeliveryIPList||[];d.isRotationDisabled=4!==e.settings.deliverySettings.outboundDeliveryBinding,d.ipv4Addresses=i.map((function(t,e){return{id:e,order:t.order||e+1,ip:1===t.type?t.ip:p(t.type),enabled:t.enabled}})),d.nextId=d.ipv4Addresses.length,d.tableParams.settings({dataset:d.ipv4Addresses}),d.checkboxes.reset(),d.tableParams.reload(),d.initialized=!0,e.$emit("smtp-out-ipv4
552-count-updated",d.ipv4Addresses.length)}),r.report)}function p(t){switch(t){case 0:return 0;case 2:return 2;case 3:return 3;default:return""}}function c(){v(null,e.pageForm||{})}function v(n,s){var a=d.ipv4Addresses.map((function(t){var e={order:t.order,enabled:t.enabled};return 0===t.ip||2===t.ip||3===t.ip?(e.type=t.ip,e.ip=""):(e.type=1,e.ip=t.ip),e}));if(e.settings){var o={globalMailSettings:{deliverySettings:{outboundDeliveryIPList:a,outboundDeliveryBinding:e.settings.deliverySettings.outboundDeliveryBinding,defaultOutboundDeliveryBinding:e.settings.deliverySettings.defaultOutboundDeliveryBinding}}};t.spinner.show(),i.post("~/api/v1/settings/sysadmin/global-mail/",o).then((function(){s&&s.$setPristine&&s.$setPristine();u()}),r.report).finally(t.spinner.hide)}}d.initialized=!1,d.ipv4Addresses=[],d.availableIps=[],d.skipNavigateConfirm=!1,d.nextId=0,d.isRotationDisabled=!1,d.tableParams=new a({sorting:{order:"asc"},count:25},{dataset:[],counts:t.commonTableCounts}),d.checkboxes=o.init("id"),d.checkboxes.table=d.tableParams,d.hasIpv4Addresses=function(){return d.ipv4Addresses&&d.ipv4Addresses.length>0},d.addNewIp=function(){n.show({controller:"addIpAddressCtrl",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/smtp-out/modals/add-ip-address.dlg.html",locals:{ipOptions:d.ipRotateOptions,addressFamily:2}}).then((function(t){if(null!=t){var e=d.ipv4Addresses.length+1;d.ipv4Addresses.push({id:d.nextId++,order:e,ip:t,enabled:!0}),d.tableParams.reload(),c()}}))},d.canAddIp=function(){return d.ipRotateOptions&&d.ipRotateOptions.length>0},d.save=v,d.getIpDisplayName=function(t){return null==t?"":"primary"===t?s("translate")("USE_PRIMARY_IP_ON_NIC"):"domain"===t?s("translate")("USE_THE_DOMAINS_IP"):"disable"===t?s("translate")("DISABLE"):t},d.setHigherPriority=function(t){if(1===t.order)return;var e=d.ipv4Addresses.indexOf(t);if(e>0){var i=d.ipv4Addresses[e-1];d.ipv4Addresses[e-1]=t,d.ipv4Addresses[e]=i,t.order=e,i.order=e+1,d.tableParams.reload(),c()}},d.setLowerPriority=function(t){if(t.order===d.tableParams.total())return;var e=d.ipv4Addresses.indexOf(t);if(e<d.ipv4Addresses.length-1){var i=d.ipv4Addresses[e+1];d.ipv4Addresses[e+1]=t,d.ipv4Addresses[e]=i,t.order=e+2,i.order=e+1,d.tableParams.reload(),c()}},d.markDirty=function(){e.pageForm&&e.pageForm.$setDirty()},d.removeIp=function(t){var e=d.ipv4Addresses.indexOf(t);if(e>-1){d.ipv4Addresses.splice(e,1);for(var i=0;i<d.ipv4Addresses.length;i++)d.ipv4Addresses[i].order=i+1;d.tableParams.reload(),c()}},d.deleteCheckedItems=function(t){var e=d.checkboxes.getCheckedItems();if(!e||!e.length)return;var i=n.confirmDeletion().textContent(l.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:e.length})).targetEvent(t);n.show(i).then((function(){var t=e.map((function(t){return parseInt(t,10)}));d.ipv4Addresses=d.ipv4Addresses.filter((function(e){return-1===t.indexOf(e.id)}));for(var i=0;i<d.ipv4Addresses.length;i++)d.ipv4Addresses[i].order=i+1;d.checkboxes.reset(),d.tableParams.reload(),c()}),(function(){}))},u()}t.$inject=["$rootScope","$scope","$http","$mdDialog","$filter","errorHandling","NgTableParams","gridCheckboxes","i18n"],angular.module("smartermail").controller("adminSettingsSmtpOutIpv4AddressesController",t)}(),function(){"use strict";function t(t,e,i,n,s,r,a,o,l){var d=this;function u(){i.get("~/api/v1/settings/sysadmin/ips").then((function(t){return d.availableIps=t.data.ips.filter((function(t){return 23===t.addressFamily})),d.ipRotateOptions=[{addressFamily:-1,address:"primary",translation:"USE_PRIMARY_IP_ON_NIC"},{addressFamily:-1,address:"domain",translation:"USE_THE_DOMAINS_IP"}],d.ipRotateOptions=d.ipRotateOptions.concat(d.availableIps),i.get("~/api/v1/settings/sysadmin/global-mail")})).then((function(t){e.settings=angular.copy(t.data.globalMailSettings);var i=e.settings.deliverySettings.outboundDeliveryIPv6List||[];d.isRotationDisabled=4!==e.settings.deliverySettings.outboundDeliveryBindingIPv6,d.ipv6Addresses=i.map((function(t,e){return{id:e,order:t.order||e+1,ip:1===t.type?t.ip:p(t.type),enabled:t.enabled}})),d.nextId=d.ipv6Addresses.length,d.tableParams.settings({dataset:
552d.ipv6Addresses}),d.checkboxes.reset(),d.tableParams.reload(),d.initialized=!0,e.$emit("smtp-out-ipv6-count-updated",d.ipv6Addresses.length)}),r.report)}function p(t){switch(t){case 0:return 0;case 2:return 2;case 3:return 3;default:return""}}function c(){v(null,e.pageForm||{})}function v(n,s){var a=d.ipv6Addresses.map((function(t){var e={order:t.order,skip:t.skip||!1,permanentlySkipped:t.permanentlySkipped||!1};return 0===t.ip||2===t.ip||3===t.ip?(e.type=t.ip,e.ip=""):(e.type=1,e.ip=t.ip),e}));if(e.settings){var o={globalMailSettings:{deliverySettings:{outboundDeliveryIPv6List:a,outboundDeliveryBindingIPv6:e.settings.deliverySettings.outboundDeliveryBindingIPv6,defaultOutboundDeliveryBindingIPv6:e.settings.deliverySettings.defaultOutboundDeliveryBindingIPv6}}};t.spinner.show(),i.post("~/api/v1/settings/sysadmin/global-mail/",o).then((function(){s&&s.$setPristine&&s.$setPristine();u()}),r.report).finally(t.spinner.hide)}}d.initialized=!1,d.ipv6Addresses=[],d.availableIps=[],d.skipNavigateConfirm=!1,d.nextId=0,d.isRotationDisabled=!1,d.tableParams=new a({sorting:{order:"asc"},count:25},{dataset:[],counts:t.commonTableCounts}),d.checkboxes=o.init("id"),d.checkboxes.table=d.tableParams,d.hasIpv6Addresses=function(){return d.ipv6Addresses&&d.ipv6Addresses.length>0},d.addNewIp=function(){n.show({controller:"addIpAddressCtrl",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/smtp-out/modals/add-ip-address.dlg.html",locals:{ipOptions:d.ipRotateOptions,addressFamily:23}}).then((function(t){if(null!=t){var e=d.ipv6Addresses.length+1;d.ipv6Addresses.push({id:d.nextId++,order:e,ip:t,enabled:!0}),d.tableParams.reload(),c()}}))},d.canAddIp=function(){return d.ipRotateOptions&&d.ipRotateOptions.length>0},d.save=v,d.getIpDisplayName=function(t){return null==t?"":"primary"===t?s("translate")("USE_PRIMARY_IP_ON_NIC"):"domain"===t?s("translate")("USE_THE_DOMAINS_IP"):"disable"===t?s("translate")("DISABLE"):t},d.setHigherPriority=function(t){if(1===t.order)return;var e=d.ipv6Addresses.indexOf(t);if(e>0){var i=d.ipv6Addresses[e-1];d.ipv6Addresses[e-1]=t,d.ipv6Addresses[e]=i,t.order=e,i.order=e+1,d.tableParams.reload(),c()}},d.setLowerPriority=function(t){if(t.order===d.tableParams.total())return;var e=d.ipv6Addresses.indexOf(t);if(e<d.ipv6Addresses.length-1){var i=d.ipv6Addresses[e+1];d.ipv6Addresses[e+1]=t,d.ipv6Addresses[e]=i,t.order=e+2,i.order=e+1,d.tableParams.reload(),c()}},d.markDirty=function(){e.pageForm&&e.pageForm.$setDirty()},d.removeIp=function(t){var e=d.ipv6Addresses.indexOf(t);if(e>-1){d.ipv6Addresses.splice(e,1);for(var i=0;i<d.ipv6Addresses.length;i++)d.ipv6Addresses[i].order=i+1;d.tableParams.reload(),c()}},d.deleteCheckedItems=function(t){var e=d.checkboxes.getCheckedItems();if(!e||!e.length)return;var i=n.confirmDeletion().textContent(l.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:e.length})).targetEvent(t);n.show(i).then((function(){var t=e.map((function(t){return parseInt(t,10)}));d.ipv6Addresses=d.ipv6Addresses.filter((function(e){return-1===t.indexOf(e.id)}));for(var i=0;i<d.ipv6Addresses.length;i++)d.ipv6Addresses[i].order=i+1;d.checkboxes.reset(),d.tableParams.reload(),c()}),(function(){}))},u()}t.$inject=["$rootScope","$scope","$http","$mdDialog","$filter","errorHandling","NgTableParams","gridCheckboxes","i18n"],angular.module("smartermail").controller("adminSettingsSmtpOutIpv6AddressesController",t)}(),function(){"use strict";function t(t,e,i,n,s,r,a,o,l){var d=this;function u(){i.get("~/api/v1/settings/sysadmin/global-mail").then((function(t){e.settings=angular.copy(t.data.globalMailSettings);var i=e.settings.deliverySettings.ipRotationSettings||{rblCheckProviders:[]};d.isRblDisabled=!i.rblEnabled,d.rblProviders=(i.rblCheckProviders||[]).map((function(t,e){return{id:e,host:t.host||"",ipsToMatch:t.ipsToMatch||"*"}})),d.tableParams.settings({dataset:d.rblProviders}),d.checkboxes.reset(),d.tableParams.reload(),d.initialized=!0,e.$emit("smtp-out-rbl-count-updated",d.rblProviders.length)}))}function p(t,e){function i(){n.show({locals:{orig:angular.copy(t)},controller:"smtpOutRblProviderCtrl",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/smtp-out/modals/rbl-provider.dlg.html",targetEvent:e}).then(r,(function(){}))}function r(r){if(r.itemsToRemove){var a=n.confirmDeletion().textContent(s("translate")("CONFIRMATIONS_DELETE_ITEMS_one")).targetEvent(e);n.show(a).then((function(){var e=d.rblProviders.indexOf(t);e>-1&&(d.rblProviders.splice(e,1),c())}),i)}else t.host=r.host,t.ipsToMatch=r.ipsToMatch,c()}t&&i()}function c(){var e={globalMailSettings:{deliverySettings:{ipRotationSettings:{rblCheckProviders:d.rblProviders.map((function(t){return{host:t.host,ipsToMatch:t.ipsToMatch}}))}}}};t.spinner.show(),i.post("~/api/v1/settings/sysadmin/global-mail/",e).then((function(){u()}),r.report).finally(t.spinner.hide)}d.initialized=!1,d.rblProviders=[],d.searchText=null,d.isRblDisabled=!1,d.tableParams=new a({sorting:{host:"asc"},count:25,filter:{}},{dataset:[],counts:t.commonTableCounts}),d.checkboxes=o.init("id"),d.checkboxes.table=d.tableParams,d.newItem=function(t){n.show({locals:{orig:angular.copy({host:"",ipsToMatch:"*",new:!0})},controller:"smtpOutRblProviderCtrl",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/smtp-out/modals/rbl-provider.dlg.html",targetEvent:t}).then((function(t){d.rblProviders.push({id:d.rblProviders.length,host:t.host,ipsToMatch:t.ipsToMatch}),c()}),(function(){}))},d.editItem=p,d.contextMenuGridItem=function(t,e){3!==e.which&&2!==e.button||(e.preventDefault(),p(t,e))},d.deleteCheckedItems=function(t){var e=d.checkboxes.getCheckedItems();if(!e||!e.length)return;var i=n.confirmDeletion().textContent(l.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:e.length})).targetEvent(t);n.show(i).then((function(){var t=e.map((function(t){return parseInt(t,10)}));d.rblProviders=d.rblProviders.filter((function(e){return-1===t.indexOf(e.id)})),c()}),(function(){}))},d.modifyItems=function(t){var e=d.checkboxes.getCheckedItems();if(!e||!e.length)return;if(1===e.length){var i=d.rblProviders.find((function(t){return t.id===parseInt(e[0],10)}));return void(i&&p(i,t))}n.show({locals:{selectedCount:e.length},controller:"modifyRblProvidersCtrl",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/smtp-out/modals/modify-rbl-providers.dlg.html",targetEvent:t}).then((function(t){e.forEach((function(e){var i=d.rblProviders.find((function(t){return t.id===parseInt(e,10)}));i&&t.ipsToMatch&&(i.ipsToMatch=t.ipsToMatch)})),c()}),(function(){}))},d.resetToDefaults=function(t){var e=[{host:"dnsbl-1.uceprotect.net",ipsToMatch:"*"},{host:"ips.backscatterer.org",ipsToMatch:"127.0.0.2"},{host:"hostkarma.junkemailfilter.com ",ipsToMatch:"127.0.0.2,127.0.0.4"}],i=n.confirmDeletion().textContent(s("translate")("CONFIRM_RESET_RBL_TO_DEFAULTS")).ok(s("translate")("RESET")).targetEvent(t);n.show(i).then((function(){d.rblProviders=e,c()}),(function(){}))},d.searchItems=function(){d.checkboxes.reset(),d.tableParams.filter({$:d.searchText}),d.tableParams.reload()},u()}t.$inject=["$rootScope","$scope","$http","$mdDialog","$filter","errorHandling","NgTableParams","gridCheckboxes","i18n"],angular.module("smartermail").controller("adminSettingsSmtpOutRblsController",t)}();
553!function(){"use strict";function e(e,t,s,n,a,i,r,o,c,l,d,m){var u=this;u.initialized=!1,u.searchText=null,u.items=[],u.tableParams=new l({sorting:{StatusSort:"asc"},count:25},{getData:function(e){var t=(e.page()-1)*e.count(),s=Number(e.count()),a=u.searchText?u.searchText.toLowerCase():"",i=null,c=!1;
553for(var l in e.sorting())if(e.sorting().hasOwnProperty(l)&&e.sorting()[l]){i=l,c="desc"===e.sorting()[l];break}return b=!0,r.spinner.show(),n.get("~/api/v1/settings/sysadmin/acme-certificates/"+i+"/"+c).then((function(e){u.items=e.data.certificates||[],u.acme_enabled=e.data.acme_enabled||!1,u.initialized=!0;let n=!1;for(var i in u.items)null!=i.renewsUtc&&(n=!0),null!=i.expires_utc&&(i.expires_utc=new Date(i.expires_utc));u.renewSort=n?"renews_utc":null;u.checkboxes.reset(),u.tableParams.total(u.items.length),a&&(u.items=_.filter(u.items,(function(e){return!(!e.hostname||-1===e.hostname.toLowerCase().indexOf(a))})),u.tableParams.total(u.items.length));return u.items.slice(t,t+s)}),o.report).finally((()=>{r.spinner.hide(),b=!1}))},counts:r.commonTableCounts}),u.checkboxes=d.init("guid"),u.checkboxes.table=u.tableParams,u.renewSort="";var b=!1;u.searchItems=function(){p()},u.editItem=async function(e,n){try{(await t.show({locals:{options:{acmeCertificate:e}},controller:"systemSslAcmeModalController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/ssl-certificates/modals/acme.dlg.html",targetEvent:n})).delete&&await async function(){try{const e=t.confirmDeletion().title(s.instant("CONFIRMATION_REQUIRED")).textContent(s.instant("CONFIRMATIONS_DELETE_ITEMS_one"));await t.show(e)}catch(e){return}}()}catch(e){}finally{p()}},u.disableItems=y,u.enableItems=w,u.revalidateItems=C,u.contextMenuGridItem=function(t,s){if(!s||"touchstart"!==s.type&&"touchend"!==s.type&&3!==s.which||t.criticallyErrored)return;s.stopPropagation(),s.preventDefault();var n=u.checkboxes.getCheckedItems();(n.length>1&&!_.some(n,(function(e){return e===t.guid}))||n.length<=1)&&(u.checkboxes.reset(),u.checkboxes.checkCheckbox(s,t),n=[t.guid]);u.refreshMenuActions(),e.dropdownEvent=$.extend(!0,{},s),e.dropdownOptions=[{key:"disableItems",click:y,params:e.dropdownEvent,translateKey:"DISABLE",disabled:u.disableDisabled},{key:"enableItems",click:w,params:e.dropdownEvent,translateKey:"ENABLE",disabled:u.enableDisabled},{key:"resolveConflicts",click:C,params:e.dropdownEvent,translateKey:"RESOLVE_CONFLICTS",disabled:u.disableDisabled},{key:"renewNow",click:g,params:e.dropdownEvent,translateKey:"ACME_RENEW_CERTIFICATE_NOW",disabled:u.disableDisabled}];var a=$("#context-menu-area");if(a){var r=i('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);a.append(r)}};let h=_.debounce(p,2e3,!1);function p(){b||(u.checkboxes.reset(),u.tableParams.reload())}async function f(e,t){var s=u.checkboxes.getCheckedItems();if(angular.isArray(s)&&!(s.length<1))try{r.spinner.show(),await n.post("~/api/v1/settings/sysadmin/acme-cert-disable",JSON.stringify({acmeGuids:s,shouldDisable:!t})),h(),c.report("SUCCESS")}catch(e){o.report(e)}finally{r.spinner.hide()}}async function g(e){var t=u.checkboxes.getCheckedItems();if(angular.isArray(t)&&!(t.length<1))try{r.spinner.show(),await n.post("~/api/v1/settings/sysadmin/renew-certificates-now",JSON.stringify({acmeGuids:t})),c.report("SUCCESS")}catch(e){o.report(e)}finally{r.spinner.hide()}}async function y(e){f(0,!1)}async function w(e){f(0,!0)}async function C(e){var t=u.checkboxes.getCheckedItems();if(angular.isArray(t)&&!(t.length<1))try{r.spinner.show(),await n.post("~/api/v1/settings/sysadmin/acme-cert-revalidate",JSON.stringify({acmeGuids:t})),c.report("ACME_RESOLVE_CONFLICTS")}catch(e){o.report(e)}finally{r.spinner.hide()}}u.disableDisabled=!0,u.enableDisabled=!0,u.resolveDisabled=!0,u.renewItems=g,u.refreshMenuActions=function(){var e=u.checkboxes.getCheckedItems(),t=u.items.filter((t=>e.includes(t.guid)));u.disableDisabled=!e||!t.some((e=>1!==e.combined_status)),u.enableDisabled=!e||!t.some((e=>1===e.combined_status)),u.resolveDisabled=u.disableDisabled||!e||t.every((e=>1===e.combined_status||4===e.combined_status))},e.$on("signalR.mailHub.client.acmeCertsChanged",(()=>h()))}e.$inject=["$scope","$mdDialog","$translate","$http","$filter","$compile","$rootScope","errorHandling","successHandling","NgTableParams","gridCheckboxes","i18n"],angular.module("smartermail").controller("systemAcmeCertificatesListController",e)}();
554!function(){"use strict";function e(e,t,n,s,r,a,i,o,l,c,m){var d=this;d.isHA=window.stHA,d.initialized=!1,d.searchText=null,d.items=[],d.tableParams=new l({sorting:{StatusSort:"asc"},count:25},{getData:function(e){var t=(e.page()-1)*e.count(),n=Number(e.count()),r=d.searchText?d.searchText.toLowerCase():"",i=null,l=!1;for(var c in e.sorting())if(e.sorting().hasOwnProperty(c)&&e.sorting()[c]){i=c,l="desc"===e.sorting()[c];break}return a.spinner.show(),s.get("~/api/v1/settings/sysadmin/ssl-certificates/"+i+"/"+l).then((function(e){d.items=e.data.certificates||[],d.initialized=!0;let s=!1;for(var a in d.items)null!=a.renewsUtc&&(s=!0),null!=a.expiresUtc&&(a.expiresUtc=new Date(a.expiresUtc));d.renewSort=s?"renewsUtc":null;d.checkboxes.reset(),d.tableParams.total(d.items.length),r&&(d.items=_.filter(d.items,(function(e){if(e.filename&&-1!==e.filename.toLowerCase().indexOf(r))return!0;for(let t=0;t<e.hostnames.length;t++){let n=e.hostnames[t];if(n&&-1!==n.toLowerCase().indexOf(r))return!0}return!1})),d.tableParams.total(d.items.length));return d.items.slice(t,t+n)}),o.report).finally(a.spinner.hide)},counts:a.commonTableCounts}),d.checkboxes=c.init("filename"),d.checkboxes.table=d.tableParams,d.searchItems=function(){u()},d.editItem=async function(e,r){try{(await t.show({locals:{options:{sslCertificate:e}},controller:"systemSslCertificateModalController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/ssl-certificates/modals/certificate.dlg.html",targetEvent:r})).delete&&await async function(e){try{const e=t.confirmDeletion().title(n.instant("CONFIRMATION_REQUIRED")).textContent(n.instant("CONFIRMATIONS_DELETE_ITEMS_one")+" "+n.instant("SSL_TLS_DELETE_ADDITIONAL_WARNING"));await t.show(e)}catch(e){return}try{a.spinner.show(),await s.post("~/api/v1/settings/sysadmin/ssl-cert-delete",JSON.stringify({certFilenames:[e.filename]})),f()}catch(e){o.report(e)}finally{a.spinner.hide()}}(e)}catch(e){}finally{u()}},d.uploadCertificate=async function(e){try{await t.show({controller:"systemSslUploadCertModalController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/ssl-certificates/modals/upload-cert.dlg.html",targetEvent:e})}catch(e){}finally{u()}},d.contextMenuGridItem=function(t,n){if(!n||"touchstart"!==n.type&&"touchend"!==n.type&&3!==n.which||t.criticallyErrored)return;n.stopPropagation(),n.preventDefault();var s=d.checkboxes.getCheckedItems();(s.length>1&&!_.some(s,(function(e){return e===t.filename}))||s.length<=1)&&(d.checkboxes.reset(),d.checkboxes.checkCheckbox(n,t),s=[t.filename]);e.dropdownEvent=$.extend(!0,{},n),e.dropdownOptions=[{key:"deleteItems",click:deleteItems,params:e.dropdownEvent,translateKey:"DELETE"}];var r=$("#context-menu-area");if(r){var a=i('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(e);r.append(a)}};let f=_.debounce(u,500,!1);function u(){d.checkboxes.reset(),d.tableParams.reload()}e.$on("signalR.mailHub.client.sslCertsChanged",(()=>f()))}e.$inject=["$scope","$mdDialog","$translate","$http","$filter","$rootScope","$compile","errorHandling","NgTableParams","gridCheckboxes","i18n"],angular.module("smartermail").controller("systemSslCertificatesListController",e)}();
555!function(){"use strict";function t(t,e,i,n,s,a,r,o,c,g,l,m,h,f,S){var u=this,d=S.create(e);async function p(){try{var i=[s.get("~/api/v1/settings/sysadmin/global-mail").then((function(t){e.settings=angular.copy(t.data.globalMailSettings),u.settings=e.settings,u.originalCertificatesPath=u.settings.pathSettings.certificatesPath,u.wasAcmeEnabledBefore=u.settings.acmeSettings.isEnabled,u.accountRateLimited=u.settings.acmeSettings.accountRateLimited,u.settings.acmeSettings.newCertStorePw=u.settings.acmeSettings.isCertStorePwSet?"************":"",u.hostnamePrefixesAsText=u.settings.acmeSettings.hostnamePrefixes.sort().join("\n"),u.settings.acmeSettings.keyAlgorithm=u.settings.acmeSettings.keyAlgorithm??0}),g.report),s.get("~/api/v1/settings/domain/country-codes").then((function(t){u.countries=[],angular.forEach(t.data.results,(function(t){u.countries.push({key:t,translation:r.instant("COUNTRY_CODE_"+t)})}))}),g.report)];t.spinner.show(),await Promise.all(i)}catch(t){g.report(t)}finally{u.pageForm.$setPristine(),u.pageForm.$setUntouched(),u.pageForm.$setSubmitted(),t.spinner.hide(),u.loading=!1,d.wait((function(){u.contentReady=!0})),e.$applyAsync()}}function E(t,e){switch(t){case 1:let t=r.instant("LETS_ENCRYPT");u.acmeTosTitle=r.instant("VIEW_TERMS_OF_SERVICE_X",{x:t});break;
555case 2:let e=r.instant("PEBBLE");u.acmeTosTitle=r.instant("VIEW_TERMS_OF_SERVICE_X",{x:e});break;default:u.acmeTosTitle=r.instant("VIEW_TERMS_OF_SERVICE")}}u.countrySearch="",u.settings={},u.hostnamePrefixesAsText="",u.loading=!0,u.contentReady=!1,u.save=async function(n,a){if(a.$invalid||a.$pending)return void g.report("CORRECT_INVALID_FIELDS");if(u.originalCertificatesPath!=u.settings.pathSettings.certificatesPath)try{const t=i.confirm({title:r.instant("CONFIRMATION_REQUIRED"),textContent:r.instant("SSL_TLS_CONFIRM_DIRECTORY_CHANGE"),ok:r.instant("OK"),cancel:r.instant("CANCEL")});await i.show(t)}catch(t){return void e.$applyAsync((()=>u.settings.pathSettings.certificatesPath=u.originalCertificatesPath))}try{t.spinner.show(),u.settings.acmeSettings.hostnamePrefixes=u.hostnamePrefixesAsText.split("\n");var o=JSON.stringify({globalMailSettings:{acmeSettings:u.settings.acmeSettings,pathSettings:{certificatesPath:u.settings.pathSettings.certificatesPath}}});if(await s.post("~/api/v1/settings/sysadmin/global-mail",o),u.originalCertificatesPath=u.settings.pathSettings.certificatesPath,a.$setPristine(),!u.wasAcmeEnabledBefore&&u.settings.acmeSettings.isEnabled){o=JSON.stringify({});await s.post("~/api/v1/settings/sysadmin/acme-certificates/refresh",o),u.wasAcmeEnabledBefore=!0}t.$broadcast("system-settings:changed"),t.$broadcast("signalR.mailHub.client.acmeCertsChanged")}catch(t){g.report(t)}finally{t.spinner.hide(),p()}},u.validate=function(t){o((function(){!function(t){t.$invalid&&t.$error.required.forEach((t=>{t.$setTouched()}))}(t)}),100)},u.doCancel=function(t,e){if(!e.$dirty)return;i.show(i.confirmRevertChanges().targetEvent(t)).then((function(){p(),e.$setPristine()}),(function(){}))},u.openAcmeTos=function(){var t=stSiteRoot+"acme-tos/"+u.settings.acmeSettings.provider;window.open(t,"acme_tos")},u.clearSearchTerm=function(){u.countrySearch=""},u.filterCountrySearch=function(t){return t.translation.toLowerCase().startsWith(u.countrySearch.toLowerCase())||t.key.toLowerCase().startsWith(u.countrySearch.toLowerCase())},u.acmeTosTitle=r.instant("VIEW_TERMS_OF_SERVICE"),e.$watch("settings.acmeSettings.provider",E),p(),e.$on("masonry:loaded",(function(){u.pageForm.$setPristine()}))}t.$inject=["$rootScope","$scope","$mdDialog","$q","$http","$state","$translate","$timeout","coreLicensing","errorHandling","successHandling","popupService","preferencesStorage","claimsService","masonryReveal"],angular.module("smartermail").controller("systemSslCertificateOptionsController",t)}();
556!function(){"use strict";function e(e,n,t,i,o,c,s,a,l){var r=this;r.ready=!1,r.gridSections=[{translate:"OPTIONS",length:-1},{translate:"CERTIFICATES",length:0},{translate:"AUTOMATIC_CERTIFICATES",length:0}],r.selectedSection="OPTIONS",r.changeSection=function(e){a.doConfirmDialog?a.doConfirmDialog().then((function(){a.doConfirmDialog=void 0,r.selectedSection=e}),(function(){})):r.selectedSection=e};let g=_.debounce(d,500,!1);function d(){c.spinner.show(),i.get("~/api/v1/settings/sysadmin/ssl-certificate-counts").then((function(e){r.counts=e.data,r.gridSections[1].length=r.counts.certificateCount,r.gridSections[2].length=r.counts.acmeCount,r.ready=!0}),s.report).finally(c.spinner.hide)}d(),e.$on("signalR.mailHub.client.sslCertsChanged",(()=>g())),e.$on("signalR.mailHub.client.acmeCertsChanged",(()=>g()))}e.$inject=["$scope","$mdDialog","$timeout","$http","$filter","$rootScope","errorHandling","unsavedChangesTrackingService","claimsService"],angular.module("smartermail").controller("systemSslCertificatesController",e)}();
557!function(){"use strict";function e(e,t,o,n,c,r,a,i,s,d,p){function u(){var t=document.getElementById("qrcode");t?new QRCode(t,{text:e.qrUrl,width:150,height:150}):setTimeout(u,150)}function f(t,n){if(!n.$invalid){var c=1==e.type?"email":"rfc6238";o.post("~/api/v1/settings/user-check-two-factor-code/"+e.checkCode,{secret:e.secretKey||"",type:c}).then((function(o){!0===o.data.result?(e.hasVerifiedCode=!0,e.codeError=!1,l(t,n)):(e.hasVerifiedCode=!1,e.codeError=!0)}),a.report)}}function l(n,c){c.$invalid||o.post("~/api/v1/settings/user-set-two-factor-secret",{secret:e.secretKey,type:1==e.type?"email":"rfc6238",code:e.checkCode}).then((function(){t.hide({key:e.secretKey,type:e.type,enabled:!0,configured:!0})}),(function(e){t.hide({failure:e})}))}e.step=-1,e.secretKey="",e.qrUrl="",e.type=2,e.checkCode="",e.codeError=!1,e.hasVerifiedCode=!1,e.tfCantScan=!1,e.tfConfirmRecoveryMail="",e.tfUsername=d,e.twoFactorSetupTypes=s,e.save=l,e.cancel=function(){t.cancel()},e.nextStep=function(t,n){if(n.$invalid)return;e.codeError=!1,-1==e.step?2==e.type?o.post("~/api/v1/settings/user-generate-two-factor/rfc6238").then((function(t){var o,n,r;e.secretKey=t.data.clientSecret,e.qrUrl=(o=t.data.clientSecret,n=t.data.accountName,r=t.data.issuer,"otpauth://totp/"+encodeURIComponent((r||"")+":"+(n||""))+"?secret="+encodeURIComponent(o||"")+"&issuer="+encodeURIComponent(r||"")),u(),e.step=0,c((function(){$("input[name=checkFactorCode]").trigger("focus")}))}),(function(e){a.report(e)})):o.post("~/api/v1/settings/user-generate-two-factor/email").then((function(t){e.secretKey=t.data.clientSecret,e.step=1,c((function(){$("input[name=checkFactorCodeMail]").trigger("focus")}))}),(function(e){a.report(e)})):0!=e.step||1===e.type||e.hasVerifiedCode?(0==e.step&&1!==e.type&&e.hasVerifiedCode||1==e.step)&&(e.step=2):f(t,n)},e.backStep=function(t,o){e.hasVerifiedCode=!1,e.codeError=!1,e.checkCode="",0==e.step?e.tfCantScan?(e.tfCantScan=!1,c((function(){$("input[name=checkFactorCode]").trigger("focus")}))):(e.qrUrl="",e.secretKey="",$("#qrcode").empty(),e.step=-1):1==e.step&&1===e.type?e.step=-1:1==e.step&&1!==e.type&&(e.step=0)},e.checkTwoFactorCode=f,e.copySecretKey=function(e,t){var o=$("#copy-key")[0],n=document.createRange();n.selectNode(o),window.getSelection().removeAllRanges(),window.getSelection().addRange(n),document.execCommand("copy"),window.getSelection().removeAllRanges(),i.report(r.instant("COPIED_TO_CLIPBOARD"))},e.cantScan=function(){e.tfCantScan=!0,c((function(){$("input[name=checkFactorCode]").trigger("focus")}))},function(){for(var t=!1,o=0;o<s.length;++o)if(2===s[o].value){t=!0;break}t||(e.type=1)}()}e.$inject=["$scope","$mdDialog","$http","$q","$timeout","$translate","errorHandling","successHandling","twoFactorSetupTypes","username","authStorage"],angular.module("smartermail").controller("adminTwoFactorController",e)}();
558!function(){"use strict";function i(i,t,n,e,o,r){var s=this;s.isHighAvailability=window.stHA||!1,s.gridSections=[{translate:"ADMINISTRATORS",length:0}],s.isHighAvailability||s.gridSections.push({translate:"SYSADMIN_SECURITY_PASSWORD_REQUIREMENTS",length:-1}),s.selectedSection="ADMINISTRATORS",s.changeSection=function(i){r.doConfirmDialog?r.doConfirmDialog().then((function(){r.doConfirmDialog=void 0,s.selectedSection=i}),(function(){})):s.selectedSection=i},n.get("~/api/v1/settings/sysadmin/logincount").then((function(i){s.gridSections[0].length=i.data.result}),o.report)}i.$inject=["$rootScope","$scope","$http","$filter","errorHandling","unsavedChangesTrackingService"],angular.module("smartermail").controller("sysAdminSecurityAdministratorsController",i)}();
559!function(){"use strict";function s(s,a,o,e,n,r,d,t){const i=this;i.username=t,i.isMe=d,i.oldPassword="",i.newPassword="",i.confirmPassword="",i.save=function(){i.newPassword&&i.confirmPassword&&i.newPassword===i.confirmPassword&&o.post("~/api/v1/settings/sysadmin/sysadmins/change-password",JSON.stringify({username:i.username,oldPassword:i.oldPassword,password:i.newPassword})).then((function(s){s.data&&s.data.accessToken&&s.data.refreshToken&&r.saveToken(s.data,!1,"sysAdm
559insEditPasswordDialogController.onSuccess()");a.hide()}),(function(a){a.data.message.indexOf("PASSWORD_RESET_REQUIRE")>-1?(i.fullChecks=!0,s.$broadcast("passwordCheckCallback",a)):n.report(a)}))},i.cancel=function(){a.cancel()}}s.$inject=["$scope","$mdDialog","$http","$filter","errorHandling","authStorage","isMe","username"],angular.module("smartermail").controller("sysAdminsEditPasswordDialogController",s)}();
560!function(){"use strict";function i(i,n,e){i.isValid=!0,i.isNew=null===e,i.info=$.extend({},e||{}),i.description=i.info.description||"",i.address=i.info.address||"",i.save=function(){if(i.ipRestrictionForm.$valid){var e={description:i.description,address:i.address};n.hide({info:e})}else i.isValid=!1},i.delete=function(){n.hide({info:null})},i.cancel=function(){n.cancel()}}i.$inject=["$scope","$mdDialog","info"],angular.module("smartertools").controller("ipRestrictionModalController",i)}();
561!function(){"use strict";function i(i,n,t,s,e,a,o,r){const l=this;function d(){i.spinner.show(),t.get("~/api/v1/settings/sysadmin/global-mail").then((function(i){l.passwordSettings=i.data.globalMailSettings.sysAdminPasswordRules}),(function(){})).finally(i.spinner.hide)}l.save=function(s,e){if(e.$invalid)return void o.report("CORRECT_INVALID_FIELDS");var a=JSON.stringify({globalMailSettings:{sysAdminPasswordRules:l.passwordSettings}});i.spinner.show(),t.post("~/api/v1/settings/sysadmin/global-mail",a).then((function(){n.$emit("admin-password-update-count"),e.$setPristine()}),o.report).finally(i.spinner.hide)},l.doCancel=function(i,n){if(!n.$dirty)return;a.show(a.confirmRevertChanges().targetEvent(i)).then((function(){d(),n.$setPristine()}),(function(){}))},l.isHighAvailability=window.stHA||!1,l.canEdit=!l.isHighAvailability&&r.isPrimarySysAdmin(),function(){if(l.isHighAvailability)return void d();l.canEdit?d():t.get("~/api/v1/settings/sysadmin/logins").then((function(i){const n=i.data.systemLogins.find((i=>i.username.toLowerCase()===r.getUsername().toLowerCase()));n&&(l.canEdit=n.manageAdmins),d()}),o.report)}()}i.$inject=["$rootScope","$scope","$http","$filter","$state","$mdDialog","errorHandling","claimsService"],angular.module("smartermail").controller("sysAdminSecuritySysAdminPassSettingsController",i)}();
562!function(){"use strict";function e(e,s,n,i,r,t,a,o,l,c,m,d,u,A,p,I,g){var P=this;function w(){e.spinner.show(),r.get("~/api/v1/settings/sysadmin/global-mail").then((function(e){return P.serverSettings=e.data.globalMailSettings.serverSettings,r.get("~/api/v1/settings/sysadmin/logins")})).then((function(e){var s=$.grep(e.data.systemLogins,(function(e){return R(e.username,d.getUsername())}))[0];if(P.systemDefaultLocaleId=e.data.defaultLocaleID||"en",P.currentUserIsClusterAdmin=s.isClusterAdmin,function(e){null===e?(P.currentUserImpersonationPermissions=!1,P.currentUserPasswordsInAPIPermissions=!1,P.currentUserIpAccessRestrictionPermissions=!1,P.currentUserManageAdminsPermissions=!1):e.isPrimaryAdmin||e.isClusterAdmin?(P.currentUserIsPrimaryAdmin=!0,P.currentUserImpersonationPermissions=!0,P.currentUserPasswordsInAPIPermissions=!0,P.currentUserIpAccessRestrictionPermissions=!0,P.currentUserManageAdminsPermissions=!0,P.currentUserIsClusterAdmin=e.isClusterAdmin):(P.currentUserImpersonationPermissions=e.allowImpersonation,P.currentUserPasswordsInAPIPermissions=e.allowPasswordsInAPI,P.currentUserIpAccessRestrictionPermissions=e.enableIpAccessRestriction,P.currentUserManageAdminsPermissions=e.manageAdmins)}(s),P.isNew)P.isReadOnly=!s||!s.manageAdmins,P.user.username="",P.user.allowImpersonation=P.currentUserIsPrimaryAdmin||P.currentUserImpersonationPermissions,P.user.manageAdmins=P.currentUserIsPrimaryAdmin||P.currentUserManageAdminsPermissions,P.canManage=!P.isReadOnly,P.displayName=n("translate")("NEW"),P.isOptionsChanged=!0,P.onOptionsCancel(),P.forceTwoFactorAuth=!0,P.enableTwoFactorAuth=!1,P.isNew=!0,P.isEnabled=!0,P.twoFactorSetComplete=!1;else{var i=$.grep(e.data.systemLogins,(function(e){return R(e.username,P.editingUsername)}));i.length>0?(P.user=angular.copy(i[0]),!P.user.isPrimaryAdmin&&!P.user.isClusterAdmin||P.currentUserIsPrimaryAdmin||(P.currentUserImpersonationPermissions=!1,P.currentUserPasswordsInAPIPermissions=!1,P.currentUserIpAccessRestrictionPermissions=!1,P.currentUserManageAdminsPermissions=!1),(P.user.isPrimaryAdmin||P.user.isClusterAdmin)&&(P.user.allowPasswordsInAPI=!0,P.user.allowImpersonation=!0,P.user.manageAdmins=!0,P.primaryDisable=!0),P.forceTwoFactorAuth=P.user.forceTwoFactorAuth,P.enableTwoFactorAuth=P.user.enableTwoFactorAuth,P.twoFactorSetComplete=P.user.twoFactorSetComplete,P.isReadOnly=!s||(!d.isPrimarySysAdmin()&&P.user.isPrimaryAdmin||!s.manageAdmins)||P.user.isClusterAdmin,P.canManage=!P.isReadOnly,P.displayName=P.user.username,P.isNew=!1,P.isOptionsChanged=!0,P.isEnabled=P.user.enabled,P.onOptionsCancel()):c.go("^")}P.initialized=!0}),u.report).finally(e.spinner.hide);for(var s=0;s<angularLangNames.length;s++){var i={n:angularLangNames[s].n,v:angularLangNames[s].v,engName:I.getEnglishName(angularLangNames[s].v)};P.availableLocales.push(i)}P.localeId=P.localeId||P.systemDefaultLocaleId}function f(e){P.isReadOnly&&!P.isMe||i.show({locals:{username:d.getUsername(),twoFactorSetupTypes:[{value:2,translation:"AUTHENTICATION_APP"}]},controller:"adminTwoFactorController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/system-administrators/
562admin-setup-two-factor.dlg.html"}).then((function(e){e.failure?u.report(failure):(P.twoFactorSetComplete=e.configured,P.enableTwoFactorAuth=e.enabled,w())}),(function(e){}))}function R(e,s){return e.toUpperCase()===s.toUpperCase()}function y(e,s){return i.show({locals:{info:e},controller:"ipRestrictionModalController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/system-administrators/ip-restriction.dlg.html",targetEvent:s})}function C(s){e.spinner.show(),P.isNew?l.addSystemAdministrator(s,P.confirmPassword).then(U,(function(s){s.data.message.indexOf("PASSWORD_RESET_REQUIRE")>-1?e.$broadcast("passwordCheckCallback",s):u.report(s)})).finally(e.spinner.hide):l.editSystemAdministrator(s,P.confirmPassword).then(U,u.report).finally(e.spinner.hide)}function U(){s.pageForm.langSelection.$dirty&&P.username===d.getUsername()&&(I.setLocale(P.localeId),sessionStorage.removeItem("locale.oneTime")),s.pageForm.$setPristine(),c.go("^")}P.editingUsername=m.username,P.isNew=1==m.isNew,P.meetsReq=!1,P.user={},P.newPassword="",P.confirmPassword="",P.isOptionsChanged=!1,P.isReadOnly=!1,P.canManage=!1,P.isMe=!P.isNew&&R(d.getUsername(),P.editingUsername),P.initialized=!1,P.isEnabled=!1,P.availableLocales=[],P.systemDefaultLocaleId="en",P.currentUserImpersonationPermissions=!1,P.currentUserPasswordsInAPIPermissions=!1,P.currentUserIpAccessRestrictionPermissions=!1,P.currentUserManageAdminsPermissions=!1,P.currentUserIsPrimaryAdmin=!1,P.currentUserIsClusterAdmin=!1,P.primaryDisable=!1,P.editUserImpersonationPermissions=!1,P.editUserPasswordsInAPIPermissions=!1,P.editUserIpAccessRestrictionPermissions=!1,P.editUserManageAdminsPermissions=!1,P.addRestriction=function(e,n){if(P.isReadOnly)return;y(null,e).then((function(e){var n=angular.copy(P.ipAccessRestrictions);n.push(e.info);P.allowImpersonation,P.allowPasswordsInAPI,P.dateCreated,P.description,P.enableIpAccessRestriction,P.id,P.isPrimaryAdmin,P.username,P.manageAdmins,P.isEnabled;P.ipAccessRestrictions.push(e.info),s.pageForm.$setDirty()}),(function(){}))},P.editRestriction=function(e,n){if(P.isReadOnly)return;y(e,n).then((function(n){if(n.info){e.type=n.info.type,e.description=n.info.description,e.address=n.info.address}else{var i=P.ipAccessRestrictions.indexOf(e);i>-1&&P.ipAccessRestrictions.splice(i,1)}P.allowImpersonation,P.allowPasswordsInAPI,P.dateCreated,P.description,P.enableIpAccessRestriction,P.id,P.ipAccessRestrictions,P.isPrimaryAdmin,P.username,P.manageAdmins,P.isEnabled;s.pageForm.$setDirty()}),(function(){}))},P.onOptionsCancel=function(){var e=P.isOptionsChanged;P.isOptionsChanged=!1,P.allowImpersonation=P.user.allowImpersonation||!1,P.allowPasswordsInAPI=P.user.allowPasswordsInAPI||!1,P.dateCreated=P.user.dateCreated||null,P.description=P.user.isPrimaryAdmin?n("translate")(P.user.isClusterAdmin?"PRIMARY_CLUSTER_ADMINISTRATOR":"PRIMARY_ADMINISTRATOR"):P.user.description||"",P.enableIpAccessRestriction=P.user.enableIpAccessRestriction||!1,P.id=P.user.id||"",P.ipAccessRestrictions=P.user.ipAccessRestrictions||[],P.isPrimaryAdmin=P.user.isPrimaryAdmin||!1,P.isClusterAdmin=P.user.isClusterAdmin||!1,P.username=P.user.username||"",P.manageAdmins=P.user.manageAdmins||P.isPrimaryAdmin||P.isClusterAdmin,P.isEnabled=P.user.enabled,P.localeId=P.user.localeId||P.systemDefaultLocaleId,P.isNew||!1!==e||c.go("^")},P.save=function(e,s){if(P.isClusterAdmin)return;if(s.$invalid)return void u.report("CORRECT_INVALID_FIELDS");var n;n=P.isReadOnly&&P.isMe?{id:P.user.id,username:P.user.username,description:P.description,localeId:P.localeId}:P.isReadOnly?{allowImpersonation:P.user.allowImpersonation,allowPasswordsInAPI:P.user.allowPasswordsInAPI,dateCreated:P.user.dateCreated,enableIpAccessRestriction:P.user.enableIpAccessRestriction,id:P.user.id,ipAccessRestrictions:P.user.ipAccessRestrictions,isPrimaryAdmin:P.user.isPrimaryAdmin,username:P.user.username,manageAdmins:P.user.manageAdmins,description:P.description,enabled:P.user.isEnabled,localeId:P.localeId}:{allowImpersonation:P.allowImpersonation,allowPasswordsInAPI:P.allowPasswordsInAPI,dateCreated:P.dateCreated,description:P.description,enableIpAccessRestriction:P.enableIpAccessRestriction,id:P.id,ipAccessRestrictions:P.ipAccessRestrictions,isPrimaryAdmin:P.isPrimaryAdmin,username:P.username,manageAdmins:P.manageAdmins,enabled:P.isEnabled,localeId:P.localeId,forceTwoFactorAuth:P.forceTwoFactorAuth};if(!P.isMe||P.isPrimaryAdmin||P.allowImpersonation===P.currentUserImpersonationPermissions&&P.allowPasswordsInAPI===P.currentUserPasswordsInAPIPermissions&&P.enableIpAccessRestriction===P.currentUserIpAccessRestrictionPermissions&&P.manageAdmins===P.currentUserManageAdminsPermissions)C(n);else{let e=i.confirm({title:o.instant("WARNING"),textContent:o.instant("NEED_PRIMARY_ADMIN_TO_RE_ENABLE"),ok:o.instant("OK"),cancel:o.instant("CANCEL")});i.show(e).then((function(e){e&&C(n)}))}},P.openChangePassword=function(e){if(P.isReadOnly&&!P.isMe)return;i.show({locals:{isMe:P.isMe,username:P.editingUsername},controller:"sysAdminsEditPasswordDialogController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/system-administrators/change-password.dlg.html",targetEvent:e}).then(A.report,(function(){}))},P.setTwoFactor=function(e,s){var n=i.confirmDeletion({title:o.instant("CONFIRMATION_REQUIRED"),textContent:o.instant(s?"TWO_FACTOR_CONFIRM_ADMIN_RESET":"TWO_FACTOR_CONFIRM_ADMIN_DISABLE"),ok:s?o.instant("RESET"):o.instant("DISABLE"),cancel:o.instant("CANCEL")});i.show(n).then((function(e){r.post("~/api/v1/settings/sysadmin/set-two-factor/"+s,JSON.stringify({email:P.isMe?d.getUsername():P.editingUsername})).then((function(){P.twoFactorSetComplete=!1,P.enableTwoFactorAuth=s}),u.report)}))},P.setupTwoFactor=function(e){if(e.$dirty){var s=i.confirm({title:o.instant("UNSAVED_CHANGES"),textContent:o.instant("TWO_FACTOR_CONFIRM_UNSAVED"),ok:o.instant("UNDO_CHANGES"),cancel:o.instant("CANCEL")});
562i.show(s).then((function(s){P.skipNavigateConfirm=!0,P.reloadState(e),f(e)}),(function(){}))}else f(e)},P.allowImpersonationChanged=function(){P.allowImpersonation||(P.allowPasswordsInAPI=!1)},P.deleteSysAdmin=function(e,s){var t=i.confirmDeletion().textContent(n("translate")("CONFIRMATIONS_DELETE_ITEMS_one")).targetEvent(event);i.show(t).then((function(){return r.post("~/api/v1/settings/sysadmin/logins-delete",JSON.stringify([P.user.id])).then((function(){A.report(),c.go("^")}),u.report)}),(function(){}))},P.reloadState=function(e){w(),e.$setPristine()},P.init=w}e.$inject=["$rootScope","$scope","$filter","$mdDialog","$http","$q","$timeout","$translate","coreDataSysAdminSettings","$state","$stateParams","claimsService","errorHandling","successHandling","userDataService","localeInfoService","i18n"],angular.module("smartermail").controller("adminSettingsSystemAdminSpecificController",e)}();
563!function(){"use strict";function e(e,n,t,s,i,r,a,o,c,m,d,l,u){var g=this;function p(e,n){return e.toUpperCase()===n.toUpperCase()}function h(){e.spinner.show(),r.get("~/api/v1/settings/sysadmin/logins").then((function(e){g.admins=e.data.systemLogins||[],angular.forEach(g.admins,(function(e){e.sortManageAdmins=String(e.manageAdmins),e.sortEnableIpAccessRestriction=String(e.enableIpAccessRestriction),e.isClusterAdmin=Boolean(e.isClusterAdmin),e.adminTypeLabel=t("translate")(e.isPrimaryAdmin?e.isClusterAdmin?"PRIMARY_CLUSTER_ADMINISTRATOR":"PRIMARY_ADMINISTRATOR":e.isClusterAdmin?"CLUSTER_ADMINISTRATOR":"ADMINISTRATOR"),e.sortDescription=e.isPrimaryAdmin?e.adminTypeLabel:String(e.description||""),e.sortEnabled=String(e.enabled),e.sortAge=Number(e.ageDays)})),g.tableParams.settings({dataset:g.admins}),g.checkboxes.reset(),g.tableParams.reload(),g.initialized=!0;var n=$.grep(g.admins,(function(e){return p(e.username,l.getUsername())}))[0];g.isReadOnly=!n||!n.manageAdmins}),d.report).finally(e.spinner.hide)}function f(n){var i=g.checkboxes.getCheckedItems();if(i&&angular.isArray(i)){for(var a=[],o=0;o<i.length;++o)if(i[o]&&i[o]!==l.getUsername()){var c=$.grep(g.admins,(function(e){return!e.isPrimarySysAdmin&&p(e.username,i[o])}))[0];c&&a.push(c.id)}if(0!==a.length){var m=s.confirmDeletion().textContent(u.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:a.length})).targetEvent(n);s.show(m).then((function(){e.spinner.show(),r.post("~/api/v1/settings/sysadmin/logins-delete",JSON.stringify(a)).then(f,d.report).finally(e.spinner.hide)}),(function(){}))}}function f(){if(g.checkboxes.items[g.myUsername]){var e=s.confirmDeletion().title().textContent(t("translate")("CONFIRMATIONS_UNABLE_TO_DELETE_ACCOUNTS")).ok(t("translate")("OK")).noWarn(!0).hideCancel(!0);s.show(e)}h()}}g.admins=[],g.tableParams=new c({sorting:{username:"asc"},count:25},{dataset:[],counts:e.commonTableCounts}),g.isReadOnly=!l.isPrimarySysAdmin(),g.checkboxes=m.init("username"),g.checkboxes.ignoreItemDelegate=function(e){return e.isPrimaryAdmin||e.isClusterAdmin||g.isReadOnly},g.checkboxes.table=g.tableParams,g.myUsername=l.getUsername(),g.initialized=!1,g.newItem=function(){i.go("index.sysadmin-settings.system-administrators.specific",{username:"new",isNew:!0})},g.editItem=function(e){if(!e)return;i.go("index.sysadmin-settings.system-administrators.specific",{username:e.username})},g.contextMenuGridItem=function(e,t){if(!t||"touchstart"!==t.type&&"touchend"!==t.type&&3!==t.which||e.criticallyErrored)return;if(g.checkboxes.ignoreItemDelegate(e)||g.isReadOnly)return;t.stopPropagation(),t.preventDefault();var s=g.checkboxes.getCheckedItems();(s.length>1&&!_.some(s,(function(n){return n===e.username}))||s.length<=1)&&(g.checkboxes.reset(),g.checkboxes.checkCheckbox(t,e),s=[e.username]);n.dropdownEvent=$.extend(!0,{},t),n.dropdownOptions=[{key:"deleteItems",click:f,params:n.dropdownEvent,translateKey:"DELETE"}];var i=$("#context-menu-area");if(i){var r=a('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(n);i.append(r)}},g.deleteItems=f,g.searchItems=function(){g.checkboxes.reset(),g.tableParams.filter({$:g.searchText}),g.tableParams.reload()},o.init().then(h,d.report)}e.$inject=["$rootScope","$scope","$filter","$mdDialog","$state","$http","$compile","coreDataSysAdminSettings","NgTableParams","gridCheckboxes","errorHandling","claimsService","i18n"],angular.module("smartermail").controller("adminSettingsSystemAdminController",e)}();
564!function(){"use strict";function e(e,s,t,a,n,i,r,o,l,m,d){s.editorScope={};var g=this;g.isReadReceipt=!1,g.messageId=t.params.id,g.localeId=t.params.locale,g.theMessageTitle=n("translate")("SYSTEM_MESSAGES_MESSAGE_TYPES_"+g.messageId.toUpperCase())+" - "+function(e){for(var s=0;s<angularLangNames.length;
564s++)if(angularLangNames[s].v===e)return angularLangNames[s].n;return e}(g.localeId),t.current.data.pageTitle=g.theMessageTitle,g.variables={"%DisplayName%":r.instant("RECIPIENT_NAME"),"%RcptAddress%":r.instant("RECIPIENT_ADDRESS")},g.availableLocales=angularLangNames,g.messageId.toLowerCase().startsWith("password_reset")?g.variables["%Link%"]=r.instant("LINK"):g.messageId.toLowerCase().startsWith("password")&&(g.variables["%ExpireDate%"]=r.instant("EXPIRATION_DATE"),g.variables["%DaysLeft%"]=r.instant("DAYS_UNTIL_EXPIRATION")),g.messageId.toLowerCase().startsWith("mailbox")&&(g.variables["%MailboxSizeLimit%"]=r.instant("MAILBOX_SIZE_LIMIT")),g.messageId.toLowerCase().startsWith("domain")&&(g.variables["%DomainSizeLimit_MB%"]=r.instant("DOMAIN_SIZE_LIMIT"),g.variables["%DomainCurrentSize_MB%"]=r.instant("CURRENT_DOMAIN_SIZE"),g.variables["%Domain%"]=r.instant("DOMAIN")),g.messageId.toLowerCase().startsWith("delivery_status")&&(g.variables={"%RcptAddress%":r.instant("RECIPIENT_ADDRESS"),"%Subject%":r.instant("SUBJECT")}),(g.messageId.toLowerCase().startsWith("delivery_status_delayed")||g.messageId.toLowerCase().startsWith("delivery_status_failure"))&&(g.variables["%Error%"]=r.instant("ERROR")),g.messageId.toLowerCase().startsWith("read_receipt")&&(g.variables={"%ReadDate%":r.instant("READ_DATE"),"%RcptAddress%":r.instant("RECIPIENT_ADDRESS"),"%Subject%":r.instant("SUBJECT"),"%SentDate%":r.instant("SENT_DATE")},g.isReadReceipt=!0),g.messageId.toLowerCase().startsWith("migration_")&&(g.variables={"%SourceEmail%":r.instant("EMAIL_SOURCE"),"%MigrationSummary%":r.instant("MIGRATION_SUMMARY")}
564),g.messageId.toLowerCase().startsWith("meeting_forwarded_notice")&&(g.variables={"%Summary%":r.instant("SUMMARY"),"%ForwardedBy%":r.instant("FORWARDED_BY"),"%When%":r.instant("WHEN"),"%Start%":r.instant("START_DATE"),"%End%":r.instant("END_DATE"),"%Recipients%":r.instant("RECIPIENTS")}),g.messageId.toLowerCase().startsWith("two_factor_request")&&(g.variables["%Code%"]=r.instant("CODE")),g.messageId.toLowerCase().startsWith("virus")&&(g.variables={"%DisplayName%":r.instant("RECIPIENT_NAME"),"%RcptAddress%":r.instant("RECIPIENT_ADDRESS"),"%From%":r.instant("FROM"),"%To%":r.instant("TO"),"%Subject%":r.instant("SUBJECT"),"%VirusName%":r.instant("EVENT_CONDITIONS_VIRUSNAME")}),g.variables=Object.keys(g.variables),g.save=function(a,n){g.message.message=s.editorScope.getHtml(),o((function(){function s(){n.$setPristine(),t.go("^")}n.$invalid||(e.spinner.show(),t.params.isNew?l.addSystemMessage(g.message).then(s,m.report).finally(e.spinner.hide):l.saveSystemMessage(g.message).then(s,m.report).finally(e.spinner.hide))}))},g.deleteItem=function(s,n){if(t.params.isNew)return;var o=a.confirmDeletion().textContent(r.instant("CONFIRMATIONS_DELETE_ITEMS_one")).targetEvent(s);a.show(o).then((function(){e.spinner.show();var s={messages:[{key:g.messageId,localeId:g.localeId}]};i.post("~/api/v1/settings/sysadmin/system-messages-delete",s).then((function(){t.go("^")}),m.report).finally(e.spinner.hide)}))},g.resetToDefault=function(s,n){if(t.params.isNew)return;var o=a.confirm().title(r.instant("RESET")).textContent(r.instant("CONFIRMATIONS_RESET_SYSTEM_MESSAGE")).ok(r.instant("RESET")).cancel(r.instant("CANCEL")).targetEvent(s);a.show(o).then((function(){e.spinner.show();var s={key:g.messageId,localeId:g.localeId};i.post("~/api/v1/settings/sysadmin/system-message-reset",s).then((function(){t.go("^")}),m.report).finally(e.spinner.hide)}))},g.setFormDirty=function(e){e.$setDirty()},e.spinner.show(),i.get("~/api/v1/settings/sysadmin/system-messages").then((function(e){if(g.messages=e.data.systemMessages||[],g.isNew=t.params.isNew,t.params.isNew)g.message={key:g.messageId,senderEmail:"",senderName:"",subject:"",message:"",localeId:g.localeId};else{if(g.message=$.grep(g.messages,(function(e){return e.key===g.messageId&&e.localeId===g.localeId})),!g.message||!g.message.length)return void t.go("^");g.message[0].message.indexOf("attlinkedfileid:")>-1&&(g.message[0].message=g.message[0].message.split('"attlinkedfileid:').join('"'+location.origin+stSiteRoot+"attachedfile?data=")),g.message=g.message[0]}}),(function(){})).finally(e.spinner.hide)}e.$inject=["$rootScope","$scope","$state","$mdDialog","$filter","$http","$translate","$timeout","coreDataSysAdminSettings","errorHandling","i18n"],angular.module("smartermail").controller("adminSettingsSystemMessageInstanceController",e)}();
565!function(){"use strict";function e(e,s,t,n,a,o,r,c,l,i,m,d,g,u){var h=this;function p(s){var n=h.checkboxes.getCheckedItems(),a=n.length;if(a){var o=t.confirmDeletion().textContent(u.reactPluralize("CONFIRMATIONS_DELETE_ITEMS",{count:a})).targetEvent(s);t.show(o).then((function(){e.spinner.show();for(var s={messages:[]},t=0;t<n.length;t++){var a=n[t].split("&&");2===a.length&&s.messages.push({key:a[0],localeId:a[1]})}i.post("~/api/v1/settings/sysadmin/system-messages-delete",s).then((function(){y()}),m.report).finally(e.spinner.hide)}))}else m.warn("NO_MESSAGES_SELECTED")}function y(){i.get("~/api/v1/settings/sysadmin/system-messages").then((function(e){h.systemMessages=e.data.systemMessages||[],angular.forEach(h.systemMessages,(function(e){e.translated=l.instant("SYSTEM_MESSAGES_MESSAGE_TYPES_"+e.key.toUpperCase()),e.language=function(e){for(var s=0;s<angularLangNames.length;s++)if(angularLangNames[s].v===e)return angularLangNames[s].n;return e}(e.localeId)})),h.tableParams.settings({dataset:h.systemMessages}),h.checkboxes.reset(),h.tableParams.reload()}),m.report).finally(e.spinner.hide)}h.systemMessages=[],h.tableParams=new r({sorting:{translated:"asc"},count:100},{dataset:[],counts:e.commonTableCounts}),h.checkboxes=c.init(),h.checkboxes.specialKey=function(e){return e.key+"&&"+e.localeId},h.checkboxes.ignoreItemDelegate=function(e){return"en"===e.localeId},h.checkboxes.table=h.tableParams,h.addMessage=function(e){t.show({locals:{sysMessages:h.systemMessages},controller:"systemMessagesNewController",controllerAs:"addModCtrl",templateUrl:"app/sysadmin/settings/system-messages/modals/system-messages-new.dlg.html",targetEvent:e}).then((function(e){d.go("index.sysadmin-settings.system-messages.specific",{id:e.type,locale:e.localeId,isNew:!0})}),(function(){}))},h.contextMenuGridItem=function(e,t){if(!t||"touchstart"!==t.type&&"touchend"!==t.type&&3!==t.which||e.criticallyErrored)return;if(t.stopPropagation(),t.preventDefault(),"en"==e.localeId)return;var a=h.checkboxes.getCheckedItems();(a.length>1&&!_.some(a,(function(s){return s===h.checkboxes.specialKey(e)}))||a.length<=1)&&(h.checkboxes.reset(),h.checkboxes.checkCheckbox(t,e),a=[e.
565id]);s.dropdownEvent=$.extend(!0,{},t),s.dropdownOptions=[{key:"deleteCheckedItems",click:p,params:s.dropdownEvent,translateKey:"DELETE"}];var o=$("#context-menu-area");if(o){var r=n('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(s);o.append(r)}},h.deleteItems=p,h.editItem=function(e,s){d.go("index.sysadmin-settings.system-messages.specific",{id:e.key,locale:e.localeId})},h.searchItems=function(){h.tableParams.reload()},y(),e.$on("$translateChangeSuccess",(function(){h.systemMessages&&angular.forEach(h.systemMessages,(function(e){e.translated=l.instant("SYSTEM_MESSAGES_MESSAGE_TYPES_"+e.key.toUpperCase())}))}))}e.$inject=["$rootScope","$scope","$mdDialog","$compile","$q","coreDataSysAdminSettings","NgTableParams","gridCheckboxes","$translate","$http","errorHandling","$state","claimsService","i18n"],angular.module("smartermail").controller("adminSettingsSystemMessagesController",e)}();
566!function(){"use strict";function t(t,e,n,a,s,r,o,i,u){var c=this;function l(){return a.all([s.get("~/api/v1/settings/sysadmin/index-processing"),s.get("~/api/v1/settings/sysadmin/index-queued")]).then((function(t){var e=[];angular.forEach(t[0].data.indexItems,(function(t){e.push(t)})),angular.forEach(t[1].data.indexItems,(function(t){e.push(t)})),c.items=e,c.tableParams.settings({dataset:c.items}),c.tableParams.reload()}),o.report)}c.items=[],c.tableParams=new u({sorting:{currentStatus:"desc"},count:25},{dataset:[],counts:t.commonTableCounts}),c.status={0:"NONE",1:"QUEUED",2:"INDEXING",3:"OPTIMIZING",4:"COMPLETED"},c.searchItems=function(){c.tableParams.filter({$:c.searchText})},c.refresh=function(){l().then((function(){}),(function(){})),t.$broadcast("troubleshooting:countersChanged")},l(),e.$emit("troubleshooting:countersChanged")}t.$inject=["$rootScope","$scope","$filter","$q","$http","coreDataManageSettings","errorHandling","successHandling","NgTableParams"],angular.module("smartermail").controller("sysAdminManageIndexStatusController",t)}();
567!function(){"use strict";function e(e,t,a,l,s,n,o,r,i,u,d,R,h,w,c){var p=new Date,v=new Date(p.getUTCFullYear(),p.getUTCMonth(),p.getUTCDate(),p.getUTCHours(),p.getUTCMinutes(),p.getUTCSeconds()),g=moment(v).add(window.stTzOff,"m"),E=this;E.cardService=h,E.manageCore=d,E.startDate=new Date(g.valueOf()),E.endDate=new Date(g.valueOf()),E.searchString="","L"==window.stOS?(E.typeOptions=[{translate:"ADMINISTRATIVE",value:"administrative",showRelated:!1},{translate:"AUTODISCOVER",value:"autodiscover",showRelated:!1},{translate:"CALENDARS",value:"calendars",showRelated:!1},{translate:"CERTIFICATES",value:"certificates",showRelated:!1}],window.stHA&&E.typeOptions.push({translate:"CLUSTER_SERVICE",value:"clusterService",showRelated:!1}),E.typeOptions.push({translate:"CONTENT_FILTER",value:"contentfilter",showRelated:!1},{translate:"CONVERSION",value:"conversion",showRelated:!1},{translate:"DELIVERY",value:"delivery",showRelated:!0},{translate:"ACTIVESYNC",value:"activeSync",showRelated:!0},{translate:"ERROR",value:"generalErrors",showRelated:!1},{translate:"EVENTS",value:"event",showRelated:!1},{translate:"EWS",value:"ews",showRelated:!1},{translate:"EWS_RETRIEVAL",value:"ewsRetrieval",showRelated:!1},{translate:"FOLDER_AUTO_CLEAN",value:"autoCleanFolders",showRelated:!1}),window.stHA&&(E.typeOptions.push({translate:"GRPC",value:"grpc",showRelated:!1}),E.typeOptions.push({translate:"GENERAL",value:"general",showRelated:!1}),E.typeOptions.push({translate:"HUB_LOGGER",value:"hubLogger",showRelated:!1})),E.typeOptions.push({translate:"IMAP",value:"imapLog",showRelated:!0},{translate:"IMAP_RETRIEVAL",value:"imapRetrieval",showRelated:!0},{translate:"INDEXING",value:"indexing",showRelated:!1},{translate:"LDAP",value:"ldapLog",showRelated:!0},{translate:"LICENSING",value:"activation",showRelated:!1},{translate:"MAILING_LISTS",value:"mailinglists",showRelated:!1},{translate:"MAINTENANCE",value:"maintenance",showRelated:!1},{translate:"MAPI",value:"mapi",showRelated:!1},{translate:"MESSAGE_ID_HYPEN",value:"messageId",showRelated:!0},{translate:"OAB",value:"oab",showRelated:!1},{translate:"POP",value:"popLog",showRelated:!0},{translate:"POP_RETRIEVAL",value:"popRetrieval",showRelated:!0},{translate:"ROUTING_RULES",value:"routingRules",showRelated:!0},{translate:"SHAREPOINT",value:"sharePoint",showRelated:!1},{translate:"SMTP",value:"smtpLog",showRelated:!0},{translate:"SPAM_CHECKS",value:"spamChecks",showRelated:!0},{translate:"WEBDAV",value:"webdav",showRelated:!0},{translate:"XMPP",value:"xmppLog",showRelated:!1})):(E.typeOptions=[{translate:"ADMINISTRATIVE",value:"administrative",showRelated:!1},{translate:"AUTODISCOVER",value:"autodiscover",showRelated:!1},{translate:"CALENDARS",value:"calendars",showRelated:!1},{translate:"CERTIFICATES",value:"certificates",showRelated:!1}],window.stHA&&E.typeOptions.push({translate:"CLUSTER_SERVICE",value:"clusterService",showRelated:!1}),E.typeOptions.push({translate:"CONTENT_FILTER",value:"contentfilter",showRelated:!1},{translate:"CONVERSION",value:"conversion",showRelated:!1},{translate:"DELIVERY",value:"delivery",showRelated:!0},{translate:"ACTIVESYNC",value:"activeSync",showRelated:!0},{translate:"ERROR",value:"generalErrors",showRelated:!1},{translate:"EVENTS",value:"event",showRelated:!1},{translate:"EWS",value:"ews",showRelated:!1},{translate:"EWS_RETRIEVAL",value:"ewsRetrieval",showRelated:!1},{translate:"FOLDER_AUTO_CLEAN",value:"autoCleanFolders",showRelated:!1}),window.stHA&&(E.typeOptions.push({translate:"GRPC",value:"grpc",
567showRelated:!1}),E.typeOptions.push({translate:"GENERAL",value:"general",showRelated:!1}),E.typeOptions.push({translate:"HUB_LOGGER",value:"hubLogger",showRelated:!1})),E.typeOptions.push({translate:"IIS",value:"errorlog",showRelated:!1},{translate:"IMAP",value:"imapLog",showRelated:!0},{translate:"IMAP_RETRIEVAL",value:"imapRetrieval",showRelated:!0},{translate:"INDEXING",value:"indexing",showRelated:!1},{translate:"LDAP",value:"ldapLog",showRelated:!0},{translate:"LICENSING",value:"activation",showRelated:!1},{translate:"MAILING_LISTS",value:"mailinglists",showRelated:!1},{translate:"MAINTENANCE",value:"maintenance",showRelated:!1},{translate:"MAPI",value:"mapi",showRelated:!1},{translate:"MESSAGE_ID_HYPEN",value:"messageId",showRelated:!0},{translate:"OAB",value:"oab",showRelated:!1},{translate:"POP",value:"popLog",showRelated:!0},{translate:"POP_RETRIEVAL",value:"popRetrieval",showRelated:!0},{translate:"ROUTING_RULES",value:"routingRules",showRelated:!0},{translate:"SHAREPOINT",value:"sharePoint",showRelated:!1},{translate:"SMTP",value:"smtpLog",showRelated:!0},{translate:"SPAM_CHECKS",value:"spamChecks",showRelated:!0},{translate:"WEBDAV",value:"webdav",showRelated:!0},{translate:"XMPP",value:"xmppLog",showRelated:!1})),E.currentType=$.grep(E.typeOptions,(function(e){return"DELIVERY"===e.translate}))[0],E.relatedResult=!1,E.searchResult=!1,E.showMenu=!1,E.isTruncated=!1;var S=null,O=E.relatedResult;E.atBottom=!1,E.copyLinkNotification=function(){c.report("COPIED_TO_CLIPBOARD")},E.jumpTo=function(){S&&0!==S.length||(S=$(".copyAllTarget"));if(S[0]){var e=E.atBottom?0:S[0].scrollHeight;S.scrollTop(e),E.atBottom=!E.atBottom}},E.onTypeChange=()=>{E.relatedResult=!!E.currentType.showRelated&&O},E.onRelatedResultChange=()=>{E.currentType.showRelated&&(O=E.relatedResult)};var T,D=_.throttle((function(){if(this.scrollHeight<=this.scrollTop+this.offsetHeight)return E.atBottom=!0,void t.$applyAsync();var e=E.atBottom;E.atBottom=!1,e&&t.$applyAsync()}),50);function A(){1==E.showMenu?E.showMenu=!1:E.showMenu=!0}function I(){e.spinner.show(),E.startDate||(E.startDate=new Date),E.endDate||(E.endDate=new Date);let t=moment(E.startDate).utcOffset("+0000",!0),l=moment(E.endDate).utcOffset("+0000",!0);var s=JSON.stringify({start:t,end:l,type:E.currentType.value,search:E.searchString,related:E.relatedResult});a.post("~/api/v1/settings/sysadmin/log-files",s).then((function(e){E.isTruncated=e.data.isTruncated||!1,E.searchResult=!0,$(".copyAllTarget")[0].value=e.data.result,e.data.result||w.warn("LOGS_AND_SETTINGS_ERRORS_GET_LOG_RESULTS")}),w.report).finally(e.spinner.hide)}function L(){var t=r((function(){var e=n.stProgressBar().title(o.instant("DOWNLOADING")).barText("").close(o.instant("DOWNLOAD_IN_BACKGROUND")).showCancel(!1).enableButtons(!0).autoClose(!0).percentProgress(-1).guid("logs-download").progressListener("signalR.mailHub.client.logDownloadProg");n.show(e)}),1e3);E.startDate||(E.startDate=new Date),E.endDate||(E.endDate=new Date);let a=moment(E.startDate).utcOffset("+0000",!0),s=moment(E.endDate).utcOffset("+0000",!0);var i=l("translate")(E.currentType.translate)+"-logs.zip",u=JSON.stringify({start:a,end:s,type:E.currentType.value,search:E.searchString,related:E.relatedResult});R.downloadFile("~/api/v1/settings/sysadmin/download-log-files",i,u).then((function(){}),(function(e){e.message&&"LOGS_AND_SETTINGS_ERRORS_GET_LOG_RESULTS"===e.message?w.warn(e):w.report(e)})).finally((function(){e.spinner.hide(),e.$broadcast("signalR.mailHub.client.logDownloadProg",{guid:"logs-download",current:-1}),t&&r.cancel(t)}))}function m(){var t=r((function(){var e=n.stProgressBar().title(o.instant("DOWNLOADING")).barText("").close(o.instant("DOWNLOAD_IN_BACKGROUND")).showCancel(!1).enableButtons(!0).autoClose(!0).percentProgress(-1).guid("logs-download").progressListener("signalR.mailHub.client.logDownloadProg");n.show(e)}),1e3);E.startDate||(E.startDate=new Date),E.endDate||(E.endDate=new Date);let a=moment(E.startDate).utcOffset("+0000",!0),s=moment(E.endDate).utcOffset("+0000",!0);var i=l("translate")(E.currentType.translate)+"-logs.zip",u=JSON.stringify({start:a,end:s,type:E.currentType.value,search:E.searchString,related:E.relatedResult});R.downloadFile("~/api/v1/settings/sysadmin/download-log-files-searched",i,u).then((function(){}),(function(e){e.message&&"LOGS_AND_SETTINGS_ERRORS_GET_LOG_RESULTS"===e.message?w.warn(e):w.report(e)})).finally((function(){e.spinner.hide(),e.$broadcast("signalR.mailHub.client.logDownloadProg",{guid:"logs-download",current:-1}),t&&r.cancel(t)}))}T=[i.init(),a.get("~/api/v1/settings/sysadmin/global-mail")],s.all(T).then((function(e){u.searchEnabled=!1,d.searchLogs=I,d.downloadLogs=L,d.DownloadLogFilesSearched=m,d.onDownloadMenuOpen=A,t.$emit("troubleshooting:countersChanged"),angular.copy(e[1].data.globalMailSettings.logSettings.debugLogIds||[]).forEac
567h((function(e){E.typeOptions.push({translate:e,value:e,showRelated:!1})}))}),w.report),$(".copyAllTarget").scroll(D)}e.$inject=["$rootScope","$scope","$http","$filter","$q","$mdDialog","$translate","$timeout","coreData","coreDataSysAdminSettings","coreDataManageSettings","coreDataFileStorage","coreDataSysAdminCards","errorHandling","successHandling"],angular.module("smartermail").controller("sysAdminManageViewLogsController",e)}();
568!function(){"use strict";function e(e,t,n,s,o,r,a,i,c,u,l,d,h){var g=this;function m(){var t=g.checkboxes.getCheckedItems(),r=[];if(angular.forEach(t,(function(e){var t=e.split("|",2);r.push({email:t[0],id:t[1]})})),1==r.length)i();else{var a=o.confirmDeletion().textContent(s("translate")("CONFIRMATIONS_MULTI_GENERIC",{count:r.length})).ok(s("translate")("OK")).title(s("translate")("CONFIRMATION_REQUIRED"));o.show(a).then((function(){i()}))}function i(){var t=JSON.stringify({sessions:r});return n.post("~/api/v1/settings/sysadmin/kill-migrations",t).then((function(t){g.checkboxes.reset(),g.tableParams.reload(),e.$broadcast("troubleshooting:countersChanged")}),u.report)}}g.items=[],g.tableParams=new d({sorting:{destinationAddress:"asc"},count:25},{getData:function(e){var t={startindex:(e.page()-1)*e.count(),count:e.count(),sortType:null,search:g.searchField,ascending:!g.isDescending};for(var s in e.sorting())if(e.sorting().hasOwnProperty(s)&&e.sorting()[s]){switch(s){case"importItems":t.sortType=0;break;case"status":t.sortType=1;break;case"ID":t.sortType=2;break;case"destinationAddress":t.sortType=3}t.ascending="desc"!==e.sorting()[s];break}return n.post("~/api/v1/settings/sysadmin/post-current-migrations",JSON.stringify(t)).then((function(t){var n={0:"QUEUED",1:"STATUS_IN_PROGRESS",2:"COMPLETED"};return g.items=t.data.migrations,angular.forEach(g.items,(function(e){e.status=n[e.status]||e.status})),g.searchResultCount=t.data.count,e.total(g.searchResultCount),g.items}),(function(){}))},counts:e.commonTableCounts}),g.checkboxes=h.init(),g.checkboxes.table=g.tableParams,g.checkboxes.specialKey=function(e){return e.destinationAddress+"|"+e.id},g.searchItems=function(){g.tableParams.filter({$:g.searchText})},g.refresh=function(){g.checkboxes.reset(),g.tableParams.reload().then((function(){}),(function(){})),e.$broadcast("troubleshooting:countersChanged")},g.endSession=m,g.contextMenuGridItem=function(e,n){if(!n||"touchstart"!==n.type&&"touchend"!==n.type&&3!==n.which||e.criticallyErrored)return;n.stopPropagation(),n.preventDefault();var s=g.checkboxes.getCheckedItems();(s.length>1&&!_.some(s,(function(t){return t===g.checkboxes.specialKey(e)}))||s.length<=1)&&(g.checkboxes.reset(),g.checkboxes.checkCheckbox(n,e),s=[g.checkboxes.specialKey(e)]);t.dropdownEvent=$.extend(!0,{},n),t.dropdownOptions=[{key:"endSession",click:m,translateKey:"CANCEL_MIGRATION"}];var o=$("#context-menu-area");if(o){var a=r('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(t);o.append(a)}},t.$emit("troubleshooting:countersChanged")}e.$inject=["$rootScope","$scope","$http","$filter","$mdDialog","$compile","coreData","coreDataSysAdminSettings","coreDataSysAdminCards","errorHandling","successHandling","NgTableParams","gridCheckboxes"],angular.module("smartermail").controller("sysAdminMigrationStatusController",e)}();
569!function(){"use strict";function e(e,o,i,n,t,l,a,g){var s=this,r=g.create(o);async function L(){try{e.spinner.show(),await i.get("~/api/v1/settings/sysadmin/global-mail").then((function(e){var o=angular.copy(e.data.globalMailSettings),i=o.logSettings,n=o.logClusterConfiguration;s.stHA=window.stHA,s.compressLogFiles=i.logCompressionInterval,s.compressLogFilesEnabled=i.logCompressionEnabled,s.deleteLogFiles=i.logCleaningInterval,s.deleteLogFilesEnabled=i.logCleaningEnabled,s.activeSync=i.activeSyncLogLevel,s.administrative=i.webMailLogLevel,s.autoCleanFolders=i.autoCleanFoldersLogLevel,s.calendars=i.calendarsLogLevel,s.certificates=i.certificatesLogLevel,s.contentfilters=i.contentFilterLogLevel,s.conversion=-1e3,s.delivery=i.deliveryLogLevel,s.events=i.eventsLogLevel,s.ews=i.ewsLogLevel,s.exchangeRetrieval=i.exchangeRetrievalLogLevel,s.imap=i.imapLogLevel,s.imapRetrieval=i.imapRetrievalLogLevel,s.indexing=i.indexingLogLevel,s.ldap=i.ldap_LogLevel,s.mapi=i.mapiLogLevel,s.mailingListDebug=i.mailingListDebugLogLevel,s.maintenance=i.maintenanceLogLevel,s.messageId=i.messageIDLogLevel,s.oab=i.oabLogLevel,s.pop=i.popLogLevel,s.popRetrieval=i.popRetrievalLogLevel,s.smtp=i.smtpLogLevel,s.webdav=i.webDAVLogLevel,s.sharePoint=i.sharePointLogLevel,s.routingRules=i.routingRulesLogLevel,s.xmpp=i.xmppLogLevel,s.spamChecks=i.spamChecksLogLevel,s.autodiscover=i.autodiscoverLogLevel,s.general=i.generalErrorsLogLevel,s.errorLogging=i.errorLogLevel,s.licensingLogging=i.licenseLogLevel,window.stHA?s.clusterLog={general:n?.general,clusterService:n?.clusterService,hubLogger:n?.hubLogger,grpc:n?.grpc}
569:s.clusterLog=null;s.debugLogIds=i.debugLogIds?i.debugLogIds.filter(v).join("\n"):"",s.maxThreads=o.indexSettings.maxThreads,s.itemsToIndexPerPass=o.indexSettings.itemsToIndexPerPass,s.secondsInQueueBeforeIndexing=o.indexSettings.secondsInQueueBeforeIndex,s.fileCacheSize=o.indexSettings.fileCacheSize,s.fileCacheTrackStatistics=o.indexSettings.fileCacheTrackStatistics,s.openTelemetryEndpoint=o.indexSettings.openTelemetryEndpoint}),l.report)}catch(e){l.report(e)}finally{s.pageForm.$setSubmitted(),e.spinner.hide(),s.loading=!1,r.wait((function(){s.contentReady=!0})),o.$applyAsync()}}function v(e,o,i){return i.indexOf(e)===o}s.loading=!0,s.contentReady=!1,this.save=function(e,o){if(o.$invalid)return void l.report("CORRECT_INVALID_FIELDS");var n=s.debugLogIds?s.debugLogIds.split("\n").filter(v):[],t={globalMailSettings:{indexSettings:{maxThreads:s.maxThreads,itemsToIndexPerPass:s.itemsToIndexPerPass,secondsInQueueBeforeIndex:s.secondsInQueueBeforeIndexing,fileCacheSize:s.fileCacheSize,fileCacheTrackStatistics:s.fileCacheTrackStatistics,openTelemetryEndpoint:s.openTelemetryEndpoint},logSettings:{enableMailingListDebugLog:s.mailingListDebug<1e3,exchangeRetrievalLogLevel:s.exchangeRetrieval,logCompressionInterval:s.compressLogFiles,logCompressionEnabled:s.compressLogFilesEnabled,logCleaningInterval:s.deleteLogFiles,logCleaningEnabled:s.deleteLogFilesEnabled,activeSyncLogLevel:s.activeSync,webMailLogLevel:s.administrative,calendarsLogLevel:s.calendars,certificatesLogLevel:s.certificates,contentFilterLogLevel:s.contentfilters,autoCleanFoldersLogLevel:s.autoCleanFolders,deliveryLogLevel:s.delivery,eventsLogLevel:s.events,ewsLogLevel:s.ews,imapLogLevel:s.imap,imapRetrievalLogLevel:s.imapRetrieval,indexingLogLevel:s.indexing,ldap_LogLevel:s.ldap,mapiLogLevel:s.mapi,mailingListDebugLogLevel:s.mailingListDebug,maintenanceLogLevel:s.maintenance,messageIDLogLevel:s.messageId,oabLogLevel:s.oab,popLogLevel:s.pop,popRetrievalLogLevel:s.popRetrieval,smtpLogLevel:s.smtp,webDAVLogLevel:s.webdav,routingRulesLogLevel:s.routingRules,sharePointLogLevel:s.sharePoint,xmppLogLevel:s.xmpp,spamChecksLogLevel:s.spamChecks,autodiscoverLogLevel:s.autodiscover,generalErrorsLogLevel:s.general,errorLogLevel:s.errorLogging,licenseLogLevel:s.licensingLogging,debugLogIds:n},logClusterConfiguration:s.clusterLog,mapiSettings:{debugMonitorRequestsMax:s.maxRequestBeforeStop,debugMonitorUser:s.monitorActive?s.monitorUser:""}}};i.post("~/api/v1/settings/sysadmin/global-mail/",t).then((function(){!function(e){s.debugLogIds=e.filter(v).join("\n"),o.$setPristine()}(n)}),l.report)},this.doCancel=function(e,o){if(!o.$dirty)return;n.show(n.confirmRevertChanges().targetEvent(e)).then((function(){L(),o.$setPristine()}),(function(){}))},this.refresh=L,this.showProtocolLogWarning=function(){return s.activeSync<100||s.mapi<100||s.ews<100},L(),o.$emit("troubleshooting:countersChanged")}e.$inject=["$rootScope","$scope","$http","$mdDialog","$timeout","errorHandling","coreDataFileStorage","masonryReveal"],angular.module("smartermail").controller("adminSettingsLogSettingsController",e)}();
570!function(){"use strict";function t(t,s,e,n,i,a,o,r,c){var u=this;function l(){var t=[i.get("~/api/v1/settings/sysadmin/index-processing"),i.get("~/api/v1/settings/sysadmin/index-queued")];return window.stEnableSpamfoo&&(t.push(i.get("~/api/v1/settings/sysadmin/classification-processing")),t.push(i.get("~/api/v1/settings/sysadmin/classification-queued"))),n.all(t).then((function(t){var s=[];angular.forEach(t[0].data.indexItems,(function(t){t.type="indexing",s.push(t)})),angular.forEach(t[1].data.indexItems,(function(t){t.type="indexing",s.push(t)})),t[2]&&t[3]&&(angular.forEach(t[2].data.classificationItems,(function(t){t.type="classification",s.push(t)})),angular.forEach(t[3].data.classificationItems,(function(t){t.type="classification",s.push(t)})));u.items=s,u.tableParams.settings({dataset:u.items}),u.tableParams.reload()}),o.report)}u.items=[],u.tableParams=new c({sorting:{currentStatus:"desc"},count:25},{dataset:[],counts:t.commonTableCounts}),u.statusLabels={indexing:{0:"NONE",1:"QUEUED",2:"INDEXING",3:"OPTIMIZING",4:"COMPLETED"},classification:{0:"NONE",1:"QUEUED",2:"MESSAGE_PROCESSING",3:"COMPLETED"}},u.typeLabels={indexing:"INDEXING",classification:"CLASSIFICATION"},u.searchItems=function(){u.tableParams.filter({$:u.searchText})},u.refresh=function(){l().then((function(){}),(function(){})).finally((function(){r.report("SUCCESS")})),t.$broadcast("troubleshooting:countersChanged")},u.getProgress=function(t){if("indexing"===t.type){if(t.itemsToIndex&&t.itemsToIndex>0)return t.itemsIndexed+"/"+t.itemsToIndex}else if("classification"===t.type&&t.itemsToClassify&&t.itemsToClassify>0)return t.itemsClassified+"/"+t.itemsToClassify;return"-"},u.getStatusLabel=function(t){return u.statusLabels[t.type][t.currentStatus]||"NONE"},l(),s.$emit("troubleshooting:countersChanged")}t.$inject=["$rootScope","$scope","$filter","$q","$http","coreDataManageSettings","errorHandling","successHandling","NgTableParams"],angular.module("smartermail").controller("sysAdminManageProcessingStatusController",t)}();
571!function(){"use strict";function e(e,t,n,s,o,a,i,r,c,S,I,E,l,p,d){var m=this;function T(){m.checkboxes.reset(),n.get("~/api/v1/settings/sysadmin/services").then((function(e){var t=e.data.services||[];m.serviceInfo={exchangeretrieval:{name:"EWS_RETRIEVAL",description:"LOGS_AND_SETTINGS_SERVICES_DESCRIPTIONS_EXCHANGE_RETRIEVAL"},imap:{name:"IMAP",description:"LOGS_AND_SETTINGS_SERVICES_DESCRIPTIONS_IMAP"},imapretrieval:{name:"IMAP_RETRIEVAL",description:"LOGS_AND_SETTINGS_SERVICES_DESCRIPTIONS_IMAP_RETRIEVAL"},indexing:{name:"INDEXING",description:"LOGS_AND_SETTINGS_SERVICES_DESCRIPTIONS_INDEXING"},ldap:{name:"LDAP",description:"LOGS_AND_SETTINGS_SERVICES_DESCRIPTIONS_LDAP"},pop:{name:"POP",description:"LOGS_AND_SETTINGS_SERVICES_DESCRIPTIONS_POP"},popretrieval:{name:"POP_RETRIEVAL",description:"LOGS_AND_SETTINGS_SERVICES_DESCRIPTIONS_POP_RETRIEVAL"},smtp:{name:"SMTP",description:"LOGS_AND_SETTINGS_SERVICES_DESCRIPTIONS_SMTP"},spool:{name:"SPOOL",description:"LOGS_AND_SETTINGS_SERVICES_DESCRIPTIONS_SPOOL"},spamfoo:{name:"SPAMFOO",description:"LOGS_AND_SETTINGS_SERVICES_DESCRIPTIONS_SPAMFOO"},xmpp:{name:"XMPP",description:"LOGS_AND_SETTINGS_SERVICES_DESCRIPTIONS_XMPP"}},m.items=[],angular.forEach(t,(function(e,t){if("spamfoo"===t.toLowerCase()&&!window.stEnableSpamfoo)return;let n=m.serviceInfo[t.toLowerCase()];var s=o.instant(n.name),a={key:t,status:e,sortableStatus:String(e),name:s,description:o.instant(n.description)};m.items.push(a)})),m.tableParams.settings({dataset:m.items}),m.tableParams.reload()}),(function(){}))}function N(){var t=m.checkboxes.getCheckedItems();if(t&&t.length)if(1==t.length)c();else{var r=a.confirmDeletion().textContent(i("translate")("CONFIRMATIONS_MULTI_GENERIC",{count:t.length})).ok(i("translate")("OK")).noWarn(!0).title(i("translate")("CONFIRMATION_REQUIRED"));a.show(r).then((function(){c()}))}function c(){var a=JSON.stringify({input:t});e.spinner.show(),n.post("~/api/v1/settings/sysadmin/start-services",a).then((function(){T(),e.$broadcast("troubleshooting:countersChanged"),s.pop("success","",o.instant("SUCCESS"))}),E.report).finally(e.spinner.hide)}}function h(){var t=m.checkboxes.getCheckedItems();if(t&&t.length)if(1==t.length)c();else{var r=a.confirmDeletion().textContent(i("translate")("CONFIRMATIONS_MULTI_GENERIC",{count:t.length})).ok(i("translate")("OK")).noWarn(!0).title(i("translate")("CONFIRMATION_REQUIRED"));a.show(r).then((function(){c()}))}function c(){var a=JSON.stringify({input:t});e.spinner.show(),n.post("~/api/v1/settings/sysadmin/stop-services",a).then((function(){T(),e.$broadcast("troubleshooting:countersChanged"),s.pop("success","",o.instant("SUCCESS"))}),E.report).finally(e.spinner.hide)}}m.items=[],m.tableParams=new l({sorting:{name:"asc"},count:25},{dataset:[],counts:e.commonTableCounts}),m.checkboxes=p.init("key"),m.checkboxes.table=m.tableParams,m.startServices=N,m.stopServices=h,m.searchItems=function(){m.tableParams.filter({$:m.searchText})},m.contextMenuGridItem=function(e,n){if(!n||"touchstart"!==n.type&&"touchend"!==n.type&&3!==n.which||e.criticallyErrored)return;n.stopPropagation(),n.preventDefault();var s=m.checkboxes.getCheckedItems();(s.length>1&&!_.some(s,(function(t){return t===e.key}))||s.length<=1)&&(m.checkboxes.reset(),m.checkboxes.checkCheckbox(n,e),s=[e.key]);t.dropdownEvent=$.extend(!0,{},n),t.dropdownOptions=[{key:"startServices",click:N,translateKey:"START"},{key:"stopServices",click:h,translateKey:"STOP"}];var o=$("#context-menu-area");if(o){var a=r('<st-context-menu options="dropdownOptions" event="dropdownEvent" classes="[\'dropdown-no-scroll\']"></st-context-menu>')(t);o.append(a)}},m.loadItems=T,T(),t.$emit("troubleshooting:countersChanged")}e.$inject=["$rootScope","$scope","$http","toaster","$translate","$mdDialog","$filter","$compile","coreData","coreDataSysAdminSettings","coreDataSysAdminCards","errorHandling","NgTableParams","gridCheckboxes","coreDataLicensing"],angular.module("smartermail").controller("sysAdminManageServicesController",e)}();
572!function(){"use strict";function t(t,n,e,o,i){var a=this;function l(){i.show({controller:"sysAdminDevMenuController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/troubleshooting/devmenu/devmenu.dlg.html"})}function s(){e.get("~/api/v1/settings/sysadmin/troubleshooting-counts").then((function(t){a.gridSections[1].length=t.data.logsCount;var n=t.data.serviceCount;window.stEnableSpamfoo||n--,a.gridSections[2].label="/ "+o("number")(n)+" "+o("translate")("ACTIVE"),a.gridSections[2].length=t.data.activeServiceCount,a.gridSections[3].length=t.data.mailboxIndexingCount+t.data.mailboxClassificationCount,a.gridSections[4].length=t.data.mailboxMigrationCount}),(function(){}))}a.gridSections=[{translate:"OPTIONS",length:-1},{translate:"VIEW_LOGS",length:-1},{translate:"SERVICES",length:-1},{translate:"MAILBOX_PROCESSING",length:-1},{translate:"MAILBOX_MIGRATION",length:-1}],a.selectedSection="OPTIONS",a.changeSection=function(t){a.selectedSection=t},window.showDevMenu=l,function(){if(s(),n.$on("troubleshooting:countersChanged",s),window.addEventListener){var t=[];window.addEventListener("keydown",(function(n){t.push(n.keyCode),t.toString().indexOf("38,38,40,40,37,39,37,39,66,65")>=0&&(l(),t=[])}),!0)}}()}t.$inject=["$rootScope","$scope","$http","$filter","$mdDialog"],angular.module("smartermail").controller("sysAdminTroubleshootingController",t)}();
573!function(){"use strict";function e(e,r,a,i,n){var t=this;function s(e){a.cancel()}t.title="directory-Service-Provider",t.saveCredentials=!0,t.isNew=void 0===n,t.cancel=s,t.delete=function(){if(t.activeUsers.length)return;a.hide({delete:!0})},t.onEncryptionChanged=function(){switch(t.encryption){case 0:636===t.serverPort&&(t.serverPort=389);break;case 1:389===t.serverPort&&(t.serverPort=636)}},t.validateCredentialsAndSave=function(i){if(e.pageForm&&e.pageForm.$dirty){t.isSaving=!0,t.errorMessage=null;const e={providerType:t.providerType,providerName:t.providerName,serverName:t.serverName,serverPort:t.serverPort,encryption:t.encryption,ldapBaseDn:t.ldapBaseDn,ldapUsername:t.ldapUserName,ldapPassword:t.ldapPassword,saveCredentials:t.saveCredentials,fqdn:t.fqdn,organizationalUnit:t.organizationalUnit};r.post("~/api/v1/settings/domain/auth-provider-validate",JSON.stringify(e)).then((function(r){t.isSaving=!1,a.hide(e)}),(function(e){t.isSaving=!1,t.errorMessage=e.data.message}))}else s()},!t.isNew&&n?(t.providerType=n.providerType,t.providerName=n.providerName,t.serverName=n.serverName,t.serverPort=n.serverPort,t.encryption=n.encryption,t.ldapBaseDn=n.ldapBaseDn,t.ldapUserName=n.ldapUsername,t.ldapPassword=n.ldapPassword,t.saveCredentials=n.saveCredentials,t.fqdn=n.fqdn,t.organizationalUnit=n.organizationalUnit):(t.providerType=1,t.encryption=0,t.serverPort=389),t.activeUsers=[],!t.isNew&&n.providerId&&r.get(`~/api/v1/settings/domain/auth-provider-user-list/${n.providerId}`).then((function(e){t.activeUsers=e.data.usernames}),i.report)}e.$inject=["$scope","$http","$mdDialog","errorHandling","existingProvider"],angular.module("smartermail").controller("directoryServiceProviderController",e)}();
574!function(){"use strict";function i(i,e){var l=this;l.fieldsAsText=e.join("\n"),l.cancel=function(){i.cancel()},l.save=function(){var e=l.fieldsAsText?l.fieldsAsText.trim().split("\n"):[];for(let i=0;i<e.length;i++)e[i]=e[i].trim();i.hide({fields:e})}}i.$inject=["$mdDialog","fields"],angular.module("smartermail").controller("mailSigningFieldsDialogController",i)}();
575!function(){"use strict";function e(e,t,i,o,n,c,r,a){var s=this;function l(){e.post(`~/api/v1/settings/domain/dkim-create-rollover/${s.keySize}`).then((function(e){u(e.data)}),o.report)}function u(e){s.keySize=e.keySize,s.selector=e.selector,s.txtRecordName=`${e.selector}._domainKey`,s.publicKey=e.publicKey,s.txtRecordValue=`v=DKIM1; k=rsa; h=sha256; p=${e.publicKey}`}s.preventDelete=a,s.makeActiveWhen=0,s.close=function(){s.isNew&&e.post("~/api/v1/settings/domain/dkim-delete-rollover").then((function(){}),o.report);t.cancel()},s.copyName=function(){$("#txtRecordName").select().trigger("focus"),document.execCommand("copy"),n.report("COPIED_TO_CLIPBOARD")},s.copyValue=function(){$("#txtRecordValue").select().trigger("focus"),document.execCommand("copy"),n.report("COPIED_TO_CLIPBOARD")},s.delete=function(){t.hide({delete:!0})},s.onKeySizeChanged=function(){if(!s.isNew)return;l()},s.save=function(){var e={keySize:s.keySize,selector:s.selector,publicKey:s.publicKey};t.hide({settings:e,force:1==s.makeActiveWhen})},s.validate=function(){t.hide({validate:!0,force:1==s.makeActiveWhen})},function(){switch(r.toLowerCase()){case"newrollover":s.isNew=!0,s.isRollover=!0,s.keySize=c.keySize||2048,l();break;case"viewrollover":s.isNew=!1,s.isRollover=!0,s.status=0==c.status?i.instant("PENDING"):i.instant("FAILED"),u(c);break;default:s.isNew=!1,s.isRollover=!1,s.status=i.instant(c.enabled?"ACTIVE":"DISABLED"),s.forced=c.forced,c.forced&&(s.status+=" "+i.instant("DNS_VERIFICATION_SKIPPED")),u(c)}}()}e.$inject=["$http","$mdDialog","$translate","errorHandling","successHandling","settings","mode","preventDelete"],angular.module("smartermail").controller("mailSigningViewController",e)}();
576!function(){"use strict";function t(t,n,a,e,i,o,s){t.close=function(){e.cancel()},t.emailAddress=decodeURIComponent(s),t.authenticatedIps=[],t.isEmpty=!0,n.post("~/api/v1/settings/domain/authenticated-ips",JSON.stringify({emailAddress:t.emailAddress})).then((function(n){t.authenticatedIps=n.data.authenticatedIps||[],t.isEmpty=!(Object.keys(t.authenticatedIps).length>0),angular.forEach(t.authenticatedIps,(function(t){angular.forEach(t,(function(t){t.lastLogin=a("date")(t.lastLogin,"short"),t.location&&"N/A"!=t.location?2==t.location.length&&(t.location=i.instant("COUNTRY_CODE_"+t.location)):t.location=null}))}))}),o.report)}t.$inject=["$scope","$http","$filter","$mdDialog","$translate","errorHandling","selectedUserEmailAddress"],angular.module("smartermail").controller("authIpsController",t)}();
577!function(){"use strict";function a(a,e,n,l,t,d,s){a.cancel=function(){l.cancel()},a.save=function(){var e=JSON.stringify({items:s,webmailEnabled:a.webmailEnabled,smtpEnabled:a.smtpEnabled,imapEnabled:a.imapEnabled,popEnabled:a.popEnabled,xmppEnabled:a.xmppEnabled,easEnabled:a.easEnabled,mapiEwsEnabled:a.mapiEwsEnabled,webdavEnabled:a.webdavEnabled});l.hide(e)},a.items=s,a.webmailEnabled=!1,a.smtpEnabled=!1,a.imapEnabled=!1,a.popEnabled=!1,a.xmppEnabled=!1,a.easEnabled=!1,a.mapiEwsEnabled=!1,a.webdavEnabled=!1,a.webmailEnabledTranslated=n("htmlUnescape")(t.instant("WEBMAIL")),a.smtpEnabledTranslated=n("htmlUnescape")(t.instant("SMTP")),a.imapEnabledTranslated=n("htmlUnescape")(t.instant("IMAP")),a.popEnabledTranslated=n("htmlUnescape")(t.instant("POP")),a.xmppEnabledTranslated=n("htmlUnescape")(t.instant("XMPP")),a.easEnabledTranslated=n("htmlUnescape")(t.instant("ACTIVESYNC")),a.mapiEwsEnabledTranslated=n("htmlUnescape")(t.instant("MAPI_EWS")),a.webdavEnabledTranslated=n("htmlUnescape")(t.instant("WEBDAV"))}a.$inject=["$scope","$http","$filter","$mdDialog","$translate","errorHandling","items"],angular.module("smartermail").controller("modifyProtocolAccess",a)}();
578!function(){"use strict";function e(e,a,i,n){e.name=i,e.defaultValue=n,e.isValid=!0,e.isNameValid=!0,e.editing=!!i,e.isNew=void 0==
578=i,e.save=function(){if(!(e.isValid=(e.isNameValid=e.name&&e.name.length>0,e.isNameValid)))return;a.hide({name:e.name,defaultValue:e.defaultValue})},e.cancel=function(){a.cancel()},e.deleteItem=function(){if(e.isNew)return;a.hide({delete:!0})},e.$watch("name",(function(a,i){a!==i&&(e.isNameValid=e.name&&e.name.length>0,e.isValid=!0)}))}e.$inject=["$scope","$mdDialog","name","defaultValue"],angular.module("smartermail").controller("sharedEditCustomFieldController",e)}();
579!function(){"use strict";function I(I,t,e,A,n,a,N,E,S,o){I.name=S.name,I.listId=o,I.isDefault=!S.lastModified,I.editedOn=moment.utc(S.lastModified,"YYYY-MM-DD HH:mm").format("YYYY")<100?A("translate")("NA"):A("friendlyDateTimeLocalized")(S.lastModified),I.body=S.body,I.needsSubject=S.needsSubject,I.subject=S.subject,I.translatedName=A("translate")("MAILING_LISTS_MESSAGE_TYPES_"+I.name.toUpperCase()),I.variables=Object.keys(function(){const t=I.name.toUpperCase(),e={};"FOOTER"===t||"HEADER"===t||"DIGESTFOOTER"===t||"DIGESTHEADER"===t||"DIGESTSEPARATOR"===t?(e["#UnsubscribeLink#"]=a.instant("MAILING_LISTS_VARIABLE_UNSUBSCRIBELINK"),e["#Recipient"]=a.instant("RECIPIENT")):"FAILEDTOSETDIGESTMODE"!==t&&"SETDIGESTMODE"!==t&&"FAILEDTOSETSTANDARDMODE"!==t&&"SETSTANDARDMODE"!==t&&"SUBSCRIBE"!==t||(e["#UnsubscribeLink#"]=a.instant("MAILING_LISTS_VARIABLE_UNSUBSCRIBELINK"));e["#Sender#"]=a.instant("SENDER"),e["#DomainDateNow#"]=a.instant("MAILING_LISTS_VARIABLE_DOMAINDATENOW"),e["#DomainTimeNow#"]=a.instant("MAILING_LISTS_VARIABLE_DOMAINTIMENOW"),e["#DomainDateTimeNow#"]=a.instant("MAILING_LISTS_VARIABLE_DOMAINDATETIMENOW"),e["#DomainDayNow#"]=a.instant("MAILING_LISTS_VARIABLE_DOMAINDAYNOW"),e["#DomainMonthNow#"]=a.instant("MAILING_LISTS_VARIABLE_DOMAINMONTHNOW"),e["#DomainYearNow#"]=a.instant("MAILING_LISTS_VARIABLE_DOMAINYEARNOW"),e["#DomainDayNameNow#"]=a.instant("MAILING_LISTS_VARIABLE_DOMAINDAYNAMENOW"),e["#DomainMonthNameNow#"]=a.instant("MAILING_LISTS_VARIABLE_DOMAINMONTHNAMENOW"),"HELPMESSAGE"!==t&&"DOUBLEOPTIN"!==t&&"PRIVATELIST"!==t&&(e["#ModeratorDateNow#"]=a.instant("MAILING_LISTS_VARIABLE_MODERATORDATENOW"),e["#ModeratorTimeNow#"]=a.instant("MAILING_LISTS_VARIABLE_MODERATORTIMENOW"),e["#ModeratorDateTimeNow#"]=a.instant("MAILING_LISTS_VARIABLE_MODERATORDATETIMENOW"),e["#ModeratorDayNow#"]=a.instant("MAILING_LISTS_VARIABLE_MODERATORDAYNOW"),e["#ModeratorMonthNow#"]=a.instant("MAILING_LISTS_VARIABLE_MODERATORMONTHNOW"),e["#ModeratorYearNow#"]=a.instant("MAILING_LISTS_VARIABLE_MODERATORYEARNOW"),e["#ModeratorDayNameNow#"]=a.instant("MAILING_LISTS_VARIABLE_MODERATORDAYNAMENOW"),e["#ModeratorMonthNameNow#"]=a.instant("MAILING_LISTS_VARIABLE_MODERATORMONTHNAMENOW"));return e["#ServerDateNow#"]=a.instant("MAILING_LISTS_VARIABLE_SERVERDATENOW"),e["#ServerTimeNow#"]=a.instant("MAILING_LISTS_VARIABLE_SERVERTIMENOW"),e["#ServerDateTimeNow#"]=a.instant("MAILING_LISTS_VARIABLE_SERVERDATETIMENOW"),e["#ServerDayNow#"]=a.instant("MAILING_LISTS_VARIABLE_SERVERDAYNOW"),e["#ServerMonthNow#"]=a.instant("MAILING_LISTS_VARIABLE_SERVERMONTHNOW"),e["#ServerYearNow#"]=a.instant("MAILING_LISTS_VARIABLE_SERVERYEARNOW"),e["#ServerDayNameNow#"]=a.instant("MAILING_LISTS_VARIABLE_SERVERDAYNAMENOW"),e["#ServerMonthNameNow#"]=a.instant("MAILING_LISTS_VARIABLE_SERVERMONTHNAMENOW"),e}()),I.editorScope={},I.afcontext="domainshare",I.domainOverride=t.secondaryImpersonationDomain||E.user.domain,I.save=function(){const t=I.editorScope.getHtml();N((function(){e.hide({name:I.name,subject:I.subject,body:t})}))},I.reset=function(){e.hide({reset:!0})},I.cancel=function(){e.cancel()}}I.$inject=["$scope","$rootScope","$mdDialog","$filter","$log","$translate","$timeout","userDataService","message","listId"],angular.module("smartermail").controller("sharedEditSystemMessageController",I)}();
580!function(){"use strict";function r(r,e,t,n,i){var s=this;r.listAddress="",r.isValid=!0,r.isListAddressValid=!0,s.currentModerator="",r.save=function(e){if(e.$invalid)return;t.hide({listAddress:r.listAddress,moderator:s.currentModerator})},r.cancel=function(){t.cancel()},s.queryUsers=function(r){if(r.length>0)return e.get(`~/api/v1/settings/domain/list-usernames/?usersToReturn=50&includeDomain=true&search=${r}`).then((function(r){return r.data.usernames}),i.report).catch((function(){return[]}));return $q.when([])}}
580r.$inject=["$scope","$http","$mdDialog","claimsService","errorHandling"],angular.module("smartermail").controller("sharedNewMailingListController",r)}();
581!function(){"use strict";function i(i,e,l,a,t){i.email=a,i.subscriberType=t.toUpperCase(),i.isValid=!0,i.isEmailValid=!0,i.isNew=void 0===a,i.save=function(){if(!(i.isValid=l.isValidEmail()))return;e.hide({email:i.email})},i.cancel=function(){e.cancel()},i.deleteItem=function(){i.isNew||e.hide({delete:!0})},i.$watch("email",(function(e,a){e!==a&&(i.isEmailValid=i.email&&i.email.length>0&&l.isValidEmail(i.email),i.isValid=!0)}))}i.$inject=["$scope","$mdDialog","emailValidationService","email","subscriberType"],angular.module("smartermail").controller("sharedEditPosterController",i)}();
582!function(){"use strict";function e(e,s,i,a,l,r,n,t,d,u,c,m){var o,b;function g(s){e.invalidEmails=[],e.emailAddresses=s.emailAddresses.$viewValue;for(var i=e.emailAddresses?e.emailAddresses.split("\n"):[],a=0;a<i.length;a++)(i[a]||a!=i.length-1)&&(r.isValidEmail(i[a])||e.invalidEmails.push({invalidEmailIndex:a,emailToFix:i[a]}))}this.mailingListId=l.params.id,e.isDomain="domain"===l.params.type,e.newItem=u,e.subscriber={},e.mailingLists=[],e.selectedTab=0,e.subscriberId=t,e.subscriberEmail=d,e.save=function(){e.subscriber.subscribedLists=[],angular.forEach(e.subscriber.subscribedListObject,(function(s,i){s&&e.subscriber.subscribedLists.push(parseInt(i))})),e.subscriber.subscribedDigests=[],angular.forEach(e.subscriber.subscribedDigestObject,(function(s,i){s&&e.subscriber.subscribedDigests.push(parseInt(i))})),e.subscriber.fieldValues&&angular.forEach(e.subscriber.fieldValues,(function(e){e.value&&0!==e.value.length||(e.value=e.defaultValue)}));var i=e.emailAddresses.split("\n");i=$.grep(i,(function(e){return e&&e.length>0})),s.hide({emailAddresses:i,subscriber:e.subscriber})},e.cancel=function(){s.cancel()},e.resetBounces=function(s){a.post("~/api/v1/settings/domain/subscriber-clear-bounce-count",{input:e.subscriberEmail}).then((function(){s.$setDirty(),c.report("SUCCESS"),e.subscriber.bounces.length=0,e.subscriber.bounceCount=0}),m.report)},e.openMessage=function(e){},e.getInvalidEmails=g,e.fixInvalidEmail=function(s,i){var a=e.emailAddresses.split("\n");a[i.invalidEmailIndex]=i.emailToFix,e.emailAddresses=a.join("\n"),s.emailAddresses.$viewValue=e.emailAddresses,s.emailAddresses.$modelValue=e.emailAddresses,s.emailAddresses.$commitViewValue(),s.emailAddresses.$rollbackViewValue(),g(s)},e.removeInvalidEmail=function(s,i){var a=e.emailAddresses.split("\n");a.splice(i.invalidEmailIndex,1),e.emailAddresses=a.join("\n"),s.emailAddresses.$viewValue=e.emailAddresses,s.emailAddresses.$modelValue=e.emailAddresses,s.emailAddresses.$commitViewValue(),s.emailAddresses.$rollbackViewValue(),g(s)},o=i.defer(),(b=[]).push(a.get("~/api/v1/settings/domain/mailing-lists/list")),b.push(n.settingsData.customFields),i.all(b).then((function(s){e.mailingLists=s[0].data.items||[],e.mailingLists.sort((function(e,s){return e.listAddress.localeCompare(s.listAddress)})),u.mailingListID&&angular.forEach(e.mailingLists,(function(e){e.id===u.mailingListID&&(e.selected=!0)})),o.resolve()}),(function(){o.reject()}))}e.$inject=["$scope","$mdDialog","$q","$http","$state","emailValidationService","coreDataDomainSettings","id","email","newItem","successHandling","errorHandling"],angular.module("smartermail").controller("sharedAddSubscriberController",e)}();
583!function(){"use strict";function s(s,e,i,t,r,a,n,l,c,u,d,b,o,m){var g,p,f=this;f.mailingListId=Number(b),s.isDomain="domain"===a.params.type,s.subscriber={},s.mailingLists=[],s.selectedTab=0,s.subscriberId=u,s.subscriberEmail=d,s.save=function(){s.subscriber.subscribedLists=[],angular.forEach(s.subscriber.subscribedListObject,(function(e,i){e&&s.subscriber.subscribedLists.push(parseInt(i))})),s.subscriber.subscribedDigests=[],angular.forEach(s.subscriber.subscribedDigestObject,(function(e,i){e&&s.subscriber.subscribedDigests.push(parseInt(i))})),i.hide({subscriber:s.subscriber})},s.cancel=function(){i.cancel()},s.resetBounces=function(e){r.post("~/api/v1/settings/domain/mailing-lists/subscriber-clear-bounce-count",{input
583:s.subscriberEmail}).then((function(){e.$setDirty(),o.report("SUCCESS"),s.subscriber.bounces=[],s.subscriber.bounceCount=0,s.bounceLog=[]}),m.report)},s.openMessage=function(s){},s.getInvalidEmails=h,s.fixInvalidEmail=function(e,i){var t=s.emailAddresses.split("\n");t[i.invalidEmailIndex]=i.emailToFix,s.emailAddresses=t.join("\n"),e.emailAddresses.$viewValue=s.emailAddresses,e.emailAddresses.$modelValue=s.emailAddresses,e.emailAddresses.$commitViewValue(),e.emailAddresses.$rollbackViewValue(),h(e)},s.removeInvalidEmail=function(e,i){var t=s.emailAddresses.split("\n");t.splice(i.invalidEmailIndex,1),s.emailAddresses=t.join("\n"),e.emailAddresses.$viewValue=s.emailAddresses,e.emailAddresses.$modelValue=s.emailAddresses,e.emailAddresses.$commitViewValue(),e.emailAddresses.$rollbackViewValue(),h(e)},e.spinner.show(),g=t.defer(),(p=[]).push(r.get("~/api/v1/settings/domain/mailing-lists/list")),p.push(c.settingsData.customFields),p.push(r.get("~/api/v1/settings/domain/mailing-lists/subscriber-details/"+s.subscriberEmail+"/"+f.mailingListId)),t.all(p).then((function(e){s.mailingLists=e[0].data.items||[],s.mailingLists.sort((function(s,e){return s.listAddress.localeCompare(e.listAddress)})),s.customFields=$.extend(!0,[],e[1]),s.subscriber=e[2].data,s.subscriber.subscribedListObject={},angular.forEach(s.subscriber.subscribedLists,(function(e){s.subscriber.subscribedListObject[e]=!0})),s.subscriber.subscribedDigestObject={},angular.forEach(s.subscriber.subscribedDigests,(function(e){s.subscriber.subscribedDigestObject[e]=!0})),angular.forEach(s.subscriber.messageLog,(function(e){angular.forEach(s.mailingLists,(function(s){s.id!==e.mailingListID||(e.mailListName=s.listAddress)}))})),s.bounceLog=A(s.subscriber),g.resolve()}),(function(){g.reject()})).finally(e.spinner.hide);const A=function(e){const i=[],t=s.mailingLists.find((s=>s.id===f.mailingListId)).listAddress;e.messageLog.forEach((s=>{s.mailingListID===f.mailingListId&&i.push({ts:s.sentAt,type:0,listId:s.mailingListID,subject:s.subject||n("translate")("SUBJECT_NOT_AVAILABLE")})})),e.bounces.forEach((s=>{i.push({ts:s.bounceTime,listId:s.id,type:1})})),i.sort(((s,e)=>s.ts.localeCompare(e.ts)));let r={listName:t};const a=[];for(let s=0;s<i.length;s++){let e=i[s];1===e.type?(r.ts||(r.ts=e.ts,r.subject=n("translate")("SUBJECT_NOT_AVAILABLE")),r.bounces.push(e.ts),a.push({listName:r.listName,ts:e.ts,subject:r.subject})):(r.ts=e.ts,r.subject=e.subject,r.bounces=[])}return a};
583function h(e){s.invalidEmails=[],s.emailAddresses=e.emailAddresses.$viewValue;for(var i=s.emailAddresses.split("\n"),t=0;t<i.length;t++)(i[t]||t!=i.length-1)&&(l.isValidEmail(i[t])||s.invalidEmails.push({invalidEmailIndex:t,emailToFix:i[t]}))}}s.$inject=["$scope","$rootScope","$mdDialog","$q","$http","$state","$filter","emailValidationService","coreDataDomainSettings","id","email","mailingListId","successHandling","errorHandling"],angular.module("smartermail").controller("sharedEditSubscriberController",s)}();
584!function(){"use strict";function i(i,e,n,t,o,s,r){var l=this;l.fileCount=0,i.subscriberType=s.subscriberType,i.filterListID=s.filterListID,i.uploaderData=JSON.stringify(s),i.isValid=!1,i.isProcessing=!1,i.uploaderInit=function(e){i.uploaderFunctions=e},i.save=function(){if(!(i.isValid=l.fileCount>0))return;i.isProcessing=!0,i.uploaderFunctions.startUpload()},i.cancel=function(){e.cancel()},i.importFile=function(n,s){s.somePostersNotImported&&o.pop("warning",t.instant("SOME_POSTERS_NOT_IMPORTED"));i.isProcessing=!1,e.hide()},i.uploadFailed=function(){r.report("ERROR_UPLOADING"),i.step=1,i.isProcessing=!1,i.uploaderFunctions.reset()},i.addedFile=function(){i.isValid=!0,i.$applyAsync(),l.fileCount++},i.removedFile=function(){l.fileCount--,l.fileCount<0&&(l.fileCount=0)}}i.$inject=["$scope","$mdDialog","$filter","$translate","toaster","options","errorHandling"],angular.module("smartermail").controller("sharedUploadMailListPostersController",i)}();
585!function(){"use strict";function i(i,n,o,t,e,s,r,a){var l=this;l.isDomain="domain"===t.params.type,l.fileCount=0,i.options=r,i.uploaderData=JSON.stringify(i.options),i.isValid=!1,i.isProcessing=!1,i.uploaderInit=function(n){i.uploaderFunctions=n},i.save=function(){if(!(i.isValid=l.fileCount>0))return;i.isProcessing=!0,i.uploaderFunctions.startUpload()},i.cancel=function(){n.cancel()},i.importFile=function(o,t){t.someSubscribersNotImported&&s.pop("warning",e.instant("SOME_SUBSCRIBERS_NOT_IMPORTED"));i.isProcessing=!1,n.hide()},i.uploadFailed=function(){a.report("ERROR_UPLOADING"),i.isProcessing=!1,i.uploaderFunctions.reset()},i.addedFile=function(){i.isValid=!0,i.$applyAsync(),l.fileCount++},i.removedFile=function(){l.fileCount--,l.fileCount<0&&(l.fileCount=0)}}i.$inject=["$scope","$mdDialog","$filter","$state","$translate","toaster","options","errorHandling"],angular.module("smartermail").controller("sharedUploadSubscribersController",i)}();
586!function(){"use strict";function e(e,t,a,s,i,r,n,c,d,o,h,m){var u=this;u.isNew=h,u.searchGuid=o,u.to="",u.from="",u.subject="",u.startDate=moment().local().subtract(7,"d").startOf("day").toDate(),u.endDate=moment().local().endOf("day").toDate(),u.endDateMax=u.endDate,u.archivesDisabled=!1,u.reindexingArchive=!1;const l=r&&r.$current&&r.$current.name&&r.$current.name.toLowerCase().startsWith("index.sysadmin-manage.dashboard.domain-specific");u.isSysAdmin=n.user.isSysAdmin&&!l,u.archiveType=u.isSysAdmin?"sysadmin":"domain";const D=l?r.params.id:n.user.domain;function v(){u.isNew||i.get(`/api/v1/settings/domain/message-archive-search-info/${u.searchGuid}`).then((function(e){u.archivedSearch=e.data,u.from=u.archivedSearch.searchArgs.from,u.to=u.archivedSearch.searchArgs.to,u.startDate=u.archivedSearch.searchArgs.startDateUtc,u.endDate=u.archivedSearch.searchArgs.endDateUtc,u.subject=u.archivedSearch.searchArgs.subject}),(function(){}))}u.archiveName=u.isSysAdmin?"all":D,u.save=function(){u.startDate.setHours("0"),u.startDate.setMinutes("0"),u.startDate.setSeconds("0"),u.endDate.setHours("23"),u.endDate.setMinutes("59"),u.endDate.setSeconds("59");var e={messageArchiveName:u.archiveName,startDateUtc:u.startDate.toUTCString(),endDateUtc:u.endDate.toUTCString(),searchDescription:u.searchDescription,to:u.to,from:u.from,subject:u.subject};u.isNew||(e.searchGuid=u.searchGuid);i.post("~/api/v1/settings/"+(u.isSysAdmin?"sysadmin":"domain")+"/message-archive-search",JSON.stringify(e)).then((function(e){t.hide({searchGuid:e.data.result})}),m.report)},u.cancel=function(){t.cancel()},u.deleteItem=function(){t.hide({deleteItem:!0})},u.reindexingArchive=d.isMessageArchiveReindexRunning(),u.isSysAdmin?i.get("~/api/v1/settings/sysadmin/domain-archive-rules").then((function(e){u.archiveitems=e.data.rules||[],u.archivesDisabled=u.archiveitems.some((e=>e.isDefault&&e.disabled))}),(function(){})).finally(v):(c.reset(),c.init().then((function(){u.archivesDisabled=!c.domainPermissions.showMessageArchiveSearch}),(function(){})).finally(v))}e.$inject=["$scope","$mdDialog","$filter","$translate","$http","$state","userDataService","coreDataDomainSettings","coreDataSysAdminSettings","searchGuid","isNew","errorHandling"],angular.module("smartermail").controller("messageArchiveEditDialogController",e)}();
587!function(){"use strict";angular.module("smartermail").directive("domainManageCard",[function(){return{restrict:"EA",templateUrl:"app/sysadmin/manage/domains/cards/d
587omain-manage-card.html",controller:function(){}}}])}();
588!function(){"use strict";function a(a,t,e,n,i,s,o,d,r){const c=this;c.os=window.stOS,c.isHA=window.stHA,c.errorMessage=void 0,c.validating=!1,c.pathValidated=!1,c.isBatchMode=!1,c.singleCandidate=null,c.loadingCandidates=!1,c.candidatesLoaded=!1,c.candidates=[],c.selectAll=!1,c.batchStep=0,t.domainPath="",c.validatePath=m,c.onPathChanged=function(){h&&(clearTimeout(h),h=null);l&&(l.resolve(),l=null);c.pathValidated=!1,c.isBatchMode=!1,c.singleCandidate=null,c.validating=!1,c.errorMessage=void 0;var a=c.attachForm&&c.attachForm.domainPath;a&&(a.$setValidity("validateAttachPath",!0),c.attachPathError=void 0);if(!t.domainPath)return;if(a&&a.$error.validateFullyQualifiedDomainPath)return;h=setTimeout((function(){h=null,t.$apply((function(){m()}))}),500)},c.resetPath=function(){c.batchStep=0,c.errorMessage=void 0,u()},c.toggleSelectAll=function(){for(let a=0;a<c.candidates.length;a++)c.candidates[a].canAttach&&(c.candidates[a].selected=c.selectAll)},c.onCandidateToggled=function(){c.selectAll=c.candidates.every((function(a){return!a.canAttach||a.selected}))},c.hasSelectedCandidates=function(){return c.candidates.some((function(a){return a.selected}))},c.canSubmitBatch=A,c.attachBatch=f,c.submit=function(){if(!S())return;c.isBatchMode&&0===c.batchStep?(c.batchStep=1,u()):c.isBatchMode&&1===c.batchStep?f():function(){const n="L"==c.os?t.domainPath.trimEnd("/"):t.domainPath.trimEnd("\\"),o=c.singleCandidate||{},r={domainPath:n,domainArchivePathNew:o.needsMessageArchivePath?o.messageArchivePath:void 0,domainSecondaryStoragePathNew:o.hasSecondaryStorage?o.secondaryStoragePath:void 0,isSplitDomain:!(!c.isHA||!o.isSplit)||void 0};a.spinner.show(),e.post("~/api/v1/settings/sysadmin/attach-domain",JSON.stringify(r)).then((function(){s.pop("success","",d.instant("SUCCESS")),i.hide()})).catch(_).finally((function(){a.spinner.hide()}))}()},c.canSubmit=S,c.submitLabel=d.instant("NEXT"),t.cancel=function(){i.cancel()};var h=null,l=null;function g(a){var t=c.attachForm&&c.attachForm.domainPath;c.attachPathError=d.instant(a),t&&t.$setValidity("validateAttachPath",!1)}function m(){if(!t.domainPath||c.pathValidated)return;var a;c.validating=!0,a=c.attachForm&&c.attachForm.domainPath,c.attachPathError=void 0,a&&a.$setValidity("validateAttachPath",!0),c.isBatchMode=!1,c.pathValidated=!1;const i="L"===c.os?t.domainPath.trimEnd("/"):t.domainPath.trimEnd("\\");l=n.defer(),e.post("~/api/v1/settings/sysadmin/validate-attach-path",JSON.stringify({input:i}),{timeout:l.promise}
588).then((function(a){l=null,c.validating=!1;const t=a.data,e=t.message,n=t.items||[];if("domain"===e&&1===n.length){var i=n[0];if(!i.canAttach)return void g(i.cannotAttachReason||"DOMAIN_PATH_INVALID");c.isBatchMode=!1,c.pathValidated=!0,c.singleCandidate=i,c.singleCandidate.needsMessageArchivePath&&(c.singleCandidate.messageArchivePath=""),c.singleCandidate.hasSecondaryStorage&&(c.singleCandidate.secondaryStoragePath=""),u()}else if("domainRoot"===e&&n.length>0){c.isBatchMode=!0,c.pathValidated=!0,c.candidates=function(a){return a.sort((function(a,t){return a.canAttach!==t.canAttach?a.canAttach?-1:1:a.needsMessageArchivePath!==t.needsMessageArchivePath?a.needsMessageArchivePath?-1:1:a.hasSecondaryStorage!==t.hasSecondaryStorage?a.hasSecondaryStorage?-1:1:(a.domainName||"").localeCompare(t.domainName||"")}))}(n);for(let a=0;a<c.candidates.length;a++)c.candidates[a].needsMessageArchivePath&&(c.candidates[a].messageArchivePath=""),c.candidates[a].hasSecondaryStorage&&(c.candidates[a].secondaryStoragePath=""),c.candidates[a].canAttach&&(c.candidates[a].selected=!0);c.selectAll=!0,c.candidatesLoaded=!0,u()}else g("DOMAIN_PATH_INVALID")})).catch((function(a){(l=null,a&&"abort"===a.xhrStatus)||(c.validating=!1,g(a&&a.data&&a.data.message||"DOMAIN_PATH_INVALID"))}))}function A(){const a=c.candidates.filter((function(a){return a.selected}));return 0!==a.length&&a.every((function(a){return!(a.needsMessageArchivePath&&!a.messageArchivePath)&&!(a.hasSecondaryStorage&&!a.secondaryStoragePath)}))}function u(){c.isBatchMode&&0===c.batchStep?c.submitLabel=d.instant("NEXT"):c.submitLabel=d.instant("ATTACH")}function S(){return!c.validating&&(!!c.pathValidated&&(!(c.attachForm&&!c.attachForm.$valid)&&(!(!c.isBatchMode||0!==c.batchStep)||(!c.isBatchMode||1!==c.batchStep||A()))))}function f(){const t=c.candidates.filter((function(a){return a.selected}));if(0===t.length)return;a.spinner.show(),c.errorMessage=void 0;const n={domains:t.map((function(a){return{domainPath:a.domainPath,domainArchivePathNew:a.needsMessageArchivePath?a.messageArchivePath:void 0,domainSecondaryStoragePathNew:a.hasSecondaryStorage?a.secondaryStoragePath:void 0,isSplitDomain:!(!c.isHA||!a.isSplit)||void 0}}))};e.post("~/api/v1/settings/sysadmin/attach-domain-batch",JSON.stringify(n)).then((function(){s.pop("success","",d.instant("SUCCESS")),i.hide()})).catch((function(a){let t="ERROR_HAS_OCCURRED";a&&a.data&&a.data.message&&(t=a.data.message),s.pop("error","",d.instant(t))})).finally((function(){a.spinner.hide()}))}function _(a){if(a&&a.data&&(c.errorMessage=a.data,a=a.data),a&&a.message){let e="",n=15e3;if("DOMAIN_MANAGEMENT_ATTACH_DOMAIN_CONVERSION_REQUIRED"===a.message)e=d.instant(a.message),c.errorMessage=e,n=1e4;else if("DOMAIN_MANAGEMENT_ATTACH_DOMAIN_FAILED"===a.message)e=d.instant(a.message,{domain:t.domainPath});else if("DOMAIN_OS_ARCHIVE_PATH_NOT_VALID"===a.message)e=d.instant("DOMAIN_OS_ARCHIVE_PATH_ERROR"),c.errorMessage=d.instant(a.message,{operatingSystem:"L"==c.os?"Linux":"Windows"}),n=5e3;else if("DOMAIN_OS_ARCHIVE_PATH_NOT_FOUND"===a.message)e=d.instant("DOMAIN_OS_ARCHIVE_PATH_ERROR"),c.errorMessage=d.instant(a.message),n=5e3;else if("DOMAIN_OS_ARCHIVE_PATH_INVALID_PERMISSIONS"===a.message)e=d.instant("DOMAIN_OS_ARCHIVE_PATH_ERROR"),c.errorMessage=d.instant(a.message),n=5e3;else if("DOMAIN_ADD_ERROR_NAME_IN_USE"===a.message){let i=d.instant(a.message,{name:t.domainPath.substring(t.domainPath.lastIndexOf("/")+1)});e=i,c.errorMessage=i,n=5e3}else"DOMAIN_MANAGEMENT_ATTACH_DOMAIN_DUPLICATE_PART"===a.message?(e=d.instant(a.message,{domain:t.domainPath.substring(t.domainPath.lastIndexOf("/")+1)}),c.errorMessage=e,n=5e3):"ONLY_ONE_DOMAIN_MAY_BE_ATTACHED_AT_ONCE"===a.message?(e=d.instant(a.message),c.errorMessage=e,n=5e3):a.message.split("\n").filter((function(a){return a})).forEach((function(a){e+=d.instant(a)+"\n"}));e=r(e.trim()),e=e.replace(new RegExp("&#10;","g"),"<br>"),s.pop({type:"error",title:null,body:e,timeout:n,bodyOutputType:"trustedHtml"})}else a?s.pop("error",d.instant(a)):s.pop("error",d.instant("ERROR_HAS_OCCURRED"))}}a.$inject=["$rootScope","$scope","$http","$q","$mdDialog","toaster","successHandling","$translate","$sanitize"],angular.module("smartermail").controller("attachDomainsController",a)}();
589!function(){"use strict";function e(e,a,i,t,n,o,s,r){var d=this;function m(e){if(e&&e.data&&(d.errorMessage=e.data),(e=e.data)&&e.message){var i="",t=15e3;if("DOMAIN_MANAGEMENT_ATTACH_DOMAIN_CONVERSION_REQUIRED"===e.message)i=s.instant(e.message),d.errorMessage=i,t=1e4;else if("DOMAIN_MANAGEMENT_ATTACH_DOMAIN_FAILED"===e.message)i=s.instant(e.message,{domain:a.domainPath});else{if(e.message.contains("OS_ARCHIVE_PATH_CONVERSION|")){d.osPathConversionNeeded=!0;var o=e.message.split("|");return""!==o[1]&&(d.domainArchivePathOld=o[1],d.domainArchivePathNew=o[1],d.archivePathConversionNeeded=!0),void(""!==o[2]&&(
589d.secondaryStoragePathOld=o[2],d.secondaryStoragePathNew=o[2],d.secondaryStorageConversionNeeded=!0))}if("DOMAIN_OS_ARCHIVE_PATH_NOT_VALID"===e.message)i=s.instant("DOMAIN_OS_ARCHIVE_PATH_ERROR"),d.errorMessage=s.instant(e.message,{operatingSystem:"L"==d.os?"Linux":"Windows"}),t=5e3;else if("DOMAIN_OS_ARCHIVE_PATH_NOT_FOUND"===e.message)i=s.instant("DOMAIN_OS_ARCHIVE_PATH_ERROR"),d.errorMessage=s.instant(e.message),t=5e3;else if("DOMAIN_OS_ARCHIVE_PATH_INVALID_PERMISSIONS"===e.message)i=s.instant("DOMAIN_OS_ARCHIVE_PATH_ERROR"),d.errorMessage=s.instant(e.message),t=5e3;else if("DOMAIN_ADD_ERROR_NAME_IN_USE"===e.message){let n=s.instant(e.message,{name:a.domainPath.substring(a.domainPath.lastIndexOf("/")+1)});i=n,d.errorMessage=n,t=5e3}else"DOMAIN_MANAGEMENT_ATTACH_DOMAIN_DUPLICATE_PART"===e.message?(i=s.instant(e.message,{domain:a.domainPath.substring(a.domainPath.lastIndexOf("/")+1)}),d.errorMessage=i,t=5e3):"ONLY_ONE_DOMAIN_MAY_BE_ATTACHED_AT_ONCE"===e.message?(i=s.instant(e.message),d.errorMessage=i,t=5e3):e.message.split("\n").filter((function(e){return e})).forEach((function(e){i+=s.instant(e)+"\n"}))}i=(i=r(i.trim())).replace(new RegExp("&#10;","g"),"<br>"),n.pop({type:"error",title:null,body:i,timeout:t,bodyOutputType:"trustedHtml"})}else e?n.pop("error",s.instant(e)):n.pop("error",s.instant("ERROR_HAS_OCCURRED"))}d.os=window.stOS,d.isHA=window.stHA,d.osPathConversionNeeded=!1,d.archivePathConversionNeeded=!1,d.secondaryStorageConversionNeeded=!1,d.domainArchivePathNew=void 0,d.domainArchivePathOld=void 0,d.secondaryStoragePathNew=void 0,d.secondaryStoragePathOld=void 0,d.errorMessage=void 0,d.isSplitDomain=!1,a.domainPath="",a.attach=function(o){if(!o.$valid)return void(o.$submitted=!0);var r=void 0;r=void 0===d.domainArchivePathNew&&void 0===d.secondaryStoragePathNew?JSON.stringify({domainPath:"L"==d.os?a.domainPath.trimEnd("/"):a.domainPath.trimEnd("\\"),isSplitDomain:d.isHA?d.isSplitDomain:void 0}):void 0===d.secondaryStoragePathNew&&void 0!==d.domainArchivePathNew?JSON.stringify({domainPath:"L"==d.os?a.domainPath.trimEnd("/"):a.domainPath.trimEnd("\\"),domainArchivePathNew:"L"==d.os?d.domainArchivePathNew.trimEnd("/"):d.domainArchivePathNew.trimEnd("\\"),isSplitDomain:d.isHA?d.isSplitDomain:void 0}):void 0!==d.secondaryStoragePathNew&&void 0===d.domainArchivePathNew?JSON.stringify({domainPath:"L"==d.os?a.domainPath.trimEnd("/"):a.domainPath.trimEnd("\\"),domainSecondaryStoragePathNew:"L"==d.os?d.secondaryStoragePathNew.trimEnd("/"):d.secondaryStoragePathNew.trimEnd("\\"),isSplitDomain:d.isHA?d.isSplitDomain:void 0}):JSON.stringify({domainPath:"L"==d.os?a.domainPath.trimEnd("/"):a.domainPath.trimEnd("\\"),domainArchivePathNew:"L"==d.os?d.domainArchivePathNew.trimEnd("/"):d.domainArchivePathNew.trimEnd("\\"),domainSecondaryStoragePathNew:"L"==d.os?d.secondaryStoragePathNew.trimEnd("/"):d.secondaryStoragePathNew.trimEnd("\\"),isSplitDomain:d.isHA?d.isSplitDomain:void 0});e.spinner.show(),i.post("~/api/v1/settings/sysadmin/attach-domain",r).then((function(){d.errorMessage=void 0,d.osPathConversionNeeded=!1,d.archivePathConversionNeeded=!1,d.secondaryStorageConversionNeeded=!1})).catch(m).finally((function(){void 0!==d.errorMessage||!0===d.osPathConversionNeeded?e.spinner.hide():(n.pop("success","",s.instant("SUCCESS")),e.spinner.hide(),t.hide())}))},a.cancel=function(){t.cancel()}}e.$inject=["$rootScope","$scope","$http","$mdDialog","toaster","successHandling","$translate","$sanitize"],angular.module("smartermail").controller("attachDomainController",e)}();
590!function(){"use strict";function i(i,n,a,e,t,r,s,o,c,h){var d=this;d.domain=t,d.path=s,d.primaryPath=h,d.secondaryAge=o,d.isPrimary="PRIMARY"===r,d.isSecondary="SECONDARY"===r,d.isDisabling=c,d.isNew=!s||0===s.length,d.cancel=function(){n.cancel()},d.disable=function(){n.hide({status:"DISABLE"})},d.save=function(e){if(d.isPrimary)return void n.cancel();if(e.$pending||e.$invalid)return;let t=JSON.stringify({path:d.path});a.spinner.show(),i.post("~/api/v1/settings/sysadmin/verify-path",t).then((function(i){a.spinner.hide(),n.hide({status:"UPDATED",path:d.path,age:d.secondaryAge})}),(function(i){$scope.messageArchivingForm.archivePath.$setValidity("requiresNoUnc",!1),a.spinner.hide()}))}}i.$inject=["$http","$mdDialog","$rootScope","errorHandling","domain","mode","path","secondaryAge","isDisabling","primaryPath"],angular.module("smartermail").controller("domainPathController",i)}();
591!function(){"use strict";function e(e,a,t,s,l,i,n,o,d,r){var u,c=this;function E(){a.settingOptions=[{cat:"OPTIONS",id:"isEnabled",translation:"STATUS",value:S(c.defaults.isEnabled)},{cat:"OPTIONS",id:"hostname",translation:"HOSTNAME",value:c.defaults.hostname}],a.propagateToNodes||(a.settingOptions=a.settingOptions.concat([{cat:"OUTGOING",id:"outgoingIP",translation:"OUTBOUND_IPV4",value:N(c.defaults.outgoingIP)},{cat:"OUTGOING",id:"outgoingIPv6",translation:"OUTBOUND_IPV6",value:N(c.defaults.outgoingIPv6)},{cat:"OUTGOING",id:"gatewayGuid",translation:"GATEWAY_OUT_OPTIONS",value:b(c.defaults.gatewayGuid)}]),c.defaults.gatewayGuid&&"d491170755ff0d149514ad23e2705ad8"!==c.defaults.gatewayGuid&&a.settingOptions.push({cat:"OUTGOING",id:"gatewayFailover",translation:"SYSADMIN_SETTINGS_ENABLE_PRIMARY_IP_ON_FAILURE",value:f(c.defaults.gatewayFailover)})),a.settingOptions=a.settingOptions.concat([{cat:"LIMITS",id:"maxDomainSize",translation:"DOMAIN_MANAGEMENT_LIMITS_DISK_SPACE",value:A(parseInt(c.defaults.maxDomainSize,10)/1048576)},{cat:"LIMITS",id:"maxDomainAliases",translation:"DOMAIN_MANAGEMENT_LIMITS_DOMAIN_ALIAS",value:A(c.defaults.maxDomainAliases)},{cat:"LIMITS",id:"maxUsers",translation:"DOMAIN_MANAGEMENT_LIMITS_USER",value:A(c.defaults.maxUsers)},{cat:"LIMITS",id:"maxAliases",translation:"DOMAIN_MANAGEMENT_LIMITS_ALIAS",value:A(c.defaults.maxAliases)},{cat:"LIMITS",id:"maxMessageSize",translation:"MAX_MESSAGE_SIZE",value:A(c.defaults.maxMessageSize/1024)},{cat:"LIMITS",id:"maxRecipients",translation:"DOMAIN_MANAGEMENT_LIMITS_RECIPIENT",value:A(c.defaults.maxRecipients)},{cat:"LIMITS",id:"maxAttachedFileSize",translation:"MAX_ATTACHED_FILE_SIZE",value:A(c.defaults.maxAttachedFileSize/1024)},{cat:"FEATURES",id:"activeDirectoryIntegration",translation:"DOMAIN_MANAGEMENT_FEATURES_ACTIVE_DIRECTORY",value:f(c.defaults.activeDirectoryIntegration)},{cat:"FEATURES",id:"enableMailForwarding",translation:"AUTOMATED_FORWARD
591ING",value:f(c.defaults.enableMailForwarding)},{cat:"FEATURES",id:"catchAllEnabled",translation:"CATCH_ALL_ALIAS",value:f(c.catchAllEnabled)},{cat:"FEATURES",id:"enableGoogleDriveIntegration",translation:"CLOUD_STORAGE_CONNECTIONS",value:f(c.defaults.enableGoogleDriveIntegration)},{cat:"FEATURES",id:"enableDisposableAddresses",translation:"DISPOSABLE_ADDRESS",value:f(c.defaults.enableDisposableAddresses)},{cat:"FEATURES",id:"enableDomainHistory",translation:"DOMAIN_MANAGEMENT_FEATURES_DOMAIN_HISTORY",value:f(c.defaults.enableDomainHistory)},{cat:"FEATURES",id:"enableSharing",translation:"FOLDER_SHARING",value:f(c.defaults.enableSharing)},{cat:"FEATURES",id:"sharedGAL",translation:"GLOBAL_ADDRESS_LIST",value:f(c.defaults.sharedGAL)},{cat:"FEATURES",id:"enableRssFeed",translation:"RSS_FEEDS",value:f(c.defaults.enableRssFeed)},{cat:"FEATURES",id:"customLoginDisplay",translation:"DOMAIN_MANAGEMENT_FEATURES_LOGIN_CUSTOMIZATION",value:f(c.defaults.customLoginDisplay)},{cat:"ENABLE_CLASSIFICATION",id:"enableClassification",translation:"ENABLE_CLASSIFICATION",value:f(c.defaults.enableClassification)},{cat:"ENABLE_CLASSIFICATION",id:"maxClassificationInboxMessages",translation:"MAX_CLASSIFICATION_INBOX_MESSAGES",value:c.defaults.maxClassificationInboxMessages},{cat:"MARKET_PLACE",id:"domainAdminCanOverride",translation:"DOMAIN_MANAGEMENT_ALLOW_OVERRIDE",value:f(c.defaults.marketplaceSettings.domainAdminCanOverride)},{cat:"MARKET_PLACE",id:"chatGPTEnabled",translation:"CHATGPT",value:f(c.defaults.marketplaceSettings.chatGPTEnabled)},{cat:"MARKET_PLACE",id:"collaboraEnabled",translation:"WOPI_INTEGRATION",value:f(c.defaults.marketplaceSettings.collaboraEnabled)},{cat:"MARKET_PLACE",id:"dropboxEnabled",translation:"DROPBOX",value:f(c.defaults.marketplaceSettings.dropboxEnabled)},{cat:"MARKET_PLACE",id:"emClientEnabled",translation:"EMCLIENT",value:f(c.defaults.marketplaceSettings.emclientEnabled)},{cat:"MARKET_PLACE",id:"googleDriveEnabled",translation:"GOOGLEDRIVE",value:f(c.defaults.marketplaceSettings.googleDriveEnabled)},{cat:"MARKET_PLACE",id:"leitzcloudEnabled",translation:"LEITZCLOUD",value:f(c.defaults.marketplaceSettings.leitzcloudEnabled)},{cat:"MARKET_PLACE",id:"oneDriveEnabled",translation:"ONEDRIVE",value:f(c.defaults.marketplaceSettings.oneDriveEnabled)},{cat:"MARKET_PLACE",id:"onlyOfficeEnabled",translation:"ONLYOFFICE_INTEGRATION",value:f(c.defaults.marketplaceSettings.onlyOfficeEnabled)},{cat:"MARKET_PLACE",id:"owncloudEnabled",translation:"OWNCLOUD",value:f(c.defaults.marketplaceSettings.owncloudEnabled)},{cat:"MARKET_PLACE",id:"rocketChatEnabled",translation:"ROCKETCHAT",value:f(c.defaults.marketplaceSettings.rocketChatEnabled)},{cat:"MARKET_PLACE",id:"smarterMailChatEnabled",translation:"SMARTERMAILCHAT",value:f(c.defaults.marketplaceSettings.smarterMailChatEnabled)},{cat:"MARKET_PLACE",id:"smarterMailFileStoreEnabled",translation:"SMARTERMAILFILESTORE",value:f(c.defaults.marketplaceSettings.smarterMailFileStoreEnabled)},{cat:"MARKET_PLACE",id:"smarterMailOnlineMeetingsEnabled",translation:"SMARTERMAILONLINEMEETINGS",value:f(c.defaults.marketplaceSettings.smarterMailOnlineMeetingsEnabled)},{cat:"MARKET_PLACE",id:"zoomEnabled",translation:"ZOOM",value:f(c.defaults.marketplaceSettings.zoomEnabled)},{cat:"MARKET_PLACE",id:"vBoxxEnabled",translation:"VBOXX",value:f(c.defaults.marketplaceSettings.vBoxxEnabled)},{cat:"ONLYOFFICE_INTEGRATION",id:"onlyOfficeServerUrl",translation:"SERVER_ADDRESS",value:c.defaults.onlyofficeSettings.serverUrl},{cat:"ONLYOFFICE_INTEGRATION",id:"onlyOfficeMaxConnections",translation:"MAX_CONNECTIONS_ZERO_UNLIMITED",value:A(c.defaults.onlyofficeSettings.maxConnections)},{cat:"ONLYOFFICE_INTEGRATION",id:"onlyOfficeMaxConnectionsPerUser",translation:"MAX_CONNECTIONS_PER_USER_ZERO_UNLIMITED",value:A(c.defaults.onlyofficeSettings.maxConnectionsPerUser)},{cat:"WOPI_INTEGRATION",id:"wopiServerUrl",translation:"SERVER_ADDRESS",value:c.defaults.wopiSettings.serverUrl},{cat:"WOPI_INTEGRATION",id:"wopiMaxConnections",translation:"MAX_CONNECTIONS_ZERO_UNLIMITED",value:A(c.defaults.wopiSettings.maxConnections)},{cat:"WOPI_INTEGRATION",id:"wopiMaxConnectionsPerUser",translation:"MAX_CONNECTIONS_PER_USER_ZERO_UNLIMITED",value:A(c.defaults.wopiSettings.maxConnectionsPerUser)},{cat:"EAS_ENTERPRISE_ONLY",id:"enableRemoteWipe",translation:"REMOTE_WIPE",value:f(c.defaults.enableRemoteWipe)},{cat:"EAS_ENTERPRISE_ONLY",id:"enableActiveSyncAccountManagement",translation:"DOMAIN_MANAGEMENT_FEATURES_ACTIVESYNC_USER",value:f(c.defaults.enableActiveSyncAccountManagement)},{cat:"EAS_ENTERPRISE_ONLY",id:"maxActiveSyncAccounts",translation:"DOMAIN_MANAGEMENT_LIMITS_ACTIVESYNC",value:A(c.defaults.maxActiveSyncAccounts)},{cat:"MAPI_EWS_ENTERPRISE",id:"enableMapiEwsAccountManagement",translation:"DOMAIN_MANAGEMENT_FEATURES_MAPIEWS_USER",value:f(c.defaults.enableMapiEwsAccountManagement)},{cat:"MAPI_EWS_ENTERPRISE",id:"maxMapiEwsAccounts",translation:"DOMAIN_MANAGEMENT_LIMITS_ACTIVESYNC",value:A(c.defaults.maxMapiEwsAccounts)},{cat:"EMAIL",id:"defaultSpamRelayOption",translation:"AUTORESPONDER_EXCLUSIONS",value:p(c.defaults.defaultSpamRelayOption)},{cat:"EMAIL",id:"defaultSpamForwardOption",translation:"DOMAIN_MANAGEMENT_FORWARD_EXCLUSIONS",value:O(c.defaults.defaultSpamForwardOption)},{cat:"EMAIL",id:"enableGreylisting",translation:"ENABLE_GREYLISTING",value:f(c.enableGreylisting)},{cat:"EMAIL",id:"enableSenderVerification",translation:"ENABLE_SENDER_VERIFICATION",value:f(c.defaults.enableSenderVerification)},{cat:"EMAIL",id:"defaultDomainLocation",translation:"DOMAIN_MANAGEMENT_MESSAGE_DELIVERY",value:I(c.defaults.domainLocation)},{cat:"MAILING_LISTS",id:"showListMenu",translation:"MAILING_LISTS",value:f(c.defaults.showListMenu)},{cat:"MAILING_LISTS",id:"listCommandAddress",translation:"DOMAIN_MANAGEMENT_MAILING_LIST_NAME",value:c.defaults.listCommandAddress},{cat:"MAILING_LISTS",id:"maxLists",translation:"DOMAIN_MANAGEMENT_LIMITS_MAILING_LIST",value:A(c.defaults.maxLists)},{cat:"MAILING_LISTS",id:"mailingListMaxMessageSize",translation:"MAX_MESSAGE_SIZE",value:A(c.defaults.mailingListMaxMessageSize/1024)},{cat:"SECURITY",id:"twoStepVerificationOption",translation:"TWO_FACTOR",value:g(c.defaults.twoStepVerificationOption)},{cat:"SECURITY",id:"enableTlsIfAvailable",translation:"SYSADMIN_SETTINGS_ENABLE_TLS_IF_SUPPORTED_BY_REMOTE_SERVER",value:f(c.defaults.enableTlsIfAvailable)},{cat:"SECURITY",id:"defaultSrsEnabled",translation:"ENABLE_SRS_WHEN_FORWARD
591ING_MESSAGES",value:f(c.defaults.defaultSrsEnabled)},{cat:"SECURITY",id:"smtpAuthenticationRequired",translation:"REQUIRE_SMTP_AUTHENTICATION",value:f(c.defaults.smtpAuthenticationRequired)},{cat:"SECURITY",id:"sslRequired",translation:"DOMAIN_MANAGEMENT_SSL_REQUIRED",value:f(c.defaults.sslRequired)}]),c.defaults.zoomAvailable||(a.settingOptions=a.settingOptions.filter((e=>"zoomEnabled"!==e.id))),1===c.defaults.domainLocation&&a.settingOptions.push({cat:"EMAIL",id:"deliverLocallyForExternalDomain",translation:"DOMAIN_MANAGEMENT_DELIVER_LOCALLY",value:f(c.defaults.deliverLocallyForExternalDomain)}),c.canChangeShowPassword&&a.settingOptions.push({cat:"SECURITY",id:"enableShowPasswords",translation:"ALLOW_SHOW_PASSWORD",value:f(c.defaults.enableShowPasswords)}),a.settingOptions=a.settingOptions.concat([{cat:"MISCELLANEOUS",id:"postmasterMailbox",translation:"POSTMASTER_MAILBOX",value:c.defaults.postmasterMailbox},{cat:"MISCELLANEOUS",id:"showDomainAliasMenu",translation:"DOMAIN_MANAGEMENT_ALLOW_DOMAIN_ALIAS_FOR_ADMINS",value:f(c.defaults.showDomainAliasMenu)},{cat:"MISCELLANEOUS",id:"allowUserSizeChanging",translation:"DOMAIN_MANAGEMENT_ALLOW_SIZE_CHANGING",value:f(c.defaults.allowUserSizeChanging)},{cat:"MISCELLANEOUS",id:"allowUserProfileEdits",translation:"DOMAIN_MANAGEMENT_ALLOW_USER_PROFILE_EDITS",value:f(c.defaults.allowUserProfileEdits)},{cat:"MISCELLANEOUS",id:"ldapDisallowOptOut",translation:"DOMAIN_MANAGEMENT_LDAP_OPT_OUT",value:f(c.ldapDisallowOptOut)},{cat:"MISCELLANEOUS",id:"excludeIPFromReceivedLine",translation:"DOMAIN_MANAGEMENT_EXCLUDE_IP_RECEIVED",value:f(c.defaults.excludeIPFromReceivedLine)},{cat:"VIDEO_CONFERENCING_WEBRTC",id:"webRtcServers",translation:"STUNTURN_SERVERS",value:v(c.defaults.marketplaceSettings.smarterMailOnlineMeetingsEnabled?c.defaults.webRtcServers:[])},{cat:"PRIORITY_AND_THROTTLING",id:"messagePriority",translation:"DELIVERY_PRIORITY",value:M(c.defaults.messagePriority)},{cat:"PRIORITY_AND_THROTTLING",id:"messagesPerHour",translation:"DOMAIN_MANAGEMENT_OUTGOING_PER_HOUR",value:A(c.defaults.throttleSettings.messagesPerHour)},{cat:"PRIORITY_AND_THROTTLING",id:"messagesAction",translation:"DOMAIN_MANAGEMENT_MESSAGE_THROTTLING",value:T(c.defaults.throttleSettings.messagesAction)},{cat:"PRIORITY_AND_THROTTLING",id:"bandwidthPerHour",translation:"DOMAIN_MANAGEMENT_OUTGOING_BANDWIDTH",value:A(c.defaults.throttleSettings.bandwidthPerHour)},{cat:"PRIORITY_AND_THROTTLING",id:"bandwidthAction",translation:"DOMAIN_MANAGEMENT_BANDWIDTH_THROTTLING",value:T(c.defaults.throttleSettings.bandwidthAction)},{cat:"PRIORITY_AND_THROTTLING",id:"bouncesPerHour",translation:"DOMAIN_MANAGEMENT_BOUNCES_RECEIVED",value:A(c.defaults.throttleSettings.bouncesPerHour)},{cat:"PRIORITY_AND_THROTTLING",id:"bouncesAction",translation:"DOMAIN_MANAGEMENT_BOUNCES_THROTTLING",value:T(c.defaults.throttleSettings.bouncesAction)},{cat:"AUTODISCOVER_POP",id:"popEnabled",translation:"ENABLED",value:f(c.defaults.autoDiscoverSettings.services.pop.enabled)},{cat:"AUTODISCOVER_POP",id:"popPort",translation:"PORT",value:c.defaults.autoDiscoverSettings.services.pop.port},{cat:"AUTODISCOVER_POP",id:"popSecurityLevel",translation:"ENCRYPTION",value:_(c.defaults.autoDiscoverSettings.services.pop.securityLevel)},{cat:"AUTODISCOVER_IMAP",id:"imapEnabled",translation:"ENABLED",value:f(c.defaults.autoDiscoverSettings.services.imap.enabled)},{cat:"AUTODISCOVER_IMAP",id:"imapPort",translation:"PORT",value:c.defaults.autoDiscoverSettings.services.imap.port},{cat:"AUTODISCOVER_IMAP",id:"imapSecurityLevel",translation:"ENCRYPTION",value:_(c.defaults.autoDiscoverSettings.services.imap.securityLevel)},{cat:"AUTODISCOVER_SMTP_IN",id:"SmtpInEnabled",translation:"ENABLED",value:f(c.defaults.autoDiscoverSettings.services.smtp.enabled)},{cat:"AUTODISCOVER_SMTP_IN",id:"SmtpInPort",translation:"PORT",value:c.defaults.autoDiscoverSettings.services.smtp.port},{cat:"AUTODISCOVER_SMTP_IN",id:"SmtpInSecurityLevel",translation:"ENCRYPTION",value:_(c.defaults.autoDiscoverSettings.services.smtp.securityLevel)},{cat:"AUTODISCOVER_EAS",id:"easEnabled",translation:"ENABLED",value:f(c.defaults.autoDiscoverSettings.services.eas.enabled)},{cat:"AUTODISCOVER_EWS",id:"ewsEnabled",translation:"ENABLED",value:f(c.defaults.autoDiscoverSettings.services.ews.enabled)},{cat:"AUTODISCOVER_MAPI",id:"mapiEnabled",translation:"ENABLED",value:f(c.defaults.autoDiscoverSettings.services.mapi.enabled)},{cat:"AUTODISCOVER_DAV",id:"davEnabled",translation:"ENABLED",value:f(c.defaults.autoDiscoverSettings.services.dav.enabled)},{cat:"AUTODISCOVER",id:"overrideDesktopXML",translation:"OVERRIDE_DESKTOP_XML",value:f(c.defaults.autoDiscoverSettings.desktopXMLOverride)},{cat:"AUTODISCOVER",id:"advancedDesktop",translation:"ADVANCED_DESKTOP",value:c.defaults.autoDiscoverSettings.desktopXML?i.instant("SET"):i.instant("NOT_SET")}
591,{cat:"AUTODISCOVER",id:"overrideMobileXML",translation:"OVERRIDE_MOBILE_XML",value:f(c.defaults.autoDiscoverSettings.mobileXMLOverride)},{cat:"AUTODISCOVER",id:"advancedMobile",translation:"ADVANCED_MOBILE",value:c.defaults.autoDiscoverSettings.mobileXML?i.instant("SET"):i.instant("NOT_SET")}]),window.stEnableSpamfoo||(a.settingOptions=a.settingOptions.filter((function(e){return"enableClassification"!==e.id&&"maxClassificationInboxMessages"!==e.id}))),angular.forEach(a.settingOptions,(function(e){e.label=i.instant(e.translation)}))}function A(e){return e?s("number")(e):i.instant("UNLIMITED")}function f(e){return e?i.instant("YES"):i.instant("NO")}function S(e){switch(e){case!0:return i.instant("ENABLED");case!1:return i.instant("DISABLED")}}function b(e){if(!e||"d491170755ff0d149514ad23e2705ad8"===e)return i.instant("NONE");if("11cc1eca0f0a07f1a5f8da323cf7ca7a"===e)return i.instant("ROUND_ROBIN");for(var a=0;a<c.outgoingGateways.length;a++)if(c.outgoingGateways[a].id===e)return c.outgoingGateways[a].address;return i.instant("DEFAULT")}function p(e){switch(e){case 0:return i.instant("AUTO_RESPONDER_NONE");case 1:return i.instant("AUTO_RESPONDER_LOW");case 2:return i.instant("AUTO_RESPONDER_MED");case 3:return i.instant("AUTO_RESPONDER_HIGH")}}function O(e){switch(e){case 0:return i.instant("DOMAIN_MANAGEMENT_FORWARD_NONE");case 1:return i.instant("DOMAIN_MANAGEMENT_FORWARD_LOW");case 2:return i.instant("DOMAIN_MANAGEMENT_FORWARD_MED");case 3:return i.instant("DOMAIN_MANAGEMENT_FORWARD_HIGH")}}function I(e){switch(e){case 0:return i.instant("DOMAIN_MANAGEMENT_LOCAL");case 1:return i.instant("DOMAIN_MANAGEMENT_EXTERNAL_MX")}}function N(e){switch(e=e||""){case"":return i.instant("UNASSIGNED");case"disable":return i.instant("DISABLED");default:return e}}function T(e){switch(e){case 2:return i.instant("NONE");case 1:return i.instant("DELAY");case 0:return i.instant("REJECT")}}function M(e){switch(e){case 100:return i.instant("LOW");case 101:return i.instant("NORMAL");case 102:return i.instant("HIGH")}}function _(e){switch(e){case 0:return i.instant("NONE");case 1:return i.instant("ENCRYPTION_SSL");case 2:return i.instant("ENCRYPTION_TLS")}}function g(e){switch(e){case 0:return i.instant("DISABLED");case 1:return i.instant("ENABLED");case 2:return i.instant("FORCED");case 6:return i.instant("FORCE_LOCKED")}}function v(e){if(!e||0===e.length)return i.instant("NONE");var a="";const t=e.some((e=>0===e.serverType)),s=e.some((e=>1===e.serverType));return t?a=s?`STUN ${i.instant("AND")} TURN`:"STUN":s&&(a="TURN"),a}c.settings=void 0,c.defaults=void 0,c.enableGreylisting=!1,c.ldapDisallowOptOut=!1,c.catchAllEnabled=!1,c.canChangeShowPassword=d.canViewPasswords(),a.selectedOptions={},a.isHA=window.stHA,a.propagateToNodes=!1,a.selectAllValue="all-selected",a.selectedNodes=[],c.previouslyHadSelectAll=!1,a.save=function(){var s=[];if(angular.forEach(a.selectedOptions,(function(e,a){!function(e,a){switch(a){case"domainLocation":case"defaultDomainLocation":e.push({field:101,strValue:c.defaults.domainLocation});break;case"deliverLocallyForExternalDomain":e.push({field:102,boolValue:c.defaults.deliverLocallyForExternalDomain});break;case"maxDomainSize":e.push({field:3,longValue:c.defaults.maxDomainSize});break;case"maxDomainAliases":e.push({field:9,intValue:c.defaults.maxDomainAliases});break;case"showDomainAliasMenu":e.push({field:26,boolValue:c.defaults.showDomainAliasMenu});break;case"maxUsers":e.push({field:10,intValue:c.defaults.maxUsers});break;case"maxAliases":e.push({field:4,intValue:c.defaults.maxAliases});break;case"maxMessageSize":e.push({field:1,intValue:c.defaults.maxMessageSize});break;case"maxRecipients":e.push({field:2,intValue:c.defaults.maxRecipients});break;case"maxAttachedFileSize":e.push({field:143,intValue:c.defaults.maxAttachedFileSize});break;case"maxActiveSyncAccounts":e.push({field:6,intValue:c.defaults.maxActiveSyncAccounts});break;case"enableRemoteWipe":e.push({field:97,boolValue:c.defaults.enableRemoteWipe});break;case"enableActiveSyncAccountManagement":e.push({field:64,boolValue:c.defaults.enableActiveSyncAccountManagement});break;case"bypassGreyListing":case"enableGreylisting":e.push({field:51,boolValue:!c.enableGreylisting});break;case"enableSenderVerification":e.push({field:146,boolValue:c.defaults.enableSenderVerification});break;case"defaultSpamRelayOption":e.push({field:48,strValue:c.defaults.defaultSpamRelayOption});break;case"defaultSpamForwardOption":e.push({field:47,strValue:c.defaults.defaultSpamForwardOption});break;case"showListMenu":e.push({field:27,boolValue:c.defaults.showListMenu});break;case"maxLists":e.push({field:5,intValue:c.defaults.maxLists});break;case"mailingListMaxMessageSize":e.push({field:7,intValue:c.defaults.mailingListMaxMessageSize});break;case"enableTlsIfAvailable":e.push({field:145,boolValue:c.defaults.enableTlsIfAvailable});break;case"defaultSrsEnabled":e.push({field:68,boolValue:c.defaults.defaultSrsEnabled});break;case"smtpAuthenticationRequired":e.push({field:42,boolValue:c.defaults.smtpAuthenticationRequired});break;case"sslRequired":e.push({field:103,boolValue:c.defaults.sslRequired});break;case"ldapDisallowOptOut":e.push({field:46,boolValue:!c.ldapDisallowOptOut});break;case"excludeIPFromReceivedLine":e.push({field:98,boolValue:c.defaults.excludeIPFromReceivedLine});break;case"postmasterMailbox":e.push({field:100,strValue:c.defaults.postmasterMailbox});break;
591case"messagesPerHour":e.push({field:14,intValue:c.defaults.throttleSettings.messagesPerHour});break;case"messagesAction":e.push({field:92,intValue:c.defaults.throttleSettings.messagesAction});break;case"bandwidthPerHour":e.push({field:16,intValue:c.defaults.throttleSettings.bandwidthPerHour});break;case"bandwidthAction":e.push({field:90,intValue:c.defaults.throttleSettings.bandwidthAction});break;case"bouncesPerHour":e.push({field:18,intValue:c.defaults.throttleSettings.bouncesPerHour});break;case"bouncesAction":e.push({field:91,intValue:c.defaults.throttleSettings.bouncesAction});break;case"messagePriority":e.push({field:49,intValue:c.defaults.messagePriority});break;case"catchAllEnabled":e.push({field:33,boolValue:c.catchAllEnabled});break;case"enableGoogleDriveIntegration":e.push({field:65,boolValue:c.defaults.enableGoogleDriveIntegration});break;case"enableDisposableAddresses":e.push({field:66,boolValue:c.defaults.enableDisposableAddresses});break;case"enableDomainHistory":e.push({field:95,boolValue:c.defaults.enableDomainHistory});break;case"enableXmpp":e.push({field:93,boolValue:c.defaults.enableXmpp});break;case"enableFileStorage":e.push({field:28,boolValue:c.defaults.enableFileStorage});break;case"enableTwoFactor":e.push({field:122,boolValue:c.defaults.enableTwoFactor});break;case"customLoginDisplay":e.push({field:94,boolValue:c.defaults.customLoginDisplay});break;case"sharedGAL":e.push({field:57,boolValue:c.defaults.sharedGAL});break;case"enableSharing":e.push({field:151,boolValue:c.defaults.enableSharing});break;case"enableRssFeed":e.push({field:152,boolValue:c.defaults.enableRssFeed});break;case"webRtcServers":e.push({field:141,stunTurnServerList:c.defaults.webRtcServers});break;case"enableShowPasswords":e.push({field:123,boolValue:c.defaults.enableShowPasswords});break;case"hostname":e.push({field:105,strValue:c.defaults.hostname});break;case"popEnabled":e.push({field:106,boolValue:c.defaults.autoDiscoverSettings.services.pop.enabled});break;case"popPort":e.push({field:107,intValue:c.defaults.autoDiscoverSettings.services.pop.port});break;case"popSecurityLevel":e.push({field:108,intValue:c.defaults.autoDiscoverSettings.services.pop.securityLevel});break;case"imapEnabled":e.push({field:109,boolValue:c.defaults.autoDiscoverSettings.services.imap.enabled});break;case"imapPort":e.push({field:110,intValue:c.defaults.autoDiscoverSettings.services.imap.port});break;case"imapSecurityLevel":e.push({field:111,intValue:c.defaults.autoDiscoverSettings.services.imap.securityLevel});break;case"SmtpInEnabled":e.push({field:112,boolValue:c.defaults.autoDiscoverSettings.services.smtp.enabled});break;case"SmtpInPort":e.push({field:113,intValue:c.defaults.autoDiscoverSettings.services.smtp.port});break;case"SmtpInSecurityLevel":e.push({field:114,intValue:c.defaults.autoDiscoverSettings.services.smtp.securityLevel});break;case"easEnabled":e.push({field:115,boolValue:c.defaults.autoDiscoverSettings.services.eas.enabled});break;case"ewsEnabled":e.push({field:116,boolValue:c.defaults.autoDiscoverSettings.services.ews.enabled});break;case"mapiEnabled":e.push({field:125,boolValue:c.defaults.autoDiscoverSettings.services.mapi.enabled});break;case"davEnabled":e.push({field:144,boolValue:c.defaults.autoDiscoverSettings.services.dav.enabled});break;case"overrideDesktopXML":e.push({field:117,boolValue:c.defaults.autoDiscoverSettings.desktopXMLOverride});break;case"advancedDesktop":e.push({field:118,strValue:c.defaults.autoDiscoverSettings.desktopXML});break;case"overrideMobileXML":e.push({field:119,boolValue:c.defaults.autoDiscoverSettings.mobileXMLOverride});break;case"advancedMobile":e.push({field:120,strValue:c.defaults.autoDiscoverSettings.mobileXML});break;case"activeDirectoryIntegration":e.push({field:126,boolValue:c.defaults.activeDirectoryIntegration});break;case"enableMailForwarding":e.push({field:128,boolValue:c.defaults.enableMailForwarding});break;case"gatewayFailover":e.push({field:129,boolValue:c.defaults.gatewayFailover});break;case"gatewayGuid":e.push({field:130,strValue:c.defaults.gatewayGuid});break;case"isEnabled":e.push({field:131,boolValue:c.defaults.isEnabled});break;case"listCommandAddress":e.push({field:132,strValue:c.defaults.listCommandAddress});break;case"outgoingIP":e.push({field:133,strValue:c.defaults.outgoingIP});break;
591case"outgoingIPv6":e.push({field:134,strValue:c.defaults.outgoingIPv6});break;case"twoStepVerificationOption":e.push({field:136,strValue:c.defaults.twoStepVerificationOption});break;case"maxMapiEwsAccounts":e.push({field:139,intValue:c.defaults.maxMapiEwsAccounts});break;case"enableMapiEwsAccountManagement":e.push({field:138,boolValue:c.defaults.enableMapiEwsAccountManagement});break;case"allowUserSizeChanging":e.push({field:140,boolValue:c.defaults.allowUserSizeChanging});break;case"allowUserProfileEdits":e.push({field:142,boolValue:c.defaults.allowUserProfileEdits});break;case"domainAdminCanOverride":e.push({field:153,boolValue:c.defaults.marketplaceSettings.domainAdminCanOverride});break;case"dropboxEnabled":e.push({field:156,boolValue:c.defaults.marketplaceSettings.dropboxEnabled});break;case"googleDriveEnabled":e.push({field:157,boolValue:c.defaults.marketplaceSettings.googleDriveEnabled});break;case"oneDriveEnabled":e.push({field:158,boolValue:c.defaults.marketplaceSettings.oneDriveEnabled});break;case"owncloudEnabled":e.push({field:159,boolValue:c.defaults.marketplaceSettings.owncloudEnabled});break;case"vBoxxEnabled":e.push({field:160,boolValue:c.defaults.marketplaceSettings.vBoxxEnabled});break;case"emClientEnabled":e.push({field:162,boolValue:c.defaults.marketplaceSettings.emclientEnabled});break;case"leitzcloudEnabled":e.push({field:161,boolValue:c.defaults.marketplaceSettings.leitzcloudEnabled});break;case"chatGPTEnabled":e.push({field:163,boolValue:c.defaults.marketplaceSettings.chatGPTEnabled});break;case"onlyOfficeEnabled":e.push({field:170,boolValue:c.defaults.marketplaceSettings.onlyOfficeEnabled});break;case"collaboraEnabled":e.push({field:171,boolValue:c.defaults.marketplaceSettings.collaboraEnabled});break;case"onlyOfficeServerUrl":e.push({field:164,strValue:c.defaults.onlyofficeSettings.serverUrl});break;case"onlyOfficeMaxConnections":e.push({field:165,intValue:c.defaults.onlyofficeSettings.maxConnections});break;case"onlyOfficeMaxConnectionsPerUser":e.push({field:166,intValue:c.defaults.onlyofficeSettings.maxConnectionsPerUser});break;case"wopiServerUrl":e.push({field:167,strValue:c.defaults.wopiSettings.serverUrl});break;case"wopiMaxConnections":e.push({field:168,intValue:c.defaults.wopiSettings.maxConnections});break;case"wopiMaxConnectionsPerUser":e.push({field:169,intValue:c.defaults.wopiSettings.maxConnectionsPerUser});break;case"rocketChatEnabled":e.push({field:172,boolValue:c.defaults.marketplaceSettings.rocketChatEnabled});break;case"smarterMailChatEnabled":e.push({field:173,boolValue:c.defaults.marketplaceSettings.smarterMailChatEnabled});break;case"smarterMailFileStoreEnabled":e.push({field:174,boolValue:c.defaults.marketplaceSettings.smarterMailFileStoreEnabled});break;case"smarterMailOnlineMeetingsEnabled":e.push({field:175,boolValue:c.defaults.marketplaceSettings.smarterMailOnlineMeetingsEnabled});break;case"zoomEnabled":e.push({field:179,boolValue:c.defaults.marketplaceSettings.zoomEnabled});break;case"enableClassification":e.push({field:176,boolValue:c.defaults.enableClassification});break;case"maxClassificationInboxMessages":e.push({field:177,strValue:String(c.defaults.maxClassificationInboxMessages)})}}(s,a)})),0===s.length)return void r.report("PROPAGATION_NOTHING_TO_PROPAGATE");let i=a.selectedNodes;if(a.isHA&&a.propagateToNodes&&(i=a.selectedNodes.filter((function(e){return e!==a.selectAllValue})),i.length<=0))return void r.report("PROPAGATION_HA_NO_NODES_SELECTED");e.spinner.show();let d=[];s.length>0&&(a.isHA&&a.propagateToNodes?d.push(l.post("~/api/v1/settings/sysadmin/ha-cluster-settings-propagate",JSON.stringify({targetNodes:i,globalUpdate:s,settingsType:0}))):d.push(l.post("~/api/v1/settings/sysadmin/all-domains",JSON.stringify({globalUpdate:s}))));n.all(d).then((function(){o.report("PROPAGATION_PROPAGATION_INPROGRESS"),t.hide()}),r.report).finally(e.spinner.hide)},a.cancel=function(){t.cancel()},a.checked=function(e,t){document.getSelection().removeAllRanges(),a.selectedOptions[t.id]?a.checkeditems++:a.checkeditems--;if(u&&t.id!=u&&event.shiftKey)for(var s=a.selectedOptions[t.id],l=!1,i=0;i<a.settingOptions.length;i++){var n=a.settingOptions[i];if(l){if(n.id!==t.id&&(a.selectedOptions[n.id]=s),n.id==u||n.id==t.id)break}else n.id!=u&&n.id!=t.id||(n.id!==t.id&&(a.selectedOptions[n.id]=s),l=!0)}u=t.id},a.onNodePropChanged=function(){a.isHA&&(a.settingOptions=[],a.selectedOptions={},E())},a.onNodeSelectionChanged=function(){if(!a.selectedNodes||!a.availableNodes||a.isSelectingAll)return;a.isSelectingAll=!0;const e=-1!==a.selectedNodes.indexOf(a.selectAllValue);if(e&&!c.previouslyHadSelectAll)angular.forEach(a.availableNodes,(function(e){-1===a.selectedNodes.indexOf(e)&&a.selectedNodes.push(e)}));else if(!e&&c.previouslyHadSelectAll)a.selectedNodes=[];else if(e){if(e){if(a.availableNodes.some((function(e){return-1===a.selectedNodes.indexOf(e)}))){const e=a.selectedNodes.indexOf(a.selectAllValue);-1!==e&&a.selectedNodes.splice(e,1)}}}else{a.availableNodes.length>0&&a.availableNodes.every((function(e){return-1!==a.selectedNodes.indexOf(e)}))&&a.selectedNodes.push(a.selectAllValue)}c.previouslyHadSelectAll=-1!==a.selectedNodes.indexOf(a.selectAllValue),a.isSelectingAll=!1},a.getSelectedNodeDisplay=function(){const e=a.selectedNodes.filter((function(e){return e!==a.selectAllValue}));if(0===e.length)return i.instant("PROPAGATION_HA_NO_NODES_SELECTED");return e},function(){e.spinner.show();let t=[l.get("~/api/v1/settings/sysadmin/global-mail"),l.get("~/api/v1/settings/sysadmin/domain-path"),l.get("~/api/v1/settings/sysadmin/combined-gateways?direction=outboun
591d")];a.isHA&&t.push(l.get("~/api/v1/settings/sysadmin/ha-cluster-nodes"));n.all(t).then((function(e){c.settings=angular.copy(e[0].data.globalMailSettings),c.defaults=c.settings.domainDefaultSettings,c.enableGreylisting=!c.defaults.bypassGreyListing,c.ldapDisallowOptOut=!c.settings.ldapSettings.ldap_DisallowOptOut,c.catchAllEnabled=2!==c.defaults.defaultCaRestrictionLevel;var t=e[2].data.result||[];c.hasRoundRobinGateway=t.some((function(e){return 0===e.outboundMode})),c.outgoingGateways=t.filter((function(e){return 1===e.outboundMode})),E(),a.isHA&&(a.availableNodes=e[3].data.activeHANodes)}),r.report).finally(e.spinner.hide)}()}e.$inject=["$rootScope","$scope","$mdDialog","$filter","$http","$translate","$q","successHandling","claimsService","errorHandling"],angular.module("smartermail").controller("domainPropagateDomainController",e)}();
592!function(){"use strict";function e(e,t,i,s,n,r){e.displayTitle=i.toUpperCase(),"DAV"===e.displayTitle&&(e.displayTitle="WEBDAV"),e.title=i.toUpperCase(),e.domain=s,e.hostname=n,e.settings=r,e.settings.securityLevel=r.securityLevel>=1?1:r.securityLevel,e.fakeValue=!0,e.previousSecurityLevel=e.settings.securityLevel,e.portSwitcher={POP:[110,995],IMAP:[143,993],SMTP:[25,465,465]},e.encryptionChanged=function(){e.portSwitcher[e.title][e.previousSecurityLevel]==e.settings.port&&(e.settings.port=e.portSwitcher[e.title][e.settings.securityLevel]),e.previousSecurityLevel=e.settings.securityLevel},e.close=function(){t.hide(r)},e.cancel=function(){t.cancel()}}e.$inject=["$scope","$mdDialog","type","domain","hostname","settings"],angular.module("smartermail").controller("editAutoDiscoverSettingsController",e)}();
593!function(){"use strict";function e(e,t,o,n,a,d,l){e.name=a?"ADVANCED_MOBILE":"ADVANCED_DESKTOP",e.text=d;var i=this;i.desktopProtocolNeedsToBeSet=!1,i.mobileProtocolNeedsToBeSet=!1,a?i.mobileProtocolNeedsToBeSet=!1===l.eas.enabled:i.desktopProtocolNeedsToBeSet=!1===l.ews.enabled&&!1===l.imap.enabled&&!1===l.mapi.enabled&&!1===l.pop.enabled&&!1===l.smtp.enabled&&!1===l.dav.enabled,e.generate=function(){e.form.$setDirty(),a?a&&(!1===l.eas.enabled?e.mobileProtocolNeedsToBeSet=!0:o.get("~/api/v1/settings/sysadmin/ad-xml/mobile"+(n?"/"+n:"")).then((function(t){e.text=t.data.xml}),(function(e){}))):!1===l.ews.enabled&&!1===l.imap.enabled&&!1===l.mapi.enabled&&!1===l.pop.enabled&&!1===l.smtp.enabled&&!1===l.dav.enabled?e.desktopProtocolNeedsToBeSet=!0:o.get("~/api/v1/settings/sysadmin/ad-xml/desktop"+(n?"/"+n:"")).then((function(t){e.text=t.data.xml}),(function(e){}))},e.save=function(){t.hide(e.text)},e.cancel=function(){t.cancel()}}e.$inject=["$scope","$mdDialog","$http","domain","isMobile","text","settings"],angular.module("smartermail").controller("editAutodiscoverXml",e)}();
594!function(){"use strict";function n(n,e,a,o,i,t,m,r,l,s){n.oldDomainName=l,n.oldIdn=s,n.newDomainName="",n.domainPath="",t.settingsData.domainData.then((function(e){n.domainPath=e.path}),(function(){})),n.close=function(t){if(t.$valid){var d=n.newDomainName.toLowerCase();if(!(l.toLowerCase()===n.newDomainName.toLowerCase()||s&&s.toLowerCase()===d))if(n.domainPath.length-n.oldDomainName.length+n.newDomainName.length>210)m.report(o("translate")("FOLDER_LENGTH_EXCEEDED"));else{i.spinner.show();var D=JSON.stringify({oldDomainName:l,newDomainName:n.newDomainName});a.post("~/api/v1/settings/sysadmin/rename-domain",D).then((function(){i.spinner.hide(),r.report(o("translate")("RENAME_DOMAIN_SUCCESS",{old:n.oldDomainName,new:n.newDomainName})),e.hide()}),m.reportAndHideSpinner)}}},n.cancel=function(){e.cancel()}}n.$inject=["$scope","$mdDialog","$http","$filter","$rootScope","coreDataDomainSettings","errorHandling","successHandling","oldDomainName","oldIdn"],angular.module("smartermail").controller("editDomainNameController",n)}();
595!function(){"use strict";function n(n,t,o,c,e,i){t.cancel=function(){c.cancel()},t.continue=function(){c.hide()}}n.$inject=["$rootScope","$scope","$http","$mdDialog","$translate","$sanitize"],angular.module("smartermail").controller("hstsWarningController",n)}();
596!function(){"use strict";function e(e,a,i,t,n,o,m,l,s,d){e.toOptions=[{translate:"ALL_USERS",value:0},{translate:"ALL_USERS_ON_DOMAIN",value:1},{translate:"ALL_DOMAIN_ADMINISTRATORS",value:2},{translate:"SPECIFIC_USER",value:3}],e.emailInfo={from:t,toOption:e.toOptions[0],toFriendly:n,toEmail:"",subject:o,emailText:m,domainName:"",isReminder:l},e.editorScope={};var r=this;d.get("~/api/v1/settings/sysadmin/internationalized-domain-names").then((function(a){r.domainOptions=angular.copy(a.data.data).sort(((e,a)=>(e.idnName||e.asciiName).localeCompare(a.idnName||a.asciiName))),r.selectedDomain=r.domainOptions[0],e.emailInfo.domainName=r.selectedDomain.asciiName}),s.report),e.save=function(){e.emailInfo.emailText=e.editorScope.getHtml(),i((function(){e.emailForm.$valid&&a.hide(e.emailInfo)}))},e.cancel=function(){a.cancel()},r.validateContent=function(){if(e.emailInfo.isReminder){const a=e.editorScope.getHtml();e.emailForm.messageBodyTextContent.$setValidity("validateImagesNotAllowed",$(a).find('img[src*="data:"]').length<=0)}},r.changeDomain=function(){e.emailInfo.domainName=r.selectedDomain.asciiName}}e.$inject=["$scope","$mdDialog","$timeout","from","to","subject","emailText","isReminder","errorHandling","$http"],angular.module("smartermail").controller("domainMassEmailController",e)}();
597!function(){"use strict";function a(a,e,t,n,o,r,d,i,s,l){let m="L"==window.stOS?"/":"\\",u="L"==window.stOS?4096:255;a.nameInput="",a.hostnameInput=d.replace("%domain%",""),a.defaultHostname=d,a.currentHostname=a.hostnameInput,a.defaultHostnameHasVariable=a.defaultHostname.indexOf("%domain%")>-1,a.folderInput=r.endsWith(m)?r:r+m,a.defaultPath=r,a.isHighAvailability=window.stHA,a.splitDomain=!1,a.domainUsername="",a.domainPassword="",a.enableSecondaryStoragePath=!(!i||!i.trim()),a.secondaryStoragePath=i,a.secondaryStorageAgeDays=s,a.secondaryStoragePathManuallyEdited=!1,a.save=function(){if(!a.domainF
597orm.$valid||a.domainForm.$pending)return;if(a.folderInput.length+a.domainUsername.length>u-45)return void l.report(t("translate")("FOLDER_LENGTH_EXCEEDED"));var r=JSON.stringify({domainData:{name:a.nameInput,path:a.folderInput,hostname:a.hostnameInput,isEnabled:!0,isSplitDomain:a.splitDomain,secondaryStoragePath:a.enableSecondaryStoragePath?a.secondaryStoragePath:null,secondaryStorageAgeDays:a.enableSecondaryStoragePath?a.secondaryStorageAgeDays:null},adminUsername:a.domainUsername,adminPassword:a.domainPassword});o.spinner.show(),n.post("~/api/v1/settings/sysadmin/domain-put",r).then((function(a){e.hide({name:a.data.domainData.name,idnName:a.data.domainData.idnName})}),l.report).finally(o.spinner.hide)},a.cancel=function(){e.cancel()},function(){a.enableSecondaryStoragePath&&!a.secondaryStoragePath.endsWith(m)&&(a.secondaryStoragePath+=m,i+=m);a.$watch("secondaryStoragePath",(function(e,t){void 0!==t&&e!==t&&a.nameInput&&(e!==i+a.nameInput&&(a.secondaryStoragePathManuallyEdited=!0))})),a.$watch("nameInput",(async function(e,t){if(t!=e){a.folderInput||(a.folderInput=r.endsWith(m)?r:r+m),a.enableSecondaryStoragePath&&!a.secondaryStoragePath&&i&&(a.secondaryStoragePath=i.endsWith(m)?i:i+m),a.hostnameInput===t?a.hostnameInput=e:a.hostnameInput===a.currentHostname&&a.defaultHostnameHasVariable&&(a.hostnameInput=a.defaultHostname.replace("%domain%",e||""),a.currentHostname=a.hostnameInput);let s=e;if(!/^[\x20-\x7f]+$/.test(s)){a.folderInputProcessing=!0;try{let a=await n.get(`~/api/v1/info/punycode-domain/${e}`);a.data.success&&a.data.result&&(s=a.data.result)}catch(a){}a.folderInputProcessing=!1}var o=a.folderInput.split(m);if(o[o.length-1]=s,a.folderInput=o.join(m),a.enableSecondaryStoragePath&&a.secondaryStoragePath&&!a.secondaryStoragePathManuallyEdited){var d=a.secondaryStoragePath.split(m);d[d.length-1]=s,a.secondaryStoragePath=d.join(m)}}})),a.$watch("folderInput",(function(e,t){t!=e&&(a.folderInput===r?a.domainForm.domainFolder.$setValidity("rootPath",!1):a.domainForm.domainFolder.$setValidity("rootPath",!0))}))}()}a.$inject=["$scope","$mdDialog","$filter","$http","$rootScope","defaultPath","defaultHostname","defaultSecondaryStoragePath","defaultSecondaryStorageAgeDays","errorHandling"],angular.module("smartermail").controller("domainManageNewDomainController",a)}();
598!function(){"use strict";function t(t,e,n,a,r,s,i,o,l){t.typeOptions=[{translate:"ATTACH_USER",value:0,saveButtonText:"ATTACH"},{translate:"ATTACH_FOLDER",value:1,saveButtonText:"ATTACH"},{translate:"REBUILD_FOLDER",value:2,saveButtonText:"OK"},{translate:"DETACH_USER",value:3,saveButtonText:"DETACH"}],t.currentType=l.type||0,t.recursive=!0,t.emailInput=l.emailAddress||"",t.folderPath="",t.detachUserWarning=!1,t.restore=function(n){if(!n.$valid)return void(n.$submitted=!0);switch(t.currentType){case 0:{let n=JSON.stringify({input:t.emailInput.split(";")});e.post("~/api/v1/settings/sysadmin/attach-users",n).then((function(t){o.report(),r.hide()}),i.report);break}case 2:case 1:{let n=JSON.stringify({restorations:[{folder:t.folderPath,email:t.emailInput,recursive:t.recursive}]});e.post("~/api/v1/settings/sysadmin/restore-folders",n).then((function(t){s.clear(),o.report("REBUILD_FOLDER_COMPLETE_MESSAGE")}),i.report),o.report("REBUILD_FOLDER_RUNNING_MESSAGE"),r.hide();break}case 3:{let n=JSON.stringify({input:t.emailInput.split(";")});e.post("~/api/v1/settings/sysadmin/detach-users/"+t.detachUserWarning,n).then((function(t){o.report(),r.hide()}),(function(e){"detach user warning"===e.data.message?(t.detachUserWarning=!0,t.saveButtonText=a.instant("CONTINUE")):(i.report(e.data.message),r.cancel())}));break}}},function(){let e=t.typeOptions[t.currentType];t.saveButtonText=a.instant(e.saveButtonText)}(),t.cancel=function(){r.cancel()}}t.$inject=["$scope","$http","$filter","$translate","$mdDialog","toaster","errorHandling","successHandling","options"],angular.module("smartermail").controller("editDomainRestoreController",t)}();
599!function(){"use strict";function e(e,a,t,s,i,n,l,o,r,d,u){a.modUser=l,a.domains=[],a.selectedItem=[],a.updateSettings=!0,a.updateDefaults=!1,a.domain="",a.selectedOptions={},a.allDomains=!1,a.updateType=1,a.selectedCount=0;var c=!1;a.domainItem=null,a.domainField="",a.isHA=window.stHA,a.propagateToNodes=!1,a.selectAllValue="all-selected",a.selectedNodes=[];var p,E=!1;function A(){a.settingOptions&&O()}function O(){var e,t=a.modUser,s=r.timeZoneOptions.slice();s.push({translated:n.instant("USE_SERVER_TIME_ZONE"),index:-1});for(var i=0;i<angularLangNames.length;
599i++)if(angularLangNames[i].v===t.localeId){e=angularLangNames[i].n;break}if(a.settingOptions=[{cat:"ACCOUNT",id:"MailboxSize",translation:"DOMAIN_USERS_MAILBOX_SIZE_LIMIT",value:m(t.maxMailboxSize/1048576)},{cat:"SERVICE_ACCESS",id:"EnableWebmailAccess",translation:"WEBMAIL",value:S(t.services.webmail)},{cat:"SERVICE_ACCESS",id:"EnablePopAccess",translation:"POP",value:S(t.services.pop)},{cat:"SERVICE_ACCESS",id:"EnableImapAccess",translation:"IMAP",value:S(t.services.imap)},{cat:"SERVICE_ACCESS",id:"EnableIncomingSmtpAccess",translation:"INCOMING_SMTP",value:S(t.services.incomingSmtp)},{cat:"SERVICE_ACCESS",id:"EnableOutgoingSmtpAccess",translation:"OUTGOING_SMTP",value:S(t.services.outgoingSmtp)},{cat:"SERVICE_ACCESS",id:"EnableXmppAccess",translation:"DOMAIN_MANAGEMENT_FEATURES_LIVE_CHAT",value:S(t.services.xmpp)},{cat:"SERVICE_ACCESS",id:"EnableWebdavAccess",translation:"WEBDAV",value:S(t.services.webdav)},{cat:"SERVICE_ACCESS",id:"EnableEas",translation:"EAS_ENTERPRISE_ONLY",value:b(t.enableEas)},{cat:"SERVICE_ACCESS",id:"EnableMapiEws",translation:"MAPI_EWS_ENTERPRISE",value:b(t.enableMapiEws)},{cat:"USER",id:"LocaleID",translation:"LANGUAGE",value:e},{cat:"USER",id:"TimeZoneIndex",translation:"TIME_ZONE",value:r.findOptionTextByIndexValue(s,t.timeZoneIndex)},{cat:"USER",id:"PlusAddressing",translation:"PLUS_ADDRESS",value:r.findOptionTextByValue(r.plusAddressOptions,t.plusAddressingOption)},{cat:"USER",id:"LockPassword",translation:"DISABLE_PASSWORD_CHANGES",value:b(t.lockPassword)},{cat:"USER",id:"HideFromLdap",translation:"SHOW_IN_GAL_FULL_NAME",value:b(!t.hideFromGal)},{cat:"USER",id:"MailForwarding",translation:"MAIL_FORWARDING_ENABLE",value:S(t.mailForwarding)},{cat:"WEBMAIL",id:"ComposeFont",translation:"COMPOSE_FONT",value:r.findOptionTextByValue(r.fontOptions,t.composeFont)},{cat:"WEBMAIL",id:"ComposeFontSize",translation:"FONT_SIZE",value:r.findOptionTextByValue(r.fontSizeOptions,t.composeFontSize)},{cat:"WEBMAIL",id:"PreviewPaneOption",translation:"PREVIEW_PANE",value:r.findOptionTextByValue(r.previewPaneOptions,t.previewPaneOption)},{cat:"WEBMAIL",id:"PreferredIndexer",translation:"SEARCH_LANGUAGE_INDEXER",value:r.findOptionTextByValue(r.availableIndexers,t.preferredIndexer)},{cat:"WEBMAIL",id:"ReplyFromToField",translation:"REPLY_FROM_TO_FIELD",value:b(t.replyFromToField)},{cat:"WEBMAIL",id:"RequestReadReceipts",translation:"ENABLE_READ_RECEIPTS",value:b(t.requestReadReceipts)},{cat:"WEBMAIL",id:"RequestDeliveryReceipts",translation:"ENABLE_DELIVERY_READ_RECEIPTS",value:b(t.requestDeliveryReceipts)},{cat:"WEBMAIL",id:"DraftAutoSave",translation:"DRAFT_AUTO_SAVE",value:b(t.draftAutoSave)},{cat:"WEBMAIL",id:"HideMailAvatars",translation:"HIDE_MAIL_AVATARS",value:b(t.hideMailAvatars)},{cat:"WEBMAIL",id:"AllowRemoteContent",translation:"ALLOW_REMOTE_CONTENT",value:b(t.allowRemoteContent)},{cat:"EMAIL",id:"DeleteOption",translation:"DELETE_EMAIL_ACTION",value:r.findOptionTextByValue(r.deleteOptions,t.deleteMailAction)},{cat:"EMAIL",id:"JunkOption",translation:"MOVE_TO_JUNK_ACTION",value:r.findOptionTextByValue(r.junkOption,t.junkMailAction)},{cat:"EMAIL",id:"RemoveFromJunkMailAction",translation:"REMOVE_FROM_JUNK_ACTION",value:r.findOptionTextByValue(r.removeFromJunkMailOption,t.removeFromJunkMailAction)},{cat:"EMAIL",id:"DelaySendOption",translation:"DELAY_SEND",value:r.findOptionTextByValue(r.delaySendOption,t.delaySendOption)},{cat:"EMAIL",id:"MarkPOP3DownloadsAsRead",translation:"MARK_MESSAGES_AS_DOWNLOADED_POP3",value:b(t.markPopDownloadsAsRead)},{cat:"THROTTLING",id:"ThrottleMessages",translation:"DOMAIN_MANAGEMENT_OUTGOING_PER_HOUR",value:m(t.throttling.messagesPerHour)},{cat:"THROTTLING",id:"ThrottleMessagesAction",translation:"DOMAIN_MANAGEMENT_MESSAGE_THROTTLING",value:r.findOptionTextByValue(r.throttleOptions,t.throttling.messagesAction)},{cat:"THROTTLING",id:"ThrottleBandwidth",translation:"DOMAIN_MANAGEMENT_OUTGOING_BANDWIDTH",value:m(t.throttling.bandwidthPerHour)},{cat:"THROTTLING",id:"ThrottleBandwidthAction",translation:"DOMAIN_MANAGEMENT_BANDWIDTH_THROTTLING",value:r.findOptionTextByValue(r.throttleOptions,t.throttling.bandwidthAction)}],c&&a.settingOptions.push({cat:"USER",id:"DisableGreylisting",translation:"ENABLE_GREYLISTING",value:b(!t.disableGreylisting)}),window.stEnableSpamfoo){var l=a.settingOptions.findIndex((function(e){return"PreviewPaneOption"===e.id})),o={cat:"WEBMAIL",id:"EnableClassification",translation:"ENABLE_CLASSIFICATION",value:b(t.enableClassification)};-1===l?a.settingOptions.push(o):a.settingOptions.splice(l,0,o)}angular.forEach(a.settingOptions,(function(e){switch(e.cat){case"ACCOUNT":e.cat_order=1;break;case"SERVICE_ACCESS":e.cat_order=3;break;case"USER":e.cat_order=2;break;case"WEBMAIL":e.cat_order=4;break;case"THROTTLING":e.cat_order=5}e.label=n.instant(e.translation)}))}function m(e){return e?s("number")(e):s("translate")("UNLIMITED")}function b(e){return e?s("translate")("YES"):s("translate")("NO")}function S(e){return e?s("translate")("ENABLED"):s("translate")("DISABLED")}a.save=function(e,s){var n=[];if(angular.forEach(a.selectedOptions,(function(e,t){!function(e,t){var s=a.modUser;switch(t){case"LocaleID":e.push({userField:t,strValue:s.localeId});break;case"TimeZoneIndex":e.push({userField:t,intValue:s.timeZoneIndex});break;case"MailboxSize":e.push({userField:t,longValue:s.maxMailboxSize});break;case"LockPassword":e.push({userField:t,boolValue:s.lockPassword});break;case"HideFromLdap":e.push({userField:t,boolValue:s.hideFromGal});break;case"MailForwarding":e.push({userField:t,boolValue:s.mailForwarding});break;case"DisableGreylisting":e.push({userField:t,boolValue:s.disableGreylisting});break;case"DeleteOption":e.push({userField:t,strValue:s.deleteMailAction});break;case"PlusAddressing":e.push({userField:"PlusAddressingEnable",boolValue:"disabled"!==s.plusAddressingOption}),e.push({userField:"PlusAddressingFolder",strValue:"disabled"===s.plusAddressingOption?"":s.plusAddressingOption});break;case"ComposeFont":e.push({userField:t,strValue:s.composeFont});break;case"ComposeFontSize":e.push({userField:t,strValue:s.composeFontSize});break;case"ReplyFromToField":e.push({userField:t,boolValue:s.replyFromToField});break;case"RequestReadReceipts":e.push({userField:t,boolValue:s.requestReadReceipts});break;case"RequestDeliveryReceipts":e.push({userField:t,boolValue:s.requestDeliveryReceipts});break;case"MarkPOP3DownloadsAsRead":e.push({userField:t,boolValue:s.markPopDownloadsAsRead});break;case"ThrottleMessages":e.push({userField:t,intValue:s.throttling.messagesPerHour});break;case"ThrottleMessagesAction":e.push({userField:t,intValue:s.throttling.messagesAction});break;case"ThrottleBandwidth":e.push({userField:t,intValue:s.throttling.bandwidthPerHour});break;case"ThrottleBandwidthAction":e.push({userField:t,intValue:s.throttling.bandwidthAction});break;case"EnableWebmailAccess":e.push({userField:t,boolValue:s.services.webmail});break;case"EnablePopAccess":e.push({userField:t,boolValue:s.services.pop});break;case"EnableImapAccess":e.push({userField:t,boolValue:s.services.imap});break;case"EnableIncomingSmtpAccess":e.push({userField:t,boolValue:s.services.incomingSmtp});break;case"EnableOutgoingSmtpAccess":e.push({userField:t,boolValue:s.services.outgoingSmtp});break;case"EnableXmppAccess":e.push({userField:t,boolValue:s.services.xmpp});break;case"EnableWebdavAccess":e.push({userField:t,boolValue:s.services.webdav});break;case"AllowRemoteContent":e.push({userField:t,boolValue:s.allowRemoteContent});break;case"PreferredIndexer":e.push({userField:t,strValue:s.preferredIndexer});break;case"PreviewPaneOption":e.push({userField:"PreviewUsePreview",boolValue:"none"!==s.previewPaneOption});break;case"EnableEas":e.push({userField:t,boolValue:s.enableEas});break;case"EnableMapiEws":e.push({userField:t,boolValue:s.enableMapiEws});break;case"DraftAutoSave":e.push({userField:t,boolValue:s.draftAutoSave});break;case"HideMailAvatars":e.push({userField:t,boolValue:s.hideMailAvatars});break;case"EnableClassification":e.push({userField:t,boolValue:s.enableClassification});break;case"JunkOption":e.push({userField:t,intValue:s.junkMailAction});break;case"RemoveFromJunkMailAction":e.push({userField:t,intValue:s.removeFromJunkMailAction});break;case"DelaySendOption":e.push({userField:t,intValue:s.delaySendOption})}}(n,t)})),0===n.length)return void d.report("PROPAGATION_NOTHING_TO_PROPAGATE");let l=a.selectedNodes;if(a.isHA&&a.propagateToNodes){if(l=a.selectedNodes.filter((function(e){return e!==a.selectAllValue})),l.length<=0)return void d.report("PROPAGATION_HA_NO_NODES_SELECTED");
599i.post("~/api/v1/settings/sysadmin/ha-cluster-settings-propagate",JSON.stringify({targetNodes:l,globalUpdate:n,settingsType:1})).then((function(e){e.data.message&&d.warn(e.data.message),u.report("PROPAGATION_PROPAGATION_INPROGRESS")}),d.report)}else{var o=$.map(a.domains,(function(e){return e.asciiName})),r="UserDefaults";2===a.updateType?r="UserSettings":3===a.updateType&&(r="Both");var c={globalUpdate:n,emails:a.allDomains?["*"]:o,updateType:r};i.post("~/api/v1/settings/sysadmin/update-all-users",JSON.stringify(c)).then((function(e){e.data.message&&d.warn(e.data.message),u.report("PROPAGATION_PROPAGATION_INPROGRESS")}),d.report)}t.hide({})},a.cancel=function(){t.cancel()},a.YesNo=b,a.autoCompleteSearch=function(e){return s("filter")(a.domainOptions,(function(t){var s=!1,i=t.asciiName.toLowerCase(),n=t.idnName?t.idnName.toLowerCase():null;for(let e=0;e<a.domains.length;e++)if(a.domains[e].asciiName.toLowerCase()===i){s=!0;break}return!s&&(i.indexOf(e.toLowerCase())>-1||n&&n.indexOf(e.toLowerCase())>-1)}))},a.checked=function(e,t){document.getSelection().removeAllRanges(),a.selectedOptions[t.id]?a.selectedCount++:a.selectedCount--;a.selectedCount<0&&(a.selectedCount=0);if(p&&t.id!=p&&event.shiftKey)for(var s=a.selectedOptions[t.id],i=!1,n=0;n<a.settingOptions.length;n++){var l=a.settingOptions[n];if(i){if(l.id!==t.id&&(a.selectedOptions[l.id]=s),l.id==p||l.id==t.id)break}else l.id!=p&&l.id!=t.id||(l.id!==t.id&&(a.selectedOptions[l.id]=s),i=!0)}p=t.id},a.onNodePropChanged=function(){a.isHA&&(a.selectedItem=[],a.selectedOptions={},O())},a.onNodeSelectionChanged=function(){if(!a.selectedNodes||!a.availableNodes||a.isSelectingAll)return;a.isSelectingAll=!0;const e=-1!==a.selectedNodes.indexOf(a.selectAllValue);if(e&&!E)angular.forEach(a.availableNodes,(function(e){-1===a.selectedNodes.indexOf(e)&&a.selectedNodes.push(e)}));else if(!e&&E)a.selectedNodes=[];else if(e){if(e){if(a.availableNodes.some((function(e){return-1===a.selectedNodes.indexOf(e)}))){const e=a.selectedNodes.indexOf(a.selectAllValue);-1!==e&&a.selectedNodes.splice(e,1)}}}else{a.availableNodes.length>0&&a.availableNodes.every((function(e){return-1!==a.selectedNodes.indexOf(e)}))&&a.selectedNodes.push(a.selectAllValue)}E=-1!==a.selectedNodes.indexOf(a.selectAllValue),a.isSelectingAll=!1},a.getSelectedNodeDisplay=function(){const e=a.selectedNodes.filter((function(e){return e!==a.selectAllValue}));if(0===e.length)return n.instant("PROPAGATION_HA_NO_NODES_SELECTED");return e},e.$on("$translateChangeSuccess",A),i.get("~/api/v1/settings/sysadmin/antispam/settings").then((function(e){c=e.data.settings.greylisting.allowUserOverride,O(),a.domains=[],i.get("~/api/v1/settings/sysadmin/internationalized-domain-names").then((function(e){a.domainOptions=e.data.data}),d.report)}),d.report),a.isHA&&i.get("~/api/v1/settings/sysadmin/ha-cluster-nodes").then((function(e){a.availableNodes=e.data.activeHANodes}),d.report),a.$watch("domainItem",(function(){if(a.domainItem&&""!==a.domainItem){a.addDomain({which:13})}})),a.addDomain=function(e){13!==e.which&&9!==e.which||(a.domainItem&&a.domains.push(a.domainItem),a.domainItem=null,a.domainField="")},a.removeDomain=function(e,t){a.selectedItem.splice(e,1),a.domains.splice(e,1),t.$setDirty()}}e.$inject=["$rootScope","$scope","$mdDialog","$filter","$http","$translate","modUser","coreDataManageDomain","userSettingEnums","errorHandling","successHandling"],angular.module("smartermail").controller("sysAdminPropagateUsersController",e)}();
600!function(){"use strict";function t(t,a,n,i,e,s,c){var o=this;o.manualActivationStr="",o.progress="0",o.machineName="",o.waiting=!1,t.next=function(){switch(o.progress){case"0":case"1":o.waiting=!0,n.post("~/api/v1/settings/sysadmin/activate-license",JSON.stringify({manualActivationText:o.manualActivationStr})).then((function(t){e.report("SUCCESS"),a.hide()}),(function(t){i("translate")(t.data.message)==t.data.message&&(t.data.message=i("translate")("LICENSE_PROBLEM_ACTIVATING")+" "+t.data.message),s.report(t)})).finally((function(){o.waiting=!1}))}},t.cancel=function(){a.cancel()},o.machineName=c.settings.globalMailSettings.machineName}t.$inject=["$scope","$mdDialog","$http","$filter","successHandling","errorHandling","coreDataSysAdminSettings"],angular.module("smartertools").controller("productManualActivationDialogController",t)}();
601!function(){"use strict";function n(n,e,i,t,s,a){n.spinner.show(),s.get("~/api/v1/settings/sysadmin/antispam/settings").then((function(n){e.licensed=t.Data.Licensing.services.cyren_as.enabled,e.item=angular.copy(n.data.settings.cyren)}),a.report).finally(n.spinner.hide),e.cancel=function(){i.cancel()},e.save=function(){e.spamForm.$valid&&(n.spinner.show(),s.post("~/api/v1/settings/sysadmin/antispam/settings",JSON.stringify({cyren:e.item})).then(i.hide,a.report).finally(n.spinner.hide))}}n.$inject=["$rootScope","$scope","$mdDialog","coreDataLicensing","$http","errorHandling"],angular.module("smartermail").controller("cyrenSpamCtrl",n)}();
602!function(){"use strict";function n(n,i,e,t,s,a){i.initialized=!1,n.spinner.show(),s.get("~/api/v1/settings/sysadmin/antispam/settings").then((function(n){i.licensed=t.Data.Licensing.services.cyren_as.enabled,i.item=angular.copy(n.data.settings.cyren
602Ip),i.initialized=!0}),a.report).finally(n.spinner.hide),i.cancel=function(){e.cancel()},i.save=function(){i.spamForm.$valid&&(n.spinner.show(),s.post("~/api/v1/settings/sysadmin/antispam/settings",JSON.stringify({cyrenIp:i.item})).then(e.hide,a.report).finally(n.spinner.hide))}}n.$inject=["$rootScope","$scope","$mdDialog","coreDataLicensing","$http","errorHandling"],angular.module("smartermail").controller("cyrenIpSpamCtrl",n)}();
603!function(){"use strict";function e(e,n,t,i,s,a){var l;n.isDecludeInstalled=!0,l=[i.get("~/api/v1/settings/sysadmin/antispam/is-declude-installed").then((function(e){e.data.result||(n.isDecludeInstalled=!1)}),(function(e){n.isDecludeInstalled=!1})),i.get("~/api/v1/settings/sysadmin/antispam/settings").then((function(e){n.item=angular.copy(e.data.settings.declude)}),s.report)],e.spinner.show(),a.all(l).finally(e.spinner.hide),n.cancel=function(){t.cancel()},n.save=function(){n.spamForm.$valid&&(e.spinner.show(),i.post("~/api/v1/settings/sysadmin/antispam/settings",JSON.stringify({declude:n.item})).then(t.hide,s.report).finally(e.spinner.hide))}}e.$inject=["$rootScope","$scope","$mdDialog","$http","errorHandling","$q"],angular.module("smartermail").controller("decludeSpamCtrl",e)}();
604!function(){"use strict";function e(e,i,t,n,a,s){i.type=s,e.spinner.show(),n.get("~/api/v1/settings/sysadmin/antispam/settings").then((function(e){switch(s){case"DKIM":i.item=angular.copy(e.data.settings.dkim);break;case"DOMAINKEYS":i.item=angular.copy(e.data.settings.domainKeys);break;default:t.cancel()}}),a.report).finally(e.spinner.hide),i.cancel=function(){t.cancel()},i.save=function(){if(i.spamForm.$valid){var r;switch(s){case"DKIM":r=JSON.stringify({dkim:i.item});break;case"DOMAINKEYS":r=JSON.stringify({domainKeys:i.item});break;default:return}e.spinner.show(),n.post("~/api/v1/settings/sysadmin/antispam/settings",r).then(t.hide,a.report).finally(e.spinner.hide)}}}e.$inject=["$rootScope","$scope","$mdDialog","$http","errorHandling","cardType"],angular.module("smartermail").controller("dkimSpamCtrl",e)}();
605!function(){"use strict";function e(e,t,n,r,i,l){t.rule={name:"",source:"Header",ruleArgument:"",matchType:"Contains",weight:0,matchMultiple:!1,ruleItems:[],enableFiltering:!1,enableOutgoingSmtpBlocking:!1,new:!0},t.ruleItemsString="",l&&(e.spinner.show(),r.get("~/api/v1/settings/sysadmin/antispam/custom-rules/list").then((function(e){var n=e.data.items||[],r=$.grep(n,(function(e){return e.id===l}))[0];r&&(t.rule=angular.copy(r),t.ruleItemsString=t.rule.ruleItems?t.rule.ruleItems.join("\n"):"")}),i.report).finally(e.spinner.hide)),t.save=function(l){if(t.isValid=l.userForm.$valid){var s=t.ruleItemsString.split("\n");s=$.grep(s,(function(e){return 0!==e.length})),t.rule.ruleItems=s;var u={ItemsToUpdate:[t.rule]};e.spinner.show(),r.post("~/api/v1/settings/sysadmin/antispam/custom-rules/update",JSON.stringify(u)).then(n.hide,i.report).finally(e.spinner.hide)}},t.delete=function(){var e={ItemsToRemove:[t.rule.id]};n.hide(e)},t.cancel=function(){n.cancel()},t.isValid=!0}e.$inject=["$rootScope","$scope","$mdDialog","$http","errorHandling","ruleId"],angular.module("smartermail").controller("sysAdminSecurityEditCustomRuleController",e)}();
606!function(){"use strict";function t(t,n,e,o,i,r,s,u,c,d){t.isNew=d,t.filterType=r,t.countryCode=s,t.ipAddress=u,t.description=c,t.isValid=!0,t.filterOptions=[{value:0,translation:"IP_ADDRESS"},{value:1,translation:"COUNTRY_CODE"}],t.save=function(e){if(!(t.isValid=e.userForm.$valid))return;n.hide({filterType:t.filterType,countryCode:t.countryCode,ipAddress:t.ipAddress,description:t.description})},t.cancel=function(){n.cancel()},t.deleteItem=function(){n.hide({deleteItem:!0})},i.get("~/api/v1/settings/sysadmin/unused-country-codes").then((function(n){t.countryOptions=n.data.results;for(var i=0;i<t.countryOptions.length;i++){var r=t.countryOptions[i];t.countryOptions[i]={value:r,translation:o.instant("COUNTRY_CODE_"+r)+" ("+r+")"}}t.countryCode&&t.countryOptions.push({value:t.countryCode,translation:o.instant("COUNTRY_CODE_"+t.countryCode)+" ("+t.countryCode+")"}),t.countryOptions=e("orderBy")(t.countryOptions,"translation"),t.countryCode||(t.countryCode=t.countryOptions[0].value)}),(function(){}))}t.$inject=["$scope","$mdDialog","$filter","$translate","$http","filterType","countryCode","ipAddress","description","isNew"],angular.module("smartermail").controller("sysAdminEditGreylistingController",t)}();
607!function(){"use strict";function n(n,t,e,s,i){n.spinner.show(),s.get("~/api/v1/settings/sysadmin/antispam/settings").then((function(n){t.item=angular.copy(n.data.settings.honeyPot),t.addresses=n.data.settings.honeyPot.honeyPotAddresses.join("\r\n")}),i.report).finally(n.spinner.hide),t.cancel=function(){e.cancel()},t.save=function(){if(t.spamForm.$valid){var o=t.addresses.split(/\r?\n/);o=o.filter((function(n){return""!=n})),t.item.honeyPotAddresses=o,n.spinner.show(),s.post("~/api/v1/settings/sysadmin/antispam/settings",JSON.stringify({honeyPot:t.item})).then(e.hide,i.report).finally(n.spinner.hide)}}}n.$inject=["$rootScope","$scope","$mdDialog","$http","errorHandling"],angular.module("smartermail").controller("honeyPotSpamCtrl",n)}();
608!function(){"use strict";function n(n,i,t,e,o){var l=this;this.fileCount=0,n.uploaderInit=function(i){n.uploaderFunctions=i},n.save=function(){(n.isValid=l.fileCount>0)&&n.uploaderFunctions.startUpload()},n.cancel=function(){i.cancel()},n.importFile=function(n,t){o.report(),i.hide({})},n.uploadFailed=function(){e.report("ERROR_UPLOADING"),n.step=1,n.uploaderFunctions.reset()},n.addedFile=function(){n.isValid=!0,l.fileCount++,n.$applyAsync()},n.removedFile=function(){l.fileCount--,l.fileCount<0&&(l.fileCount=0),0==l.fileCount&&(n.isValid=!1),n.$applyAsync()},n.isValid=!1}n.$inject=["$scope","$mdDialog","$filter","errorHandling","successHandling"],angular.module("smartermail").controller("sysAdminImportspamSettingsController",n)}();
609!function(){"use strict";
609function e(e,n,i,s,t,a){e.spinner.show(),t.get("~/api/v1/settings/sysadmin/antispam/settings").then((function(e){n.licensed=s.Data.Licensing.services.messagesniffer.enabled,n.item=angular.copy(e.data.settings.messageSniffer)}),a.report).finally(e.spinner.hide),n.cancel=function(){i.cancel()},n.save=function(){n.spamForm.$valid&&(e.spinner.show(),t.post("~/api/v1/settings/sysadmin/antispam/settings",JSON.stringify({messageSniffer:n.item})).then(i.hide,a.report).finally(e.spinner.hide))}}e.$inject=["$rootScope","$scope","$mdDialog","coreDataLicensing","$http","errorHandling"],angular.module("smartermail").controller("messageSnifferSpamCtrl",e)}();
610!function(){"use strict";function i(i,n,e,t){this.isInvalid=!1,i.isHA=window.stHA,i.type=t,i.filteringEnabled=!1,i.outFilteringEnabled=!1,i.inFilteringEnabled=!1,i.cancel=function(){n.cancel()},i.save=function(){n.hide({filteringEnabled:i.filteringEnabled,outFilteringEnabled:i.outFilteringEnabled,inFilteringEnabled:i.inFilteringEnabled})}}i.$inject=["$scope","$mdDialog","coreDataSysAdminSettings","type"],angular.module("smartermail").controller("modifyChecksSpamCtrl",i)}();
611!function(){"use strict";function n(n,e,t,i,s){n.spinner.show(),i.get("~/api/v1/settings/sysadmin/antispam/settings").then((function(n){e.item=angular.copy(n.data.settings.nullSender)}),s.report).finally(n.spinner.hide),e.cancel=function(){t.cancel()},e.save=function(){e.spamForm.$valid&&(n.spinner.show(),i.post("~/api/v1/settings/sysadmin/antispam/settings",JSON.stringify({nullSender:e.item})).then(t.hide,s.report).finally(n.spinner.hide))}}n.$inject=["$rootScope","$scope","$mdDialog","$http","errorHandling"],angular.module("smartermail").controller("nullSenderSpamCtrl",n)}();
612!function(){"use strict";function s(s,e,t,a,n,i){s.isHA=window.stHA,s.spamCheck=n,s.spamResultIndicators=$.extend([],s.spamCheck.spamResultIndicators),s.spamResultIndicators.push({ip:"",weight:null,weight_max:null}),s.cancel=function(){e.cancel()},s.delete=function(){s.spamForm.$invalid||!0!==s.spamCheck.new&&e.hide({itemsToRemove:[s.spamCheck.name]})},s.onIpChanged=function(e,t,a){const n=a["ip_"+t].$viewValue;s.spamResultIndicators[t].ip=n,n&&n.length>0&&e&&s.spamResultIndicators.push({ip:"",weight:null,weight_max:null})},s.removeIp=function(e,t){s.spamResultIndicators.splice(e,1),t.$setDirty()},s.save=function(){if(s.spamForm.$valid)if(s.spamCheck.spamResultIndicators=$.extend([],s.spamResultIndicators),s.spamCheck.spamResultIndicators?s.spamCheck.spamResultIndicators.pop():s.spamCheck.spamResultIndicators=[],s.spamCheck.spamResultIndicators&&0!=s.spamCheck.spamResultIndicators.length){var n=JSON.stringify({itemsToUpdate:[s.spamCheck]});t.post("~/api/v1/settings/sysadmin/antispam/rbls/update",n).then((function(){e.hide(s.spamCheck)}),i.report)}else i.report(a.instant("ANTI_SPAM_RBL_IP_REQUIRED"))}}s.$inject=["$scope","$mdDialog","$http","$translate","orig","errorHandling"],angular.module("smartermail").controller("rblSpamCtrl",s)}();
613!function(){"use strict";function n(n,e,s,t,i){n.spinner.show(),t.get("~/api/v1/settings/sysadmin/antispam/settings").then((function(n){e.item=angular.copy(n.data.settings.reverseDns)}),i.report).finally(n.spinner.hide),e.cancel=function(){s.cancel()},e.save=function(){e.spamForm.$valid&&(n.spinner.show(),t.post("~/api/v1/settings/sysadmin/antispam/settings",JSON.stringify({reverseDns:e.item})).then(s.hide,i.report).finally(n.spinner.hide))}}n.$inject=["$rootScope","$scope","$mdDialog","$http","errorHandling"],angular.module("smartermail").controller("reverseDnsSpamCtrl",n)}();
614!function(){"use strict";function e(e,t,s,a,r){e.name=r&&r.rspamdServerName,e.httpBaseAddress=r&&r.httpBaseAddress,e.httpCheckAddress=r&&r.httpCheckAddress||"/checkv2",e.httpSpamAddress=r&&r.httpSpamAddress,e.httpHamAddress=r&&r.httpHamAddress,e.isValid=!0,e.editingItem=!!r,e.delete=function(){t.hide({doDelete:!0})},e.save=function(r){e.httpCheckAddress&&e.httpCheckAddress.toLowerCase().startsWith("/checkv2")?!e.httpSpamAddress||e.httpSpamAddress.toLowerCase().startsWith("/learnspam")?!e.httpHamAddress||e.httpHamAddress.toLowerCase().startsWith("/learnham")?(r.$setSubmitted(),(e.isValid=r.$valid)&&t.hide({rspamdServerName:e.name,httpBaseAddress:e.httpBaseAddress,httpCheckAddress:e.httpCheckAddress,httpSpamAddress:e.httpSpamAddress,httpHamAddress:e.httpHamAddress})):a.pop("error",s("translate")("RSPAMD_ENDPOINT_ERROR",{name:s("translate")("RSPAM_LEARNHAM_ADDRESS"),endpoint:"/learnham"})):a.pop("error",s("translate")("RSPAMD_ENDPOINT_ERROR",{name:s("translate")("RSPAM_LEARNSPAM_ADDRESS"),endpoint:"/learnspam"})):a.pop("error",s("translate")("RSPAMD_ENDPOINT_ERROR",{name:s("translate")("RSPAM_CHECKV2_ADDRESS"),endpoint:"/checkv2"}))},e.cancel=function(){t.cancel()}}e.$inject=["$scope","$mdDialog","$filter","toaster","cardData"],angular.module("smartermail").controller("sysAdminEditRspamdServerController",e)}();
615!function(){"use strict";function n(n,t,e,i,s,a){t.type=a,n.spinner.show(),i.get("~/api/v1/settings/sysadmin/antispam/settings").then((function(n){t.item=angular.copy(n.data.settings.remoteRspamd)}),s.report).finally(n.spinner.hide),t.cancel=function(){e.cancel()},t.save=function(){if(t.spamForm.$valid){var a=JSON.stringify({remoteRspamd:t.item});n.spinner.show(),i.post("~/api/v1/settings/sysadmin/antispam/settings",a).then(e.hide,s.report).finally(n.spinner.hide)}}}n.$inject=["$rootScope","$scope","$mdDialog","$http","errorHandling","cardType"],angular.module("smartermail").controller("rspamdSpamCtrl",n)}();
616!function(){"use strict";function e(e,n,t,i,s){e.name=t,e.address=i,e.port=s,e.isValid=!0,e.editingItem=!!i,e.delete=function(){n.hide({doDelete:!0})},e.save=function(t){t.$setSubmitted(),(e.isValid=t.$valid)&&n.hide({name:e.name,address:e.address,port:e.port})},e.cancel=function(){n.cancel()}}e.$inject=["$scope","$mdDialog","name","address","port"],angular.module("smartermail").controller("sysAdminEditSpamAssassinServerController",e)}();
617!function(){"use strict";function s(s,a,e,n,t,i){a.type=i,s.spinner.show(),n.get("~/api/v1/settings/sysadmin/antispam/settings").then((function(s){switch(i){case"SPAMASSASSIN":a.item=angular.copy(s.data.settings.spamAssassin);break;case"REMOTESPAMASSASSIN":a.item=angular.copy(s.data.settings.remoteSpamAssassin);break;default:e.cancel()}}),t.report).finally(s.spinner.hide),a.cancel=function(){e.cancel()},a.save=function(){if(a.spamForm.$valid){var r;switch(i){case"SPAMASSASSIN":r=JSON.stringify({spamAssassin:a.item});break;case"REMOTESPAMASSASSIN":r=JSON.stringify({remoteSpamAssassin:a.item});break;default:return}s.spinner.show(),n.post("~/api/v1/settings/sysadmin/antispam/settings",r).then(e.hide,t.report).finally(s.spinner.hide)}}}s.$inject=["$rootScope","$scope","$mdDialog","$http","errorHandling","cardType"],angular.module("smartermail").controller("spamAssassinSpamCtrl",s)}();
618!function(){"use strict";function n(n,i,s,e,t,a){var o;o=e.Data.Licensing.services.spamfoo_antispam,i.licensed=!(!o||!o.enabled),n.spinner.show(),t.get("~/api/v1/settings/sysadmin/antispam/settings").then((function(n){i.item=angular.copy(n.data.settings.spamFoo)}
618),a.report).finally(n.spinner.hide),i.cancel=function(){s.cancel()},i.save=function(){i.spamForm.$valid&&(n.spinner.show(),t.post("~/api/v1/settings/sysadmin/antispam/settings",JSON.stringify({spamFoo:i.item})).then(s.hide,a.report).finally(n.spinner.hide))}}n.$inject=["$rootScope","$scope","$mdDialog","coreDataLicensing","$http","errorHandling"],angular.module("smartermail").controller("spamFooSpamCtrl",n)}();
619!function(){"use strict";function n(n,t,i,s,e){n.spinner.show(),s.get("~/api/v1/settings/sysadmin/antispam/settings").then((function(n){t.item=angular.copy(n.data.settings.spf)}),e.report).finally(n.spinner.hide),t.cancel=function(){i.cancel()},t.save=function(){t.spamForm.$valid&&(n.spinner.show(),s.post("~/api/v1/settings/sysadmin/antispam/settings",JSON.stringify({spf:t.item})).then(i.hide,e.report).finally(n.spinner.hide))}}n.$inject=["$rootScope","$scope","$mdDialog","$http","errorHandling"],angular.module("smartermail").controller("spfSpamCtrl",n)}();
620!function(){"use strict";function e(e,t,a,n,r,i,o,s,c,l,u,p){var d=this;function E(t){(e.sendEmail=!1,e.browserNotify=!0,e.subject=a("translate")("EVENT_ACTIONS_DEFAULTS_"+e.eventId+"_SUBJECT"),e.body=a("translate")("EVENT_ACTIONS_DEFAULTS_"+e.eventId+"_BODY"),e.shortBody=a("translate")("EVENT_ACTIONS_DEFAULTS_"+e.eventId+"_SHORT"),e.recipientOptions=[],e.currentActionKey&&""!==e.currentActionKey)&&(e.actionTemplate=$.grep(e.possibleActions,(function(t){return t.key===e.currentActionKey})),e.actionTemplate[0]&&e.actionTemplate[0].supportedActionRecipients&&e.actionTemplate[0].supportedActionRecipients.replace(/\s+/g,"").split(",").reverse().forEach((t=>{let n="";"DOMAINADMINS"===t.toUpperCase()&&(n="domain"===e.level?"_ALL":"_SOME"),"USERS"===t.toUpperCase()&&(n="user"===e.level?"_ME":"_AFFECTED"),e.recipientOptions.push({value:t,translation:a("translate")("EVENT_ACTIONS_RECIPIENT_TYPE_"+t.toUpperCase()+n)})})));e.newAction||(e.actionTemplate=$.grep(e.possibleActions,(function(t){return t.key===e.currentActionKey})),e.actionTemplate[0]&&(e.action.supportedActionRecipients=e.actionTemplate[0].supportedActionRecipients),angular.forEach(e.action.inputs,(function(a){switch(a.descriptionResourceId){case"@EventInput_ScriptFile":case"@EventInput_Process":e.process=a.value;break;case"@EventInput_RecipientType":e.recipientType=a.value;break;case"@EventInput_Arguments":e.arguments=a.value;break;case"@EventInput_FromAddress":e.fromAddress=a.value;break;case"@EventInput_ToAddress":d.toAddress=a.value;break;case"@EventInput_AddressToAdd":e.addAddress=a.value;break;case"@EventInput_Recipient":e.recipient=a.value;break;case"@EventInput_Subject":t||(e.subject=a.value);break;case"@EventInput_EmailShort":t||(e.shortBody=a.value);break;case"@Body":t||(e.body=a.value);break;case"@EventInput_WebhookMethod":e.webhookMethod=a.value||"POST";break;case"@EventInput_WebhookUrl":e.webhookUrl=a.value;break;case"@EventInput_WebhookHeaders":e.webhookHeaders=a.value;break;case"@EventInput_WebhookPayload":e.webhookPayload=a.value}}))),"None"===e.recipientType&&e.recipientOptions.length>0&&(e.recipientType=e.recipientOptions[0].value),t&&(e.fromAddress||(e.fromAddress=e.defaultEmail),d.toAddress||(d.toAddress=e.defaultEmail),e.sendEmail=!!e.defaultEmail,e.recipientOptions.length>0&&!e.recipientOptions.some((t=>t.value===e.recipientType))&&(e.recipientType=e.recipientOptions[0].value))}function v(e){return a("translate")("EVENT_CONDITIONS_"+e.toUpperCase().replace(/#/g,""))}e.action=l,e.eventId=i,e.eventGuid=r,e.newAction=o,e.availableEvents=s,e.isValid=!0,e.availableVariables=c[i],e.variables={},angular.forEach(e.availableVariables,(function(t){e.variables[t]=v(t)})),e.customVariables=[{key:"var_dropdown",options:e.variables,icon:"cog",title:a("translate")("SIGNATURES_CUSTOM_VARIABLES"),callback:function(t,a,n){e.form.$setDirty(),e.$applyAsync(),n.insertHtml&&n.insertHtml(a)}}],e.repeatTime=0,e.defaultEmail=u,e.possibleActions=e.availableEvents[i].possibleActions,e.currentActionKey=o?"":e.action.key,e.addAddress="",e.recipient="",e.fromAddress="",d.toAddress="",e.scriptFile="",e.arguments="",e.subject="",e.shortBody="",e.body="",e.re
620cipientOptions=[],e.recipientType="None",e.webhookMethod="POST",e.webhookUrl="",e.webhookHeaders="",e.webhookPayload="",e.repeatOptions=[{value:0,translation:a("translate")("NONE")},{value:1,translation:p.reactPluralize("EVENT_ACTIONS_MINUTES",{count:1})},{value:2,translation:p.reactPluralize("EVENT_ACTIONS_MINUTES",{count:2})},{value:5,translation:p.reactPluralize("EVENT_ACTIONS_MINUTES",{count:5})},{value:15,translation:p.reactPluralize("EVENT_ACTIONS_MINUTES",{count:15})},{value:30,translation:p.reactPluralize("EVENT_ACTIONS_MINUTES",{count:30})},{value:60,translation:p.reactPluralize("EVENT_ACTIONS_HOURS",{count:1})},{value:120,translation:p.reactPluralize("EVENT_ACTIONS_HOURS",{count:2})},{value:300,translation:p.reactPluralize("EVENT_ACTIONS_HOURS",{count:5})},{value:720,translation:p.reactPluralize("EVENT_ACTIONS_HOURS",{count:12})},{value:1440,translation:p.reactPluralize("EVENT_ACTIONS_HOURS",{count:24})}],e.alertUserEditorScope={},e.alertEditorScope={},e.messageEditorScope={},e.selectedTab=0,e.getSetAction=function(t){if(!arguments.length)return e.currentActionKey;if(e.currentActionKey=t,!e.newAction&&(e.newTemplate=$.grep(e.possibleActions,(function(t){return t.key===e.currentActionKey})),e.newTemplate[0])){var a=e.action.id;e.action=e.newTemplate[0],e.action.id=a,e.fromAddress=e.defaultEmail,d.toAddress=e.defaultEmail,e.sendEmail=!!e.defaultEmail}E(!0)},e.parseRepeatTime=function(){var t=e.action.constraintFrequency.split(":");e.repeatTime=Number(t[0]>0?60*t[0]:0)+Number(t[1]>0?t[1]:0)},e.getVariableName=v,e.save=function(){let a=e.body;switch(e.currentActionKey){case"AlertUserAction":a=e.alertUserEditorScope.getHtml();break;case"AlertAction":a=e.alertEditorScope.getHtml();break;case"EmailAction":a=e.messageEditorScope.getHtml()}n((function(){if(e.newAction){if(e.newTemplate=$.grep(e.possibleActions,(function(t){return t.key===e.currentActionKey})),!e.newTemplate[0])return;e.action=JSON.parse(JSON.stringify(e.newTemplate[0])),e.action.id=""}var n,r;e.action.defaultFrequencyInMinutes=e.repeatTime,e.action.constraintFrequency=(n=Math.floor(e.repeatTime/60),r=Math.floor(e.repeatTime%60),(n<10?"0"+n:n)+":"+(r<10?"0"+r:r)+":00"),angular.forEach(e.action.inputs,(function(t){switch(t.descriptionResourceId){case"@EventInput_Owner":t.value=e.defaultEmail;break;case"@EventInput_RecipientType":t.value=e.recipientType;break;case"@EventInput_Process":case"@EventInput_ScriptFile":t.value=e.process;break;case"@EventInput_Arguments":t.value=e.arguments;break;case"@EventInput_FromAddress":t.value=e.fromAddress;break;case"@EventInput_ToAddress":t.value=d.toAddress;break;case"@EventInput_AddressToAdd":t.value=e.addAddress;break;case"@EventInput_Recipient":t.value=e.recipient;break;case"@EventInput_Subject":t.value=e.subject;break;case"@EventInput_EmailShort":t.value=e.shortBody;break;case"@Body":t.value=a;break;case"@EventInput_WebhookMethod":t.value=e.webhookMethod||"POST";break;case"@EventInput_WebhookUrl":t.value=e.webhookUrl;break;case"@EventInput_WebhookHeaders":t.value=e.webhookHeaders;break;case"@EventInput_WebhookPayload":t.value=e.webhookPayload}})),t.hide({action:e.action,deleteAction:!1})}))},e.delete=function(){t.hide({action:e.action,deleteAction:!0})},e.cancel=function(){t.cancel()},E(!1),e.parseRepeatTime()}e.$inject=["$scope","$mdDialog","$filter","$timeout","eventGuid","eventId","newAction","availableEvents","availableVariables","action","defaultEmail","i18n"],angular.module("smartermail").controller("sysAdminEventActionEditController",e)}();
621!function(){"use strict";function e(e,a,n,s,t,i,o,r,c,l,u,d,v,m){e.eventId=o,e.newCondition=t,e.availableEvents=$.extend(!0,[],c),e.isValid=!0,e.currentKey=i||"",e.availableConditions=[],e.availableConditions=e.availableEvents[o]?e.availableEvents[o].conditions:[],e.availableConditions=$.grep(e.availableConditions,(function(e){return"alldomainadmins"!=e.prefillKey&&"primarydomainadmin"!=e.prefillKey&&"checkname"!=e.key})),e.availableConditions.unshift({key:"eventoccured",value1:new Date,value2:new Date,prefillKey:""}),e.conditionOptions={eventoccured:["Between","Outside"],daysofweek:["Equals","DoesNotEqual","Between"],basic:["Equals","DoesNotEqual","Contains","StartsWith","EndsWith"],number:["Equals","DoesNotEqual","Between","LessThan","GreaterThan"],equals:["Equals","DoesNotEqual"]},e.currentOperator=r,e.dayOptions=[{value:0,translation:"SUNDAY"},{value:1,translation:"MONDAY"},{value:2,translation:"TUESDAY"},{value:3,translation:"WEDNESDAY"},{value:4,translation:"THURSDAY"},{value:5,translation:"FRIDAY"},{value:6,translation:"SATURDAY"}],e.boolOptions=[{value:!0,translation:"TRUE"},{value:!1,translation:"FALSE"}],e.spamLevelOptions=["none","low","medium","high"],e.statusOptions=["NeedsAction","InProcess","Completed","Cancelled"],e.subscribeMethodOptions=["manual","emailcommand"],e.ruleTypeOptions=["DenialOfService","BruteForceByIp","BruteForceByEmail","PasswordRetrievalBruteForce","EmailHarvesting","InternalSpammer","BouncesIndicateSpammer"],e.bounceReasonOptions=[];var p="LT";
621e.getSetCondition=function(a){if(!arguments.length)return e.currentKey;if(e.currentKey!=a&&"NO_CONDITIONS"!=a){e.currentKey=a,e.value1="",e.value2="",e.currentOperator=e.conditionOptions[e.getFriendlyKey(a)][0];var n=$.grep(e.availableConditions,(function(e){return e.key===a}));if(n=n[0]?n[0]:void 0)switch(n.key){case"daysofweek":e.value1=0,e.value2=0;break;case"hardreject":case"intradomain":e.value1=!0;break;case"spamlevel":e.value1="none";break;case"subscribemethod":case"unsubscribemethod":e.value1="manual";break;case"ruletype":e.value1="DenialOfService";break;case"service":e.value1="SMTP";break;case"status":e.value1="NeedsAction";break;case"eventoccured":e.value1=moment().format(p),e.value2=moment().format(p);break;default:e.value1||(e.value1=n.value1),e.value2||(e.value2=n.value2)}}},e.getFriendlyKey=function(e){switch(e){case"fromdomain":case"fromaddress":case"subject":case"todomain":case"toaddress":case"location":case"description":case"aliasname":case"aliasaddresses":case"emailaddress":case"listname":case"mailinglistaddress":case"username":case"fullname":case"forwardingaddresses":case"domain":case"clamip":case"filename":case"ipaddress":case"rulename":case"spamassassinip":case"spamassassinname":case"virusname":case"licensefor":case"diskdrive":case"gatewayip":case"version":case"password":case"path":case"hostname":return"basic";case"sizekb":case"mailboxusagepercent":case"mailboxusagemb":case"priority":case"percentcomplete":case"amtinhour":case"domaincount":case"domainpercent":case"domainusagepercent":case"domainusagemb":case"clamport":case"consecutivefailures":case"filesize":case"weight":case"spamassassinport":case"daysleft":case"diskspacegbused":case"diskspacepercent":case"diskspacefree":case"diskspacefreepercent":case"memorymbused":case"memorypercent":case"spoolcount":case"uptimedays":case"threads":case"daysuntilexpires":return"number";case"spamlevel":case"intradomain":case"status":case"hardreject":case"unsubscribemethod":case"subscribemethod":case"ruletype":case"service":case"automatedrenewal":return"equals";default:return e}},e.checkValueRange=function(){switch(e.currentKey){case"mailboxusagemb":case"sizekb":case"priority":e.value2<e.value1&&(e.value2=e.value1);break;case"percentcomplete":case"mailboxusagepercent":e.value1>100&&(e.value1=100),e.value2>100&&(e.value2=100),e.value1<0&&(e.value1=0),e.value2<0&&(e.value2=0),e.value1>e.value2&&(e.value2=e.value1);break;case"eventoccured":var a=v(e.value1),n=v(e.value2);""===a&&(e.value1=""),""===n&&(e.value2=""),a>n&&(n=a),e.value1=a.format(p),e.value2=n.format(p)}},e.save=function(n){if(n)return;"Between"!==e.currentOperator&&"Outside"!==e.currentOperator&&(e.value2=null);var s;if("eventoccured"===e.currentKey){var t=v(e.value1),i=v(e.value2);return s={key:e.currentKey,condition:e.currentOperator,value1:1e4*t,value2:1e4*i,prefillKey:"",descriptionResourceID:"@EventCondition_TimeOfDay",type:"SmarterMail.Common.Events.EventCondition.EventConditionTime"},void a.hide({condition:s,newCond:e.newCondition,deleteCond:!1})}(s=$.grep(c[o].conditions,(function(a){return a.key===e.currentKey})))[0]&&(s=s[0]);s?(s.condition=e.currentOperator,s.value1=e.value1,s.value2=e.value2,a.hide({condition:s,newCond:e.newCondition,deleteCond:!1})):a.cancel()},e.delete=function(){a.hide({condition:{key:e.currentKey,condition:e.currentOperator,value1:e.value1,value2:e.value2},newCond:e.newCondition,deleteCond:!0})},e.cancel=function(){a.cancel()},function(){m.get("~/api/v1/settings/get-bounce-reasons").then((function(a){e.bounceReasonOptions=a.data||[]}),(function(){e.bounceReasonOptions=[]})),l&&angular.forEach(Object.keys(l),(function(a){e.availableConditions=$.grep(e.availableConditions,(function(e){return e.key===a}),!0)}));t||e.availableConditions.push({key:e.currentKey,value1:"",value2:"",prefillKey:""});0===e.availableConditions.length&&e.availableConditions.push({key:"NO_CONDITIONS"});if("eventoccured"===e.currentKey){var a=moment().hour(moment().hours()-moment().utc().hours()).minutes(moment().minutes()-moment().utc().minutes()).second(0);e.value1=u?a.add(u/1e4).format(p):moment().format(p),a.add(-u/1e4),e.value2=d?a.add(d/1e4).format(p):moment().format(p)}else e.value1=u||(0===u?0:""),e.value2=d||(0===d?0:"")}()}
621e.$inject=["$scope","$mdDialog","$filter","$timeout","newCondition","conditionKey","eventId","operator","availableEvents","usedConditions","value1","value2","parseTimeSpan","$http"],angular.module("smartermail").controller("sysAdminEventConditionEditController",e)}();
622!function(){"use strict";function n(n,i,a,o,e,t){i.isExclude=t,i.domainsToForward=(e||[]).map((n=>(n||"").trim())).filter(Boolean),i.domainsToForward.sort(),i.textValue=i.domainsToForward.join("\n"),i.invalidDomains=[],i.save=function(){const n=(i.textValue||"").split(/\r?\n/).map((n=>(n||"").trim())).filter(Boolean);a.hide(n)},i.cancel=function(){a.cancel()},i.getInvalidDomains=async function(){const n=(i.textValue||"").split(/\r?\n/),a=[];for(let i=0;i<n.length;i++){const e=(n[i]||"").trim();if(!e&&i===n.length-1)continue;await o.isValidDomain(e)||a.push({invalidDomainIndex:i,domainToFix:e})}i.$applyAsync((function(){i.invalidDomains=a}))},i.fixInvalidDomain=function(n,a){const o=(i.textValue||"").split(/\r?\n/);o[a.invalidDomainIndex]=(a.domainToFix||"").trim(),i.textValue=o.join("\n"),n.domains.$setViewValue(i.textValue),n.domains.$render(),i.getInvalidDomains()},i.removeInvalidDomain=function(n,a){const o=(i.textValue||"").split(/\r?\n/);o.splice(a.invalidDomainIndex,1),i.textValue=o.join("\n"),n.domains.$setViewValue(i.textValue),n.domains.$render(),i.getInvalidDomains()},i.getInvalidDomains()}n.$inject=["$rootScope","$scope","$mdDialog","emailValidationService","domainsToForward","isExclude"],angular.module("smartermail").controller("editInboundGatewayDomainsDialogController",n)}();
623!function(){"use strict";function n(n,e,t,a,r){const i=this;function o(){const n=Number(i.actionType);if(!Array.isArray(i.actionDefs)||0===i.actionDefs.length)return{value:0,labelKey:"NO_ACTION",argKind:"none"};for(let e=0;e<i.actionDefs.length;e++){const t=i.actionDefs[e];if(t&&Number(t.value)===n)return t}return i.actionDefs[0]}i.title=e,i.actionDefs=r||[],i.actionType=angular.isNumber(t)?t:0,i.argument=a||"",i.getSelectedDef=o,i.shouldShowArgument=function(){const n=o();return!!n&&n.argKind&&"none"!==n.argKind},i.getArgumentLabelKey=function(){const n=o();return n&&n.argLabelKey?n.argLabelKey:"VALUE"},i.save=function(e){if(e)return;const t=o();let a=i.argument;t&&t.argKind&&"none"!==t.argKind||(a="");n.hide({actionType:i.actionType,argument:a})},i.cancel=function(){n.cancel()}}n.$inject=["$mdDialog","title","actionType","argument","actionDefs"],angular.module("smartermail").controller("editInboundGatewaySpamActionDialogController",n)}();
624!function(){"use strict";function t(t,e,o,n,r,i,a){t.editorScope={},t.footerText=n,t.context=i,t.domainOverride=r,t.readOnly=a,t.onFroalaInitialized=function(){$("st-html-editor textarea.froalaEditor")[0]["data-froala.editor"].events.focus()},t.save=function(){const n=t.editorScope.getHtml();o((function(){e.hide(n)}))},t.cancel=function(){e.cancel()}}t.$inject=["$scope","$mdDialog","$timeout","footerText","domainOverride","context","readOnly"],angular.module("smartermail").controller("sysadminFooterController",t)}();
625!function(){"use strict";function n(n,t,e,r,a,o,c){var i=this;function u(n){n?(angular.extend(i.currentItem,n),i.isNew=!1):(i.currentItem={commandMount:"",commandUnmount:"",useArgumentsInCommand:!1,enabled:!0},i.isNew=!0)}i.currentItem={commandMount:"",commandUnmount:"",useArgumentsInCommand:!1,enabled:!0},i.isNew=!0,i.initializeForm=u,i.submit=function(){var o=angular.copy(i.currentItem);r.post("~/api/v1/settings/sysadmin/AddOrUpdateMount",o).then((function(r){if(r.data.success){t.hide();for(var o=n.$parent;o&&!o.ctrl;)o=o.$parent;o&&o.ctrl&&"function"==typeof o.ctrl.refreshTable&&o.ctrl.refreshTable()}else a.report(r.data.error||e.instant("SAVE_FAILED"))}),(function(n){a.report(n)}))},i.cancel=function(){t.cancel()},u(c)}n.$inject=["$scope","$mdDialog","$translate","$http","errorHandling","i18n","mount"],angular.module("smartermail").controller("sysAdminMountDlg",n)}();
626!function(){"use strict";function r(r,e,t,l,o,i){function n(e,t){e.$validators||(e.$validators={}),e.$validators.validateIpAddressCommaSep||(e.$validators.validateIpAddressCommaSep=c);let l=e.$viewValue,o=l&&l.trim?l.trim():l;console.log("TEST123",o,l,o,t,e),(o||l)&&(r.rblCheckProviders[t].ipsToMatch=o&&o.length?o:null,"function"==typeof e.$validate&&e.$validate())}function s(r){return r.match(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/g)}function c(r,e){if(!e)return!0;
626if(e&&"*"===e.toString().trim())return!0;let t=e.split(",");for(let r=0;r<t.length;r++){let e=t[r].trim();if(!e)return!1;if(!s(e))return!1}return!0}r.isHA=window.stHA,r.rblCheckProviders=o||[],r.rblCheckProvidersOg=angular.copy(r.rblCheckProviders),r.rblCheckProviders.push({host:"",ipsToMatch:null}),setTimeout((()=>{for(var r=document.querySelectorAll("form[name='rblCheckForm'] input[name^='rbl_match_']"),e=0;e<r.length;e++)n(r[e],e)}),100),r.cancel=function(){r.rblCheckProviders.length=0,r.rblCheckProviders.push(...r.rblCheckProvidersOg),r.rblCheckProviders.length>0&&""===r.rblCheckProviders[r.rblCheckProviders.length-1].host&&r.rblCheckProviders.pop(),e.cancel()},r.onIpChanged=function(e,t,l){const o=l["rbl_host_"+t];if(o){const l=o.$viewValue;r.rblCheckProviders[t].host=l,l&&l.length>0&&e&&r.rblCheckProviders.push({host:"",ipsToMatch:null})}let i=l["rbl_match_"+t];i&&n(i,t)},r.removeIp=function(e,t){r.rblCheckProviders.splice(e,1),t.$setDirty()},r.save=function(){r.rblCheckForm.$valid&&(r.rblCheckProviders.pop(),e.hide())}}r.$inject=["$scope","$mdDialog","$http","$translate","rblCheckProviders","errorHandling"],angular.module("smartermail").controller("rblCheckProvidersCtrl",r)}();
627!function(){"use strict";function e(e,i,a,s,t,d,p,n,c,m,r,l,o,_,w,u,v,h){var b=this;e.addresses=t,e.smtp=d,e.pop=p,e.imap=n,e.xmpp=c,e.ldap=m,e.active_sync=o,e.web_dav=l,e.web_mail=r,e.mapi_ews=_,e.description=w,e.fromGrid=u,e.isValid=!0,e.isSwitchSelected=!0,e.readOnly=h,e.description=a.instant(e.description),e.changed=v,e.changedText=a.instant("DATE_MODIFIED_WITH_DATE",{date:e.changed}),e.hideChanged=function(){return!e.changed},s((function(){b.userForm.$setDirty()}),100),e.save=function(a){(e.isValid=a.userForm.$valid&&(e.isSwitchSelected=e.smtp||e.pop||e.imap||e.xmpp||e.web_dav||e.web_mail||e.ldap||e.mapi_ews||e.active_sync,e.isSwitchSelected))&&i.hide({address:e.addresses,smtp:e.smtp,pop:e.pop,imap:e.imap,xmpp:e.xmpp,ldap:e.ldap,mapi_ews:e.mapi_ews,web_dav:e.web_dav,web_mail:e.web_mail,active_sync:e.active_sync,description:e.description})},e.cancel=function(){i.cancel()}}e.$inject=["$scope","$mdDialog","$translate","$timeout","addresses","smtp","pop","imap","xmpp","ldap","web_mail","web_dav","active_sync","mapi_ews","description","fromGrid","changed","readOnly"],angular.module("smartermail").controller("sysAdminEditBlacklistingController",e)}();
628!function(){"use strict";function i(i,n,t,e,l,o){var u=this;i.titleText=o,this.fileCount=0,i.uploaderInit=function(n){i.uploaderFunctions=n},i.save=function(){(i.isValid=u.fileCount>0)&&i.uploaderFunctions.startUpload()},i.cancel=function(){n.cancel()},i.importFile=function(i,t){l.report(),n.hide({})},i.uploadFailed=function(){e.report("ERROR_UPLOADING"),i.step=1,i.uploaderFunctions.reset()},i.addedFile=function(){i.isValid=!0,u.fileCount++,i.$applyAsync()},i.removedFile=function(){u.fileCount--,u.fileCount<0&&(u.fileCount=0),0===u.fileCount&&(i.isValid=!1),i.$applyAsync()},i.isValid=!1}i.$inject=["$scope","$mdDialog","$filter","errorHandling","successHandling","titleText"],angular.module("smartermail").controller("sysAdminImportSecuritySettingsController",i)}();
629!function(){"use strict";function e(e,o,t,c,n,i,l,d,r,s){var u=this;function p(o){return u.allowedActions[e.detectionType]&&u.allowedActions[e.detectionType].includes(o)?(u.action=o,!0):(u.action=2===e.detectionType||4===e.detectionType?3:1,!1)}u.allowedActions={0:[1],1:[1],2:[1,2,3],3:[1,4],4:[1,2,3],5:[1],6:[1]},e.detectionType=c,p(n),e.tempBlockWatchPeriod=i,e.tempBlockConnectionThreshold=l,e.description=s,u.successfulAuthScore=r,u.tempBlockPeriod=d,e.onDetectionTypeChange=function(){if(p(u.action))return;e.tempBlockWatchPeriod=null,e.tempBlockConnectionThreshold=null,e.tempBlockPeriod=null},e.save=function(t){if(t.$setSubmitted(),!t.$valid)return;o.hide({detectionType:e.detectionType,action:u.action,tempBlockWatchPeriod:e.tempBlockWatchPeriod,tempBlockConnectionThreshold:e.tempBlockConnectionThreshold,tempBlockPeriod:u.tempBlockPeriod,description:e.description,successfulAuthScore:u.successfulAuthScore})},e.cancel=function(){o.cancel()}}e.$inject=["$scope","$mdDialog","$timeout","detectionType","action","tempBlockWatchPeriod","tempBlockConnectionThreshold","tempBlockPeriod","successfulAuthScore","description"],angular.module("smartermail").controller("sysAdminEditAbuseDetectionController",e)}();
630!function(){"use strict";function i(i,e,o,d,n,c,t){i.editingItem=d,i.blockType=o,i.blockedAddress=d,i.direction=n,i.description=c,i.blockOptions=[0,1],i.directionOptions=[1,2,3],i.isNew=t,i.isValid=!0,i.onInit=function(e){i.editingItem&&i.isNew&&(i.isValid=e.$valid,e.$valid&&e.$setDirty(!0))},i.save=function(o){(i.isValid=o.userForm.$valid)&&e.hide({blockType:i.blockType,blockedAddress:i.blockedAddress,direction:i.direction,description:i.description})},i.cancel=function(){e.cancel()}}i.$inject=["$scope","$mdDialog","blockType","blockedAddress","direction","description","isNew"],angular.module("smartermail").controller("sysAdminEditSmtpBlockingController",i)}();
631!function(){"use strict";s.$inject=["$scope","$mdDialog","whitelistEntry","changed","isNew"],angular.module("smartermail").controller("sysAdminEditWhitelistingController",s);var d=["smtp","pop","imap","xmpp","ldap","web_dav","mapi_ews","web_mail","active_sync","ip_bypass","bruteforce_bypass","spam_bypass","greylist_bypass","tcp_proxy"],a=d.concat(["bypass"]);function s(s,e,p,i,t){var r=this;function n(d){return d.match(/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/g)}r.addresses=t?"":p.ip,r.domain=t?"":p.domain,r.smtp=!t&&p.smtp,r.pop=!t&&p.pop,r.imap=!t&&p.imap,r.xmpp=!t&&p.xmpp,r.ldap=!t&&p.ldap,r.web_mail=!t&&p.web_mail,r.web_dav=!t&&p.web_dav,r.mapi_ews=!t&&p.mapi_ews,r.active_sync=!t&&p.active_sync,r.bypass=!t&&p.bypass,r.description=t?"":p.description,r.spam_bypass=!t&&p.spam_bypass,r.bruteforce_bypass=!t&&p.bruteforce_bypass,r.greylist_bypass=!t&&p.greylist_bypass,r.ip_bypass=!t&&p.ip_bypass,r.tcp_proxy=!t&&p.tcp_proxy,r.selectedType=0,r.changed=i,t||r.addresses.match(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/g)||function(d){return d.match(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\s*-\s*(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/g)}(r.addresses)||function(d){return d.match(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])(\/([0-9]|[1-2][0-9]|3[0-2]))$/g)}(r.addresses)||n(r.addresses)||r.addresses.match(/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(\/([0-9]|[1-9][0-9]|1[0-2][0-9]|13[0-2]))(%.+)?\s*$/g)||function(d){var a=d.split("-");return 2==a.length&&(n(a[0])&&n(a[1]))}(r.addresses)||(r.domain=r.addresses,r.addresses="",r.selectedType=1),r.save=function(){var d=r.addresses;1==r.selectedType&&(d=r.domain);e.hide({address:d,domain:r.domain,smtp:r.smtp,pop:r.pop,imap:r.imap,xmpp:r.xmpp,ldap:r.ldap,web_dav:r.web_dav,web_mail:r.web_mail,mapi_ews:r.mapi_ews,active_sync:r.active_sync,bypass:r.bypass,spam_bypass:r.spam_bypass,bruteforce_bypass:r.bruteforce_bypass,greylist_bypass:r.greylist_bypass,ip_bypass:r.ip_bypass,tcp_proxy:r.tcp_proxy,description:r.description})},r.cancel=function(){e.cancel()},r.hideChanged=function(){return!r.changed},r.onSourceTypeChange=function(){if(1!==r.selectedType)return;d.forEach((function(d){r[d]=!1}))},r.hasServiceSelected=function(){return a.some((function(d){return r[d]}
631))}}}();
632!function(){"use strict";function e(e,i,n){var d=this;d.ipOptions=i,d.addressFamily=n,d.selectedIp=null,d.cancel=function(){e.cancel()},d.add=function(){e.hide(d.selectedIp)}}e.$inject=["$mdDialog","ipOptions","addressFamily"],angular.module("smartermail").controller("addIpAddressCtrl",e)}();
633!function(){"use strict";function t(t,e){var n=this;n.selectedCount=e,n.data={ipsToMatch:"*"},n.save=function(e){t.hide(n.data)},n.cancel=function(){t.cancel()}}t.$inject=["$mdDialog","selectedCount"],angular.module("smartermail").controller("modifyRblProvidersCtrl",t)}();
634!function(){"use strict";function r(r,e,t,l,o,i){function n(e,t){e.$validators||(e.$validators={}),e.$validators.validateIpAddressCommaSep||(e.$validators.validateIpAddressCommaSep=c);let l=e.$viewValue,o=l&&l.trim?l.trim():l;(o||l)&&(r.rblCheckProviders[t].ipsToMatch=o&&o.length?o:null,"function"==typeof e.$validate&&e.$validate())}function s(r){return r.match(/^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$/g)}function c(r,e){if(!e)return!0;if(e&&"*"===e.toString().trim())return!0;let t=e.split(",");for(let r=0;r<t.length;r++){let e=t[r].trim();if(!e)return!1;if(!s(e))return!1}return!0}r.isHA=window.stHA,r.rblCheckProviders=o||[],r.rblCheckProvidersOg=angular.copy(r.rblCheckProviders),r.rblCheckProviders.push({host:"",ipsToMatch:null}),setTimeout((()=>{for(var r=document.querySelectorAll("form[name='rblCheckForm'] input[name^='rbl_match_']"),e=0;e<r.length;e++)n(r[e],e)}),100),r.cancel=function(){r.rblCheckProviders.length=0,r.rblCheckProviders.push(...r.rblCheckProvidersOg),r.rblCheckProviders.length>0&&""===r.rblCheckProviders[r.rblCheckProviders.length-1].host&&r.rblCheckProviders.pop(),e.cancel()},r.onIpChanged=function(e,t,l){const o=l["rbl_host_"+t];if(o){const l=o.$viewValue;r.rblCheckProviders[t].host=l,l&&l.length>0&&e&&r.rblCheckProviders.push({host:"",ipsToMatch:null})}let i=l["rbl_match_"+t];i&&n(i,t)},r.removeIp=function(e,t){r.rblCheckProviders.splice(e,1),t.$setDirty()},r.save=function(){r.rblCheckForm.$valid&&(r.rblCheckProviders.pop(),e.hide())}}r.$inject=["$scope","$mdDialog","$http","$translate","rblCheckProviders","errorHandling"],angular.module("smartermail").controller("rblCheckProvidersCtrl",r)}();
635!function(){"use strict";function t(t,a){var e=this;e.orig=a,e.data=angular.copy(a),e.save=function(a){t.hide(e.data)},e.cancel=function(){t.cancel()},e.delete=function(a){e.data.itemsToRemove=!0,t.hide(e.data)}}t.$inject=["$mdDialog","orig"],angular.module("smartermail").controller("smtpOutRblProviderCtrl",t)}();
636!function(){"use strict";function e(e,t,c,a,i,r,n,o,l,s,m,$){var u=this;u.page="start",u.acmeCertificate=$.acmeCertificate||{},u.cancel=function(){c.cancel()}}e.$inject=["$rootScope","$scope","$mdDialog","$filter","$http","$translate","$timeout","$q","successHandling","claimsService","errorHandling","options"],angular.module("smartermail").controller("systemSslAcmeModalController",e)}();
637!function(){"use strict";function t(t,e,i,c,l,s,n,o,r,a,$,u){this.sslCertificate=u.sslCertificate||{},this.cancel=function(){i.cancel()}}t.$inject=["$rootScope","$scope","$mdDialog","$filter","$http","$translate","$timeout","$q","successHandling","claimsService","errorHandling","options"],angular.module("smartermail").controller("systemSslCertificateModalController",t)}();
638!function(){"use strict";function e(e,t,a,s,n,i,l,r,c,o,d){var p=this;function u(){document.getElementById("sslSetupUploadFile").addEventListener("change",(()=>{t.$applyAsync((()=>{let e=document.getElementById("sslSetupUploadFile").files;p.uploadedCertificate=!(!e||!e.length)}))}))}p.page="start",p.sslCertificate={cert_setup_type:1},p.uploadedCertificate=void 0,p.step1_next=async function(){p.validatingCertificate=!0,await async function(){try{e.spinner.show(),p.uploadedFile=await async function(){let e=r.defer();const t=new FileReader;let a=document.getElementById("sslSetupUploadFile").files[0];a&&(t.addEventListener("load",s),t.readAsDataURL(a));async function s(){try{let s={filename:a.name,password:p.sslPassword||"",length:a.size,data:t.result.split(",")[1]};e.resolve(s)}catch(t){e.reject(t)}}return e.promise}();var t=await n.post("~/api/v1/settings/sysadmin/ssl-cert-validate",JSON.stringify(p.uploadedFile));if(t.data&&!t.data.success)throw t;return p.validateResult=t.data,!0}catch(e){return d.report(e),!1}
638finally{e.spinner.hide()}}()&&t.$applyAsync((()=>p.page="upload-cert"))},p.upload_cert=async function(){try{e.spinner.show();var t=await n.post("~/api/v1/settings/sysadmin/ssl-cert-upload",JSON.stringify(p.uploadedFile));if(t.data&&!t.data.success)throw t;c.report("SUCCESS"),a.hide()}catch(e){d.report(e)}finally{e.spinner.hide()}},p.cancel=function(){a.cancel()},p.back=function(){p.page="start"},l(u,0)}e.$inject=["$rootScope","$scope","$mdDialog","$filter","$http","$translate","$timeout","$q","successHandling","claimsService","errorHandling"],angular.module("smartermail").controller("systemSslUploadCertModalController",e)}();
639!function(){"use strict";function e(e,s,n,a){e.currentMessages=a,e.availableLocales=angularLangNames,e.selectedLocale,e.messageTypes=[],e.selectedType,e.isValid=!0,e.cancel=function(){s.cancel()},e.save=function(){if(!function(){e.isValid=!0,e.validationError="",0!==e.currentMessages.filter((function(s){return s.key===e.selectedType&&s.localeId===e.selectedLocale})).length&&(e.isValid=!1,e.validationError="SYSTEM_MESSAGE_ERROR_EXISTS");return e.isValid}())return;s.hide({type:e.selectedType,localeId:e.selectedLocale})},angular.forEach(e.currentMessages,(function(s){var a={v:s.key,n:n.instant("SYSTEM_MESSAGES_MESSAGE_TYPES_"+s.key.toUpperCase())};0===e.messageTypes.filter((function(e){return e.v===a.v})).length&&e.messageTypes.push(a)})),e.messageTypes.sort((function(e,s){return e.n<s.n?-1:e.n>s.n?1:0}))}e.$inject=["$scope","$mdDialog","$translate","sysMessages"],angular.module("smartermail").controller("systemMessagesNewController",e)}();
640!function(){"use strict";function t(t,n,o,e){function l(){o.get("~/api/v1/debug/dm-status").then((function(t){}),(function(){}))}t.updateInformation=l,t.openProfiler=function(){n.show({controller:"sysAdminEditProfilingController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/troubleshooting/devmenu/profiler.dlg.html"})},t.openMapiCap=function(){n.show({controller:"sysAdminEditMapiCapController",controllerAs:"ctrl",templateUrl:"app/sysadmin/settings/troubleshooting/devmenu/mapicap.dlg.html"})},t.runCommand=function(t){o.get("~/api/v1/debug/dm-cmd/"+t).then((function(t){let n=t.data&&t.data.result&&t.data.result.message;n||(n=t.data&&t.data.message),e.pop("success","CMD RESULT",n)}),(function(){}))},t.restore=function(t,o){n.show({controller:"editDomainRestoreController",controllerAs:"ctrl",locals:{options:{type:o}},templateUrl:"app/sysadmin/manage/domains/modals/restore.dlg.html",targetEvent:t,clickOutsideToClose:!1}).then((function(){}),(function(){}))},l(),t.cancel=function(){n.cancel()}}t.$inject=["$scope","$mdDialog","$http","toaster"],angular.module("smartermail").controller("sysAdminDevMenuController",t)}();
641!function(){"use strict";function t(t,e,o,n,i){function a(){var e=t;o.get("~/api/v1/settings/sysadmin/global-mail").then((function(t){var o=angular.copy(t.data.globalMailSettings);e.maxRequestBeforeStop=o.mapiSettings.debugMonitorRequestsMax,e.monitorUser=o.mapiSettings.debugMonitorUser,e.monitorActive=e.monitorUser.length>0,e.monitorCaptures=o.mapiSettings.debugMonitorCaptures}),(function(){}))}t.removeMapiCapture=function(e,i){var a=t;o.get("~/api/v1/debug/delete-mapi-capture/"+i).then((function(){a.monitorCaptures=a.monitorCaptures.filter((function(t){return t!==i}))}),n.report)},t.downloadMapiCapture=function(t,e){var o="~/api/v1/debug/download-mapi-capture/"+e;i.downloadFile(o,e).then((function(){}),n.report)},t.monitorCaptures=[],t.saveInformation=function(){var e=t,i={globalMailSettings:{mapiSettings:{debugMonitorRequestsMax:e.maxRequestBeforeStop,debugMonitorUser:e.monitorActive?e.monitorUser:""}}};o.post("~/api/v1/settings/sysadmin/global-mail/",i).then((function(){}),n.report)},t.updateInformation=a,t.maxRequestBeforeStop=123,a(),t.cancel=function(){e.cancel()}}t.$inject=["$scope","$mdDialog","$http","errorHandling","coreDataFileStorage"],angular.module("smartermail").controller("sysAdminEditMapiCapController",t)}();
642!function(){"use strict";function i(i,t,e,o,r){function n(){e.get("~/api/v1/profiling/info").then((function(i){a(i.data)}),(function(){}))}function a(t){i.isProfilerActive=t.profilerActive,i.currentStatus=t.currentStatus,i.isAttached=t.profilerAttached,i.profilerStartTime=moment(t.profilerStartTimeJs),i.profilerRuntimeMs=t.profilerRuntimeMs,i.isProfilerInstalled=t.profilerSdkInstalled,t.profiles.forEac
642h((function(i){i.dateStr=moment(i.dateStrJsFriendly).format("LLL"),i.downloadLink=stSiteRoot+"api/v1/profiling/download/"+i.guid})),i.savedProfiles=t.profiles,i.isAttached&&(i.isWaitingAttach=!1),i.autoProfilerOptions=t.autoProfilerOptions,t.autoProfilerOptions.monitoring&&(i.profilerType=t.autoProfilerOptions.profileType,0==t.autoProfilerOptions.triggerType?i.viewMode="autocpu":1==t.autoProfilerOptions.triggerType&&(i.viewMode="automem")),i.isProfilerActive&&(i.profilerType=t.profilerType),i.timerProfilerOptions=t.timerProfilerOptions,t.timerProfilerOptions.active&&(i.profilerType=t.timerProfilerOptions.profileType,i.viewMode="time")}function f(i){var t,e,o,r;if(i instanceof Array)return i.map((function(i){return"object"==typeof i&&(i=f(i)),i}));for(e in t={},i)i.hasOwnProperty(e)&&(o=(e.charAt(0).toLowerCase()+e.slice(1)||e).toString(),((r=i[e])instanceof Array||null!==r&&r.constructor===Object)&&(r=f(r)),t[o]=r);return t}i.savedProfiles=[],i.isAttached=!0,i.isWaitingAttach=!1,i.isProfilerActive=!0,i.isProfilerInstalled=!1,i.profilerType=0,i.profilerStartTime="",i.profilerRuntimeMs=0,i.Math=window.Math,i.viewMode="manual",i.currentStatus="uninitialized",i.autoProfilerOptions={},i.timerProfilerOptions={active:!1},i.updateInformation=n,i.stopProfiling=function(){switch(i.profilerType){case 0:e.get("~/api/v1/profiling/memory/GetAndSaveMemorySnapshot").then((function(i){}));break;case 1:e.get("~/api/v1/profiling/timeline/SaveSnapshot").then((function(i){}))}},i.startProfiling=function(){switch(i.isWaitingAttach=!0,i.profilerType){case 0:e.get("~/api/v1/profiling/memory/TraceAllocationsEnable").then((function(t){setTimeout(i.updateInformation,3e3)}));break;case 1:e.get("~/api/v1/profiling/timeline/NewSnapshot").then((function(t){setTimeout(i.updateInformation,3e3)}))}},i.dropProfiling=function(){switch(i.profilerType){case 0:break;case 1:e.get("~/api/v1/profiling/timeline/DropSnapshot").then((function(i){}))}},i.deleteProfile=function(t){e.get("~/api/v1/profiling/delete/"+t).then((function(t){setTimeout(i.updateInformation,1e3)}))},i.detach=function(){switch(i.profilerType){case 0:e.get("~/api/v1/profiling/memory/DetachProfiler").then((function(i){}));break;case 1:e.get("~/api/v1/profiling/timeline/DetachProfiler").then((function(i){}))}},i.autoProfilerToggle=function(t){"automem"==i.viewMode?i.autoProfilerOptions.triggerType=1:"autocpu"==i.viewMode&&(i.autoProfilerOptions.triggerType=0);i.autoProfilerOptions.profileType=i.profilerType,t?e.post("~/api/v1/profiling/autoprofiler/start",i.autoProfilerOptions).then((function(t){setTimeout(i.updateInformation,1e3)}),(function(i){alert("Could not start")})):e.post("~/api/v1/profiling/autoprofiler/stop",i.autoProfilerOptions).then((function(t){setTimeout(i.updateInformation,1e3)}),(function(i){alert("Could not stop")}))},i.startTimer=function(t){i.timerProfilerOptions.profileType=i.profilerType,t?e.post("~/api/v1/profiling/timerprofiler/start",i.timerProfilerOptions).then((function(t){setTimeout(i.updateInformation,1e3)}),(function(i){alert("Could not start")})):e.post("~/api/v1/profiling/timerprofiler/stop",i.timerProfilerOptions).then((function(t){setTimeout(i.updateInformation,1e3)}),(function(i){alert("Could not stop")}))},i.downloadProfile=function(i){var t="~/api/v1/profiling/download/"+i,e=i+".zip";o.downloadFile(t,e).then((function(){}),r.report)},n(),i.cancel=function(){t.cancel()},i.$on("signalR.mailHub.client.profilerStatus",(function(i,t){a(f(t))}))}i.$inject=["$scope","$mdDialog","$http","coreDataFileStorage","errorHandling"],angular.module("smartermail").controller("sysAdminEditProfilingController",i)}();
643//# sourceMappingURL=site.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.