{"version":3,"file":"javascript/main.js","mappings":"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","sources":["webpack:///./index.js","webpack:///./polyfill.js","webpack:///./jsw/index.js","webpack:///./jsw/namespace.js","webpack:///./jsw/createComponent.js","webpack:///./jsw/component.js","webpack:///./jsw/tooltip.js","webpack:///./jsw/escapeHtml.js","webpack:///./jsw/Locale.js","webpack:///./jsw/api.js","webpack:///../common/user-activity-tracking.js","webpack:///./helpers/isNetworkError.ts","webpack:///./jsw/addUrlParams.js","webpack:///./jsw/emptyFn.js","webpack:///./jsw/Observer.js","webpack:///./components/common/Translate.js","webpack:///../common/react-compat.js","webpack:///external var \"window.PleskUiLibrary\"","webpack:///./jsw/render.js","webpack:///./jsw/onReady.js","webpack:///./jsw/addStatusMessage.js","webpack:///./jsw/status-message.js","webpack:///./jsw/prepareUrl.js","webpack:///./jsw/createElement.js","webpack:///./jsw/clearStatusMessages.js","webpack:///./helpers/pageData.ts","webpack:///./jsw/showInternalError.js","webpack:///./jsw/escapeAttribute.js","webpack:///./jsw/unescapeHtml.js","webpack:///./jsw/fireCustomEvent.js","webpack:///./jsw/keyCode.js","webpack:///./jsw/hint.js","webpack:///./helpers/createHtmlElement.ts","webpack:///./jsw/button.js","webpack:///./jsw/small-button.js","webpack:///./jsw/big-button.js","webpack:///./jsw/split-button.js","webpack:///./jsw/command-button.js","webpack:///./jsw/custom-button.js","webpack:///./jsw/tool-list.js","webpack:///./jsw/container.js","webpack:///./jsw/form-redirect.js","webpack:///./jsw/form.js","webpack:///./jsw/form-ajax.js","webpack:///./jsw/list-container.js","webpack:///./jsw/layout.js","webpack:///../common/cookie.js","webpack:///./jsw/panel.js","webpack:///./jsw/message-box.js","webpack:///./jsw/modal-dialog-box.js","webpack:///./jsw/dropdown-header.js","webpack:///./jsw/dropdown-manager.js","webpack:///./jsw/small-tools.js","webpack:///./jsw/list/Filters.js","webpack:///./images/blank.gif","webpack:///./jsw/collapsible-block.js","webpack:///./jsw/pathbar.js","webpack:///./jsw/bar.js","webpack:///./jsw/dynamic-sub-form.js","webpack:///./jsw/box.js","webpack:///./jsw/gauge.js","webpack:///./jsw/popup-form.js","webpack:///./jsw/ajax-popup-form.js","webpack:///./jsw/Popup.js","webpack:///./jsw/double-list-selector.js","webpack:///./jsw/enhanced-double-list-selector.js","webpack:///./images/search-input.png","webpack:///./images/clear-search.png","webpack:///./jsw/dynamic-popup-hint.js","webpack:///./jsw/password-meter.js","webpack:///./helpers/estimatePassword.ts","webpack:///./apolloClient.js","webpack:///./queries/PasswordEstimation.graphql","webpack:///./jsw/password-generator.js","webpack:///./helpers/shuffle.ts","webpack:///./jsw/upgrade-failure-notification.js","webpack:///./jsw/webserver-configuration-failure.js","webpack:///./jsw/confirmation-popup-manager.js","webpack:///./jsw/lookup.js","webpack:///./jsw/list/index.js","webpack:///./jsw/list/List.js","webpack:///./jsw/list/ListContextMenu.js","webpack:///./jsw/isRtl.js","webpack:///./jsw/list/constants.js","webpack:///./icons/16/plesk/menu.png","webpack:///./helpers/stripTags.ts","webpack:///./jsw/list/AdditionalActions.js","webpack:///./jsw/unresolved-domain-warning.js","webpack:///./jsw/task-progress-bar.js","webpack:///./helpers/toasts.ts","webpack:///./jsw/pleskWS.js","webpack:///./jsw/task-status-message.js","webpack:///./jsw/active-list.js","webpack:///./icons/16/plesk/settings-toolbar.png","webpack:///./icons/16/plesk/order-ascending.png","webpack:///./icons/16/plesk/order-descending.png","webpack:///./icons/16/plesk/list-type-active.png","webpack:///./icons/16/plesk/list-type-classic.png","webpack:///./jsw/file-manager/tree.js","webpack:///./helpers/fileManager.ts","webpack:///./icons/16/plesk/uplevel.png","webpack:///./icons/16/plesk/file-folder.png","webpack:///./icons/16/plesk/file-txt.png","webpack:///./icons/16/plesk/file-image.png","webpack:///./icons/16/plesk/file-audio.png","webpack:///./icons/16/plesk/file-private.png","webpack:///./icons/16/plesk/file-webscript.png","webpack:///./icons/16/plesk/file-html.png","webpack:///./icons/16/plesk/file-arch.png","webpack:///./icons/16/plesk/file-binary.png","webpack:///./images/tree-open.gif","webpack:///./images/indicator.gif","webpack:///./images/tree-close.gif","webpack:///./jsw/file-manager/upload-adapter-iframe.js","webpack:///./jsw/directory-browser.js","webpack:///./jsw/drop-area.js","webpack:///./jsw/groups-list.js","webpack:///./jsw/issue-reporter.js","webpack:///./jsw/object-switcher.js","webpack:///./jsw/PopupSlider.js","webpack:///./jsw/scrollable-list.js","webpack:///./jsw/uat.js","webpack:///../common/gdpr-storage.js","webpack:///./jsw/getControlPanelLoginHtml.js","webpack:///./jsw/punycode.js","webpack:///./plesk.js","webpack:///./components/App.js","webpack:///./routes/index.js","webpack:///./helpers/dates.ts","webpack:///./helpers/routesTransformer.tsx","webpack:///./queries/License.graphql","webpack:///./components/layouts/AppLayout.js","webpack:///./helpers/getId.ts","webpack:///./components/DynamicModule.js","webpack:///./components/layouts/useServerRouteReload.ts","webpack:///./queries/TaskProgressBar.graphql","webpack:///./components/layouts/CpPagesLayout.js","webpack:///./components/layouts/PageLayout/PageLayout.js","webpack:///../common/hooks/useClickOutside.js","webpack:///../common/hooks/useEventListener.js","webpack:///../common/hooks/useLocalStorage.ts","webpack:///../common/helpers/readLocalStorageValue.ts","webpack:///../common/hooks/useMediaQuery.js","webpack:///../common/hooks/useDebounce.js","webpack:///./components/layouts/CookiePolicy/CookiePolicy.js","webpack:///./hooks/useCollector.js","webpack:///./hooks/useConfirmation.js","webpack:///./hooks/useCreateFormInDrawer.js","webpack:///./components/common/DrawerWithProgress.js","webpack:///./hooks/useNavigate.js","webpack:///./queries/CreateFormInDrawer.graphql","webpack:///./queries/UpdateUserSettings.graphql","webpack:///./hooks/useListOperation.js","webpack:///./hooks/useList.js","webpack:///./hooks/useModal.js","webpack:///./components/layouts/CookiePolicy/Info.js","webpack:///./components/layouts/CookiePolicy/urls.js","webpack:///./components/layouts/CookiePolicy/Preferences/Preferences.js","webpack:///./components/layouts/CookiePolicy/Preferences/DrawerAdapter.js","webpack:///./components/layouts/CookiePolicy/Preferences/OverlayAdapter.js","webpack:///./components/layouts/CookiePolicy/Preferences/Overlay.js","webpack:///./queries/CookiePolicy.graphql","webpack:///./components/jsw/JswComponent.js","webpack:///./components/layouts/StatusMessages/StatusMessages.js","webpack:///./components/layouts/StatusMessages/LicenseLimitsMessage/LicenseLimitsMessage.js","webpack:///./components/common/Link.js","webpack:///./components/layouts/PageLayout/LicenseStatus.js","webpack:///./components/layouts/PageLayout/PageHeader/PageHeader.js","webpack:///./components/layouts/PageLayout/PageHeader/MainHeaderSearch/MainHeaderSearch.js","webpack:///./helpers/form.ts","webpack:///./queries/MainHeaderSearch.graphql","webpack:///./components/layouts/PageLayout/PageHeader/MainHeaderSearch/RecentSearchHistoryQuery.graphql","webpack:///./components/layouts/PageLayout/PageHeader/MainHeaderSearch/DeleteRecentSearchResultMutation.graphql","webpack:///./components/layouts/PageLayout/PageHeader/MainHeaderNavbar.js","webpack:///./components/layouts/PageLayout/PageHeader/SubscriptionSwitcher.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationCenter.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/lib/applyFilter.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/lib/utils.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/lib/PropTypes.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/lib/api.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationCenterView.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationCenterList/index.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationCenterList/SubjectColumn.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/lib/notificationIntent.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/UnreadCounter.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/lib/groupNotifications.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationCenterList/DateColumn.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationDate.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationActions.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationCenterList/FilterMenu.js","webpack:///./images/notification-center-empty.svg","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/lib/getIntentByNotification.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/lib/getMostIntentByNotifications.js","webpack:///./components/layouts/PageLayout/PageHeader/NotificationCenter/NotificationToast.js","webpack:///./queries/NotificationCenter.graphql","webpack:///./components/layouts/PageLayout/PageHeader/HelpMenu.js","webpack:///./queries/HelpMenu.graphql","webpack:///./queries/AccountMenu.graphql","webpack:///./queries/MainHeaderNavbar.graphql","webpack:///./icons/16/plesk/top-advisor.svg","webpack:///./images/logos/powered-logo.png","webpack:///./components/layouts/PageLayout/PageSidebar.js","webpack:///./components/layouts/PageLayout/ViewSwitcher.js","webpack:///./icons/16/plesk/nav-navigation.svg","webpack:///./components/layouts/Brand/Brand.js","webpack:///./queries/Branding.graphql","webpack:///./queries/MainMenu.graphql","webpack:///./components/layouts/PageLayout/PageFooter.js","webpack:///./queries/PageFooter.graphql","webpack:///./components/layouts/PageLayout/PageContentHeader.js","webpack:///./components/layouts/PageLayout/ObjectSwitcher.js","webpack:///./components/layouts/PageLayout/PageContentHeaderNav.js","webpack:///./components/layouts/PageLayout/getTitleForHelpSearchQuery.js","webpack:///./components/layouts/PageLayout/withPageLayout.js","webpack:///./components/layouts/PageLayout/withSimplePageLayout.js","webpack:///./components/layouts/PhpPagesLayout.js","webpack:///./components/AppBoundary.js","webpack:///../common/components/ErrorPage.js","webpack:///../common/components/RepairKitAlert.js","webpack:///../common/components/ExceptionDetails.js","webpack:///../common/components/ErrorPage.module.css?23dd","webpack:///./components/pages/LogsPage.js","webpack:///./components/common/GraphQlList/GraphQlList.tsx","webpack:///./components/common/GraphQlList/GraphQlListContext.tsx","webpack:///./components/common/GraphQlList/GraphQlListSearchBar.tsx","webpack:///./components/common/GraphQlList/useGraphQlList.tsx","webpack:///./components/common/GraphQlList/helpers.ts","webpack:///./routes/odbcServerRoute.js","webpack:///./routes/odbcAddRoute.js","webpack:///./queries/OdbcAddPage.graphql","webpack:///./routes/odbcEditRoute.js","webpack:///./queries/OdbcEditPage.graphql","webpack:///./queries/OdbcEditFragment.graphql","webpack:///./queries/OdbcServerList.graphql","webpack:///./queries/OdbcListFragment.graphql","webpack:///./routes/domainOverviewRoutes.js","webpack:///./queries/HostingSettingsPage.graphql","webpack:///./routes/summaryReportRoute.js","webpack:///./queries/SummaryReportLayoutsPage.graphql","webpack:///./queries/SummaryReportLayoutAddPage.graphql","webpack:///./queries/SummaryReportLayoutEditPage.graphql","webpack:///./queries/TrafficHistoryReportPage.graphql","webpack:///./queries/SummaryReportSchedulesPage.graphql","webpack:///./queries/SummaryReportScheduleAddPage.graphql","webpack:///./queries/SummaryReportScheduleEditPage.graphql","webpack:///./queries/SummaryReportPrintPage.graphql","webpack:///./queries/SummaryReportFragment.graphql","webpack:///./queries/SummaryReportPage.graphql","webpack:///./routes/domainRoute.js","webpack:///./helpers/getContextUrl.ts","webpack:///./routes/aspDotNetDomainSettingsRoute.js","webpack:///./queries/AspDotNetDomainSettingsPage.graphql","webpack:///./routes/bandwidthLimitingDomainRoute.js","webpack:///./queries/BandwidthLimitingPage.graphql","webpack:///./routes/hotlinkProtectionDomainRoute.js","webpack:///./queries/HotlinkProtectionPage.graphql","webpack:///./routes/odbcDomainRoute.js","webpack:///./queries/OdbcDomainList.graphql","webpack:///./queries/OdbcDomainPage.graphql","webpack:///./queries/DomainSubscriptionOdbcLimitFragment.graphql","webpack:///./routes/protectedDirectoriesRoute.js","webpack:///./routes/protectedDirectoryListRoute.js","webpack:///./routes/protectedDirectoryAddRoute.js","webpack:///./queries/ProtectedDirectoryAddPage.graphql","webpack:///./routes/protectedDirectoryEditRoute.js","webpack:///./queries/ProtectedDirectoryEditPage.graphql","webpack:///./queries/ProtectedDirectoryEditFragment.graphql","webpack:///./queries/ProtectedDirectoryList.graphql","webpack:///./routes/protectedDirectoryUserListRoute.js","webpack:///./routes/protectedDirectoryUserAddRoute.js","webpack:///./queries/ProtectedDirectoryPath.graphql","webpack:///./routes/protectedDirectoryUserPasswordRoute.js","webpack:///./queries/ProtectedDirectoryUserList.graphql","webpack:///./queries/ProtectedDirectoryUserListFragment.graphql","webpack:///./routes/virtualDirectoryRoute.js","webpack:///./components/sidebars/VirtualDirectorySidebar.js","webpack:///./components/sidebars/SidePanel.js","webpack:///./helpers/buildUrl.ts","webpack:///./queries/VirtualDirectoryPage.graphql","webpack:///./queries/CreateVirtualDirectoryPage.graphql","webpack:///./queries/VirtualDirectoryParentContentFragment.graphql","webpack:///./queries/EditVirtualDirectoryPage.graphql","webpack:///./queries/VirtualDirectoryBrowsePage.graphql","webpack:///./queries/VirtualDirectoryProtectionPage.graphql","webpack:///./queries/VirtualDirectoryProtectionUserList.graphql","webpack:///./queries/VirtualDirectoryMimeTypeList.graphql","webpack:///./queries/VirtualDirectoryErrorDocList.graphql","webpack:///./queries/VirtualDirectoryContentList.graphql","webpack:///./queries/VirtualDirectoryPhpPage.graphql","webpack:///./queries/IisManagerMimeContentTypes.graphql","webpack:///./queries/VirtualDirectoryEditMimeTypePage.graphql","webpack:///./queries/VirtualDirectoryEditErrorDocPage.graphql","webpack:///./routes/trafficUsageByDomainRoute.js","webpack:///./queries/TrafficUsageByDomainPage.graphql","webpack:///./queries/DomainTrafficUsage.graphql","webpack:///./routes/domainDatabaseRoute.js","webpack:///./components/pages/DatabasesPage/ConnectionInfo.graphql","webpack:///./queries/DomainPage.graphql","webpack:///./routes/trafficUsageByViewerResellersRoute.js","webpack:///./queries/TrafficUsageIntervals.graphql","webpack:///./queries/TrafficUsageByViewerClientsList.graphql","webpack:///./queries/TotalTrafficUsageByViewerClients.graphql","webpack:///./routes/trafficUsageByResellerRoute.js","webpack:///./queries/TrafficUsageByResellerClientsList.graphql","webpack:///./queries/TotalTrafficUsageByReseller.graphql","webpack:///./routes/trafficUsageByCustomerDomainsRoute.js","webpack:///./routes/trafficUsageByClientDomainsRoute.js","webpack:///./queries/ClientTrafficUsageIntervals.graphql","webpack:///./queries/TrafficUsageByClientDomainsList.graphql","webpack:///./queries/TotalTrafficUsageByClientDomains.graphql","webpack:///./queries/ClientTotalTrafficUsageByDomainsFragment.graphql","webpack:///./routes/trafficUsageByViewerCustomersRoute.js","webpack:///./routes/trafficUsageByViewerDomainsRoute.js","webpack:///./queries/TrafficUsageByViewerDomainsList.graphql","webpack:///./queries/TotalTrafficUsageByViewerDomains.graphql","webpack:///./routes/homeRoute.js","webpack:///./components/pages/HomePage/queries/index.js","webpack:///./components/pages/HomePage/constants.js","webpack:///./queries/AdminHomeServerInfo.graphql","webpack:///./queries/AdminHomeUpdates.graphql","webpack:///./queries/AdminHomeOverusedSubscriptions.graphql","webpack:///./queries/AdminHomeMySubscriptions.graphql","webpack:///./queries/AdminHomeExtensions.graphql","webpack:///./queries/AdminHomeChangeLog.graphql","webpack:///./components/pages/HomePage/TitleAddon.js","webpack:///./components/pages/HomePage/common/isEmptyLayout.js","webpack:///./queries/AdminHomePage.graphql","webpack:///./components/pages/HomePage/queries/Customization.graphql","webpack:///./routes/infoAndStatisticsRoute.js","webpack:///./routes/resourceUsageByDomainRoute.js","webpack:///./queries/DomainsResourceUsage.graphql","webpack:///./queries/InfoAndStatisticsPage.graphql","webpack:///./queries/ServerInformationPage.graphql","webpack:///./queries/ViewerType.graphql","webpack:///./queries/IpAddressDomainsPage.graphql","webpack:///./queries/ChangeSubscriptionsOwnerPage.graphql","webpack:///./queries/VirtualHostTemplatePage.graphql","webpack:///./queries/LoginPage.graphql","webpack:///./queries/DnsRecordsPage.graphql","webpack:///./components/pages/DnsSettingsPage/Records/DnsRecordFormDrawer/EditDnsRecord.graphql","webpack:///./components/pages/DnsSettingsPage/Records/DnsRecordFormDrawer/AddDnsRecord.graphql","webpack:///./queries/DnsSoaRecordsPage.graphql","webpack:///./queries/EditInterfaceViewPage.graphql","webpack:///./queries/NotificationUiSetting.graphql","webpack:///./queries/BrandingPage.graphql","webpack:///./queries/DatabaseServersPage.graphql","webpack:///./queries/DatabaseServerUpgradePage.graphql","webpack:///./queries/DatabaseServerCreatePage.graphql","webpack:///./queries/DatabaseServerPropertiesPage.graphql","webpack:///./queries/DatabaseServerDatabasesPage.graphql","webpack:///./queries/DatabaseServerChangePasswordPage.graphql","webpack:///./queries/WebsitesDiagnosticPage.graphql","webpack:///./queries/SystemTimePage.graphql","webpack:///./queries/ServerMailSettingsPage.graphql","webpack:///./queries/ServerMailTabs.graphql","webpack:///./queries/ServerMailBlackListPage.graphql","webpack:///./queries/ServerMailWhiteListPage.graphql","webpack:///./queries/ServerMailAntivirusPage.graphql","webpack:///./queries/ServerMailSpamFilterPage.graphql","webpack:///./queries/ServerMailSpamStatistics.graphql","webpack:///./queries/ServerMailSmarthostPage.graphql","webpack:///./queries/PrimaryKeyInfoPage.graphql","webpack:///./queries/MasterKeyProcessingState.graphql","webpack:///./queries/PrimaryKeyUploadPage.graphql","webpack:///./queries/PrimaryKeyRevertPage.graphql","webpack:///./queries/AdditionalKeysPage.graphql","webpack:///./queries/AdditionalKeyUploadPage.graphql","webpack:///./queries/AdditionalKeyInfoPage.graphql","webpack:///./queries/AdditionalKeyRevertPage.graphql","webpack:///./queries/FirewallGeneralPage.graphql","webpack:///./queries/FirewallIcmpPage.graphql","webpack:///./queries/FirewallRulesPage.graphql","webpack:///./queries/ServerComponentsPage.graphql","webpack:///./queries/IpAddressPage.graphql","webpack:///./components/pages/IpAddressResellersPage/IpAddressResellerList.graphql","webpack:///./components/pages/IpAddressResellersPage/AssignIpAddressToResellerForm/UnassignedIpAddressResellers.graphql","webpack:///./queries/ClientIpAddress.graphql","webpack:///./components/pages/ClientIpAddressPage/ClietnIpAddressProperties.graphql","webpack:///./components/pages/ClientIpAddressPage/AssignClientIpAddress/AssignClientIpAddressDrawer.graphql","webpack:///./queries/PhpExtensionsPage.graphql","webpack:///./queries/TsSessionPage.graphql","webpack:///./queries/TsSessionsPage.graphql","webpack:///./queries/AspDotNetServerSettingsPage.graphql","webpack:///./queries/ServerAboutPage.graphql","webpack:///./queries/MassMailPage.graphql","webpack:///./queries/CreateMassMailTemplatePage.graphql","webpack:///./queries/SendMassMailPage.graphql","webpack:///./queries/EditMassMailTemplatePage.graphql","webpack:///./queries/ActionLogPage.graphql","webpack:///./queries/ServerSettingsPage.graphql","webpack:///./queries/SpamFilterSettingsTabs.graphql","webpack:///./queries/ServerMailSpamFilterBlackListPage.graphql","webpack:///./queries/ServerMailSpamFilterWhiteListPage.graphql","webpack:///./components/pages/LoginPage/LoginPage.js","webpack:///./components/Form.tsx","webpack:///./components/layouts/LoginLayout.js","webpack:///./components/layouts/LayoutBackground.js","webpack:///./components/pages/LoginPage/LoginMobileApplicationPromotion.js","webpack:///./icons/64/plesk/plesk.png","webpack:///./components/pages/LoginPage/SuggestResolvableHostname.js","webpack:///./components/common/LocaleSwitcher/LocaleSwitcher.js","webpack:///./components/pages/GetPasswordPage.js","webpack:///./queries/GetPasswordPage.graphql","webpack:///./components/pages/RestorePasswordPage.js","webpack:///./components/LocaleProvider.js","webpack:///./components/common/ErrorBoundary.js","webpack:///./app/index.js","webpack:///../common/sentry.js","webpack:///./legacy/index.js","webpack:///./legacy/admin-panel.js","webpack:///./legacy/smb.js","webpack:///./legacy/common.js","webpack:///./legacy/chk.js","webpack:///./legacy/Tooltip.js","webpack:///webpack/bootstrap","webpack:///webpack/runtime/chunk loaded","webpack:///webpack/runtime/create fake namespace object","webpack:///webpack/runtime/load script","webpack:///webpack/runtime/compat get default export","webpack:///webpack/runtime/define property getters","webpack:///webpack/runtime/ensure chunk","webpack:///webpack/runtime/get javascript chunk filename","webpack:///webpack/runtime/get mini-css chunk filename","webpack:///webpack/runtime/global","webpack:///webpack/runtime/hasOwnProperty shorthand","webpack:///webpack/runtime/make namespace object","webpack:///webpack/runtime/node module decorator","webpack:///webpack/runtime/sharing","webpack:///webpack/runtime/publicPath","webpack:///webpack/runtime/compat","webpack:///webpack/runtime/jsonp chunk loading","webpack:///webpack/startup"],"sourcesContent":["// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport './styles/index.less';\r\nimport './app/index.less';\r\nimport './components/index.less';\r\nimport './views/index.less';\r\nimport './styles/themes.less';\r\n\r\nimport './polyfill';\r\n\r\nimport * as Jsw from './jsw';\r\nimport * as Plesk from './plesk';\r\nimport './legacy';\r\n\r\nwindow.Jsw = Jsw;\r\nwindow.Plesk = Plesk;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport 'core-js/stable';\r\n\r\n/**\r\n * Workaround for 'delete arrayProto.entries;' from prototype.js\r\n */\r\nif (!Array.prototype.entries) {\r\n // eslint-disable-next-line no-extend-native\r\n Array.prototype.entries = function () {\r\n let index = 0;\r\n // eslint-disable-next-line @typescript-eslint/no-this-alias\r\n const arr = this;\r\n return {\r\n next() {\r\n if (index < arr.length) {\r\n return { value: [index, arr[index++]], done: false };\r\n }\r\n return { value: undefined, done: true };\r\n },\r\n [Symbol.iterator]() {\r\n return this;\r\n },\r\n };\r\n };\r\n}\r\n\r\n\r\n/**\r\n * Workaround for Array.from(new Set(['1', '2'])) from prototype.js\r\n */\r\n// eslint-disable-next-line no-extend-native\r\nSet.prototype.toArray = function () {\r\n const array = [];\r\n this.forEach(item => array.push(item));\r\n return array;\r\n};\r\n\r\n/**\r\n * Workaround for Array.from(new Map([['a', 1], ['b', 2]])) from prototype.js\r\n */\r\n// eslint-disable-next-line no-extend-native\r\nMap.prototype.toArray = function () {\r\n const array = [];\r\n this.forEach((item, key) => array.push([key, item]));\r\n return array;\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n/**\r\n * This is part of public Jsw API. Don't modify it!\r\n */\r\n\r\nexport const version = '1.0';\r\n\r\nexport { default as namespace } from './namespace';\r\nexport { default as createComponent } from './createComponent';\r\nexport { default as onReady, priority } from './onReady';\r\nexport { default as addStatusMessage } from './addStatusMessage';\r\nexport { default as clearStatusMessages } from './clearStatusMessages';\r\nexport { default as showInternalError } from './showInternalError';\r\nexport { default as prepareUrl } from './prepareUrl';\r\nexport { default as addUrlParams } from './addUrlParams';\r\nexport { default as render } from './render';\r\nexport { default as createElement } from './createElement';\r\nexport { default as escapeAttribute } from './escapeAttribute';\r\nexport { default as escapeHtml } from './escapeHtml';\r\nexport { default as unescapeHtml } from './unescapeHtml';\r\nexport { default as emptyFn } from './emptyFn';\r\nexport { default as fireCustomEvent } from './fireCustomEvent';\r\nexport { default as keyCode } from './keyCode';\r\n\r\nexport { Component, registerComponent, getComponent } from './component';\r\nexport { default as Locale } from './Locale';\r\nexport { Hint } from './hint';\r\nexport { Button } from './button';\r\nexport { SmallButton } from './small-button';\r\nexport { BigButton } from './big-button';\r\nexport { SplitButton } from './split-button';\r\nexport { CommandButton } from './command-button';\r\nexport { CustomButton } from './custom-button';\r\n\r\nexport { FormRedirect, submit, redirect, redirectPost } from './form-redirect';\r\n\r\nimport { DisplayField, Values } from './form';\r\nexport const form = {\r\n DisplayField,\r\n Values,\r\n};\r\n\r\nexport { FormAjax } from './form-ajax';\r\nexport { Container } from './container';\r\nexport { ListContainer } from './list-container';\r\n\r\nimport { TwoColumns } from './layout';\r\nexport const layout = {\r\n TwoColumns,\r\n};\r\n\r\nexport { default as Cookie } from 'common/cookie';\r\nexport { Panel } from './panel';\r\n\r\nexport { messageBox, MessageBox, AjaxMessageBox, MultiCheckboxMessageWindow, WebspaceFoldersMessageBox } from './message-box';\r\n\r\nexport { DropdownHeader } from './dropdown-header';\r\nexport { DropdownManager } from './dropdown-manager';\r\nexport { SmallTools } from './small-tools';\r\nexport { CollapsibleBlock } from './collapsible-block';\r\nexport { Pathbar } from './pathbar';\r\n\r\nexport { Bar, bar } from './bar';\r\n\r\nexport { DynamicSubForm, AddRemoveDynamicSubForm } from './dynamic-sub-form';\r\n\r\nexport { Box } from './box';\r\nexport { Gauge } from './gauge';\r\nexport { Tooltip } from './tooltip';\r\nexport { ModalDialogBox } from './modal-dialog-box';\r\nexport { PopupForm } from './popup-form';\r\nexport { AjaxPopupForm } from './ajax-popup-form';\r\nexport { default as Popup } from './Popup';\r\nexport { DoubleListSelector } from './double-list-selector';\r\nexport { EnhancedDoubleListSelector } from './enhanced-double-list-selector';\r\n\r\nexport { ToolList, toollist } from './tool-list';\r\n\r\nexport { DynamicPopupHint } from './dynamic-popup-hint';\r\nexport { PasswordMeter } from './password-meter';\r\nexport { PasswordGenerator } from './password-generator';\r\nexport { UpgradeFailureNotification } from './upgrade-failure-notification';\r\nexport { WebserverConfigurationFailure } from './webserver-configuration-failure';\r\nexport { ConfirmationPopupManager } from './confirmation-popup-manager';\r\nexport { LookUp } from './lookup';\r\nexport { StatusMessage } from './status-message';\r\nexport { default as Observer } from './Observer';\r\nexport { UnresolvedDomainWarning } from './unresolved-domain-warning';\r\n\r\nimport { ProgressBar } from './task-progress-bar';\r\nimport { StatusMessage, STATUS_DONE, STATUS_ERROR, STATUS_STARTED, STATUS_NOT_STARTED, STATUS_CANCELED } from './task-status-message';\r\nexport const Task = {\r\n ProgressBar,\r\n StatusMessage,\r\n STATUS_DONE,\r\n STATUS_ERROR,\r\n STATUS_STARTED,\r\n STATUS_NOT_STARTED,\r\n STATUS_CANCELED,\r\n};\r\n\r\nexport { ActiveList } from './active-list';\r\n\r\nimport { Tree } from './file-manager/tree';\r\nimport { UploadAdapterIframe } from './file-manager/upload-adapter-iframe';\r\nexport const FileManager = {\r\n Tree,\r\n UploadAdapterIframe,\r\n};\r\n\r\nexport { DirectoryBrowser } from './directory-browser';\r\nexport { DropArea } from './drop-area';\r\nexport { GroupsList } from './groups-list';\r\nexport { ReporterPopup } from './issue-reporter';\r\nexport { ObjectSwitcher } from './object-switcher';\r\nexport { default as PopupSlider } from './PopupSlider';\r\nexport { ScrollableList } from './scrollable-list';\r\nexport { UAT } from './uat';\r\n\r\nexport * from './list';\r\n\r\nexport { default as getControlPanelLoginHtml } from './getControlPanelLoginHtml';\r\nexport { default as api } from './api';\r\n\r\nexport { default as pleskWS } from './pleskWS';\r\nexport * from './punycode';\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/**\r\n * Creates namespaces to be used for scoping variables and classes so that they are not global.\r\n * Specifying the last node of a namespace implicitly creates all other nodes. Usage:\r\n *\r\n * namespace('Module.SubModule.list');\r\n *\r\n * @param {String} ns\r\n * @param {Boolean} autoCreate=true\r\n * @return {Object} The object that is the namespace or class name.\r\n */\r\nexport default (ns, autoCreate = true) => {\r\n const nsParts = ns.split('.');\r\n let root = window;\r\n\r\n for (let partIndex = 0; partIndex < nsParts.length; partIndex++) {\r\n if (typeof root[nsParts[partIndex]] === 'undefined') {\r\n if (autoCreate) {\r\n root[nsParts[partIndex]] = {};\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n\r\n root = root[nsParts[partIndex]];\r\n }\r\n\r\n return root;\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\nimport namespace from './namespace';\r\n\r\n/**\r\n * Creates a new Component from the specified config object using the config object's\r\n * `componentType` to determine the class to instantiate.\r\n * @param {Object} config A configuration object for the Component you wish to create.\r\n * @returns {Component} The newly instantiated Component.\r\n */\r\nexport default config => {\r\n if (!config.componentType || config instanceof Component) {\r\n return config;\r\n }\r\n\r\n const Cls = typeof config.componentType === 'string'\r\n ? namespace(config.componentType, false)\r\n : config.componentType;\r\n if (!Cls) {\r\n throw new Error(`Unrecognized class name: ${config.componentType}`);\r\n }\r\n return new Cls(config);\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Tooltip } from './tooltip';\r\nimport Locale from './Locale';\r\nimport render from './render';\r\n\r\nconst registeredComponents = {};\r\n\r\nexport const registerComponent = (identity, component) => {\r\n registeredComponents[identity] = component;\r\n};\r\n\r\n/**\r\n * Returns an component by identity.\r\n * @param {String} identity The identity of the component.\r\n * @returns {Object} The component, undefined if not found.\r\n */\r\nexport const getComponent = identity => registeredComponents[identity];\r\n\r\n/**\r\n * The base class for all Jsw components.\r\n */\r\nexport class Component {\r\n /**\r\n * @cfg {String} id The unique id of this component instance.\r\n */\r\n /**\r\n * @cfg {String} cls CSS class names to apply for root element.\r\n */\r\n /**\r\n * @cfg {Object} attrs HTML attributes to apply for root element.\r\n */\r\n /**\r\n * @cfg {String} wrapperClass\r\n */\r\n /**\r\n * @cfg {Element|String} renderTo\r\n */\r\n /**\r\n * @cfg {String} renderMode=bottom\r\n */\r\n /**\r\n * @cfg {Element|String} applyTo\r\n */\r\n /**\r\n * @cfg {Object} locale\r\n */\r\n /**\r\n * @cfg {Boolean} hidden=false Hide component. See methods {@link #hide}/{@link #show}\r\n */\r\n\r\n static genId = 1;\r\n\r\n constructor(config = {}) {\r\n this.initialize(config);\r\n }\r\n\r\n // TODO EXTNODEJS-90: EXTDOCKER-50: PMT-4391: Need to move this logic to constructor\r\n initialize(config) {\r\n this._initConfiguration(config);\r\n this._registerComponent();\r\n\r\n this._initComponentElement();\r\n\r\n if (this._autoRender && ((null !== this._renderTarget) || (typeof this._applyTargetId === 'string' ? document.getElementById(this._applyTargetId) : this._applyTargetId))) {\r\n this.render();\r\n }\r\n\r\n if (this._getConfigParam('hidden', false)) {\r\n this.hide();\r\n }\r\n }\r\n\r\n _initConfiguration(config) {\r\n this.initialConfig = config;\r\n this._config = this.initialConfig;\r\n\r\n this._cls = this._getConfigParam('cls', '');\r\n this._attrs = this._getConfigParam('attrs', {});\r\n this._wrapperClass = this._getConfigParam('wrapperClass', '');\r\n this._autoRender = this._getConfigParam('autoRender', true);\r\n this._renderTarget = (this._getConfigParam('renderTo', null));\r\n if (typeof this._renderTarget === 'string') {\r\n this._renderTarget = document.getElementById(this._renderTarget);\r\n }\r\n this._renderMode = this._getConfigParam('renderMode', 'bottom');\r\n this._applyTargetId = this._getConfigParam('applyTo', null);\r\n this.setLocale(this._getConfigParam('locale', this._locale));\r\n\r\n this._id = (this._applyTargetId)\r\n ? this._applyTargetId\r\n : this._getConfigParam('id', null);\r\n\r\n if (null === this._id) {\r\n this._id = `gen-id-${Component.genId++}`;\r\n this._idIsRandom = true;\r\n }\r\n\r\n this._tag = (this._applyTargetId)\r\n ? (typeof this._applyTargetId === 'string' ? document.getElementById(this._applyTargetId) : this._applyTargetId).tagName\r\n : this._getConfigParam('tag', this._tag || 'div');\r\n }\r\n\r\n _registerComponent() {\r\n registerComponent(this._id, this);\r\n }\r\n\r\n _initComponentElement() {\r\n if (this._applyTargetId) {\r\n this._componentElement = typeof this._applyTargetId === 'string' ? document.getElementById(this._applyTargetId) : this._applyTargetId;\r\n return;\r\n }\r\n\r\n this._componentElement = document.createElement(this._tag);\r\n Object.keys(this._attrs).forEach(name => {\r\n this._componentElement.setAttribute(name, this._attrs[name]);\r\n });\r\n this._componentElement.id = this._id;\r\n this._componentElement.className = this._cls;\r\n }\r\n\r\n _initDisablerOverlay() {\r\n this._disablerOverlay = document.createElement('div');\r\n\r\n this._disablerOverlay.style.display = 'none';\r\n this._disablerOverlay.style.zIndex = this._componentElement.style.zIndex + 1000;\r\n\r\n this._disablerOverlay.classList.add('content-blocker');\r\n this._componentElement.appendChild(this._disablerOverlay);\r\n\r\n this._componentElement.style.position = 'relative';\r\n }\r\n\r\n addEventObserver(eventName, handler) {\r\n if ('undefined' !== typeof handler) {\r\n this._componentElement.addEventListener(eventName, handler);\r\n }\r\n }\r\n\r\n removeEventObserver(eventName, handler) {\r\n if ('undefined' !== typeof handler) {\r\n this._componentElement.removeEventListener(eventName, handler);\r\n }\r\n }\r\n\r\n _hasConfigParam(name) {\r\n return 'undefined' !== typeof this._config[name];\r\n }\r\n\r\n _getConfigParam(name, defaultValue) {\r\n return this._hasConfigParam(name)\r\n ? this._config[name]\r\n : defaultValue;\r\n }\r\n\r\n _getRandomNumber() {\r\n return Math.floor(1000000 * Math.random());\r\n }\r\n\r\n _addEvents() {\r\n // basic empty implementation\r\n }\r\n\r\n _addTooltips() {\r\n const description = this._getConfigParam('description');\r\n if (description) {\r\n this._tooltip = Tooltip.init(this._componentElement, { text: description });\r\n }\r\n }\r\n\r\n _updateComponentElement(content) {\r\n const oldElements = this._componentElement.childNodes;\r\n if (!oldElements.length) {\r\n render(this._componentElement, content);\r\n return;\r\n }\r\n\r\n render(this._componentElement, content, 'top');\r\n\r\n oldElements.forEach(oldElement => {\r\n if ('undefined' === typeof oldElement.id || '' === oldElement.id) {\r\n return;\r\n }\r\n\r\n const newElement = this._componentElement.querySelector(`#${oldElement.id}`);\r\n\r\n if (newElement) {\r\n newElement.parentNode.replaceChild(oldElement, newElement);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * See Component.wrapperClass for details.\r\n * @returns {String}\r\n */\r\n getWrapperClass() {\r\n return this._wrapperClass;\r\n }\r\n\r\n /**\r\n * Returns id of this component instance.\r\n * @returns {String}\r\n */\r\n getId() {\r\n return this._id;\r\n }\r\n\r\n /**\r\n * Set render target element.\r\n * @param {Element} target\r\n */\r\n setRenderTarget(target) {\r\n this._renderTarget = target;\r\n }\r\n\r\n /**\r\n * Get render target element.\r\n * @returns {Element}\r\n */\r\n getRenderTarget() {\r\n return this._renderTarget;\r\n }\r\n\r\n /**\r\n * Show component.\r\n */\r\n show() {\r\n this._componentElement.style.display = '';\r\n }\r\n\r\n /**\r\n * Hide component.\r\n */\r\n hide() {\r\n this._componentElement.style.display = 'none';\r\n }\r\n\r\n /**\r\n * Render component.\r\n */\r\n render() {\r\n if (this._renderTarget) {\r\n render(this._renderTarget, this._componentElement, this._renderMode);\r\n }\r\n\r\n this._addEvents();\r\n this._addTooltips();\r\n }\r\n\r\n setLocale(locale) {\r\n if (!(locale instanceof Locale)) {\r\n locale = new Locale(locale);\r\n }\r\n this.lmsg = locale.lmsg.bind(locale);\r\n this._locale = locale;\r\n }\r\n\r\n getLocale() {\r\n return this._locale;\r\n }\r\n\r\n /**\r\n * Remove this component.\r\n */\r\n remove() {\r\n this._renderTarget?.removeChild(this._componentElement);\r\n registerComponent(this._id);\r\n }\r\n\r\n getAttribute(name) {\r\n return this._attrs[name];\r\n }\r\n}\r\n\r\n// TODO EXTDOCKER-50: Cannot open docker extension: Cannot read property 'push' of undefined\r\nComponent.subclasses = [];\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport escapeHtml from './escapeHtml';\r\n\r\nimport './tooltip.less';\r\n\r\n/**\r\n * @class Tooltip\r\n * @singleton\r\n */\r\nexport const Tooltip = {\r\n // show timeout\r\n showTimeoutStatus: true,\r\n\r\n // show timeout\r\n showTimeout: 0.55,\r\n\r\n // minimum viewport delta\r\n minDelta: 5,\r\n\r\n // horisonatl offset from cursor\r\n xOffsetLeft: -5,\r\n\r\n // horisonatl offset from cursor\r\n xOffsetRight: 5,\r\n\r\n // vertical offset from cursor\r\n yOffsetTop: 1,\r\n\r\n // vertical offset from cursor\r\n yOffsetBottom: 13,\r\n\r\n current: null,\r\n\r\n initData(contentElement) {\r\n let elements;\r\n\r\n if ('undefined' !== typeof contentElement) {\r\n elements = contentElement.querySelectorAll('.tooltipData');\r\n } else {\r\n elements = document.querySelectorAll('.tooltipData');\r\n }\r\n\r\n elements.forEach(tooltipData => {\r\n Tooltip.init(tooltipData.parentNode, { element: tooltipData });\r\n });\r\n },\r\n\r\n /**\r\n * @param {Element} element\r\n * @param {Object} config Tooltip config.\r\n * @param {String} config.text Text of tooltip.\r\n * @returns {Tooltip.Instance}\r\n */\r\n init(element, config) {\r\n return new Tooltip.Instance(element, config);\r\n },\r\n\r\n set(tooltip) {\r\n if (Tooltip.current && Tooltip.current !== tooltip) {\r\n Tooltip.hide();\r\n }\r\n if (Tooltip.current === tooltip) {\r\n return;\r\n }\r\n Tooltip.current = tooltip;\r\n tooltip.element.addEventListener('mousemove', Tooltip._onMouseMove);\r\n tooltip.element.addEventListener('mouseout', Tooltip._onMouseOut);\r\n\r\n Tooltip.show();\r\n },\r\n\r\n show() {\r\n Tooltip.showCancel();\r\n Tooltip.hideCancel();\r\n if (Tooltip.showTimeoutStatus) {\r\n Tooltip.showTask = setTimeout(Tooltip.showFinish, Tooltip.showTimeout * 1000);\r\n } else {\r\n Tooltip.showFinish();\r\n }\r\n },\r\n\r\n showCancel() {\r\n if (Tooltip.showTask) {\r\n clearTimeout(Tooltip.showTask);\r\n Tooltip.showTask = null;\r\n }\r\n },\r\n\r\n showFinish() {\r\n Tooltip.showCancel();\r\n const tooltipElement = Tooltip._fetchTooltipElement();\r\n const tooltip = Tooltip.current;\r\n let { text } = tooltip.config;\r\n text = typeof text === 'function' ? text() : text;\r\n\r\n if (text === false) {\r\n return;\r\n }\r\n\r\n if (text) {\r\n tooltipElement.querySelector('span').innerHTML = escapeHtml(text);\r\n } else if (tooltip.config.element) {\r\n tooltipElement.querySelector('span').innerHTML = tooltip.config.element.innerHTML;\r\n }\r\n tooltipElement.style.display = '';\r\n Tooltip.update();\r\n },\r\n\r\n hide() {\r\n Tooltip.showCancel();\r\n if (!Tooltip.current) {\r\n return;\r\n }\r\n const tooltip = Tooltip.current;\r\n Tooltip.current = null;\r\n const tooltipElement = Tooltip._fetchTooltipElement();\r\n tooltipElement.style.display = 'none';\r\n tooltip.element.removeEventListener('mousemove', Tooltip._onMouseMove);\r\n tooltip.element.removeEventListener('mouseout', Tooltip._onMouseOut);\r\n Tooltip.hideTask = setTimeout(Tooltip.hideFinish, Tooltip.showTimeout * 1000);\r\n },\r\n\r\n hideCancel() {\r\n if (Tooltip.hideTask) {\r\n clearTimeout(Tooltip.hideTask);\r\n Tooltip.hideTask = null;\r\n }\r\n },\r\n\r\n hideFinish() {\r\n Tooltip.showTimeoutStatus = true;\r\n },\r\n\r\n update() {\r\n if (!Tooltip.current) {\r\n return;\r\n }\r\n const tooltipElement = Tooltip._fetchTooltipElement();\r\n if (tooltipElement.style.display === 'none') {\r\n return;\r\n }\r\n const position = Tooltip._fetchTooltipPosition(tooltipElement);\r\n tooltipElement.style.top = `${position.y}px`;\r\n tooltipElement.style.left = `${position.x}px`;\r\n },\r\n\r\n _onMouseOut() {\r\n Tooltip.hide();\r\n },\r\n\r\n _onMouseMove(event) {\r\n Tooltip.tooltipX = event.clientX + (window.scrollX || window.pageXOffset);\r\n Tooltip.tooltipY = event.clientY + (window.scrollY || window.pageYOffset);\r\n Tooltip.update();\r\n },\r\n\r\n _fetchTooltipElement() {\r\n if (!Tooltip._tooltipElement) {\r\n const el = document.createElement('div');\r\n el.className = 'tooltip';\r\n el.innerHTML = '';\r\n el.style.display = 'none';\r\n document.body.appendChild(el);\r\n Tooltip._tooltipElement = el;\r\n }\r\n\r\n return Tooltip._tooltipElement;\r\n },\r\n\r\n _fetchTooltipPosition(tooltipElement) {\r\n let x;\r\n let y;\r\n\r\n const tDim = Element.getDimensions(tooltipElement);\r\n const vDim = document.viewport.getDimensions();\r\n const vScr = document.viewport.getScrollOffsets();\r\n\r\n const freeRight = vDim.width + vScr.left - Tooltip.tooltipX;\r\n const freeLeft = Tooltip.tooltipX - vScr.left;\r\n const freeTop = Tooltip.tooltipY - vScr.top;\r\n const freeBottom = vDim.height + vScr.top - Tooltip.tooltipY;\r\n\r\n // apply better x\r\n if (freeRight > tDim.width + Tooltip.minDelta + Tooltip.xOffsetRight) {\r\n x = Tooltip.tooltipX + Tooltip.xOffsetRight;\r\n } else if (freeLeft > tDim.width + Tooltip.minDelta + Tooltip.xOffsetLeft) {\r\n x = Tooltip.tooltipX - tDim.width - Tooltip.xOffsetLeft;\r\n } else {\r\n x = Tooltip.tooltipX - ((tDim.width + Tooltip.xOffsetLeft) / 2);\r\n }\r\n\r\n // apply better y\r\n if (freeBottom > tDim.height + Tooltip.minDelta + Tooltip.yOffsetBottom) {\r\n y = Tooltip.tooltipY + Tooltip.yOffsetBottom;\r\n } else if (freeTop > tDim.height + Tooltip.minDelta + Tooltip.yOffsetTop) {\r\n y = Tooltip.tooltipY - tDim.height - Tooltip.yOffsetTop;\r\n } else {\r\n y = Tooltip.tooltipY - ((tDim.height + Tooltip.yOffsetTop) / 2);\r\n }\r\n if (x < 0) {\r\n x = Tooltip.minDelta;\r\n }\r\n\r\n return { x, y };\r\n },\r\n};\r\n\r\nwindow.addEventListener('load', () => {\r\n Tooltip.initData();\r\n});\r\n\r\n/**\r\n * @class Tooltip.Instance\r\n */\r\nTooltip.Instance = class {\r\n constructor(element, config) {\r\n this.element = typeof element === 'string' ? document.getElementById(element) : element;\r\n this.config = config;\r\n\r\n // observe events\r\n this.element.removeEventListener('mouseover', this.set);\r\n this.element.addEventListener('mouseover', this.set);\r\n }\r\n\r\n set = () => {\r\n Tooltip.set(this);\r\n };\r\n\r\n setText(text) {\r\n this.config.text = escapeHtml(text);\r\n }\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/**\r\n * Converts HTML special characters to their entity equivalents.\r\n *\r\n * @param {String} value\r\n * @returns {String}\r\n */\r\nexport default value => String(value)\r\n .replace(/&/g, '&')\r\n .replace(//g, '>');\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport IntlMessageFormat from 'intl-messageformat';\r\nimport api from './api';\r\nimport Observer from './Observer';\r\nimport BaseTranslate from 'components/common/Translate';\r\n\r\n/**\r\n * @class Locale\r\n */\r\nclass Locale {\r\n static sections = {};\r\n\r\n /**\r\n * Register new locale section\r\n * @param {String} name\r\n * @param {Object} [messages]\r\n * @returns {Locale}\r\n */\r\n static addSection(name, messages) {\r\n this.sections[name] = new Locale(messages);\r\n Observer.notify({ name, messages }, 'plesk:addedLocaleSection');\r\n\r\n return this.sections[name];\r\n }\r\n\r\n /**\r\n * Register new locale sections\r\n * @param {Object} [sections]\r\n * @returns {Object}\r\n */\r\n static addSections(sections) {\r\n Object.entries(sections).forEach(([name, messages]) => {\r\n this.sections[name] = new Locale(messages);\r\n });\r\n Observer.notify({ sections }, 'plesk:addedLocaleSections');\r\n\r\n return this.sections;\r\n }\r\n\r\n /**\r\n * Returns registered locale section or created empty section\r\n * @param {String} name\r\n * @returns {Locale}\r\n */\r\n static getSection(name) {\r\n if (!this.sections[name]) {\r\n return new Locale();\r\n }\r\n return this.sections[name];\r\n }\r\n\r\n static getTranslate(name) {\r\n const Translate = props => ;\r\n return Translate;\r\n }\r\n\r\n /**\r\n * Load, register, and returns locale sections\r\n * @param {String[]} names\r\n * @param {String} [locale]\r\n * @returns {Promise}\r\n */\r\n static async loadSections(names, locale) {\r\n const namesToLoad = names.filter(name => locale || !this.sections[name]);\r\n\r\n if (namesToLoad.length) {\r\n const params = namesToLoad.map(section => `sections[]=${encodeURIComponent(section)}`);\r\n if (locale) {\r\n params.push(`locale=${encodeURIComponent(locale)}`);\r\n }\r\n try {\r\n const sections = await api.get(`/cp/locale?${params.join('&')}`);\r\n this.addSections(sections);\r\n } catch {}\r\n }\r\n\r\n return names.map(name => this.getSection(name));\r\n }\r\n\r\n /**\r\n * Load, register, and returns locale section\r\n * @param {String} name\r\n * @returns {Promise}\r\n */\r\n static async loadSection(name) {\r\n const [locale] = await this.loadSections([name]);\r\n return locale;\r\n }\r\n\r\n constructor(messages = {}) {\r\n this.messages = messages;\r\n }\r\n\r\n /**\r\n * Get locale message by key.\r\n * @param {String} key\r\n * @param {Object} [params]\r\n * @returns {String}\r\n */\r\n lmsg(key, params) {\r\n const value = this.messages[key];\r\n if ('undefined' === typeof value) {\r\n return `[${key}]`;\r\n }\r\n\r\n if ('undefined' === typeof params) {\r\n return value;\r\n }\r\n\r\n return Object.keys(params)\r\n .reduce((value, paramKey) => value.replace(`%%${paramKey}%%`, params[paramKey]), value);\r\n }\r\n\r\n /**\r\n * Get formatted locale message by key.\r\n * @param {String} key\r\n * @param {Object} [params]\r\n * @returns {String}\r\n */\r\n formatMessage(key, params) {\r\n return new IntlMessageFormat(this.lmsg(key, params), document.documentElement.lang || 'en-US').format(params);\r\n }\r\n}\r\n\r\nexport default Locale;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport UAT from 'common/user-activity-tracking';\r\nimport { isNetworkError } from 'helpers/isNetworkError';\r\nimport addUrlParams from './addUrlParams';\r\nimport emptyFn from './emptyFn';\r\n\r\nconst RETRY_DELAY = 500;\r\nconst GET_REQUEST_RETRY_COUNT = 3;\r\n\r\nconst request = (url, config = {}, retryCount = 0) => {\r\n if (window.Ajax) {\r\n window.Ajax.activeRequestCount++;\r\n }\r\n\r\n const headers = {\r\n 'X-Requested-With': 'XMLHttpRequest',\r\n };\r\n const tokenEl = document.getElementById('forgery_protection_token');\r\n if (tokenEl) {\r\n headers['X-Forgery-Protection-Token'] = tokenEl.content;\r\n }\r\n\r\n config = {\r\n credentials: 'same-origin',\r\n ...config,\r\n headers: {\r\n ...headers,\r\n ...config.headers,\r\n },\r\n };\r\n\r\n return fetch(url, config)\r\n .then(response => {\r\n if (response.status === 400) {\r\n window.location.reload();\r\n return new Promise(emptyFn);\r\n }\r\n if (!response.ok) {\r\n if (response.headers.get('Content-Type')?.startsWith('application/json')) {\r\n return response.json()\r\n .then(data => Promise.reject(new Error(data.message ?? JSON.stringify(data))));\r\n }\r\n return response.text()\r\n .then(body => Promise.reject(new Error(body)));\r\n }\r\n return response.json();\r\n })\r\n .catch(error => {\r\n if (error instanceof TypeError && isNetworkError(error)) {\r\n if (retryCount > 0) {\r\n return new Promise(resolve => setTimeout(() => resolve(), RETRY_DELAY))\r\n .then(() => request(url, config, --retryCount));\r\n }\r\n\r\n throw error;\r\n }\r\n throw error;\r\n })\r\n .finally(() => {\r\n if (window.Ajax) {\r\n window.Ajax.activeRequestCount--;\r\n }\r\n });\r\n};\r\n\r\nexport default {\r\n get: (url, params = {}) => request(addUrlParams(url, params), { method: 'GET' }, GET_REQUEST_RETRY_COUNT),\r\n post: (url, params = {}) => {\r\n UAT.dispatchAction('REQUEST', { url });\r\n const headers = {};\r\n let body;\r\n if (params instanceof FormData) {\r\n body = params;\r\n } else {\r\n body = JSON.stringify(params);\r\n headers['Content-Type'] = 'application/json; charset=utf-8';\r\n }\r\n return request(url, {\r\n method: 'POST',\r\n headers,\r\n body,\r\n });\r\n },\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nif (!Element.prototype.matches) {\r\n Element.prototype.matches = Element.prototype.msMatchesSelector;\r\n}\r\n\r\nimport Firehose from 'aws-sdk/clients/firehose';\r\nimport isURL from 'validator/lib/isURL';\r\n\r\nconst getPageUrl = ({ pathname, search }) => {\r\n const pageUrlParam = pathname.match(/^\\/smb\\/account\\/switch\\//i) ? 'returnUrl' : 'pageUrl';\r\n const re = new RegExp(`${pageUrlParam}=([^&]*)`);\r\n const result = re.exec(search);\r\n if (result && result[1]) {\r\n try {\r\n return decodeURIComponent(result[1]);\r\n } catch {\r\n }\r\n }\r\n return null;\r\n};\r\n\r\nconst link = document.createElement('a');\r\nconst filterPleskUrl = url => {\r\n link.href = url;\r\n\r\n const { pathname, search, hash } = link;\r\n\r\n const pageUrl = getPageUrl(link);\r\n if (pageUrl) {\r\n return filterPleskUrl(pageUrl);\r\n }\r\n\r\n const sensitiveUrls = [\r\n /^\\/smb\\/file-manager\\//i,\r\n /^\\/(admin|smb)\\/backup\\//i,\r\n /\\/hosting\\/web-directories\\//i,\r\n ];\r\n\r\n if (sensitiveUrls.some(pattern => pathname.match(pattern))) {\r\n return pathname;\r\n }\r\n\r\n const sensitiveParams = [\r\n 'searchText',\r\n 'sql_query',\r\n 'user',\r\n 'login',\r\n 'pass',\r\n 'token',\r\n 'key',\r\n 'mail',\r\n ];\r\n\r\n const safeSearch = search\r\n .replace(/^\\?/, '')\r\n .split('&')\r\n .reduce((acc, pair) => {\r\n if (!pair.includes('=')) {\r\n return [...acc, pair];\r\n }\r\n\r\n const [key] = pair.split('=');\r\n if (sensitiveParams.some(param => key.toLocaleLowerCase().includes(param.toLowerCase()))) {\r\n return [...acc, `${key}=*****`];\r\n }\r\n return [...acc, pair];\r\n }, [])\r\n .join('&');\r\n\r\n return `${pathname}${safeSearch ? `?${safeSearch}` : ''}${hash}`;\r\n};\r\n\r\nconst filterExternalUrl = url => {\r\n const allowedUrls = [\r\n /^https?:\\/\\/([\\w-]+\\.)*plesk\\.com/i,\r\n /^https?:\\/\\/(www\\.)?facebook\\.com\\/(groups\\/)?plesk$/i,\r\n /^https?:\\/\\/(www\\.)?twitter\\.com\\/plesk$/i,\r\n ];\r\n\r\n if (allowedUrls.some(pattern => url.match(pattern))) {\r\n return url.split('?')[0];\r\n }\r\n return null;\r\n};\r\n\r\nexport const getUrl = href => {\r\n // eslint-disable-next-line camelcase\r\n if (href && !isURL(href, { protocols: ['http', 'https'], require_host: false })) {\r\n return null;\r\n }\r\n\r\n if (href && href.match(/^(?:[a-z]+:)?\\/\\//i)) {\r\n return filterExternalUrl(href);\r\n }\r\n\r\n return filterPleskUrl(href ? href : window.location.href);\r\n};\r\n\r\nconst getElementCSSSelector = el => {\r\n if (!el || !el.localName) {\r\n return null;\r\n }\r\n let label = el.localName.toLowerCase();\r\n if (el.id) {\r\n label += `#${el.id}`;\r\n }\r\n if (el.classList) {\r\n for (let i = 0, len = el.classList.length; i < len; ++i) {\r\n label += `.${el.classList[i]}`;\r\n }\r\n }\r\n return label;\r\n};\r\n\r\nconst getElementCSSPath = (el, depth) => {\r\n const paths = [];\r\n for (let i = 0; el && el.nodeType === Node.ELEMENT_NODE && i < depth; el = el.parentNode, i++) {\r\n paths.splice(0, 0, getElementCSSSelector(el));\r\n }\r\n return paths.length ? paths.join(' ') : null;\r\n};\r\n\r\nconst getElement = event => {\r\n let { target } = event;\r\n const { currentTarget, type } = event;\r\n\r\n if (currentTarget\r\n && currentTarget.tagName\r\n && (type === 'load'\r\n || type === 'error'\r\n || (type === 'click'\r\n && currentTarget.tagName.toLowerCase() === 'input'\r\n && currentTarget.type === 'radio'\r\n )\r\n )\r\n ) {\r\n target = currentTarget;\r\n }\r\n\r\n return target.nodeType === Node.TEXT_NODE ? target.parentNode : target;\r\n};\r\n\r\nconst findElement = (event, selector) => {\r\n let element = getElement(event);\r\n\r\n if (!selector) {\r\n return element;\r\n }\r\n\r\n while (element) {\r\n if (element.nodeType === Node.ELEMENT_NODE && element.matches(selector)) {\r\n return element;\r\n }\r\n element = element.parentNode;\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport const prepareNodeData = (el, textEl, config) => {\r\n const data = {};\r\n const PARENT_DEPTH_LIMIT = 5;\r\n data.css = getElementCSSPath(el, PARENT_DEPTH_LIMIT);\r\n if (el.id) {\r\n data.id = el.id;\r\n }\r\n if (config && config.attributes) {\r\n config.attributes.forEach(attr => {\r\n if (!el.hasAttribute(attr)) {\r\n return;\r\n }\r\n const value = (attr === 'href') ? getUrl(el.getAttribute(attr)) : el.getAttribute(attr);\r\n if (value) {\r\n data[attr] = value;\r\n }\r\n });\r\n }\r\n ['id', 'type', 'action', ...[config && config.dataset ? config.dataset : []]].forEach(param => {\r\n if (!(param in el.dataset)) {\r\n return;\r\n }\r\n if (!('dataset' in data)) {\r\n data.dataset = {};\r\n }\r\n data.dataset[param] = el.dataset[param];\r\n });\r\n return data;\r\n};\r\n\r\nconst getParents = target => {\r\n if (!target || !target.parentElement) {\r\n return [];\r\n }\r\n\r\n let parent = target;\r\n const parents = [];\r\n while (parent) {\r\n parents.push(parent.dataset.type);\r\n parent = parent.parentElement.closest('[data-type]');\r\n }\r\n\r\n if (parents.length > 1) {\r\n return parents.slice(1);\r\n }\r\n\r\n return [];\r\n};\r\n\r\nconst preparePostData = (action, target) => {\r\n const data = {};\r\n\r\n if (action.post && target) {\r\n if (action.post.self) {\r\n action.post.self.forEach(function (attr) {\r\n if (attr === 'value') {\r\n return;\r\n }\r\n const value = target.getAttribute(attr);\r\n if (value) {\r\n data[attr] = value;\r\n }\r\n });\r\n }\r\n if (action.post.selfText) {\r\n data.text = target.innerText;\r\n }\r\n }\r\n\r\n if (action.data) {\r\n Object.keys(action.data).forEach(function (key) {\r\n data[key] = action.data[key];\r\n });\r\n }\r\n\r\n const parents = getParents(target);\r\n if (parents.length > 0) {\r\n data.parents = parents;\r\n }\r\n\r\n return data;\r\n};\r\n\r\nconst handleAnonymousSession = (action, config, data) => {\r\n if (!config.sessionId) {\r\n if (!window.localStorage.getItem('uat-aid')) {\r\n window.localStorage.setItem('uat-aid', Math.random().toString(36).slice(2));\r\n }\r\n data['uat-aid'] = window.localStorage.getItem('uat-aid');\r\n return;\r\n }\r\n if ('LOGIN' === action.name && window.localStorage.getItem('uat-aid')) {\r\n data['uat-aid'] = window.localStorage.getItem('uat-aid');\r\n window.localStorage.removeItem('uat-aid');\r\n }\r\n};\r\n\r\nconst encodeSensitiveChars = list => {\r\n const preparedChars = {\r\n '|': encodeURIComponent('|'),\r\n '\\n': encodeURIComponent('\\n'),\r\n };\r\n\r\n const escapeChar = value => {\r\n if (!value) {\r\n return '';\r\n }\r\n\r\n Object.entries(preparedChars).forEach(([raw, encoded]) => {\r\n value = value.replace(new RegExp(`\\\\${raw}`, 'g'), encoded);\r\n });\r\n\r\n return value;\r\n };\r\n\r\n return list.map(escapeChar);\r\n};\r\n\r\n/**\r\n * Firehose instance\r\n */\r\nlet firehose;\r\nlet config;\r\nlet initialized = false;\r\nlet patches = {};\r\n\r\nexport const request = (action, target, result) => {\r\n const parameters = {\r\n timestamp: (new Date()).toISOString(),\r\n instanceId: config.instanceId,\r\n accountLevel: config.accountLevel,\r\n accountId: config.accountId,\r\n sessionId: config.sessionId,\r\n path: action.url || getUrl(),\r\n action: action.name || null,\r\n result: result || null,\r\n };\r\n\r\n const data = preparePostData(action, target);\r\n handleAnonymousSession(action, config, data);\r\n if (config.parentId) {\r\n data.parentId = config.parentId;\r\n }\r\n if (Object.keys(data).length) {\r\n parameters.additionalData = JSON.stringify(data);\r\n }\r\n\r\n if (typeof config.logger === 'function') {\r\n config.logger(parameters);\r\n }\r\n if (!config.firehose) {\r\n return;\r\n }\r\n if (!firehose) {\r\n firehose = new Firehose(config.firehose);\r\n }\r\n\r\n firehose.putRecord({\r\n DeliveryStreamName: config.sessionId ? config.firehose.stream : config.firehose.noSessionStream,\r\n Record: {\r\n Data: `${encodeSensitiveChars(Object.values(parameters)).join('|')}\\n`,\r\n },\r\n }, () => {\r\n // empty callback\r\n });\r\n};\r\n\r\nlet watchers = {\r\n contentLoad(contentConfig, expect, action) {\r\n if (document.readyState === 'loading') {\r\n window.addEventListener('load', function (event) {\r\n action.data = action.data || {};\r\n if (config.extensions) {\r\n action.data.extensions = config.extensions;\r\n }\r\n\r\n setTimeout(() => {\r\n if (window.performance) {\r\n const perfData = window.performance.timing;\r\n action.data.pageLoadTime = perfData.loadEventEnd - perfData.navigationStart;\r\n action.data.requestTime = perfData.responseEnd - perfData.requestStart;\r\n action.data.renderTime = perfData.domComplete - perfData.domLoading;\r\n }\r\n\r\n request(action, event.target);\r\n }, 0);\r\n });\r\n } else {\r\n request(action, document);\r\n }\r\n },\r\n\r\n historyReplaceState(contentConfig, expect, action) {\r\n window.history.replaceState = new Proxy(window.history.replaceState, {\r\n apply: (target, thisArg, argArray) => {\r\n action.data = action.data || {};\r\n if (config.extensions) {\r\n action.data.extensions = config.extensions;\r\n }\r\n\r\n request(action, document);\r\n\r\n return target.apply(thisArg, argArray);\r\n },\r\n });\r\n },\r\n\r\n click: ({ elements }, expect, action, eventName) => {\r\n document.addEventListener(eventName, function (event) {\r\n if (event.uatHandled) {\r\n return;\r\n }\r\n for (let i = 0; i < elements.length; i++) {\r\n let el;\r\n let { selector } = elements[i];\r\n if (selector) {\r\n selector = Array.isArray(selector) ? selector : [selector];\r\n for (let j = 0; j < selector.length && !el; j++) {\r\n el = findElement(event, selector[j]);\r\n }\r\n }\r\n if (el) {\r\n event.uatHandled = true;\r\n request({\r\n ...action,\r\n name: (el.dataset.action || action.name).toUpperCase(),\r\n data: prepareNodeData(el, event.target, elements[i]),\r\n }, el);\r\n break;\r\n }\r\n }\r\n }, true);\r\n },\r\n};\r\n\r\nlet actions = [\r\n {\r\n expects: [{\r\n contentLoad: {},\r\n }],\r\n },\r\n {\r\n expects: [{\r\n historyReplaceState: {},\r\n }],\r\n },\r\n {\r\n name: 'CLICK',\r\n expects: [{\r\n click: {\r\n elements: [\r\n {\r\n selector: '[data-action]',\r\n },\r\n {\r\n selector: 'a',\r\n attributes: ['href'],\r\n },\r\n {\r\n selector: 'button',\r\n },\r\n {\r\n selector: [\r\n '[class*=\"commonButton\"]', '[class*=\"btn\"]', '[class*=\"link\"]', '[class*=\"hint\"]',\r\n '[class*=\"button\"]', '[class*=\"control\"]', '[class*=\"close\"]',\r\n ],\r\n },\r\n {\r\n selector: '[role=\"button\"]',\r\n },\r\n ],\r\n },\r\n }],\r\n },\r\n];\r\n\r\nconst patchUI = () => {\r\n Object.keys(patches).forEach(name => {\r\n patches[name]();\r\n });\r\n};\r\n\r\nconst startTracking = () => {\r\n actions.forEach(function (action) {\r\n action.expects.forEach(function (expect) {\r\n Object.keys(expect).forEach(function (event) {\r\n watchers[event] && watchers[event](expect[event], expect, action, event);\r\n });\r\n });\r\n });\r\n};\r\n\r\nconst UAT = {\r\n init(initConfig) {\r\n if (!initConfig || initialized) {\r\n return;\r\n }\r\n\r\n config = initConfig;\r\n patchUI();\r\n startTracking();\r\n initialized = true;\r\n },\r\n\r\n setPatches(fn) {\r\n patches = fn(patches);\r\n },\r\n\r\n setActions(fn) {\r\n actions = fn(actions);\r\n },\r\n\r\n setWatchers(fn) {\r\n watchers = fn(watchers);\r\n },\r\n\r\n setLogger(logger) {\r\n config.logger = logger;\r\n },\r\n\r\n dispatchAction(action, data) {\r\n if (!initialized) {\r\n return;\r\n }\r\n\r\n request({ name: action, url: getUrl(), data });\r\n },\r\n\r\n getConfig() {\r\n return config;\r\n },\r\n};\r\n\r\nexport default UAT;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport const isNetworkError = (error: Error) => {\r\n const errors = [\r\n // chrome\r\n 'Failed to fetch',\r\n // firefox\r\n 'NetworkError when attempting to fetch resource.',\r\n // safari\r\n 'Fetch API cannot load',\r\n 'Network request failed',\r\n ];\r\n\r\n return errors.some(e => error.message.startsWith(e));\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nconst toQueryParams = str => {\r\n if (!str) {\r\n return {};\r\n }\r\n\r\n const match = str.match(/([^?#]*)(#.*)?$/);\r\n const params = new URLSearchParams(match[1]);\r\n\r\n return [...params.entries()].reduce((acc, [key, val]) => {\r\n if (acc.hasOwnProperty(key)) {\r\n if (Array.isArray(acc[key])) {\r\n acc[key].push(val);\r\n } else {\r\n acc[key] = [acc[key], val];\r\n }\r\n } else {\r\n acc[key] = val;\r\n }\r\n\r\n return acc;\r\n }, {});\r\n};\r\n\r\n\r\nexport default (url, params) => {\r\n if ('string' === typeof params) {\r\n const splitUrl = url.split('?', 2);\r\n params = params.startsWith('/') || params.startsWith('?') ? params : `?${params}`;\r\n const splitParams = params.split('?', 2);\r\n url = splitUrl[0].replace(/\\/+$/, '') + splitParams[0];\r\n params = {\r\n ...toQueryParams(splitUrl[1] || ''),\r\n ...toQueryParams(splitParams[1] || ''),\r\n };\r\n }\r\n\r\n if (Object.prototype.toString.call(params) === '[object Object]') {\r\n params = Object.keys(params).map(function (name) {\r\n if ('undefined' === typeof params[name]) {\r\n return name;\r\n }\r\n return `${name}=${encodeURIComponent(params[name])}`;\r\n }).join('&');\r\n }\r\n\r\n if (!params) {\r\n return url;\r\n }\r\n return url + (-1 !== url.indexOf('?') ? '&' : '?') + params;\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport default () => {};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nconst observers = new Map();\r\nconst getObservers = ns => {\r\n if (!observers.has(ns)) {\r\n observers.set(ns, []);\r\n }\r\n return observers.get(ns);\r\n};\r\n\r\nclass Observer {\r\n /**\r\n * @param {Function} callback\r\n * @param {String} ns\r\n */\r\n static append(callback, ns) {\r\n getObservers(ns).push(callback);\r\n }\r\n\r\n /**\r\n * @param {String} ns\r\n * @param {Function} callback\r\n */\r\n static addEventListener(ns, callback) {\r\n this.append(callback, ns);\r\n }\r\n\r\n /**\r\n * @param {Function} callback\r\n * @param {String} ns\r\n */\r\n static appendAndCall(callback, ns) {\r\n getObservers(ns).push(callback);\r\n callback();\r\n }\r\n\r\n /**\r\n * @param {Object} event\r\n * @param {String} ns\r\n */\r\n static notify(event, ns) {\r\n getObservers(ns).forEach(callback => callback(event));\r\n }\r\n\r\n /**\r\n * @param {Function} callback\r\n * @param {String} ns\r\n */\r\n static remove(callback, ns) {\r\n const pos = getObservers(ns).indexOf(callback);\r\n if (pos !== -1) {\r\n getObservers(ns).splice(pos, 1);\r\n }\r\n }\r\n\r\n /**\r\n * @param {String} ns\r\n * @param {Function} callback\r\n */\r\n static removeEventListener(ns, callback) {\r\n this.remove(callback, ns);\r\n }\r\n}\r\n\r\nexport default Observer;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Translate as BaseTranslate } from '@plesk/ui-library';\r\n\r\nconst Translate = ({ component = Fragment, ...props }) => (\r\n \r\n);\r\n\r\nTranslate.propTypes = {\r\n component: PropTypes.elementType,\r\n};\r\n\r\nexport default Translate;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport * as React from '@plesk/ui-library';\r\n\r\nexport default React;\r\nexport * from '@plesk/ui-library';\r\n","module.exports = window.PleskUiLibrary;","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { createRoot } from 'react-dom/client';\r\nimport { isValidElement } from 'react';\r\nimport { captureException } from '@sentry/browser';\r\nimport { Component } from './component';\r\nimport emptyFn from './emptyFn';\r\n\r\nconst addScript = src => new Promise((resolve, reject) => {\r\n const s = document.createElement('script');\r\n s.setAttribute('src', src);\r\n s.onload = resolve;\r\n s.onerror = reject;\r\n document.body.appendChild(s);\r\n});\r\n\r\nconst evalScripts = string => {\r\n const scriptFragment = ']*>([\\\\S\\\\s]*?)<\\/script\\\\s*>';\r\n\r\n const matchAll = new RegExp(scriptFragment, 'img');\r\n const matchOne = new RegExp(scriptFragment, 'im');\r\n\r\n const scripts = string.match(matchAll)?.map(scriptTag => (scriptTag.match(matchOne) || ['', ''])[1]);\r\n\r\n scripts?.forEach(script => {\r\n try {\r\n // eslint-disable-next-line no-eval\r\n eval(script);\r\n } catch (e) {\r\n captureException(e, scope => {\r\n scope.setExtras({ script });\r\n });\r\n // eslint-disable-next-line no-console\r\n console?.error(e);\r\n }\r\n });\r\n};\r\n\r\n/**\r\n * Helper for render components/elements/strings\r\n * @experimental Be careful with this method, its implementation is not yet complete.\r\n *\r\n * @param {Element} parentElement\r\n * @param {Component|Function|Element|Object|String} element\r\n * @param {String} [renderMode=bottom\"] above|below|top|bottom|inner|replace\r\n */\r\nconst render = (parentElement, element, renderMode = 'bottom') => {\r\n if (!element) {\r\n return;\r\n }\r\n\r\n if (renderMode === 'inner') {\r\n parentElement.innerHTML = '';\r\n renderMode = 'bottom';\r\n }\r\n\r\n if (Array.isArray(element)) {\r\n element.forEach(element => {\r\n render(parentElement, element, renderMode);\r\n });\r\n return;\r\n }\r\n\r\n if (typeof element === 'function') {\r\n render(parentElement, element(), renderMode);\r\n return;\r\n }\r\n\r\n if (element instanceof Component) {\r\n element.setRenderTarget(parentElement);\r\n if (renderMode) {\r\n element._renderMode = renderMode;\r\n }\r\n element.render();\r\n return;\r\n }\r\n\r\n if (isValidElement(element)) {\r\n (parentElement._jswReactRootContainer ||= createRoot(parentElement)).render(element);\r\n return;\r\n }\r\n\r\n if (Object.prototype.toString.call(element) === '[object Object]' && element.tag) {\r\n const attrs = { ...element.attrs };\r\n Object.keys(attrs).forEach(function (attr) {\r\n if ('undefined' === typeof attrs[attr]) {\r\n delete attrs[attr];\r\n }\r\n });\r\n\r\n const renderFn = typeof attrs.onrender === 'function' ? attrs.onrender : emptyFn;\r\n delete attrs.onrender;\r\n\r\n const events = {};\r\n Object.keys(attrs).forEach(attr => {\r\n if (typeof attrs[attr] === 'function' && attr.indexOf('on') === 0) {\r\n events[attr.slice(2)] = attrs[attr];\r\n delete attrs[attr];\r\n }\r\n });\r\n\r\n const el = document.createElement(element.tag);\r\n Object.keys(attrs).forEach(name => {\r\n if (attrs[name] === true) {\r\n el.setAttribute(name, name);\r\n } else if (attrs[name] !== null && attrs[name] !== false) {\r\n el.setAttribute(name, attrs[name]);\r\n }\r\n });\r\n Object.keys(events).forEach(eventName => {\r\n el.addEventListener(eventName, events[eventName]);\r\n });\r\n\r\n render(el, element.children);\r\n\r\n element = el;\r\n renderFn(element);\r\n }\r\n\r\n switch (renderMode) {\r\n case 'bottom':\r\n if (element instanceof Node) {\r\n parentElement.insertBefore(element, null);\r\n } else {\r\n parentElement.insertAdjacentHTML('beforeend', element);\r\n }\r\n break;\r\n\r\n case 'top':\r\n if (element instanceof Node) {\r\n parentElement.insertBefore(element, parentElement.firstChild);\r\n } else {\r\n parentElement.insertAdjacentHTML('afterbegin', element);\r\n }\r\n break;\r\n\r\n case 'before':\r\n if (element instanceof Node) {\r\n parentElement.parentNode.insertBefore(element, parentElement);\r\n } else {\r\n parentElement.insertAdjacentHTML('beforebegin', element);\r\n }\r\n break;\r\n\r\n case 'after':\r\n case 'replace':\r\n if (element instanceof Node) {\r\n parentElement.parentNode.insertBefore(element, parentElement.nextSibling);\r\n } else {\r\n parentElement.insertAdjacentHTML('afterend', element);\r\n }\r\n\r\n if (renderMode === 'replace') {\r\n parentElement.parentNode.removeChild(parentElement);\r\n }\r\n break;\r\n\r\n default:\r\n throw new Error(`Unsupported renderMode for render(): ${renderMode}`);\r\n }\r\n\r\n if (typeof element === 'string') {\r\n setTimeout(async () => {\r\n const scriptRegex = /<\\/script>/ig;\r\n let matches;\r\n while (null !== (matches = scriptRegex.exec(element))) {\r\n try {\r\n await addScript(matches[2]);\r\n } catch {}\r\n }\r\n evalScripts(element);\r\n }, 10);\r\n }\r\n};\r\n\r\nexport default render;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { captureException } from '@sentry/browser';\r\n\r\nconst HIGH = 'high';\r\nconst NORMAL = 'normal';\r\nconst LOW = 'low';\r\n\r\nexport const priority = {\r\n [HIGH]: HIGH,\r\n [NORMAL]: NORMAL,\r\n [LOW]: LOW,\r\n};\r\n\r\nconst onReadyEvents = {};\r\nlet firedOnReady = false;\r\n\r\n/**\r\n * Adds a listener to be notified when the document is ready (before onload and before images are loaded).\r\n * @param {String|Function} [priority]\r\n * @param {Function} callback The method to call.\r\n */\r\nexport default (priority, callback) => {\r\n if ('function' === typeof priority) {\r\n callback = priority;\r\n priority = NORMAL;\r\n }\r\n\r\n const wrappedCallback = () => {\r\n try {\r\n callback();\r\n } catch (e) {\r\n captureException(e);\r\n // eslint-disable-next-line no-console\r\n console && console.error(e);\r\n }\r\n };\r\n\r\n if (firedOnReady) {\r\n wrappedCallback();\r\n return;\r\n }\r\n\r\n if (!onReadyEvents[priority]) {\r\n onReadyEvents[priority] = [];\r\n }\r\n\r\n onReadyEvents[priority].push(wrappedCallback);\r\n};\r\n\r\ndocument.onreadystatechange = () => {\r\n if (document.readyState === 'complete' && !firedOnReady) {\r\n firedOnReady = true;\r\n const predefinedPriorities = [LOW, NORMAL, HIGH];\r\n Object.keys(onReadyEvents)\r\n .sort((a, b) => predefinedPriorities.indexOf(b) - predefinedPriorities.indexOf(a))\r\n .forEach(priority => {\r\n onReadyEvents[priority].forEach(Function.prototype.call, Function.prototype.call);\r\n });\r\n }\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { StatusMessage } from './status-message';\r\nimport createComponent from './createComponent';\r\n\r\nexport default (type, message, params = {}) => {\r\n try {\r\n createComponent({\r\n componentType: params.componentType || StatusMessage,\r\n renderTo: 'main',\r\n renderMode: 'top',\r\n type,\r\n message,\r\n ...params,\r\n });\r\n } catch {\r\n // eslint-disable-next-line no-alert\r\n alert(`${type} | ${message}`);\r\n }\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\nimport prepareUrl from './prepareUrl';\r\nimport render from './render';\r\nimport createElement from './createElement';\r\nimport api from './api';\r\n\r\nimport './status-message.less';\r\n\r\nexport class StatusMessage extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n this._type = this._getConfigParam('type', 'error');\r\n this._cls = this._getConfigParam('cls', `msg-box msg-${this._type}`);\r\n this._title = this._getConfigParam('title', '');\r\n this._message = this._getConfigParam('message', '');\r\n this._source = this._getConfigParam('source', null);\r\n this._closable = this._getConfigParam('closable', false);\r\n this._onClose = this._getConfigParam('onClose', null);\r\n const hideUrl = this._getConfigParam('hideUrl', null);\r\n if (hideUrl) {\r\n this._closable = true;\r\n this._onClose = event => {\r\n const el = event.target.closest('.msg-box');\r\n el.parentNode.removeChild(el);\r\n api.post(prepareUrl(hideUrl));\r\n };\r\n }\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n if (this._source) {\r\n this._componentElement.dataset.source = this._source;\r\n }\r\n\r\n render(this._componentElement,\r\n createElement('div',\r\n createElement('div',\r\n createElement('div',\r\n createElement('div',\r\n createElement('div',\r\n createElement('div.msg-content',\r\n this._renderCloseButton(),\r\n this._renderMessage(),\r\n ),\r\n ),\r\n ),\r\n ),\r\n ),\r\n ),\r\n );\r\n }\r\n\r\n _renderMessage() {\r\n return [this._title ? `${this._title}: ` : null, this._message];\r\n }\r\n\r\n _renderCloseButton() {\r\n if (!this._closable) {\r\n return null;\r\n }\r\n return createElement('span.close', {\r\n onclick: typeof this._onClose === 'function'\r\n ? this._onClose.bind(this)\r\n : this._onClose,\r\n });\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport default url => {\r\n if (typeof url !== 'string') {\r\n return null;\r\n }\r\n\r\n const baseUrl = (global.Jsw && global.Jsw.baseUrl) || '';\r\n\r\n if (url.substr(0, 2) === '^/') {\r\n return url.toString().substr(1);\r\n }\r\n\r\n if (\r\n url.startsWith('/plesk/') ||\r\n url.startsWith('/services/') ||\r\n url.startsWith('/modules/') ||\r\n url.startsWith('/admin/') ||\r\n url.startsWith('/smb/') ||\r\n url.startsWith('/cp/') ||\r\n (baseUrl !== '' && url.startsWith(`${baseUrl}/`)) ||\r\n !url.startsWith('/') ||\r\n url.split('?')[0].endsWith('.php')\r\n ) {\r\n return url;\r\n }\r\n\r\n return baseUrl + url;\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { isValidElement } from 'react';\r\nimport { Component } from './component';\r\n\r\n/**\r\n * Helper for create elements\r\n * @experimental Be careful with this method, its implementation is not yet complete.\r\n *\r\n * @param {String} selector\r\n * @param {Object} [attrs]\r\n * @param {String[]|String...|Object[]|Object...} [children]\r\n * @returns {Object}\r\n */\r\nexport default (selector, ...args) => {\r\n const hasAttrs = Object.prototype.toString.call(args[0]) === '[object Object]'\r\n && !('tag' in args[0])\r\n && !isValidElement(args[0])\r\n && !(args[0] instanceof Component);\r\n let tag = 'div';\r\n const classes = [];\r\n const selectorRe = /(?:(^|#|\\.)([^#\\.\\[\\]]+))|(\\[.+?\\])/g;\r\n const attrRe = /\\[(.+?)(?:=(\"|'|)(.*?)\\2)?\\]/;\r\n let match;\r\n const attrs = hasAttrs ? args.shift() : {};\r\n\r\n while ((match = selectorRe.exec(selector))) {\r\n if (match[1] === '' && match[2]) {\r\n tag = match[2];\r\n } else if (match[1] === '#') {\r\n attrs.id = match[2];\r\n } else if (match[1] === '.') {\r\n classes.push(match[2]);\r\n } else if (match[3][0] === '[') {\r\n const pair = attrRe.exec(match[3]);\r\n attrs[pair[1]] = pair[3] || (pair[2] ? '' : true);\r\n }\r\n }\r\n\r\n if (typeof attrs.class === 'string' && attrs.class !== '') {\r\n classes.push(attrs.class);\r\n }\r\n if (classes.length) {\r\n attrs.class = classes.join(' ');\r\n }\r\n\r\n const children = args.length === 1 && Array.isArray(args[0]) ? args[0] : args;\r\n\r\n return {\r\n tag,\r\n attrs,\r\n children,\r\n };\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport pageData from '../helpers/pageData';\r\n\r\nexport default () => {\r\n pageData({ ...pageData(), status: [] });\r\n\r\n const contentElement = document.getElementById('main');\r\n if (!contentElement) {\r\n return;\r\n }\r\n ['.msg-error', '.msg-info', '.msg-warning'].forEach(msgClass => {\r\n contentElement.querySelectorAll(`${msgClass}:not([data-rendered-by-react])`).forEach(messageElement => {\r\n messageElement.parentNode.removeChild(messageElement);\r\n });\r\n });\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { makeVar, useReactiveVar } from '@apollo/client';\r\n\r\ntype PageData = {\r\n pageSidebar?: {\r\n isPowerUserPanel: boolean;\r\n }\r\n [key: string]: unknown;\r\n};\r\n\r\nconst pageData = makeVar({});\r\n\r\nexport const usePageData = () => useReactiveVar(pageData);\r\n\r\nexport default pageData;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport addStatusMessage from './addStatusMessage';\r\nimport clearStatusMessages from './clearStatusMessages';\r\nimport escapeHtml from './escapeHtml';\r\n\r\nexport default message => {\r\n clearStatusMessages();\r\n let statusMessage = `Internal error
${escapeHtml(message)}
`;\r\n try {\r\n const jsonMessage = JSON.parse(message);\r\n if ('message' in jsonMessage && 'kbArticleUrl' in jsonMessage) {\r\n statusMessage = `
${escapeHtml(jsonMessage.message)}
`;\r\n statusMessage += `Search for related Knowledge Base articles`;\r\n }\r\n } catch {\r\n // Show as plaintext\r\n }\r\n\r\n addStatusMessage('error', statusMessage);\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport escapeHtml from './escapeHtml';\r\n\r\n/**\r\n * Escape element attributes for html concatenation\r\n *\r\n * @param {String} value\r\n * @returns {String}\r\n */\r\nexport default value => escapeHtml(value)\r\n .replace(/\"/g, '"');\r\n\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/**\r\n * Converts the entity forms of special HTML characters to their normal form.\r\n *\r\n * @param {String} value\r\n * @returns {String}\r\n */\r\nexport default value => String(value)\r\n .replace(/&/g, '&')\r\n .replace(/ /g, ' ')\r\n .replace(/"/g, '\"')\r\n .replace(/'/g, '\\'')\r\n .replace(/</g, '<')\r\n .replace(/>/g, '>');\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/**\r\n * Temporary solution for fire custom events\r\n */\r\nexport default (element, eventName) => {\r\n if (document.createEvent) {\r\n const event = document.createEvent('HTMLEvents');\r\n event.initEvent('dataavailable', true, true);\r\n event.eventName = eventName;\r\n\r\n element.dispatchEvent(event);\r\n return;\r\n }\r\n\r\n const event = document.createEventObject();\r\n event.eventType = 'ondataavailable';\r\n event.eventName = eventName;\r\n\r\n element.fireEvent(event.eventType, event);\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport const ESC = 27;\r\nexport const ENTER = 13;\r\nexport const LEFT_ARROW = 37;\r\nexport const UP_ARROW = 38;\r\nexport const RIGHT_ARROW = 39;\r\nexport const DOWN_ARROW = 40;\r\n\r\nexport default {\r\n ESC,\r\n ENTER,\r\n LEFT_ARROW,\r\n UP_ARROW,\r\n RIGHT_ARROW,\r\n DOWN_ARROW,\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\nimport { createHtmlElement } from 'helpers/createHtmlElement';\r\nimport render from './render';\r\n\r\nimport './hint.less';\r\n\r\n/**\r\n * @class Hint\r\n * @extends Component\r\n *\r\n * Example usage:\r\n *\r\n * @example\r\n * new Hint({\r\n * renderTo: document.body,\r\n * hint: 'This is where you manage accounts of your hosting service customers: ' +\r\n * 'create accounts along with service subscriptions, manage existing customers, ' +\r\n * 'and remove accounts. To administer websites, mail or any other services provided ' +\r\n * 'to a customer, go to their Customer Panel by clicking the link in the right column of the list.',\r\n * expandable: true\r\n * });\r\n */\r\nexport class Hint extends Component {\r\n /**\r\n * @cfg {String} hint\r\n */\r\n /**\r\n * @cfg {Boolean} [expandable=false]\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration({ tag: 'p', ...config });\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n this._contentElement = this._componentElement;\r\n\r\n this.setHint(\r\n this._getConfigParam('hint', ''),\r\n );\r\n\r\n if (this._getConfigParam('expandable', false)) {\r\n const componentElement = createHtmlElement('div', { class: 'screen-description' });\r\n const wrapElement = createHtmlElement('div', { class: 'screen-description-wrap' });\r\n const btnShowMore = createHtmlElement('span', { class: 'screen-description-control' });\r\n btnShowMore.addEventListener('click', event => {\r\n event.target.closest('.screen-description').classList.add('expanded');\r\n });\r\n render(wrapElement, this._contentElement);\r\n render(wrapElement, btnShowMore);\r\n render(componentElement, wrapElement);\r\n this._componentElement = componentElement;\r\n this._screenControl = () => {\r\n if (Element.getWidth(componentElement) > Element.getWidth(wrapElement)) {\r\n btnShowMore.classList.add('off');\r\n } else {\r\n btnShowMore.classList.remove('off');\r\n }\r\n };\r\n }\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n\r\n if (this._screenControl) {\r\n window.addEventListener('resize', this._screenControl);\r\n this._screenControl();\r\n }\r\n }\r\n\r\n /**\r\n * Update hint text.\r\n * @param {String} hint\r\n */\r\n setHint(hint) {\r\n this._contentElement.innerHTML = hint;\r\n this._screenControl?.();\r\n }\r\n\r\n remove() {\r\n if (this._screenControl) {\r\n window.removeEventListener('resize', this._screenControl);\r\n }\r\n\r\n super.remove();\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport const createHtmlElement = (tagName: string, attrs: Record = {}): HTMLElement => {\r\n const el = document.createElement(tagName);\r\n\r\n Object.entries(attrs).forEach(([name, value]) => {\r\n if (value !== null && value !== false) {\r\n el.setAttribute(name, `${value}`);\r\n }\r\n });\r\n\r\n return el;\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\nimport prepareUrl from './prepareUrl';\r\nimport escapeHtml from './escapeHtml';\r\n\r\n/**\r\n * Example usage:\r\n *\r\n * @example\r\n * new Button({\r\n * renderTo: document.body,\r\n * title: 'Add a Customer',\r\n * cls: 's-btn sb-add-new-customer',\r\n * isNew: true,\r\n * newTitle: 'New',\r\n * handler() {\r\n * alert('You clicked the button!');\r\n * },\r\n * });\r\n */\r\nexport class Button extends Component {\r\n /**\r\n * @cfg {String} title=\"\"\r\n */\r\n /**\r\n * @cfg {String} rightIcon=\"\"\r\n */\r\n /**\r\n * @cfg {String|Function} handler\r\n */\r\n /**\r\n * @cfg {String} href\r\n */\r\n /**\r\n * @cfg {String} target\r\n */\r\n /**\r\n * @cfg {String} disabledClass=btn-disabled\r\n */\r\n /**\r\n * @cfg {Boolean} isNew=false\r\n */\r\n /**\r\n * @cfg {String} newTitle=\"\"\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration({ tag: 'a', ...config });\r\n\r\n this._handler = this._getConfigParam('handler', false);\r\n if (typeof this._handler === 'string') {\r\n // eslint-disable-next-line no-eval\r\n eval(`this._handler = ${this._handler}`);\r\n }\r\n this._title = this._getConfigParam('title', '');\r\n this._rightIcon = this._getConfigParam('rightIcon', '');\r\n this._cls = this._getConfigParam('cls', `b-btn${!this._title ? ' btn-icon-only' : ''}`);\r\n this._disabledClass = this._getConfigParam('disabledClass', 'btn-disabled');\r\n this._isNew = this._getConfigParam('isNew', false);\r\n this._newTitle = this._getConfigParam('newTitle', '');\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._componentElement.innerHTML = (\r\n '' +\r\n `${escapeHtml(this._title)}${this._isNew ? ` ${this._newTitle}` : ''}${this._rightIcon}` +\r\n ''\r\n );\r\n\r\n this._initVisibility();\r\n }\r\n\r\n _initVisibility() {\r\n this._disabled = this._getConfigParam('disabled', false);\r\n\r\n if (this._disabled) {\r\n this._disabled = false;\r\n this.disable();\r\n } else {\r\n this._disabled = true;\r\n this.enable();\r\n }\r\n }\r\n\r\n _addAttribute(name, value) {\r\n if ('undefined' !== typeof value && value !== null) {\r\n this._componentElement.setAttribute(name, value);\r\n }\r\n }\r\n\r\n enable() {\r\n if (!this._disabled) {\r\n return;\r\n }\r\n this._disabled = false;\r\n\r\n let classNames = this._config.addCls || '';\r\n if (typeof classNames === 'string') {\r\n classNames = classNames.split(' ').filter(className => className);\r\n } else {\r\n classNames = [classNames];\r\n }\r\n classNames.forEach(item => {\r\n this._componentElement.classList.add(item);\r\n this._componentElement.classList.remove(`${item}-disabled`);\r\n });\r\n this._componentElement.classList.remove(this._disabledClass);\r\n\r\n this._addAttribute('href', prepareUrl(this._getConfigParam('href', 'javascript:;')));\r\n this._addAttribute('target', this._getConfigParam('target', null));\r\n\r\n this._addProgressHandler();\r\n if (this._handler) {\r\n this.addEventObserver('click', this._handler);\r\n }\r\n }\r\n\r\n disable() {\r\n if (this._disabled) {\r\n return;\r\n }\r\n this._disabled = true;\r\n\r\n this._componentElement.classList.add(this._disabledClass);\r\n\r\n let classNames = this._config.addCls || '';\r\n if (typeof classNames === 'string') {\r\n classNames = classNames.split(' ').filter(className => className);\r\n } else {\r\n classNames = [classNames];\r\n }\r\n classNames.forEach(item => {\r\n this._componentElement.classList.add(`${item}-disabled`);\r\n this._componentElement.classList.remove(item);\r\n });\r\n this._componentElement.removeAttribute('href');\r\n this._componentElement.removeAttribute('target');\r\n\r\n if (this._handler) {\r\n this.removeEventObserver('click', this._handler);\r\n }\r\n }\r\n\r\n _addProgressHandler() {\r\n // basic empty implementation\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Button } from './button';\r\n\r\nexport class SmallButton extends Button {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._cls = this._getConfigParam('cls', `s-btn${!this._title ? ' btn-icon-only' : ''}`);\r\n }\r\n}\r\n\r\n// TODO EXTDOCKER-50: Cannot open docker extension: Cannot read property 'push' of undefined\r\nSmallButton.subclasses = [];\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Button } from './button';\r\nimport render from './render';\r\nimport escapeHtml from './escapeHtml';\r\n\r\nexport class BigButton extends Button {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n cls: 'tool-block',\r\n disabledClass: 'tool-block-disabled',\r\n ...config,\r\n });\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n let button = '';\r\n if (this._getConfigParam('title')) {\r\n button += `${escapeHtml(this._getConfigParam('title'))}`;\r\n }\r\n\r\n let description = '';\r\n if (Array.isArray(this._getConfigParam('additionalComments'))) {\r\n this._getConfigParam('additionalComments').forEach(comment => {\r\n description += `${escapeHtml(comment)}
`;\r\n });\r\n description = `${description}`;\r\n }\r\n if (this._getConfigParam('comment')) {\r\n description += escapeHtml(this._getConfigParam('comment'));\r\n }\r\n if (description.length) {\r\n button += `${description}`;\r\n }\r\n if (this._getConfigParam('icon')) {\r\n const icon = (\r\n '' +\r\n `` +\r\n ''\r\n );\r\n button = icon + button;\r\n }\r\n this._componentElement.innerHTML = button;\r\n }\r\n\r\n _addProgressHandler() {\r\n if (this._getConfigParam('indicateProgress', false)) {\r\n this.addEventObserver('click', () => {\r\n this._componentElement.style.display = 'none';\r\n render(this._componentElement.parentNode, `
${this._config.waitMessage}
`);\r\n });\r\n }\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\nimport { Tooltip } from './tooltip';\r\nimport render from './render';\r\nimport createElement from './createElement';\r\nimport escapeHtml from './escapeHtml';\r\nimport emptyFn from './emptyFn';\r\nimport { createHtmlElement } from 'helpers/createHtmlElement';\r\n\r\nexport class SplitButton extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n cls: 'btn-group',\r\n ...config,\r\n });\r\n\r\n this.title = this._getConfigParam('title', '');\r\n this.isAction = this._getConfigParam('isAction', false);\r\n this.isDefault = this._getConfigParam('isDefault', false);\r\n this.isMenuFlip = this._getConfigParam('isMenuFlip', false);\r\n this.onclick = this._getConfigParam('onclick', emptyFn);\r\n this.items = this._getConfigParam('items', []);\r\n this.isScrollable = this._getConfigParam('isScrollable');\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n render(this._componentElement, [\r\n createElement(`button.btn${this.isAction ? '.btn-primary' : ''}`,\r\n {\r\n type: this.isDefault ? 'submit' : 'button',\r\n onclick: this.onclick,\r\n },\r\n escapeHtml(this.title),\r\n ),\r\n createElement('button.btn.dropdown-toggle',\r\n {\r\n type: 'button',\r\n onclick: this.openDropdown.bind(this),\r\n },\r\n createElement('em.caret'),\r\n ),\r\n createElement(`ul.dropdown-menu${this.isMenuFlip ? '.dropdown-menu-flip' : ''}${this.isScrollable ? '.dropdown-scrollable' : ''}`),\r\n ]);\r\n\r\n if (Array.isArray(this.items)) {\r\n this._initItems();\r\n }\r\n }\r\n\r\n _initItems() {\r\n this.items.forEach(item => {\r\n const link = createHtmlElement('a', {\r\n id: item.id || null,\r\n href: item.href || null,\r\n target: item.newWindow ? '_blank' : null,\r\n });\r\n link.innerHTML = escapeHtml(item.title);\r\n\r\n const listItem = createHtmlElement('li', {\r\n class: (item.submenu ? 'dropdown-submenu' : '') + (this.isMenuFlip ? ' to-left' : ''),\r\n });\r\n render(listItem, link);\r\n\r\n if (item.submenu) {\r\n render(listItem, '
    ');\r\n }\r\n\r\n render(this._componentElement.querySelector('.dropdown-menu'), listItem);\r\n\r\n link.addEventListener('click', item.onclick || emptyFn);\r\n\r\n if (item.tooltip) {\r\n Tooltip.init(link, { text: item.tooltip });\r\n }\r\n });\r\n }\r\n\r\n _addTooltips() {\r\n const description = this._getConfigParam('description');\r\n if (description) {\r\n this._tooltip = Tooltip.init(this._componentElement.querySelector('button'), { text: description });\r\n }\r\n }\r\n\r\n openDropdown(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n if (typeof this.items === 'function') {\r\n const dropdownMenu = this._componentElement.querySelector('.dropdown-menu');\r\n dropdownMenu.innerHTML = `
    ${this.lmsg('loading')}
    `;\r\n\r\n const { items } = this;\r\n this.items = [];\r\n\r\n items().then(items => {\r\n dropdownMenu.innerHTML = '';\r\n this.items = items;\r\n this._initItems();\r\n });\r\n }\r\n\r\n if (!this._componentElement.classList.contains('open')) {\r\n document.querySelectorAll('.btn-group').forEach(item => {\r\n item.classList.remove('open');\r\n });\r\n }\r\n this._componentElement.classList.toggle('open');\r\n }\r\n\r\n _addEvents() {\r\n const openSubmenu = menuItem => {\r\n const submenu = menuItem.querySelector('.dropdown-menu');\r\n if (!menuItem.classList.contains('open') && 'undefined' !== typeof submenu && !submenu.innerHTML.trim()) {\r\n this.items[this.items.length - 1].submenu ? this.items[this.items.length - 1].submenu(menuItem.querySelector('a').nextElementSibling) : '';\r\n }\r\n closeSubmenu(menuItem);\r\n menuItem.classList.add('open');\r\n clearTimeout(menuItem._menuTimeout);\r\n };\r\n\r\n const closeSubmenu = menuItem => {\r\n menuItem.classList.remove('open');\r\n clearTimeout(menuItem._menuTimeout);\r\n };\r\n\r\n this._componentElement.querySelectorAll('.dropdown-menu > li').forEach(element => {\r\n element.addEventListener('mouseover', () => {\r\n if (element.classList.contains('dropdown-submenu') && element.classList.contains('open')) {\r\n return;\r\n }\r\n element.parentNode.querySelectorAll('.dropdown-submenu.open').forEach(menuItem => {\r\n closeSubmenu(menuItem);\r\n });\r\n });\r\n });\r\n\r\n const submenu = this._componentElement.querySelectorAll('.dropdown-submenu');\r\n submenu.forEach(item => {\r\n item.addEventListener('mouseover', () => {\r\n openSubmenu(item);\r\n });\r\n const a = item.querySelector('a');\r\n a.addEventListener('touchend', () => {\r\n if (item.classList.contains('open')) {\r\n closeSubmenu(item);\r\n } else {\r\n openSubmenu(item);\r\n }\r\n });\r\n a.addEventListener('click', event => {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n });\r\n });\r\n\r\n this._componentElement.querySelectorAll('.dropdown-submenu').forEach(menuItem => {\r\n menuItem.addEventListener('mouseleave', () => {\r\n clearTimeout(menuItem._menuTimeout);\r\n menuItem._menuTimeout = setTimeout(() => {\r\n closeSubmenu(menuItem);\r\n }, 500);\r\n });\r\n });\r\n\r\n document.body.addEventListener('click', () => {\r\n this._componentElement.classList.remove('open');\r\n });\r\n }\r\n\r\n disable() {\r\n const button = this._componentElement.querySelector('button');\r\n button.disabled = true;\r\n button.classList.add('disabled');\r\n\r\n const toggle = this._componentElement.querySelector('.dropdown-toggle');\r\n toggle.disabled = true;\r\n toggle.classList.add('disabled');\r\n\r\n if (Tooltip.current === this._tooltip) {\r\n Tooltip.hide();\r\n }\r\n }\r\n\r\n enable() {\r\n const button = this._componentElement.querySelector('button');\r\n button.disabled = false;\r\n button.classList.remove('disabled');\r\n\r\n const toggle = this._componentElement.querySelector('.dropdown-toggle');\r\n toggle.disabled = false;\r\n toggle.classList.remove('disabled');\r\n }\r\n\r\n setText(text) {\r\n this._componentElement.querySelector('button').innerHTML = text;\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\n\r\nexport class CommandButton extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration({ tag: 'button', ...config });\r\n\r\n this._handler = this._getConfigParam('handler', false);\r\n if (typeof this._handler === 'string') {\r\n // eslint-disable-next-line no-eval\r\n eval(`this._handler = ${this._handler}`);\r\n }\r\n\r\n this._value = this._config.value || '';\r\n this._tabIndex = this._getConfigParam('tabIndex', null);\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._componentElement.type = 'button';\r\n this._componentElement.value = this._value;\r\n this._componentElement.name = this._config.name;\r\n this._componentElement.innerHTML = this._config.title;\r\n\r\n if (null !== this._tabIndex) {\r\n this._componentElement.setAttribute('tabindex', this._tabIndex);\r\n }\r\n\r\n this._initVisibility();\r\n }\r\n\r\n _initVisibility() {\r\n this._disabled = this._getConfigParam('disabled', false);\r\n\r\n if (this._disabled) {\r\n this._disabled = false;\r\n this.disable();\r\n } else {\r\n this._disabled = true;\r\n this.enable();\r\n }\r\n }\r\n\r\n setHandler(handler) {\r\n if (this._handler && !this._disabled) {\r\n this.removeEventObserver('click', this._handler);\r\n }\r\n\r\n this._handler = handler;\r\n if (!this._disabled) {\r\n this.addEventObserver('click', this._handler);\r\n }\r\n }\r\n\r\n enable() {\r\n if (!this._disabled) {\r\n return;\r\n }\r\n\r\n this._disabled = false;\r\n if ('send' === this._config.name || 'apply' === this._config.name) {\r\n this._componentElement.classList.add('action');\r\n }\r\n this._componentElement.classList.remove('disabled');\r\n this._componentElement.disabled = false;\r\n if (this._handler) {\r\n this.addEventObserver('click', this._handler);\r\n }\r\n }\r\n\r\n disable() {\r\n if (this._disabled) {\r\n return;\r\n }\r\n\r\n this._disabled = true;\r\n this._componentElement.disabled = true;\r\n if ('send' === this._config.name || 'apply' === this._config.name) {\r\n this._componentElement.classList.remove('action');\r\n }\r\n this._componentElement.classList.add('disabled');\r\n if (this._handler) {\r\n this.removeEventObserver('click', this._handler);\r\n }\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { toollist } from './tool-list';\r\n\r\nconst { Button } = toollist;\r\n\r\nexport class CustomButton extends Button {\r\n /**\r\n * @param {String} path\r\n * @returns {String}\r\n */\r\n getImagePath(path) {\r\n return path;\r\n }\r\n}\r\n\r\nif (window.Form) {\r\n Form.Element.Methods.disable = element => {\r\n element.disabled = 'disabled';\r\n element.classList.add('disabled');\r\n return element;\r\n };\r\n\r\n Form.Element.Methods.enable = element => {\r\n element.disabled = false;\r\n element.classList.remove('disabled');\r\n return element;\r\n };\r\n\r\n Element.addMethods();\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/* eslint-disable react/no-multi-comp */\r\n\r\nimport { Container } from './container';\r\nimport { Component } from './component';\r\nimport { Tooltip } from './tooltip';\r\nimport render from './render';\r\nimport createElement from './createElement';\r\nimport escapeAttribute from './escapeAttribute';\r\nimport escapeHtml from './escapeHtml';\r\nimport { createHtmlElement } from 'helpers/createHtmlElement';\r\n\r\nimport './tool-list.less';\r\n\r\n/**\r\n * Example usage:\r\n *\r\n * @example\r\n * new ToolList({\r\n * renderTo: document.body,\r\n * items: [{\r\n * componentType: toollist.Panel,\r\n * title: 'Components',\r\n * image: 'class-icons/component-large.png',\r\n * items: [{\r\n * componentType: toollist.Item,\r\n * title: Box,\r\n * href: './Box',\r\n * target: '_parent'\r\n * }, {\r\n * componentType: toollist.Item,\r\n * title: Button,\r\n * href: './Button',\r\n * target: '_parent',\r\n * attention: true\r\n * }]\r\n * }, {\r\n * componentType: toollist.Panel,\r\n * title: 'Classes',\r\n * image: 'class-icons/class-large.png',\r\n * items: [{\r\n * componentType: toollist.Item,\r\n * title: Locale,\r\n * href: './Locale',\r\n * target: '_parent'\r\n * }]\r\n * }, {\r\n * componentType: toollist.Panel,\r\n * title: 'Singletons',\r\n * image: 'class-icons/singleton-large.png',\r\n * items: [{\r\n * componentType: toollist.Item,\r\n * title: Cookie,\r\n * href: './Cookie',\r\n * target: '_parent'\r\n * }]\r\n * }]\r\n * });\r\n */\r\nexport class ToolList extends Container {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n this._tools = this._getConfigParam('tools', null);\r\n this._cls = this._getConfigParam('cls', 'tools-list-box');\r\n this._contentAreaId = `${this._id}-tools-list`;\r\n\r\n if (Array.isArray(this._tools) && !this._operations.length) {\r\n this._operations = null;\r\n }\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n this._updateComponentElement((\r\n `
    ` +\r\n `
    ` +\r\n `
    ` +\r\n `
      ` +\r\n '
      ' +\r\n '
      ' +\r\n '
      '\r\n ));\r\n }\r\n\r\n render() {\r\n super.render();\r\n Tooltip.initData(this._componentElement);\r\n }\r\n}\r\n\r\nclass Panel extends Container {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._contentAreaId = `${this._id}-tools-list`;\r\n this._image = this._getConfigParam('image', '');\r\n this._title = this._getConfigParam('title', '');\r\n }\r\n\r\n _initComponentElement() {\r\n const attributes = { class: 'tools-item' };\r\n const forcedId = this._getConfigParam('id', null);\r\n if (forcedId) {\r\n attributes.id = forcedId;\r\n }\r\n\r\n this._componentElement = createHtmlElement('li', attributes);\r\n render(\r\n this._componentElement,\r\n createElement('div', { class: 'tool-block' },\r\n createElement('span', { class: 'tool-icon' }, createElement('img', { src: this._image })),\r\n createElement('span', { class: 'tool-name' }, this._title),\r\n createElement('ul', { id: `${this._id}-tools-list`, class: 'tool-info' }),\r\n ),\r\n );\r\n }\r\n}\r\n\r\nclass Item extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._handler = this._getConfigParam('handler', false);\r\n if (typeof this._handler === 'string') {\r\n // eslint-disable-next-line no-eval\r\n eval(`this._handler = ${this._handler}`);\r\n }\r\n this._href = this._getConfigParam('href', '#');\r\n this._target = this._getConfigParam('target', null);\r\n this._title = this._getConfigParam('title', '');\r\n this._disabled = this._getConfigParam('disabled', false);\r\n this._attention = this._getConfigParam('attention', false);\r\n }\r\n\r\n _initComponentElement() {\r\n const href = this._disabled ? '#' : this._href;\r\n\r\n let title = escapeHtml(this._title);\r\n if (this._attention) {\r\n title = createHtmlElement('span', {\r\n class: 'hint-attention',\r\n });\r\n title.innerHTML = title;\r\n }\r\n\r\n this._componentElement = createHtmlElement('li', {\r\n id: this._getConfigParam('id', null),\r\n })\r\n .update(createHtmlElement('a', {\r\n href,\r\n target: this._target,\r\n }).update(title));\r\n\r\n if (this._handler && !this._disabled) {\r\n const handler = this._handler;\r\n this._componentElement.querySelector('a').addEventListener('click', e => {\r\n e.preventDefault();\r\n handler.call(this, e);\r\n });\r\n }\r\n }\r\n\r\n _addTooltips() {\r\n const description = this._getConfigParam('description');\r\n if (description) {\r\n this._tooltip = Tooltip.init(this._componentElement.querySelector('a'), { text: description });\r\n }\r\n }\r\n}\r\n\r\nclass Button extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._handler = this._getConfigParam('handler', false);\r\n if (typeof this._handler === 'string') {\r\n // eslint-disable-next-line no-eval\r\n eval(`this._handler = ${this._handler}`);\r\n }\r\n this._href = this._getConfigParam('href', '#');\r\n this._target = this._getConfigParam('target', null);\r\n this._image = this._getConfigParam('image', '');\r\n this._disabledImage = this._getConfigParam('disabledImage', this._image);\r\n this._title = this._getConfigParam('title', '');\r\n this._description = this._getConfigParam('description', '');\r\n this._disabled = this._getConfigParam('disabled', false);\r\n }\r\n\r\n _initComponentElement() {\r\n const attributes = { class: 'tools-item' };\r\n const forcedId = this._getConfigParam('id', null);\r\n if (forcedId) {\r\n attributes.id = forcedId;\r\n }\r\n\r\n this._componentElement = createHtmlElement('li', attributes);\r\n\r\n let href;\r\n let image;\r\n let cls = 'tool-block';\r\n\r\n if (this._disabled) {\r\n cls += ' tool-block-disabled';\r\n href = '#';\r\n image = this.getImagePath(this._disabledImage);\r\n } else {\r\n href = this._href;\r\n image = this.getImagePath(this._image);\r\n }\r\n render(this._componentElement,\r\n createElement(\r\n 'a',\r\n {\r\n class: cls,\r\n target: this._target,\r\n href,\r\n },\r\n (\r\n '' +\r\n `` +\r\n '' +\r\n `${escapeHtml(this._title)}` +\r\n `${escapeHtml(this._description)}`\r\n ),\r\n ),\r\n );\r\n\r\n if (this._handler && !this._disabled) {\r\n this._componentElement.addEventListener('click', this._handler);\r\n }\r\n }\r\n\r\n _addTooltips() {\r\n // don't show tooltips, 'cause we've inline descriptions\r\n }\r\n\r\n getImagePath(path) {\r\n return `${Jsw.skinUrl}/${path}`;\r\n }\r\n}\r\n\r\nexport const toollist = { Panel, Item, Button };\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/* eslint-disable react/require-render-return */\r\n\r\nimport { Component } from './component';\r\nimport createComponent from './createComponent';\r\nimport render from './render';\r\n\r\nexport class Container extends Component {\r\n /**\r\n * @cfg {Array} items\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._contentAreaId = this._id;\r\n\r\n this._initItems();\r\n }\r\n\r\n _initItems(items) {\r\n items = items || this._getConfigParam('items') || [];\r\n\r\n this._items = items.filter(function (item) {\r\n return !!item;\r\n }).map(createComponent);\r\n }\r\n\r\n _renderItems() {\r\n this._items.forEach(this._renderItem, this);\r\n }\r\n\r\n _renderItem(item) {\r\n render(document.getElementById(this._contentAreaId), item);\r\n }\r\n\r\n getItems() {\r\n return this._items;\r\n }\r\n\r\n getItem(id) {\r\n return this.getItems().find(item => item.getId() === id);\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n this._renderItems();\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport prepareUrl from './prepareUrl';\r\nimport addUrlParams from './addUrlParams';\r\nimport render from './render';\r\nimport createElement from './createElement';\r\nimport { createHtmlElement } from 'helpers/createHtmlElement';\r\n/**\r\n * Submit form.\r\n * @param {Element|String} element Form element or form child element or it id.\r\n * @param {Boolean} [noRedirect]\r\n * @member Jsw\r\n */\r\nexport const submit = (element, noRedirect) => {\r\n const form = (typeof element === 'string' ? document.getElementById(element) : element).closest('form');\r\n form.noRedirect = noRedirect;\r\n form.submit();\r\n};\r\n\r\nconst isJavascriptProtocol = url => {\r\n try {\r\n return new URL(url).protocol === 'javascript:';\r\n } catch {\r\n // seems like a relative url;\r\n return false;\r\n }\r\n};\r\n\r\n/**\r\n * Go to url with get method.\r\n * @param {String|Object} action\r\n * @param {Object} [data]\r\n * @param {String} [target]\r\n * @member Jsw\r\n */\r\nexport const redirect = (action, data, target) => {\r\n let url = action;\r\n let method = 'get';\r\n if (Object.prototype.toString.call(action) === '[object Object]') {\r\n /* eslint-disable prefer-destructuring */\r\n method = action.method || method;\r\n data = action.data;\r\n target = action.target;\r\n url = action.url;\r\n /* eslint-enable prefer-destructuring */\r\n }\r\n if (isJavascriptProtocol(url)) {\r\n throw new Error(`The redirect to this url can not be performed: ${url}`);\r\n }\r\n url = prepareUrl(url);\r\n method = method.toLowerCase();\r\n if ('post' === method || (data && Object.keys(data).length) || target) {\r\n FormRedirect.redirect(url, method, data, target);\r\n } else {\r\n window.location.assign(url);\r\n }\r\n};\r\n\r\n/**\r\n * Go to url with post method.\r\n * @param {String} action\r\n * @param {Object} [data]\r\n * @param {String} [target]\r\n * @member Jsw\r\n */\r\nexport const redirectPost = (action, data, target) => {\r\n FormRedirect.redirect(prepareUrl(action), 'post', data, target);\r\n};\r\n\r\n/**\r\n * @class FormRedirect\r\n * @singleton\r\n */\r\nexport const FormRedirect = {\r\n /**\r\n * @param {String} action\r\n * @param {String} method\r\n * @param {Object} [data]\r\n * @param {String} [target]\r\n */\r\n redirect(action, method, data, target) {\r\n render(\r\n document.body,\r\n createElement(\r\n 'form',\r\n {\r\n method,\r\n target,\r\n // workaround for http://code.google.com/p/chromium/issues/detail?id=10671\r\n action: addUrlParams(action, `_randomId=${Math.floor(1000000 * Math.random())}`),\r\n onrender(form) {\r\n setTimeout(() => {\r\n form.submit();\r\n }, 0);\r\n },\r\n },\r\n data ? FormRedirect.subToElements(data) : null,\r\n document.getElementById('forgery_protection_token') ? createElement('input', {\r\n type: 'hidden',\r\n name: 'forgery_protection_token',\r\n value: document.getElementById('forgery_protection_token').content,\r\n }) : null,\r\n ),\r\n );\r\n },\r\n\r\n /**\r\n * @param {String} value\r\n * @param {String} prefix\r\n * @returns {Element[]}\r\n */\r\n stringToElements(value, prefix) {\r\n return [createHtmlElement('input', {\r\n type: 'hidden',\r\n name: prefix,\r\n value,\r\n })];\r\n },\r\n\r\n /**\r\n * @param {Boolean} value\r\n * @param {String} prefix\r\n * @returns {Element[]}\r\n */\r\n booleanToElements(value, prefix) {\r\n return [createHtmlElement('input', {\r\n type: 'hidden',\r\n name: prefix,\r\n value: value ? 1 : 0,\r\n })];\r\n },\r\n\r\n /**\r\n * @param {Array} data\r\n * @param {String} prefix\r\n * @returns {Element[]}\r\n */\r\n arrayToElements(data, prefix) {\r\n let elements = [];\r\n data.forEach(function (item) {\r\n elements = elements.concat(FormRedirect.subToElements(item, '', prefix));\r\n });\r\n return elements;\r\n },\r\n\r\n /**\r\n * @param {Object} data\r\n * @param {String} prefix\r\n * @returns {Element[]}\r\n */\r\n hashToElements(data, prefix) {\r\n let elements = [];\r\n $H(data).each(function (pair) {\r\n elements = elements.concat(FormRedirect.subToElements(pair.value, pair.key, prefix));\r\n });\r\n return elements;\r\n },\r\n\r\n /**\r\n * @param {String} value\r\n * @param {String} key\r\n * @param {String} prefix\r\n * @returns {Element[]}\r\n */\r\n subToElements(value, key, prefix) {\r\n let elements = [];\r\n const name = prefix\r\n ? `${prefix}[${key}]`\r\n : key;\r\n if (typeof value === 'string' || typeof value === 'number') {\r\n elements = elements.concat(FormRedirect.stringToElements(value, name));\r\n } else if ('boolean' === typeof value) {\r\n elements = elements.concat(FormRedirect.booleanToElements(value, name));\r\n } else if (Array.isArray(value)) {\r\n elements = elements.concat(FormRedirect.arrayToElements(value, name));\r\n } else if ('function' !== typeof value) {\r\n elements = elements.concat(FormRedirect.hashToElements(value, name));\r\n }\r\n return elements;\r\n },\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\n\r\nexport class DisplayField extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n cls: 'form-row',\r\n ...config,\r\n });\r\n this._valueRenderer = this._getConfigParam('valueRenderer', null);\r\n }\r\n\r\n renderHint() {\r\n const hint = this._getConfigParam('hint');\r\n\r\n if (!hint) {\r\n return '';\r\n }\r\n\r\n return `${hint}`;\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n let values = ('function' === typeof this._valueRenderer)\r\n ? this._valueRenderer()\r\n : this._getConfigParam('value', '');\r\n\r\n values = (typeof values === 'string') ? [values] : values;\r\n\r\n let valuesElements = '';\r\n values.forEach(value => {\r\n valuesElements += `
      ${value}
      `;\r\n });\r\n\r\n if (this._getConfigParam('singleRow', false)) {\r\n if (1 === values.length) {\r\n valuesElements = values.valueOf();\r\n }\r\n this._componentElement.innerHTML = `
      ${valuesElements}
      `;\r\n } else {\r\n this._componentElement.innerHTML = (\r\n `
      ${this._getConfigParam('fieldLabel', '')}${this.renderHint()}
      ` +\r\n `
      ${valuesElements}
      `\r\n );\r\n }\r\n }\r\n}\r\n\r\nexport class Values {\r\n /**\r\n * @cfg {String} selector CSS selector\r\n */\r\n\r\n constructor(config) {\r\n this.selector = config.selector;\r\n this.formValues = {};\r\n document.querySelectorAll(this.selector).forEach(input => {\r\n this.formValues[this.getStorageName(input)] = input.value;\r\n });\r\n }\r\n\r\n /**\r\n * @returns {Boolean}\r\n */\r\n isChanged() {\r\n let changed = false;\r\n document.querySelectorAll(this.selector).forEach(input => {\r\n if (this.formValues[this.getStorageName(input)] != input.value) {\r\n changed = true;\r\n }\r\n });\r\n return changed;\r\n }\r\n\r\n getStorageName(input) {\r\n return `${input.getAttribute('type')}/${input.getAttribute('name')}`;\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component, getComponent } from './component';\r\nimport { redirect, redirectPost } from './form-redirect';\r\nimport Observer from './Observer';\r\nimport addStatusMessage from './addStatusMessage';\r\nimport clearStatusMessages from './clearStatusMessages';\r\nimport showInternalError from './showInternalError';\r\nimport render from './render';\r\nimport escapeHtml from './escapeHtml';\r\n\r\nexport class FormAjax extends Component {\r\n _initConfiguration(config) {\r\n this._actionButtonTitle = '';\r\n\r\n super._initConfiguration(config);\r\n this._sendButtonId = this._getConfigParam('sendButtonId', 'btn-send');\r\n this._applyButtonId = this._getConfigParam('applyButtonId', 'btn-apply');\r\n this._cancelButtonId = this._getConfigParam('cancelButtonId', 'btn-cancel');\r\n this._confirmationCheckboxId = this._getConfigParam('confirmationCheckboxId', 'formNeedAttention-attentionConfirmed');\r\n this._submitHandler = this._getConfigParam('submitHandler', () => true);\r\n }\r\n\r\n disable() {\r\n [this._sendButtonId, this._applyButtonId, this._cancelButtonId].forEach(buttonId => {\r\n this._toggleButton(buttonId, true);\r\n });\r\n\r\n this._toggleCheckbox(this._confirmationCheckboxId, true);\r\n\r\n const actionButton = this._getActionButton();\r\n if (actionButton) {\r\n this._actionButtonTitle = actionButton.innerHTML;\r\n actionButton.innerHTML = `${this._config.waitButtonTitle}`;\r\n }\r\n }\r\n\r\n enable() {\r\n [this._sendButtonId, this._applyButtonId, this._cancelButtonId].forEach(buttonId => {\r\n this._toggleButton(buttonId, false);\r\n });\r\n\r\n this._toggleCheckbox(this._confirmationCheckboxId, false);\r\n\r\n const actionButton = this._getActionButton();\r\n if (actionButton) {\r\n actionButton.innerHTML = this._actionButtonTitle;\r\n }\r\n }\r\n\r\n _toggleButton(buttonId, disable) {\r\n const button = getComponent(buttonId);\r\n if (button) {\r\n button[disable ? 'disable' : 'enable']();\r\n }\r\n }\r\n\r\n _toggleCheckbox(checkboxId, disable) {\r\n const checkbox = document.getElementById(checkboxId);\r\n if (checkbox) {\r\n checkbox.disabled = disable;\r\n }\r\n }\r\n\r\n _getActionButton() {\r\n return document.getElementById(this._componentElement.noRedirect ? this._applyButtonId : this._sendButtonId);\r\n }\r\n\r\n _initComponentElement() {\r\n this._componentElement = document.getElementById(this._id);\r\n this._initDisablerOverlay();\r\n\r\n if (!this._componentElement.dataset?.noInitFocus) {\r\n const firstElement = this._componentElement.querySelector('input, select, textarea');\r\n\r\n if (firstElement) {\r\n try {\r\n firstElement.focus();\r\n } catch {}\r\n }\r\n }\r\n\r\n this._submitInProgress = false;\r\n\r\n const toggleButtons = disable => {\r\n [this._sendButtonId, this._applyButtonId].forEach(id => this._toggleButton(id, disable));\r\n };\r\n\r\n const confirmationCheckbox = document.getElementById(this._confirmationCheckboxId);\r\n if (confirmationCheckbox) {\r\n toggleButtons(!confirmationCheckbox.checked);\r\n confirmationCheckbox.addEventListener('click', e => {\r\n toggleButtons(!e.currentTarget.checked);\r\n });\r\n }\r\n }\r\n\r\n _addEvents() {\r\n this._componentElement._formSubmit = this._componentElement.submit;\r\n this._componentElement.submit = this._onSubmit.bind(this);\r\n this._componentElement.addEventListener('submit', this._onSubmitEvent.bind(this));\r\n this._addChoiceRadioButtonsOnClickEvent();\r\n }\r\n\r\n _addChoiceRadioButtonsOnClickEvent() {\r\n document.querySelectorAll('input[type=\"radio\"]').forEach(element => {\r\n if (!element.closest('div.choice-block')) {\r\n return;\r\n }\r\n element.addEventListener('click', function () {\r\n element.closest('div.choice-block').querySelectorAll('span').forEach(element => {\r\n element.classList.remove('selected');\r\n\r\n if ('0' === element.value) {\r\n element.classList.remove('no');\r\n }\r\n });\r\n\r\n element.closest('span').classList.add('selected');\r\n\r\n if ('0' === element.value) {\r\n element.closest('span').classList.add('no');\r\n }\r\n });\r\n });\r\n }\r\n\r\n _onSubmitEvent(event) {\r\n this._onSubmit();\r\n event.preventDefault();\r\n return false;\r\n }\r\n\r\n async _onSubmit() {\r\n if (!await this._submitHandler()) {\r\n return false;\r\n }\r\n\r\n if (this._submitInProgress) {\r\n return false;\r\n }\r\n this._submitInProgress = true;\r\n\r\n this._clearMessages();\r\n this.disable();\r\n\r\n if (this._componentElement.enctype === 'multipart/form-data') {\r\n this._componentElement._formSubmit();\r\n return true;\r\n }\r\n\r\n let actionUrl = this._componentElement.getAttribute('action');\r\n\r\n if (!actionUrl) {\r\n actionUrl = document.location.href;\r\n }\r\n\r\n // remove hash symbol (and the following) cause this will encoded and lead to problems\r\n actionUrl = actionUrl.replace(/#.*$/, '');\r\n\r\n const params = Form.serialize(this._componentElement);\r\n new Ajax.Request(actionUrl, {\r\n method: 'post',\r\n parameters: params,\r\n onSuccess: this._onSuccess.bind(this),\r\n onFailure: this._onFailure.bind(this),\r\n });\r\n return true;\r\n }\r\n\r\n _onFailure(req) {\r\n this._submitInProgress = false;\r\n this._clearMessages();\r\n\r\n if (504 === req.status) {\r\n addStatusMessage('error', this._config.timeoutMessage);\r\n } else {\r\n showInternalError(req.responseText);\r\n }\r\n\r\n this.enable();\r\n }\r\n\r\n _onSuccess(req) {\r\n this._submitInProgress = false;\r\n clearStatusMessages();\r\n\r\n try {\r\n const response = JSON.parse(req.responseText);\r\n this._processForm(response);\r\n } catch {\r\n this._clearMessages();\r\n this.enable();\r\n\r\n // show error, if request wasn't aborted by user\r\n if (0 != req.status) {\r\n showInternalError(req.responseText);\r\n }\r\n }\r\n }\r\n\r\n _processForm(response) {\r\n if (response.componentType === 'Jsw.Task.ProgressBar.Item') {\r\n getComponent('asyncProgressBarWrapper').progressDialog(response);\r\n Observer.append(task => {\r\n if (task.id === response.id) {\r\n this.enable();\r\n }\r\n }, 'plesk:taskComplete');\r\n return;\r\n }\r\n\r\n if (response.redirect) {\r\n this._processResponseRedirect(response);\r\n return;\r\n }\r\n\r\n this._clearMessages();\r\n this._processResponseStatus(response.status);\r\n this._processResponseStatusMessages(response.statusMessages);\r\n this._processResponseFormMessages(response.formMessages);\r\n\r\n if (this._hasFieldErrors) {\r\n this._showFieldErrorArea();\r\n }\r\n this.enable();\r\n }\r\n\r\n _showFieldErrorArea() {\r\n const errorsElements = this._componentElement.querySelectorAll('.field-errors');\r\n let firstError = null;\r\n\r\n errorsElements.forEach(errorElement => {\r\n if (errorElement.style.display !== 'none') {\r\n firstError = errorElement;\r\n }\r\n });\r\n\r\n let hiddenContainerId = null;\r\n\r\n let element = firstError;\r\n while ((element = element.parentNode) && element.nodeType === Node.ELEMENT_NODE) {\r\n if (element.style.display === 'none') {\r\n hiddenContainerId = element.id;\r\n }\r\n }\r\n\r\n if (!hiddenContainerId) {\r\n return;\r\n }\r\n\r\n // in case of tabbed form we must switch to corresponding tab\r\n const tabsBar = getComponent('form-tab-buttons');\r\n\r\n if (tabsBar) {\r\n tabsBar.switchTab(hiddenContainerId);\r\n }\r\n }\r\n\r\n _processResponseStatus(status) {\r\n if ('success' !== status) {\r\n this._hasErrors = true;\r\n }\r\n }\r\n\r\n _clearMessages() {\r\n // clear field messages\r\n try {\r\n this._componentElement.querySelectorAll('.field-errors').forEach(errors => {\r\n errors.style.display = 'none';\r\n const rowElement = errors.closest('.form-row');\r\n if (rowElement) {\r\n rowElement.classList.remove('error');\r\n }\r\n errors.querySelectorAll('.error-hint').forEach(error => {\r\n error.parentNode.removeChild(error);\r\n });\r\n });\r\n } catch {\r\n }\r\n\r\n this._hasErrors = false;\r\n this._hasFieldErrors = false;\r\n }\r\n\r\n _processResponseStatusMessages(messages) {\r\n (messages || []).forEach(({ status, content, title }) => {\r\n this._addFormMessage(status, content, title);\r\n });\r\n }\r\n\r\n _processResponseFormMessages(messages) {\r\n this._processFieldMessages(messages, []);\r\n }\r\n\r\n _addFieldMessage(errors, message) {\r\n errors.closest('.form-row').classList.add('error');\r\n render(errors, `${escapeHtml(message)}`);\r\n errors.style.display = '';\r\n }\r\n\r\n _processFieldMessage(prefix, name, message) {\r\n let fieldErrors;\r\n const formElement = this._componentElement.querySelector(`#${prefix.join('-')}`);\r\n fieldErrors = formElement ? formElement.parentNode.querySelector('.field-errors') : null;\r\n if (!fieldErrors) {\r\n fieldErrors = formElement ? formElement.closest('.form-row').querySelector('.field-errors') : null;\r\n }\r\n if (!fieldErrors) {\r\n fieldErrors = this._componentElement.querySelector(`#${prefix.join('-')}-form-row`).querySelectorAll('.field-errors');\r\n fieldErrors = fieldErrors[fieldErrors.length - 1];\r\n }\r\n this._addFieldMessage(fieldErrors, message);\r\n this._hasFieldErrors = true;\r\n }\r\n\r\n _processFieldMessages(messages, prefix) {\r\n if (Array.isArray(messages)) {\r\n messages.forEach(message => {\r\n if (typeof message === 'string') {\r\n this._processFieldMessage(prefix, 'error', message);\r\n } else {\r\n prefix.push(name);\r\n this._processFieldMessages(message, prefix);\r\n prefix.pop();\r\n }\r\n });\r\n } else {\r\n $H(messages).each(({ key, value }) => {\r\n if (typeof value === 'string') {\r\n this._processFieldMessage(prefix, key, value);\r\n } else {\r\n prefix.push(key);\r\n this._processFieldMessages(value, prefix);\r\n prefix.pop();\r\n }\r\n });\r\n }\r\n }\r\n\r\n _addFormMessage(type, message, title) {\r\n addStatusMessage(type, message, { title });\r\n }\r\n\r\n _processResponseRedirect(response) {\r\n if (this._componentElement.noRedirect) {\r\n document.location.reload();\r\n } else if (response.postData) {\r\n redirectPost(response.redirect, response.postData, response.target);\r\n } else {\r\n redirect(response.redirect, null, response.target);\r\n }\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Container } from './container';\r\nimport render from './render';\r\n\r\nexport class ListContainer extends Container {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n tag: 'ul',\r\n ...config,\r\n });\r\n }\r\n\r\n _renderItem(item) {\r\n let renderTargetId = null;\r\n const isEmptyItem = Array.isArray(item) && !item.length;\r\n\r\n if (!isEmptyItem) {\r\n renderTargetId = `${this._id}-item-${item.getId()}`;\r\n }\r\n\r\n let cls = this._getConfigParam('itemClass', '');\r\n\r\n if (this._getConfigParam('renderLastItemClass', '') && this._items[this._items.length - 1] === item) {\r\n cls = 'last';\r\n }\r\n\r\n if (isEmptyItem) {\r\n cls += ` ${this._getConfigParam('emptyItemClass', '')}`;\r\n }\r\n\r\n if (cls) {\r\n cls = ` class=\"${cls}\"`;\r\n }\r\n\r\n render(document.getElementById(this._contentAreaId), `
    • `);\r\n\r\n if (!isEmptyItem) {\r\n render(document.getElementById(renderTargetId), item);\r\n }\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Container } from './container';\r\nimport render from './render';\r\n\r\nexport class TwoColumns extends Container {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n cls: 'two-cols-block clearfix',\r\n ...config,\r\n });\r\n this._columnCls = 'first-col';\r\n }\r\n\r\n _initComponentElement() {\r\n this._componentElement = document.createElement('div');\r\n this._componentElement.className = this._cls;\r\n this._componentElement.innerHTML = (\r\n `
      `\r\n );\r\n }\r\n\r\n _renderItem(item) {\r\n const renderTargetId = `${this._id}-item-${item.getId()}`;\r\n render(\r\n document.getElementById(this._contentAreaId),\r\n `
      `,\r\n );\r\n render(document.getElementById(renderTargetId), item);\r\n\r\n this._columnCls = 'second-col';\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/**\r\n * Utility class for setting/reading values from browser cookies.\r\n * Values can be written using the {@link #set} or {@link #setPermanent} method.\r\n * Values can be read using the {@link #get} method.\r\n * A cookie can be invalidated on the client machine using the {@link #remove} method.\r\n */\r\nexport default {\r\n /**\r\n * Retrieves cookies that are accessible by the current page. If a cookie does not exist, `get()` returns null.\r\n * @param {String} name The name of the cookie to get\r\n * @returns {String|null} Returns the cookie value for the specified name; null if the cookie name does not exist.\r\n */\r\n get(name) {\r\n const cookies = document.cookie.split('; ');\r\n for (let i = 0; i < cookies.length; i++) {\r\n const crumbs = cookies[i].split('=');\r\n if (name === crumbs[0]) {\r\n return unescape(crumbs[1]);\r\n }\r\n }\r\n return null;\r\n },\r\n\r\n /**\r\n * Creates a cookie with the specified name and value.\r\n * @param {String} name The name of the cookie to set.\r\n * @param {String} value The value to set for the cookie.\r\n * @param {String} [expires] Specify an expiration date the cookie is to persist until.\r\n * @param {String} [path] Setting a path on the cookie restricts access to pages that match that path.\r\n */\r\n set(name, value, expires, path) {\r\n let cookie = `${name}=${escape(value)}; `;\r\n\r\n if (expires) {\r\n cookie += `expires=${expires}; `;\r\n }\r\n\r\n if (path) {\r\n cookie += `path=${path}; `;\r\n }\r\n\r\n if (window.location.protocol === 'https:') {\r\n cookie += 'secure; ';\r\n }\r\n\r\n document.cookie = cookie;\r\n },\r\n\r\n /**\r\n * Creates a permanent cookie with the specified name and value.\r\n * @param {String} name The name of the cookie to set.\r\n * @param {String} value The value to set for the cookie.\r\n * @param {String} [path] Setting a path on the cookie restricts access to pages that match that path.\r\n */\r\n setPermanent(name, value, path) {\r\n const date = new Date();\r\n date.setTime(date.getTime() + (365 * 24 * 60 * 60 * 1000));\r\n const expires = date.toGMTString();\r\n this.set(name, value, expires, path);\r\n },\r\n\r\n /**\r\n * Removes a cookie with the provided name from the browser by setting its expiration date to sometime in the past.\r\n * @param {String} name\r\n * @param {String} [path]\r\n */\r\n remove(name, path) {\r\n this.set(name, '', 'Fri, 31 Dec 1999 23:59:59 GMT', path);\r\n },\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Container } from './container';\r\nimport Cookie from 'common/cookie';\r\nimport createComponent from './createComponent';\r\nimport render from './render';\r\n\r\n/**\r\n * Example usage:\r\n *\r\n * @example\r\n * new Panel({\r\n * renderTo: document.body,\r\n * title: 'Panel title',\r\n * items: [\r\n * new Box({\r\n * html: 'Panel content'\r\n * }),\r\n * ],\r\n * });\r\n */\r\nexport class Panel extends Container {\r\n /**\r\n * @cfg {String} title\r\n */\r\n /**\r\n * @cfg {String} titleClass\r\n */\r\n /**\r\n * @cfg {Boolean} hideContentTitle\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._title = this._getConfigParam('title', '');\r\n this._titleClass = this._getConfigParam('titleClass', '');\r\n this._hideContentTitle = this._getConfigParam('hideContentTitle', this._title);\r\n this._titleAreaId = `${this._id}-title-area`;\r\n this._contentAreaId = `${this._id}-content-area`;\r\n this._boxItemsAreaId = `${this._id}-box-area`;\r\n this._initBoxItems();\r\n }\r\n\r\n _initBoxItems() {\r\n this._boxItems = this._getConfigParam('boxItems', null);\r\n\r\n if (null !== this._boxItems) {\r\n this._boxItems = this._boxItems.map(createComponent);\r\n }\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._updateComponentElement((\r\n `
      ${this._getTitleHtml()}${this._getSubTitleHtml()}` +\r\n `
      ` +\r\n '
      ' +\r\n '
      ' +\r\n `
      ${this._getConfigParam('html', '')}
      ` +\r\n '
      ' +\r\n '
      ' +\r\n '
      '\r\n ));\r\n }\r\n\r\n _getTitleHtml() {\r\n return this._title\r\n ? `
      ` +\r\n `
      ${\r\n ('-' === this._title) ? '' : `

      ${this._title}

      `\r\n }
      ` +\r\n '
      '\r\n : '';\r\n }\r\n\r\n _getSubTitleHtml() {\r\n return '';\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n this._renderBoxItems();\r\n }\r\n\r\n _renderBoxItems() {\r\n if (null !== this._boxItems) {\r\n this._boxItems.forEach(function (item) {\r\n this._renderBoxItem(item);\r\n }, this);\r\n }\r\n }\r\n\r\n _renderBoxItem(item) {\r\n render(document.getElementById(this._boxItemsAreaId), item);\r\n }\r\n\r\n _isHidden() {\r\n const rememberedStatus = Cookie.get(`${this._id}-hidden`);\r\n if (this._idIsRandom || null === rememberedStatus) {\r\n return this._getConfigParam('collapsed', false);\r\n }\r\n return 1 == rememberedStatus;\r\n }\r\n\r\n _setHidden(hidden) {\r\n if (this._getConfigParam('collapsed', false) == hidden) {\r\n Cookie.remove(`${this._id}-hidden`);\r\n } else {\r\n Cookie.set(`${this._id}-hidden`, hidden ? 1 : 0);\r\n }\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n if (this._isHidden()) {\r\n this.hideContent();\r\n } else {\r\n this.showContent();\r\n }\r\n this._componentElement.querySelectorAll(`#${this._titleAreaId}`).forEach(titleAreaElement => {\r\n titleAreaElement.addEventListener('click', () => {\r\n this.toggleContent();\r\n });\r\n });\r\n }\r\n\r\n _updateTitle(title) {\r\n if (title && ('-' !== title)) {\r\n this._componentElement.querySelector('div.title-area > h3 > span').innerHTML = title;\r\n }\r\n }\r\n\r\n showContent() {\r\n this._componentElement.classList.remove('hide');\r\n this._updateTitle(this._hideContentTitle);\r\n if (!this._idIsRandom) {\r\n this._setHidden(false);\r\n }\r\n }\r\n\r\n hideContent() {\r\n this._componentElement.classList.add('hide');\r\n this._updateTitle(this._title);\r\n if (!this._idIsRandom) {\r\n this._setHidden(true);\r\n }\r\n }\r\n\r\n toggleContent() {\r\n this._componentElement.classList.contains('hide')\r\n ? this.showContent()\r\n : this.hideContent();\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { ModalDialogBox } from './modal-dialog-box';\r\nimport showInternalError from './showInternalError';\r\nimport ce from './createElement';\r\nimport prepareUrl from './prepareUrl';\r\nimport escapeHtml from './escapeHtml';\r\nimport Locale from './Locale';\r\n\r\nimport './message-box.less';\r\n\r\nconst factory = (config = {}) => {\r\n if (config.isWebspace) {\r\n return new WebspaceFoldersMessageBox(config);\r\n }\r\n\r\n if (config.isAjax) {\r\n return new MultiCheckboxMessageWindow(config);\r\n }\r\n\r\n return new MessageBox(config);\r\n};\r\n\r\nconst TYPE_OK = 'TYPE_OK';\r\nconst TYPE_YESNO = 'TYPE_YESNO';\r\nconst SUBTYPE_DELETE = 'delete';\r\nconst SUBTYPE_TOGGLE = 'toggle';\r\nconst SUBTYPE_CONFIRM = 'confirm';\r\n\r\n/**\r\n * @class messageBox\r\n * @singleton\r\n */\r\nexport const messageBox = {\r\n TYPE_OK,\r\n TYPE_YESNO,\r\n SUBTYPE_DELETE,\r\n SUBTYPE_TOGGLE,\r\n SUBTYPE_CONFIRM,\r\n\r\n /**\r\n * Show message box.\r\n * @param {Object} config\r\n */\r\n show(config) {\r\n const messageBox = factory(config);\r\n messageBox.show();\r\n return messageBox;\r\n },\r\n};\r\n\r\nexport class MessageBox extends ModalDialogBox {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._cls = 'popup-panel popup-panel-sm popup-panel-centered confirmation-box';\r\n this._type = this._getConfigParam('type', TYPE_YESNO);\r\n this._text = this._getConfigParam('text', '');\r\n this._subtype = this._getConfigParam('subtype', null);\r\n this._description = this._getConfigParam('description', '');\r\n this._descriptionWrapperTag = this._getConfigParam('descriptionWrapperTag', 'p');\r\n this._descriptionDecorator = this._getConfigParam('descriptionDecorator', content => content);\r\n this._buttonDefault = this._getConfigParam('buttonDefault', this._type === TYPE_YESNO ? 'no' : 'yes');\r\n\r\n const buttonsLocale = Locale.getSection('components.buttons');\r\n this._buttonTitles = {\r\n ok: buttonsLocale.lmsg('ok'),\r\n yes: buttonsLocale.lmsg(this._subtype === SUBTYPE_DELETE ? 'yesRemove' : 'yes'),\r\n no: buttonsLocale.lmsg('no'),\r\n wait: buttonsLocale.lmsg('wait'),\r\n ...this._getConfigParam('buttonTitles'),\r\n };\r\n\r\n this._onYesClick = this._getConfigParam('onYesClick', null);\r\n this._onNoClick = this._getConfigParam('onNoClick', null);\r\n this._onOkClick = this._getConfigParam('onOkClick', null);\r\n this._needAttention = this._getConfigParam('needAttention', false);\r\n this._needAttentionText = this._getConfigParam('needAttentionText', '');\r\n this._needAttentionBlockSubmit = this._getConfigParam('needAttentionBlockSubmit', false);\r\n this._needAttentionOnChange = this._getConfigParam('needAttentionOnChange', null);\r\n\r\n if (TYPE_YESNO === this._type) {\r\n if (this._onYesClick) {\r\n this._onYesClickHandler = this._onYesClick.bind(this);\r\n } else {\r\n this._onYesClickHandler = this._defaultOnButtonClick.bind(this);\r\n }\r\n }\r\n }\r\n\r\n _getDescriptionCode() {\r\n const wrapDescription = description => `<${this._descriptionWrapperTag}>${description}`;\r\n\r\n if (Array.isArray(this._description)) {\r\n return this._description.map(wrapDescription).join('');\r\n }\r\n\r\n return this._descriptionDecorator(wrapDescription(this._description));\r\n }\r\n\r\n _getNeedAttentionCode() {\r\n if (!this._needAttention) {\r\n return '';\r\n }\r\n\r\n let needAttentionCode = '
      ';\r\n if (this._needAttentionBlockSubmit || this._needAttentionOnChange) {\r\n needAttentionCode += (\r\n '

      ' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n `` +\r\n '' +\r\n '

      '\r\n );\r\n } else {\r\n needAttentionCode += `

      ${this._needAttentionText}

      `;\r\n }\r\n needAttentionCode += '
      ';\r\n\r\n return needAttentionCode;\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._updateComponentElement(\r\n ce('div.popup-wrapper',\r\n ce('div.popup-container',\r\n ce('div.popup-content',\r\n ce('div.popup-content-area',\r\n ce(`div.confirmation-msg${this._subtype ? `.mw-${this._subtype}` : ''}`,\r\n this._text ? ce('p', this._text) : null,\r\n this._getDescriptionCode(),\r\n this._getNeedAttentionCode(),\r\n ce('div.btns-container',\r\n this._type === TYPE_YESNO ? [\r\n ce(`button.btn${this._subtype === SUBTYPE_DELETE ? '.btn-danger' : this._buttonDefault === 'yes' ? '.action' : ''}`, {\r\n type: 'button',\r\n 'data-action': 'yes',\r\n }, this._buttonTitles.yes),\r\n ce(`button.btn${this._subtype === SUBTYPE_DELETE ? '' : this._buttonDefault === 'no' ? '.action' : ''}`, {\r\n type: 'button',\r\n 'data-action': 'no',\r\n }, this._buttonTitles.no),\r\n ] : this._type === TYPE_OK ? [\r\n ce('button.btn.action', {\r\n type: 'button',\r\n 'data-action': 'yes',\r\n }, this._buttonTitles.ok),\r\n ] : null,\r\n ),\r\n ),\r\n ),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n this._componentElement.style.display = 'none';\r\n }\r\n\r\n _disableYesButton() {\r\n if (TYPE_YESNO === this._type) {\r\n const buttonYes = this._componentElement.querySelector('.btns-container .btn');\r\n buttonYes.classList.add('disabled');\r\n buttonYes.disabled = true;\r\n buttonYes.removeEventListener('click', this._onYesClickHandler);\r\n }\r\n }\r\n\r\n _enableYesButton() {\r\n if (TYPE_YESNO === this._type) {\r\n const buttonYes = this._componentElement.querySelector('.btns-container .btn');\r\n buttonYes.classList.remove('disabled');\r\n buttonYes.disabled = false;\r\n buttonYes.addEventListener('click', this._onYesClickHandler);\r\n }\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n\r\n const buttons = this._componentElement.querySelectorAll('button');\r\n\r\n // add default behavior - hide dialog\r\n buttons.forEach(button => {\r\n button.addEventListener('click', this._defaultOnButtonClick.bind(this));\r\n });\r\n\r\n if (TYPE_YESNO === this._type) {\r\n if (this._onYesClick) {\r\n const buttonYes = buttons[0];\r\n buttonYes.addEventListener('click', this._onYesClickHandler);\r\n }\r\n\r\n if (this._onNoClick) {\r\n const buttonNo = buttons[buttons.length - 1];\r\n buttonNo.addEventListener('click', event => {\r\n this._onNoClick(event);\r\n });\r\n }\r\n\r\n if (this._needAttention && this._needAttentionBlockSubmit) {\r\n const inputs = this._componentElement.querySelectorAll('input');\r\n const confirmationCheckbox = inputs[inputs.length - 1];\r\n confirmationCheckbox.addEventListener('click', () => {\r\n if (confirmationCheckbox.checked) {\r\n this._enableYesButton();\r\n } else {\r\n this._disableYesButton();\r\n }\r\n });\r\n }\r\n\r\n if (this._needAttention && this._needAttentionOnChange) {\r\n const inputs = this._componentElement.querySelectorAll('input');\r\n const confirmationCheckbox = inputs[inputs.length - 1];\r\n confirmationCheckbox.addEventListener('click', () => {\r\n this._needAttentionOnChange(confirmationCheckbox.checked);\r\n });\r\n }\r\n }\r\n\r\n if (TYPE_OK === this._type) {\r\n if (this._onOkClick) {\r\n const buttonOk = buttons[0];\r\n buttonOk.addEventListener('click', event => {\r\n this._onOkClick(event);\r\n });\r\n }\r\n }\r\n }\r\n\r\n _addTooltips() {\r\n // disable parent implementation\r\n }\r\n\r\n _defaultOnButtonClick() {\r\n this.hide();\r\n }\r\n\r\n show() {\r\n super.show();\r\n setTimeout(() => {\r\n this._componentElement.querySelector(`[data-action=\"${this._buttonDefault}\"]`)?.focus();\r\n });\r\n if (this._needAttention && this._needAttentionBlockSubmit) {\r\n this._disableYesButton();\r\n }\r\n }\r\n}\r\n\r\n// TODO PMT-4391: Plesk migrator is broken in Plesk 17.9.1 after cutting core's classes\r\nMessageBox.subclasses = [];\r\n\r\nexport class AjaxMessageBox extends MessageBox {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n this._requestUrl = this._getConfigParam('requestUrl', '');\r\n this._requestMethod = this._getConfigParam('requestMethod', 'post');\r\n this._requestParams = this._getConfigParam('requestParams', '');\r\n this._contentContainerId = this._getConfigParam('contentContainerId', `${this._id}contentContainer`);\r\n this._confirmationCheckboxId = this._getConfigParam('confirmationCheckboxId', `${this._id}confirmationCheckbox`);\r\n this._loadingTitle = this._getConfigParam('loadingTitle', '');\r\n this._progress = false;\r\n }\r\n\r\n _getNeedAttentionCode() {\r\n return `
      ${super._getNeedAttentionCode()}`;\r\n }\r\n\r\n _showSpinner() {\r\n if (TYPE_YESNO === this._type) {\r\n this._progress = true;\r\n this._componentElement.querySelector('button').innerHTML = `${this._buttonTitles.wait}`;\r\n }\r\n }\r\n\r\n _hideSpinner() {\r\n if (TYPE_YESNO === this._type) {\r\n this._progress = false;\r\n this._componentElement.querySelector('button').innerHTML = this._buttonTitles.yes;\r\n }\r\n }\r\n\r\n show() {\r\n super.show();\r\n if (!this._requestUrl || this._progress) {\r\n return;\r\n }\r\n\r\n new Ajax.Request(prepareUrl(this._requestUrl), {\r\n method: this._requestMethod,\r\n parameters: this._requestParams,\r\n onCreate: this._onCreate.bind(this),\r\n onSuccess: this._onSuccess.bind(this),\r\n onFailure: this._onFailure.bind(this),\r\n });\r\n }\r\n\r\n _onCreate() {\r\n this._disableYesButton();\r\n this._showSpinner();\r\n }\r\n\r\n _onSuccess() {\r\n this._hideSpinner();\r\n this._enableYesButton();\r\n }\r\n\r\n _onFailure() {\r\n this._hideSpinner();\r\n this._enableYesButton();\r\n }\r\n}\r\n\r\n// TODO PMT-4391: Plesk migrator is broken in Plesk 17.9.1 after cutting core's classes\r\nAjaxMessageBox.superclass = MessageBox;\r\n\r\nexport class MultiCheckboxMessageWindow extends AjaxMessageBox {\r\n _onSuccess(transport) {\r\n this._hideSpinner();\r\n\r\n const result = JSON.parse(transport.responseText);\r\n\r\n const { content } = result;\r\n let contentCode = '';\r\n if (Array.isArray(content)) {\r\n if (content.length > 0) {\r\n contentCode = '
        ';\r\n content.forEach(item => {\r\n contentCode += `
      • ${item}
      • `;\r\n });\r\n contentCode += '
      ';\r\n }\r\n } else {\r\n contentCode = content;\r\n }\r\n\r\n let descriptionCode = '';\r\n if (result.description) {\r\n descriptionCode = `

      ${result.description}

      `;\r\n }\r\n\r\n let confirmationCode = '';\r\n if (result.confirmation) {\r\n confirmationCode = (\r\n '

      ' +\r\n '' +\r\n `` +\r\n '' +\r\n `` +\r\n '

      '\r\n );\r\n }\r\n\r\n document.getElementById(this._contentContainerId).innerHTML = contentCode + descriptionCode + confirmationCode;\r\n\r\n const checkboxes = this._componentElement.querySelectorAll('input[type=\"checkbox\"]');\r\n checkboxes.forEach(checkbox => {\r\n checkbox.addEventListener('click', () => {\r\n let enableYesButton = true;\r\n this._componentElement.querySelectorAll('input[type=\"checkbox\"]').forEach(confirmationCheckbox => {\r\n if (!confirmationCheckbox.checked) {\r\n enableYesButton = false;\r\n }\r\n });\r\n if (enableYesButton) {\r\n this._enableYesButton();\r\n } else {\r\n this._disableYesButton();\r\n }\r\n });\r\n });\r\n\r\n if (!checkboxes.length) {\r\n this._enableYesButton();\r\n }\r\n }\r\n}\r\n\r\nexport class WebspaceFoldersMessageBox extends AjaxMessageBox {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n this._successDescription = this._getConfigParam('successDescription', '');\r\n this._failureDescription = this._getConfigParam('failureDescription', '');\r\n }\r\n\r\n show() {\r\n if (!this._progress) {\r\n this._setDescription([]);\r\n }\r\n super.show();\r\n }\r\n\r\n _setDescription(folders) {\r\n const list = folders.map(({ name }) => `
    • ${escapeHtml(name)}
    • `);\r\n const message = folders.length\r\n ? this._description.concat(' ').concat(this._successDescription).concat(`
        ${list.join('')}
      `)\r\n : this._description;\r\n document.getElementById(this._contentContainerId).innerHTML = message;\r\n }\r\n\r\n _onSuccess(transport) {\r\n this._hideSpinner();\r\n this._enableYesButton();\r\n try {\r\n this._setDescription(JSON.parse(transport.responseText).data);\r\n } catch {\r\n showInternalError(transport.responseText);\r\n }\r\n }\r\n\r\n _onFailure() {\r\n super._onFailure();\r\n document.getElementById(this._contentContainerId).innerHTML = `${this._description} ${this._failureDescription}`;\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\nimport render from './render';\r\nimport emptyFn from './emptyFn';\r\nimport { ESC } from './keyCode';\r\n\r\nimport './modal-dialog-box.less';\r\n\r\nexport class ModalDialogBox extends Component {\r\n constructor(config) {\r\n super(config);\r\n this._componentElement.querySelectorAll('[autofocus]').forEach(el => el.focus());\r\n }\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._screenDisablerId = this._getConfigParam('screenDisablerId', 'screenDisabler');\r\n this._hideOnEscape = this._getConfigParam('hideOnEscape', false);\r\n this._hideOnBgClick = this._getConfigParam('hideOnBgClick', true);\r\n this._onShow = this._getConfigParam('onShow', emptyFn);\r\n this._onHide = this._getConfigParam('onHide', emptyFn);\r\n\r\n if (!document.getElementById(this._screenDisablerId)) {\r\n ModalDialogBox.initScrollbarSpacer();\r\n render(\r\n document.body,\r\n `
      `,\r\n 'top',\r\n );\r\n }\r\n\r\n this._screenDisabler = document.getElementById(this._screenDisablerId);\r\n\r\n const renderTo = this._getConfigParam('renderTo', 'modalDialogBox');\r\n this._renderTarget = typeof renderTo === 'string' ? document.getElementById(renderTo) : renderTo;\r\n if (!this._renderTarget) {\r\n this._renderTarget = document.createElement('div');\r\n this._renderTarget.id = renderTo;\r\n }\r\n\r\n this._renderTarget.innerHTML = '';\r\n render(this._screenDisabler, this._renderTarget, 'after');\r\n this._onKeyDownhandler = this._onKeyDown.bind(this);\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n\r\n if (this._hideOnBgClick) {\r\n this._componentElement.addEventListener('click', () => {\r\n this.hide();\r\n });\r\n }\r\n\r\n const popupContainer = this._componentElement.querySelector('.popup-container');\r\n if (popupContainer) {\r\n popupContainer.addEventListener('click', event => {\r\n event.stopPropagation();\r\n });\r\n }\r\n\r\n this._onKeyDownhandler = this._onKeyDown.bind(this);\r\n }\r\n\r\n show() {\r\n super.show();\r\n document.querySelector('html').classList.add('modal-open');\r\n document.addEventListener('keydown', this._onKeyDownhandler);\r\n this._onShow();\r\n }\r\n\r\n hide() {\r\n super.hide();\r\n document.querySelector('html').classList.remove('modal-open');\r\n document.removeEventListener('keydown', this._onKeyDownhandler);\r\n this._onHide();\r\n }\r\n\r\n _onKeyDown(e) {\r\n switch (e.keyCode) {\r\n case (this._hideOnEscape && ESC):\r\n this.hide();\r\n break;\r\n }\r\n }\r\n}\r\n\r\nModalDialogBox.initScrollbarSpacer = () => {\r\n const scrollDiv = document.createElement('div');\r\n scrollDiv.style.width = '50px';\r\n scrollDiv.style.height = '50px';\r\n scrollDiv.style.overflow = 'scroll';\r\n scrollDiv.style.position = 'absolute';\r\n scrollDiv.style.top = '-9999px';\r\n document.body.appendChild(scrollDiv);\r\n\r\n const scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;\r\n document.body.removeChild(scrollDiv);\r\n\r\n const styleEl = document.createElement('style');\r\n document.head.appendChild(styleEl);\r\n styleEl.sheet.insertRule(`.modal-open, .modal-open .pul-layout__header-inner {padding-inline-end: ${scrollbarWidth}px}`, 0);\r\n styleEl.sheet.insertRule(`.modal-open .js-scrollbar-spacer {margin-right: ${scrollbarWidth}px}`, 1);\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport render from './render';\r\nimport { Component } from './component';\r\n\r\nexport class DropdownHeader extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n cls: 'dropdown-header',\r\n ...config,\r\n });\r\n this._title = this._getConfigParam('title', '');\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n render(this._componentElement, this._title);\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nlet dropdowns = [];\r\n\r\nconst closeAllDropdowns = event => {\r\n dropdowns.forEach(dropdown => {\r\n if (dropdown.isOpened(event)) {\r\n dropdown.close(event);\r\n }\r\n });\r\n};\r\n\r\n/**\r\n * @class DropdownManager\r\n * @singleton\r\n */\r\nexport const DropdownManager = {\r\n /**\r\n * Register dropdown component.\r\n * @param {Element} toggler\r\n * @param {Function} isOpened\r\n * @param {Function} open\r\n * @param {Function} close\r\n * @param {Function} [beforeClick]\r\n * @returns {Object}\r\n */\r\n register(toggler, isOpened, open, close, beforeClick) {\r\n const dropdown = {\r\n toggler,\r\n isOpened,\r\n open,\r\n close,\r\n handler(event) {\r\n if (beforeClick && !beforeClick(event)) {\r\n return;\r\n }\r\n event.stopPropagation();\r\n const oldIsOpened = isOpened(event);\r\n closeAllDropdowns(event);\r\n if (!oldIsOpened) {\r\n open(event);\r\n }\r\n },\r\n };\r\n\r\n dropdowns.push(dropdown);\r\n dropdown.toggler.addEventListener('click', dropdown.handler);\r\n\r\n if (dropdowns.length > 0) {\r\n document.body.addEventListener('click', closeAllDropdowns);\r\n }\r\n\r\n return dropdown;\r\n },\r\n\r\n /**\r\n * Un register dropdown component.\r\n * @param {Object} dropdown\r\n */\r\n unregister(dropdown) {\r\n dropdown.toggler.removeEventListener('click', dropdown.handler);\r\n dropdowns = dropdowns.filter(item => item !== dropdown);\r\n\r\n if (dropdowns.length === 0) {\r\n document.body.removeEventListener('click', closeAllDropdowns);\r\n }\r\n },\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Container } from './container';\r\nimport { Tooltip } from './tooltip';\r\nimport Filters from './list/Filters';\r\nimport createComponent from './createComponent';\r\nimport render from './render';\r\nimport createElement from './createElement';\r\nimport emptyFn from './emptyFn';\r\n\r\nimport './small-tools.less';\r\n\r\n/**\r\n * Example usage:\r\n *\r\n * @example\r\n * new SmallTools({\r\n * renderTo: document.body,\r\n * operations: [{\r\n * componentType: SmallButton,\r\n * title: 'Button 1',\r\n * handler() {\r\n * alert('You clicked the Button 1!');\r\n * },\r\n * }, {\r\n * componentType: bar.Separator,\r\n * }, {\r\n * componentType: SmallButton,\r\n * title: 'Button 2',\r\n * handler() {\r\n * alert('You clicked the Button 2!');\r\n * },\r\n * }],\r\n * });\r\n */\r\nexport class SmallTools extends Container {\r\n /**\r\n * @cfg {Object[]} operations\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._operations = this._getConfigParam('operations', null);\r\n this._operationsId = this._getConfigParam('operationsId', `${this._id}-operations`);\r\n this._cls = this._getConfigParam('cls', 'actions-box');\r\n\r\n if (Array.isArray(this._operations) && !this._operations.length) {\r\n this._operations = null;\r\n }\r\n\r\n this.searchFilters = $H(this._getConfigParam('searchFilters', {}));\r\n this.searchFiltersState = this._getConfigParam('searchFiltersState', {});\r\n this.searchHandler = this._getConfigParam('searchHandler', emptyFn);\r\n this.resetSearchHandler = this._getConfigParam('resetSearchHandler', emptyFn);\r\n this.listId = this._getConfigParam('listId');\r\n\r\n this.searchOveral = this._getConfigParam('searchOveral', null);\r\n if (null === this.searchOveral) {\r\n this.searchFilters.each(({ key, value }) => {\r\n if (value.overal) {\r\n this.searchOverall = key;\r\n }\r\n });\r\n if (null === this.searchOveral && 1 === this.searchFilters.keys().length) {\r\n this.searchOveral = this.searchFilters.keys()[0];\r\n }\r\n if (null === this.searchOveral) {\r\n this.searchOveral = false;\r\n }\r\n }\r\n\r\n this.quickSearchWide = this._getConfigParam('quickSearchWide', false);\r\n this.quickSearchInputId = this._getConfigParam('quickSearchInputId');\r\n this.searchCollapsed = this._getConfigParam('searchCollapsed', false);\r\n this.onToggleSearch = this._getConfigParam('onToggleSearch', emptyFn);\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n render(this._componentElement, [\r\n createElement(`#${this._operationsId}.objects-toolbar.clearfix`,\r\n this._operations ? this._operations.map(createComponent) : '',\r\n this.quickSearchBoxView(),\r\n ),\r\n this.searchBoxView(),\r\n ]);\r\n\r\n this._componentElement.classList[this.searchCollapsed ? 'remove' : 'add']('actions-box-search-show');\r\n\r\n if (this._operations) {\r\n this.addResponsiveButton('toolbar');\r\n }\r\n\r\n if (this.searchFilters.keys().length) {\r\n this.addResponsiveButton('search');\r\n }\r\n\r\n Tooltip.initData(this._componentElement);\r\n }\r\n\r\n quickSearchBoxView() {\r\n if (!this.searchFilters.keys().length) {\r\n return '';\r\n }\r\n\r\n return createElement(`.quick-search-box${this.quickSearchWide ? '.quick-search-box-wide' : ''}`,\r\n {\r\n onclick(event) {\r\n event.stopPropagation();\r\n },\r\n },\r\n this.searchOveralView(),\r\n this.searchFilters.keys().length > 1 ? createElement('span.search-control',\r\n createElement('a.s-btn.sb-search-show', {\r\n onclick: this.toggleSearch.bind(this),\r\n 'aria-label': this.lmsg('showSearch'),\r\n }),\r\n createElement('a.s-btn.sb-search-hide', {\r\n onclick: this.toggleSearch.bind(this),\r\n 'aria-label': this.lmsg('hideSearch'),\r\n }),\r\n ) : '',\r\n );\r\n }\r\n\r\n searchOveralView() {\r\n if (!this.searchOveral) {\r\n return '';\r\n }\r\n\r\n const filterState = this.searchFiltersState[this.searchOveral];\r\n const currentValue = this.searchFilters.get(this.searchOveral).value || (filterState && filterState.searchText) || '';\r\n\r\n return createElement('.search-field',\r\n createElement('form',\r\n {\r\n onsubmit: event => {\r\n event.preventDefault();\r\n this.searchHandler(event.target);\r\n },\r\n },\r\n createElement(`input${this.quickSearchInputId ? `#${this.quickSearchInputId}` : ''}`, {\r\n type: 'text',\r\n value: currentValue,\r\n name: `searchFilter[${this.searchOveral}][searchText]`,\r\n }),\r\n createElement('em',\r\n {\r\n onclick: event => {\r\n this.searchHandler(event.target.closest('form'));\r\n },\r\n },\r\n createElement('span'),\r\n ),\r\n ),\r\n );\r\n }\r\n\r\n searchBoxView() {\r\n if (this.searchFilters.keys().length < 2) {\r\n return null;\r\n }\r\n\r\n return createElement('.search-box',\r\n {\r\n onclick(event) {\r\n event.stopPropagation();\r\n },\r\n },\r\n createElement('form',\r\n {\r\n onsubmit: event => {\r\n event.preventDefault();\r\n this.searchHandler(event.target);\r\n },\r\n },\r\n createElement('ul',\r\n this.searchFiltersView(),\r\n ),\r\n createElement('a.s-btn.sb-search',\r\n {\r\n onclick: event => {\r\n this.searchHandler(event.target.closest('form'));\r\n },\r\n },\r\n this.lmsg('buttonSearch'),\r\n ),\r\n createElement('a.s-btn.sb-show-all',\r\n {\r\n onclick: () => {\r\n this.resetSearchHandler();\r\n },\r\n },\r\n this.lmsg('buttonResetSearch'),\r\n ),\r\n createElement('input', {\r\n type: 'image',\r\n style: 'border: 0pt none; height: 0pt; width: 0pt; position: absolute; left: -9999px;',\r\n src: require('images/blank.gif'),\r\n }),\r\n ),\r\n );\r\n }\r\n\r\n searchFiltersView() {\r\n const filters = [];\r\n\r\n this.searchFilters.each(({ key: name, value: config }) => {\r\n filters.push(\r\n createElement('li',\r\n createElement('div',\r\n config.title ? createElement('span', config.title) : '',\r\n Filters.create({\r\n idPrefix: this.listId,\r\n name,\r\n value: this.searchFiltersState[name] && this.searchFiltersState[name].searchText,\r\n ...config,\r\n }, event => {\r\n this.searchHandler(event.target.closest('form'));\r\n }),\r\n ),\r\n ),\r\n );\r\n });\r\n\r\n return filters;\r\n }\r\n\r\n toggleSearch() {\r\n this._componentElement.classList.toggle('actions-box-search-show');\r\n this.onToggleSearch(!this._componentElement.classList.contains('actions-box-search-show'));\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n\r\n document.addEventListener('click', () => {\r\n this._hideResponsiveButtonBlocks();\r\n });\r\n }\r\n\r\n addResponsiveButton(name) {\r\n if (!this._rActionsElement) {\r\n this._rActionsElement = new Element('div', { class: 'r-actions' });\r\n this._rActionsElement.innerHTML = '
        ';\r\n render(this._componentElement, this._rActionsElement, 'top');\r\n }\r\n\r\n if (this._rActionsElement.querySelector(`.r-actions-${name}`)) {\r\n return;\r\n }\r\n\r\n render(this._rActionsElement.querySelector('.r-actions-list'), (\r\n createElement(`li.r-actions-item.r-actions-${name}`, { onclick: e => this.onResponsiveButtonClick(e, name) }, createElement('span'))\r\n ));\r\n }\r\n\r\n onResponsiveButtonClick(event, name) {\r\n const button = this._componentElement.querySelector(`.r-actions-${name}`);\r\n const show = !button.classList.contains('r-actions-item-active');\r\n this._hideResponsiveButtonBlocks();\r\n if (show) {\r\n this._showResponsiveButtonBlocks(name);\r\n }\r\n event.stopPropagation();\r\n }\r\n\r\n _hideResponsiveButtonBlocks() {\r\n this._componentElement.className.split(' ').forEach(className => {\r\n if (className.indexOf('r-actions-active') === 0) {\r\n this._componentElement.classList.remove(className);\r\n }\r\n });\r\n this._componentElement.querySelectorAll('.r-actions-item-active').forEach(item => {\r\n if (item.classList.contains('r-actions-select')) {\r\n return;\r\n }\r\n item.classList.remove('r-actions-item-active');\r\n });\r\n }\r\n\r\n _showResponsiveButtonBlocks(name) {\r\n this._componentElement.querySelector(`.r-actions-${name}`).classList.add('r-actions-item-active');\r\n this._componentElement.classList.add('r-actions-active');\r\n this._componentElement.classList.add(`r-actions-active-${name}`);\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport Locale from '../Locale';\r\nimport createElement from '../createElement';\r\nimport escapeHtml from '../escapeHtml';\r\n\r\nconst Filters = {\r\n create(config, handler) {\r\n if (config.render) {\r\n return config.render(config, handler);\r\n }\r\n\r\n if (config.type === 'date') {\r\n return this.createDate(config, handler);\r\n }\r\n\r\n if (config.options) {\r\n if (config.multi) {\r\n return this.createMultiEnum(config, handler);\r\n }\r\n return this.createEnum(config, handler);\r\n }\r\n\r\n return this.createText(config, handler);\r\n },\r\n\r\n createText(config, handler) {\r\n const inputDataName = ({ name }) => name ? (name.charAt(0).toUpperCase() + name.split('').slice(1).join('')) : '';\r\n\r\n return createElement('input[type=\"text\"]', {\r\n id: config.idPrefix ? `${config.idPrefix}-search-text-${config.name}` : null,\r\n name: `searchFilter[${config.name}][searchText]`,\r\n placeholder: config.placeholder || null,\r\n pattern: config.pattern || null,\r\n title: (config.pattern && config.placeholder) || null,\r\n onkeyup: (config.live && handler) || null,\r\n value: config.value || null,\r\n class: config.cls || null,\r\n 'data-input-name': `filter${inputDataName(config)}Input`,\r\n });\r\n },\r\n\r\n createEnum(config, handler) {\r\n return createElement('select',\r\n {\r\n id: config.idPrefix ? `${config.idPrefix}-type-filter` : null,\r\n name: `searchFilter[${config.name}][searchText]`,\r\n onchange: handler || null,\r\n },\r\n this.enumOptionsView(config.options, config.value),\r\n );\r\n },\r\n\r\n createMultiEnum(config, handler) {\r\n return createElement('.dropdown',\r\n createElement('.input-group',\r\n createElement('input.form-control[type=\"text\"][readonly]', {\r\n placeholder: config.placeholder || null,\r\n }),\r\n createElement('span.input-group-btn',\r\n createElement('button.btn.dropdown-toggle[type=\"button\"]',\r\n createElement('span.caret'),\r\n ),\r\n ),\r\n ),\r\n createElement('ul.dropdown-menu.pull-right',\r\n {\r\n onclick(event) {\r\n event.stopPropagation();\r\n },\r\n },\r\n Array.isArray(config.options) && config.options.length ? createElement('li',\r\n createElement('div.dropdown-menu-content.checkbox-group',\r\n config.options.map(function (option) {\r\n return createElement('label',\r\n createElement('input[type=\"checkbox\"]', {\r\n value: option.value,\r\n checked: !config.value || config.value.indexOf(option.value) !== -1 ? true : null,\r\n onclick(event) {\r\n const element = event.target;\r\n const output = element.closest('th').querySelector('input[type=text]');\r\n const input = element.closest('th').querySelectorAll('input[type=checkbox]:checked');\r\n const total = element.closest('th').querySelectorAll('input[type=checkbox]');\r\n if (!input.length) {\r\n output.value = config.locale.lmsg('none');\r\n } else if (input.length === total.length) {\r\n output.value = '';\r\n } else {\r\n const value = [];\r\n input.forEach(el => {\r\n value.push(el.value[0].toUpperCase());\r\n });\r\n output.value = value.join(', ');\r\n }\r\n\r\n if (typeof handler === 'function') {\r\n handler();\r\n }\r\n },\r\n }),\r\n ` ${option.value}`,\r\n );\r\n }),\r\n ),\r\n ) : '',\r\n ),\r\n );\r\n },\r\n\r\n createDate(config, handler) {\r\n const date = config.date || new Date();\r\n const locale = config.locale || new Locale();\r\n\r\n const hour = createElement('select', { 'data-input-name': 'filterDateHourSelect' });\r\n for (let i = 0; i < 24; i++) {\r\n hour.children.push(\r\n createElement('option', { value: i }, (i < 10 ? '0' : '') + i),\r\n );\r\n }\r\n\r\n const minute = createElement('select', { 'data-input-name': 'filterDateMinuteSelect' });\r\n for (let i = 0; i < 60; i++) {\r\n minute.children.push(\r\n createElement('option', { value: i }, (i < 10 ? '0' : '') + i),\r\n );\r\n }\r\n\r\n const day = createElement('select', { 'data-input-name': 'filterDateDaySelect' });\r\n for (let i = 1; i < 32; i++) {\r\n day.children.push(\r\n createElement('option', { value: i }, (i < 10 ? '0' : '') + i),\r\n );\r\n }\r\n\r\n const month = createElement('select', { 'data-input-name': 'filterDateMonthSelect' });\r\n for (let i = 0; i < 12; i++) {\r\n month.children.push(\r\n createElement('option', { value: i }, locale.lmsg(`month${i + 1}`)),\r\n );\r\n }\r\n\r\n const year = createElement('select', { 'data-input-name': 'filterDateYearSelect' });\r\n for (let i = 2000; i <= date.getFullYear(); i++) {\r\n year.children.push(\r\n createElement('option', { value: i }, i),\r\n );\r\n }\r\n\r\n return createElement('.dropdown',\r\n createElement('.input-group',\r\n {\r\n onclick: event => {\r\n this.onDateSearchFilterOpen(event.target.closest('.dropdown'));\r\n },\r\n },\r\n createElement('input.form-control[type=\"text\"][readonly]', {\r\n placeholder: config.placeholder || null,\r\n }),\r\n createElement('span.input-group-btn',\r\n createElement('button.btn.dropdown-toggle[type=\"button\"]',\r\n {\r\n 'data-action-name': 'filterDateOpenForm',\r\n },\r\n createElement('span.caret'),\r\n ),\r\n ),\r\n ),\r\n createElement('ul.dropdown-menu',\r\n {\r\n onclick(event) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n },\r\n },\r\n createElement('li',\r\n createElement('.filter-date-form',\r\n createElement('.form-row',\r\n createElement('.inline-fields-group',\r\n hour, ' : ', minute,\r\n ),\r\n createElement('.inline-fields-group',\r\n day, ' ', month, ' ', year,\r\n ),\r\n createElement('.inline-fields-group',\r\n createElement('button.btn[type=\"button\"]', {\r\n 'data-action-name': 'filterDateApply',\r\n onclick: event => {\r\n event.target.closest('.dropdown').classList.toggle('open');\r\n this.onDateSearchFilterOpen(event.target.closest('.dropdown'));\r\n this.onDateSearchFilterChange(event.target.closest('.dropdown'));\r\n if (typeof handler === 'function') {\r\n handler();\r\n }\r\n },\r\n }, Locale.getSection('components.buttons').lmsg('apply')),\r\n createElement('button.btn[type=\"button\"]', {\r\n 'data-action-name': 'filterDateClear',\r\n onclick: event => {\r\n event.target.closest('.dropdown').classList.toggle('open');\r\n event.target.closest('.dropdown').querySelector('input').value = '';\r\n this.onDateSearchFilterOpen(event.target.closest('.dropdown'));\r\n if (typeof handler === 'function') {\r\n handler();\r\n }\r\n },\r\n }, locale.lmsg('clear')),\r\n ),\r\n ),\r\n createElement('.form-row.filter-actions-row',\r\n createElement('a.toggler', {\r\n onclick: event => {\r\n this.onDateSearchFilterModify(event.target.closest('.dropdown'), new Date(date.getTime() - (3600 * 1000)));\r\n if (typeof handler === 'function') {\r\n handler();\r\n }\r\n },\r\n }, locale.lmsg('hourAgo')),\r\n ' ',\r\n createElement('a.toggler', {\r\n onclick: event => {\r\n this.onDateSearchFilterModify(event.target.closest('.dropdown'), new Date(date.getTime() - (86400 * 1000)));\r\n if (typeof handler === 'function') {\r\n handler();\r\n }\r\n },\r\n }, locale.lmsg('prevDay')),\r\n ),\r\n ),\r\n ),\r\n ),\r\n );\r\n },\r\n\r\n enumOptionsView(options, value) {\r\n return options.map(function (option) {\r\n if ('value' === option.type) {\r\n return this.enumValueView(option, value);\r\n }\r\n return this.enumGroupValue(option, value);\r\n }.bind(this));\r\n },\r\n\r\n enumValueView(option, value) {\r\n return createElement('option', {\r\n value: option.value,\r\n selected: option.value === value,\r\n }, escapeHtml(option.label));\r\n },\r\n\r\n enumGroupValue(option, value) {\r\n return createElement('optgroup',\r\n {\r\n label: option.label,\r\n },\r\n this.enumOptionsView(option.options, value),\r\n );\r\n },\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n onMultiEnumSearchFilterChange(element) {\r\n // for custom onChange handler\r\n },\r\n\r\n onDateSearchFilterOpen(element) {\r\n if (!element.classList.contains('open')) {\r\n return;\r\n }\r\n\r\n let date = new Date(element.querySelector('input').value);\r\n if (isNaN(date.getTime())) {\r\n date = new Date();\r\n }\r\n\r\n this._dateSearchFieldFromDate(element, date);\r\n },\r\n\r\n onDateSearchFilterChange(element) {\r\n const date = this._dateSearchFieldToDate(element);\r\n\r\n const yyyy = date.getFullYear();\r\n const mm = (date.getMonth() + 1 < 10 ? '0' : '') + (date.getMonth() + 1);\r\n const dd = (date.getDate() < 10 ? '0' : '') + date.getDate();\r\n const h = (date.getHours() < 10 ? '0' : '') + date.getHours();\r\n const m = (date.getMinutes() < 10 ? '0' : '') + date.getMinutes();\r\n\r\n element.querySelector('input').value = `${yyyy}-${mm}-${dd} ${h}:${m}`;\r\n },\r\n\r\n onDateSearchFilterModify(element, date) {\r\n this._dateSearchFieldFromDate(element, date);\r\n },\r\n\r\n _dateSearchFieldFromDate(element, date) {\r\n const elements = element.querySelectorAll('select');\r\n elements[0].value = date.getHours();\r\n elements[1].value = date.getMinutes();\r\n elements[2].value = date.getDate();\r\n elements[3].value = date.getMonth();\r\n elements[4].value = date.getFullYear();\r\n },\r\n\r\n _dateSearchFieldToDate(element) {\r\n const elements = element.querySelectorAll('select');\r\n return new Date(elements[4].value, elements[3].value, elements[2].value, elements[0].value, elements[1].value);\r\n },\r\n};\r\n\r\nexport default Filters;\r\n","module.exports = Jsw.skinUrl + \"/images/blank.gif?56398e76be6355ad5999b262208a17c9\";","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Container } from './container';\r\n\r\nimport './collapsible-block.less';\r\n/**\r\n * Example usage:\r\n *\r\n * @example\r\n * new CollapsibleBlock({\r\n * renderTo: document.body,\r\n * cls: 'example',\r\n * title: 'Collapsible block',\r\n * items: [\r\n * new Box({\r\n * html: 'Content of collapsible block.'\r\n * }),\r\n * ],\r\n * });\r\n */\r\nexport class CollapsibleBlock extends Container {\r\n /**\r\n * @cfg {Boolean} collapsed=true\r\n */\r\n /**\r\n * @cfg {String} title\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._blockAreaId = `${this._id}-block`;\r\n this._titleAreaId = `${this._id}-title-area`;\r\n this._contentAreaId = `${this._id}-content-area`;\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._updateComponentElement((\r\n `
        ` +\r\n `
        ` +\r\n `${this._getConfigParam('title', '')}` +\r\n '
        ' +\r\n `
        ` +\r\n '
        '\r\n ));\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n document.getElementById(this._titleAreaId).querySelector('span').addEventListener('click', this._onTitleClickEvent.bind(this));\r\n }\r\n\r\n _onTitleClickEvent(event) {\r\n event.stopPropagation();\r\n document.getElementById(this._blockAreaId).classList.toggle('hide');\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/* eslint-disable react/no-multi-comp */\r\n\r\nimport { Container } from './container';\r\nimport { Component } from './component';\r\nimport render from './render';\r\n\r\nimport './pathbar.less';\r\n\r\n/**\r\n * Example usage:\r\n *\r\n * @example\r\n * new Pathbar({\r\n * renderTo: document.body,\r\n * cls: 'pathbar',\r\n * items: [{\r\n * componentType: Pathbar.Item,\r\n * title: 'Home',\r\n * }, {\r\n * componentType: Pathbar.Item,\r\n * title: 'Domains',\r\n * }, {\r\n * componentType: Pathbar.Item,\r\n * title: 'plesk.com',\r\n * }, {\r\n * componentType: Pathbar.Item,\r\n * title: 'PHP Settings',\r\n * }],\r\n * });\r\n */\r\nexport class Pathbar extends Container {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._contentAreaId = `${this._id}-content-area`;\r\n }\r\n\r\n _initComponentElement() {\r\n if (document.getElementById(this._id)) {\r\n this._applyTargetId = this._id;\r\n super._initComponentElement();\r\n\r\n return;\r\n }\r\n\r\n super._initComponentElement();\r\n\r\n this._updateComponentElement(\r\n `
          `,\r\n );\r\n }\r\n\r\n _renderItem(item) {\r\n const renderTargetId = `${this._id}-item-${item.getId()}`;\r\n render(document.getElementById(this._contentAreaId), `
        • `);\r\n render(document.getElementById(renderTargetId), item);\r\n this._renderItemSuffix(item);\r\n }\r\n\r\n _renderItemSuffix(item) {\r\n const renderTargetId = `${this._id}-item-${item.getId()}`;\r\n render(document.getElementById(renderTargetId), '>');\r\n }\r\n}\r\n\r\nPathbar.Item = class Item extends Component {\r\n /**\r\n * @cfg {String} title\r\n */\r\n /**\r\n * @cfg {String} href\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._title = this._getConfigParam('title', '');\r\n this._href = this._getConfigParam('href', '');\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._componentElement = document.createElement('a');\r\n this._componentElement.href = this._href;\r\n this._componentElement.innerHTML = `${this._title}`;\r\n }\r\n\r\n getHref() {\r\n return this._href;\r\n }\r\n};\r\n\r\nPathbar.SimpleItem = class SimpleItem extends Component {\r\n /**\r\n * @cfg {String} title\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._title = this._getConfigParam('title', '');\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._componentElement = document.createElement('span');\r\n this._componentElement.innerHTML = this._title;\r\n }\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/* eslint-disable react/no-multi-comp */\r\n\r\nimport { Container } from './container';\r\nimport { Component, getComponent } from './component';\r\nimport { Button } from './button';\r\nimport render from './render';\r\nimport escapeHtml from './escapeHtml';\r\nimport { createHtmlElement } from '../helpers/createHtmlElement';\r\n\r\nimport './bar.less';\r\n\r\nexport class Bar extends Container {\r\n /**\r\n * @cfg {String} type=static Type of tabs (static or dynamic)\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._contentAreaId = `${this._id}-content-area`;\r\n this._type = this._getConfigParam('type', 'static');\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n let content = `
            `;\r\n if ('navbar' !== this._id) {\r\n content = `
            ${content}
            `;\r\n }\r\n\r\n this._updateComponentElement(content);\r\n }\r\n\r\n _renderItem(item) {\r\n const renderTargetId = `${this._id}-item-${item.getId()}`;\r\n const containerCls = item.getContainerClass();\r\n\r\n render(document.getElementById(this._contentAreaId), `
          • `);\r\n render(document.getElementById(renderTargetId), item);\r\n\r\n if ('dynamic' === this._type) {\r\n item.addEventObserver('click', event => item.switchTab(event));\r\n }\r\n\r\n if (document.getElementById('main')) {\r\n if (!document.getElementById('main').classList.contains('tabed') && 'navbar' !== this._id) {\r\n document.getElementById('main').classList.add('tabed');\r\n }\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * The following example demonstrates how to use static tabs:\r\n *\r\n * @example\r\n * new bar.Tabs({\r\n * renderTo: document.body,\r\n * cls: 'tabs',\r\n * items: [{\r\n * componentType: bar.Button,\r\n * title: 'Tab 1',\r\n * active: true,\r\n * href: 'http://example1.com'\r\n * }, {\r\n * componentType: bar.Button,\r\n * title: 'Tab 2',\r\n * href: 'http://example2.com'\r\n * }],\r\n * });\r\n *\r\n * The following example demonstrates how to use dynamic tabs:\r\n *\r\n * @example\r\n * new bar.Tabs({\r\n * renderTo: document.body,\r\n * cls: 'tabs',\r\n * type: 'dynamic',\r\n * items: [{\r\n * componentType: bar.Button,\r\n * tabId: 'tab-1',\r\n * title: 'Tab 1',\r\n * active: true,\r\n * content: 'Content of Tab 1'\r\n * }, {\r\n * componentType: bar.Button,\r\n * tabId: 'tab-2',\r\n * title: 'Tab 2',\r\n * content: new Box({\r\n * html: 'Content of Tab 2'\r\n * }),\r\n * }],\r\n * });\r\n *\r\n */\r\nexport const bar = {};\r\nbar.Tabs = class extends Bar {\r\n /**\r\n * @cfg {Boolean} responsive=true\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n this._isResponsive = this._getConfigParam('responsive', true);\r\n }\r\n\r\n _renderItems() {\r\n super._renderItems();\r\n\r\n if (this._isResponsive) {\r\n this._addResponsiveTabs();\r\n }\r\n }\r\n\r\n _addResponsiveTabs() {\r\n const element = document.getElementById(this._id);\r\n element.querySelectorAll('li a').forEach(el => {\r\n el.addEventListener('click', event => {\r\n const listItem = el.closest('li');\r\n if (listItem.classList.contains('active') || listItem.id === 'current') {\r\n event.preventDefault();\r\n }\r\n element.classList.toggle('responsive-tabs-visible');\r\n });\r\n });\r\n }\r\n\r\n switchTab(tabId) {\r\n let activeTab = null;\r\n\r\n this.getItems().forEach(function (item) {\r\n if (tabId === item.getTabId()) {\r\n activeTab = item;\r\n }\r\n\r\n document.getElementById(item.getTabId()).style.display = 'none';\r\n item.getRenderTarget().classList.remove('active');\r\n });\r\n\r\n document.getElementById(tabId).style.display = '';\r\n activeTab.getRenderTarget().classList.add('active');\r\n }\r\n\r\n _renderItem(item, i, size) {\r\n super._renderItem(item, i, size);\r\n\r\n const content = item.getTabContent();\r\n\r\n if (content) {\r\n const tabContentElement = createHtmlElement('div', {\r\n id: item.getTabId(),\r\n style: !item.isActive() ? 'display: none' : '',\r\n });\r\n\r\n render(this._componentElement.parentNode, tabContentElement);\r\n render(tabContentElement, content, typeof content === 'string' && 'inner');\r\n }\r\n }\r\n};\r\n\r\nbar.Button = class extends Button {\r\n /**\r\n * @cfg {Boolean} active=false\r\n */\r\n /**\r\n * @cfg {String} containerCls\r\n */\r\n /**\r\n * @cfg {String} tabId\r\n */\r\n\r\n /**\r\n * @cfg {Boolean} navigationTab=false\r\n */\r\n /**\r\n * @cfg {String|Component} content\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._isActive = this._getConfigParam('active', false);\r\n this._cls = this._getConfigParam('cls', '');\r\n this._containerCls = this._getConfigParam('containerCls', this._isActive ? 'active' : '');\r\n this._tabId = this._getConfigParam('tabId', null);\r\n if (this._tabId) {\r\n this._id = `${this._tabId}-button`;\r\n }\r\n this.navigationTab = this._getConfigParam('navigationTab', false);\r\n this._content = this._getConfigParam('content', null);\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._componentElement.innerHTML = `${escapeHtml(this._title)}`;\r\n }\r\n\r\n getContainerClass() {\r\n return this._containerCls;\r\n }\r\n\r\n getTabId() {\r\n return this._tabId;\r\n }\r\n\r\n switchTab(event) {\r\n const bar = getComponent(event.target.closest('ul').parentNode\r\n .parentNode.id);\r\n bar.switchTab(this._tabId);\r\n event.preventDefault();\r\n }\r\n\r\n getTabContent() {\r\n return this._content;\r\n }\r\n\r\n isActive() {\r\n return this._isActive;\r\n }\r\n};\r\n\r\nbar.Separator = class Separator extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n tag: 'span',\r\n cls: 'separator',\r\n ...config,\r\n });\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n this._componentElement.innerHTML = '';\r\n }\r\n};\r\n\r\nbar.HorizontalSeparator = class HorizontalSeparator extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n tag: 'span',\r\n wrapperClass: 'separator',\r\n ...config,\r\n });\r\n }\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\nimport { SmallButton } from './small-button';\r\nimport render from './render';\r\n\r\nexport class DynamicSubForm extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n const getDynamicContent = this._getConfigParam('getDynamicContent', null);\r\n if (getDynamicContent) {\r\n this._getDynamicContent = getDynamicContent.bind(this);\r\n }\r\n const prepareDynamicContent = this._getConfigParam('prepareDynamicContent', null);\r\n if (prepareDynamicContent) {\r\n this._prepareDynamicContent = prepareDynamicContent.bind(this);\r\n }\r\n const bindDynamicContent = this._getConfigParam('bindDynamicContent', null);\r\n if (bindDynamicContent) {\r\n this._bindDynamicContent = bindDynamicContent.bind(this);\r\n }\r\n const insertDynamicContent = this._getConfigParam('insertDynamicContent', null);\r\n if (insertDynamicContent) {\r\n this._insertDynamicContent = insertDynamicContent.bind(this);\r\n }\r\n const onUpdateDynamic = this._getConfigParam('onUpdateDynamic', null);\r\n if (onUpdateDynamic) {\r\n this._onUpdateDynamic = onUpdateDynamic.bind(this);\r\n }\r\n const onInitDynamic = this._getConfigParam('onInitDynamic', null);\r\n if (onInitDynamic) {\r\n this._onInitDynamic = onInitDynamic.bind(this);\r\n }\r\n\r\n this._allowRemoveFirstElement = !!this._getConfigParam('allowRemoveFirstElement', false);\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n const dynamicElements = this.getElements();\r\n if (!dynamicElements.length) {\r\n this._addEmptyContent();\r\n } else {\r\n dynamicElements.forEach((element, index) => {\r\n this._bindDynamicContent(element, !index);\r\n });\r\n }\r\n this._onInitDynamic();\r\n this._onUpdateDynamic();\r\n }\r\n\r\n _addEmptyContent() {\r\n const element = this._prepareDynamicContent(this._getDynamicContent());\r\n this._insertDynamicContent(element);\r\n this._bindDynamicContent(element, true);\r\n }\r\n\r\n _getDynamicContent() {\r\n const dynamicElement = this._componentElement.querySelector('.dynamicSubFormTemplate').cloneNode(true);\r\n dynamicElement.classList.remove('dynamicSubFormTemplate');\r\n dynamicElement.classList.add('dynamicSubFormContent');\r\n dynamicElement.style.display = '';\r\n return dynamicElement;\r\n }\r\n\r\n _prepareDynamicContent(content) {\r\n return content;\r\n }\r\n\r\n _insertDynamicContent(content) {\r\n const dynamicElements = this.getElements();\r\n if (!dynamicElements.length) {\r\n render(this._componentElement, content, 'top');\r\n } else {\r\n render(dynamicElements[dynamicElements.length - 1], content, 'after');\r\n }\r\n }\r\n\r\n _bindDynamicContent() {\r\n // basic empty implementation\r\n }\r\n\r\n _onInitDynamic() {\r\n // basic empty implementation\r\n }\r\n\r\n _onUpdateDynamic() {\r\n // basic empty implementation\r\n }\r\n\r\n deleteContent(content) {\r\n content.parentNode.removeChild(content);\r\n this._onUpdateDynamic();\r\n }\r\n\r\n addContent(value) {\r\n const content = this._prepareDynamicContent(this._getDynamicContent(), value);\r\n this._insertDynamicContent(content);\r\n this._bindDynamicContent(content, false);\r\n this._onUpdateDynamic();\r\n }\r\n\r\n reset() {\r\n const dynamicElements = this.getElements();\r\n if (dynamicElements.length) {\r\n dynamicElements.forEach(element => {\r\n element.parentNode.removeChild(element);\r\n });\r\n this._onUpdateDynamic();\r\n }\r\n }\r\n\r\n getElements() {\r\n return this._componentElement.querySelectorAll('.dynamicSubFormContent');\r\n }\r\n}\r\n\r\nexport class AddRemoveDynamicSubForm extends DynamicSubForm {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n this._addButtonId = this._getConfigParam('addButtonId', '');\r\n this._addButtonTitle = this._getConfigParam('addButtonTitle', '');\r\n this._removeButtonId = this._getConfigParam('removeButtonId', '');\r\n this._removeButtonTitle = this._getConfigParam('removeButtonTitle', '');\r\n }\r\n\r\n _onInitDynamic() {\r\n const addButton = document.getElementById(this._addButtonId);\r\n render(addButton, `
            `, 'after');\r\n addButton.parentNode.removeChild(addButton);\r\n\r\n new SmallButton({\r\n id: `dynamicSubFormContentAddButton-${this._id}`,\r\n title: this._addButtonTitle,\r\n addCls: 'sb-item-add dynamicSubFormContentAddButton',\r\n handler: this.addContent.bind(this),\r\n disabled: this._isAddButtonDisabled(),\r\n renderTo: this._addButtonId,\r\n });\r\n }\r\n\r\n _isAddButtonDisabled() {\r\n return false;\r\n }\r\n\r\n _bindDynamicContent(content, isFirstElement) {\r\n if (!isFirstElement || this._allowRemoveFirstElement) {\r\n const wrapperId = this._initRemoveButtonWrapper(content);\r\n new SmallButton({\r\n id: wrapperId,\r\n title: this._removeButtonTitle,\r\n addCls: 'sb-item-remove dynamicSubFormContentRemoveButton',\r\n handler: this.deleteContent.bind(this, content),\r\n renderTo: wrapperId,\r\n });\r\n }\r\n return content;\r\n }\r\n\r\n _initRemoveButtonWrapper(content) {\r\n const wrapperId = `${this._removeButtonId}-${this._getRandomNumber()}`;\r\n const inputEls = content.querySelectorAll('.field-value input, .field-value select');\r\n render(inputEls[inputEls.length - 1], ``, 'after');\r\n\r\n return wrapperId;\r\n }\r\n\r\n _prepareDynamicContent(content) {\r\n const newId = Math.floor(1000000 * Math.random());\r\n\r\n const nameRegExp = new RegExp(`(name=.*?\\\\[?${this._id}\\\\]?\\\\[)dynamicSubFormTemplate(\\\\])`, 'g');\r\n const idRegExp = new RegExp(`(id=.*?\\\\-?${this._id}-)dynamicSubFormTemplate(-)`, 'g');\r\n\r\n content.innerHTML = content.innerHTML\r\n .replace(nameRegExp, `\\$1c${newId}\\$2`)\r\n .replace(idRegExp, `\\$1c${newId}\\$2`);\r\n\r\n return content;\r\n }\r\n\r\n _onUpdateDynamic() {\r\n const children = this.getElements();\r\n document.querySelector(`label[for=\"${this._addButtonId}\"]`).style.display = children.length ? 'none' : '';\r\n if (children.length) {\r\n children.forEach((child, index) => {\r\n const labels = child.querySelectorAll('label');\r\n labels[labels.length - 1].style.display = index ? 'none' : '';\r\n });\r\n }\r\n }\r\n\r\n addContent(event) {\r\n super.addContent();\r\n event.stopPropagation();\r\n event.preventDefault();\r\n }\r\n\r\n deleteContent(content, event) {\r\n super.deleteContent(content);\r\n event.stopPropagation();\r\n event.preventDefault();\r\n }\r\n}\r\n\r\n// TODO EXTDOCKER-50: Cannot open docker extension: Cannot read property 'push' of undefined\r\nDynamicSubForm.subclasses = [];\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\n\r\n/**\r\n * Component with custom inner html.\r\n *\r\n * Example usage:\r\n *\r\n * @example\r\n * new Box({\r\n * renderTo: document.body,\r\n * html: '

            Heading 1

            Paragraph

            '\r\n * });\r\n */\r\nexport class Box extends Component {\r\n /**\r\n * @cfg {String} html Inner html of the box.\r\n */\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._componentElement.innerHTML = this._getConfigParam('html', '');\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\n\r\n/**\r\n * Example usage:\r\n *\r\n * @example\r\n * new Gauge({\r\n * renderTo: document.body,\r\n * value: 75\r\n * });\r\n */\r\nexport class Gauge extends Component {\r\n /**\r\n * @cfg {Number} value\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n cls: 'progress progress-sm',\r\n ...config,\r\n });\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this.setProgress(this._getConfigParam('value', ''));\r\n }\r\n\r\n setProgress(value) {\r\n this._componentElement.innerHTML = `
            `;\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { ModalDialogBox } from './modal-dialog-box';\r\nimport addStatusMessage from './addStatusMessage';\r\nimport clearStatusMessages from './clearStatusMessages';\r\nimport render from './render';\r\nimport ce from './createElement';\r\n\r\nexport class PopupForm extends ModalDialogBox {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n cls: 'popup-panel',\r\n ...config,\r\n });\r\n\r\n this._popupContentAreaId = `${this._id}-popup-content-area`;\r\n this._titleAreaId = `${this._id}-title-area`;\r\n this._hintAreaId = `${this._id}-hint-area`;\r\n this._hint1AreaId = `${this._id}-hint1-area`;\r\n this._boxAreaId = `${this._id}-box-area`;\r\n this._contentAreaId = `${this._id}-content-area`;\r\n\r\n this._actionButtonsId = `${this._id}-action-buttons`;\r\n this._leftActionButtonsAreaId = `${this._id}-left-action-buttons-area`;\r\n this._rightActionButtonsAreaId = `${this._id}-right-action-buttons-area`;\r\n\r\n this._titleCls = this._getConfigParam('titleCls', '');\r\n this._scrollable = this._getConfigParam('scrollable');\r\n this._fullHeight = this._getConfigParam('fullHeight');\r\n this._isRemoved = false;\r\n\r\n if (this._scrollable) {\r\n this._cls += ' popup-panel-scrollable';\r\n }\r\n\r\n if (this._fullHeight) {\r\n this._cls += ' popup-panel-full-height';\r\n }\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n render(this._componentElement, this.view());\r\n this.show();\r\n }\r\n\r\n view() {\r\n return ce('.popup-wrapper', ce('.popup-container', [\r\n ce('.popup-heading', ce('.popup-heading-area', [\r\n ce('span.popup-heading-actions', this._getHeadingActions()),\r\n ce(`h2.${this._titleCls}`,\r\n ce(`span#${this._titleAreaId}`, {\r\n title: this._getConfigParam('title'),\r\n }, this._getConfigParam('title')),\r\n ),\r\n ])),\r\n ce('.popup-content', ce(`#${this._popupContentAreaId}.popup-content-area`,\r\n this._getContentArea(),\r\n )),\r\n ]));\r\n }\r\n\r\n _getHeadingActions() {\r\n return '';\r\n }\r\n\r\n _getContentArea() {\r\n return [\r\n ce(`p#${this._hint1AreaId}`),\r\n ce(`span#${this._hintAreaId}`),\r\n this._getBoxArea(),\r\n this._getButtonsArea(),\r\n ];\r\n }\r\n\r\n _getBoxArea() {\r\n return ce(`#${this._boxAreaId}.form-box`, ce('.box-area', ce('.content',\r\n ce(`#${this._contentAreaId}.content-area`),\r\n )));\r\n }\r\n\r\n _getButtonsArea() {\r\n let buttonsRow = ce(`#${this._rightActionButtonsAreaId}.field-value`, ' ');\r\n if (this._getConfigParam('singleRowButtons')) {\r\n buttonsRow = ce('.single-row', buttonsRow);\r\n } else {\r\n buttonsRow = [\r\n ce(`#${this._leftActionButtonsAreaId}.field-name`, ' '),\r\n buttonsRow,\r\n ];\r\n }\r\n return ce(`#${this._actionButtonsId}.btns-box`, ce('.box-area', ce('.form-row', buttonsRow)));\r\n }\r\n\r\n toggleButtonsArea(bool) {\r\n if (this._scrollable) {\r\n this._componentElement.classList[bool ? 'add' : 'remove']('popup-panel-scrollable');\r\n }\r\n document.getElementById(this._actionButtonsId).style.display = bool ? '' : 'none';\r\n }\r\n\r\n setBoxType(type) {\r\n document.getElementById(this._boxAreaId).className = type;\r\n if ('list-box' === type) {\r\n document.getElementById(this._actionButtonsId).classList.add('no-separator');\r\n document.getElementById(this._actionButtonsId).classList.add('simple-box');\r\n }\r\n if ('form-box' === type) {\r\n document.getElementById(this._actionButtonsId).classList.remove('no-separator');\r\n document.getElementById(this._actionButtonsId).classList.remove('simple-box');\r\n }\r\n if ('fm-box' === type) {\r\n document.getElementById(this._boxAreaId).className = 'list-box';\r\n document.getElementById(this._actionButtonsId).classList.add('no-separator');\r\n }\r\n }\r\n\r\n /**\r\n * @param {String} cls\r\n */\r\n setTitleType(cls) {\r\n document.getElementById(this._titleAreaId).parentNode.className = cls;\r\n }\r\n\r\n /**\r\n * @param {String} text\r\n */\r\n setTitle(text) {\r\n document.getElementById(this._titleAreaId).innerHTML = text;\r\n document.getElementById(this._titleAreaId).setAttribute('title', text);\r\n }\r\n\r\n /**\r\n * @param {String} text\r\n */\r\n setHint(text) {\r\n if (text) {\r\n document.getElementById(this._hintAreaId).innerHTML = text;\r\n document.getElementById(this._hintAreaId).style.display = '';\r\n } else {\r\n document.getElementById(this._hintAreaId).style.display = 'none';\r\n }\r\n }\r\n\r\n /**\r\n * @param {String} text\r\n */\r\n setHint1(text) {\r\n if (text) {\r\n document.getElementById(this._hint1AreaId).innerHTML = text;\r\n document.getElementById(this._hint1AreaId).style.display = '';\r\n } else {\r\n document.getElementById(this._hint1AreaId).style.display = 'none';\r\n }\r\n }\r\n\r\n /**\r\n * Remove this component.\r\n */\r\n remove() {\r\n this._isRemoved = true;\r\n this._renderTarget.parentNode.removeChild(this._renderTarget);\r\n }\r\n\r\n /**\r\n * @param {String} title\r\n * @param {Function} handler\r\n * @param {Boolean} [isDefault]\r\n * @param {Boolean} [isAction]\r\n * @param {Object} [params]\r\n * @returns {Element}\r\n */\r\n addRightButton(title, handler, isDefault, isAction, params) {\r\n const button = this._createButton(title, handler, isDefault, isAction, params);\r\n render(document.getElementById(this._rightActionButtonsAreaId), button);\r\n return button;\r\n }\r\n\r\n /**\r\n * @param {String} title\r\n * @param {Function} handler\r\n * @param {Boolean} [isDefault]\r\n * @param {Boolean} [isAction]\r\n * @param {Object} [params]\r\n * @returns {Element}\r\n */\r\n addLeftButton(title, handler, isDefault, isAction, params) {\r\n const button = this._createButton(title, handler, isDefault, isAction, params);\r\n render(document.getElementById(this._leftActionButtonsAreaId), button);\r\n return button;\r\n }\r\n\r\n /**\r\n * Clear right buttons area.\r\n */\r\n removeRightButtons() {\r\n document.getElementById(this._rightActionButtonsAreaId).innerHTML = ' ';\r\n }\r\n\r\n /**\r\n * Clear left buttons area.\r\n */\r\n removeLeftButtons() {\r\n document.getElementById(this._leftActionButtonsAreaId).innerHTML = ' ';\r\n }\r\n\r\n /**\r\n * Update list size.\r\n */\r\n resizeList() {\r\n if (this._isRemoved || !document.getElementById(this._contentAreaId)) {\r\n return;\r\n }\r\n\r\n const list = document.getElementById(this._contentAreaId).querySelector('table');\r\n if (!list) {\r\n return;\r\n }\r\n\r\n const listContainer = document.getElementById(this._contentAreaId).querySelector('.list');\r\n const buttonsHeight = Element.getHeight(document.getElementById(this._actionButtonsId));\r\n const top = Element.cumulativeOffset(list)[1];\r\n const height = Element.getHeight(list);\r\n // 100px below dialog\r\n let newHeight = document.body.clientHeight - top - buttonsHeight - 100;\r\n\r\n if (newHeight > height) {\r\n listContainer.style.height = '';\r\n listContainer.classList.remove('with-scroll');\r\n return;\r\n }\r\n\r\n const minHeigh = 150;\r\n if (newHeight < minHeigh) {\r\n newHeight = minHeigh;\r\n }\r\n\r\n listContainer.style.height = `${newHeight}px`;\r\n listContainer.style.overflowY = 'auto';\r\n listContainer.style.overflowX = 'hidden';\r\n listContainer.classList.add('with-scroll');\r\n }\r\n\r\n /**\r\n * @param {String} title\r\n * @param {Function} handler\r\n * @param {Boolean} [isDefault]\r\n * @param {Boolean} [isAction]\r\n * @param {Object} [params]\r\n * @returns {Element}\r\n * @private\r\n */\r\n _createButton(title, handler, isDefault, isAction, params = {}) {\r\n // eslint-disable-next-line react/button-has-type\r\n const button = document.createElement('button');\r\n Object.keys(params).forEach(name => {\r\n if (params[name] === true) {\r\n button.setAttribute(name, name);\r\n } else if (params[name] !== null && params[name] !== false) {\r\n button.setAttribute(name, params[name]);\r\n }\r\n });\r\n button.classList.add('btn');\r\n if (isAction) {\r\n button.classList.add('action');\r\n }\r\n\r\n button.type = isDefault ? 'submit' : 'button';\r\n button.value = '';\r\n button.innerHTML = title;\r\n\r\n button.addEventListener(\r\n 'click',\r\n event => {\r\n this._onClick(event, handler.bind(this));\r\n },\r\n );\r\n\r\n return button;\r\n }\r\n\r\n _updateButton(button, config) {\r\n $H(config).each(({ key, value }) => {\r\n switch (key) {\r\n case 'title':\r\n button.innerHTML = value;\r\n break;\r\n case 'disabled':\r\n button.disabled = !!value;\r\n if (value) {\r\n button.classList.add('disabled');\r\n } else {\r\n button.classList.remove('disabled');\r\n }\r\n break;\r\n }\r\n });\r\n }\r\n\r\n _onClick(event, handler) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n handler(event);\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n\r\n if (document.getElementById(this._hintAreaId)) {\r\n document.getElementById(this._hintAreaId).style.display = 'none';\r\n }\r\n if (document.getElementById(this._hint1AreaId)) {\r\n document.getElementById(this._hint1AreaId).style.display = 'none';\r\n }\r\n }\r\n\r\n _clearMessages() {\r\n const contentElement = document.getElementById(this._popupContentAreaId);\r\n\r\n ['.msg-error', '.msg-info', '.msg-warning'].forEach(msgClass => {\r\n contentElement.querySelectorAll(msgClass).forEach(messageElement => {\r\n messageElement.parentNode.removeChild(messageElement);\r\n });\r\n });\r\n }\r\n\r\n _addErrorMessage(message) {\r\n this._addStatusMessage('error', message);\r\n }\r\n\r\n _addStatusMessage(status, message) {\r\n render(document.getElementById(this._popupContentAreaId), (\r\n `
            ` +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n `
            ${message}
            ` +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            '\r\n ), 'top');\r\n }\r\n\r\n _userError(error) {\r\n clearStatusMessages();\r\n addStatusMessage('error', error);\r\n this._close();\r\n }\r\n\r\n _internalError(error) {\r\n clearStatusMessages();\r\n addStatusMessage('error', `Internal error: ${error}`);\r\n this._close();\r\n }\r\n}\r\n\r\n// TODO EXTDOCKER-50: Cannot open docker extension: Cannot read property 'push' of undefined\r\nPopupForm.subclasses = [];\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { PopupForm } from './popup-form';\r\nimport { getComponent } from './component';\r\nimport prepareUrl from './prepareUrl';\r\nimport render from './render';\r\n\r\nexport class AjaxPopupForm extends PopupForm {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._url = this._getConfigParam('url');\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._componentElement.querySelector('.popup-content-area').innerHTML = `
            ${this.lmsg('waitMsg')}
            `;\r\n new Ajax.Request(prepareUrl(this._url), {\r\n method: 'get',\r\n onSuccess: this._onSuccess.bind(this),\r\n });\r\n }\r\n\r\n _onSuccess(transport) {\r\n render(this._componentElement.querySelector('.popup-content-area'), transport.responseText, 'inner');\r\n setTimeout(() => {\r\n this._componentElement.querySelector('form').setAttribute('action', prepareUrl(this._url));\r\n const cancelBtn = getComponent('btn-cancel');\r\n cancelBtn.removeEventObserver('click', cancelBtn._handler);\r\n cancelBtn._handler = () => {\r\n this.hide();\r\n };\r\n cancelBtn.addEventObserver('click', cancelBtn._handler);\r\n }, 10);\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { ModalDialogBox } from './modal-dialog-box';\r\nimport render from './render';\r\nimport ce from './createElement';\r\n\r\nimport './Popup.less';\r\n\r\nclass Popup extends ModalDialogBox {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._popupContentAreaId = `${this._id}-popup-content-area`;\r\n this._titleAreaId = `${this._id}-title-area`;\r\n this._actionButtonsId = `${this._id}-action-buttons`;\r\n this._rightActionButtonsAreaId = `${this._id}-right-action-buttons-area`;\r\n\r\n this._contentHeight = this._getConfigParam('contentHeight', null);\r\n this._closeButtonEnabled = this._getConfigParam('closeButtonEnabled', false);\r\n this._cls = this._getConfigParam('popupCls', 'popup-panel');\r\n this._titleCls = this._getConfigParam('titleCls', '');\r\n this._buttons = this._getConfigParam('buttons', []);\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n const title = this._getConfigParam('title', '');\r\n\r\n this._updateComponentElement(\r\n ce('.popup-wrapper',\r\n ce('.popup-container',\r\n ce('.popup-heading',\r\n ce('.popup-heading-area',\r\n this._closeButtonEnabled ? ce('span.close', {\r\n id: `${this._id}-close`,\r\n onrender: el => {\r\n el.addEventListener('click', event => {\r\n this._onCloseClick(event);\r\n });\r\n },\r\n }) : null,\r\n ce(`h2.${this._titleCls}`,\r\n ce('span', { id: this._titleAreaId, title }, title),\r\n ),\r\n ),\r\n ),\r\n ce('.popup-content',\r\n ce('.popup-content-area', {\r\n id: this._popupContentAreaId,\r\n style: this._contentHeight ? `height:${this._contentHeight}px;` : null,\r\n }, this._getContentArea()),\r\n ),\r\n ),\r\n ),\r\n );\r\n }\r\n\r\n _getContentArea() {\r\n let buttonsArea = '';\r\n if (this._buttons.length > 0) {\r\n buttonsArea = this._getButtonsArea();\r\n }\r\n const formId = `${this.getId()}-form`;\r\n const content = this._getConfigParam('content', '');\r\n\r\n if (typeof content === 'object') {\r\n return ce('form', { id: formId }, content, buttonsArea);\r\n }\r\n\r\n return `
            ${content}${buttonsArea}
            `;\r\n }\r\n\r\n _getButtonsArea() {\r\n return (\r\n `
            ` +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n `
            ` +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            '\r\n );\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n\r\n this._buttons.forEach(buttonDesc => {\r\n let buttonId = '';\r\n if ('undefined' !== typeof buttonDesc.id) {\r\n buttonId = ` id=\"${buttonDesc.id}\" `;\r\n }\r\n if ('undefined' === typeof buttonDesc.class) {\r\n buttonDesc.class = '';\r\n }\r\n let buttonDisabled = '';\r\n if ('undefined' !== typeof buttonDesc.disabled && buttonDesc.disabled) {\r\n buttonDisabled = 'disabled=\"disabled\"';\r\n }\r\n const buttonContainer = document.createElement('span');\r\n buttonContainer.className = `btn ${buttonDesc.class}`;\r\n buttonContainer.innerHTML = ``;\r\n buttonContainer.querySelector('button').addEventListener('click', event => {\r\n buttonDesc.handler(event, this);\r\n });\r\n render(document.getElementById(this._rightActionButtonsAreaId), buttonContainer);\r\n });\r\n\r\n this.show();\r\n }\r\n\r\n _onCloseClick() {\r\n this.hide();\r\n }\r\n}\r\n\r\n// TODO EXTNODEJS-90: Eliminate Class.create() usage for Jsw classes\r\n// TODO EXTDOCKER-50: Cannot open docker extension: Cannot read property 'push' of undefined\r\nPopup.subclasses = [];\r\n\r\nexport default Popup;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport ce from './createElement';\r\nimport { Component } from './component';\r\nimport addStatusMessage from './addStatusMessage';\r\nimport clearStatusMessages from './clearStatusMessages';\r\nimport showInternalError from './showInternalError';\r\nimport prepareUrl from './prepareUrl';\r\nimport addUrlParams from './addUrlParams';\r\nimport render from './render';\r\nimport escapeHtml from './escapeHtml';\r\n\r\nimport './double-list-selector.less';\r\n\r\nexport class DoubleListSelector extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n this._cls = 'doubleListSelect';\r\n this._name = this._getConfigParam('name', '');\r\n this._list = this._getConfigParam('list', []);\r\n this._onChange = this._getConfigParam('onChange', () => {});\r\n this._dataUrl = this._getConfigParam('dataUrl', null);\r\n this._selectedMarked = 0;\r\n this._unselectedMarked = 0;\r\n this._prevSelectedItem = -1;\r\n this._isSearchable = this._getConfigParam('isSearchable', false);\r\n this._isLarge = this._getConfigParam('isLarge', false);\r\n }\r\n\r\n _initList() {\r\n const elements = {};\r\n this._list.forEach((element, index) => {\r\n element.marked = false;\r\n if ('undefined' === typeof element.selected) {\r\n element.selected = false;\r\n }\r\n\r\n this._initListItem(element, index, true);\r\n this._initListItem(element, index, false);\r\n elements[element.id] = element.selected;\r\n });\r\n this._originalSelection = elements;\r\n this._initInputElement(elements);\r\n }\r\n\r\n _initComponentElement() {\r\n this._componentElement = document.getElementById(this._applyTargetId);\r\n this._componentElement.classList.add('double-list-select');\r\n this._componentElement.classList.add('dls-icons-1');\r\n if (this._isLarge) {\r\n this._componentElement.classList.add('dls-large');\r\n }\r\n\r\n const ajaxLoading = null === this._dataUrl ? ''\r\n : `
            ${this.lmsg('loadingTitle')}
            `;\r\n\r\n this._updateComponentElement([\r\n ce('div.dls-first-box',\r\n this._isSearchable ? this._getSearchControl('unselected') : null,\r\n ce('h4', ce('span', this.lmsg('unselectedTitle'))),\r\n ce('div.dls-box-area', { id: `${this._id}-container-unselected` }, ajaxLoading, ce('ul', { id: `${this._id}-unselected` })),\r\n ),\r\n ce('div.dls-second-box',\r\n this._isSearchable ? this._getSearchControl('selected') : null,\r\n ce('h4', ce('span', this.lmsg('selectedTitle'))),\r\n ce('div.dls-box-area', { id: `${this._id}-container-selected` }, ajaxLoading, ce('ul', { id: `${this._id}-selected` })),\r\n ),\r\n ce('div.dls-controls', { id: `${this._id}-controls` },\r\n ce('button.btn.disabled', { type: 'button', id: `${this._id}-submitSelect` }, ce('span.dls-add', '>>')),\r\n ce('button.btn.disabled', { type: 'button', id: `${this._id}-submitUnselect` }, ce('span.dls-remove', '<<')),\r\n ),\r\n ]);\r\n this._initList();\r\n }\r\n\r\n _initListItem(element, index, isSelected) {\r\n let container = null;\r\n let isHidden = false;\r\n if (isSelected) {\r\n container = document.getElementById(`${this._id}-selected`);\r\n isHidden = !element.selected;\r\n } else {\r\n container = document.getElementById(`${this._id}-unselected`);\r\n isHidden = element.selected;\r\n }\r\n\r\n const item = ce(\r\n 'div.dls-item-block',\r\n ce('b', escapeHtml(element.title)),\r\n element.description ? ce('span', element.description) : null,\r\n element.icons?.length ?\r\n ce(\r\n 'span.dls-icons',\r\n element.icons.map(({ src, title }) => ce(\r\n 'i.icon',\r\n ce('img', { src: `${Jsw.skinUrl}${src}`, title }),\r\n )),\r\n ) :\r\n null,\r\n );\r\n\r\n const listItem = ce('li', {\r\n id: `${this._id}-${index}-${isSelected ? 'selected' : 'unselected'}-item`,\r\n style: isHidden ? 'display: none;' : undefined,\r\n onclick: event => {\r\n this._toggleItem(index, isSelected, event);\r\n },\r\n }, item);\r\n render(container, listItem);\r\n }\r\n\r\n _initInputElement(elements) {\r\n let inputElement = document.getElementById(`${this._id}-elements`);\r\n if (!inputElement) {\r\n inputElement = document.createElement('input');\r\n inputElement.id = `${this._id}-elements`;\r\n inputElement.name = this._name;\r\n inputElement.type = 'hidden';\r\n this._componentElement.appendChild(inputElement);\r\n }\r\n inputElement.value = JSON.stringify(elements);\r\n }\r\n\r\n _getSearchControl(columnId) {\r\n return ce('.dls-search',\r\n ce('input.search-input.search-empty', {\r\n id: `${this._id}-search-${columnId}`,\r\n type: 'text',\r\n autocomplete: 'off',\r\n value: this.lmsg('searchTitle'),\r\n onfocus: e => this.onFocus(e.target),\r\n onblur: e => this.onBlur(e.target),\r\n onkeyup: e => this.onToggleSearch(columnId, e.target.value),\r\n }),\r\n ce('span.search-button.icon-search', {\r\n id: `${this._id}-search-button-${columnId}`,\r\n onmousedown: () => this.onResetSearch(columnId),\r\n }),\r\n );\r\n }\r\n\r\n _addEvents() {\r\n document.getElementById(`${this._id}-submitSelect`).addEventListener('click', this._onSubmitSelect.bind(this));\r\n document.getElementById(`${this._id}-submitUnselect`).addEventListener('click', this._onSubmitUnselect.bind(this));\r\n }\r\n\r\n _toggleItem(index, isSelected, event) {\r\n if (this._list[index].marked) {\r\n this._unmarkItem(index, isSelected, event);\r\n } else {\r\n this._markItem(index, isSelected, event);\r\n }\r\n }\r\n\r\n _markItem(index, isSelected, event) {\r\n if (('undefined' !== typeof event) && event.shiftKey && (-1 !== this._prevSelectedItem)) {\r\n const startIndex = Math.min(index, this._prevSelectedItem);\r\n const finishIndex = Math.max(index, this._prevSelectedItem);\r\n for (let i = startIndex; i < finishIndex; i++) {\r\n this._markItem(i, isSelected);\r\n }\r\n }\r\n\r\n this._prevSelectedItem = index;\r\n\r\n this._list[index].marked = true;\r\n document.getElementById(`${this._id}-${index}-${isSelected ? 'selected' : 'unselected'}-item`).classList.add('marked');\r\n this._updateSelectControls(isSelected, true);\r\n }\r\n\r\n _unmarkItem(index, isSelected) {\r\n this._list[index].marked = false;\r\n document.getElementById(`${this._id}-${index}-${isSelected ? 'selected' : 'unselected'}-item`).classList.remove('marked');\r\n this._updateSelectControls(isSelected, false);\r\n }\r\n\r\n _onSubmitSelect() {\r\n this._list.forEach((element, index) => {\r\n if (element.marked && !element.selected && document.getElementById(`${this._id}-${index}-unselected-item`).style.display !== 'none') {\r\n this._unmarkItem(index, false);\r\n element.selected = true;\r\n this._updateElement(element);\r\n document.getElementById(`${this._id}-${index}-unselected-item`).style.display = 'none';\r\n document.getElementById(`${this._id}-${index}-selected-item`).style.display = '';\r\n }\r\n });\r\n\r\n this.onChange();\r\n }\r\n\r\n _onSubmitUnselect() {\r\n this._list.forEach((element, index) => {\r\n if (element.marked && element.selected && document.getElementById(`${this._id}-${index}-selected-item`).style.display !== 'none') {\r\n this._unmarkItem(index, true);\r\n element.selected = false;\r\n this._updateElement(element);\r\n document.getElementById(`${this._id}-${index}-selected-item`).style.display = 'none';\r\n document.getElementById(`${this._id}-${index}-unselected-item`).style.display = '';\r\n }\r\n });\r\n\r\n this.onChange();\r\n }\r\n\r\n _updateElement(element) {\r\n const elements = JSON.parse(document.getElementById(`${this._id}-elements`).value);\r\n elements[element.id] = element.selected;\r\n this._onChange(elements);\r\n document.getElementById(`${this._id}-elements`).value = JSON.stringify(elements);\r\n }\r\n\r\n onChange() {\r\n // basic empty implementation\r\n }\r\n\r\n onToggleSearch(columnId, searchString) {\r\n const isSelected = (columnId === 'selected');\r\n searchString = searchString.trim().toLowerCase();\r\n\r\n if (searchString.length) {\r\n this._toggleSearchButtonIcon(columnId, true);\r\n this._list.forEach(function (element, index) {\r\n if (isSelected !== element.selected) {\r\n return;\r\n }\r\n const item = document.getElementById(`${this._id}-${index}-${columnId}-item`);\r\n if (this._isSearchMatched(element, searchString)) {\r\n if (item.style.display === 'none' && element.marked) {\r\n this._updateSelectControls(isSelected, true);\r\n }\r\n item.style.display = '';\r\n } else {\r\n if (item.style.display !== 'none' && element.marked) {\r\n this._updateSelectControls(isSelected, false);\r\n }\r\n item.style.display = 'none';\r\n }\r\n }, this);\r\n } else {\r\n this._toggleSearchButtonIcon(columnId, false);\r\n this._showAllItems(columnId);\r\n }\r\n }\r\n\r\n _isSearchMatched(element, searchString) {\r\n const searchIndex = 'undefined' === typeof element.searchIndex\r\n ? element.title\r\n : element.searchIndex;\r\n\r\n return -1 !== searchIndex.toLowerCase().indexOf(searchString);\r\n }\r\n\r\n onFocus(element) {\r\n if (this.lmsg('searchTitle') === element.value) {\r\n element.value = '';\r\n element.classList.remove('search-empty');\r\n }\r\n }\r\n\r\n onBlur(element) {\r\n if ('' === element.value) {\r\n this._resetSearchControl(element);\r\n }\r\n }\r\n\r\n onResetSearch(columnId) {\r\n this._showAllItems(columnId);\r\n const element = document.getElementById(`${this._id}-search-${columnId}`);\r\n this._resetSearchControl(element);\r\n this._toggleSearchButtonIcon(columnId, false);\r\n }\r\n\r\n _showAllItems(columnId) {\r\n const isSelected = (columnId === 'selected');\r\n this._list.forEach((element, index) => {\r\n if (isSelected === element.selected) {\r\n const item = document.getElementById(`${this._id}-${index}-${columnId}-item`);\r\n if (item.style.display === 'none' && element.marked) {\r\n this._updateSelectControls(isSelected, true);\r\n }\r\n item.style.display = '';\r\n }\r\n });\r\n }\r\n\r\n _resetSearchControl(element) {\r\n element.value = this.lmsg('searchTitle');\r\n element.classList.add('search-empty');\r\n }\r\n\r\n _toggleSearchButtonIcon(columnId, isActive) {\r\n document.getElementById(`${this._id}-search-button-${columnId}`).classList[isActive ? 'add' : 'remove']('search-button-clear');\r\n }\r\n\r\n _updateSelectControls(isSelected, setMarked) {\r\n let counter = isSelected ? this._selectedMarked : this._unselectedMarked;\r\n const controlId = isSelected ? 'submitUnselect' : 'submitSelect';\r\n\r\n if (setMarked) {\r\n counter++;\r\n } else {\r\n counter--;\r\n }\r\n\r\n document.getElementById(`${this._id}-${controlId}`).classList[counter ? 'remove' : 'add']('disabled');\r\n\r\n if (isSelected) {\r\n this._selectedMarked = counter;\r\n } else {\r\n this._unselectedMarked = counter;\r\n }\r\n }\r\n\r\n isEmpty() {\r\n return !this._list.some(function (element) {\r\n return element.selected;\r\n });\r\n }\r\n\r\n reload(params) {\r\n if (!this._dataUrl) {\r\n return;\r\n }\r\n\r\n const reloadUrl = addUrlParams(this._dataUrl, params);\r\n new Ajax.Request(prepareUrl(reloadUrl), {\r\n method: 'get',\r\n onSuccess: this._onReloadSuccess.bind(this),\r\n onFailure: this._onReloadFailure.bind(this),\r\n onException: this._onReloadException.bind(this),\r\n onCreate: this._onReloadCreate.bind(this),\r\n onComplete: this._onReloadComplete.bind(this),\r\n });\r\n }\r\n\r\n _onReloadSuccess(transport) {\r\n if (!transport.responseText) {\r\n // :INFO: sometimes happens in FF if you are go to other page during request\r\n return;\r\n }\r\n\r\n let data = {};\r\n try {\r\n data = JSON.parse(transport.responseText);\r\n } catch {\r\n showInternalError(transport.responseText);\r\n return;\r\n }\r\n\r\n if (data.list) {\r\n this._list = data.list;\r\n } else if (data.status) {\r\n clearStatusMessages();\r\n (data.statusMessages || []).forEach(function (message) {\r\n addStatusMessage(message.status, message.content);\r\n });\r\n } else {\r\n showInternalError('Unable to load list data.');\r\n }\r\n\r\n this._initList();\r\n }\r\n\r\n _onReloadFailure(transport) {\r\n showInternalError(transport.responseText);\r\n }\r\n\r\n _onReloadException(transport, exception) {\r\n showInternalError(`${exception}\\n${transport.responseText}`);\r\n }\r\n\r\n _onReloadCreate() {\r\n this._list = [];\r\n this._componentElement.querySelectorAll('.dls-box-area').forEach(listArea => {\r\n listArea.querySelector('ul').innerHTML = '';\r\n listArea.querySelector('.ajax-loading').style.display = '';\r\n });\r\n }\r\n\r\n _onReloadComplete() {\r\n this._componentElement.querySelectorAll('.dls-box-area').forEach(listArea => {\r\n listArea.querySelector('.ajax-loading').style.display = 'none';\r\n });\r\n }\r\n\r\n reset() {\r\n this._list.forEach(item => {\r\n item.selected = this._originalSelection[item.id];\r\n });\r\n\r\n const list = this._list;\r\n this._onReloadCreate();\r\n this._onReloadComplete();\r\n this._list = list;\r\n\r\n this._initList();\r\n }\r\n}\r\n\r\n// TODO PMT-4391: Plesk migrator is broken in Plesk 17.9.1 after cutting core's classes\r\nDoubleListSelector.subclasses = [];\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport ce from './createElement';\r\nimport { DoubleListSelector } from './double-list-selector';\r\nimport render from './render';\r\nimport escapeHtml from './escapeHtml';\r\n\r\nimport './enhanced-double-list-selector.less';\r\n\r\nexport class EnhancedDoubleListSelector extends DoubleListSelector {\r\n _initComponentElement() {\r\n this._componentElement = document.getElementById(this._applyTargetId);\r\n this._componentElement.classList.add('edls');\r\n\r\n this._updateComponentElement(\r\n ce('.edls-wrap',\r\n ce('.edls-box.edls-box-first',\r\n ce('.edls-header',\r\n ce('.edls-header-title', this.lmsg('unselectedTitle')),\r\n ),\r\n ce('.edls-box-wrap',\r\n this._isSearchable ? this._getSearchControl('unselected') : null,\r\n ce('.edls-box-body',\r\n ce('ul.edls-list', { id: `${this._id}-unselected` }),\r\n ce('.edls-list-empty', { style: 'display: none;' }, ce('span', this.lmsg('unselectedEmpty'))),\r\n ce('.edls-ajax-loading', { style: 'display: none;' }, ce('span.ajax-loading', this.lmsg('loadingTitle'))),\r\n ),\r\n ),\r\n ),\r\n ce('.edls-control',\r\n ce('.edls-control-wrap',\r\n ce('.edls-control-body',\r\n ce('.edls-control-text',\r\n ce('.edls-control-text-none', this.lmsg('controlText-none')),\r\n ce('.edls-control-text-first'),\r\n ce('.edls-control-text-second'),\r\n ),\r\n ce('.edls-control-indicator', ce('i')),\r\n ),\r\n ),\r\n ),\r\n ce('.edls-box.edls-box-second',\r\n ce('.edls-header',\r\n ce('.edls-header-title', this.lmsg('selectedTitle')),\r\n ),\r\n ce('.edls-box-wrap',\r\n this._isSearchable ? this._getSearchControl('selected') : null,\r\n ce('.edls-box-body',\r\n ce('ul.edls-list', { id: `${this._id}-selected` }),\r\n ce('.edls-list-empty', { style: 'display: none;' }, ce('span', this.lmsg('selectedEmpty'))),\r\n ce('.edls-ajax-loading', { style: 'display: none' }, ce('span.ajax-loading', this.lmsg('loadingTitle'))),\r\n ),\r\n ),\r\n ),\r\n ),\r\n );\r\n this._initList();\r\n }\r\n\r\n _initList() {\r\n super._initList();\r\n\r\n this._fixListZebra();\r\n }\r\n\r\n _fixListZebra() {\r\n [document.getElementById(`${this._id}-unselected`), document.getElementById(`${this._id}-selected`)].forEach(list => {\r\n let count = 0;\r\n list.querySelectorAll('.edls-item').forEach(el => {\r\n if (el.style.display !== 'none') {\r\n el.classList.add(count % 2 ? 'odd' : 'even');\r\n el.classList.remove(count % 2 ? 'even' : 'odd');\r\n count++;\r\n }\r\n });\r\n list.parentNode.querySelector('.edls-list-empty').style.display = count ? 'none' : '';\r\n });\r\n }\r\n\r\n _getSearchControl(columnId) {\r\n return (\r\n ce('.edls-search',\r\n ce('span.edls-check', ce('input.checkbox', { type: 'checkbox', value: '' })),\r\n ce('span.edls-search-control',\r\n ce('input.search-input.search-empty', {\r\n type: 'text',\r\n value: '',\r\n autocomplete: 'off',\r\n id: `${this._id}-search-${columnId}`,\r\n onfocus: e => this.onFocus(e.target),\r\n onblur: e => this.onBlur(e.target),\r\n onkeyup: e => this.onToggleSearch(columnId, e.target.value),\r\n }),\r\n ce('input.search-button', {\r\n type: 'image',\r\n src: require('images/search-input.png'),\r\n id: `${this._id}-search-button-${columnId}`,\r\n onmousedown: () => this.onResetSearch(columnId),\r\n onclick: e => e.preventDefault(),\r\n }),\r\n ),\r\n )\r\n );\r\n }\r\n\r\n _toggleSearchButtonIcon(columnId, isActive) {\r\n const inputIcon = document.getElementById(`${this._id}-search-button-${columnId}`);\r\n inputIcon.classList[isActive ? 'add' : 'remove']('search-button-clear');\r\n inputIcon.src = isActive\r\n ? require('images/clear-search.png')\r\n : require('images/search-input.png');\r\n }\r\n\r\n onFocus(element) {\r\n element.classList.remove('search-empty');\r\n }\r\n\r\n _resetSearchControl(element) {\r\n element.value = '';\r\n element.classList.add('search-empty');\r\n }\r\n\r\n _initListItem(element, index, isSelected) {\r\n let container = null;\r\n let isHidden = false;\r\n if (isSelected) {\r\n container = document.getElementById(`${this._id}-selected`);\r\n isHidden = !element.selected;\r\n } else {\r\n container = document.getElementById(`${this._id}-unselected`);\r\n isHidden = element.selected;\r\n }\r\n\r\n render(\r\n container,\r\n ce(\r\n 'li',\r\n {\r\n id: `${this._id}-${index}-${isSelected ? 'selected' : 'unselected'}-item`,\r\n class: 'edls-item',\r\n style: isHidden ? 'display: none;' : null,\r\n onclick: event => {\r\n this._toggleItemSelection(index, isSelected, event);\r\n },\r\n },\r\n ce(\r\n 'div',\r\n { class: 'edls-item-wrap' },\r\n ce(\r\n 'span',\r\n { class: 'edls-check' },\r\n ce('input', {\r\n type: 'checkbox',\r\n class: 'checkbox',\r\n value: '',\r\n onclick: event => {\r\n event.stopPropagation();\r\n this._toggleItemCheckbox(event.target, event.target.checked);\r\n },\r\n }),\r\n ),\r\n ce('span', { class: 'edls-text' }, this._getItemText(element)),\r\n ),\r\n ),\r\n );\r\n }\r\n\r\n _getItemText(element, highlight) {\r\n let itemIcons = '';\r\n if (element.icons && element.icons.length) {\r\n element.icons.forEach(({ src, title }) => {\r\n itemIcons += ``;\r\n });\r\n itemIcons += ' ';\r\n }\r\n let itemText = escapeHtml(element.title);\r\n if (highlight) {\r\n itemText = itemText.replace(highlight, `${highlight}`);\r\n }\r\n\r\n return itemIcons + itemText;\r\n }\r\n\r\n onToggleSearch(columnId, searchString) {\r\n const isSelected = (columnId === 'selected');\r\n searchString = searchString.trim().toLowerCase();\r\n\r\n if (searchString.length) {\r\n this._toggleSearchButtonIcon(columnId, true);\r\n this._list.forEach((element, index) => {\r\n const item = document.getElementById(`${this._id}-${index}-${columnId}-item`);\r\n if (this._isSearchMatched(element, searchString)) {\r\n item.querySelector('.edls-text').innerHTML = this._getItemText(element, searchString);\r\n if (isSelected === element.selected) {\r\n item.style.display = '';\r\n }\r\n } else {\r\n item.querySelector('.edls-text').innerHTML = this._getItemText(element);\r\n const checkbox = item.querySelector('.edls-check input');\r\n if (item.style.display !== 'none' && checkbox.checked) {\r\n this._toggleItemCheckbox(checkbox, false);\r\n }\r\n item.style.display = 'none';\r\n }\r\n });\r\n } else {\r\n this._toggleSearchButtonIcon(columnId, false);\r\n this._showAllItems(columnId);\r\n }\r\n }\r\n\r\n _showAllItems(columnId) {\r\n const isSelected = (columnId === 'selected');\r\n this._list.forEach((element, index) => {\r\n const item = document.getElementById(`${this._id}-${index}-${columnId}-item`);\r\n item.querySelector('.edls-text').innerHTML = this._getItemText(element);\r\n if (isSelected === element.selected) {\r\n item.style.display = '';\r\n }\r\n });\r\n }\r\n\r\n _toggleItemSelection(index, isSelected, event, batchMode) {\r\n event?.preventDefault();\r\n this._list[index].selected = !isSelected;\r\n this._updateElement(this._list[index]);\r\n document.getElementById(`${this._id}-${index}-${isSelected ? 'selected' : 'unselected'}-item`).style.display = 'none';\r\n document.getElementById(`${this._id}-${index}-${isSelected ? 'unselected' : 'selected'}-item`).style.display = '';\r\n this._toggleItemCheckbox(document.getElementById(`${this._id}-${index}-${isSelected ? 'selected' : 'unselected'}-item`).querySelector('.edls-check input'), false);\r\n if (!batchMode) {\r\n this._fixListZebra();\r\n this.onChange();\r\n }\r\n }\r\n\r\n _toggleItemCheckbox(checkbox, value) {\r\n checkbox.checked = value;\r\n\r\n const side = checkbox.closest('.edls-box-first') ? 'first' : 'second';\r\n const count = checkbox.closest(`.edls-box-${side}`).querySelectorAll('.edls-list .edls-check input:checked').length;\r\n if (value) {\r\n checkbox.closest('.edls-item').classList.add('selected');\r\n } else {\r\n checkbox.closest('.edls-item').classList.remove('selected');\r\n checkbox.closest('.edls-box').querySelector('.edls-search .checkbox').checked = false;\r\n }\r\n checkbox.closest('.edls').classList[count ? 'add' : 'remove'](`edls-selected-${side}`);\r\n checkbox.closest('.edls').querySelector(`.edls-control-text-${side}`).innerHTML =\r\n this.getLocale().formatMessage(`controlText-${side}`, { count });\r\n }\r\n\r\n _updateSelectControls() {\r\n // disable parent implementation\r\n }\r\n\r\n _addEvents() {\r\n const componentElement = this._componentElement;\r\n\r\n this._componentElement.querySelectorAll('.edls-box-wrap').forEach(el => {\r\n el.addEventListener('mouseover', event => {\r\n componentElement.classList.add('edls-over');\r\n componentElement.classList.add(event.target.closest('.edls-box-first') ? 'edls-over-first' : 'edls-over-second');\r\n componentElement.classList.remove(event.target.closest('.edls-box-first') ? 'edls-over-second' : 'edls-over-first');\r\n });\r\n el.addEventListener('mouseleave', () => {\r\n if (!componentElement.classList.contains('edls-selected-first') && !componentElement.classList.contains('edls-selected-second')) {\r\n componentElement.classList.remove('edls-over');\r\n componentElement.classList.remove('edls-over-first');\r\n componentElement.classList.remove('edls-over-second');\r\n }\r\n });\r\n });\r\n\r\n this._componentElement.addEventListener('mouseleave', event => {\r\n event.target.classList.remove('edls-over');\r\n event.target.classList.remove('edls-over-first');\r\n event.target.classList.remove('edls-over-second');\r\n });\r\n\r\n this._componentElement.querySelectorAll('.edls-box .edls-search .edls-check input').forEach(element => {\r\n element.addEventListener('click', () => {\r\n const value = element.checked;\r\n element.closest('.edls-box').querySelectorAll('.edls-list .edls-check input').forEach(checkbox => {\r\n if (value && checkbox.closest('.edls-item').style.display !== 'none') {\r\n this._toggleItemCheckbox(checkbox, true);\r\n } else {\r\n this._toggleItemCheckbox(checkbox, false);\r\n }\r\n });\r\n });\r\n });\r\n\r\n this._componentElement.querySelector('.edls-control-wrap').addEventListener('click', event => {\r\n let isSelected;\r\n if (componentElement.classList.contains('edls-over-first')) {\r\n isSelected = false;\r\n } else if (componentElement.classList.contains('edls-over-second')) {\r\n isSelected = true;\r\n } else {\r\n return;\r\n }\r\n\r\n this._list.forEach((element, index) => {\r\n if (element.selected === isSelected) {\r\n const item = document.getElementById(`${this._id}-${index}-${isSelected ? 'selected' : 'unselected'}-item`);\r\n if (item.classList.contains('selected')) {\r\n this._toggleItemSelection(index, isSelected, event, true);\r\n }\r\n }\r\n });\r\n this._fixListZebra();\r\n this.onChange();\r\n });\r\n }\r\n\r\n _onReloadCreate() {\r\n this._list = [];\r\n this._componentElement.querySelectorAll('.edls-box').forEach(listArea => {\r\n listArea.querySelector('ul').innerHTML = '';\r\n listArea.querySelector('.edls-ajax-loading').style.display = '';\r\n listArea.querySelector('.edls-list-empty').style.display = 'none';\r\n });\r\n }\r\n\r\n _onReloadComplete() {\r\n this._componentElement.querySelectorAll('.edls-box').forEach(listArea => {\r\n listArea.querySelector('.edls-ajax-loading').style.display = 'none';\r\n });\r\n }\r\n}\r\n","module.exports = Jsw.skinUrl + \"/images/search-input.png?9fd99cb66354e116893e88b4f234ca6d\";","module.exports = Jsw.skinUrl + \"/images/clear-search.png?c022c431eedbe669278180412386b137\";","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\nimport prepareUrl from './prepareUrl';\r\nimport render from './render';\r\n\r\nimport './dynamic-popup-hint.less';\r\n\r\n/**\r\n * @class DynamicPopupHint\r\n * @singleton\r\n */\r\nexport const DynamicPopupHint = {\r\n windowId: 'ajaxTooltipWindow',\r\n delay: 0.55,\r\n _isInitialized: false,\r\n _currentTooltip: null,\r\n\r\n _init(cls) {\r\n if (this._isInitialized) {\r\n return;\r\n }\r\n\r\n this._cls = cls;\r\n this._initWindowElement();\r\n this._initWindowEvents();\r\n this._isInitialized = true;\r\n },\r\n\r\n _initWindowElement() {\r\n render(document.body, `
            `, 'top');\r\n\r\n const element = document.getElementById(this.windowId);\r\n element.innerHTML = (\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '' +\r\n `` +\r\n `

            ` +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n `
            ` +\r\n '
            ' +\r\n '
            ' +\r\n '
            '\r\n );\r\n // TODO Need remove this hack when all popup boxes will use DynamicPopupHint component and hardcoded offset will be removed in css\r\n element.style.marginTop = 0;\r\n },\r\n\r\n _initWindowEvents() {\r\n document.getElementById(this.windowId).addEventListener('mouseover', this._onWindowMouseOver.bind(this));\r\n document.getElementById(this.windowId).addEventListener('mouseout', this._onWindowMouseOut.bind(this));\r\n document.getElementById(`${this.windowId}-close`).addEventListener('click', this._onCloseClick.bind(this));\r\n document.body.addEventListener('click', this._onCloseClick.bind(this));\r\n document.getElementById(this.windowId).addEventListener('click', event => {\r\n event.stopPropagation();\r\n });\r\n },\r\n\r\n _onWindowMouseOver() {\r\n this._showWindow();\r\n },\r\n\r\n _onWindowMouseOut() {\r\n if (this._currentTooltip.getPlacement() === '') {\r\n document.getElementById(this.windowId).style.display = 'none';\r\n }\r\n },\r\n\r\n _onCloseClick() {\r\n document.getElementById(this.windowId).style.display = 'none';\r\n },\r\n\r\n set(tooltip) {\r\n this._init(tooltip.getCls());\r\n const title = tooltip.getTitle();\r\n const titleElement = document.getElementById(`${this.windowId}-title`);\r\n if (false === title) {\r\n document.getElementById(`${this.windowId}-title`).innerHTML = '';\r\n titleElement.closest('.popup-heading').style.display = 'none';\r\n } else {\r\n document.getElementById(`${this.windowId}-title`).innerHTML = title;\r\n titleElement.closest('.popup-heading').style.display = '';\r\n }\r\n ['left', 'right', 'top', 'bottom'].forEach(className => {\r\n document.getElementById(this.windowId).classList.remove(className);\r\n });\r\n document.getElementById(this.windowId).classList.add(tooltip.getPlacement());\r\n document.getElementById(this.windowId)\r\n .querySelector('.heading-area .arrow').style.display = ['left', 'right', 'bottom'].indexOf(tooltip.getPlacement()) !== -1 ? '' : 'none';\r\n document.getElementById(this.windowId).classList[tooltip.getScrollable() ? 'add' : 'remove']('popup-box-scrollable');\r\n this._currentTooltip = tooltip;\r\n this.updateContent(tooltip);\r\n this._showWindow(tooltip);\r\n },\r\n\r\n isSet(tooltip) {\r\n const element = document.getElementById(this.windowId);\r\n return element && element.style.display !== 'none' && this._currentTooltip === tooltip;\r\n },\r\n\r\n unset() {\r\n const element = document.getElementById(this.windowId);\r\n if (element) {\r\n element.style.display = 'none';\r\n }\r\n },\r\n\r\n updateContent(tooltip) {\r\n if (this._currentTooltip === tooltip) {\r\n render(document.getElementById(`${this.windowId}-content`), [\r\n tooltip.getPlacement() === 'top' ? '' : '',\r\n tooltip.getContent(),\r\n ], 'inner');\r\n }\r\n this._updatePosition();\r\n },\r\n\r\n _showWindow() {\r\n document.getElementById(this.windowId).style.display = '';\r\n this._updatePosition();\r\n },\r\n\r\n _updatePosition() {\r\n const element = document.getElementById(this.windowId);\r\n const elementWidth = Element.getWidth(element);\r\n const elementHeight = Element.getHeight(element);\r\n const headingElementHeight = Element.getHeight(element.querySelector('.popup-heading'));\r\n const tooltipElement = this._currentTooltip.getTargetElement();\r\n const tooltipElementHeight = Element.getHeight(tooltipElement);\r\n const tooltipElementWidth = Element.getWidth(tooltipElement);\r\n let offsetLeft = 0;\r\n let offsetTop = 0;\r\n const elementRight = Element.cumulativeOffset(tooltipElement).left + elementWidth;\r\n const viewportRight = document.viewport.getWidth() + document.viewport.getScrollOffsets().left;\r\n\r\n switch (this._currentTooltip.getPlacement()) {\r\n case 'top':\r\n offsetTop -= elementHeight;\r\n offsetLeft -= (elementWidth - tooltipElementWidth) / 2;\r\n break;\r\n case 'bottom':\r\n offsetTop += tooltipElementHeight;\r\n offsetLeft -= (elementWidth - tooltipElementWidth) / 2;\r\n break;\r\n case 'left':\r\n offsetTop -= (headingElementHeight - tooltipElementHeight) / 2;\r\n offsetLeft -= elementWidth;\r\n break;\r\n case 'right':\r\n offsetTop -= (headingElementHeight - tooltipElementHeight) / 2;\r\n offsetLeft += tooltipElementWidth;\r\n break;\r\n }\r\n if (elementRight + offsetLeft > viewportRight) {\r\n offsetLeft -= elementRight + offsetLeft - viewportRight + 10;\r\n }\r\n\r\n Element.clonePosition(element, tooltipElement, {\r\n offsetLeft,\r\n offsetTop,\r\n setWidth: false,\r\n setHeight: false,\r\n });\r\n },\r\n};\r\n\r\nDynamicPopupHint.Instance = class Instance extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._targetElement = this._getConfigParam('target', '');\r\n if (typeof this._targetElement === 'string') {\r\n this._targetElement = document.getElementById(this._targetElement);\r\n }\r\n this._title = this._getConfigParam('title', '');\r\n this._waitMsg = this._getConfigParam('waitMsg', '');\r\n this._url = this._getConfigParam('url', '');\r\n this._cls = this._getConfigParam('cls', 'popup-box');\r\n this._scrollable = this._getConfigParam('scrollable', true);\r\n this._placement = this._getConfigParam('placement', '');\r\n\r\n this._content = this._getConfigParam('content', `
            ${this._waitMsg}
            `);\r\n this._contentLoaded = false;\r\n this._delayedExecuter = null;\r\n }\r\n\r\n _initComponentElement() {\r\n this._initTargetEvents();\r\n }\r\n\r\n _initTargetEvents() {\r\n if (this._placement !== '') {\r\n this._targetElement.addEventListener('click', event => {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n if (DynamicPopupHint.isSet(this)) {\r\n DynamicPopupHint.unset();\r\n } else {\r\n DynamicPopupHint.set(this);\r\n }\r\n });\r\n } else {\r\n this._targetElement.addEventListener('mouseover', this.set.bind(this));\r\n this._targetElement.addEventListener('mouseout', this.unset.bind(this));\r\n }\r\n }\r\n\r\n _loadContent() {\r\n new Ajax.Request(prepareUrl(this._url), {\r\n method: 'get',\r\n onSuccess: transport => {\r\n if ('' === transport.responseText) {\r\n return;\r\n }\r\n\r\n this._content = transport.responseText;\r\n DynamicPopupHint.updateContent(this);\r\n },\r\n });\r\n\r\n this._contentLoaded = true;\r\n }\r\n\r\n setContent(content) {\r\n this._contentLoaded = true;\r\n this._content = content;\r\n }\r\n\r\n set() {\r\n this._delayedExecuter = new PeriodicalExecuter(pe => {\r\n DynamicPopupHint.set(this);\r\n pe.stop();\r\n this._delayedExecuter = null;\r\n }, DynamicPopupHint.delay);\r\n }\r\n\r\n unset() {\r\n if (this._delayedExecuter) {\r\n this._delayedExecuter.stop();\r\n this._delayedExecuter = null;\r\n }\r\n }\r\n\r\n getTitle() {\r\n return this._title;\r\n }\r\n\r\n getContent() {\r\n if (!this._contentLoaded && this._url) {\r\n this._loadContent();\r\n }\r\n\r\n return this._content;\r\n }\r\n\r\n getTargetElement() {\r\n return this._targetElement;\r\n }\r\n\r\n getCls() {\r\n return this._cls;\r\n }\r\n\r\n getScrollable() {\r\n return this._scrollable;\r\n }\r\n\r\n getPlacement() {\r\n return this._placement;\r\n }\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/* eslint-disable react/require-render-return */\r\n\r\nimport { Component } from './component';\r\nimport { DynamicPopupHint } from './dynamic-popup-hint';\r\nimport Locale from './Locale';\r\nimport render from './render';\r\nimport ce from './createElement';\r\nimport estimatePassword from '../helpers/estimatePassword';\r\n\r\nimport './password-meter.less';\r\n\r\nexport class PasswordMeter extends Component {\r\n _initConfiguration({ observe, ...config }) {\r\n this._passwordElement = document.getElementById(observe);\r\n this._passwordElement.addEventListener('keyup', this._onChange.bind(this));\r\n // Temporary workaround for custom prototype's event 'plesk:passwordGenerated'\r\n this._passwordElement.addEventListener('dataavailable', this._onChange.bind(this));\r\n\r\n super._initConfiguration({\r\n id: `${this._passwordElement.id}-meter`,\r\n tag: 'span',\r\n cls: 'password-strength',\r\n locale: Locale.getSection('components.password.meter'),\r\n ...config,\r\n });\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n render(this._componentElement, [\r\n ce('i', {\r\n onrender: el => {\r\n this._progress = el;\r\n },\r\n }),\r\n ce('b', {\r\n onrender: el => {\r\n this._verdict = el;\r\n },\r\n }),\r\n ]);\r\n }\r\n\r\n setProgress(strength) {\r\n const level = ['VeryWeak', 'Weak', 'Medium', 'Strong', 'VeryStrong'].indexOf(strength);\r\n this._progress.setAttribute('style', `width: ${(level + 1) * 20}%`);\r\n }\r\n\r\n async _onChange() {\r\n const { password, strength, suggestions } = await estimatePassword(this._passwordElement.value);\r\n if (password !== this._passwordElement.value) {\r\n return;\r\n }\r\n\r\n this._updateVisibility();\r\n this.setProgress(strength);\r\n this._updateHint(suggestions);\r\n this._updateVerdict(strength);\r\n this._updateColor(strength);\r\n }\r\n\r\n _updateVisibility() {\r\n if (this._passwordElement.value === '') {\r\n this._componentElement.style.display = 'none';\r\n this._hintContainer.style.display = 'none';\r\n } else {\r\n this._componentElement.style.display = '';\r\n this._hintContainer.style.display = '';\r\n }\r\n }\r\n\r\n _updateColor(strength) {\r\n const newClass = `password-strength${strength.replace(/[A-Z]/g, c => `-${c.toLowerCase()}`)}`;\r\n if (this._oldClass === newClass) {\r\n return;\r\n }\r\n if (this._oldClass) {\r\n this._componentElement.classList.remove(this._oldClass);\r\n }\r\n this._componentElement.classList.add(newClass);\r\n this._oldClass = newClass;\r\n }\r\n\r\n _updateHint(suggestions) {\r\n this._tooltip.setContent(suggestions.length ? [\r\n this.lmsg('description'),\r\n ce('br'),\r\n ce('ul', suggestions.map(suggestion => ce('li.asd', suggestion))),\r\n ] : this.lmsg('yourPasswordIsStrong'));\r\n }\r\n\r\n _updateVerdict(strength) {\r\n this._verdict.innerHTML = this.lmsg(`verdict${strength}`);\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n render(this._componentElement, ce('span.hint-inline.hint-info', {\r\n onrender: el => {\r\n this._hintContainer = el;\r\n },\r\n }, ce('span', {\r\n onrender: el => {\r\n this._tooltip = new DynamicPopupHint.Instance({\r\n title: this.lmsg('title'),\r\n waitMsg: '',\r\n url: '',\r\n placement: 'right',\r\n target: el,\r\n });\r\n },\r\n }, '(?)')), 'after');\r\n this._updateVisibility();\r\n\r\n if (this._passwordElement.value) {\r\n this._onChange();\r\n }\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport apolloClient from '../apolloClient';\r\nimport { PasswordEstimation } from 'schema';\r\n\r\nimport PASSWORD_ESTIMATION_QUERY from 'queries/PasswordEstimation.graphql';\r\n\r\nconst defaultEstimateFn = async (password: string) => {\r\n const { data: { passwordEstimation } } = await apolloClient.query({\r\n query: PASSWORD_ESTIMATION_QUERY,\r\n variables: { password },\r\n });\r\n return passwordEstimation;\r\n};\r\n\r\ntype PasswordStrength = {\r\n password: string;\r\n strength: string;\r\n suggestions: string[];\r\n}\r\n\r\nexport default async (\r\n password: string,\r\n estimateFn: (password: string) => Promise = defaultEstimateFn,\r\n): Promise => {\r\n const [{ level, suggestions }, locale] = await Promise.all([\r\n estimateFn(password),\r\n Locale.loadSection('components.password.suggestions'),\r\n ]);\r\n\r\n return {\r\n password,\r\n strength: ['VeryWeak', 'Weak', 'Medium', 'Strong'][level] ?? 'VeryStrong',\r\n suggestions: suggestions.map(suggestion => locale.lmsg(suggestion)),\r\n };\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { ApolloClient, ApolloLink, InMemoryCache, defaultDataIdFromObject, from, Observable } from '@apollo/client';\r\nimport { BatchHttpLink } from '@apollo/client/link/batch-http';\r\nimport { onError } from '@apollo/client/link/error';\r\nimport { createUploadLink } from 'apollo-upload-client';\r\nimport { SentryLink } from 'apollo-link-sentry';\r\nimport { extractFiles } from 'extract-files';\r\n\r\nconst sentryLink = new SentryLink({\r\n setTransaction: false,\r\n});\r\n\r\nconst errorLink = onError(error => {\r\n if (error.networkError?.statusCode === 400) {\r\n window.location.reload();\r\n return new Observable(() => {});\r\n }\r\n});\r\n\r\nconst headers = {\r\n 'X-Requested-With': 'XMLHttpRequest',\r\n};\r\n\r\nconst tokenEl = document.getElementById('forgery_protection_token');\r\nif (tokenEl) {\r\n headers['X-Forgery-Protection-Token'] = tokenEl.content;\r\n}\r\n\r\nconst fetchParams = {\r\n uri: '/cp/graphql',\r\n headers,\r\n};\r\nconst terminatingLink = ApolloLink.split(\r\n operation => operation.getContext().noBatch || extractFiles(operation).files.size > 0,\r\n createUploadLink(fetchParams),\r\n new BatchHttpLink({\r\n ...fetchParams,\r\n batchMax: 10,\r\n batchInterval: 10,\r\n }),\r\n);\r\n\r\nconst apolloClient = new ApolloClient({\r\n link: from([errorLink, sentryLink, terminatingLink]),\r\n cache: new InMemoryCache({\r\n typePolicies: {\r\n AdditionalKey: {\r\n keyFields: ['keyNumber'],\r\n },\r\n Domain: {\r\n fields: {\r\n hosting: {\r\n merge: true,\r\n },\r\n webScriptingSettings: {\r\n merge: true,\r\n },\r\n subscription: {\r\n merge: true,\r\n },\r\n },\r\n },\r\n Subscription: {\r\n fields: {\r\n permissions: { merge: true },\r\n },\r\n },\r\n ExtensionTab: {\r\n keyFields: false,\r\n },\r\n SiteButton: {\r\n keyFields: false,\r\n },\r\n ConfigSectionGdprCookie: {\r\n keyFields: ['name'],\r\n },\r\n User: {\r\n keyFields: ['login'],\r\n },\r\n UserLogo: {\r\n merge: true,\r\n },\r\n UserPermissions: {\r\n merge: true,\r\n },\r\n Os: {\r\n merge: true,\r\n },\r\n Mode: {\r\n merge: true,\r\n },\r\n Home: {\r\n merge: true,\r\n },\r\n Notification: {\r\n keyFields: [],\r\n },\r\n PrimaryKey: {\r\n keyFields: ['pleskKeyId'],\r\n },\r\n WebsitesDiagnostic: {\r\n keyFields: [],\r\n fields: {\r\n settings: {\r\n merge: true,\r\n },\r\n },\r\n },\r\n ServerMail: {\r\n keyFields: [],\r\n fields: {\r\n spamAssassin: {\r\n merge: true,\r\n },\r\n },\r\n },\r\n Capability: {\r\n keyFields: [],\r\n fields: {\r\n mailServer: {\r\n merge: true,\r\n },\r\n packages: {\r\n merge: true,\r\n },\r\n },\r\n },\r\n Dns: {\r\n keyFields: [],\r\n },\r\n Query: {\r\n fields: {\r\n additionalKeys: {\r\n merge: false,\r\n },\r\n recentSearch: {\r\n merge: false,\r\n },\r\n node: {\r\n read(_, { args: { id }, toReference }) {\r\n const __typename = atob(id).split(':')[0];\r\n return toReference({ id, __typename });\r\n },\r\n },\r\n },\r\n },\r\n Server: {\r\n keyFields: [],\r\n fields: {\r\n firewall: {\r\n merge: true,\r\n },\r\n components: {\r\n merge: false,\r\n },\r\n settings: {\r\n merge: true,\r\n },\r\n information: {\r\n merge: true,\r\n },\r\n productVersion: {\r\n merge: true,\r\n },\r\n productUpdates: {\r\n merge: true,\r\n },\r\n pum: {\r\n merge: true,\r\n },\r\n },\r\n },\r\n DnsTemplate: {\r\n keyFields: [],\r\n },\r\n DnsSoaRecordTemplate: {\r\n keyFields: [],\r\n },\r\n TaskList: {\r\n keyFields: [],\r\n },\r\n IpAddress: {\r\n fields: {\r\n clients: {\r\n merge: false,\r\n },\r\n },\r\n },\r\n IpAddressList: {\r\n keyFields: [],\r\n fields: {\r\n list: {\r\n merge: false,\r\n },\r\n },\r\n },\r\n VirtualDirectory: {\r\n keyFields: ['key'],\r\n fields: {\r\n errorDoc: {\r\n read: (_, { args: { code }, toReference }) => toReference({\r\n code,\r\n __typename: 'VirtualDirectoryErrorDoc',\r\n }),\r\n },\r\n },\r\n },\r\n VirtualDirectoryErrorDoc: {\r\n keyFields: ['code'],\r\n },\r\n SystemMessage: {\r\n keyFields: ['key'],\r\n },\r\n ClientStatistics: {\r\n merge: true,\r\n },\r\n DomainStatistics: {\r\n merge: true,\r\n },\r\n MailAccountConfiguration: {\r\n merge: true,\r\n },\r\n },\r\n dataIdFromObject: object => {\r\n switch (true) {\r\n case object.__typename?.startsWith('Config'):\r\n return object.__typename;\r\n default:\r\n return defaultDataIdFromObject(object);\r\n }\r\n },\r\n }),\r\n});\r\n\r\nexport default apolloClient;\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"PasswordEstimation\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"password\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"passwordEstimation\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"password\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"password\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"level\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"suggestions\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":141}};\n doc.loc.source = {\"body\":\"query PasswordEstimation($password: String!) {\\r\\n passwordEstimation(password: $password) {\\r\\n level\\r\\n suggestions\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"PasswordEstimation\"] = oneQuery(doc, \"PasswordEstimation\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { shuffle } from 'helpers/shuffle';\r\nimport { Component } from './component';\r\nimport fireCustomEvent from './fireCustomEvent';\r\n\r\nconst symbolClasses = {\r\n upper: 'ABCDEFGHIJKLMNOPQRSTUVWXYZ',\r\n lower: 'abcdefghijklmnopqrstuvwxyz',\r\n number: '0123456789',\r\n special: '!@#$%^&*?_~',\r\n};\r\n\r\nexport class PasswordGenerator extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration({ tag: 'span', ...config });\r\n this._passwordElement = document.getElementById(this._getConfigParam('password', null));\r\n this._generateButtonElement = document.getElementById(this._getConfigParam('generateButton', null));\r\n this._generateButtonElement.addEventListener('click', this._onGeneratePasswordClick.bind(this));\r\n this._showButtonElement = document.getElementById(this._getConfigParam('showButton', null));\r\n this._showButtonElement.addEventListener('click', this._onShowPasswordClick.bind(this));\r\n this._showPasswordVisible = true;\r\n this._showPasswordTitle = this._getConfigParam('showPasswordTitle', '');\r\n this._hidePasswordTitle = this._getConfigParam('hidePasswordTitle', '');\r\n this._passwordStrength = this._getConfigParam('passwordStrength', '');\r\n }\r\n\r\n _onGeneratePasswordClick() {\r\n const password = this._generatePassword();\r\n this._passwordElement.value = password;\r\n\r\n const passwordConfirmationElement = document.getElementById(this._getConfigParam('passwordConfirmation'));\r\n\r\n if (passwordConfirmationElement) {\r\n passwordConfirmationElement.value = password;\r\n }\r\n\r\n fireCustomEvent(this._passwordElement, 'plesk:passwordGenerated');\r\n }\r\n\r\n _onShowPasswordClick() {\r\n if (this._showPasswordVisible) {\r\n this._passwordElement.setAttribute('type', 'text');\r\n this._showButtonElement.innerHTML = this._hidePasswordTitle;\r\n } else {\r\n this._passwordElement.setAttribute('type', 'password');\r\n this._showButtonElement.innerHTML = this._showPasswordTitle;\r\n }\r\n this._showPasswordVisible = !this._showPasswordVisible;\r\n }\r\n\r\n _generatePassword() {\r\n let password = '';\r\n const requiredClasses = ['upper', 'lower', 'lower', 'lower', 'number', 'number', 'special', 'number', 'number'];\r\n\r\n if ('Stronger' === this._passwordStrength) {\r\n requiredClasses.push('upper', 'upper', 'lower', 'lower', 'lower', 'lower', 'lower', 'lower');\r\n }\r\n\r\n const shuffledRequiredClasses = shuffle(requiredClasses);\r\n\r\n shuffledRequiredClasses.forEach(i => {\r\n password += this._generateSymbol(i);\r\n });\r\n return password;\r\n }\r\n\r\n _generateSymbol(symbolClass) {\r\n const randomValue = crypto.getRandomValues(new Uint32Array(1))[0];\r\n const index = randomValue % symbolClasses[symbolClass].length;\r\n return symbolClasses[symbolClass][index];\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/**\r\n * Shuffle an array with the Fisher-Yates shuffle algorithm\r\n */\r\nexport const shuffle = (array: T[]): T[] => {\r\n const shuffledArray = [...array];\r\n\r\n let remaining = array.length;\r\n\r\n while (remaining) {\r\n const currentIndex = remaining - 1;\r\n const randomIndex = crypto.getRandomValues(new Uint32Array(1))[0] % remaining;\r\n\r\n [\r\n shuffledArray[currentIndex],\r\n shuffledArray[randomIndex],\r\n ] = [\r\n shuffledArray[randomIndex],\r\n shuffledArray[currentIndex],\r\n ];\r\n\r\n remaining--;\r\n }\r\n\r\n return shuffledArray;\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { StatusMessage } from './status-message';\r\nimport api from './api';\r\nimport prepareUrl from './prepareUrl';\r\nimport render from './render';\r\nimport createElement from './createElement';\r\n\r\nexport class UpgradeFailureNotification extends StatusMessage {\r\n _initConfiguration(config) {\r\n this.updateInterval = 5000;\r\n\r\n super._initConfiguration(config);\r\n this._isBootstrapRunning = this._getConfigParam('isBootstrapRunning');\r\n this._bootstrapExecutionUrl = this._getConfigParam('bootstrapExecutionUrl');\r\n this._bootstrapStatusUrl = this._getConfigParam('bootstrapStatusUrl');\r\n this._bootstrapInProgressMessage = this._getConfigParam('bootstrapInProgressMessage');\r\n this._bootstrapLinkTitle = this._getConfigParam('bootstrapLinkTitle');\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n if (this._isBootstrapRunning) {\r\n this._scheduleUpdateStatus();\r\n }\r\n }\r\n\r\n _executeBootstrapper() {\r\n this._isBootstrapRunning = true;\r\n render(this._componentElement.querySelector('.msg-content'), this._renderMessage(), 'inner');\r\n api.post(prepareUrl(this._bootstrapExecutionUrl))\r\n .finally(() => {\r\n this._scheduleUpdateStatus();\r\n });\r\n }\r\n\r\n _renderMessage() {\r\n if (this._isBootstrapRunning) {\r\n return createElement('span.ajax-loading', this._bootstrapInProgressMessage);\r\n }\r\n return [this._message, ' ', createElement('a', { onclick: this._executeBootstrapper.bind(this) }, this._bootstrapLinkTitle)];\r\n }\r\n\r\n _scheduleUpdateStatus() {\r\n setTimeout(() => {\r\n this._statusUpdate();\r\n }, this.updateInterval);\r\n }\r\n\r\n _statusUpdate() {\r\n api.get(prepareUrl(this._bootstrapStatusUrl))\r\n .finally(() => {\r\n this._scheduleUpdateStatus();\r\n });\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { StatusMessage } from './status-message';\r\nimport api from './api';\r\nimport { redirectPost } from './form-redirect';\r\nimport addStatusMessage from './addStatusMessage';\r\nimport clearStatusMessages from './clearStatusMessages';\r\nimport prepareUrl from './prepareUrl';\r\nimport escapeHtml from './escapeHtml';\r\n\r\nexport class WebserverConfigurationFailure extends StatusMessage {\r\n _initConfiguration(config) {\r\n this._rebuildFailedUrl = '^/admin/subscription/webserver-configuration-rebuild/?returnUrl=/';\r\n this._rebuildAllUrl = '^/admin/subscription/webserver-configuration-rebuild-all/';\r\n\r\n super._initConfiguration(config);\r\n this._moduleInstalled = this._getConfigParam('moduleInstalled');\r\n this._kbArticle = this._getConfigParam('kbArticle');\r\n }\r\n\r\n _renderMessage() {\r\n return this.lmsg('message', {\r\n error: `${escapeHtml(this._message.trim())} ${this._moduleInstalled ? `${this.lmsg('moduleLink')}` : ''}`,\r\n link: `${this.lmsg('link')}`,\r\n linkAll: `${this.lmsg('linkAll')}`,\r\n howToFix: this._kbArticle ? ` ${this.lmsg('knownIssue', {\r\n kbArticle: `${this._kbArticle}`,\r\n })}` : '',\r\n });\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n document.getElementById('webserver-configuration-failure-rebuild-failed').addEventListener('click', this._rebuildFailed.bind(this));\r\n document.getElementById('webserver-configuration-failure-rebuild-all').addEventListener('click', this._rebuildAll.bind(this));\r\n }\r\n\r\n _rebuildFailed() {\r\n redirectPost(this._rebuildFailedUrl);\r\n }\r\n\r\n _rebuildAll() {\r\n this._onCreateExecute();\r\n api.post(prepareUrl(this._rebuildAllUrl))\r\n .then(this._onSuccess.bind(this))\r\n .catch(this._onException.bind(this));\r\n }\r\n\r\n _onCreateExecute() {\r\n clearStatusMessages();\r\n addStatusMessage('warning', `${this.lmsg('messageInProgress')}`);\r\n }\r\n\r\n _onSuccess(response) {\r\n clearStatusMessages();\r\n if ('success' === response.status) {\r\n addStatusMessage('info', this.lmsg('messageSuccess'));\r\n } else {\r\n addStatusMessage('error', this.lmsg('messageFailure') + response.message);\r\n }\r\n }\r\n\r\n _onException(exception) {\r\n clearStatusMessages();\r\n\r\n if (window.location.port === '') {\r\n // Configuration Troubleshooter restarts main web server, therefore the connection is always interrupted.\r\n addStatusMessage('info', this.lmsg('messageSuccess'));\r\n } else {\r\n addStatusMessage('error', `Internal error: ${exception}`);\r\n }\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { PopupForm } from './popup-form';\r\nimport { getComponent } from './component';\r\nimport { redirect } from './form-redirect';\r\nimport Locale from './Locale';\r\nimport prepareUrl from './prepareUrl';\r\nimport render from './render';\r\nimport api from './api';\r\n\r\nexport const ConfirmationPopupManager = {};\r\nConfirmationPopupManager.PopupForm = class extends PopupForm {\r\n _initConfiguration(config) {\r\n this._sendButtonTitle = '';\r\n\r\n super._initConfiguration({\r\n singleRowButtons: true,\r\n ...config,\r\n });\r\n\r\n this._prepareUrl = this._getConfigParam('prepareUrl', '');\r\n this._handlerUrl = this._getConfigParam('handlerUrl', '');\r\n this._ids = this._getConfigParam('ids', '');\r\n this._formListItemsAreaId = `${this._id}-form-list-items`;\r\n this._formListAreaId = `${this._id}-form-list`;\r\n this._formBoxAreaId = `${this._id}-form-box`;\r\n this._sendButtonId = this._getConfigParam('sendButtonId', 'btn-send');\r\n this._cancelButtonId = this._getConfigParam('cancelButtonId', 'btn-cancel');\r\n this._formDescriptionId = `${this._id}-form-desc`;\r\n this._longtask = this._getConfigParam('longtask', false);\r\n this._autoload = this._getConfigParam('autoload', true);\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n this.setBoxType('form-box');\r\n this._setTitle();\r\n\r\n const formHtml = (\r\n `
            ` +\r\n `
            ` +\r\n `
            ` +\r\n '
            '\r\n );\r\n\r\n document.getElementById(this._contentAreaId).innerHTML = (\r\n this._getHeadDescription() +\r\n formHtml +\r\n this._getBottomDescription()\r\n );\r\n\r\n const form = document.getElementById(`${this._id}-form`);\r\n form._formSubmit = form.submit;\r\n form.submit = this._onSubmit.bind(this);\r\n form.addEventListener('submit', this._onSubmitEvent.bind(this));\r\n\r\n render(document.getElementById(this._formBoxAreaId), `
            ${this.lmsg('loading')}
            `);\r\n\r\n this._addButtons();\r\n\r\n if (this._autoload) {\r\n this._renderPreparePopup();\r\n }\r\n }\r\n\r\n reload() {\r\n document.getElementById(this._formListAreaId).innerHTML = '';\r\n document.getElementById(this._formBoxAreaId).innerHTML = `
            ${this.lmsg('loading')}
            `;\r\n this._preparePopup();\r\n }\r\n\r\n _addButtons() {\r\n this.addRightButton(Locale.getSection('components.buttons').lmsg('ok'), this._onOkClick, true, true, { id: this._sendButtonId });\r\n this.addRightButton(Locale.getSection('components.buttons').lmsg('cancel'), this._onCancelClick, false, false, { id: this._cancelButtonId });\r\n }\r\n\r\n _setTitle() {\r\n this.setTitle(this.lmsg('title'));\r\n }\r\n\r\n _getHeadDescription() {\r\n return '';\r\n }\r\n\r\n _getBottomDescription() {\r\n return `

            ${this.lmsg('description')}

            `;\r\n }\r\n\r\n _onException(exception) {\r\n this._addErrorMessage(`Internal error: ${exception}`);\r\n this.enable();\r\n }\r\n\r\n _onOkClick(e) {\r\n this._onSubmit(e);\r\n }\r\n\r\n _onCancelClick() {\r\n this.hide();\r\n }\r\n\r\n _preparePopup() {\r\n api.post(prepareUrl(this._prepareUrl), { ids: this._ids })\r\n .then(this._onSuccessPreparePopup.bind(this))\r\n .catch(this._onException.bind(this));\r\n }\r\n\r\n _renderPreparePopup() {\r\n this._preparePopup();\r\n }\r\n\r\n _onSubmitEvent(event) {\r\n this._onSubmit();\r\n event.preventDefault();\r\n return false;\r\n }\r\n\r\n _onSuccessResponse(response) {\r\n this.hide();\r\n redirect(response.redirect);\r\n }\r\n\r\n _onSuccess(transport) {\r\n this._clearMessages();\r\n try {\r\n const response = JSON.parse(transport.responseText);\r\n if ('success' === response.status) {\r\n this._onSuccessResponse(response);\r\n } else {\r\n if (response.redirect) {\r\n redirect(response.redirect);\r\n return;\r\n }\r\n this._addErrorMessage(response.message);\r\n this.enable();\r\n }\r\n } catch (e) {\r\n this._addErrorMessage(e.message);\r\n this._addErrorMessage(\r\n `Internal error: ${transport.responseText}`,\r\n );\r\n this.enable();\r\n }\r\n }\r\n\r\n disable() {\r\n const sendButton = document.getElementById(this._sendButtonId);\r\n if (sendButton) {\r\n sendButton.disabled = true;\r\n sendButton.classList.add('disabled');\r\n if (!this._sendButtonTitle) {\r\n this._sendButtonTitle = sendButton.innerHTML;\r\n }\r\n sendButton.innerHTML = `${this.lmsg('loading')}`;\r\n }\r\n\r\n const cancelButton = document.getElementById(this._cancelButtonId);\r\n if (cancelButton) {\r\n cancelButton.disabled = true;\r\n cancelButton.classList.add('disabled');\r\n }\r\n }\r\n\r\n enable() {\r\n const sendButton = document.getElementById(this._sendButtonId);\r\n if (sendButton) {\r\n sendButton.disabled = false;\r\n sendButton.innerHTML = this._sendButtonTitle;\r\n sendButton.classList.remove('disabled');\r\n }\r\n\r\n const cancelButton = document.getElementById(this._cancelButtonId);\r\n if (cancelButton) {\r\n cancelButton.disabled = false;\r\n cancelButton.classList.remove('disabled');\r\n }\r\n }\r\n\r\n _onSuccessPreparePopup() {\r\n // should be implemented in child classes\r\n return true;\r\n }\r\n\r\n _getLoadingIndicatorItems() {\r\n return [];\r\n }\r\n\r\n _addLoadingIndicator() {\r\n // should be implemented in child classes\r\n }\r\n\r\n _getAdditionalParams(params) {\r\n // should be implemented in child classes if it necessary\r\n return params;\r\n }\r\n\r\n _isValid() {\r\n return true;\r\n }\r\n\r\n _onSubmit(e) {\r\n this._clearMessages();\r\n\r\n if (!this._isValid()) {\r\n return;\r\n }\r\n\r\n let params = $H();\r\n let count = 0;\r\n this._ids.forEach(id => {\r\n params.set(`ids[${count}]`, id);\r\n count++;\r\n });\r\n params = this._getAdditionalParams(params);\r\n\r\n this.disable();\r\n this._addLoadingIndicator(this._getLoadingIndicatorItems());\r\n\r\n if (this._needFlyEffect()) {\r\n const beginOffset = Element.cumulativeOffset(e.target);\r\n getComponent('asyncProgressBarWrapper')\r\n .fly(\r\n beginOffset,\r\n this._longtask,\r\n () => {\r\n this._sendRequest(params);\r\n },\r\n );\r\n } else {\r\n this._sendRequest(params);\r\n }\r\n }\r\n\r\n _needFlyEffect() {\r\n return (false !== this._longtask);\r\n }\r\n\r\n _sendRequest(params) {\r\n new Ajax.Request(\r\n this._handlerUrl,\r\n {\r\n method: 'post',\r\n parameters: params,\r\n onSuccess: this._onSuccess.bind(this),\r\n onException: this._onException.bind(this),\r\n },\r\n );\r\n }\r\n};\r\n\r\n// TODO WPT use Class.create()\r\nConfirmationPopupManager.PopupForm.subclasses = [];\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\nimport { list } from './list';\r\nimport { Tooltip } from './tooltip';\r\nimport isRtl from './isRtl';\r\nimport prepareUrl from './prepareUrl';\r\nimport render from './render';\r\nimport createElement from './createElement';\r\nimport escapeHtml from './escapeHtml';\r\nimport fireCustomEvent from './fireCustomEvent';\r\nimport { ESC, ENTER, LEFT_ARROW, UP_ARROW, RIGHT_ARROW, DOWN_ARROW } from './keyCode';\r\nimport api from './api';\r\nimport stripTags from 'helpers/stripTags';\r\nimport { createHtmlElement } from 'helpers/createHtmlElement';\r\n\r\nexport class LookUp extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._name = this._getConfigParam('name', null);\r\n this._cls = this._getConfigParam('cls', 'lookup');\r\n this._data = this._getConfigParam('data', []);\r\n this._currentValue = this._getConfigParam('value', null);\r\n this._newItemValue = this._getConfigParam('newItemValue', null);\r\n this._dataUrl = this._getConfigParam('dataUrl', null);\r\n this._copyTitleValue = this._getConfigParam('copyTitleValue', false);\r\n this._limit = this._getConfigParam('limit', this._dataUrl ? 10 : list.ITEMS_UNLIMITED);\r\n this._lookUpParams = this._getConfigParam('lookUpParams', {});\r\n this._disabled = this._getConfigParam('disabled', false);\r\n this._placeholder = this._getConfigParam('placeholder', null);\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._valueField = createHtmlElement('input', {\r\n type: 'hidden',\r\n name: this._name,\r\n });\r\n\r\n render(this._componentElement, this._valueField);\r\n\r\n const inputFieldConfig = {\r\n type: 'text',\r\n class: 'form-control',\r\n };\r\n if (this._disabled) {\r\n inputFieldConfig.disabled = 'disabled';\r\n }\r\n if (null !== this._placeholder) {\r\n inputFieldConfig.placeholder = this._placeholder;\r\n }\r\n this._inputField = createHtmlElement('input', inputFieldConfig);\r\n\r\n this._lookUpButton = createHtmlElement('span', { class: 'form-control-icon form-control-icon-action' });\r\n render(this._lookUpButton, createHtmlElement('i', { class: 'icon-form-control-search' }));\r\n\r\n this._lookUpControl = createHtmlElement('div', { class: 'form-control-group' });\r\n render(this._lookUpControl, this._inputField);\r\n render(this._lookUpControl, this._lookUpButton);\r\n\r\n this._dropdownList = createHtmlElement('ul', { class: 'dropdown-menu lookup-dropdown-menu' });\r\n\r\n this._initCustomLookUpComponent();\r\n if (this._customLookUpComponent) {\r\n render(this._dropdownList,\r\n createElement('li', { class: 'dropdown-header' }, this.lmsg('label')),\r\n );\r\n render(this._dropdownList,\r\n createElement('li',\r\n createElement('div', { class: 'dropdown-menu-content' },\r\n this._lookUpControl,\r\n ),\r\n ),\r\n );\r\n } else {\r\n this._lookUpControl.classList.add('f-large-size');\r\n render(this._componentElement, this._lookUpControl);\r\n }\r\n\r\n this._emptyElement = createHtmlElement('li');\r\n render(this._emptyElement, createElement('div.dropdown-menu-content', this.lmsg('nothingFound')));\r\n render(this._dropdownList, this._emptyElement);\r\n\r\n render(this._componentElement, this._dropdownList);\r\n\r\n if (!this._currentValue && this._newItemValue) {\r\n this._currentValue = this._newItemValue;\r\n this.handleChange();\r\n }\r\n\r\n this._updateValue();\r\n\r\n if (0 < this._data.length) {\r\n this._updateData(this._data);\r\n }\r\n if (this._dataUrl && this._limit === list.ITEMS_UNLIMITED) {\r\n this._getDataByUrl();\r\n }\r\n }\r\n\r\n _initCustomLookUpComponent() {\r\n if (!this._newItemValue) {\r\n return;\r\n }\r\n\r\n this._customLookUpComponent = createHtmlElement('div', { class: 'input-group' });\r\n this._customLookUpComponent.innerHTML = (\r\n '' +\r\n '' +\r\n '' +\r\n ''\r\n );\r\n render(this._componentElement, this._customLookUpComponent);\r\n\r\n render(this._dropdownList, this._createItem(this._newItemValue));\r\n render(this._dropdownList, createHtmlElement('li', { class: 'divider' }));\r\n\r\n this._setDisabled(this._disabled);\r\n }\r\n\r\n _setDisabled(disabled) {\r\n this._disabled = disabled;\r\n\r\n if (this._customLookUpComponent) {\r\n this._customLookUpComponent.style['pointer-events'] = disabled ? 'none' : null;\r\n this._customLookUpComponent.querySelector('.input-group input').disabled = disabled;\r\n this._customLookUpComponent.querySelector('.input-group .btn.dropdown-toggle').disabled = disabled;\r\n }\r\n }\r\n\r\n disable() {\r\n this._setDisabled(true);\r\n }\r\n\r\n enable() {\r\n this._setDisabled(false);\r\n }\r\n\r\n _getDataByUrl(filter) {\r\n this._emptyElement.querySelector('div').innerHTML = this.lmsg('loading');\r\n this._filter = filter;\r\n api.get(prepareUrl(this._dataUrl), {\r\n filter,\r\n limit: this._limit,\r\n ...this._lookUpParams,\r\n })\r\n .then(response => {\r\n if (filter !== this._filter) {\r\n return;\r\n }\r\n\r\n this._emptyElement.querySelector('div').innerHTML = this.lmsg('nothingFound');\r\n if ('error' === response.status) {\r\n return;\r\n }\r\n\r\n this._data = response.data;\r\n this._updateData(this._data);\r\n this._selectResults(filter, response.itemsCount - this._data.length);\r\n });\r\n }\r\n\r\n isEmpty() {\r\n return null === this._currentValue;\r\n }\r\n\r\n getValue() {\r\n return this._currentValue ? this._currentValue.id : null;\r\n }\r\n\r\n getItemValue() {\r\n return this._currentValue ? this._currentValue : null;\r\n }\r\n\r\n getDisplayValue() {\r\n return this._currentValue ? this._currentValue.title : '';\r\n }\r\n\r\n _openList(showAll) {\r\n this._componentElement.classList.add('open');\r\n this._lookUpButton.querySelector('i').classList.remove('icon-form-control-search');\r\n this._lookUpButton.querySelector('i').classList.add('icon-form-control-clear');\r\n this._fixDropdownPosition();\r\n\r\n const filter = showAll ? '' : this._inputField.value.toLocaleLowerCase();\r\n if (this._dataUrl && this._limit !== list.ITEMS_UNLIMITED) {\r\n this._emptyElement.querySelector('div').innerHTML = this.lmsg('loading');\r\n if (this._getDataTask) {\r\n clearTimeout(this._getDataTask);\r\n }\r\n this._getDataTask = setTimeout(function () {\r\n this._getDataByUrl(filter);\r\n }.bind(this), 250);\r\n } else {\r\n this._selectResults(filter);\r\n }\r\n }\r\n\r\n _closeList() {\r\n this._updateValue();\r\n this._componentElement.classList.remove('open');\r\n this._lookUpButton.querySelector('i').classList.add('icon-form-control-search');\r\n this._lookUpButton.querySelector('i').classList.remove('icon-form-control-clear');\r\n }\r\n\r\n _updateValue() {\r\n this._valueField.value = this._currentValue ? (this._copyTitleValue ? this._currentValue.title : this._currentValue.id) : '';\r\n this._inputField.value = this._currentValue && !(this._newItemValue && this._currentValue.id === this._newItemValue.id) ? this._currentValue.title : '';\r\n if (this._newItemValue) {\r\n this._componentElement.querySelector('.input-group input').value = this._currentValue ? this._currentValue.title : '';\r\n }\r\n }\r\n\r\n _selectResults(filter, itemsCount) {\r\n let itemsFound = 0;\r\n this._dropdownList.querySelectorAll('li').forEach(item => {\r\n if (!item._item) {\r\n return;\r\n }\r\n if (this._newItemValue && this._newItemValue.id === item._item.id) {\r\n if (this._currentValue && this._currentValue.id === this._newItemValue.id) {\r\n item.style.display = 'none';\r\n item.nextElementSibling.style.display = 'none';\r\n } else {\r\n item.style.display = '';\r\n item.nextElementSibling.style.display = '';\r\n }\r\n return;\r\n }\r\n item.classList.remove('active');\r\n const itemLink = item.querySelector('a');\r\n let itemData = stripTags(itemLink.innerHTML);\r\n const pos = itemData.toLowerCase().indexOf(filter);\r\n if (-1 !== pos) {\r\n itemsFound++;\r\n if (itemsFound <= this._limit) {\r\n item.style.display = '';\r\n itemData = `${\r\n itemData.substr(0, pos)\r\n }${\r\n itemData.substr(pos, filter.length)\r\n }${\r\n itemData.substr(pos + filter.length)\r\n }`;\r\n } else {\r\n item.style.display = 'none';\r\n }\r\n } else {\r\n item.style.display = 'none';\r\n }\r\n itemLink.innerHTML = itemData;\r\n });\r\n\r\n this._emptyElement.style.display = itemsFound ? 'none' : '';\r\n if (itemsFound) {\r\n const visibleItems = [...this._dropdownList.querySelectorAll('li')].filter(el => el.style.display !== 'none');\r\n if (visibleItems.length) {\r\n visibleItems[0].classList.add('active');\r\n }\r\n }\r\n\r\n itemsFound += itemsCount || 0;\r\n\r\n if (this._searchMoreElement) {\r\n if (itemsFound > this._limit) {\r\n this._searchMoreElement.querySelector('div').innerHTML = this._getSearchMoreText(itemsFound - this._limit);\r\n this._searchMoreElement.style.display = '';\r\n this._searchMoreElement.previousElementSibling.style.display = '';\r\n } else {\r\n this._searchMoreElement.style.display = 'none';\r\n this._searchMoreElement.previousElementSibling.style.display = 'none';\r\n }\r\n }\r\n\r\n this._fixDropdownPosition();\r\n }\r\n\r\n _addEvents() {\r\n if (this._disabled) {\r\n return;\r\n }\r\n\r\n super._addEvents();\r\n\r\n if (this._customLookUpComponent) {\r\n this._customLookUpComponent.addEventListener('click', event => {\r\n event.preventDefault();\r\n Tooltip.hide();\r\n if (this._componentElement.classList.contains('open')) {\r\n this._inputField.blur();\r\n } else {\r\n this._openList(true);\r\n this._inputField.focus();\r\n }\r\n });\r\n } else {\r\n this._inputField.addEventListener('focus', this._inputOnFocus.bind(this));\r\n }\r\n this._inputField.addEventListener('paste', this._inputOnPaste.bind(this));\r\n this._inputField.addEventListener('blur', this._inputOnBlur.bind(this));\r\n this._inputField.addEventListener('keyup', this._inputOnKeyUp.bind(this));\r\n this._inputField.addEventListener('keydown', this._inputOnKeyDown.bind(this));\r\n this._lookUpButton.addEventListener('click', this._lookUpButtonOnClick.bind(this));\r\n }\r\n\r\n _inputOnFocus() {\r\n this._openList(true);\r\n }\r\n\r\n _inputOnBlur() {\r\n // workaround for Google Chrome\r\n setTimeout(() => {\r\n this._closeList();\r\n }, 300);\r\n }\r\n\r\n _inputOnPaste() {\r\n setTimeout(() => {\r\n this._openList();\r\n const activeItem = this._dropdownList.querySelector('li.active');\r\n if (activeItem) {\r\n this._currentValue = activeItem._item;\r\n this._updateValue();\r\n }\r\n }, 300);\r\n }\r\n\r\n _inputOnKeyUp(event) {\r\n if ([UP_ARROW, DOWN_ARROW, LEFT_ARROW, RIGHT_ARROW, ENTER, ESC].indexOf(event.keyCode) !== -1) {\r\n return;\r\n }\r\n\r\n this._openList();\r\n }\r\n\r\n _inputOnKeyDown(event) {\r\n if ([UP_ARROW, DOWN_ARROW].indexOf(event.keyCode) !== -1) {\r\n this._onArrowKeyPressed(event.keyCode);\r\n }\r\n\r\n if (ESC === event.keyCode) {\r\n this._closeList();\r\n }\r\n\r\n if (ENTER === event.keyCode) {\r\n const activeItem = this._dropdownList.querySelector('li.active');\r\n if (activeItem) {\r\n this._currentValue = activeItem._item;\r\n this._closeList();\r\n this.handleChange();\r\n } else {\r\n this._closeList();\r\n this._openList();\r\n }\r\n }\r\n }\r\n\r\n _onArrowKeyPressed(keyCode) {\r\n let nextItem = null;\r\n const activeItem = this._dropdownList.querySelector('li.active');\r\n if (!activeItem) {\r\n nextItem = this._dropdownList.querySelector('li');\r\n while (nextItem && !(nextItem.style.display !== 'none' && nextItem._item)) {\r\n nextItem = nextItem.nextElementSibling;\r\n }\r\n } else if (DOWN_ARROW === keyCode) {\r\n nextItem = activeItem.nextElementSibling;\r\n while (nextItem && !(nextItem.style.display !== 'none' && nextItem._item)) {\r\n nextItem = nextItem.nextElementSibling;\r\n }\r\n } else if (UP_ARROW === keyCode) {\r\n nextItem = activeItem.previousElementSibling;\r\n while (nextItem && !(nextItem.style.display !== 'none' && nextItem._item)) {\r\n nextItem = nextItem.previousElementSibling;\r\n }\r\n }\r\n if (nextItem && nextItem.style.display !== 'none' && nextItem._item) {\r\n nextItem.classList.add('active');\r\n if (activeItem) {\r\n activeItem.classList.remove('active');\r\n }\r\n this._scrollDropdownList();\r\n }\r\n }\r\n\r\n _scrollDropdownList() {\r\n const firstItem = this._dropdownList.querySelector('li.dropdown-menu-list-item');\r\n const activeItem = this._dropdownList.querySelector('li.active');\r\n\r\n if (!firstItem || !activeItem) {\r\n return;\r\n }\r\n\r\n const position = Math.round(activeItem.offsetTop / firstItem.offsetHeight) + 1;\r\n const itemsInFrame = Math.round(this._dropdownList.clientHeight / firstItem.offsetHeight);\r\n\r\n this.frameStart = this.frameStart || 1;\r\n\r\n if (position >= this.frameStart + itemsInFrame) {\r\n this._dropdownList.scrollTop += firstItem.offsetHeight;\r\n this.frameStart++;\r\n } else if (position <= this.frameStart) {\r\n this._dropdownList.scrollTop -= firstItem.offsetHeight;\r\n this.frameStart--;\r\n }\r\n }\r\n\r\n _lookUpButtonOnClick(event) {\r\n event.preventDefault();\r\n\r\n if (this._componentElement.classList.contains('open')) {\r\n this._closeList();\r\n } else {\r\n this._openList(true);\r\n }\r\n }\r\n\r\n _itemOnClick(event) {\r\n event.preventDefault();\r\n this._currentValue = event.target.closest('li')._item;\r\n this._closeList();\r\n this.handleChange();\r\n }\r\n\r\n _itemOnOver() {\r\n this._dropdownList.querySelectorAll('li.active').forEach(element => {\r\n element.classList.remove('active');\r\n });\r\n }\r\n\r\n _createItem(item) {\r\n const listItem = createHtmlElement('li', { class: 'dropdown-menu-list-item' });\r\n listItem.innerHTML = `${escapeHtml(item.title)}`;\r\n listItem._item = item;\r\n listItem.addEventListener('click', this._itemOnClick.bind(this));\r\n listItem.addEventListener('mouseover', this._itemOnOver.bind(this));\r\n\r\n return listItem;\r\n }\r\n\r\n _getSearchMoreText(count) {\r\n return this.lmsg('moreObjectsAvailable', { count });\r\n }\r\n\r\n _updateData(data) {\r\n this._clearData();\r\n\r\n data.forEach(item => {\r\n render(this._dropdownList, this._createItem(item));\r\n });\r\n\r\n this._addSearchMoreElement();\r\n }\r\n\r\n _clearData() {\r\n let el;\r\n while ((el = this._emptyElement.nextSibling)) {\r\n el.parentNode.removeChild(el);\r\n }\r\n }\r\n\r\n _addSearchMoreElement() {\r\n this._searchMoreElement = document.createElement('li');\r\n this._searchMoreElement.innerHTML = '
            ';\r\n this._searchMoreElement.style.display = 'none';\r\n\r\n render(this._dropdownList, '
          • ');\r\n render(this._dropdownList, this._searchMoreElement);\r\n }\r\n\r\n _fixDropdownPosition() {\r\n this._dropdownList.style[isRtl() ? 'right' : 'left'] = null;\r\n\r\n const windowWidth = document.documentElement.clientWidth;\r\n const offsets = this._dropdownList.getBoundingClientRect();\r\n\r\n const delta = (isRtl() ? offsets.left : (windowWidth - offsets.width - offsets.left))\r\n - parseInt(window.getComputedStyle(document.querySelector('.pul-layout__main-inner')).paddingLeft || 0);\r\n\r\n if (delta < 0) {\r\n this._dropdownList.style[isRtl() ? 'right' : 'left'] = `${delta}px`;\r\n }\r\n }\r\n\r\n handleChange() {\r\n fireCustomEvent(this._componentElement, 'component:change');\r\n\r\n const onChange = this._getConfigParam('onChange');\r\n if (typeof onChange === 'function') {\r\n onChange(this._currentValue);\r\n }\r\n }\r\n}\r\n\r\n// TODO PMT-4391: Plesk migrator is broken in Plesk 17.9.1 after cutting core's classes\r\nLookUp.subclasses = [];\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n/**\r\n * This is part of public Jsw API. Don't modify it!\r\n */\r\n\r\nexport { default as List } from './List';\r\nexport { default as ListContextMenu } from './ListContextMenu';\r\n\r\nimport AdditionalActions from './AdditionalActions';\r\nimport { COLUMN_SELECTION, COLUMN_ACTIONS, ITEMS_UNLIMITED } from './constants';\r\n\r\nexport const list = {\r\n COLUMN_SELECTION,\r\n COLUMN_ACTIONS,\r\n ITEMS_UNLIMITED,\r\n AdditionalActions,\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport Cookie from 'common/cookie';\r\nimport { Component, getComponent } from '../component';\r\nimport { Tooltip } from '../tooltip';\r\nimport { bar } from '../bar';\r\nimport { SmallTools } from '../small-tools';\r\nimport { messageBox } from '../message-box';\r\nimport { DropdownManager } from '../dropdown-manager';\r\nimport createComponent from '../createComponent';\r\nimport addStatusMessage from '../addStatusMessage';\r\nimport clearStatusMessages from '../clearStatusMessages';\r\nimport showInternalError from '../showInternalError';\r\nimport prepareUrl from '../prepareUrl';\r\nimport addUrlParams from '../addUrlParams';\r\nimport render from '../render';\r\nimport createElement from '../createElement';\r\nimport escapeHtml from '../escapeHtml';\r\nimport emptyFn from '../emptyFn';\r\nimport { redirect } from '../form-redirect';\r\nimport Filters from './Filters';\r\nimport ListContextMenu from './ListContextMenu';\r\nimport { COLUMN_ACTIONS, COLUMN_SELECTION, ITEMS_UNLIMITED } from './constants';\r\nimport stripTags from 'helpers/stripTags';\r\nimport api from '../api';\r\n\r\nimport './List.less';\r\n\r\n/**\r\n * The class for the implementation of the widget \"List\". In addition to displaying the data,\r\n * it is possible to change the sorting, search, perform group operations.\r\n */\r\nclass List extends Component {\r\n /**\r\n * @cfg {String} listCls=list\r\n */\r\n /**\r\n * @cfg {String} dataUrl=\"\"\r\n */\r\n /**\r\n * @cfg {Object[]} operations List operations.\r\n * See SmallTools.operations for details.\r\n */\r\n /**\r\n * @cfg {Object[]} columns\r\n */\r\n /**\r\n * @cfg {Object[]} itemActions\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._cls += ' js-list';\r\n this._listCls = this._getConfigParam('listCls', 'list');\r\n this._tableId = `${this._id}-table`;\r\n this._dataUrl = this._getConfigParam('dataUrl', '');\r\n this._operations = this._getConfigParam('operations', null);\r\n this._itemActions = this._getConfigParam('itemActions', {});\r\n this._columns = this._getConfigParam('columns', []).filter(Boolean);\r\n this._limitValues = this._getConfigParam('limitValues', [10, 25, 100, ITEMS_UNLIMITED]);\r\n this._splitListData(this._getConfigParam('data', { data: null, pathbar: null, state: null, pager: null, locale: null, additional: null }));\r\n this._searchFilters = $H(this._getConfigParam('searchFilters', {}));\r\n this._searchOveral = this._getConfigParam('searchOveral', null);\r\n this._pageable = this._getConfigParam('pageable', true);\r\n /** @deprecated use renderDisabledSelectHint instead */\r\n this._disabledSelectHint = this._getConfigParam('disabledSelectHint', '');\r\n this._renderDisabledSelectHint = this._getConfigParam('renderDisabledSelectHint', null);\r\n this._clearStatusOnReload = this._getConfigParam('clearStatusOnReload', true);\r\n this.isDisabledItem = this._getConfigParam('isDisabledItem', () => false);\r\n this._onRedraw = this._getConfigParam('onRedraw', emptyFn);\r\n this._emptyViewMode = this._getConfigParam('emptyViewMode', 'items');\r\n this._getTotalInfo = this._getConfigParam('getTotalInfo', function () {\r\n return this.getLocale().formatMessage('recordsTotal', { total: this._pager.totalItemCount });\r\n });\r\n this._getRowClass = this._getConfigParam('getRowClass', function () {\r\n return '';\r\n });\r\n\r\n if (Array.isArray(this._operations)) {\r\n this._operations = this._operations.filter(value => value !== null);\r\n if (!this._operations.length) {\r\n this._operations = null;\r\n }\r\n }\r\n }\r\n\r\n _getSearchOveralField() {\r\n if (null === this._searchOveral) {\r\n this._searchFilters.each(function (pair) {\r\n if (pair.value.overal) {\r\n this._searchOveral = pair.key;\r\n }\r\n }, this);\r\n if (null === this._searchOveral && 1 === this._searchFilters.keys().length) {\r\n this._searchOveral = this._searchFilters.keys()[0];\r\n }\r\n if (null === this._searchOveral) {\r\n this._searchOveral = false;\r\n }\r\n }\r\n\r\n return this._searchOveral;\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._updateComponentElement(`
            `);\r\n this._initDisablerOverlay();\r\n }\r\n\r\n _splitListData(listData, place) {\r\n if (!listData || !listData.data) {\r\n return false;\r\n }\r\n\r\n const dataLen = listData.data.length;\r\n if ('before' === place) {\r\n this._data = listData.data.concat(this._data);\r\n } else if ('after' === place) {\r\n this._data = this._data.concat(listData.data);\r\n } else {\r\n this._data = listData.data;\r\n }\r\n this._state = listData.state || {};\r\n this._pager = listData.pager || {};\r\n if (listData.locale) {\r\n this._locale.messages = { ...this._locale.messages, ...listData.locale };\r\n }\r\n if (listData.pathbar) {\r\n this._pathbar = listData.pathbar;\r\n }\r\n if (listData.additional) {\r\n this._additionalData = { ...this._additionalData, ...listData.additional };\r\n }\r\n return dataLen;\r\n }\r\n\r\n _isColumnSelectionPresent() {\r\n return this._getColumns().includes(COLUMN_SELECTION);\r\n }\r\n\r\n /**\r\n * @param {String} dataIndex\r\n */\r\n onHeaderClick(dataIndex) {\r\n this._state.sortField = dataIndex;\r\n this._state.sortDirection = ('down' === this._state.sortDirection)\r\n ? 'up'\r\n : 'down';\r\n\r\n this.reload(`/sort-field/${dataIndex}/sort-dir/${this._state.sortDirection}`);\r\n }\r\n\r\n /**\r\n * @param {Boolean} [force]\r\n */\r\n updateFilter(force) {\r\n if (!document.getElementById(this._tableId)) {\r\n this.checkEmptyList();\r\n return;\r\n }\r\n let filterChanged = false;\r\n let hasFilter = false;\r\n this._getColumns()\r\n .filter(({ isVisible }) => 'function' !== typeof isVisible || isVisible())\r\n .forEach(column => {\r\n if (!column.filter || !column.filter.type) {\r\n return;\r\n }\r\n\r\n let input;\r\n if (column.filter.options) {\r\n if (column.filter.multi) {\r\n input = this._componentElement.querySelector(`th[data-index=\"${column.dataIndex}\"]`).querySelectorAll('input[type=checkbox]:checked');\r\n } else {\r\n input = this._componentElement.querySelector(`th[data-index=\"${column.dataIndex}\"] select`);\r\n }\r\n } else {\r\n input = this._componentElement.querySelector(`th[data-index=\"${column.dataIndex}\"] input`);\r\n }\r\n if (!input) {\r\n column.filter.value = '';\r\n return;\r\n }\r\n\r\n hasFilter = true;\r\n\r\n let value;\r\n if (column.filter.multi) {\r\n value = [];\r\n input.forEach(function (el) {\r\n value.push(el.value.toLowerCase());\r\n });\r\n if (value.length === column.filter.options.length) {\r\n value = [];\r\n }\r\n } else {\r\n value = input.value.toLowerCase();\r\n }\r\n if (value === column.filter.value) {\r\n return;\r\n }\r\n\r\n column.filter.value = value;\r\n filterChanged = true;\r\n });\r\n\r\n if (!hasFilter || (!force && !filterChanged)) {\r\n this.checkEmptyList();\r\n return;\r\n }\r\n let oddEvenRowClass = 'even';\r\n document.getElementById(this._tableId).querySelectorAll('tr.odd, tr.even').forEach((row, rowIndex) => {\r\n const cells = row.childNodes;\r\n let match = true;\r\n\r\n this._getColumns()\r\n .filter(({ isVisible }) => 'function' !== typeof isVisible || isVisible())\r\n .forEach((column, columnIndex) => {\r\n const value = this._data[rowIndex][column.dataIndex];\r\n if (cells[columnIndex]._filtered) {\r\n if (column.noEscape) {\r\n cells[columnIndex].innerHTML = value;\r\n } else {\r\n cells[columnIndex].innerHTML = escapeHtml(value);\r\n }\r\n delete cells[columnIndex]._filtered;\r\n }\r\n\r\n if (!match || !column.filter || !column.filter.type || 0 === column.filter.value.length) {\r\n return;\r\n }\r\n\r\n if (column.filter.type === 'date') {\r\n if (new Date(value.replace(/ /g, 'T')) < new Date(column.filter.value.replace(/ /g, 'T'))) {\r\n match = false;\r\n }\r\n return;\r\n }\r\n\r\n if (column.filter.options) {\r\n if (column.filter.multi) {\r\n if (column.filter.value.indexOf(value.toLowerCase()) === -1) {\r\n match = false;\r\n }\r\n } else if (value.toLowerCase() !== column.filter.value) {\r\n match = false;\r\n }\r\n return;\r\n }\r\n\r\n const pos = value.toLowerCase().indexOf(column.filter.value);\r\n\r\n if (pos === -1 || (column.filter.startsWith && pos !== 0)) {\r\n match = false;\r\n return;\r\n }\r\n\r\n if (column.noEscape) {\r\n cells[columnIndex].innerHTML = `${value.substr(0, pos)\r\n }${\r\n value.substr(pos, column.filter.value.length)\r\n }${\r\n value.substr(pos + column.filter.value.length)}`;\r\n } else {\r\n cells[columnIndex].innerHTML = `${escapeHtml(value.substr(0, pos))\r\n }${\r\n escapeHtml(value.substr(pos, column.filter.value.length))\r\n }${\r\n escapeHtml(value.substr(pos + column.filter.value.length))}`;\r\n }\r\n cells[columnIndex]._filtered = true;\r\n });\r\n\r\n if (match) {\r\n row.classList.remove(oddEvenRowClass);\r\n oddEvenRowClass = oddEvenRowClass === 'odd' ? 'even' : 'odd';\r\n row.classList.add(oddEvenRowClass);\r\n row.style.display = '';\r\n } else {\r\n row.style.display = 'none';\r\n }\r\n });\r\n this.checkEmptyList();\r\n }\r\n\r\n /**\r\n * @param {String} value\r\n */\r\n onLimitClick(value) {\r\n this.reload({ 'items-per-page': value });\r\n }\r\n\r\n /**\r\n * @param {String} page\r\n */\r\n onPagerClick(page) {\r\n this.reload({ page });\r\n }\r\n\r\n handleSelectButtonClick = () => {\r\n const globalCheckbox = this._componentElement.querySelector('input[name=\"listGlobalCheckbox\"]');\r\n globalCheckbox.checked = !globalCheckbox.checked;\r\n this.onListGlobalCheckboxClick();\r\n };\r\n\r\n onListGlobalCheckboxClick() {\r\n const actionsBox = this._getActionBoxElement();\r\n const globalCheckbox = this._componentElement.querySelector('input[name=\"listGlobalCheckbox\"]');\r\n\r\n if (actionsBox) {\r\n const selectButton = actionsBox.querySelector('.r-actions-select');\r\n if (selectButton) {\r\n if (globalCheckbox.checked) {\r\n selectButton.classList.add('r-actions-item-active');\r\n } else {\r\n selectButton.classList.remove('r-actions-item-active');\r\n }\r\n }\r\n }\r\n\r\n this._componentElement.querySelectorAll('input[name=\"listCheckbox[]\"]').forEach(checkbox => {\r\n if (globalCheckbox.checked) {\r\n checkbox.closest('tr').classList.add('selected');\r\n } else {\r\n checkbox.closest('tr').classList.remove('selected');\r\n }\r\n checkbox.checked = globalCheckbox.checked;\r\n });\r\n }\r\n\r\n onPagerButtonClick(event) {\r\n const paging = this._componentElement.querySelector('.paging');\r\n const show = !paging.classList.contains('r-paging-visible');\r\n if (this._actionBox) {\r\n this._actionBox._hideResponsiveButtonBlocks();\r\n }\r\n if (show) {\r\n paging.classList.add('r-paging-visible');\r\n }\r\n event.stopPropagation();\r\n }\r\n\r\n listHeadersView() {\r\n const headers = [];\r\n const filters = [];\r\n let hasFilter = false;\r\n let colspan = 0;\r\n\r\n this._getColumns().forEach(column => {\r\n if (colspan) {\r\n colspan--;\r\n return;\r\n }\r\n\r\n if ('function' === typeof column.isVisible) {\r\n if (!column.isVisible()) {\r\n return;\r\n }\r\n }\r\n\r\n if (column.headerColspan) {\r\n colspan = column.headerColspan;\r\n }\r\n\r\n let { header } = column;\r\n\r\n let headerCls = column.headerCls ? `.${column.headerCls}` : '';\r\n\r\n if ('undefined' !== typeof column.headerRenderer) {\r\n header = column.headerRenderer(column);\r\n } else {\r\n let sortCssClass = '';\r\n if (this._state.sortField === column.dataIndex) {\r\n sortCssClass = 'down' === this._state.sortDirection ? '' : '.sort-up';\r\n headerCls += '.sort';\r\n }\r\n\r\n if (column.sortable) {\r\n header = createElement(`a${sortCssClass}`, { onclick: this.onHeaderClick.bind(this, column.dataIndex) }, header);\r\n }\r\n }\r\n headers.push(createElement(`th${headerCls}${colspan ? `[colspan=\"${colspan}\"]` : ''}`, { ...column.headerParams }, header));\r\n\r\n let filter = '';\r\n if (column.filter) {\r\n hasFilter = true;\r\n filter = Filters.create({\r\n name: column.dataIndex,\r\n locale: this.getLocale(),\r\n ...column.filter,\r\n }, this.updateFilter.bind(this, false));\r\n }\r\n filters.push(createElement('th', { 'data-index': column.dataIndex }, filter));\r\n });\r\n\r\n return createElement('thead',\r\n hasFilter ? createElement('tr.list-search-filter', filters) : '',\r\n createElement('tr', headers),\r\n );\r\n }\r\n\r\n listDataView(listData = this._data, indexOffset = 0) {\r\n if (!listData) {\r\n return null;\r\n }\r\n\r\n return createElement('tbody',\r\n Object.keys(listData).map(index => this.rowView(listData[index], index, indexOffset)),\r\n );\r\n }\r\n\r\n rowView(item, index, indexOffset) {\r\n const columns = this._getColumns()\r\n .filter(column => 'function' !== typeof column.isVisible || column.isVisible())\r\n .map(column => {\r\n let cell = null;\r\n\r\n if (typeof column.renderer === 'function') {\r\n const isDisabled = this.isDisabledItem(item);\r\n\r\n if (!isDisabled || !column.hideDisabled) {\r\n cell = column.renderer.call(this, item, isDisabled);\r\n }\r\n } else if ('undefined' !== typeof column.dataIndex && 'undefined' !== typeof item[column.dataIndex]) {\r\n if (column.noEscape) {\r\n cell = item[column.dataIndex];\r\n } else {\r\n cell = escapeHtml(item[column.dataIndex]);\r\n }\r\n }\r\n\r\n return createElement('td', {\r\n class: column.cls,\r\n }, cell);\r\n });\r\n\r\n return createElement(`tr.${this._getRowClass(item)}.${(index + indexOffset) % 2 ? 'even' : 'odd'}`, {\r\n 'data-row-id': item.id,\r\n }, columns);\r\n }\r\n\r\n listView() {\r\n return createElement(`.${this._listCls}`,\r\n createElement(`table#${this._tableId}[width=\"100%\"][cellspacing=\"0\"]`,\r\n this.listHeadersView(),\r\n this.listDataView(),\r\n ),\r\n );\r\n }\r\n\r\n containerView() {\r\n return createElement(`#${this._id}-container`,\r\n this._getActionBox(),\r\n this._getPathbarHtml(),\r\n this._getPagerHtml(),\r\n this.listView(),\r\n this._getPagerHtml(),\r\n this.emptyViewContainer(),\r\n );\r\n }\r\n\r\n checkEmptyList() {\r\n const isEmpty = this.isListEmpty();\r\n this._componentElement.querySelectorAll('.js-empty-list').forEach(element => {\r\n element.style.display = isEmpty ? '' : 'none';\r\n });\r\n this._componentElement.querySelectorAll('.paging').forEach(element => {\r\n element.style.display = isEmpty ? 'none' : '';\r\n });\r\n const listSelector = this._listCls.split(' ').reduce((previousValue, currentValue) => {\r\n if (currentValue !== '') {\r\n previousValue += `.${currentValue}`;\r\n }\r\n return previousValue;\r\n }, '');\r\n this._componentElement.querySelectorAll(listSelector).forEach(element => {\r\n element.style.display = isEmpty ? 'none' : '';\r\n });\r\n }\r\n\r\n isFiltered() {\r\n return Object.values(this._state?.searchFilters || {}).some(({ searchText }) => searchText);\r\n }\r\n\r\n isListEmpty() {\r\n if (!document.getElementById(this._tableId)) {\r\n return !this._data.length;\r\n }\r\n return ![...document.getElementById(this._tableId).querySelectorAll('tr.odd, tr.even')].filter(element => element.style.display !== 'none').length;\r\n }\r\n\r\n _getActionBox() {\r\n if (!this._operations && !this._searchFilters.keys().length) {\r\n return null;\r\n }\r\n\r\n if (!this.isFiltered() && this.isListEmpty() && this._emptyViewMode === 'all') {\r\n return null;\r\n }\r\n\r\n if (this._state.forceShowSearch) {\r\n Cookie.set(`${this._id}-search-show`, 'true');\r\n }\r\n\r\n this._actionBox = new SmallTools({\r\n locale: this.getLocale(),\r\n operationsId: `${this._id}-operations`,\r\n operations: this._getOperations(),\r\n listId: this._id,\r\n searchFilters: this._searchFilters,\r\n searchFiltersState: this._state.searchFilters,\r\n searchOveral: this._searchOveral,\r\n searchHandler: this._onSearchClick.bind(this),\r\n resetSearchHandler: this._onResetSearchClick.bind(this),\r\n searchCollapsed: 'true' !== Cookie.get(`${this._id}-search-show`),\r\n onToggleSearch: collapsed => {\r\n Cookie.set(`${this._id}-search-show`, !collapsed);\r\n this._hideItemsNotSelectedWarning();\r\n },\r\n quickSearchInputId: `${this._id}-search-text-${this._getSearchOveralField()}`,\r\n });\r\n\r\n return this._actionBox;\r\n }\r\n\r\n _getActionBoxElement() {\r\n return this._componentElement.querySelector('.actions-box');\r\n }\r\n\r\n _getPathbarHtml() {\r\n if (!this._pathbar) {\r\n return '';\r\n }\r\n\r\n return `
            `;\r\n }\r\n\r\n _getPagerHtml() {\r\n return this._pageable ? (\r\n createElement('.paging',\r\n createElement('.paging-area',\r\n createElement('span.paging-info', { onclick: e => this.onPagerButtonClick(e) }, this._getTotalInfo()),\r\n createElement('span.paging-view', this.lmsg('numberOfItemPerPage'), ': ', this._getLimitValuesHtml()),\r\n this._pager.pageCount > 1 ? createElement('span.paging-nav', this.lmsg('pages'), ': ', this._getPagesItemsHtml()) : null,\r\n ),\r\n )\r\n ) : null;\r\n }\r\n\r\n _getLimitValuesHtml() {\r\n const result = [];\r\n this._limitValues.forEach((limitValue, index) => {\r\n const limitValueTitle = (ITEMS_UNLIMITED === limitValue)\r\n ? this.lmsg('allItems')\r\n : limitValue;\r\n\r\n if (index > 0) {\r\n result.push(' ');\r\n }\r\n result.push(this._pager.itemCountPerPage !== limitValue ? (\r\n createElement('a', { onclick: () => this.onLimitClick(limitValue) }, limitValueTitle)\r\n ) : (\r\n createElement('span', limitValueTitle)\r\n ));\r\n });\r\n return result;\r\n }\r\n\r\n _getPagesItemsHtml() {\r\n const result = [];\r\n\r\n if (this._pager.first !== this._pager.current) {\r\n result.push(createElement('a', { onclick: () => this.onPagerClick(this._pager.first) }, this.lmsg('firstPage')));\r\n } else {\r\n result.push(createElement('span', this.lmsg('firstPage')));\r\n }\r\n result.push(' ');\r\n\r\n if (this._pager.previous) {\r\n result.push(createElement('a', { onclick: () => this.onPagerClick(this._pager.previous) }, '<<'));\r\n } else {\r\n result.push(createElement('span', '<<'));\r\n }\r\n result.push(' ');\r\n\r\n $H(this._pager.pagesInRange).values().each(page => {\r\n if (page !== this._pager.current) {\r\n result.push(createElement('a', { onclick: () => this.onPagerClick(page) }, page));\r\n } else {\r\n result.push(page);\r\n }\r\n result.push(' ');\r\n });\r\n\r\n if (this._pager.next) {\r\n result.push(createElement('a', { onclick: () => this.onPagerClick(this._pager.next) }, '>>'));\r\n } else {\r\n result.push(createElement('span', '>>'));\r\n }\r\n result.push(' ');\r\n\r\n if (this._pager.last !== this._pager.current) {\r\n result.push(createElement('a', { onclick: () => this.onPagerClick(this._pager.last) }, this.lmsg('lastPage')));\r\n } else {\r\n result.push(createElement('span', this.lmsg('lastPage')));\r\n }\r\n\r\n return result;\r\n }\r\n\r\n emptyViewContainer() {\r\n return createElement('.js-empty-list.empty-list',\r\n this.isFiltered() ? createElement('p.text-muted', this.lmsg('noEntriesFound')) : this.emptyView(),\r\n );\r\n }\r\n\r\n emptyView() {\r\n return this._getConfigParam('emptyView', createElement('p.text-muted', this.lmsg('noEntries')));\r\n }\r\n\r\n _onSearchClick(form) {\r\n this.reload(`?${Form.serialize(form)}`);\r\n }\r\n\r\n _onResetSearchClick() {\r\n this.reload('/reset-search/true/');\r\n }\r\n\r\n _addSelectionHandlers() {\r\n let selectButton;\r\n\r\n const rActionsList = this._componentElement.querySelector('.actions-box .r-actions-list');\r\n if (rActionsList) {\r\n selectButton = new Element('li', { class: 'r-actions-item r-actions-select' });\r\n selectButton.innerHTML = '';\r\n selectButton.addEventListener('click', event => {\r\n event.stopPropagation();\r\n this.handleSelectButtonClick();\r\n });\r\n render(rActionsList, selectButton, 'top');\r\n }\r\n\r\n const globalCheckbox = this._componentElement.querySelector('input[name=\"listGlobalCheckbox\"]');\r\n globalCheckbox.addEventListener('click', this.onListGlobalCheckboxClick.bind(this));\r\n\r\n this._componentElement.querySelectorAll('input[name=\"listCheckbox[]\"]').forEach(checkbox => {\r\n checkbox.addEventListener('click', () => {\r\n if (checkbox.checked) {\r\n checkbox.closest('tr').classList.add('selected');\r\n } else {\r\n checkbox.closest('tr').classList.remove('selected');\r\n globalCheckbox.checked = false;\r\n if (selectButton) {\r\n selectButton.classList.remove('r-actions-item-active');\r\n }\r\n }\r\n });\r\n });\r\n\r\n document.body.addEventListener('click', event => {\r\n if (event.target.closest('.actions-box')) {\r\n return;\r\n }\r\n\r\n this._hideItemsNotSelectedWarning();\r\n });\r\n document.body.addEventListener('touchstart', () => {\r\n this._hideItemsNotSelectedWarning();\r\n });\r\n }\r\n\r\n _addPathbar() {\r\n if (!this._pathbar) {\r\n return;\r\n }\r\n\r\n render(document.getElementById(`${this._id}-pathbar`), createComponent(this._pathbar));\r\n }\r\n\r\n disable() {\r\n this._disablerOverlay.style.display = '';\r\n }\r\n\r\n enable() {\r\n this._disablerOverlay.style.display = 'none';\r\n }\r\n\r\n getSelectedItemsIds() {\r\n return [...this._componentElement.querySelectorAll('input[name=\"listCheckbox[]\"]')]\r\n .filter(({ checked }) => checked)\r\n .map(({ value }) => value);\r\n }\r\n\r\n getSelectedItems() {\r\n const ids = [];\r\n const selectedItems = [];\r\n\r\n this.getSelectedItemsIds().forEach(function (id) {\r\n ids.push(id);\r\n });\r\n\r\n this._data.forEach(function (dataItem) {\r\n const itemIndex = ids.indexOf(dataItem.id.toString());\r\n if (itemIndex < 0) {\r\n return;\r\n }\r\n\r\n selectedItems.push(dataItem);\r\n });\r\n\r\n return selectedItems;\r\n }\r\n\r\n checkNonEmptySelection() {\r\n if (!this.getSelectedItemsIds().length) {\r\n this._showItemsNotSelectedWarning();\r\n return false;\r\n }\r\n this._hideItemsNotSelectedWarning();\r\n return true;\r\n }\r\n\r\n execLongGroupOperation(params, event) {\r\n let itemId;\r\n params.onSuccess = function () {\r\n const progressBar = getComponent('asyncProgressBarWrapper');\r\n progressBar.removePreparingItem(itemId);\r\n progressBar.update();\r\n };\r\n\r\n params.beforeSendRequest = function (sendRequest) {\r\n const beginOffset = Element.cumulativeOffset(event.target);\r\n itemId = getComponent('asyncProgressBarWrapper').fly(beginOffset,\r\n params.taskName,\r\n function () {\r\n sendRequest();\r\n });\r\n };\r\n\r\n this.execGroupOperation(params);\r\n }\r\n\r\n execGroupOperation(params) {\r\n const payload = params.payload || {};\r\n // workaround for $A(payload) called in extensions\r\n Object.defineProperty(payload, 'toArray', {\r\n value() {\r\n return Object.entries(this).map(([key, value]) => ({ key, value }));\r\n },\r\n });\r\n\r\n const idsParamName = params.submitVarName\r\n ? params.submitVarName\r\n : 'ids';\r\n\r\n const { toJsonPayload } = params;\r\n const selectedItems = params.selectedItems ? params.selectedItems : this.getSelectedItemsIds();\r\n selectedItems.forEach((id, index) => {\r\n if (toJsonPayload) {\r\n payload[idsParamName] ||= [];\r\n payload[idsParamName].push(id);\r\n } else {\r\n payload[`${idsParamName}[${index}]`] = id;\r\n }\r\n });\r\n\r\n if (params.checkSelection) {\r\n if (!params.checkSelection()) {\r\n return;\r\n }\r\n } else if (!selectedItems.length) {\r\n this._showItemsNotSelectedWarning();\r\n return;\r\n } else {\r\n this._hideItemsNotSelectedWarning();\r\n }\r\n\r\n const submit = this._submit;\r\n const sendRequestHandler = params.submitHandler\r\n ? params.submitHandler\r\n : (url, payload) => {\r\n const parameters = {\r\n method: 'post',\r\n parameters: payload,\r\n reloading: false,\r\n context: this,\r\n\r\n onSuccess: transport => {\r\n let response;\r\n try {\r\n response = JSON.parse(transport.responseText);\r\n } catch {\r\n showInternalError(transport.responseText);\r\n return;\r\n }\r\n if (response.redirect) {\r\n redirect(response.redirect);\r\n } else if (!response.noReload) {\r\n parameters.reloading = true;\r\n this.reload();\r\n }\r\n\r\n if (this._clearStatusOnReload) {\r\n clearStatusMessages();\r\n }\r\n response.statusMessages?.forEach(({ status, content }) => {\r\n addStatusMessage(status, content);\r\n });\r\n\r\n if (params.onSuccess) {\r\n params.onSuccess(response);\r\n }\r\n },\r\n\r\n onCreate: () => {\r\n this.disable();\r\n },\r\n\r\n onComplete: () => {\r\n if (!parameters.reloading) {\r\n this.enable();\r\n }\r\n },\r\n\r\n onFailure: req => {\r\n if (504 === req.status) {\r\n addStatusMessage('error', this.lmsg('timeoutMessage'));\r\n } else {\r\n showInternalError(req.responseText);\r\n }\r\n\r\n this.enable();\r\n },\r\n };\r\n\r\n submit(prepareUrl(url), parameters);\r\n };\r\n\r\n const sendRequest = function () {\r\n if (params.beforeSendRequest) {\r\n params.beforeSendRequest(() => {\r\n sendRequestHandler(params.url, payload);\r\n }, payload);\r\n } else {\r\n sendRequestHandler(params.url, payload);\r\n }\r\n };\r\n\r\n let { skipConfirmation } = params;\r\n const { mouseEvent } = params;\r\n\r\n if (mouseEvent && !skipConfirmation) {\r\n mouseEvent.preventDefault();\r\n skipConfirmation = mouseEvent.shiftKey;\r\n }\r\n\r\n if (skipConfirmation) {\r\n sendRequest();\r\n } else {\r\n params.confirmationPopup = params.confirmationPopup || this._confirmationPopup.bind(this, params, sendRequest);\r\n params.confirmationPopup(payload);\r\n }\r\n }\r\n\r\n _submit(url, params) {\r\n new Ajax.Request(url, params);\r\n }\r\n\r\n _confirmationPopup({\r\n getConfirmOnGroupOperation,\r\n text,\r\n description,\r\n subtype,\r\n needAttention = false,\r\n needAttentionText = '',\r\n needAttentionBlockSubmit = false,\r\n needAttentionOnChange = null,\r\n requestUrl,\r\n isAjax,\r\n loadingTitle,\r\n locale = {},\r\n }, onYesClick, requestParams) {\r\n messageBox.show({\r\n type: messageBox.TYPE_YESNO,\r\n buttonTitles: ['Yes', 'No', 'Wait'].reduce((titles, key) => {\r\n const buttonKey = `button${key}`;\r\n if (locale[buttonKey]) {\r\n titles[key.toLowerCase()] = locale[buttonKey];\r\n }\r\n return titles;\r\n }, {}),\r\n text: getConfirmOnGroupOperation ? getConfirmOnGroupOperation() : text || locale.confirmOnGroupOperation,\r\n description,\r\n subtype,\r\n needAttention,\r\n needAttentionText,\r\n needAttentionBlockSubmit,\r\n needAttentionOnChange,\r\n onYesClick,\r\n\r\n isAjax,\r\n requestUrl,\r\n requestParams,\r\n loadingTitle,\r\n });\r\n }\r\n\r\n _showItemsNotSelectedWarning() {\r\n this._hideItemsNotSelectedWarning();\r\n const element = this._getActionBoxElement()?.querySelector('.actions-msg-container');\r\n if (element) {\r\n element.style.display = '';\r\n } else {\r\n render(this._getActionBoxElement(), (\r\n '
            ' +\r\n `${this.lmsg('itemsNotSelected')}` +\r\n '
            '\r\n ), 'top');\r\n }\r\n this._itemsNotSelectedTimerId = setTimeout(() => {\r\n this._hideItemsNotSelectedWarning();\r\n }, 3000);\r\n }\r\n\r\n _hideItemsNotSelectedWarning() {\r\n clearTimeout(this._itemsNotSelectedTimerId);\r\n const element = this._getActionBoxElement()?.querySelector('.actions-msg-container');\r\n if (element) {\r\n element.style.display = 'none';\r\n }\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n\r\n document.body.addEventListener('click', () => {\r\n const paging = this._componentElement.querySelector('.paging');\r\n if (paging) {\r\n paging.classList.remove('r-paging-visible');\r\n }\r\n });\r\n }\r\n\r\n reload(urlParams, place) {\r\n urlParams = urlParams || '';\r\n\r\n if (!this._dataUrl) {\r\n return null;\r\n }\r\n\r\n let reloadUrl = addUrlParams(this._dataUrl, urlParams);\r\n\r\n if (this._additionalData && this._additionalData.controllerName) {\r\n reloadUrl = addUrlParams(reloadUrl, { controllerName: this._additionalData.controllerName });\r\n }\r\n if (this._additionalData && this._additionalData.actionName) {\r\n reloadUrl = addUrlParams(reloadUrl, { actionName: this._additionalData.actionName });\r\n }\r\n\r\n if (this._request) {\r\n this._request.abort();\r\n }\r\n\r\n this._request = new Ajax.Request(prepareUrl(reloadUrl), {\r\n method: 'get',\r\n onSuccess: this._onReloadSuccess.bind(this, place),\r\n onFailure: this._onReloadFailure.bind(this),\r\n onException: this._onReloadException.bind(this),\r\n onCreate: this._onReloadCreate.bind(this),\r\n onComplete: this._onReloadComplete.bind(this),\r\n });\r\n return this._request;\r\n }\r\n\r\n _onReloadSuccess(place, transport) {\r\n if (!transport.responseText) {\r\n // :INFO: sometimes happens in FF if you are go to other page during request\r\n return;\r\n }\r\n\r\n let data = {};\r\n try {\r\n data = JSON.parse(transport.responseText);\r\n } catch {\r\n showInternalError(transport.responseText);\r\n return;\r\n }\r\n if (data.redirect) {\r\n redirect(data.redirect);\r\n }\r\n const dataLen = this._splitListData(data, place);\r\n if (false === dataLen) {\r\n this.processReloadError(data);\r\n } else {\r\n this.redraw(place, dataLen);\r\n }\r\n }\r\n\r\n _onReloadFailure(transport) {\r\n showInternalError(transport.responseText);\r\n }\r\n\r\n _onReloadException(transport, exception) {\r\n showInternalError(`${exception}\\n${transport.responseText}`);\r\n }\r\n\r\n _onReloadCreate() {\r\n if (this._clearStatusOnReload) {\r\n clearStatusMessages();\r\n }\r\n this.disable();\r\n }\r\n\r\n _onReloadComplete() {\r\n this._request = null;\r\n this.enable();\r\n }\r\n\r\n _addDisabledCheckboxesHints() {\r\n const checkboxes = this._componentElement.querySelectorAll('input[type=\"checkbox\"][disabled]');\r\n\r\n checkboxes.forEach(checkbox => {\r\n new Tooltip.Instance(checkbox.previousSibling, { text: this._disabledSelectHint });\r\n });\r\n }\r\n\r\n _renderDisabledCheckboxesHints() {\r\n if (!this._renderDisabledSelectHint) {\r\n return;\r\n }\r\n\r\n this._data.forEach(item => {\r\n const hint = this._renderDisabledSelectHint(item);\r\n\r\n if (!hint) {\r\n return;\r\n }\r\n\r\n const row = document.getElementById(this._tableId).querySelector(`[data-row-id=\"${item.id}\"]`);\r\n const checkbox = row.querySelector('input[type=\"checkbox\"][disabled]');\r\n\r\n if (!checkbox) {\r\n return;\r\n }\r\n\r\n new Tooltip.Instance(checkbox.previousSibling, { text: hint });\r\n });\r\n }\r\n\r\n /**\r\n * @param {String} [place]\r\n * @param {Number} [dataLen]\r\n */\r\n redrawPartial(place, dataLen) {\r\n if (!dataLen) {\r\n return;\r\n }\r\n\r\n if ('before' === place) {\r\n render(\r\n document.getElementById(this._tableId).querySelector('thead'),\r\n this.listDataView(this._data.slice(0, dataLen)),\r\n 'after',\r\n );\r\n } else if ('after' === place) {\r\n render(\r\n document.getElementById(this._tableId),\r\n this.listDataView(this._data.slice(-dataLen)),\r\n );\r\n }\r\n\r\n Tooltip.initData(this._componentElement);\r\n this.updateFilter(true);\r\n }\r\n\r\n /**\r\n * @param {String} [place]\r\n * @param {Number} [dataLen]\r\n */\r\n redraw(place, dataLen) {\r\n if (place && document.getElementById(this._tableId)) {\r\n this.redrawPartial(place, dataLen);\r\n this._onRedraw();\r\n return;\r\n }\r\n\r\n this._componentElement.removeChild(this._componentElement.firstChild);\r\n render(this._componentElement, this.containerView(), 'top');\r\n\r\n if (this._isColumnSelectionPresent() && this._pager.totalItemCount > 0) {\r\n this._addSelectionHandlers();\r\n }\r\n if (this._contextMenu) {\r\n this._contextMenu.onRedraw();\r\n }\r\n\r\n this._addPathbar();\r\n\r\n if (this._disabledSelectHint) {\r\n this._addDisabledCheckboxesHints();\r\n }\r\n this._renderDisabledCheckboxesHints();\r\n\r\n this._addResponsiveHtml();\r\n\r\n this._initDropdowns();\r\n this._initItemActions();\r\n Tooltip.initData(this._componentElement);\r\n this.updateFilter(true);\r\n this._onRedraw();\r\n }\r\n\r\n _initItemActions() {\r\n this._componentElement.querySelectorAll('a[data-action-name]').forEach(link => {\r\n link.addEventListener('click', event => {\r\n event.preventDefault();\r\n if (!this._itemActions[link.dataset.actionName]) {\r\n return;\r\n }\r\n\r\n const itemId = link.closest('tr').dataset.rowId;\r\n const row = this._data.filter(({ id }) => id === itemId)[0];\r\n this._itemActions[link.dataset.actionName](row, event);\r\n });\r\n });\r\n }\r\n\r\n _initDropdowns() {\r\n let dropdown;\r\n this._dropdowns = this._dropdowns || [];\r\n while ((dropdown = this._dropdowns.pop())) {\r\n DropdownManager.unregister(dropdown);\r\n }\r\n\r\n this._componentElement.querySelectorAll('.dropdown .input-group').forEach(el => {\r\n this._dropdowns.push(DropdownManager.register(el,\r\n function () {\r\n return el.parentNode.classList.contains('open');\r\n },\r\n function () {\r\n el.parentNode.classList.add('open');\r\n },\r\n function () {\r\n el.parentNode.classList.remove('open');\r\n },\r\n ));\r\n });\r\n }\r\n\r\n /**\r\n * @param {*} data\r\n */\r\n processReloadError(data) {\r\n if (data && data.statusMessages) {\r\n data.statusMessages.forEach(({ status, content }) => {\r\n addStatusMessage(status, content);\r\n });\r\n } else {\r\n showInternalError('Unable to load list data.');\r\n }\r\n }\r\n\r\n /**\r\n * @param {Function} callback\r\n * @returns {Boolean}\r\n */\r\n hasSelectedItems(callback) {\r\n const selected = this.getSelectedItemsIds();\r\n\r\n if (!selected.length) {\r\n this._showItemsNotSelectedWarning();\r\n return false;\r\n }\r\n this._hideItemsNotSelectedWarning();\r\n\r\n if (callback) {\r\n callback.bind(this)();\r\n }\r\n\r\n return true;\r\n }\r\n\r\n getItemById(itemId) {\r\n for (let i = 0; i < this._data.length; i++) {\r\n if (((typeof this._data[i].id) === 'number' && this._data[i].id === Number(itemId)) ||\r\n this._data[i].id === itemId\r\n ) {\r\n return this._data[i];\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n getItemByName(itemName) {\r\n for (let i = 0; i < this._data.length; i++) {\r\n if (this._data[i].name === itemName) {\r\n return this._data[i];\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n _addResponsiveHtml() {\r\n const columns = this._componentElement.querySelectorAll('thead th');\r\n this._componentElement.querySelectorAll(`#${this._tableId} tbody tr`).forEach(row => {\r\n const cells = row.children;\r\n for (let i = 0; i < cells.length; i++) {\r\n const element = cells[i];\r\n const columnName = stripTags(columns[i].innerHTML.trim());\r\n const columnNameHtml = `${columnName}`;\r\n\r\n this._addResponsiveHtmlToButtons(element, columnNameHtml);\r\n\r\n this._addResponsiveHtmlToImages(element, columnNameHtml);\r\n\r\n this._addResponsiveHtmlToIcons(element, columnNameHtml);\r\n\r\n this._addResponsiveHtmlToNumbers(element, columnName);\r\n }\r\n });\r\n }\r\n\r\n _addResponsiveHtmlToButtons(element, columnNameHtml) {\r\n const buttons = element.querySelectorAll('a.s-btn');\r\n buttons.forEach(button => {\r\n const tooltip = button.parentNode.querySelector('.tooltipData');\r\n if (!button.querySelector('span').innerHTML && tooltip) {\r\n button.querySelector('span').innerHTML = `${tooltip.innerHTML}`;\r\n }\r\n });\r\n if (buttons.length === 1 && !buttons[0].querySelector('span').innerHTML) {\r\n buttons[0].querySelector('span').innerHTML = columnNameHtml;\r\n }\r\n }\r\n\r\n _addResponsiveHtmlToImages(element, columnNameHtml) {\r\n const images = element.querySelectorAll('a img,a [class^=\"icon-\"],a [class*=\" icon-\"]');\r\n images.forEach(image => {\r\n let text = '';\r\n const tooltip = image.parentNode.parentNode.querySelector('.tooltipData');\r\n if (!tooltip) {\r\n if (images.length !== 1) {\r\n return;\r\n }\r\n text = columnNameHtml;\r\n } else {\r\n text = tooltip.innerHTML;\r\n }\r\n if (!image.closest('.b-indent-icon') || !image.closest('a').innerHTML.replace(image.closest('.b-indent-icon').outerHTML, '').trim()) {\r\n let wrapper = image;\r\n if ('img' === image.tagName.toLowerCase()) {\r\n const icon = document.createElement('i');\r\n icon.className = 'icon';\r\n wrapper.parentNode.replaceChild(icon, wrapper);\r\n wrapper = icon;\r\n icon.appendChild(image);\r\n }\r\n render(wrapper, ` ${text}`, 'after');\r\n image.closest('a').classList.add('i-link');\r\n }\r\n });\r\n }\r\n\r\n _addResponsiveHtmlToIcons(element, columnNameHtml) {\r\n const icons = element.querySelectorAll('span.b-indent-icon');\r\n icons.forEach(icon => {\r\n const tooltip = icon.querySelector('.tooltipData');\r\n if (tooltip && !icon.parentNode.innerHTML.replace(icon.outerHTML, '').trim()) {\r\n render(icon.querySelector('img'), ` ${tooltip.innerHTML}`, 'after');\r\n }\r\n });\r\n if (icons.length === 1 && !icons[0].querySelector('span.r-visible') && !icons[0].parentNode.innerHTML.replace(icons[0].outerHTML, '').trim()) {\r\n render(icons[0].querySelector('img'), columnNameHtml, 'after');\r\n }\r\n }\r\n\r\n _addResponsiveHtmlToNumbers(element, columnName) {\r\n const number = element.innerHTML;\r\n const columnNameHtml = `${columnName}: `;\r\n if ('-' === number || (!isNaN(parseFloat(number)) && isFinite(number))) {\r\n render(element, columnNameHtml, 'top');\r\n }\r\n const links = element.querySelectorAll('a');\r\n if (\r\n links.length === 1 &&\r\n ('-' === links[0].innerHTML || (!isNaN(parseFloat(links[0].innerHTML)) && isFinite(links[0].innerHTML)))\r\n ) {\r\n render(element, columnNameHtml, 'top');\r\n }\r\n }\r\n\r\n checkSyncStatus(statusElementId, url, onFinishCallback, randomId, options) {\r\n // list was reloaded - stop the check of sync status for old list elements\r\n if (this._randomId !== randomId) {\r\n return;\r\n }\r\n\r\n options = {\r\n timeout: 5000,\r\n progressStatus: 'started',\r\n ...options,\r\n };\r\n api.get(url)\r\n .then(result => {\r\n const statusElement = document.getElementById(statusElementId);\r\n if (!statusElement) {\r\n return;\r\n }\r\n if (options.progressStatus === result.status) {\r\n setTimeout(() => {\r\n this.checkSyncStatus(statusElementId, url, onFinishCallback, randomId, options);\r\n }, options.timeout);\r\n } else {\r\n onFinishCallback(statusElement, result);\r\n }\r\n });\r\n }\r\n\r\n _getOperations() {\r\n const operations = this._operations ? this._operations.slice() : [];\r\n if (!this._additionalData || !this._additionalData.operations || !this._additionalData.operations.length) {\r\n return operations;\r\n }\r\n const deleteButtonIndex = this._getDeleteButtonIndex();\r\n let args = [deleteButtonIndex, 0];\r\n if (deleteButtonIndex !== 0 && operations[deleteButtonIndex - 1].componentType !== 'Jsw.bar.Separator') {\r\n args.push({ componentType: bar.Separator });\r\n }\r\n args = args.concat(this._additionalData.operations);\r\n if (deleteButtonIndex !== operations.length) {\r\n args.push({ componentType: bar.Separator });\r\n }\r\n operations.splice(...args);\r\n return operations;\r\n }\r\n\r\n _getColumns() {\r\n const columns = this._columns.slice();\r\n\r\n const extensions = (this._additionalData && this._additionalData.extensions) || {};\r\n Object.keys(extensions).forEach(id => {\r\n this._modifyColumnsByExtension(columns, extensions[id]);\r\n });\r\n\r\n return columns;\r\n }\r\n\r\n _modifyColumnsByExtension(columns, extension) {\r\n const findColumn = dataIndex => {\r\n const column = columns.filter(column => column.dataIndex === dataIndex)[0];\r\n\r\n dataIndex = parseInt(dataIndex);\r\n return column || columns[dataIndex < 0 ? dataIndex + columns.length : dataIndex - 1];\r\n };\r\n\r\n if (extension.columnsOverride) {\r\n Object.keys(extension.columnsOverride).forEach(dataIndex => {\r\n const originalColumn = findColumn(dataIndex);\r\n if (!originalColumn) {\r\n return;\r\n }\r\n\r\n const column = extension.columnsOverride[dataIndex];\r\n\r\n if (column.title) {\r\n column.header = column.title;\r\n }\r\n\r\n if (column.renderer) {\r\n // eslint-disable-next-line no-eval\r\n column.renderer = eval(`(${column.renderer})`);\r\n }\r\n\r\n if ('undefined' !== typeof column.isVisible && !column.isVisible) {\r\n column.isVisible = function () {\r\n return false;\r\n };\r\n }\r\n\r\n Object.extend(originalColumn, column);\r\n });\r\n }\r\n\r\n if (extension.columns) {\r\n Object.keys(extension.columns).forEach(dataIndex => {\r\n let column = extension.columns[dataIndex];\r\n\r\n if (column.renderer) {\r\n // eslint-disable-next-line no-eval\r\n column.renderer = eval(`(${column.renderer})`);\r\n }\r\n\r\n column = {\r\n header: column.title,\r\n dataIndex,\r\n ...column,\r\n };\r\n\r\n let index;\r\n let originalColumn;\r\n\r\n if (column.insertBefore && (originalColumn = findColumn(column.insertBefore))) {\r\n index = columns.indexOf(originalColumn);\r\n } else if (column.insertAfter && (originalColumn = findColumn(column.insertAfter))) {\r\n index = columns.indexOf(originalColumn) + 1;\r\n } else {\r\n index = columns.length;\r\n }\r\n\r\n columns.splice(index, 0, column);\r\n });\r\n }\r\n }\r\n\r\n _getDeleteButtonIndex() {\r\n if (!this._operations) {\r\n return 0;\r\n }\r\n let deleteButtonIndex = this._operations.length;\r\n this._operations.forEach((el, i) => {\r\n if (el.addCls === 'sb-remove-selected') {\r\n deleteButtonIndex = i;\r\n }\r\n });\r\n return deleteButtonIndex;\r\n }\r\n\r\n getItemActions({ actions = [] }) {\r\n actions = actions\r\n .reduce((actions, actionInfo) => {\r\n if (actionInfo === 'separator') {\r\n if (actions.length && actions[actions.length - 1] !== 'separator') {\r\n actions.push(actionInfo);\r\n }\r\n return actions;\r\n }\r\n\r\n if (typeof actionInfo === 'string') {\r\n actionInfo = { name: actionInfo };\r\n }\r\n if (actionInfo.href || this._itemActions[actionInfo.name]) {\r\n actions.push(actionInfo);\r\n }\r\n return actions;\r\n }, []);\r\n\r\n if (actions[actions.length - 1] === 'separator') {\r\n actions.pop();\r\n }\r\n\r\n return actions;\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n if (this._getColumns().includes(COLUMN_ACTIONS)) {\r\n this._contextMenu = new ListContextMenu({\r\n renderTo: document.body,\r\n list: this,\r\n });\r\n }\r\n\r\n if (!this._data) {\r\n this.reload();\r\n return;\r\n }\r\n\r\n this.redraw();\r\n }\r\n}\r\n\r\n// TODO PMT-4391: Plesk migrator is broken in Plesk 17.9.1 after cutting core's classes\r\nList.subclasses = [];\r\n\r\nexport default List;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport ce from '../createElement';\r\nimport { Container } from '../container';\r\nimport { DropdownManager } from '../dropdown-manager';\r\nimport isRtl from '../isRtl';\r\nimport prepareUrl from '../prepareUrl';\r\nimport render from '../render';\r\n\r\nconst TARGET_TYPE_DROP_DOWN = 'dropDown';\r\nconst TARGET_TYPE_TABLE_ROW = 'tableRow';\r\n\r\nclass ListContextMenu extends Container {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._cls = 'popup-box popup-menu collapsed';\r\n this._list = this._getConfigParam('list');\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._componentElement.innerHTML = (\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            '\r\n );\r\n }\r\n\r\n /**\r\n * Called on list redraw\r\n */\r\n onRedraw() {\r\n this._initRowStyles();\r\n this._initShowOnClick();\r\n }\r\n\r\n /**\r\n * Get list of actions for popup by row\r\n */\r\n _prefillPopup(row) {\r\n render(this._componentElement.querySelector('.popup-content-area'), (\r\n ce('ul', this._list.getItemActions(row).map(actionInfo => {\r\n if (actionInfo === 'separator') {\r\n return ce('li.separator', ce('span'));\r\n }\r\n\r\n return ce('li',\r\n ce('a', {\r\n class: `sb-btn ${actionInfo.iconClass ? actionInfo.iconClass : 'sb-no-icon'}`,\r\n href: actionInfo.href ? prepareUrl(actionInfo.href) : null,\r\n target: actionInfo.newWindow ? '_blank' : null,\r\n 'data-button-key': actionInfo.name,\r\n onclick: this._list._itemActions[actionInfo.name] ? event => {\r\n event.preventDefault();\r\n this._list._itemActions[actionInfo.name](row, event);\r\n } : null,\r\n }, ce('i',\r\n ce('i',\r\n ce('i',\r\n ce('span', actionInfo.title || this._list.lmsg(`item-action-${actionInfo.name}`)),\r\n ),\r\n ),\r\n )),\r\n );\r\n }))\r\n ), 'inner');\r\n }\r\n\r\n /**\r\n * Show prefilled popup on context menu button click\r\n */\r\n _togglePopupNearButton(button) {\r\n document.getElementById(this._list._tableId).querySelectorAll('tr.odd,tr.even').forEach(el => {\r\n el.classList.remove('row-over');\r\n });\r\n this._componentElement.classList.add('collapsed');\r\n\r\n if (!button.closest('.btn-group').classList.contains('btn-group-open')) {\r\n document.querySelectorAll('.btn-list-menu').forEach(el => {\r\n el.closest('.btn-group').classList.remove('btn-group-open');\r\n });\r\n\r\n this._componentElement.classList.remove('collapsed');\r\n button.closest('tr').classList.add('row-over');\r\n }\r\n\r\n button.closest('.btn-group').classList.toggle('btn-group-open');\r\n\r\n const scrollOffsets = document.viewport.getScrollOffsets();\r\n const buttonPosition = Element.viewportOffset(button);\r\n buttonPosition.left += scrollOffsets.left;\r\n buttonPosition.top += scrollOffsets.top;\r\n\r\n const buttonWidth = Element.getWidth(button);\r\n const buttonHeight = Element.getHeight(button);\r\n\r\n if (!this._componentElement.classList.contains('collapsed')) {\r\n this._setPosition(\r\n buttonPosition.left,\r\n buttonPosition.top + buttonHeight,\r\n buttonPosition.left + buttonWidth,\r\n buttonPosition.top,\r\n );\r\n }\r\n }\r\n\r\n _initRowStyles() {\r\n document.getElementById(this._list._tableId).querySelectorAll('tr.odd,tr.even').forEach(el => {\r\n const button = el.querySelector('.dropdown-toggle');\r\n if (!button) {\r\n return;\r\n }\r\n\r\n const row = this._list.getItemById(button.dataset.rowId);\r\n if (!row || !this._list.getItemActions(row).length) {\r\n return;\r\n }\r\n\r\n el.classList.add('list-context-actions');\r\n });\r\n }\r\n\r\n /**\r\n * Hide popup and remove selection from row\r\n */\r\n _hidePopup() {\r\n this._componentElement.classList.add('collapsed');\r\n this.targetData.rowEl.querySelector('.btn-group').classList.remove('btn-group-open');\r\n this.targetData.rowEl.classList.remove('row-over');\r\n }\r\n\r\n _openPopup(event) {\r\n this._prefillPopup(this.targetData.rowData);\r\n if (this.targetType === TARGET_TYPE_TABLE_ROW) {\r\n this.targetData.rowEl.classList.add('row-over');\r\n this._componentElement.classList.remove('collapsed');\r\n this._setPosition(event.clientX + (window.scrollX || window.pageXOffset), event.clientY + (window.scrollY || window.pageYOffset));\r\n } else {\r\n this._togglePopupNearButton(this.targetData.dropDownEl);\r\n }\r\n }\r\n\r\n _isListContextEvent({ target }) {\r\n return !target.closest('input,a') && (target.closest('.list-menu') || target.closest('[data-row-id]'));\r\n }\r\n\r\n _getTargetData(target) {\r\n const rowEl = target.closest('tr');\r\n let dropDownEl;\r\n\r\n if (this.targetType === TARGET_TYPE_DROP_DOWN) {\r\n dropDownEl = target.closest('.btn-list-menu');\r\n } else if (this.targetType === TARGET_TYPE_TABLE_ROW) {\r\n dropDownEl = rowEl.querySelector('.dropdown-toggle');\r\n }\r\n if (!dropDownEl) {\r\n return null;\r\n }\r\n\r\n const rowData = this._list.getItemById(dropDownEl.dataset.rowId);\r\n if (rowData && this._list.getItemActions(rowData).length) {\r\n return {\r\n rowData,\r\n rowEl,\r\n dropDownEl,\r\n };\r\n }\r\n\r\n return null;\r\n }\r\n\r\n _getTargetType(target) {\r\n if (target.closest('.list-menu')) {\r\n return TARGET_TYPE_DROP_DOWN;\r\n }\r\n\r\n if (target.closest('[data-row-id]')) {\r\n return TARGET_TYPE_TABLE_ROW;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n _open(event) {\r\n this.targetType = this._getTargetType(event.target);\r\n this.targetData = this._getTargetData(event.target);\r\n\r\n if (!this.targetData) {\r\n return;\r\n }\r\n\r\n this._openPopup(event);\r\n }\r\n\r\n _hide(event) {\r\n if (!this.targetData) {\r\n return;\r\n }\r\n\r\n this._hidePopup(event);\r\n\r\n if (this._isListContextEvent(event) && this._isImmediatelyOpening(event)) {\r\n this._open(event);\r\n }\r\n }\r\n\r\n _isOpened() {\r\n return (\r\n (\r\n this.targetData\r\n && this.targetData.dropDownEl\r\n && this.targetData.dropDownEl.closest('.btn-group').classList.contains('btn-group-open')\r\n )\r\n || !this._componentElement.classList.contains('collapsed')\r\n );\r\n }\r\n\r\n _isImmediatelyOpening(event) {\r\n const targetType = this._getTargetType(event.target);\r\n const targetData = this._getTargetData(event.target);\r\n\r\n return (targetType && targetData\r\n && ((targetType === TARGET_TYPE_DROP_DOWN && this.targetType === TARGET_TYPE_TABLE_ROW)\r\n || (targetType === TARGET_TYPE_DROP_DOWN\r\n && targetData.rowEl.dataset.rowId !== this.targetData.rowEl.dataset.rowId)\r\n )\r\n );\r\n }\r\n\r\n /**\r\n * Show popup on click row or dropdown button\r\n */\r\n _initShowOnClick() {\r\n DropdownManager.register(\r\n document.getElementById(this._list._tableId),\r\n this._isOpened.bind(this),\r\n this._open.bind(this),\r\n this._hide.bind(this),\r\n this._isListContextEvent.bind(this),\r\n );\r\n }\r\n\r\n _setPosition(x, y, altX, altY) {\r\n altX = altX || x;\r\n altY = altY || y;\r\n\r\n const scrollOffsets = document.viewport.getScrollOffsets();\r\n\r\n const windowWidth = Element.getWidth(document.body);\r\n const popupWidth = Element.getWidth(this._componentElement);\r\n if (isRtl()) {\r\n if ((altX - popupWidth - scrollOffsets.left) > 0) {\r\n x = altX - popupWidth;\r\n }\r\n } else if ((x + popupWidth - scrollOffsets.left) > windowWidth) {\r\n x = altX - popupWidth;\r\n }\r\n\r\n const windowHeight = Element.getHeight(document.body);\r\n const popupHeight = Element.getHeight(this._componentElement);\r\n const popupMarginTop = parseInt(Element.getStyle(this._componentElement, 'marginTop'));\r\n if ((y + popupHeight + popupMarginTop - scrollOffsets.top) > windowHeight) {\r\n y = altY - popupHeight - (2 * popupMarginTop);\r\n }\r\n\r\n this._componentElement.style.right = 'auto';\r\n this._componentElement.style.left = `${x}px`;\r\n this._componentElement.style.top = `${y}px`;\r\n }\r\n}\r\n\r\nexport default ListContextMenu;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport default () => document.documentElement.dir === 'rtl';\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport escapeAttribute from '../escapeAttribute';\r\n\r\nexport const COLUMN_SELECTION = {\r\n cls: 'select',\r\n headerCls: 'select',\r\n hideDisabled: false,\r\n headerRenderer() {\r\n return '';\r\n },\r\n renderer(item, isDisabled) {\r\n if (!isDisabled) {\r\n return ``;\r\n }\r\n\r\n return (\r\n '
            ' +\r\n '' +\r\n '' +\r\n '
            '\r\n );\r\n },\r\n};\r\n\r\nexport const COLUMN_ACTIONS = {\r\n header: '',\r\n cls: 'min',\r\n sortable: false,\r\n renderer(item) {\r\n if (!item.actions || !item.actions.length) {\r\n return '';\r\n }\r\n const rowId = item.id ? escapeAttribute(item.id) : '';\r\n return (\r\n '' +\r\n `' +\r\n ''\r\n );\r\n },\r\n};\r\n\r\nexport const ITEMS_UNLIMITED = 100000;\r\n","module.exports = Jsw.skinUrl + \"/icons/16/plesk/menu.png?a75a537332528331bb513a94e26d173d\";","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/**\r\n * Remove tags from string\r\n */\r\nconst stripTags = (str: string): string => str.replace(/<\\/?[^>]+(>|$)/g, '');\r\n\r\nexport default stripTags;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from '../component';\r\nimport { SmallButton } from '../small-button';\r\nimport createComponent from '../createComponent';\r\nimport render from '../render';\r\n\r\nclass AdditionalActions extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n cls: 'actions-menu',\r\n ...config,\r\n });\r\n\r\n this._operations = this._getConfigParam('operations', null);\r\n this._titleAddCls = this._getConfigParam('titleAddCls', 'sb-more-actions');\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n render(this._componentElement, (\r\n '
            ' +\r\n '' +\r\n '' +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '' +\r\n '

            ' +\r\n `${this._getConfigParam('title', '')}` +\r\n '

            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n `
              ` +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            ' +\r\n '
            '\r\n ));\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n\r\n document.body.addEventListener('click', () => {\r\n this.collapse();\r\n });\r\n }\r\n\r\n enable() {\r\n this._titleButton.enable();\r\n }\r\n\r\n disable() {\r\n this._titleButton.disable();\r\n }\r\n\r\n toggle() {\r\n const popup = this._componentElement.querySelector('.popup-box');\r\n\r\n if (popup) {\r\n popup.classList.toggle('collapsed');\r\n }\r\n\r\n const button = this._componentElement.querySelector(`.${this._titleAddCls}`);\r\n\r\n if (button) {\r\n button.classList.toggle('active');\r\n }\r\n }\r\n\r\n collapse() {\r\n const popup = this._componentElement.querySelector('.popup-box');\r\n\r\n if (popup) {\r\n popup.classList.add('collapsed');\r\n }\r\n\r\n const button = this._componentElement.querySelector(`.${this._titleAddCls}`);\r\n\r\n if (button) {\r\n button.classList.remove('active');\r\n }\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n this._titleButton = new SmallButton({\r\n id: `${this._id}-title-button`,\r\n title: this._getConfigParam('title', ''),\r\n cls: 's-btn',\r\n addCls: this._titleAddCls,\r\n handler: event => {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this.toggle();\r\n },\r\n });\r\n render(this._componentElement, this._titleButton);\r\n\r\n if (!this._operations) {\r\n return;\r\n }\r\n\r\n const operationsArea = this._componentElement.querySelector(`#${this._id}-operations`);\r\n this._operations.forEach(config => {\r\n const liElement = new Element('li');\r\n render(operationsArea, liElement);\r\n\r\n const operation = createComponent(config);\r\n const wrapperClass = operation.getWrapperClass();\r\n if (wrapperClass) {\r\n liElement.classList.add(wrapperClass);\r\n }\r\n\r\n render(liElement, operation);\r\n });\r\n\r\n if (this._getConfigParam('disabled', false)) {\r\n this.disable();\r\n } else {\r\n this.enable();\r\n }\r\n }\r\n}\r\n\r\nexport default AdditionalActions;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { StatusMessage } from './status-message';\r\n\r\nexport class UnresolvedDomainWarning extends StatusMessage {\r\n _addEvents() {\r\n super._addEvents();\r\n\r\n this._componentElement.querySelector('a#unresolved-domain-warning')?.addEventListener('click', e => {\r\n e.preventDefault();\r\n Plesk.require('app/dns-helper/dns-settings', run => {\r\n run({\r\n id: this._getConfigParam('id'),\r\n isAlias: this._getConfigParam('isAlias'),\r\n });\r\n });\r\n });\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/* eslint-disable react/require-render-return */\r\nimport { addToast } from 'helpers/toasts';\r\n\r\nimport { Component } from './component';\r\nimport { Container } from './container';\r\nimport { redirect } from './form-redirect';\r\nimport Observer from './Observer';\r\nimport createComponent from './createComponent';\r\nimport prepareUrl from './prepareUrl';\r\nimport escapeHtml from './escapeHtml';\r\nimport api from './api';\r\nimport pleskWS from './pleskWS';\r\nimport Locale from './Locale';\r\n\r\nconst STATUS_DONE = 'done';\r\nconst STATUS_ERROR = 'error';\r\nconst STATUS_STARTED = 'started';\r\nconst STATUS_NOT_STARTED = 'not_started';\r\nconst STATUS_PREPARING = 'preparing';\r\nconst STATUS_FLYING = 'flying';\r\nconst STATUS_CANCELED = 'canceled';\r\n\r\nclass Pool {\r\n constructor(items) {\r\n this.items = items;\r\n this.map = items.reduce((acc, item) => {\r\n acc[item.getId()] = item;\r\n return acc;\r\n }, {});\r\n }\r\n\r\n take(id) {\r\n if (this.map[id]) {\r\n const item = this.map[id];\r\n delete this.map[id];\r\n this.items = this.items.filter(item => item.getId() !== id);\r\n return item;\r\n }\r\n }\r\n\r\n shift() {\r\n const item = this.items.shift();\r\n if (item) {\r\n delete this.map[item.getId()];\r\n return item;\r\n }\r\n }\r\n\r\n hasItems() {\r\n return this.items.length > 0;\r\n }\r\n}\r\n\r\nconst generateUniq = () => Math.random().toString(36).slice(2);\r\n\r\nexport class ProgressBar extends Container {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n id: 'asyncProgressBarWrapper',\r\n ...config,\r\n });\r\n\r\n this._viewerId = this._getConfigParam('viewerId');\r\n\r\n this._preparingCounter = 0;\r\n this._hidden = false;\r\n\r\n this.intervalUpdateTimer = null;\r\n this.pleskWS = null;\r\n if (this._getConfigParam('wsEnabled')) {\r\n this.pleskWS = pleskWS.bind({\r\n actions: {\r\n // eslint-disable-next-line camelcase\r\n task_created: this.onUpdated.bind(this),\r\n // eslint-disable-next-line camelcase\r\n task_updated: this.onUpdated.bind(this),\r\n // eslint-disable-next-line camelcase\r\n task_deleted: this.onDeleted.bind(this),\r\n },\r\n onOpen: this.loadTasks.bind(this),\r\n onClose: this.loadTasks.bind(this),\r\n });\r\n } else {\r\n this.loadTasks();\r\n }\r\n }\r\n\r\n addPreparingItem(title) {\r\n const id = `preparing-${this._preparingCounter}`;\r\n const item = new ProgressBar.Item({\r\n errors: [],\r\n progressTitle: title,\r\n status: 'flying',\r\n id,\r\n uniq: generateUniq(),\r\n });\r\n this._preparingCounter++;\r\n this._items.unshift(item);\r\n return id;\r\n }\r\n\r\n failPreparingItem(id, message) {\r\n const item = this._items.find(item => item.getId() === id);\r\n if (!item) {\r\n return;\r\n }\r\n\r\n item.setStatus(STATUS_ERROR);\r\n item.setErrors([message]);\r\n this._renderItems();\r\n }\r\n\r\n // do not remove due to backward compatibility\r\n removePreparingItem() {\r\n }\r\n\r\n // do not remove due to backward compatibility\r\n toggle() {\r\n }\r\n\r\n async loadTasks() {\r\n try {\r\n const { items } = await api.get(prepareUrl('/task/task-progress'));\r\n\r\n if (Array.isArray(items)) {\r\n this._loaded = true;\r\n this.mergeItems(items.map(createComponent));\r\n }\r\n } catch {}\r\n }\r\n\r\n mergeItems(items) {\r\n let nextItems = this.getMergedItems(items);\r\n\r\n // remove completed items\r\n this.getItems().forEach(item => {\r\n if (!items.some(newItemData => item.getId() === newItemData.getId())) {\r\n this.onItemStatusChange(this.completeItem(item.initialConfig));\r\n nextItems = nextItems.filter(currentItem => currentItem.getId() !== item.getId());\r\n }\r\n });\r\n\r\n this.setItems(nextItems);\r\n }\r\n\r\n mergeItem(item) {\r\n const nextItems = this.getMergedItems([item]);\r\n this.setItems(nextItems);\r\n }\r\n\r\n getMergedItems(items) {\r\n const pool = new Pool(items);\r\n let nextItems = this.getItems();\r\n // update exist items\r\n nextItems = nextItems.map(item => {\r\n const nextItem = pool.take(item.getId());\r\n if (nextItem) {\r\n if (item.getUpdated() > nextItem.getUpdated()) {\r\n return item;\r\n }\r\n if (nextItem.getStatus() !== item.getStatus()) {\r\n this.onItemStatusChange(nextItem.getData());\r\n } else if (JSON.stringify(nextItem.getSteps()) !== JSON.stringify(item.getSteps())) {\r\n this.onItemStepChange(nextItem.getData());\r\n }\r\n nextItem.setRefreshLinkEnabled(STATUS_STARTED !== nextItem.getStatus() && item.isStarted() ? true : item.isRefreshLinkEnabled());\r\n nextItem.setUniq(item.getUniq());\r\n return nextItem;\r\n }\r\n return item;\r\n });\r\n\r\n // replace preparing items by new items\r\n if (pool.hasItems()) {\r\n nextItems = nextItems.map(item => {\r\n if (item.isFlying()) {\r\n const nextItem = pool.shift();\r\n if (nextItem) {\r\n this.onItemStatusChange(nextItem.getData());\r\n nextItem.setUniq(item.getUniq());\r\n return nextItem;\r\n }\r\n }\r\n return item;\r\n });\r\n }\r\n\r\n // add new items\r\n if (pool.hasItems()) {\r\n let nextItem;\r\n do {\r\n nextItem = pool.shift();\r\n if (nextItem) {\r\n this.onItemStatusChange(nextItem.getData());\r\n nextItems.unshift(nextItem);\r\n }\r\n } while (nextItem);\r\n }\r\n\r\n return nextItems;\r\n }\r\n\r\n // do not remove due to backward compatibility\r\n update() {\r\n if (this.pleskWS && this.pleskWS.isReady()) {\r\n this.stopPeriodicalExecutor();\r\n return;\r\n }\r\n\r\n this.loadTasks();\r\n }\r\n\r\n onUpdated(data) {\r\n this.mergeItem(createComponent(data));\r\n }\r\n\r\n onDeleted(data) {\r\n this.onUpdated(this.completeItem(data));\r\n this.removeItemsByIds([data.id]);\r\n }\r\n\r\n removeItemsByIds(ids) {\r\n if (!ids.length) {\r\n return;\r\n }\r\n const items = this.getItems();\r\n for (let i = 0; i < ids.length; i++) {\r\n for (let j = 0; j < items.length; j++) {\r\n if (items[j].getId() === ids[i]) {\r\n items.splice(j, 1);\r\n break;\r\n }\r\n }\r\n }\r\n this.setItems(items);\r\n }\r\n\r\n onItemStatusChange(newItemData) {\r\n this.onItemStepChange(newItemData);\r\n Observer.notify(newItemData, 'plesk:taskUpdate');\r\n if (this.isCompletedItem(newItemData)) {\r\n Observer.notify(newItemData, 'plesk:taskComplete');\r\n }\r\n }\r\n\r\n onItemStepChange(newItemData) {\r\n Observer.notify(newItemData, 'plesk:taskStepUpdate');\r\n }\r\n\r\n setItems(items) {\r\n this._initItems(items);\r\n this._renderItems();\r\n this._updateProgressDialog();\r\n }\r\n\r\n fly(beginOffset, taskName, action) {\r\n const progressBarItemId = this.addPreparingItem(taskName);\r\n this._renderItems();\r\n // wait toast animation\r\n setTimeout(action, 300);\r\n return progressBarItemId;\r\n }\r\n\r\n progressDialog(task, { onHide, ...params } = {}) {\r\n const returnUrl = task && task.returnUrl;\r\n this._progressBarItem = task instanceof ProgressBar.Item ? task : createComponent(task);\r\n this.isOpenProgressDialog = true;\r\n\r\n if (!this._progressDialog) {\r\n this._progressDialog = document.createElement('div');\r\n }\r\n\r\n this.renderProgressDialog = () => {\r\n Plesk.require('app/progress-dialog', run => {\r\n if (!this._progressBarItem || !this._progressDialog) {\r\n return;\r\n }\r\n\r\n run({\r\n container: this._progressDialog,\r\n isOpen: this.isOpenProgressDialog,\r\n title: this._progressBarItem.getProgressTitle(),\r\n steps: this._progressBarItem.getSteps(),\r\n errors: this._progressBarItem.getVisibleErrors(),\r\n onHide: () => {\r\n this.isOpenProgressDialog = false;\r\n this.renderProgressDialog();\r\n\r\n if (onHide) {\r\n onHide(this._progressBarItem);\r\n return;\r\n }\r\n\r\n const redirectUrl = this._progressBarItem.isComplete()\r\n ? this._progressBarItem._getConfigParam('redirect') || returnUrl\r\n : returnUrl;\r\n const doRedirect = () => {\r\n if (redirectUrl) {\r\n redirect(redirectUrl);\r\n } else {\r\n this.show();\r\n }\r\n };\r\n\r\n if (this._progressBarItem.isCompleteSuccessfully() || this._progressBarItem.isCompleteWithWarning()) {\r\n this._progressBarItem.remove().then(() => {\r\n doRedirect();\r\n this._progressBarItem = null;\r\n });\r\n } else {\r\n doRedirect();\r\n }\r\n },\r\n locale: Locale.getSection('components.tasks.common').messages,\r\n ...params,\r\n });\r\n });\r\n };\r\n\r\n this.renderProgressDialog();\r\n this.update();\r\n this.hide();\r\n }\r\n\r\n hide() {\r\n this._hidden = true;\r\n this._renderItems();\r\n }\r\n\r\n show() {\r\n this._hidden = false;\r\n this._renderItems();\r\n }\r\n\r\n _updateProgressDialog() {\r\n if (!this._progressBarItem) {\r\n return;\r\n }\r\n\r\n const newItem = this.getItem(this._progressBarItem.getId());\r\n if (newItem) {\r\n this._progressBarItem = newItem;\r\n } else if (this._progressBarItem.getSteps().length) {\r\n // task was removed, show it as finished\r\n const finishedItem = createComponent(this.completeItem({\r\n ...this._progressBarItem.initialConfig,\r\n steps: this._progressBarItem.getSteps().map(step => this.completeItem(step)),\r\n }));\r\n finishedItem.setProgressBarElement(this._progressBarItem.getProgressBarElement());\r\n this._progressBarItem = finishedItem;\r\n }\r\n this.renderProgressDialog();\r\n }\r\n\r\n _renderItems() {\r\n super._renderItems();\r\n\r\n if (this._items.length) {\r\n this.setPeriodicalExecutor();\r\n }\r\n\r\n if (!this._loaded) {\r\n return;\r\n }\r\n\r\n Plesk.require('app/task-progress-bar', run => {\r\n run({\r\n viewerId: this._viewerId,\r\n container: this._componentElement,\r\n items: this._items,\r\n locale: Locale.getSection('components.tasks.common').messages,\r\n isOpen: !this._hidden,\r\n onGroupClose: this.handleGroupClose.bind(this),\r\n });\r\n });\r\n }\r\n\r\n async handleGroupClose(keys) {\r\n const items = this._items.filter(item => keys.includes(item.getKey()));\r\n const ids = items.map(item => item.getId());\r\n\r\n try {\r\n await api.post(prepareUrl('/task/task-remove'), { ids });\r\n this.removeItemsByIds(ids);\r\n } catch ({ message }) {\r\n addToast({ intent: 'danger', message });\r\n }\r\n }\r\n\r\n _renderItem(item) {\r\n item.setProgressBarElement(this);\r\n }\r\n\r\n setPeriodicalExecutor() {\r\n if (!this.intervalUpdateTimer && this.hasStartedTasks()) {\r\n this.intervalUpdateTimer = setInterval(() => {\r\n this.update();\r\n if (!this.hasStartedTasks()) {\r\n this.stopPeriodicalExecutor();\r\n }\r\n }, 5000);\r\n }\r\n }\r\n\r\n stopPeriodicalExecutor() {\r\n if (this.intervalUpdateTimer) {\r\n clearInterval(this.intervalUpdateTimer);\r\n this.intervalUpdateTimer = null;\r\n }\r\n }\r\n\r\n hasStartedTasks() {\r\n return this._items.some(item => item.isStarted());\r\n }\r\n\r\n isCompletedItem({ status }) {\r\n return [STATUS_DONE, STATUS_ERROR, STATUS_CANCELED].indexOf(status) !== -1;\r\n }\r\n\r\n completeItem(data) {\r\n return {\r\n ...data,\r\n status: this.isCompletedItem(data) ? data.status : STATUS_DONE,\r\n };\r\n }\r\n}\r\n\r\nProgressBar.Item = class Item extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._id = this._getConfigParam('id', '');\r\n this._updated = new Date(this._getConfigParam('updated'));\r\n this._status = this._getConfigParam('status', '');\r\n this._errors = this._getConfigParam('errors', []);\r\n this._output = this._getConfigParam('output', []);\r\n this._isRefreshLinkEnabled = this._getConfigParam('isRefreshLinkEnabled', false)\r\n && this._getConfigParam('isRefreshAllowed', true);\r\n this._progressValue = this._getConfigParam('progressValue', 0);\r\n this._canCancel = this._getConfigParam('canCancel', true);\r\n this._referrer = this._getConfigParam('referrer', '');\r\n this._uniq = this._getConfigParam('uniq', undefined);\r\n this._progressBarElement = {};\r\n }\r\n\r\n _initComponentElement() {}\r\n\r\n getUpdated() {\r\n return this._updated;\r\n }\r\n\r\n getData() {\r\n return this._config;\r\n }\r\n\r\n getSteps() {\r\n return this._getConfigParam('steps', []);\r\n }\r\n\r\n getUniq() {\r\n return this._uniq;\r\n }\r\n\r\n setUniq(uniq) {\r\n this._uniq = uniq;\r\n }\r\n\r\n getKey() {\r\n return this._uniq || this._id;\r\n }\r\n\r\n setProgressBarElement(element) {\r\n this._progressBarElement = element;\r\n }\r\n\r\n getProgressBarElement() {\r\n return this._progressBarElement;\r\n }\r\n\r\n getProgressTitle() {\r\n return this._getConfigParam('progressTitleHtml', escapeHtml(this._getConfigParam('progressTitle', '')));\r\n }\r\n\r\n getProgressValue() {\r\n return this._progressValue;\r\n }\r\n\r\n getStatus() {\r\n return this._status;\r\n }\r\n\r\n setStatus(status) {\r\n this._status = status;\r\n }\r\n\r\n getProgressDialogLinkHandler() {\r\n if (!this.getSteps().length) {\r\n return undefined;\r\n }\r\n return e => {\r\n e.preventDefault();\r\n this.getProgressBarElement().progressDialog(this);\r\n };\r\n }\r\n\r\n isRefreshLinkEnabled() {\r\n return this._isRefreshLinkEnabled;\r\n }\r\n\r\n setRefreshLinkEnabled(flag) {\r\n this._isRefreshLinkEnabled = flag && this._isRefreshAllowed;\r\n }\r\n\r\n getRefreshLinkProps() {\r\n const _redirect = this._getConfigParam('redirect');\r\n if (_redirect) {\r\n const redirectUrl = _redirect.url || _redirect;\r\n return this.getProgressTitle().includes(redirectUrl) ? null : {\r\n title: _redirect.title,\r\n onClick: e => {\r\n e.preventDefault();\r\n redirect(_redirect);\r\n },\r\n };\r\n }\r\n\r\n if (this._isRefreshLinkEnabled && window.location.pathname === this._referrer) {\r\n return {\r\n onClick: e => {\r\n e.preventDefault();\r\n redirect(prepareUrl(window.location.pathname));\r\n },\r\n };\r\n }\r\n }\r\n\r\n hasErrors() {\r\n return this._errors.length > 0;\r\n }\r\n\r\n getErrors() {\r\n return this._errors;\r\n }\r\n\r\n setErrors(errors) {\r\n this._errors = errors;\r\n }\r\n\r\n getVisibleErrors() {\r\n const hideErrors = this._getConfigParam('hideErrors', false);\r\n\r\n if (hideErrors || !this.hasErrors()) {\r\n return [];\r\n }\r\n\r\n return this.getErrors();\r\n }\r\n\r\n getOutput() {\r\n return this._output.map(line => String(line).trim()).filter(Boolean);\r\n }\r\n\r\n isCompleteSuccessfully() {\r\n return STATUS_DONE === this._status && !this.hasErrors();\r\n }\r\n\r\n isComplete() {\r\n return [STATUS_DONE, STATUS_ERROR, STATUS_CANCELED].indexOf(this._status) !== -1;\r\n }\r\n\r\n isCompleteWithWarning() {\r\n return STATUS_DONE === this._status && this.hasErrors();\r\n }\r\n\r\n isStarted() {\r\n return STATUS_STARTED === this._status || STATUS_NOT_STARTED === this._status;\r\n }\r\n\r\n isPreparing() {\r\n return STATUS_PREPARING === this._status;\r\n }\r\n\r\n isFlying() {\r\n return STATUS_FLYING === this._status;\r\n }\r\n\r\n isProgressUndefined() {\r\n return this._progressValue === -1;\r\n }\r\n\r\n isCompleteWithError() {\r\n return STATUS_ERROR === this._status;\r\n }\r\n\r\n async remove() {\r\n try {\r\n await api.post(prepareUrl('/task/task-remove'), { ids: [this.getId()] });\r\n this.getProgressBarElement().removeItemsByIds([this.getId()]);\r\n } catch ({ message }) {\r\n addToast({ intent: 'danger', message });\r\n }\r\n }\r\n\r\n toToast() {\r\n const props = {\r\n key: this.getKey(),\r\n };\r\n if (this.isCompleteSuccessfully()) {\r\n return {\r\n ...props,\r\n intent: 'success',\r\n onClose: () => this.remove(),\r\n title: this.getProgressTitle(),\r\n output: this.getOutput(),\r\n refresh: this.getRefreshLinkProps(),\r\n };\r\n } else if (this.isCompleteWithWarning() || this.isCompleteWithError()) {\r\n return {\r\n ...props,\r\n intent: this.isCompleteWithWarning() ? 'warning' : 'danger',\r\n onClose: () => this.remove(),\r\n title: this.getProgressTitle(),\r\n errors: this.getVisibleErrors(),\r\n refresh: this.getRefreshLinkProps(),\r\n };\r\n } else if (this.isPreparing() || this.isFlying() || this.isProgressUndefined()) {\r\n return {\r\n ...props,\r\n title: this.isFlying() ? undefined : this.getProgressTitle(),\r\n progress: {\r\n onClick: this.getProgressDialogLinkHandler(),\r\n },\r\n };\r\n }\r\n return {\r\n ...props,\r\n title: this.getProgressTitle(),\r\n progress: {\r\n value: this.getProgressValue(),\r\n onClick: this.getProgressDialogLinkHandler(),\r\n },\r\n };\r\n }\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { makeVar, useReactiveVar } from '@apollo/client';\r\nimport { ToasterProps } from '@plesk/ui-library';\r\n\r\ntype Toast = Omit[number], 'key'>;\r\n\r\ntype ToastWithKey = Toast & { key: number };\r\n\r\nconst toasts = makeVar([]);\r\nlet key = 0;\r\n\r\nexport const useToasts = () => useReactiveVar(toasts);\r\n\r\nexport const addToast = ({ intent, ...props }: Toast) => {\r\n toasts([\r\n ...toasts(),\r\n {\r\n key: key++,\r\n intent,\r\n autoClosable: intent && ['success', 'info'].includes(intent) ? true : undefined,\r\n ...props,\r\n },\r\n ]);\r\n};\r\n\r\nexport const removeToast = ({ key }: { key: number }) => toasts(toasts().filter(toast => toast.key !== key));\r\n\r\nexport default toasts;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nlet isOpened = false;\r\nlet ws = null;\r\nconst messageSubscriptions = [];\r\nconst openSubscriptions = [];\r\nconst closeSubscriptions = [];\r\n\r\n// eslint-disable-next-line no-console\r\nconst handleError = error => console.error(error);\r\n\r\nconst wsConnect = (attempt = 0) => {\r\n const protocol = window.location.protocol === 'https:' ? 'wss' : 'ws';\r\n ws = new WebSocket(`${protocol}://${window.location.host}/ws`);\r\n ws.onmessage = message => {\r\n const messageData = JSON.parse(message.data);\r\n const { action, data, error } = messageData;\r\n if (error) {\r\n if (error === 'Unauthorized') {\r\n return;\r\n }\r\n throw new Error(`Unknown error ${error}`);\r\n }\r\n\r\n if (typeof messageSubscriptions[action] === 'undefined') {\r\n return;\r\n }\r\n\r\n messageSubscriptions[action].forEach(callback => {\r\n try {\r\n callback(data);\r\n } catch (e) {\r\n handleError(e);\r\n }\r\n });\r\n };\r\n\r\n ws.onopen = event => {\r\n isOpened = true;\r\n openSubscriptions.forEach(callback => {\r\n try {\r\n callback(event);\r\n } catch (e) {\r\n handleError(e);\r\n }\r\n });\r\n };\r\n\r\n ws.onclose = event => {\r\n isOpened = false;\r\n ws = null;\r\n closeSubscriptions.forEach(callback => {\r\n try {\r\n callback(event);\r\n } catch (e) {\r\n handleError(e);\r\n }\r\n });\r\n if (1000 !== event.code) {\r\n setTimeout(() => {\r\n wsConnect(attempt + 1);\r\n }, Math.min((2 ** attempt) * 1000, 60000));\r\n }\r\n };\r\n};\r\n\r\nconst PleskWSBinding = function ({ actions, onOpen, onClose }) {\r\n this.actions = actions;\r\n this.onOpen = onOpen;\r\n this.onClose = onClose;\r\n\r\n this.isReady = () => ws && 1 === ws.readyState;\r\n\r\n this.close = () => {\r\n if (this.actions) {\r\n for (const action in actions) {\r\n if (!actions.hasOwnProperty(action) || typeof messageSubscriptions[action] === 'undefined') {\r\n return;\r\n }\r\n const messageSubscriptionsIndex = messageSubscriptions[action].indexOf(actions[action]);\r\n if (messageSubscriptionsIndex >= 0) {\r\n messageSubscriptions[action].splice(messageSubscriptionsIndex, 1);\r\n }\r\n }\r\n }\r\n\r\n if (this.onOpen) {\r\n const openSubscriptionsIndex = openSubscriptions.indexOf(onOpen);\r\n if (openSubscriptionsIndex >= 0) {\r\n openSubscriptions.splice(openSubscriptionsIndex, 1);\r\n }\r\n }\r\n\r\n if (this.onClose) {\r\n const closeSubscriptionsIndex = closeSubscriptions.indexOf(onClose);\r\n if (closeSubscriptionsIndex >= 0) {\r\n closeSubscriptions.splice(closeSubscriptionsIndex, 1);\r\n }\r\n }\r\n };\r\n};\r\n\r\nexport default {\r\n bind: ({ actions, onOpen, onClose }) => {\r\n if (!ws) {\r\n wsConnect();\r\n }\r\n if (actions) {\r\n for (const action in actions) {\r\n if (!actions.hasOwnProperty(action)) {\r\n return;\r\n }\r\n if (typeof messageSubscriptions[action] === 'undefined') {\r\n messageSubscriptions[action] = [];\r\n }\r\n if (messageSubscriptions[action].indexOf(actions[action]) < 0) {\r\n messageSubscriptions[action].push(actions[action]);\r\n }\r\n }\r\n }\r\n\r\n if (onOpen) {\r\n if (openSubscriptions.indexOf(onOpen) < 0) {\r\n openSubscriptions.push(onOpen);\r\n }\r\n if (isOpened) {\r\n onOpen();\r\n }\r\n }\r\n\r\n if (onClose && closeSubscriptions.indexOf(onClose) < 0) {\r\n closeSubscriptions.push(onClose);\r\n }\r\n\r\n return new PleskWSBinding({\r\n actions,\r\n onOpen,\r\n onClose,\r\n });\r\n },\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\nimport prepareUrl from './prepareUrl';\r\nimport api from './api';\r\n\r\n// see common/php/plib/Db/Table/Row/LongTask.php\r\nexport const STATUS_NOT_STARTED = 'not_started';\r\nexport const STATUS_STARTED = 'started';\r\nexport const STATUS_DONE = 'done';\r\nexport const STATUS_CANCELED = 'canceled';\r\nexport const STATUS_ERROR = 'error';\r\n\r\nexport class StatusMessage extends Component {\r\n _failedStatusUpdates = 0;\r\n\r\n _maxFailedStatusUpdates = 10;\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._id = this._getConfigParam('id');\r\n this._onStatusUpdate = this._getConfigParam('onStatusUpdate', null);\r\n this._onTaskDone = this._getConfigParam('onDone', null);\r\n this._onTaskCancel = this._getConfigParam('onCancel', null);\r\n this._onTaskError = this._getConfigParam('onError', null);\r\n this._renderMessage = this._getConfigParam('renderMessage', status => {\r\n if (!status.message) {\r\n return 'Internal error.';\r\n }\r\n if (status.progressParams.errorMessage) {\r\n const messages = status.progressParams.errorMessage.split('\\n');\r\n if (messages.length <= 1) {\r\n return status.progressParams.errorMessage;\r\n }\r\n let message = `${messages[0]} ${this.lmsg('details')}
            `;\r\n message += '';\r\n for (let i = 1; i < messages.length; i++) {\r\n message += `${messages[i]}
            `;\r\n }\r\n message += '
            ';\r\n return message;\r\n }\r\n return status.message;\r\n });\r\n\r\n this._statusUrl = this._getConfigParam('statusUrl', prepareUrl('/task/status/taskId/'));\r\n this._updateInterval = this._getConfigParam('updateInterval', 60);\r\n this._autoRender = true;\r\n }\r\n\r\n _showProgress(status) {\r\n let statusClass = 'msg-progress';\r\n if (STATUS_DONE === status.status) {\r\n if (status.progressParams.errorMessage) {\r\n statusClass = 'msg-warning';\r\n } else {\r\n statusClass = 'msg-info';\r\n }\r\n } else if (STATUS_CANCELED === status.status) {\r\n statusClass = 'msg-warning';\r\n } else if (STATUS_ERROR === status.status) {\r\n statusClass = 'msg-error';\r\n }\r\n\r\n let message = this._renderMessage(status);\r\n\r\n if (STATUS_DONE !== status.status && status.progress) {\r\n if (this._getConfigParam('percent', true)) {\r\n message = `${message}: ${status.progress}%`;\r\n }\r\n\r\n if (this._getConfigParam('gauge', true)) {\r\n message = (\r\n '' +\r\n `` +\r\n '' +\r\n '
            ${message}' +\r\n '
            ' +\r\n `
            ` +\r\n '
            ' +\r\n '
            '\r\n );\r\n }\r\n }\r\n\r\n this._componentElement.className = `msg-box ${statusClass}`;\r\n this._componentElement.innerHTML = `
            ${message}
            `;\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n this._processStatus(this._getConfigParam('status', null));\r\n }\r\n\r\n _scheduleUpdateStatus() {\r\n setTimeout(() => {\r\n this._updateStatus();\r\n }, this._updateInterval * 1000);\r\n }\r\n\r\n _updateStatus() {\r\n api.get(this._statusUrl + this._id)\r\n .then(this._onStatusUpdateSuccess.bind(this))\r\n .catch(this._onStatusUpdateFailure.bind(this));\r\n }\r\n\r\n _onStatusUpdateSuccess(status) {\r\n this._failedStatusUpdates = 0;\r\n this._processStatus(status);\r\n if (this._onStatusUpdate) {\r\n this._onStatusUpdate(status);\r\n }\r\n }\r\n\r\n _onStatusUpdateFailure() {\r\n this._failedStatusUpdates++;\r\n if (this._failedStatusUpdates < this._maxFailedStatusUpdates) {\r\n this._scheduleUpdateStatus();\r\n }\r\n }\r\n\r\n _processStatus(status) {\r\n if (!status) {\r\n this._showLoading();\r\n this._updateStatus();\r\n } else if (STATUS_DONE === status.status) {\r\n if (this._onTaskDone) {\r\n this._onTaskDone(status);\r\n }\r\n this._showFinished(status);\r\n } else if (STATUS_CANCELED === status.status) {\r\n if (this._onTaskCancel) {\r\n this._onTaskCancel(status);\r\n }\r\n this._showFinished(status);\r\n } else if (STATUS_ERROR === status.status) {\r\n if (this._onTaskError) {\r\n this._onTaskError(status);\r\n }\r\n this._showError(status);\r\n } else if (STATUS_STARTED === status.status || STATUS_NOT_STARTED === status.status) {\r\n this._showWorking(status);\r\n this._scheduleUpdateStatus();\r\n } else {\r\n this._showNone(status);\r\n }\r\n }\r\n\r\n _addDetailsEvent() {\r\n const details = this._componentElement.querySelector('.js-details-link');\r\n if (!details) {\r\n return;\r\n }\r\n details.addEventListener('click', event => {\r\n event.preventDefault();\r\n this._componentElement.querySelector('.js-details').classList.toggle('hidden');\r\n details.classList.toggle('hidden');\r\n });\r\n }\r\n\r\n _showFinished(status) {\r\n this._showProgress(status);\r\n setTimeout(() => {\r\n this._addDetailsEvent();\r\n }, 0);\r\n }\r\n\r\n _showWorking(status) {\r\n this._showProgress(status);\r\n }\r\n\r\n _showError(status) {\r\n this._showProgress(status);\r\n setTimeout(() => {\r\n this._addDetailsEvent();\r\n }, 0);\r\n }\r\n\r\n _showLoading() {\r\n // empty implementation\r\n }\r\n\r\n _showNone() {\r\n // empty implementation\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\nimport { DropdownManager } from './dropdown-manager';\r\nimport Cookie from 'common/cookie';\r\nimport prepareUrl from './prepareUrl';\r\nimport render from './render';\r\nimport ce from './createElement';\r\nimport escapeHtml from './escapeHtml';\r\nimport api from './api';\r\nimport Locale from './Locale';\r\nimport addStatusMessage from './addStatusMessage';\r\nimport pageData from '../helpers/pageData';\r\nimport emptyFn from './emptyFn';\r\n\r\nimport './active-list.less';\r\n\r\n/**\r\n * Example usage:\r\n *\r\n * @example\r\n * new ActiveList({\r\n * renderTo: document.body,\r\n * toolbar: {\r\n * buttons: {\r\n * btn1: {\r\n * title: 'Add new item',\r\n * url: '#!'\r\n * }\r\n * }\r\n * },\r\n * layout: 'responsivecolumn',\r\n * data: [{\r\n * title: 'Item 1',\r\n * icon: 'class-icons/component-large.png',\r\n * buttons: [{\r\n * title: 'Action 1',\r\n * icon: 'class-icons/class-large.png'\r\n * }, {\r\n * title: 'Action 2',\r\n * icon: 'class-icons/singleton-large.png'\r\n * }]\r\n * }, {\r\n * title: 'Item 2',\r\n * icon: 'class-icons/component-large.png',\r\n * buttons: [{\r\n * title: 'Action 1',\r\n * icon: 'class-icons/class-large.png'\r\n * }, {\r\n * title: 'Action 2',\r\n * icon: 'class-icons/singleton-large.png'\r\n * }]\r\n * }]\r\n * });\r\n */\r\nexport class ActiveList extends Component {\r\n static stateCollapsed = (id, defaultValue = false) => {\r\n const cookieName = `${id}-state-collapsed`;\r\n let stateCollapsed = Cookie.get(cookieName);\r\n\r\n try {\r\n stateCollapsed = JSON.parse(stateCollapsed) || {};\r\n } catch {\r\n stateCollapsed = {};\r\n }\r\n\r\n return {\r\n get(item) {\r\n return stateCollapsed[item.id] === undefined ? defaultValue : Boolean(stateCollapsed[item.id]);\r\n },\r\n set(item, value) {\r\n if (value === defaultValue) {\r\n delete stateCollapsed[item.id];\r\n } else {\r\n stateCollapsed[item.id] = value ? 1 : 0;\r\n }\r\n Cookie.setPermanent(cookieName, JSON.stringify(stateCollapsed), '/');\r\n },\r\n };\r\n };\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this.urls = this._getConfigParam('urls', {});\r\n this.navigate = this._getConfigParam('onNavigate', emptyFn);\r\n this.pageUrl = this._getConfigParam('pageUrl', location.href);\r\n\r\n this.isCollapsible = this._getConfigParam('isCollapsible', false);\r\n this.isNew = this._getConfigParam('isNew', false);\r\n this.isShowItemTitle = this._getConfigParam('isShowItemTitle', true);\r\n this.layout = this._getConfigParam('layout', 'auto');\r\n if (typeof this.layout === 'string') {\r\n this.layout = {\r\n type: this.layout,\r\n };\r\n }\r\n\r\n this.stateCollapsed = ActiveList.stateCollapsed(this.getId());\r\n\r\n this.itemActions = this._getConfigParam('itemActions', {});\r\n this.data = this._getConfigParam('data', []);\r\n\r\n this._cls = `active-list${this.isCollapsible ? ' active-list-collapsible' : ''}`;\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n render(this._componentElement, this.view());\r\n }\r\n\r\n view() {\r\n return ce('.active-list-wrap',\r\n this.toolbarView(this._getConfigParam('toolbar')),\r\n this.itemsView(),\r\n this.bottomBarView(this._getConfigParam('countMoreItems', 0)),\r\n );\r\n }\r\n\r\n toolbarView(toolbar) {\r\n if (!toolbar) {\r\n return '';\r\n }\r\n\r\n return ce('.a-toolbar.a-toolbar-collapsed',\r\n ce('.a-toolbar-wrap',\r\n ce('.a-toolbar-buttons',\r\n ce('.a-toolbar-buttons-wrap',\r\n ce('table.a-toolbar-buttons-table[cellspacing=0]',\r\n ce('tbody',\r\n ce('tr',\r\n ce('td.a-toolbar-buttons-table-main',\r\n ce('.a-toolbar-buttons-main',\r\n Object.entries(toolbar.buttons).map(([id, { title, url, intent }]) => ce(\r\n `a.btn${intent ? `.btn-${intent}` : ''}`,\r\n {\r\n id,\r\n href: url,\r\n onclick: this.navigate,\r\n },\r\n ` ${escapeHtml(title)}`,\r\n )),\r\n ),\r\n ),\r\n ce('td.a-toolbar-buttons-table-misc',\r\n ce('.a-toolbar-buttons-misc',\r\n ce('.a-toolbar-buttons-settings.a-toolbar-buttons-settings-inactive',\r\n ce('button.btn.btn-settings[type=button]', { title: this.lmsg('settingsTitle') },\r\n ce('i.icon', ce('img[alt=\"\"]', {\r\n src: require('icons/16/plesk/settings-toolbar.png'),\r\n })),\r\n ),\r\n this.isNew ? ce('span.badge-new', this.lmsg('badgeNew')) : '',\r\n ce('.popup-box.a-toolbar-buttons-settings-popup',\r\n ce('table.popup-wrapper[cellspacing=0]', ce('tbody', ce('tr', ce('td.popup-container',\r\n ce('.c1', ce('.c2', ce('.c3', ce('.c4', ce('.c5',\r\n ce('.popup-content',\r\n ce('.popup-content-area',\r\n ce('.settings-list',\r\n ce('.settings-item.settings-item-1',\r\n ce('h3.settings-item-title',\r\n ce('span', `${this.lmsg('sortTitle')}:`),\r\n ),\r\n ce(`a.btn${toolbar.sortDir === 'up' ? '.btn-state-selected' : ''}`,\r\n { href: this.urls['sort-up'] },\r\n ce('i.icon', ce('img[alt=\"\"]', {\r\n src: require('icons/16/plesk/order-ascending.png'),\r\n })),\r\n this.lmsg('orderAscending'),\r\n ),\r\n ce(`a.btn${toolbar.sortDir === 'down' ? '.btn-state-selected' : ''}`,\r\n { href: this.urls['sort-down'] },\r\n ce('i.icon', ce('img[alt=\"\"]', {\r\n src: require('icons/16/plesk/order-descending.png'),\r\n })),\r\n this.lmsg('orderDescending'),\r\n ),\r\n ),\r\n (toolbar.allowListSwitch && toolbar.hasClassicView) ?\r\n ce('.settings-item.settings-item-2',\r\n ce('h3.settings-item-title',\r\n ce('span', `${this.lmsg('modeTitle')}:`),\r\n ),\r\n ce('a.btn.btn-state-selected',\r\n ce('i.icon', ce('img[alt=\"\"]', {\r\n src: require('icons/16/plesk/list-type-active.png'),\r\n })),\r\n this.lmsg('typeActive'),\r\n ),\r\n toolbar.hasClassicView ? ce('a.btn', { href: '?list-type=classic' },\r\n ce('i.icon', ce('img[alt=\"\"]', {\r\n src: require('icons/16/plesk/list-type-classic.png'),\r\n })),\r\n this.lmsg('typeClassic'),\r\n ) : null,\r\n ) : '',\r\n ),\r\n ),\r\n ),\r\n ))))),\r\n )))),\r\n ),\r\n ),\r\n ),\r\n ),\r\n ),\r\n ),\r\n ),\r\n ),\r\n ),\r\n ),\r\n );\r\n }\r\n\r\n itemsView() {\r\n if (!this.data.length) {\r\n return this.emptyView();\r\n }\r\n\r\n const items = this.data.map(this.itemView.bind(this));\r\n if (this.layout.type !== 'responsivecolumn') {\r\n return items;\r\n }\r\n\r\n let cls = ['.grid'];\r\n if (this.layout.stretched !== false) {\r\n cls.push('.grid-stretched');\r\n }\r\n cls = cls.concat((this.layout.columns || 'xl-2 xxl-3').split(' ').map(cls => `.grid-${cls}`));\r\n\r\n return ce(cls.join(''),\r\n items.map(item => ce('.grid-col', item)),\r\n );\r\n }\r\n\r\n emptyView() {\r\n return ce('p', this.lmsg('noObjects'));\r\n }\r\n\r\n itemView(item) {\r\n const itemClasses = [\r\n '.active-list-item',\r\n ];\r\n const types = [\r\n 'danger',\r\n 'warning',\r\n 'inactive',\r\n 'success',\r\n ];\r\n\r\n if (item.type && types.indexOf(item.type) > -1) {\r\n itemClasses.push(`.active-list-item-${item.type}`);\r\n }\r\n if (this.isCollapsible && item.buttons) {\r\n itemClasses.push('.active-list-item-collapsible');\r\n itemClasses.push(this.stateCollapsed.get(item) ? '.active-list-item-collapsed' : '.active-list-item-expanded');\r\n } else {\r\n itemClasses.push('.active-list-item-expanded');\r\n }\r\n\r\n return ce(`#active-list-item-${item.id}${itemClasses.join('')}`, { style: 'position:relative' },\r\n ce('.content-blocker', { style: 'display:none;' }),\r\n ce('.active-list-item-wrap',\r\n this.itemCaptionView(item),\r\n this.itemDetailsView(item),\r\n ),\r\n );\r\n }\r\n\r\n itemDetailsView(item) {\r\n const children = [];\r\n if (item.settings && item.settings.length) {\r\n children.push(this.itemSettingsView(item));\r\n }\r\n if (item.buttons && item.buttons.length) {\r\n children.push(this.itemToolsView(item));\r\n }\r\n\r\n if (!children.length) {\r\n return '';\r\n }\r\n\r\n return ce('.active-list-details',\r\n ce('.active-list-details-wrap',\r\n children,\r\n ),\r\n );\r\n }\r\n\r\n itemSettingsView(item) {\r\n return ce('.list',\r\n ce(`table#active-list-item-settings-table-${item.id}[width=100%][cellspacing=0]`,\r\n ce('tbody',\r\n item.settings.map((settings, index) => ce(`tr${index % 2 ? '.even' : '.odd'}`,\r\n ce('td.min',\r\n ce('span.tooltipData', escapeHtml(settings.hint)),\r\n ce(`a.s-btn.${settings.button}[data-method=post]`, { href: settings.url }, ce('span')),\r\n ),\r\n ce('td', escapeHtml(settings.name)),\r\n ce('td', escapeHtml(settings.description)),\r\n )),\r\n ),\r\n ),\r\n );\r\n }\r\n\r\n itemToolsView(item) {\r\n return ce('.tools-list-box',\r\n ce('.box-area',\r\n ce('.content',\r\n ce('.content-area',\r\n ce('ul.tools-list',\r\n item.buttons.map(button => {\r\n let onClick = null;\r\n if (button.name && this.itemActions[button.name]) {\r\n onClick = event => {\r\n event.preventDefault();\r\n this.itemActions[button.name](item, event);\r\n };\r\n } else if (button.handler) {\r\n onClick = typeof button.handler === 'function'\r\n ? button.handler\r\n : `(${button.handler}(event)); return false;`;\r\n } else {\r\n onClick = this.navigate;\r\n }\r\n\r\n return ce('li.tools-item',\r\n ce(`a.tool-block${button.disabled ? '.disabled' : ''}`,\r\n {\r\n href: !button.disabled && button.href ? button.href : null,\r\n onclick: button.disabled ? null : onClick,\r\n target: button.target || null,\r\n 'data-identity': button.id || null,\r\n 'data-action-name': button.name || null,\r\n rel: button.target === '_blank' ? 'noopener noreferrer' : null,\r\n },\r\n ce('span.tool-icon', ce('img[alt=\"\"]', { src: button.icon })),\r\n ce('span.tool-name', button.noEscapeTitle ? button.title : escapeHtml(button.title)),\r\n button.new ? ce('span.badge-new', this.lmsg('badgeNew')) : '',\r\n Array.isArray(button.additionalComments) ? ce('.span.tool-info',\r\n button.additionalComments\r\n .map(comment => button.noEscape ? comment : escapeHtml(comment))\r\n .join('
            '),\r\n ) : '',\r\n ),\r\n button.comment ? ce('span.tooltipData', escapeHtml(button.comment)) : '',\r\n );\r\n }),\r\n ),\r\n ),\r\n ),\r\n ),\r\n );\r\n }\r\n\r\n bottomBarView(countMoreItems) {\r\n if (!countMoreItems) {\r\n return '';\r\n }\r\n\r\n return ce('.active-list-bottom-bar',\r\n ce('.active-list-bottom-bar-wrap', this.lmsg('showAll', {\r\n countMoreItems,\r\n loadAllLink: `${this.lmsg('loadAll')}`,\r\n switchToLink: `${this.lmsg('switchTo', { listType: this.lmsg('typeClassic') })}`,\r\n })),\r\n );\r\n }\r\n\r\n itemCaptionView(item) {\r\n return ce('.caption',\r\n ce('.caption-wrap',\r\n this.itemCaptionHeaderView(item),\r\n this.itemCaptionServicesView(item),\r\n this.itemCaptionDataView(item),\r\n this.itemCaptionAdditionalHtml(item),\r\n Array.isArray(item.buttons) && item.buttons.length ? (\r\n this.isCollapsible ? ce('.caption-control',\r\n {\r\n onclick: this.toggleItem.bind(this, item),\r\n },\r\n ce('span.caption-control-wrap',\r\n ce('i'), ' ',\r\n ce('span.caption-control-on', this.lmsg('showMore')),\r\n ce('span.caption-control-off', this.lmsg('showLess')),\r\n ),\r\n ) : ''\r\n ) : '',\r\n ),\r\n );\r\n }\r\n\r\n itemCaptionHeaderView(item) {\r\n return ce('.caption-header',\r\n ce('.caption-widget'),\r\n ce('.caption-header-wrap',\r\n ce('.caption-main',\r\n item.icon ? ce('.caption-icon',\r\n ce('span', ce('img[alt=\"\"]', { src: item.icon })),\r\n ) : '',\r\n this.itemCaptionHeadView(item),\r\n ),\r\n ),\r\n );\r\n }\r\n\r\n itemCaptionHeadView(item) {\r\n return ce('.caption-head',\r\n this.isShowItemTitle ? this.itemCaptionHeadWrapView(item) : '',\r\n this.itemCaptionSummaryView(item),\r\n this.itemCaptionToolbarView(item),\r\n );\r\n }\r\n\r\n itemCaptionHeadWrapView(item) {\r\n let labels = [];\r\n const labelTypes = ['danger', 'warning', 'success', 'info', 'inactive'];\r\n\r\n if (Array.isArray(item.labels) && item.labels.length) {\r\n labels = item.labels.map(function (label) {\r\n const type = label.type && labelTypes.indexOf(label.type) > -1 ? label.type : '';\r\n const cls = type === '' ? '' : (`.label-${type}`);\r\n\r\n return ce(`span.label${cls}`, label.value || '');\r\n });\r\n }\r\n\r\n return ce('.caption-head-wrap',\r\n {\r\n onclick: this.isCollapsible && item.buttons ? this.onCaptionHeadWrapClick.bind(this, item) : null,\r\n },\r\n ce('h2.caption-name',\r\n ce('span', escapeHtml(item.title)),\r\n ),\r\n labels,\r\n Array.isArray(item.primaryActions) && item.primaryActions.length ? ce('span.caption-head-widget',\r\n item.primaryActions.map(function (action) {\r\n return [ce('a.btn', { href: action.link },\r\n action.title,\r\n ), ' '];\r\n }),\r\n ) : '',\r\n );\r\n }\r\n\r\n itemCaptionSummaryView(item) {\r\n return Array.isArray(item.summary) && item.summary.length ? ce('.caption-summary',\r\n ce('.caption-summary-wrap',\r\n item.summary.map(this.summaryItemView.bind(this)),\r\n ),\r\n ) : item.summary || '';\r\n }\r\n\r\n summaryItemView(summaryItem) {\r\n return ce('span.summary-item', `${summaryItem.name}: ${summaryItem.value}`);\r\n }\r\n\r\n itemCaptionToolbarView(item) {\r\n return Array.isArray(item.toolbar) && item.toolbar.length ? ce('.caption-toolbar',\r\n ce('.caption-toolbar-wrap',\r\n item.toolbar.map(this.toolbarButtonView.bind(this)),\r\n ),\r\n ) : '';\r\n }\r\n\r\n toolbarButtonView(button) {\r\n return ce(`a.i-link${button.action ? `[data-item-action=\"${button.action}\"]` : ''}`, { href: button.link || null },\r\n button.icon || button.iconClass ? [ce(`i${button.iconClass ? `.${button.iconClass}` : 'icon'}`,\r\n button.icon ? ce('img[alt=\"\"]', { src: button.icon }) : '',\r\n ), ' '] : '',\r\n ce('span', escapeHtml(button.title)),\r\n );\r\n }\r\n\r\n itemCaptionServicesView(item) {\r\n return Array.isArray(item.services) ? item.services.map(this.itemServiceView.bind(this)) : '';\r\n }\r\n\r\n itemServiceView(service) {\r\n return ce(`.caption-services${service.class ? `.${service.class}` : ''}`, { style: service.hidden ? 'display:none' : '' },\r\n ce('.caption-services-wrap',\r\n service.header ? ce(service.headerClass ? `.${service.headerClass}` : '',\r\n service.closeUrl ? ce('span.close', { 'data-close-url': service.closeUrl }) : '',\r\n service.header,\r\n ) : '',\r\n this.itemServiceBlockView(service),\r\n ),\r\n );\r\n }\r\n\r\n renderItemServiceView(service) {\r\n const type = service.type\r\n .replace(/(^\\w|-\\w)/g, ch => ch.toUpperCase())\r\n .replaceAll('-', '');\r\n return this[`itemService${type}View`](service);\r\n }\r\n\r\n itemServiceBlockView(service) {\r\n if (service.grid) {\r\n const columns = service.grid.reduce(function (columns, service) {\r\n return columns + (service.colspan || 1);\r\n }, 0);\r\n return ce(`.b-grid${service.grid.length > 1 ? `.b-grid-${columns}` : ''}`,\r\n ce('ul.b-grid-list',\r\n service.grid.map(function (subService) {\r\n return ce(`li.b-grid-item${service.grid.length > 1 && subService.colspan ? `.b-grid-item-${subService.colspan}` : ''}`,\r\n ce('.b-grid-item-wrap', this.itemServiceBlockView(subService)),\r\n );\r\n }.bind(this)),\r\n ),\r\n );\r\n }\r\n\r\n if (service.type) {\r\n return this.renderItemServiceView(service);\r\n }\r\n\r\n let icon = ce('img[alt=\"\"]', { src: service.icon });\r\n let name = escapeHtml(service.title);\r\n if (service.href) {\r\n icon = ce(`a${service.newWindow ? '[target=_blank]' : ''}`, {\r\n href: service.href,\r\n onclick: this.navigate,\r\n }, icon);\r\n name = ce(`a${service.newWindow ? '[target=_blank]' : ''}`, {\r\n href: service.href,\r\n onclick: this.navigate,\r\n }, name);\r\n }\r\n\r\n const description = service.description ? service.description : '';\r\n return ce('.caption-service-block',\r\n ce('span.caption-service-title',\r\n ce('i.caption-service-icon', icon),\r\n ce('span.caption-service-name', name, description),\r\n ),\r\n Array.isArray(service.links) && service.links.length ? ce('.caption-service-toolbar',\r\n service.links.map(function (link) {\r\n let linkView;\r\n if (link.childLinks && link.childLinks.length) {\r\n linkView = ce('.btn-group',\r\n ce('a.btn', {\r\n href: link.href,\r\n target: link.newWindow ? '_blank' : null,\r\n }, escapeHtml(link.title)),\r\n ce('button.btn.dropdown-toggle[type=button]', ce('em.caret')),\r\n ce('ul.dropdown-menu',\r\n link.childLinks.map(function (childLink) {\r\n return ce('li',\r\n ce('a', {\r\n href: childLink.href,\r\n target: childLink.newWindow ? '_blank' : null,\r\n }, escapeHtml(childLink.title)),\r\n );\r\n }),\r\n ),\r\n );\r\n } else {\r\n const icon = link.icon ? [ce('i.icon', ce('img[alt=\"\"]', { src: link.icon })), ' '] : '';\r\n if (link.isSimpleText) {\r\n linkView = ce('span',\r\n icon,\r\n link.noEscape ? link.info : escapeHtml(link.info),\r\n );\r\n } else if (link.isSimpleLink) {\r\n linkView = ce(`span${link.spanClass ? `.${link.spanClass}` : ''}`,\r\n icon,\r\n `${escapeHtml(link.info)} `,\r\n ce('a', {\r\n href: link.href,\r\n class: link.class ? escapeHtml(link.class) : null,\r\n onclick: link.onClick ? escapeHtml(link.onClick) : null,\r\n target: link.newWindow ? '_blank' : null,\r\n }, escapeHtml(link.title)),\r\n );\r\n } else {\r\n linkView = ce('a.btn', {\r\n href: link.href,\r\n class: link.class ? escapeHtml(link.class) : null,\r\n onclick: link.onClick ? escapeHtml(link.onClick) : null,\r\n target: link.newWindow ? '_blank' : null,\r\n id: link.id ? escapeHtml(link.id) : null,\r\n name: link.name ? escapeHtml(link.name) : null,\r\n }, icon, escapeHtml(link.title));\r\n }\r\n }\r\n\r\n return [\r\n link.newLine ? ce('br') : '',\r\n linkView,\r\n ' ',\r\n ];\r\n }),\r\n ) : '',\r\n );\r\n }\r\n\r\n itemCaptionDataView(item) {\r\n if (!item.data || !item.data.length) {\r\n return '';\r\n }\r\n\r\n return ce('.caption-data',\r\n ce('.caption-data-wrap',\r\n item.data.map(function (data, index) {\r\n return ce('.form-group',\r\n ce(`label.control-label[for=active-list-data-${item.id}-${index}]`, data.label),\r\n ce(`textarea#active-list-data-${item.id}-${index}.form-control.code[rows=${data.linesNumber}][readonly]`, escapeHtml(data.text)),\r\n );\r\n }),\r\n ),\r\n );\r\n }\r\n\r\n itemCaptionAdditionalHtml(item) {\r\n if (!item.additionalHtml) {\r\n return '';\r\n }\r\n\r\n return ce('.caption-data',\r\n ce('.caption-data-wrap', item.additionalHtml),\r\n );\r\n }\r\n\r\n onCaptionHeadWrapClick(item, event) {\r\n if (event && event.target.closest('.caption-head-action, .caption-head-status, .caption-head-widget')) {\r\n return;\r\n }\r\n\r\n this.toggleItem(item);\r\n\r\n const el = this.getItemElement(item);\r\n if (el.classList.contains('active-list-item-collapsed')) {\r\n return;\r\n }\r\n\r\n const itemBottom = Element.cumulativeOffset(el).top + Element.getHeight(el);\r\n const viewportBottom = document.viewport.getScrollOffsets().top + document.viewport.getHeight();\r\n if (itemBottom + 40 > viewportBottom) {\r\n this.scrollToItem(el, 500);\r\n }\r\n }\r\n\r\n getItemElement(item) {\r\n return this._componentElement.querySelector(`#active-list-item-${String(item.id).replace(/:/g, '\\\\:')}`);\r\n }\r\n\r\n _addEvents() {\r\n this._componentElement.querySelectorAll('.dropdown-toggle').forEach(element => {\r\n element.addEventListener('click', event => {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n const hadClassName = event.target.closest('.btn-group').classList.contains('btn-group-open');\r\n document.querySelectorAll('.active-list .dropdown-toggle').forEach(elem => {\r\n elem.closest('.btn-group').classList.remove('btn-group-open');\r\n });\r\n if (!hadClassName) {\r\n event.target.closest('.btn-group').classList.add('btn-group-open');\r\n }\r\n });\r\n document.body.addEventListener('click', () => {\r\n element.closest('.btn-group').classList.remove('btn-group-open');\r\n });\r\n });\r\n\r\n this._componentElement.querySelectorAll('.a-toolbar-buttons-misc .btn-search').forEach(element => {\r\n element.addEventListener('click', () => {\r\n element.closest('.a-toolbar').classList.toggle('a-toolbar-collapsed');\r\n element.closest('.a-toolbar').classList.toggle('a-toolbar-expanded');\r\n });\r\n });\r\n\r\n this._componentElement.querySelectorAll('.a-toolbar-buttons-misc .btn-settings').forEach(el => {\r\n DropdownManager.register(el,\r\n function () {\r\n return el.parentNode.classList.contains('a-toolbar-buttons-settings-active');\r\n },\r\n function () {\r\n el.parentNode.classList.add('a-toolbar-buttons-settings-active');\r\n el.parentNode.classList.remove('a-toolbar-buttons-settings-inactive');\r\n },\r\n function () {\r\n el.parentNode.classList.add('a-toolbar-buttons-settings-inactive');\r\n el.parentNode.classList.remove('a-toolbar-buttons-settings-active');\r\n },\r\n );\r\n });\r\n\r\n this._componentElement.querySelectorAll('.caption-services .close').forEach(element => {\r\n element.addEventListener('click', event => {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n const { closeUrl } = event.target.dataset;\r\n event.target.closest('.caption').querySelectorAll('.caption-services').forEach(element => {\r\n element.style.display = '';\r\n });\r\n const servicesEl = event.target.closest('.caption-services');\r\n servicesEl.parentNode.removeChild(servicesEl);\r\n api.post(prepareUrl(closeUrl));\r\n });\r\n });\r\n\r\n this._initToolbar();\r\n }\r\n\r\n disableItem(id) {\r\n this.getItemElement({ id }).querySelector('.content-blocker').style.display = '';\r\n }\r\n\r\n enableItem(id) {\r\n this.getItemElement({ id }).querySelector('.content-blocker').style.display = 'none';\r\n }\r\n\r\n _initToolbar() {\r\n this._componentElement.querySelectorAll('.a-toolbar-buttons-main').forEach(toolbarEl => {\r\n const itemEls = [...toolbarEl.children];\r\n\r\n const menuEl = new Element('span', { class: 'btn-group' });\r\n menuEl.innerHTML = (\r\n '' +\r\n '
              '\r\n );\r\n\r\n menuEl.addEventListener('click', event => {\r\n event.stopPropagation();\r\n menuEl.classList.toggle('btn-group-open');\r\n\r\n const dropdownMenu = menuEl.querySelector('.dropdown-menu');\r\n if (Element.getStyle(dropdownMenu, 'display') !== 'none') {\r\n dropdownMenu.style.right = 0;\r\n const offset = Element.cumulativeOffset(dropdownMenu);\r\n const { left } = Element.cumulativeOffset(toolbarEl);\r\n if (offset.left < left) {\r\n dropdownMenu.style.right = `${offset.left - left}px`;\r\n }\r\n }\r\n });\r\n document.body.addEventListener('click', () => {\r\n menuEl.classList.remove('btn-group-open');\r\n });\r\n render(toolbarEl, menuEl);\r\n\r\n const layout = Element.getLayout(menuEl);\r\n toolbarEl._menuEl = {\r\n el: menuEl,\r\n width: Element.getWidth(menuEl) + layout.get('margin-left') + layout.get('margin-right'),\r\n };\r\n menuEl.style.display = 'none';\r\n\r\n toolbarEl._items = [];\r\n itemEls.forEach(itemEl => {\r\n const itemElClone = itemEl.cloneNode(true);\r\n itemElClone.classList.remove('btn');\r\n\r\n const liEl = new Element('li');\r\n render(liEl, itemElClone);\r\n render(menuEl.querySelector('ul'), liEl);\r\n\r\n const layout = Element.getLayout(itemEl);\r\n toolbarEl._items.push({\r\n el: itemEl,\r\n elInMenu: liEl,\r\n width: Element.getWidth(itemEl) + layout.get('margin-left') + layout.get('margin-right'),\r\n });\r\n });\r\n });\r\n\r\n const onWindowResize = () => {\r\n document.querySelectorAll('.a-toolbar-buttons-main').forEach(toolbarEl => {\r\n let width = Element.getWidth(toolbarEl);\r\n width -= toolbarEl._menuEl.width;\r\n\r\n toolbarEl._items.forEach(function (item) {\r\n if (width > item.width) {\r\n item.el.style.display = '';\r\n item.elInMenu.style.display = 'none';\r\n width -= item.width;\r\n } else {\r\n item.el.style.display = 'none';\r\n item.elInMenu.style.display = '';\r\n width = -1;\r\n }\r\n });\r\n if (width === -1) {\r\n toolbarEl._menuEl.el.style.display = '';\r\n } else {\r\n toolbarEl._menuEl.el.style.display = 'none';\r\n }\r\n });\r\n };\r\n\r\n onWindowResize();\r\n window.addEventListener('resize', onWindowResize);\r\n }\r\n\r\n toggleItem(item) {\r\n this.getItemElement(item).classList.toggle('active-list-item-collapsed');\r\n this.getItemElement(item).classList.toggle('active-list-item-expanded');\r\n this.stateCollapsed.set(item, !this.stateCollapsed.get(item));\r\n }\r\n\r\n scrollToItem(el, duration) {\r\n const startTime = new Date().getTime();\r\n const from = document.viewport.getScrollOffsets().top;\r\n let to = Element.cumulativeOffset(el).top - Element.cumulativeOffset(document.querySelector('.pul-layout__main')).top - 40;\r\n\r\n if (document.getElementById('classic-mode-navigation')) {\r\n to -= Element.getHeight(document.getElementById('classic-mode-navigation'));\r\n }\r\n\r\n const frame = () => {\r\n let progress = duration ? ((new Date().getTime() - startTime) / duration) : 1;\r\n if (progress > 1) {\r\n progress = 1;\r\n }\r\n\r\n window.scrollTo(0, Math.round(from + ((to - from) * progress)));\r\n\r\n if (progress < 1) {\r\n setTimeout(frame, 50);\r\n }\r\n };\r\n frame();\r\n }\r\n\r\n getItemIdFromUrl(url) {\r\n const m = url.match('/id/([0-9]+)');\r\n return m && m[1];\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n const id = this.getItemIdFromUrl(decodeURIComponent(this.pageUrl));\r\n if (!id) {\r\n return;\r\n }\r\n\r\n const el = this.getItemElement({ id });\r\n if (el) {\r\n pageData().status?.forEach(({ status, content, ...props }) => {\r\n addStatusMessage(status, content, {\r\n ...props,\r\n title: Locale.getSection('components.status').lmsg(status),\r\n renderTo: el.querySelector('.caption-header-wrap'),\r\n renderMode: 'top',\r\n });\r\n });\r\n pageData({ ...pageData(), status: [] });\r\n this.scrollToItem(el, 10);\r\n }\r\n }\r\n}\r\n","module.exports = Jsw.skinUrl + \"/icons/16/plesk/settings-toolbar.png?6074d526f4dc827dee3280629d2e5130\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/order-ascending.png?3c02863d9b5c4a3cf034bd74e0183fa6\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/order-descending.png?c973774da91e3186ce0b188d9d895ef1\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/list-type-active.png?2bd72c88d60436bb8acc8328ed7f9ed3\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/list-type-classic.png?3eb8621bc8257a9b5f9995433f509a57\";","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from '../component';\r\nimport addStatusMessage from '../addStatusMessage';\r\nimport clearStatusMessages from '../clearStatusMessages';\r\nimport showInternalError from '../showInternalError';\r\nimport prepareUrl from '../prepareUrl';\r\nimport render from '../render';\r\nimport ce from '../createElement';\r\nimport escapeHtml from '../escapeHtml';\r\nimport emptyFn from '../emptyFn';\r\nimport { ESC, ENTER } from '../keyCode';\r\nimport api from '../api';\r\nimport { getTypeIcon } from '../../helpers/fileManager';\r\n\r\nimport './tree.less';\r\n\r\n/**\r\n * The widget displays directories and files in the webspace, allows selection\r\n *\r\n * Example usage:\r\n *\r\n * @example\r\n * new FileManager.Tree({\r\n * renderTo: document.body,\r\n * rootNodeTitle: 'Root node',\r\n * data: [{\r\n * name: 'folder',\r\n * isDirectory: true,\r\n * icon: '/icons/16/plesk/file-folder.png'\r\n * }, {\r\n * name: 'file.html',\r\n * isDirectory: false,\r\n * icon: '/icons/16/plesk/file-html.png'\r\n * }]\r\n * });\r\n */\r\nexport class Tree extends Component {\r\n /**\r\n * @cfg {Object[]} data=[]\r\n */\r\n /**\r\n * @cfg {String} dataUrl=\"\"\r\n */\r\n /**\r\n * @cfg {Boolean} showFiles=false\r\n */\r\n\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n\r\n this._data = this._getConfigParam('data', null);\r\n this._dataUrl = this._getConfigParam('dataUrl', '');\r\n this._createFolderUrl = this._getConfigParam('createFolderUrl', '');\r\n this._onNodeClick = this._getConfigParam('onNodeClick', emptyFn);\r\n this._rootNodeTitle = this._getConfigParam('rootNodeTitle', '');\r\n this._onReload = this._getConfigParam('onReload', emptyFn);\r\n this._showFiles = this._getConfigParam('showFiles', false);\r\n this._filterNodes = this._getConfigParam('filterNodes', () => true);\r\n this._selectOnlyFiles = this._showFiles && this._getConfigParam('selectOnlyFiles', false);\r\n if (this._getConfigParam('showMessage')) {\r\n this._showMessage = this._getConfigParam('showMessage');\r\n }\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n if (null === this._data) {\r\n this.reload();\r\n } else {\r\n this._initTreeView();\r\n }\r\n }\r\n\r\n _initTreeView() {\r\n this._componentElement.innerHTML = '
              ';\r\n const container = this._componentElement.firstChild;\r\n\r\n this._insertNode(container, {\r\n name: this._rootNodeTitle,\r\n path: '/',\r\n htmlElement: 'div',\r\n cssClass: 'tree-item-root',\r\n isRootDirectory: true,\r\n isDirectory: true,\r\n });\r\n render(container, this._getNodes(this._data));\r\n }\r\n\r\n _getNodes(items) {\r\n const ulElement = new Element('ul', { class: 'tree-container' });\r\n\r\n items.filter(this._filterNodes).forEach(this._insertNode.bind(this, ulElement));\r\n\r\n return ulElement;\r\n }\r\n\r\n _insertNode(container, item, position) {\r\n const element = document.createElement(item.htmlElement || 'li');\r\n element.className = `tree-item ${item.cssClass ? item.cssClass : ''}`;\r\n element.innerHTML = '
              ';\r\n const wrapper = element.firstChild;\r\n element.data = item;\r\n\r\n const itemSelect = document.createElement('div');\r\n itemSelect.className = 'tree-item-select';\r\n render(wrapper, itemSelect);\r\n this._addCommonEvents(itemSelect, item, element);\r\n if (item.isDirectory && !item.isRootDirectory) {\r\n render(wrapper, ``);\r\n wrapper.querySelector('.tree-item-state').addEventListener('click', this._onNodeToggle.bind(this, item.path, element));\r\n wrapper.addEventListener('dblclick', this._onNodeToggle.bind(this, item.path, element));\r\n if (!this._selectOnlyFiles) {\r\n wrapper.querySelector('.tree-item-state').addEventListener('mouseover', this._onNodeMouseover.bind(this, element));\r\n wrapper.querySelector('.tree-item-state').addEventListener('mouseleave', this._onNodeMouseleave.bind(this, element));\r\n }\r\n } else if (!item.isRootDirectory) {\r\n render(wrapper, ``);\r\n }\r\n const linkElement = document.createElement('a');\r\n linkElement.className = 'tree-item-content';\r\n linkElement.innerHTML = `\"\"${escapeHtml(item.name)}`;\r\n this._addCommonEvents(linkElement, item, element);\r\n render(wrapper, linkElement);\r\n\r\n render(container, element, position === 'top' ? 'top' : 'bottom');\r\n }\r\n\r\n _addCommonEvents(target, item, element) {\r\n if (item.isDirectory && this._selectOnlyFiles) {\r\n return;\r\n }\r\n target.addEventListener('mouseover', this._onNodeMouseover.bind(this, element));\r\n target.addEventListener('mouseleave', this._onNodeMouseleave.bind(this, element));\r\n target.addEventListener('click', event => {\r\n this._onNodeSelect(event, element);\r\n });\r\n target.addEventListener('click', this._onNodeClick.bind(this, item.path, element));\r\n }\r\n\r\n _onNodeToggle(directoryPath, containerElement) {\r\n const subTreeElement = containerElement.querySelector('ul');\r\n const expandElement = containerElement.querySelector('.tree-item-state');\r\n\r\n if (subTreeElement) {\r\n expandElement.innerHTML = ``;\r\n subTreeElement.parentNode.removeChild(subTreeElement);\r\n containerElement.data.showNewNode = false;\r\n return;\r\n }\r\n\r\n this._loadNode(directoryPath, containerElement);\r\n }\r\n\r\n _loadNode(directoryPath, containerElement) {\r\n if (containerElement.querySelector('.tree-item-state').querySelector('.js-loader')) {\r\n return;\r\n }\r\n this._onNodeLoadStart(containerElement);\r\n api.get(prepareUrl(this._dataUrl), { rootDir: directoryPath, showFiles: this._showFiles })\r\n .then(this._onNodeLoadSuccess.bind(this, containerElement))\r\n .catch(this._onNodeLoadFailure.bind(this));\r\n }\r\n\r\n _isNodeExpanded(nodeElement) {\r\n return !!nodeElement.querySelector('ul') || nodeElement.classList.contains('tree-item-root');\r\n }\r\n\r\n _onNodeLoadStart(containerElement) {\r\n const expandElement = containerElement.querySelector('.tree-item-state');\r\n expandElement.innerHTML = ``;\r\n }\r\n\r\n _onNodeLoadSuccess(containerElement, items) {\r\n const expandElement = containerElement.querySelector('.tree-item-state');\r\n if (items.status) {\r\n expandElement.innerHTML = ``;\r\n this._showMessage(items.status, items.message);\r\n return;\r\n }\r\n\r\n clearStatusMessages();\r\n expandElement.innerHTML = ``;\r\n render(containerElement, this._getNodes(items));\r\n if (containerElement.data.showNewNode) {\r\n this.showNewNode(containerElement);\r\n }\r\n }\r\n\r\n _showMessage(status, message) {\r\n clearStatusMessages();\r\n addStatusMessage(status, message);\r\n }\r\n\r\n _onNodeSelect(event, containerElement) {\r\n if (event) {\r\n event.preventDefault();\r\n }\r\n this.resetSelection();\r\n containerElement.querySelector('.tree-item-wrap').classList.add('tree-item-row-active');\r\n this.hideNewNode();\r\n }\r\n\r\n resetSelection() {\r\n this._componentElement.querySelectorAll('.tree-item-wrap').forEach(element => {\r\n element.classList.remove('tree-item-row-active');\r\n });\r\n }\r\n\r\n _onNodeMouseover(containerElement) {\r\n this.resetHover();\r\n containerElement.querySelector('.tree-item-select').classList.add('tree-item-hover');\r\n }\r\n\r\n _onNodeMouseleave(containerElement) {\r\n this.resetHover();\r\n containerElement.querySelector('.tree-item-select').classList.remove('tree-item-hover');\r\n }\r\n\r\n resetHover() {\r\n this._componentElement.querySelectorAll('.tree-item-select').forEach(element => {\r\n element.classList.remove('tree-item-hover');\r\n });\r\n }\r\n\r\n /**\r\n * @param {String} directory\r\n */\r\n setDirectory(directory) {\r\n const node = this._getNodeElement(directory);\r\n if (node) {\r\n this._onNodeSelect(null, node);\r\n }\r\n }\r\n\r\n reload() {\r\n this._componentElement.innerHTML = '
              Please wait...
              ';\r\n\r\n api.get(prepareUrl(this._dataUrl), { rootDir: '/', showFiles: this._showFiles })\r\n .then(this._onFullReloadSuccess.bind(this))\r\n .catch(this._onNodeLoadFailure.bind(this));\r\n }\r\n\r\n _onFullReloadSuccess(data) {\r\n this._data = data;\r\n this._initTreeView();\r\n this._onReload();\r\n }\r\n\r\n _onNodeLoadFailure() {\r\n showInternalError('Failed to load tree data.');\r\n }\r\n\r\n reloadPath(path) {\r\n if (path === '/') {\r\n this.reload();\r\n return;\r\n }\r\n\r\n const node = this._getNodeElement(path);\r\n if (!node) {\r\n return;\r\n }\r\n\r\n if (this._isNodeExpanded(node)) {\r\n const el = node.querySelector('ul');\r\n el.parentNode.removeChild(el);\r\n this._loadNode(path, node);\r\n }\r\n }\r\n\r\n _getNodeElement(path) {\r\n if (typeof path !== 'string') {\r\n return null;\r\n }\r\n const nodes = this._componentElement.querySelectorAll('.tree-item');\r\n for (let i = 0; i < nodes.length; i++) {\r\n if (nodes[i].data.path === path) {\r\n return nodes[i];\r\n }\r\n }\r\n const lastSlashIndex = path.lastIndexOf('/');\r\n if (lastSlashIndex > 0) {\r\n return this._getNodeElement(path.slice(0, lastSlashIndex));\r\n }\r\n return null;\r\n }\r\n\r\n getSelectedNode() {\r\n const selectedElement = this._componentElement.querySelector('.tree-item-row-active');\r\n if (!selectedElement) {\r\n return null;\r\n }\r\n\r\n return selectedElement.closest('.tree-item');\r\n }\r\n\r\n getSelectedItemData() {\r\n const selectedElement = this.getSelectedNode();\r\n if (!selectedElement) {\r\n return null;\r\n }\r\n\r\n return selectedElement.data;\r\n }\r\n\r\n expandNode(node) {\r\n if (!node) {\r\n node = this.getSelectedNode();\r\n }\r\n if (this._isNodeExpanded(node)) {\r\n return;\r\n }\r\n\r\n this._loadNode(node.data.path, node);\r\n }\r\n\r\n showNewNode(parentNode) {\r\n if (!parentNode) {\r\n parentNode = this.getSelectedNode();\r\n }\r\n if (!parentNode) {\r\n // Process root node\r\n parentNode = this._componentElement.querySelector('.tree-item-root');\r\n }\r\n parentNode.data.showNewNode = true;\r\n if (!this._isNodeExpanded(parentNode)) {\r\n this.expandNode(parentNode);\r\n return;\r\n }\r\n let container = parentNode.querySelector('ul.tree-container');\r\n if (!container) {\r\n // Process root node\r\n container = parentNode.nextElementSibling;\r\n }\r\n this._insertNewNode(container, {\r\n name,\r\n path: parentNode.data.path,\r\n icon: '/icons/16/plesk/file-folder.png',\r\n isDirectory: true,\r\n type: 'dir',\r\n }, 'top');\r\n }\r\n\r\n hideNewNode() {\r\n const newNode = this._componentElement.querySelector('.js-tree-item-new');\r\n if (!newNode) {\r\n return;\r\n }\r\n let parentNode = newNode.closest('.tree-item');\r\n if (!parentNode) {\r\n // Process root node\r\n parentNode = this._componentElement.querySelector('.tree-item-root');\r\n }\r\n parentNode.data.showNewNode = false;\r\n newNode.parentNode.removeChild(newNode);\r\n }\r\n\r\n _insertNewNode(container, item, position) {\r\n if (container.querySelector('.js-tree-item-new')) {\r\n return;\r\n }\r\n const element = ce('li.tree-item js-tree-item-new',\r\n {\r\n onrender(el) {\r\n el.data = item;\r\n },\r\n },\r\n ce('div.tree-item-wrap',\r\n ce('span.tree-item-state', ce('img', { src: require('images/blank.gif') })),\r\n ce('div.tree-item-content',\r\n ce('div.input-btn-group',\r\n ce('i.icon-folder'),\r\n ce('input.form-control', { type: 'text', onkeydown: this._onNewNodeKeyDown.bind(this) }),\r\n ce('button.btn btn-icon-only input-btn',\r\n { type: 'button', onclick: this._onCreateFolder.bind(this), onrender: el => {\r\n this._insertBtn = el;\r\n } },\r\n ce('i.icon-save')),\r\n ce('button.btn btn-icon-only input-btn',\r\n { type: 'button', onclick: this._onCancelCreateFolder.bind(this) }, ce('i.icon-cancel')),\r\n ),\r\n ),\r\n ),\r\n );\r\n\r\n render(container, element, position);\r\n container.querySelector('.js-tree-item-new input').focus();\r\n }\r\n\r\n _onCreateFolder(e) {\r\n const name = e.target.closest('.input-btn-group').querySelector('.form-control').value;\r\n const newNode = e.target.closest('.js-tree-item-new');\r\n let parentNode = newNode.parentNode.closest('.tree-item');\r\n if (!parentNode) {\r\n // Process root node\r\n parentNode = newNode.closest('ul.tree-container').previousElementSibling;\r\n }\r\n\r\n const row = parentNode.closest('.form-row');\r\n row.classList.remove('error');\r\n const errorMessage = row.querySelector('.field-value .field-errors');\r\n if (errorMessage) {\r\n errorMessage.parentNode.removeChild(errorMessage);\r\n }\r\n\r\n this._insertBtn.disabled = true;\r\n api.post(prepareUrl(this._createFolderUrl), { currentDir: newNode.data.path, newDirectoryName: name })\r\n .then(response => this._onFolderCreated(name, parentNode, response))\r\n .finally(() => {\r\n this._insertBtn.disabled = false;\r\n });\r\n }\r\n\r\n _onFolderCreated(name, parentNode, { status, message }) {\r\n if (status === 'success') {\r\n const path = `${parentNode.data.path}/${name}`;\r\n let container = parentNode.querySelector('ul.tree-container');\r\n if (!container) {\r\n // Process root node\r\n container = parentNode.nextElementSibling;\r\n }\r\n this.hideNewNode();\r\n this._insertNode(container, {\r\n name,\r\n path,\r\n isDirectory: true,\r\n }, 'top');\r\n this._onNodeSelect(null, container);\r\n } else {\r\n const row = parentNode.closest('.form-row');\r\n row.classList.add('error');\r\n const errorMessage = ce('span.field-errors', ce('span.error-hint', message));\r\n render(row.querySelector('.field-value'), errorMessage);\r\n }\r\n }\r\n\r\n _onCancelCreateFolder() {\r\n this.hideNewNode();\r\n }\r\n\r\n _onNewNodeKeyDown(e) {\r\n switch (e.keyCode) {\r\n case ENTER:\r\n e.preventDefault();\r\n this._onCreateFolder(e);\r\n break;\r\n case ESC:\r\n e.preventDefault();\r\n this._onCancelCreateFolder(e);\r\n break;\r\n }\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport const FTYPE_DIR = 'dir';\r\nexport const FTYPE_TEXT = 'text';\r\nexport const FTYPE_IMAGE = 'image';\r\nexport const FTYPE_VECTOR_IMAGE = 'vector_image';\r\nexport const FTYPE_AUDIO = 'audio';\r\nexport const FTYPE_SECURITY = 'security';\r\nexport const FTYPE_WEBSCRIPT = 'webscript';\r\nexport const FTYPE_WEBPAGE = 'webpage';\r\nexport const FTYPE_WAPPAGE = 'wappage';\r\nexport const FTYPE_COMPRESSED = 'compressed';\r\nexport const FTYPE_UNKNOWN_TEXT = 'unknown_text';\r\nexport const FTYPE_UNKNOWN_BINARY = 'unknown_binary';\r\nexport const FTYPE_ZIP = 'zip';\r\nexport const FTYPE_RAR = 'rar';\r\nexport const FTYPE_TAR = 'tar';\r\nexport const FTYPE_TGZ = 'tgz';\r\n\r\ntype FileType = {\r\n type: string;\r\n isDirectory: boolean;\r\n name: string;\r\n};\r\n\r\nexport const getTypeIcon = ({ type, isDirectory, name }: FileType): string => {\r\n if (isDirectory) {\r\n return name === '..'\r\n ? require('icons/16/plesk/uplevel.png')\r\n : require('icons/16/plesk/file-folder.png');\r\n }\r\n\r\n const list: Record = {\r\n [FTYPE_TEXT]: require('icons/16/plesk/file-txt.png'),\r\n [FTYPE_IMAGE]: require('icons/16/plesk/file-image.png'),\r\n [FTYPE_VECTOR_IMAGE]: require('icons/16/plesk/file-image.png'),\r\n [FTYPE_AUDIO]: require('icons/16/plesk/file-audio.png'),\r\n [FTYPE_SECURITY]: require('icons/16/plesk/file-private.png'),\r\n [FTYPE_WEBSCRIPT]: require('icons/16/plesk/file-webscript.png'),\r\n [FTYPE_WEBPAGE]: require('icons/16/plesk/file-html.png'),\r\n [FTYPE_WAPPAGE]: require('icons/16/plesk/file-html.png'),\r\n [FTYPE_COMPRESSED]: require('icons/16/plesk/file-arch.png'),\r\n [FTYPE_UNKNOWN_TEXT]: require('icons/16/plesk/file-txt.png'),\r\n [FTYPE_UNKNOWN_BINARY]: require('icons/16/plesk/file-binary.png'),\r\n [FTYPE_ZIP]: require('icons/16/plesk/file-arch.png'),\r\n [FTYPE_RAR]: require('icons/16/plesk/file-arch.png'),\r\n [FTYPE_TAR]: require('icons/16/plesk/file-arch.png'),\r\n [FTYPE_TGZ]: require('icons/16/plesk/file-arch.png'),\r\n };\r\n\r\n return list[type];\r\n};\r\n\r\nconst unixPermissions = [\r\n 'ownerRead',\r\n 'ownerWrite',\r\n 'ownerExecute',\r\n 'groupRead',\r\n 'groupWrite',\r\n 'groupExecute',\r\n 'othersRead',\r\n 'othersWrite',\r\n 'othersExecute',\r\n] as const;\r\n\r\ntype Permissions = Record;\r\n\r\nexport const toUnixPermissionsString = (permissions: Permissions): string => (\r\n unixPermissions.reduce((acc, name, index) => {\r\n const flag = permissions[name];\r\n acc += flag ? ['r', 'w', 'x'][index % 3] : '-';\r\n if (index % 3 === 2) {\r\n acc += ' ';\r\n }\r\n return acc;\r\n }, '')\r\n);\r\n","module.exports = Jsw.skinUrl + \"/icons/16/plesk/uplevel.png?09738742d9a113e283a273f3445a1ba9\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-folder.png?377a0415c8e86b629f04f2de969b6dc7\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-txt.png?9bfe434b7467e7d61abb4b3ae8adc711\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-image.png?1327e17a096bce2f49ad2f66f4abdaf6\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-audio.png?72fe25f83d67048d40e6c86149d696bf\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-private.png?b3e618929415e17caa82f8d04d2aa689\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-webscript.png?b2aff14c14b05cccbb316c37d48fb591\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-html.png?a1c021367bd1d987f31cf58c13a2d342\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-arch.png?672559f884c624090a3e3687f16148ec\";","module.exports = Jsw.skinUrl + \"/icons/16/plesk/file-binary.png?e5e874cc42fb4473aab65dcace6e6664\";","module.exports = Jsw.skinUrl + \"/images/tree-open.gif?56398e76be6355ad5999b262208a17c9\";","module.exports = Jsw.skinUrl + \"/images/indicator.gif?ece6f747d3bfdc48d99f935627535c09\";","module.exports = Jsw.skinUrl + \"/images/tree-close.gif?56398e76be6355ad5999b262208a17c9\";","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport render from '../render';\r\n\r\nexport class UploadAdapterIframe {\r\n constructor({ contentAreaId, handlerUrl, startUploadHandler, finishUploadHandler }) {\r\n this._contentAreaId = contentAreaId;\r\n this._handlerUrl = handlerUrl;\r\n this._startUploadHandler = startUploadHandler;\r\n this._finishUploadHandler = finishUploadHandler;\r\n this._uploadFrameInitialized = false;\r\n this._getUploadIFrameElement();\r\n }\r\n\r\n _getUploadIFrameElement() {\r\n const contentArea = document.getElementById(this._contentAreaId);\r\n if (!contentArea.querySelector('iframe')) {\r\n this._uploadFrameElement = new Element('iframe', {\r\n id: `${this._contentAreaId}-upload-iframe`,\r\n name: '_uploadIFrame',\r\n style: 'display: none;',\r\n src: this._handlerUrl,\r\n });\r\n render(contentArea, this._uploadFrameElement);\r\n this._uploadFrameElement.addEventListener('load', this._onUploadFrameInitialized.bind(this));\r\n }\r\n return this._uploadFrameElement;\r\n }\r\n\r\n _onUploadFrameInitialized() {\r\n if (this._uploadFrameInitialized) {\r\n return;\r\n }\r\n this._uploadFrameInitialized = true;\r\n this._uploadFrameElement.addEventListener('load', this._finishUploadHandler);\r\n this._startUploadHandler();\r\n }\r\n\r\n isReady() {\r\n return this._uploadFrameInitialized;\r\n }\r\n\r\n getResult() {\r\n const statusFrame = this._getUploadIFrameElement();\r\n const statusDocument = statusFrame.contentDocument || statusFrame.contentWindow.document;\r\n try {\r\n return JSON.parse(statusDocument.body.innerHTML);\r\n } catch {\r\n return {\r\n status: 'ERROR',\r\n message: 'No upload response',\r\n };\r\n }\r\n }\r\n\r\n cancel() {\r\n if (this._uploadFrameElement) {\r\n this._uploadFrameElement.setAttribute('src', 'javascript:false;');\r\n }\r\n this._finishUploadHandler();\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { PopupForm } from './popup-form';\r\nimport { Tree } from './file-manager/tree';\r\nimport emptyFn from './emptyFn';\r\n\r\nexport class DirectoryBrowser extends PopupForm {\r\n _initConfiguration(config) {\r\n super._initConfiguration(config);\r\n this._pathElementId = this._getConfigParam('pathElementId');\r\n this._subscriptionId = this._getConfigParam('subscriptionId');\r\n this._showFiles = this._getConfigParam('showFiles', false);\r\n this._onSubmit = this._getConfigParam('onSubmit', emptyFn);\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n this.setBoxType('form-box');\r\n this.setTitle(this.lmsg('title'));\r\n\r\n document.getElementById(this._contentAreaId).innerHTML = (\r\n `
              ` +\r\n '
              ' +\r\n '
              ' +\r\n '
              ' +\r\n `
              ` +\r\n '
              ' +\r\n '
              ' +\r\n '
              ' +\r\n '
              '\r\n );\r\n\r\n this._tree = new Tree({\r\n applyTo: `${this._id}-files-tree`,\r\n data: null,\r\n dataUrl: `^/smb/file-manager/tree-data/subscriptionId/${this._subscriptionId}`,\r\n showFiles: this._showFiles,\r\n onNodeClick: this._onTreeNodeClick.bind(this),\r\n onReload() {\r\n this.setDirectory('/');\r\n },\r\n ...this._getConfigParam('treeConfig', {}),\r\n });\r\n\r\n this._buttonOk = this.addRightButton(this.lmsg('buttonOk'), this._onOkClick, true, true);\r\n this._buttonCancel = this.addRightButton(this.lmsg('buttonCancel'), this._onCancelClick, false, false);\r\n\r\n if (this._showFiles) {\r\n this._updateButton(this._buttonOk, { disabled: true });\r\n }\r\n }\r\n\r\n _onTreeNodeClick() {\r\n this._updateButton(this._buttonOk, { disabled: this._showFiles && this._tree.getSelectedItemData().isDirectory });\r\n }\r\n\r\n _onOkClick(event) {\r\n if (event) {\r\n event.preventDefault();\r\n }\r\n\r\n const selectedPath = this._tree.getSelectedItemData().path;\r\n const pathValue = this._showFiles ? selectedPath.substr(1) : selectedPath;\r\n if (this._pathElementId) {\r\n document.getElementById(this._pathElementId).value = pathValue;\r\n }\r\n this._onSubmit(pathValue);\r\n this.hide();\r\n }\r\n\r\n _onCancelClick() {\r\n this.hide();\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component } from './component';\r\n\r\n/**\r\n * @param {Entry} entry\r\n * @return {Promise}\r\n */\r\nconst readEntry = entry => new Promise(resolve => {\r\n if (entry.isDirectory) {\r\n const entryReader = entry.createReader();\r\n readAllEntries(entry, entryReader, resolve, []);\r\n } else {\r\n resolve(entry);\r\n }\r\n});\r\n\r\nconst readAllEntries = function (entry, entryReader, resolve, allEntries) {\r\n entryReader.readEntries(function (results) {\r\n if (!results.length) {\r\n if (!allEntries.length) {\r\n resolve(entry);\r\n } else {\r\n resolve(entriesToFiles(allEntries));\r\n }\r\n } else {\r\n allEntries = allEntries.concat(results);\r\n readAllEntries(entry, entryReader, resolve, allEntries);\r\n }\r\n });\r\n};\r\n\r\n/**\r\n * @param {String[]} entries\r\n * @return {Promise}\r\n */\r\nconst entriesToFiles = entries => Promise.all(entries.map(readEntry))\r\n .then(items => {\r\n let files = [];\r\n items.forEach(function (item) {\r\n if (Array.isArray(item)) {\r\n files = files.concat(item);\r\n } else {\r\n files.push(item);\r\n }\r\n });\r\n return files;\r\n });\r\n\r\n/**\r\n * @param {File} file\r\n * @return {Promise}\r\n */\r\nconst isFile = file => new Promise(resolve => {\r\n if (file.size > 4096) {\r\n resolve(true);\r\n return;\r\n }\r\n\r\n if (!window.FileReader\r\n || (window.opera && navigator.platform.toLowerCase().indexOf('mac') > -1 && window.opera.version() === '12.00')\r\n ) {\r\n resolve(null);\r\n } else {\r\n try {\r\n const reader = new FileReader();\r\n reader.onerror = () => {\r\n reader.onloadend = null;\r\n reader.onprogress = null;\r\n reader.onerror = null;\r\n resolve(false);\r\n };\r\n reader.onprogress = e => {\r\n reader.onloadend = null;\r\n reader.onprogress = null;\r\n reader.onerror = null;\r\n if (e.type !== 'loadend') {\r\n reader.abort();\r\n }\r\n resolve(true);\r\n };\r\n reader.onloadend = reader.onprogress;\r\n reader.readAsDataURL(file);\r\n } catch {\r\n resolve(false);\r\n }\r\n }\r\n});\r\n\r\n/**\r\n * @param {Event} e\r\n * @return {Boolean}\r\n */\r\nconst isDragFiles = e => {\r\n if (!e.dataTransfer) {\r\n return false;\r\n }\r\n\r\n if (e.dataTransfer.effectAllowed === 'none') {\r\n return false;\r\n }\r\n\r\n return [].some.call(e.dataTransfer.types, type => type === 'Files');\r\n};\r\n\r\n/**\r\n * @param {Event} e\r\n * @return {Promise}\r\n */\r\nconst getDragFiles = e => {\r\n if (!e.dataTransfer) {\r\n return Promise.resolve([]);\r\n }\r\n\r\n if (!e.dataTransfer.items) {\r\n return Promise.all([].map.call(e.dataTransfer.files, isFile))\r\n .then(isFiles => [].filter.call(e.dataTransfer.files, (file, index) => isFiles[index]));\r\n }\r\n\r\n return entriesToFiles(\r\n [].map.call(e.dataTransfer.items, item => item.webkitGetAsEntry() || item.getAsFile()).filter(Boolean),\r\n );\r\n};\r\n\r\n/**\r\n * Drop area component\r\n */\r\nexport class DropArea extends Component {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n cls: 'fm-drop-area',\r\n ...config,\r\n });\r\n\r\n this.isButtomUploadDirectory = false;\r\n this._onDrop = this._getConfigParam('onDrop');\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._componentElement.innerHTML = (\r\n '
              ' +\r\n `\r\n

              ${this.lmsg('dragAndDropArea')}

              \r\n
              ` +\r\n '
              '\r\n );\r\n\r\n this.hide();\r\n }\r\n\r\n _addEvents() {\r\n this._addDocumentHandlers();\r\n this._addDropAreaHandlers();\r\n }\r\n\r\n _addDocumentHandlers() {\r\n document.addEventListener('dragover', e => {\r\n if (!isDragFiles(e)) {\r\n return;\r\n }\r\n\r\n if (e.dataTransfer) {\r\n e.preventDefault();\r\n }\r\n });\r\n\r\n document.addEventListener('dragenter', e => {\r\n if (!isDragFiles(e)) {\r\n return;\r\n }\r\n this.show();\r\n });\r\n\r\n document.addEventListener('drop', e => {\r\n if (!isDragFiles(e)) {\r\n return;\r\n }\r\n this.hide();\r\n e.preventDefault();\r\n });\r\n }\r\n\r\n _addDropAreaHandlers() {\r\n this._componentElement.addEventListener('dragover', e => {\r\n if (!isDragFiles(e)) {\r\n return;\r\n }\r\n e.stopPropagation();\r\n e.preventDefault();\r\n });\r\n\r\n this._componentElement.addEventListener('drop', e => {\r\n if (!isDragFiles(e)) {\r\n return;\r\n }\r\n e.preventDefault();\r\n\r\n this.hide();\r\n if (this._onDrop) {\r\n getDragFiles(e).then(this._onDrop);\r\n }\r\n });\r\n\r\n this._componentElement.addEventListener('mouseover', () => {\r\n if (!this.isButtomUploadDirectory) {\r\n this.hide();\r\n }\r\n });\r\n\r\n this._componentElement.addEventListener('click', () => {\r\n this.hide();\r\n });\r\n\r\n document.onkeydown = event => {\r\n switch (event.key) {\r\n case 'Esc':\r\n case 'Escape':\r\n this.hide();\r\n break;\r\n default:\r\n }\r\n };\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { List } from './list';\r\nimport createElement from './createElement';\r\n\r\nexport class GroupsList extends List {\r\n _getGroupRowClass() {\r\n return '';\r\n }\r\n\r\n _initConfiguration(config) {\r\n this._groupBy = false;\r\n this._groupsConfig = [];\r\n\r\n super._initConfiguration(config);\r\n this._groupBy = this._getConfigParam('groupBy', false);\r\n this._groupsConfig = this._getConfigParam('groupsConfig', false);\r\n this._getGroupRowClass = this._getConfigParam('getGroupRowClass', this._getGroupRowClass);\r\n }\r\n\r\n listDataView(listData = this._data, indexOffset = 0) {\r\n if (!listData) {\r\n return null;\r\n }\r\n\r\n if (this._groupBy) {\r\n listData.sort((a, b) => {\r\n if (a[this._groupBy] > b[this._groupBy]) {\r\n return 1;\r\n }\r\n if (a[this._groupBy] < b[this._groupBy]) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n\r\n const groupedData = {};\r\n listData.forEach(item => {\r\n if (!groupedData[item[this._groupBy]]) {\r\n groupedData[item[this._groupBy]] = {\r\n id: item[this._groupBy],\r\n items: [],\r\n };\r\n }\r\n groupedData[item[this._groupBy]].items.push(item);\r\n });\r\n\r\n return createElement('tbody',\r\n Object.keys(groupedData).map((groupId, groupIndex) => {\r\n const group = groupedData[groupId];\r\n return this.groupDataRowView(group, groupIndex, indexOffset);\r\n }),\r\n );\r\n }\r\n\r\n return createElement('tbody',\r\n listData.map((item, index) => this.rowView(item, index, indexOffset)),\r\n );\r\n }\r\n\r\n groupDataRowView(group, groupIndex, indexOffset) {\r\n return [\r\n createElement(`tr.${this._getGroupRowClass(group)}.${(groupIndex + indexOffset) % 2 ? 'even' : 'odd'}`, {\r\n colspan: this._columns.length,\r\n 'data-row-id': group.id,\r\n }, `${this._getGroupName(group)}`),\r\n ...group.items.map((item, index) => this.rowView(item, index, indexOffset)),\r\n ];\r\n }\r\n\r\n _getGroupName(group) {\r\n return this._groupsConfig[group.id] || group.id;\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { PopupForm } from './popup-form';\r\nimport { DynamicPopupHint } from './dynamic-popup-hint';\r\nimport { List } from './list';\r\nimport { Panel } from './panel';\r\nimport { getComponent } from './component';\r\nimport { redirect } from './form-redirect';\r\nimport Locale from './Locale';\r\nimport addStatusMessage from './addStatusMessage';\r\nimport prepareUrl from './prepareUrl';\r\nimport escapeHtml from './escapeHtml';\r\n\r\nexport class ReporterPopup extends PopupForm {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n singleRowButtons: true,\r\n ...config,\r\n });\r\n\r\n this._actionCollectId = `${this._id}-action-collect`;\r\n this._actionToSupportId = `${this._id}-action-to-support`;\r\n this._sendButtonId = 'btn-send';\r\n this._cancelButtonId = 'btn-cancel';\r\n this._supportUrl = this._getConfigParam('supportUrl', '');\r\n }\r\n\r\n render() {\r\n super.render();\r\n\r\n this.setBoxType('form-box');\r\n this.setTitle(this.lmsg('title'));\r\n\r\n this.addRightButton(this.lmsg('buttonCollect'), this._onSendClick, true, true, { id: this._sendButtonId });\r\n this.addRightButton(Locale.getSection('components.buttons').lmsg('cancel'), this._onCancelClick, false, false, { id: this._cancelButtonId });\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n this._componentElement.querySelector('div.content-area').innerHTML = (\r\n '
              ' +\r\n '
              ' +\r\n '
              ' +\r\n '' +\r\n '
              ' +\r\n '
              ' +\r\n `` +\r\n '
              ' +\r\n '
              ' +\r\n '
              ' +\r\n `${this.lmsg('showPreviousReports')}` +\r\n `` +\r\n `
              ${this.lmsg('pleaseWait')}
              `\r\n );\r\n }\r\n\r\n _onSupportClick(close) {\r\n window.open(this._supportUrl, '_blank');\r\n this._disableSendButton(this.lmsg('buttonWait'));\r\n new Ajax.Request(\r\n prepareUrl('/admin/report/report-usage/'), {\r\n method: 'post',\r\n onException: this._onException.bind(this),\r\n onSuccess: () => {\r\n close ? this.hide() : this._enableSendButton(this.lmsg('buttonToSupport'));\r\n },\r\n },\r\n );\r\n }\r\n\r\n _onCollectClick() {\r\n this._disableSendButton();\r\n DynamicPopupHint.unset();\r\n document.getElementById(this._contentAreaId).innerHTML = `

              ${this.lmsg('collecting')}${this._getTooltip()}

              `;\r\n this._addTooltips();\r\n new Ajax.Request(\r\n prepareUrl('/admin/report/collect/'), {\r\n method: 'post',\r\n onException: this._onException.bind(this),\r\n onSuccess: response => {\r\n const data = JSON.parse(response.responseText);\r\n if (this._checkResponseStatus(data)) {\r\n DynamicPopupHint.unset();\r\n const link = `${this.lmsg('downloadLink')}`;\r\n document.getElementById(this._contentAreaId).innerHTML = (\r\n `

              ${this.lmsg('collectedDescription')}

              ` +\r\n `

              ${this.lmsg('collectedDownload', { link })}

              ` +\r\n `

              ${this.lmsg('collectedConsent')}

              `\r\n );\r\n this.file = data.file;\r\n this._enableSendButton(this.lmsg('buttonSend'));\r\n }\r\n },\r\n },\r\n );\r\n }\r\n\r\n _onSendClick() {\r\n const collectRadio = document.getElementById(this._actionCollectId);\r\n if (collectRadio && collectRadio.checked) {\r\n this._onCollectClick();\r\n return;\r\n }\r\n\r\n if (collectRadio && !collectRadio.checked) {\r\n this._onSupportClick(true);\r\n return;\r\n }\r\n\r\n if (!this.file) {\r\n this._onSupportClick(false);\r\n return;\r\n }\r\n\r\n this._disableSendButton(this.lmsg('buttonSending'));\r\n new Ajax.Request(\r\n prepareUrl('/admin/report/send/'), {\r\n method: 'post',\r\n parameters: { file: this.file },\r\n onException: this._onException.bind(this),\r\n onSuccess: response => {\r\n const data = JSON.parse(response.responseText);\r\n if (this._checkResponseStatus(data)) {\r\n delete this.file;\r\n document.getElementById(this._contentAreaId).innerHTML = `

              ${this.lmsg('sentInfo', { id: escapeHtml(data.reportId) })}

              `;\r\n this._enableSendButton(this.lmsg('buttonToSupport'));\r\n }\r\n },\r\n },\r\n );\r\n }\r\n\r\n _onCancelClick() {\r\n this.hide();\r\n }\r\n\r\n _onShowReportsClick(e) {\r\n e.preventDefault();\r\n this._componentElement.querySelector('.js-show-previous-reports').classList.add('hidden');\r\n if (getComponent('reports-list') && this._componentElement.querySelector('.list-box')) {\r\n this._componentElement.querySelector('.list-box').classList.remove('hidden');\r\n this._componentElement.querySelector('.js-hide-previous-reports').classList.remove('hidden');\r\n return;\r\n }\r\n this._componentElement.querySelector('.ajax-loading').classList.remove('hidden');\r\n const dialogHeight = Element.getHeight(this._componentElement);\r\n const list = new List({\r\n id: 'reports-list',\r\n dataUrl: prepareUrl('/admin/report/list-data'),\r\n pageable: false,\r\n columns: [\r\n {\r\n header: this.lmsg('date'),\r\n dataIndex: 'date',\r\n },\r\n {\r\n header: this.lmsg('reportId'),\r\n dataIndex: 'id',\r\n },\r\n ],\r\n onRedraw: () => {\r\n this._componentElement.querySelector('.js-hide-previous-reports').classList.remove('hidden');\r\n this._componentElement.querySelector('.ajax-loading').classList.add('hidden');\r\n const maxHeight = Math.max(document.viewport.getScrollOffsets().top + document.viewport.getHeight() -\r\n (parseInt(Element.getStyle(this._componentElement, 'top')) * 1.5) - dialogHeight, 100);\r\n this._componentElement.querySelector('.list').style.maxHeight = `${parseInt(maxHeight)}px`;\r\n },\r\n });\r\n new Panel({\r\n cls: 'list-box',\r\n renderTo: 'js-reports',\r\n items: [\r\n list,\r\n ],\r\n });\r\n }\r\n\r\n _onHideReportsClick(e) {\r\n e.preventDefault();\r\n this._componentElement.querySelector('.list-box').classList.add('hidden');\r\n this._componentElement.querySelector('.js-show-previous-reports').classList.remove('hidden');\r\n this._componentElement.querySelector('.js-hide-previous-reports').classList.add('hidden');\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n\r\n document.getElementById(this._actionCollectId).addEventListener('click', () => {\r\n this._enableSendButton(this.lmsg('buttonCollect'));\r\n });\r\n document.getElementById(this._actionToSupportId).addEventListener('click', () => {\r\n this._enableSendButton(this.lmsg('buttonToSupport'));\r\n });\r\n this._componentElement.querySelector('.js-show-previous-reports').addEventListener('click', this._onShowReportsClick.bind(this));\r\n this._componentElement.querySelector('.js-hide-previous-reports').addEventListener('click', this._onHideReportsClick.bind(this));\r\n }\r\n\r\n _addTooltips() {\r\n super._addTooltips();\r\n\r\n new DynamicPopupHint.Instance({\r\n title: this.lmsg('hintTitle'),\r\n target: document.getElementById('tooltip'),\r\n placement: 'right',\r\n content: this.lmsg('hintText'),\r\n });\r\n }\r\n\r\n _getTooltip() {\r\n if (!this._tooltip) {\r\n this._tooltip = ` ${this.lmsg('hintLink')}`;\r\n }\r\n return this._tooltip;\r\n }\r\n\r\n _disableSendButton(title) {\r\n const el = document.getElementById(this._sendButtonId);\r\n el.disabled = true;\r\n el.classList.add('disabled');\r\n if (title) {\r\n el.innerHTML = `${title}`;\r\n }\r\n }\r\n\r\n _enableSendButton(title) {\r\n const el = document.getElementById(this._sendButtonId);\r\n el.disabled = false;\r\n el.classList.remove('disabled');\r\n if (title) {\r\n el.innerHTML = title;\r\n }\r\n }\r\n\r\n _checkResponseStatus(response) {\r\n if (response.redirect) {\r\n redirect(response.redirect);\r\n }\r\n\r\n if (response.status && 'success' !== response.status) {\r\n (response.statusMessages || []).forEach(function (message) {\r\n addStatusMessage(message.status, message.content);\r\n });\r\n this.hide();\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n _onException(transport, exception) {\r\n addStatusMessage('error', `Internal error: ${exception}`);\r\n this.hide();\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { LookUp } from './lookup';\r\nimport { Tooltip } from './tooltip';\r\nimport render from './render';\r\nimport createElement from './createElement';\r\n\r\nimport './object-switcher.less';\r\n\r\nexport class ObjectSwitcher extends LookUp {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n tag: 'div',\r\n cls: 'btn-group object-switcher',\r\n ...config,\r\n });\r\n\r\n this._listUrl = this._getConfigParam('listUrl', '');\r\n this._itemUrlTemplate = this._getConfigParam('itemUrlTemplate', '');\r\n this._owner = this._getConfigParam('owner', null);\r\n this._navigate = this._getConfigParam('navigate');\r\n }\r\n\r\n _initCustomLookUpComponent() {\r\n render(this._componentElement, createElement('button', {\r\n type: 'button',\r\n class: 'pul-button pul-button--ghost pul-button--empty dropdown-toggle',\r\n onrender: el => {\r\n this._customLookUpComponent = el;\r\n },\r\n }, '' +\r\n '' +\r\n ''));\r\n }\r\n\r\n _getSearchMoreText(count) {\r\n return super._getSearchMoreText(count)\r\n + (this._listUrl ? ` ${this.lmsg('refineSearchMessage', { link: `${this.lmsg('listOfAllObjects')}` })}` : '');\r\n }\r\n\r\n _updateData(data) {\r\n this._clearData();\r\n\r\n let myData = [];\r\n\r\n if (null !== this._owner) {\r\n myData = data.filter(({ isSameParent }) => isSameParent == 1);\r\n\r\n data = data.filter(({ isSameParent }) => isSameParent != 1);\r\n }\r\n\r\n if (myData.length) {\r\n if (data.length) {\r\n render(this._dropdownList, createElement('li.dropdown-header', this.lmsg('myObjectsLabel', { name: this._owner })));\r\n }\r\n\r\n myData.forEach(item => {\r\n render(this._dropdownList, this._createItem(item));\r\n });\r\n\r\n if (data.length) {\r\n render(this._dropdownList, [\r\n createElement('li.divider'),\r\n createElement('li.dropdown-header', this.lmsg('otherObjectsLabel')),\r\n ]);\r\n }\r\n }\r\n\r\n data.forEach(item => {\r\n render(this._dropdownList, this._createItem(item));\r\n });\r\n\r\n this._addSearchMoreElement();\r\n }\r\n\r\n _addTooltips() {\r\n this._tooltip = Tooltip.init(this._customLookUpComponent, { text: this.lmsg('description') });\r\n }\r\n\r\n handleChange() {\r\n super.handleChange();\r\n\r\n let url = this._itemUrlTemplate;\r\n Object.entries(this._currentValue).forEach(([key, val]) => {\r\n url = url.replaceAll(new RegExp(`(%%|%25%25)${key}(%%|%25%25)`, 'g'), val);\r\n });\r\n\r\n this._navigate(url);\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport Popup from './Popup';\r\nimport { LEFT_ARROW, RIGHT_ARROW } from './keyCode';\r\nimport ce from './createElement';\r\nimport render from './render';\r\n\r\nimport './PopupSlider.less';\r\n\r\nclass PopupSlider extends Popup {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n popupCls: 'popup-panel popup-panel-slider popup-panel-auto',\r\n closeButtonEnabled: true,\r\n hideOnEscape: true,\r\n ...config,\r\n });\r\n\r\n this._slides = this._getConfigParam('slides', []);\r\n this._current = this._getConfigParam('current', 0);\r\n }\r\n\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n this.setCurrent(this._current);\r\n }\r\n\r\n _getContentArea() {\r\n return ce('.slider',\r\n ce('ul.slider__container',\r\n this._slides.map(() => ce('li.slider__item')),\r\n ),\r\n this._slides.length > 1 ? ce('.slider__arrows',\r\n ce('.slider__arrow.slider__arrow--start',\r\n { onclick: () => this.prev() },\r\n '' +\r\n '' +\r\n '',\r\n ),\r\n ce('.slider__arrow.slider__arrow--end',\r\n { onclick: () => this.next() },\r\n '' +\r\n '' +\r\n '',\r\n ),\r\n ) : null,\r\n ce('.slider__navigation',\r\n ce('.slider__navigation-inner',\r\n this._slides.map((item, index) => ce('span.slider__navigation-dot', { onclick: () => this.setCurrent(index) })),\r\n ),\r\n ),\r\n );\r\n }\r\n\r\n _onKeyDown(e) {\r\n super._onKeyDown(e);\r\n switch (e.keyCode) {\r\n case LEFT_ARROW:\r\n this.prev();\r\n break;\r\n case RIGHT_ARROW:\r\n this.next();\r\n break;\r\n }\r\n }\r\n\r\n setCurrent(current) {\r\n this.renderSlide(current);\r\n\r\n const firstItem = this._componentElement.querySelector('.slider__item');\r\n const dots = this._componentElement.querySelectorAll('.slider__navigation-dot');\r\n\r\n dots.item(this._current).classList.remove('slider__navigation-dot--current');\r\n this._current = current;\r\n firstItem.style.marginLeft = `${-100 * current}%`;\r\n dots.item(this._current).classList.add('slider__navigation-dot--current');\r\n }\r\n\r\n renderSlide(current) {\r\n const curItem = this._componentElement.querySelector(`.slider__item:nth-child(${current + 1})`);\r\n if (curItem.innerHTML.length === 0) {\r\n render(curItem, this._slides[current]);\r\n }\r\n }\r\n\r\n next() {\r\n this.setCurrent(this._current === this._slides.length - 1 ? 0 : this._current + 1);\r\n }\r\n\r\n prev() {\r\n this.setCurrent(this._current === 0 ? this._slides.length - 1 : this._current - 1);\r\n }\r\n}\r\n\r\nexport default PopupSlider;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { List } from './list';\r\nimport createElement from './createElement';\r\n\r\n/**\r\n * The extension of the list widget: fits 100% height of screen.\r\n */\r\nexport class ScrollableList extends List {\r\n listView() {\r\n const view = super.listView();\r\n\r\n view.attrs.class += ' scrollable-list';\r\n view.children[0].attrs.class = 'scrollable-list-table';\r\n view.children = [\r\n createElement('table.fixed-table-head[width=\"100%\"][cellspacing=\"0\"]',\r\n this.listHeadersView(),\r\n ),\r\n createElement('.scrollable-list-wrapper', view.children),\r\n ];\r\n\r\n return view;\r\n }\r\n\r\n checkEmptyList() {\r\n super.checkEmptyList();\r\n\r\n const isEmpty = this.isListEmpty();\r\n this._componentElement.querySelectorAll(`.${this._listCls}`).forEach(el => {\r\n el.style.display = '';\r\n });\r\n this._componentElement.querySelectorAll('.scrollable-list-wrapper').forEach(el => {\r\n el.style.display = isEmpty ? 'none' : '';\r\n });\r\n }\r\n\r\n /**\r\n * @param {String} place\r\n * @param {Number} dataLen\r\n */\r\n redraw(place, dataLen) {\r\n let bottom = true;\r\n let scrollTop;\r\n let tableHeight = 0;\r\n const wrapper = document.getElementById(this._id).querySelector('.scrollable-list-wrapper');\r\n\r\n if (wrapper) {\r\n bottom = (wrapper.offsetHeight + wrapper.scrollTop >= wrapper.scrollHeight);\r\n // eslint-disable-next-line prefer-destructuring\r\n scrollTop = wrapper.scrollTop;\r\n tableHeight = Element.getHeight(document.getElementById(this._tableId));\r\n }\r\n\r\n super.redraw(place, dataLen);\r\n const table = document.getElementById(this._tableId);\r\n const headerTable = table.closest(`.${this._listCls}`).querySelector('.fixed-table-head');\r\n\r\n table.style.marginTop = `${-Element.getHeight(headerTable)}px`;\r\n setTimeout(() => {\r\n this._resizeList();\r\n const wrapper = table.closest('.scrollable-list-wrapper');\r\n if (bottom) {\r\n this.scrollToBottom();\r\n } else if ('before' === place) {\r\n wrapper.scrollTop += Element.getHeight(table) - tableHeight;\r\n } else if ('after' === place) {\r\n // empty\r\n } else {\r\n wrapper.scrollTop = scrollTop;\r\n }\r\n }, 0);\r\n }\r\n\r\n updateFilter(force) {\r\n super.updateFilter(force);\r\n this._resizeList();\r\n }\r\n\r\n scrollToBottom() {\r\n const table = document.getElementById(this._tableId);\r\n const wrapper = table.closest('.scrollable-list-wrapper');\r\n const rows = [...wrapper.querySelectorAll('tr')].filter(el => el.style.display !== 'none');\r\n wrapper.scrollTop = rows[rows.length - 1].offsetTop;\r\n }\r\n\r\n _resizeList = () => {\r\n const minHeight = 200;\r\n const table = document.getElementById(this._tableId);\r\n const wrapper = table.closest('.scrollable-list-wrapper');\r\n\r\n const headerTable = table.closest(`.${this._listCls}`).querySelector('.fixed-table-head');\r\n const visibleHeader = headerTable.querySelector('thead');\r\n if (visibleHeader) {\r\n const isEmpty = this.isListEmpty();\r\n visibleHeader.querySelectorAll('tr').forEach(function (tr) {\r\n if (!tr.classList.contains('list-search-filter')) {\r\n tr.style.display = isEmpty ? 'none' : '';\r\n }\r\n });\r\n }\r\n\r\n let blockHeight = Element.getHeight(document.body) - Element.cumulativeOffset(wrapper).top;\r\n for (let up = wrapper; up instanceof Element; up = up.parentNode) {\r\n blockHeight = blockHeight\r\n - (parseInt(Element.getStyle(up, 'borderBottomWidth')) || 0)\r\n - (parseInt(Element.getStyle(up, 'marginBottom')) || 0)\r\n - (parseInt(Element.getStyle(up, 'paddingBottom')) || 0);\r\n for (let next = up.nextElementSibling; next instanceof Element; next = next.nextElementSibling) {\r\n if ('none' !== Element.getStyle(next, 'display') && 'fixed' !== Element.getStyle(next, 'position') && 'absolute' !== Element.getStyle(next, 'position')) {\r\n blockHeight = blockHeight - Element.getHeight(next);\r\n }\r\n }\r\n }\r\n\r\n if (blockHeight < minHeight) {\r\n blockHeight = minHeight;\r\n }\r\n\r\n if (blockHeight > Element.getHeight(table) + parseInt(Element.getStyle(table, 'marginTop'))) {\r\n wrapper.style.height = null;\r\n } else {\r\n wrapper.style.height = `${blockHeight}px`;\r\n }\r\n\r\n if (!visibleHeader || ![...table.querySelectorAll('tr.odd,tr.even')].filter(el => el.style.display !== 'none').length) {\r\n return;\r\n }\r\n\r\n const invisibleHeader = table.querySelector('thead');\r\n invisibleHeader.querySelectorAll('th').forEach((th, index) => {\r\n visibleHeader.querySelectorAll('th')[index].style.width = `${Element.getWidth(th)}px`;\r\n });\r\n const headers = visibleHeader.querySelectorAll('th');\r\n const lastHeader = headers[headers.length - 1];\r\n lastHeader.style.width = `${(Element.getWidth(headerTable) - Element.getWidth(invisibleHeader.closest('table'))) + parseInt(Element.getStyle(lastHeader, 'width'))}px`;\r\n };\r\n\r\n _addResponsiveHtml() {\r\n // Don't need responsive UI in case of logs list\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n window.addEventListener('resize', this._resizeList, false);\r\n }\r\n\r\n remove() {\r\n window.removeEventListener('resize', this._resizeList, false);\r\n super.remove();\r\n }\r\n}\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/* global update_oC:true */\r\n\r\nimport Cookie from 'common/cookie';\r\nimport { List } from './list';\r\nimport { ConfirmationPopupManager } from './confirmation-popup-manager';\r\nimport { AjaxPopupForm } from './ajax-popup-form';\r\nimport { FormAjax } from './form-ajax';\r\nimport { MessageBox, AjaxMessageBox, MultiCheckboxMessageWindow, WebspaceFoldersMessageBox } from './message-box';\r\nimport { getComponent } from './component';\r\nimport UAT, { request, getUrl, prepareNodeData } from 'common/user-activity-tracking';\r\nimport { isAnalyticsAllowed } from 'common/gdpr-storage';\r\n\r\nconst { PopupForm } = ConfirmationPopupManager;\r\n\r\nconst patchesFactory = () => {\r\n const wrap = (handler, fn, after) => {\r\n fn = fn || function () {\r\n // default empty handler\r\n };\r\n if (typeof fn === 'string') {\r\n try {\r\n eval(`fn = ${fn}`); // eslint-disable-line no-eval\r\n } catch {\r\n fn = function () {\r\n // default empty handler\r\n };\r\n }\r\n }\r\n return after === true\r\n ? function (...args) {\r\n const result = fn.apply(this, args);\r\n args.push(result);\r\n try {\r\n handler.apply(this, args);\r\n } catch {\r\n }\r\n return result;\r\n }\r\n : function (...args) {\r\n try {\r\n handler.apply(this, args);\r\n } catch {\r\n }\r\n return fn.apply(this, args);\r\n };\r\n };\r\n\r\n return {\r\n ajaxRequest() {\r\n if (!window.Ajax) {\r\n return;\r\n }\r\n const ajaxRequestsHistory = {};\r\n const ajaxRequestProto = Ajax.Request.prototype;\r\n\r\n ajaxRequestProto.request = wrap(function () {\r\n const { url, options: { ignoreUAT }, method, parameters } = this;\r\n\r\n if (ignoreUAT || method.toLowerCase() === 'get') {\r\n return;\r\n }\r\n\r\n const targetUrl = getUrl(url);\r\n const requestFingerprint = `${targetUrl} ${JSON.stringify(parameters)}`;\r\n\r\n if (ajaxRequestsHistory[requestFingerprint]) {\r\n return;\r\n }\r\n\r\n ajaxRequestsHistory[requestFingerprint] = true;\r\n\r\n request({ name: 'REQUEST', url: getUrl(), data: { url: targetUrl } });\r\n }, ajaxRequestProto.request, true);\r\n },\r\n\r\n uiPointerForm() {\r\n document.addEventListener('DOMContentLoaded', function () {\r\n const lastUrl = Cookie.get('uat-data-source');\r\n if (lastUrl) {\r\n document.querySelectorAll('div[data-source]').forEach(msg => {\r\n const dataSource = msg.dataset.source;\r\n if (dataSource && dataSource.indexOf(lastUrl) !== -1) {\r\n let result = null;\r\n switch (true) {\r\n case msg.classList.contains('msg-warning'):\r\n result = 'WARNING';\r\n break;\r\n case msg.classList.contains('msg-error'):\r\n result = 'ERROR';\r\n break;\r\n }\r\n request({ name: 'POST', url: getUrl(dataSource) }, null, result);\r\n }\r\n });\r\n Cookie.remove('uat-data-source', '/');\r\n }\r\n if (typeof update_oC === 'undefined') { // eslint-disable-line camelcase\r\n return;\r\n }\r\n update_oC = wrap(function (form) { // eslint-disable-line camelcase\r\n Cookie.set('uat-data-source', getUrl(form.action), null, '/');\r\n }, update_oC, true);\r\n }, true);\r\n },\r\n\r\n jswFormAjax() {\r\n const formAjaxProto = FormAjax.prototype;\r\n\r\n formAjaxProto._onSubmit = wrap(function () {\r\n this._componentElement._formSubmit = wrap(function () {\r\n const url = getUrl(this._componentElement.action);\r\n request({ name: 'POST', post: { self: ['id', 'name'] }, url }, this._componentElement);\r\n }.bind(this), this._componentElement._formSubmit);\r\n }, formAjaxProto._onSubmit);\r\n\r\n formAjaxProto._onFailure = wrap(function (transport) {\r\n const name = this._componentElement.noRedirect ? 'APPLY' : 'OK';\r\n const url = getUrl(transport.request.url);\r\n request({ name, url, post: { self: ['id', 'name'] } }, this._componentElement, 'ERROR');\r\n }, formAjaxProto._onFailure);\r\n\r\n formAjaxProto._onSuccess = wrap(function (transport) {\r\n const name = this._componentElement.noRedirect ? 'APPLY' : 'OK';\r\n const url = getUrl(transport.request.url);\r\n const result = transport.responseJSON.formMessages\r\n ? 'VALIDATION_ERROR'\r\n : transport.responseJSON.status === 'error'\r\n ? 'ERROR'\r\n : null;\r\n request({ name, url, post: { self: ['id', 'name'] } }, this._componentElement, result);\r\n }, formAjaxProto._onSuccess);\r\n },\r\n\r\n jswList() {\r\n const listProto = List.prototype;\r\n\r\n listProto._submit = wrap(function (url, params) {\r\n const self = params.context || this;\r\n params.onSuccess = wrap(function (transport) {\r\n const name = self._lastOperation ? self._lastOperation.toUpperCase() : 'POST';\r\n const data = { selected: Object.keys(transport.request.parameters).length };\r\n const result = transport.responseJSON.status === 'error' ? 'ERROR' : null;\r\n request({ url: getUrl(transport.request.url), name, data }, null, result);\r\n }, params.onSuccess);\r\n\r\n params.onFailure = wrap(function (transport) {\r\n const name = self._lastOperation ? self._lastOperation.toUpperCase() : 'POST';\r\n const data = { selected: Object.keys(transport.request.parameters).length };\r\n request({ url: getUrl(transport.request.url), name, data }, null, 'ERROR');\r\n }, params.onFailure);\r\n }, listProto._submit);\r\n\r\n listProto._showItemsNotSelectedWarning = wrap(function () {\r\n const name = this._lastOperation ? this._lastOperation.toUpperCase() : 'POST';\r\n request({ name, url: getUrl() }, null, 'NOT_SELECTED');\r\n }, listProto._showItemsNotSelectedWarning);\r\n\r\n listProto._getOperations = wrap(function (result) {\r\n // eslint-disable-next-line @typescript-eslint/no-this-alias\r\n const self = this;\r\n const replaceHandlers = operations => {\r\n operations.forEach(function (operation) {\r\n if (operation.handler) {\r\n operation.handler = wrap(function () {\r\n const o = operation;\r\n const last = o.id || o.title || o.description || o.addCls || '';\r\n self._lastOperation = last\r\n .replace('button', '')\r\n .replace(' ', '')\r\n .replace('sb-', '')\r\n .replace('-', '');\r\n }, operation.handler);\r\n }\r\n if (operation.operations) {\r\n replaceHandlers(operation.operations);\r\n }\r\n });\r\n };\r\n replaceHandlers(result);\r\n }, listProto._getOperations, true);\r\n },\r\n\r\n confirmationPopupManager() {\r\n const popupFormProto = PopupForm.prototype;\r\n\r\n popupFormProto._onSuccess = wrap(function () {\r\n const name = typeof this._id === 'string' ? this._id.toUpperCase() : 'POST';\r\n request({ name, url: this._handlerUrl });\r\n }, popupFormProto._onSuccess);\r\n\r\n popupFormProto._onException = wrap(function () {\r\n const name = typeof this._id === 'string' ? this._id.toUpperCase() : 'POST';\r\n request({ name, url: this._handlerUrl }, null, 'ERROR');\r\n }, popupFormProto._onException);\r\n\r\n popupFormProto._onCancelClick = wrap(function () {\r\n request({ name: 'CANCEL', url: getUrl(), data: { popup: this._text } });\r\n }, popupFormProto._onCancelClick);\r\n },\r\n\r\n ajaxPopupForm() {\r\n AjaxPopupForm.prototype._onSuccess = wrap(function () {\r\n (function () {\r\n const cancelBtn = getComponent('btn-cancel');\r\n cancelBtn && cancelBtn.addEventObserver('click', function () {\r\n request({ name: 'CANCEL', url: this._url });\r\n }.bind(this));\r\n }).bind(this)\r\n .defer();\r\n }, AjaxPopupForm.prototype._onSuccess, true);\r\n },\r\n\r\n messageBox() {\r\n const msgBoxProto = MessageBox.prototype;\r\n\r\n msgBoxProto._onNoClick = wrap(function () {\r\n request({ name: 'CANCEL', url: getUrl(), data: { popup: this._text } });\r\n }, msgBoxProto._onNoClick);\r\n },\r\n\r\n ajaxMessageBox() {\r\n const ajaxMsgBoxProto = AjaxMessageBox.prototype;\r\n\r\n ajaxMsgBoxProto._onSuccess = wrap(function () {\r\n request({ url: this._requestUrl });\r\n }, ajaxMsgBoxProto._onSuccess);\r\n },\r\n\r\n multiCheckboxMessageWindow() {\r\n const msgWindowProto = MultiCheckboxMessageWindow.prototype;\r\n\r\n msgWindowProto._onSuccess = wrap(function () {\r\n request({ url: this._requestUrl });\r\n }, msgWindowProto._onSuccess);\r\n },\r\n\r\n webspaceFoldersMessageBox() {\r\n const msgBoxProto = WebspaceFoldersMessageBox.prototype;\r\n\r\n msgBoxProto._onSuccess = wrap(function () {\r\n request({ url: this._requestUrl });\r\n }, msgBoxProto._onSuccess);\r\n },\r\n\r\n drawersWatcher() {\r\n const getDrawer = node => {\r\n if (!node.classList || !node.classList.contains('pul-layer')) {\r\n return null;\r\n }\r\n\r\n const drawer = node.querySelector('.pul-drawer');\r\n if (!drawer) {\r\n return null;\r\n }\r\n\r\n return drawer;\r\n };\r\n const reportDrawerAction = name => node => {\r\n const drawer = getDrawer(node);\r\n if (!drawer) {\r\n return;\r\n }\r\n\r\n request({ name, data: prepareNodeData(drawer) });\r\n };\r\n document.addEventListener('DOMContentLoaded', () => {\r\n const callback = mutations => {\r\n mutations.forEach(({ addedNodes, removedNodes }) => {\r\n addedNodes.forEach(reportDrawerAction('OPEN-DRAWER'));\r\n removedNodes.forEach(reportDrawerAction('CLOSE-DRAWER'));\r\n });\r\n };\r\n const observer = new MutationObserver(callback);\r\n observer.observe(document.body, {\r\n childList: true,\r\n subtree: false,\r\n attributes: false,\r\n characterData: false,\r\n });\r\n });\r\n },\r\n };\r\n};\r\n\r\nconst pleskActions = [\r\n {\r\n name: 'LOGIN',\r\n expects: [{\r\n sessionChanged: {},\r\n }],\r\n },\r\n {\r\n name: 'LOGOUT',\r\n expects: [{\r\n unloadByClick: {\r\n selector: '#account-menu-content-area a[href=\"/logout.php\"]',\r\n },\r\n }],\r\n },\r\n {\r\n name: 'HELP',\r\n expects: [{\r\n click: {\r\n elements: [\r\n {\r\n selector: 'a[data-type=\"link-read-manual\"]',\r\n },\r\n ],\r\n },\r\n }],\r\n },\r\n {\r\n name: 'CANCEL',\r\n expects: [{\r\n click: {\r\n elements: [\r\n {\r\n selector: ['button[name=\"cancel\"]', 'button[name=\"bname_cancel\"]'],\r\n },\r\n ],\r\n },\r\n }],\r\n },\r\n {\r\n name: 'SITE_PREVIEW',\r\n expects: [{\r\n click: {\r\n elements: [\r\n {\r\n selector: 'a[href*=\"/plesk-site-preview/\"]',\r\n },\r\n ],\r\n },\r\n }],\r\n },\r\n {\r\n name: 'RADIO_SELECT',\r\n expects: [{\r\n click: {\r\n elements: [{\r\n selector: 'input[type=\"radio\"]',\r\n attributes: ['name', 'value'],\r\n }],\r\n },\r\n }],\r\n },\r\n];\r\n\r\nconst watchersFactory = () => ({\r\n sessionChanged() {\r\n document.addEventListener('DOMContentLoaded', function () {\r\n const config = UAT.getConfig();\r\n\r\n if (isAnalyticsAllowed()) {\r\n if (Cookie.get('uat-iid') !== config.instanceId) {\r\n Cookie.remove('uat-iid', '/');\r\n Cookie.set('uat-iid', config.instanceId, null, '/');\r\n }\r\n if (Cookie.get('uat-sid') !== config.sessionId) {\r\n Cookie.remove('uat-sid', '/');\r\n Cookie.set('uat-sid', config.sessionId, null, '/');\r\n }\r\n }\r\n\r\n if (config.sessionId && window.localStorage.getItem('uat-sid') !== config.sessionId) {\r\n window.localStorage.setItem('uat-sid', config.sessionId);\r\n const data = {\r\n userAgent: navigator.userAgent,\r\n versionInfo: config.versionInfo,\r\n accountCreated: config.accountCreated,\r\n width: window.innerWidth,\r\n height: window.innerHeight,\r\n ratio: window.devicePixelRatio,\r\n };\r\n request({ name: 'LOGIN', url: getUrl(), data });\r\n }\r\n }, true);\r\n },\r\n unloadByClick({ selector }, expect, action) {\r\n window.addEventListener('beforeunload', () => {\r\n const el = document.querySelector(selector);\r\n if (el === document.activeElement) {\r\n request(action, el);\r\n }\r\n }, true);\r\n },\r\n});\r\n\r\nUAT.setPatches(patches => ({\r\n ...patches,\r\n ...patchesFactory(),\r\n}));\r\n\r\nUAT.setActions(actions => [\r\n ...actions,\r\n ...pleskActions,\r\n]);\r\n\r\nUAT.setWatchers(watchers => ({\r\n ...watchers,\r\n ...watchersFactory(),\r\n}));\r\n\r\nconst { init } = UAT;\r\nUAT.init = initConfig => {\r\n init(initConfig);\r\n};\r\n\r\nexport { UAT };\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nconst COOKIE_POLICY_LOCAL_STORAGE_KEY = 'cookie-policy';\r\n\r\nexport const hasPreferences = () => !!localStorage.getItem(COOKIE_POLICY_LOCAL_STORAGE_KEY);\r\n\r\nexport const savePreferences = preferences => {\r\n localStorage.setItem(COOKIE_POLICY_LOCAL_STORAGE_KEY, JSON.stringify(preferences));\r\n};\r\n\r\nexport const loadPreferences = () => {\r\n let analytics = false;\r\n let marketing = false;\r\n try {\r\n const data = JSON.parse(localStorage.getItem(COOKIE_POLICY_LOCAL_STORAGE_KEY));\r\n if (typeof data.analytics === 'boolean') {\r\n ({ analytics } = data);\r\n }\r\n if (typeof data.marketing === 'boolean') {\r\n ({ marketing } = data);\r\n }\r\n } catch {}\r\n return {\r\n analytics,\r\n marketing,\r\n };\r\n};\r\n\r\nexport const isAnalyticsAllowed = () => loadPreferences().analytics;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport prepareUrl from './prepareUrl';\r\n\r\nexport default (id, options = {}) => {\r\n options = {\r\n openInNew: false,\r\n label: '',\r\n hint: '',\r\n returnUrl: '',\r\n isClassicUi: '',\r\n showAll: false,\r\n ...options,\r\n };\r\n\r\n if (options.isClassicUi) {\r\n options.returnUrl = `/subscription/overview/id/${id}`;\r\n }\r\n let url = prepareUrl(`/subscription/login/id/${id}`);\r\n\r\n if (options.showAll) {\r\n url += '/all/true';\r\n }\r\n\r\n if (options.returnUrl) {\r\n url += `/?returnUrl=${prepareUrl(options.returnUrl)}`;\r\n }\r\n\r\n return (\r\n '' +\r\n `${options.hint}` +\r\n `` +\r\n `${options.label}` +\r\n '' +\r\n ''\r\n );\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport punycode from 'punycode';\r\n\r\nconst toPunycode = domain => punycode.toASCII(domain);\r\n\r\nexport { toPunycode };\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { render } from 'react-dom';\r\nimport { createPortal } from 'react';\r\nimport { gql } from '@apollo/client';\r\nimport { LocaleProvider, FormFieldPassword } from '@plesk/ui-library';\r\nimport { Locale } from 'jsw';\r\nimport App from 'components/App';\r\nimport ErrorBoundary from 'components/common/ErrorBoundary';\r\nimport require from 'app';\r\nimport sentry from 'common/sentry';\r\nimport pageData from 'helpers/pageData';\r\nimport apolloClient from 'apolloClient';\r\nimport estimatePassword from 'helpers/estimatePassword';\r\n\r\nexport { require };\r\nexport { default as Form } from 'components/Form';\r\n\r\nconst isInFrame = () => {\r\n try {\r\n if (window.self === window.top) {\r\n return false;\r\n }\r\n } catch {\r\n }\r\n\r\n return true;\r\n};\r\n\r\nFormFieldPassword.defaultProps.passwordMeterProps.onEstimate = password => estimatePassword(password);\r\n\r\nlet app = null;\r\n\r\nexport const run = ({\r\n config = {},\r\n data: { showModal, ...data } = {},\r\n graphqlQueries = [],\r\n localeSections = {},\r\n}) => {\r\n if (config.feedback) {\r\n sentry(config.feedback);\r\n }\r\n\r\n if (isInFrame()) {\r\n document.body.classList.add('page-content-only');\r\n }\r\n\r\n Locale.addSections(localeSections);\r\n\r\n pageData(data);\r\n\r\n graphqlQueries.forEach(({ query, ...options }) => {\r\n try {\r\n apolloClient.writeQuery({\r\n query: gql(query),\r\n ...options,\r\n });\r\n } catch {}\r\n });\r\n\r\n if (showModal) {\r\n const { name, ...props } = showModal;\r\n Plesk.require(name, run => run(props));\r\n }\r\n\r\n app = render(\r\n ,\r\n document.getElementById('plesk-root'),\r\n );\r\n};\r\n\r\nexport const addWidget = (Component, { locale, ...props }, container) => {\r\n let widget = ;\r\n\r\n if (locale) {\r\n widget = {widget};\r\n }\r\n\r\n widget = (\r\n \r\n {widget}\r\n \r\n );\r\n\r\n if (container) {\r\n widget = createPortal(widget, container);\r\n }\r\n\r\n app.addWidget(widget);\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component, StrictMode } from 'react';\r\nimport { createBrowserRouter, RouterProvider } from 'react-router-dom';\r\nimport { ApolloProvider } from '@apollo/client';\r\nimport routes from 'routes';\r\nimport apolloClient from '../apolloClient';\r\nimport LocaleProvider from './LocaleProvider';\r\n\r\nclass App extends Component {\r\n state = {\r\n widgets: [],\r\n };\r\n\r\n router = createBrowserRouter(routes);\r\n\r\n addWidget(widget) {\r\n this.setState(({ widgets }) => ({\r\n widgets: [\r\n ...widgets,\r\n widget,\r\n ],\r\n }));\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n \r\n {this.state.widgets}\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport default App;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { generatePath, parsePath } from 'react-router';\r\nimport { redirect, matchRoutes } from 'react-router-dom';\r\nimport { gql } from '@apollo/client';\r\nimport { api, emptyFn, prepareUrl, Locale } from 'jsw';\r\nimport { addToast } from 'helpers/toasts';\r\nimport { isNetworkError } from 'helpers/isNetworkError';\r\nimport pageData from '../helpers/pageData';\r\nimport { getEndOfDay, toPhpDate, getStartOfDay } from 'helpers/dates';\r\nimport routesTransformer from '../helpers/routesTransformer';\r\nimport apolloClient from '../apolloClient';\r\nimport AppLayout from '../components/layouts/AppLayout';\r\nimport CpPagesLayout from '../components/layouts/CpPagesLayout';\r\nimport PhpPagesLayout from '../components/layouts/PhpPagesLayout';\r\nimport AppBoundary from '../components/AppBoundary';\r\nimport LogsPage from '../components/pages/LogsPage';\r\nimport { readGraphQlListInputFromStorage } from '../components/common/GraphQlList';\r\nimport { odbcServerRoute } from 'routes/odbcServerRoute';\r\nimport domainOverviewRoutes from 'routes/domainOverviewRoutes';\r\nimport { summaryReportRoute, summaryReportChildrenRoute } from 'routes/summaryReportRoute';\r\nimport { domainRoute } from 'routes/domainRoute';\r\nimport { trafficUsageByViewerResellersRoute, trafficUsageByViewerResellersChildrenRoute } from 'routes/trafficUsageByViewerResellersRoute';\r\nimport { trafficUsageByViewerCustomersRoute, trafficUsageByViewerCustomersChildrenRoute } from 'routes/trafficUsageByViewerCustomersRoute';\r\nimport { trafficUsageByViewerDomainsRoute, trafficUsageByViewerDomainsChildrenRoute } from 'routes/trafficUsageByViewerDomainsRoute';\r\nimport { homeRoute } from 'routes/homeRoute';\r\nimport { trafficUsageByDomainRoute } from 'routes/trafficUsageByDomainRoute';\r\nimport { infoAndStatisticsRoute } from './infoAndStatisticsRoute';\r\nimport { resourceUsageByDomainRoute } from './resourceUsageByDomainRoute';\r\n\r\nconst initialDataLoader = () => {\r\n const { isInitial, ...data } = pageData();\r\n pageData(data);\r\n\r\n return isInitial ? data : null;\r\n};\r\n\r\nconst createPageDataLoader = dataPath => async ({ request, params }) => {\r\n const url = new URL(request.url);\r\n if (dataPath) {\r\n url.pathname = generatePath(dataPath, params);\r\n }\r\n\r\n let result;\r\n try {\r\n result = initialDataLoader() ?? await api.get(url.toString());\r\n } catch (error) {\r\n if (isNetworkError(error)) {\r\n addToast({\r\n intent: 'danger',\r\n message: `${error.message}: ${url.toString()}`,\r\n });\r\n return new Promise(emptyFn);\r\n }\r\n throw error;\r\n }\r\n const { graphqlQueries = [], ...newData } = result;\r\n\r\n if (newData.redirect) {\r\n const url = prepareUrl(newData.redirect);\r\n if (isClientSideRedirectAllowed(url)) {\r\n return redirect(url);\r\n }\r\n\r\n window.location.replace(url);\r\n return new Promise(emptyFn);\r\n }\r\n\r\n graphqlQueries.forEach(({ query, ...options }) => {\r\n try {\r\n apolloClient.writeQuery({\r\n query: gql(query),\r\n ...options,\r\n });\r\n } catch { }\r\n });\r\n\r\n pageData(newData);\r\n\r\n return newData;\r\n};\r\n\r\nconst ipAddressDomainRoute = {\r\n path: ':ipAddressId/domains',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/IpAddressDomainsPage\" */'components/pages/IpAddressDomainsPage'),\r\n loader: async ({ params }) => {\r\n const clientId = params.clientId ? btoa(`Client:${params.clientId}`) : null;\r\n const { data } = await apolloClient.query({\r\n query: require('queries/IpAddressDomainsPage.graphql'),\r\n variables: { ipAddressId: params.ipAddressId, clientId },\r\n });\r\n return data;\r\n },\r\n};\r\n\r\nconst changeOwnerRoute = {\r\n path: 'change-owner',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ChangeSubscriptionsOwnerPage\" */'components/pages/ChangeSubscriptionsOwnerPage'),\r\n loader: async ({ request }) => {\r\n const url = new URL(request.url);\r\n const ids = [...url.searchParams.entries()].map(([, value]) => btoa(`Domain:${value}`));\r\n\r\n const { data } = await apolloClient.query({\r\n query: require('queries/ChangeSubscriptionsOwnerPage.graphql'),\r\n variables: { ids },\r\n });\r\n\r\n return data;\r\n },\r\n};\r\n\r\nconst virtualHostTemplateRoute = {\r\n path: 'virtual-host-template',\r\n loader: () => pageData(),\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('virtualHostTemplate'),\r\n }),\r\n helpContext: 'skeleton',\r\n },\r\n children: [\r\n {\r\n index: true,\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/VirtualHostTemplatePage\" */'components/pages/VirtualHostTemplatePage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/VirtualHostTemplatePage.graphql'),\r\n variables: {\r\n path: '',\r\n },\r\n });\r\n },\r\n },\r\n ],\r\n};\r\n\r\nconst isTsSessionsExist = async () => {\r\n const { data: { viewer: { type, permissions: { manageServerSessions } }, os: { isWindows } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerSessions\r\n }\r\n }\r\n os {\r\n isWindows\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && isWindows && manageServerSessions;\r\n};\r\n\r\nconst isAspPageExist = async () => {\r\n const { data: { viewer: { permissions: { manageAspNetSettings } }, capability: { packages: { isASPdotNetInstalled } } },\r\n } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n permissions {\r\n manageAspNetSettings\r\n }\r\n }\r\n capability {\r\n packages {\r\n isASPdotNetInstalled\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return isASPdotNetInstalled && manageAspNetSettings;\r\n};\r\n\r\n\r\nconst routes = routesTransformer([{\r\n element: ,\r\n errorElement: ,\r\n children: [\r\n {\r\n path: ['/login_up.php', '/login_up.php3', '/login'],\r\n handle: { isAllowedWithoutLicense: true },\r\n componentLoader: () => import(/* webpackMode: \"eager\" */'components/pages/LoginPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/LoginPage.graphql'),\r\n });\r\n return initialDataLoader();\r\n },\r\n children: [{\r\n path: '*',\r\n loader: () => redirect('..'),\r\n }],\r\n },\r\n {\r\n path: '/get_password.php',\r\n handle: { isAllowedWithoutLicense: true },\r\n componentLoader: () => import(/* webpackMode: \"eager\" */'components/pages/GetPasswordPage'),\r\n loader: initialDataLoader,\r\n },\r\n {\r\n path: '/ch_pass_by_secret.php',\r\n handle: { isAllowedWithoutLicense: true },\r\n componentLoader: () => import(/* webpackMode: \"eager\" */'components/pages/RestorePasswordPage'),\r\n },\r\n {\r\n path: '/configure-mail-client.php',\r\n componentLoader: () => import('components/pages/ConfigureMailClientPage'),\r\n loader: initialDataLoader,\r\n },\r\n {\r\n path: '/admin/force-reset-password',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/force-reset-password\" */'views/admin/force-reset-password'),\r\n loader: createPageDataLoader('/admin/force-reset-password'),\r\n },\r\n {\r\n path: '/admin/setup/progress',\r\n handle: { isAllowedWithoutLicense: true },\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/setup/progress\" */'views/admin/setup/progress'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/setup/*',\r\n handle: { isAllowedWithoutLicense: true },\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/setup/index\" */'views/admin/setup/index'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/home/*',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/home/admin\" */'views/admin/home/admin'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/app',\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/app/info/id/:id',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/app/info\" */'views/admin/app/info'),\r\n loader: createPageDataLoader('/admin/app/info/id/:id'),\r\n },\r\n {\r\n path: '/admin/app/usage',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/app/usage\" */'views/admin/app/usage'),\r\n loader: createPageDataLoader('/admin/app/usage'),\r\n },\r\n {\r\n path: ['/admin/app/uploaded', '/admin/app/uploaded/downloadStatus/:status'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/app/uploaded\" */'views/admin/app/uploaded'),\r\n loader: createPageDataLoader('/admin/app/uploaded'),\r\n },\r\n {\r\n path: '/admin/custom-buttons/list',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/custom-buttons/list\" */'views/admin/custom-buttons/list'),\r\n loader: createPageDataLoader('/admin/custom-buttons/list'),\r\n },\r\n {\r\n path: '/smb/custom-buttons/list',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/custom-buttons/list\" */'views/admin/custom-buttons/list'),\r\n loader: createPageDataLoader('/smb/custom-buttons/list'),\r\n },\r\n {\r\n path: '/admin/ftp-sessions/list',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/ftp-sessions/list\" */'views/admin/ftp-sessions/list'),\r\n loader: createPageDataLoader('/admin/ftp-sessions/list'),\r\n },\r\n {\r\n path: '/admin/php-handler/list',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/php-handler/list\" */'views/admin/php-handler/list'),\r\n loader: createPageDataLoader('/admin/php-handler/list'),\r\n },\r\n {\r\n path: ['/admin/scheduler', '/smb/scheduler'],\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: ['/admin/backup/schedule', '/smb/backup/schedule', '/smb/backup/schedule/domainId/:domainId'],\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ScheduledBackupPage\" */'components/pages/ScheduledBackupPage'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: ['/admin/backup/schedule-list', '/smb/backup/schedule-list', '/smb/backup/schedule-list/domainId/:domainId'],\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ScheduledBackupListPage\" */'components/pages/ScheduledBackupListPage'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: ['/admin/scheduler/tasks-list', '/smb/scheduler/tasks-list'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/default/scheduler/list\" */'views/default/scheduler/list'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: ['/admin/domain/list', '/admin/domain/add-domain'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/domain/list\" */'components/pages/DomainsPage'),\r\n loader: createPageDataLoader('/admin/domain/list'),\r\n children: domainOverviewRoutes.map(({ path, ...params }) => ({\r\n path: `:id/${path}`,\r\n ...params,\r\n })),\r\n },\r\n {\r\n path: ['/admin/customer/list', '/admin/customer/create'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/customer/list\" */'components/pages/CustomersPage'),\r\n loader: createPageDataLoader('/admin/customer/list'),\r\n },\r\n {\r\n path: '/admin/customer/overview/id/:id',\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: ['/admin/customer/domains/id/:id', '/admin/customer/add-domain/id/:id'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/customer/domains\" */'components/pages/CustomerDomainsPage'),\r\n loader: createPageDataLoader('/admin/customer/domains/id/:id'),\r\n },\r\n {\r\n path: ['/admin/customer/subscriptions/id/:id', '/admin/customer/new-subscription/id/:id'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/customer/subscriptions\" */'components/pages/CustomerSubscriptionsPage'),\r\n loader: createPageDataLoader('/admin/customer/subscriptions/id/:id'),\r\n children: [changeOwnerRoute],\r\n },\r\n {\r\n path: '/admin/reseller/list',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/reseller/list\" */'components/pages/ResellersPage'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/reseller/overview/id/:id',\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: ['/admin/reseller/customers/id/:id', '/admin/reseller/new-customer/id/:id'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/reseller/customers\" */'components/pages/ResellerCustomersPage'),\r\n loader: createPageDataLoader('/admin/reseller/customers/id/:id'),\r\n },\r\n {\r\n path: ['/admin/reseller/domains/id/:id', '/admin/reseller/add-domain/id/:id'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/reseller/domains\" */'components/pages/ResellerDomainsPage'),\r\n loader: createPageDataLoader('/admin/reseller/domains/id/:id'),\r\n },\r\n {\r\n path: ['/admin/reseller/subscriptions/id/:id', '/admin/reseller/new-subscription/id/:id'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/reseller/subscriptions\" */'components/pages/ResellerSubscriptionsPage'),\r\n loader: createPageDataLoader('/admin/reseller/subscriptions/id/:id'),\r\n children: [changeOwnerRoute],\r\n },\r\n {\r\n path: '/admin/server/tools',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/server/tools\" */'views/admin/server/tools'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/server/preview-domain-settings',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/server/preview-domain-settings\"*/'views/admin/server/preview-domain-settings'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/services/list',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/services/list\" */'views/admin/services/list'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/sessions/list',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/sessions/list\" */'views/admin/sessions/list'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: ['/admin/subscription/list', '/admin/subscription/create'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/subscription/list\" */'components/pages/SubscriptionsPage'),\r\n loader: createPageDataLoader('/admin/subscription/list'),\r\n children: [changeOwnerRoute],\r\n },\r\n {\r\n path: ['/admin/subscription/login/all/:all/id/:id/', '/admin/subscription/login/id/:id/'],\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/subscription/overview/id/:id/',\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: ['/smb/file-manager/list', '/smb/file-manager/list/domainId/:domainId'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/file-manager/list\" */'views/smb/file-manager/list'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/file-manager',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/file-manager/index\" */'views/smb/file-manager/index'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/my-service',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/my-service/index\" */'views/smb/my-service/index'),\r\n loader: createPageDataLoader('/smb/my-service'),\r\n },\r\n {\r\n path: ['/smb/email-address', '/smb/email-address/index', '/smb/email-address/index/domainId/:domainId'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/email-address/index\" */'views/smb/email-address/index'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: ['/smb/email-address/list', '/smb/email-address/list/domainId/:domainId'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/email-address/list\" */'views/smb/email-address/list'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/mail-settings/list',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/mail-settings/list\" */'views/smb/mail-settings/list'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: ['/smb/account', '/smb/account/index'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/account/index\" */'views/smb/account/index'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/account/show/id/:id',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/account/show\" */'views/smb/account/show'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/user/index',\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/user/list',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/user/list\" */'components/pages/UsersPage'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: ['/smb/web/setup', '/smb/web/add-domain/create-webspace/true'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/web/setup\" */'views/smb/web/setup'),\r\n loader: createPageDataLoader('/smb/web/setup'),\r\n },\r\n {\r\n path: ['/smb/web/view', '/smb/web/view/id/:id/type/:type', '/smb/web/add-domain'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/web/view\" */'views/smb/web/view'),\r\n loader: createPageDataLoader('/smb/web/view'),\r\n children: [\r\n changeOwnerRoute,\r\n ...domainOverviewRoutes.map(({ path, ...params }) => ({\r\n path: `:id/${path}`,\r\n ...params,\r\n })),\r\n ],\r\n },\r\n {\r\n path: '/smb/web/overview/id/:id/type/:type',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/web/overview\" */'views/smb/web/overview'),\r\n loader: createPageDataLoader(),\r\n children: domainOverviewRoutes,\r\n },\r\n {\r\n path: '/smb/web/php-settings/id/:id',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/web/php-settings\" */'views/smb/web/php-settings'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/statistics/details',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/statistics/details\" */'views/smb/statistics/details'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/statistics/list',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/statistics/details\" */'views/smb/statistics/list'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/statistics',\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: ['/smb/account/switch/all/:all/id/:id', '/smb/account/switch/id/:id'],\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/database',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/database/index\" */'views/smb/database/index'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: ['/smb/database/list', '/smb/database/list/domainId/:domainId'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/database/list\" */'views/smb/database/list'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/database/users-list/domainId/:domainId',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/database/users-list\" */'views/smb/database/users-list'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/task-manager',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/task-manager/index\" */'views/admin/task-manager/index'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/cp/dns',\r\n children: [\r\n {\r\n index: true,\r\n loader: () => redirect('records'),\r\n },\r\n {\r\n path: 'records',\r\n componentLoader: () => import(/* webpackChunkName: \"views/dns/records\" */'components/pages/DnsSettingsPage/Records'),\r\n loader: () => apolloClient.query({\r\n query: require('queries/DnsRecordsPage.graphql'),\r\n }).then(({ data }) => data),\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions }, mode: { isDnsServiceSupported } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerDnsTemplate\r\n }\r\n }\r\n mode {\r\n isDnsServiceSupported\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerDnsTemplate && isDnsServiceSupported;\r\n },\r\n children: [{\r\n path: ['dns-soa-zone-sync', 'dns-restore'],\r\n }, {\r\n path: ':id/edit',\r\n componentLoader: () => import(/* webpackChunkName: \"views/dns/records/edit\" */'components/pages/DnsSettingsPage/Records/DnsRecordFormDrawer'),\r\n loader: ({ params: { id } }) => apolloClient.query({\r\n query: require('components/pages/DnsSettingsPage/Records/DnsRecordFormDrawer/EditDnsRecord.graphql'),\r\n variables: { id },\r\n }),\r\n }, {\r\n path: 'add',\r\n componentLoader: () => import(/* webpackChunkName: \"views/dns/records/edit\" */'components/pages/DnsSettingsPage/Records/DnsRecordFormDrawer'),\r\n loader: () => apolloClient.query({\r\n query: require('components/pages/DnsSettingsPage/Records/DnsRecordFormDrawer/AddDnsRecord.graphql'),\r\n }),\r\n }, {\r\n path: 'dns-zone-sync',\r\n componentLoader: () => import(/* webpackChunkName: \"views/dns/records/dns-zone-sync\" */'components/pages/DnsSettingsPage/Records/DnsZoneSyncDrawer'),\r\n }],\r\n },\r\n {\r\n path: 'soa-record',\r\n componentLoader: () => import(/* webpackChunkName: \"views/dns/soa-record\" */'components/pages/DnsSettingsPage/SoaRecord'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/DnsSoaRecordsPage.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions }, mode: { isDnsServiceSupported } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerDnsTemplate\r\n }\r\n }\r\n mode {\r\n isDnsServiceSupported\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerDnsTemplate && isDnsServiceSupported;\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: '/admin/dns/acl-records',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/dns/acl-records\" */'views/admin/dns/acl-records'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/dns/add-acl-record',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/dns/add-acl-record\" */'views/admin/dns/add-acl-record'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/dns/external-dns',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/dns/external-dns\" */'views/admin/dns/external-dns'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/dns/external-dns-edit/extensionId/:extensionId',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/dns/external-dns-edit\" */'views/admin/dns/external-dns-edit'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/dns-zone/index/id/:id/type/:type',\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/dns-zone/records-list/id/:id/type/:type',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/dns-zone/records-list\" */'views/smb/dns-zone/records-list'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/dns-zone/soa-record/id/:id/type/:type',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/dns-zone/soa-record\" */'views/smb/dns-zone/soa-record'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/dns-zone/acl-records/id/:id/type/:type',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/dns-zone/acl-records\" */'views/smb/dns-zone/acl-records'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/dns-zone/add-acl-record/id/:id/type/:type',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/dns-zone/add-acl-record\" */'views/smb/dns-zone/add-acl-record'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/dns-zone/external-dns/id/:id/type/:type',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/dns-zone/external-dns\" */'views/smb/dns-zone/external-dns'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/dns-zone/external-dns-edit/id/:id/type/:type/extensionId/:extensionId',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/dns-zone/external-dns-edit\" */'views/smb/dns-zone/external-dns-edit'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/cp/settings-ui/edit-interface-view',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/settings-ui/edit-interface-view\" */'views/admin/settings-ui/edit-interface-view'),\r\n loader: () => apolloClient.query({\r\n query: require('queries/EditInterfaceViewPage.graphql'),\r\n }).then(({ data }) => data),\r\n isExist: async () => {\r\n const { data: { viewer: { type }, mode } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n }\r\n mode {\r\n isViewSwitcherAllowed\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && mode.isViewSwitcherAllowed;\r\n },\r\n },\r\n {\r\n path: '/admin/settings-ui/list-languages',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/settings-ui/list-languages\" */'views/admin/settings-ui/list-languages'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/settings-ui',\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/database/settings',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/database/settings\"*/'views/admin/database/settings'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/smb/web/web-server-settings/id/:id',\r\n componentLoader: () => import(/* webpackChunkName: \"views/smb/web/web-server-settings\" */'views/smb/web/web-server-settings'),\r\n loader: createPageDataLoader(),\r\n },\r\n {\r\n path: '/admin/notifications',\r\n children: [\r\n {\r\n index: true,\r\n loader: () => redirect('email-settings'),\r\n },\r\n {\r\n path: 'email-settings',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/notifications/index\" */'views/admin/notifications/index'),\r\n loader: createPageDataLoader(),\r\n },\r\n ],\r\n },\r\n {\r\n path: '/cp/notifications/panel-settings',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/PanelNotificationsSettings\" */'components/pages/Notifications/PanelNotificationsSettings'),\r\n loader: () => apolloClient.query({\r\n query: require('queries/NotificationUiSetting.graphql'),\r\n }).then(({ data }) => data),\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerNotifications\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerNotifications;\r\n },\r\n },\r\n {\r\n path: '/cp/settings-ui/branding',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/BrandingPage\" */'components/pages/BrandingPage'),\r\n loader: () => apolloClient.query({\r\n query: require('queries/BrandingPage.graphql'),\r\n }).then(({ data }) => data),\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerBranding\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return (type === 'ADMIN' && permissions.manageServerBranding) || type === 'RESELLER';\r\n },\r\n },\r\n {\r\n path: '/cp/server/db',\r\n componentLoader: () => import(/* webpackChunkName: \"views/server/db\"*/'components/pages/DatabaseServersPage'),\r\n loader: () => apolloClient.query({\r\n query: require('queries/DatabaseServersPage.graphql'),\r\n }).then(({ data }) => data),\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerDb\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerDb;\r\n },\r\n children: [\r\n {\r\n path: ':id/upgrade',\r\n componentLoader: () => import(/* webpackChunkName: \"views/server/db\"*/'components/pages/DatabaseServerUpgradePage'),\r\n loader: ({ params: { id } }) => apolloClient.query({\r\n query: require('queries/DatabaseServerUpgradePage.graphql'),\r\n variables: { id: btoa(`DatabaseServer:${id}`) },\r\n }).then(({ data }) => data).catch(({ graphQLErrors }) => {\r\n graphQLErrors.forEach(({ message, debugMessage }) => {\r\n addToast({\r\n intent: 'danger',\r\n message: debugMessage || message,\r\n });\r\n });\r\n\r\n return redirect('/cp/server/db');\r\n }),\r\n isExist: async ({ params }) => {\r\n const { data: { viewer: { type, permissions }, databaseServer } } = await apolloClient.query({\r\n query: gql`\r\n query ($id: ID!) {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerDb\r\n }\r\n }\r\n databaseServer: node(id: $id) {\r\n id\r\n }\r\n }\r\n `,\r\n variables: {\r\n id: btoa(`DatabaseServer:${params.id}`),\r\n },\r\n errorPolicy: 'ignore',\r\n });\r\n\r\n return Boolean(type === 'ADMIN' && permissions.manageServerDb && databaseServer);\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: '/cp/server/db/create',\r\n componentLoader: () => import(/* webpackChunkName: \"views/server/db\"*/'components/pages/DatabaseServerCreatePage'),\r\n loader: () => apolloClient.query({\r\n query: require('queries/DatabaseServerCreatePage.graphql'),\r\n }).then(({ data }) => data),\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerDb\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerDb;\r\n },\r\n },\r\n {\r\n path: '/cp/server/db/:id',\r\n children: [\r\n {\r\n index: true,\r\n loader: () => redirect('properties'),\r\n },\r\n {\r\n path: 'properties',\r\n componentLoader: () => import(/* webpackChunkName: \"views/server/db\"*/'components/pages/DatabaseServerPropertiesPage'),\r\n loader: ({ params: { id } }) => apolloClient.query({\r\n query: require('queries/DatabaseServerPropertiesPage.graphql'),\r\n variables: { id: btoa(`DatabaseServer:${id}`) },\r\n }).then(({ data }) => data),\r\n isExist: async ({ params }) => {\r\n const { data: { viewer: { type, permissions }, databaseServer } } = await apolloClient.query({\r\n query: gql`\r\n query ($id: ID!) {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerDb\r\n }\r\n }\r\n databaseServer: node(id: $id) {\r\n id\r\n }\r\n }\r\n `,\r\n variables: {\r\n id: btoa(`DatabaseServer:${params.id}`),\r\n },\r\n errorPolicy: 'ignore',\r\n });\r\n\r\n return Boolean(type === 'ADMIN' && permissions.manageServerDb && databaseServer);\r\n },\r\n },\r\n {\r\n path: 'databases',\r\n componentLoader: () => import(/* webpackChunkName: \"views/server/db\"*/'components/pages/DatabaseServerDatabasesPage'),\r\n loader: ({ params: { id } }) => apolloClient.query({\r\n query: require('queries/DatabaseServerDatabasesPage.graphql'),\r\n variables: { id: btoa(`DatabaseServer:${id}`) },\r\n }).then(({ data }) => data),\r\n isExist: async ({ params }) => {\r\n const { data: { viewer: { type, permissions }, databaseServer } } = await apolloClient.query({\r\n query: gql`\r\n query ($id: ID!) {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerDb\r\n }\r\n }\r\n databaseServer: node(id: $id) {\r\n id\r\n }\r\n }\r\n `,\r\n variables: {\r\n id: btoa(`DatabaseServer:${params.id}`),\r\n },\r\n errorPolicy: 'ignore',\r\n });\r\n\r\n return Boolean(type === 'ADMIN' && permissions.manageServerDb && databaseServer);\r\n },\r\n },\r\n {\r\n path: 'change-password',\r\n componentLoader: () => import(/* webpackChunkName: \"views/server/db\"*/'components/pages/DatabaseServerChangePasswordPage'),\r\n loader: ({ params: { id } }) => apolloClient.query({\r\n query: require('queries/DatabaseServerChangePasswordPage.graphql'),\r\n variables: { id: btoa(`DatabaseServer:${id}`) },\r\n }).then(({ data }) => data),\r\n isExist: async ({ params }) => {\r\n const { data: { viewer: { type, permissions }, os, mode, databaseServer } } = await apolloClient.query({\r\n query: gql`\r\n query ($id: ID!) {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerDb\r\n }\r\n }\r\n os {\r\n isWindows\r\n }\r\n mode {\r\n isDemo\r\n }\r\n databaseServer: node(id: $id) {\r\n id\r\n }\r\n }\r\n `,\r\n variables: {\r\n id: btoa(`DatabaseServer:${params.id}`),\r\n },\r\n errorPolicy: 'ignore',\r\n });\r\n\r\n return Boolean(type === 'ADMIN' && permissions.manageServerDb && os.isWindows && !mode.isDemo && databaseServer);\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: ['/cp/websites-diagnostic', '/cp/websites-diagnostic/id/:domainId'],\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/websites-diagnostic/index\" */'components/pages/WebsitesDiagnostic'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/WebsitesDiagnosticPage.graphql'),\r\n fetchPolicy: 'network-only',\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer, config } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n }\r\n config {\r\n websitesDiagnostic {\r\n enabled\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return viewer.type === 'ADMIN' && config.websitesDiagnostic.enabled;\r\n },\r\n },\r\n {\r\n path: '/cp/system-time',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/SystemTimePage\" */'components/pages/SystemTimePage'),\r\n loader: () => apolloClient.query({\r\n query: require('queries/SystemTimePage.graphql'),\r\n }).then(({ data }) => data),\r\n },\r\n {\r\n path: '/cp/server/mail',\r\n children: [\r\n {\r\n index: true,\r\n loader: () => redirect('settings'),\r\n },\r\n {\r\n path: 'settings',\r\n componentLoader: () => import(/* webpackChunkName: \"views/server/mail\" */'components/pages/ServerMailSettingsPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/ServerMailSettingsPage.graphql'),\r\n });\r\n await apolloClient.query({\r\n query: require('queries/ServerMailTabs.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerMail\r\n manageServerMailAutodiscover\r\n manageServerSpamFilter\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && (\r\n permissions.manageServerMail ||\r\n permissions.manageServerMailAutodiscover ||\r\n permissions.manageServerSpamFilter\r\n );\r\n },\r\n },\r\n {\r\n path: 'black-list',\r\n componentLoader: () => import(/* webpackChunkName: \"views/server/mail\" */'components/pages/ServerMailBlackListPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/ServerMailBlackListPage.graphql'),\r\n });\r\n await apolloClient.query({\r\n query: require('queries/ServerMailTabs.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerMailBlackWhiteLists\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerMailBlackWhiteLists;\r\n },\r\n },\r\n {\r\n path: 'white-list',\r\n componentLoader: () => import(/* webpackChunkName: \"views/server/mail\" */'components/pages/ServerMailWhiteListPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/ServerMailWhiteListPage.graphql'),\r\n });\r\n await apolloClient.query({\r\n query: require('queries/ServerMailTabs.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerMailBlackWhiteLists\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerMailBlackWhiteLists;\r\n },\r\n },\r\n {\r\n path: 'antivirus',\r\n componentLoader: () => import(/* webpackChunkName: \"views/server/mail\" */'components/pages/ServerMailAntivirusPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/ServerMailAntivirusPage.graphql'),\r\n });\r\n await apolloClient.query({\r\n query: require('queries/ServerMailTabs.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerVirusProtection\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerVirusProtection;\r\n },\r\n },\r\n {\r\n path: 'spam-filter',\r\n componentLoader: () => import(/* webpackChunkName: \"views/server/mail\" */'components/pages/ServerMailSpamFilterPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/ServerMailSpamFilterPage.graphql'),\r\n });\r\n await apolloClient.query({\r\n query: require('queries/ServerMailTabs.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions }, os: { isWindows } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerSpamFilter\r\n }\r\n }\r\n os {\r\n isWindows\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerSpamFilter && isWindows;\r\n },\r\n },\r\n {\r\n path: 'statistics',\r\n componentLoader: () => import(/* webpackChunkName: \"views/server/mail\" */'components/pages/ServerMailStatisticsPage'),\r\n loader: async () => {\r\n await Promise.all([\r\n apolloClient.query({\r\n query: require('queries/ServerMailSpamStatistics.graphql'),\r\n variables: {\r\n from: toPhpDate(getStartOfDay(Date.now())),\r\n to: toPhpDate(getEndOfDay(Date.now())),\r\n pagination: { page: 0, itemsPerPage: 25 },\r\n orderBy: { email: 'DESC' },\r\n },\r\n }),\r\n apolloClient.query({\r\n query: require('queries/ServerMailTabs.graphql'),\r\n }),\r\n ]);\r\n },\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('mailStatistics'),\r\n href: '/admin/server/tools',\r\n }),\r\n },\r\n },\r\n {\r\n path: 'smarthost',\r\n componentLoader: () => import(/* webpackChunkName: \"views/server/mail\" */'components/pages/ServerMailSmarthostPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/ServerMailSmarthostPage.graphql'),\r\n });\r\n await apolloClient.query({\r\n query: require('queries/ServerMailTabs.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { capability: { mailServer } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n capability {\r\n mailServer {\r\n isSmarthostAvailable\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return mailServer.isSmarthostAvailable;\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: '/cp/license',\r\n handle: { isAllowedWithoutLicense: true },\r\n children: [\r\n {\r\n index: true,\r\n loader: () => redirect('primary'),\r\n },\r\n {\r\n path: 'primary',\r\n componentLoader: () => import(/* webpackChunkName: \"views/license\" */'components/pages/PrimaryKeyInfoPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/PrimaryKeyInfoPage.graphql'),\r\n });\r\n await apolloClient.query({\r\n query: require('queries/MasterKeyProcessingState.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerLicense\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerLicense;\r\n },\r\n children: [\r\n {\r\n path: 'upload',\r\n componentLoader: () => import(/* webpackChunkName: \"views/license\" */'components/pages/PrimaryKeyUploadPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/PrimaryKeyUploadPage.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions }, mode: { isDemo } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerLicense\r\n }\r\n }\r\n mode {\r\n isDemo\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerLicense && !isDemo;\r\n },\r\n },\r\n {\r\n path: 'revert',\r\n componentLoader: () => import(/* webpackChunkName: \"views/license\" */'components/pages/PrimaryKeyRevertPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/PrimaryKeyRevertPage.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions }, mode: { isDemo } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerLicense\r\n }\r\n }\r\n mode {\r\n isDemo\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerLicense && !isDemo;\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: 'additional',\r\n componentLoader: () => import(/* webpackChunkName: \"views/license/additional\" */'components/pages/AdditionalKeysPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/AdditionalKeysPage.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerLicense\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerLicense;\r\n },\r\n children: [\r\n {\r\n path: 'upload',\r\n componentLoader: () => import(/* webpackChunkName: \"views/license/additional\" */'components/pages/AdditionalKeyUploadPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/AdditionalKeyUploadPage.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions }, mode: { isDemo } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerLicense\r\n }\r\n }\r\n mode {\r\n isDemo\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerLicense && !isDemo;\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: 'additional/:id',\r\n componentLoader: () => import(/* webpackChunkName: \"views/license/additional\" */'components/pages/AdditionalKeyInfoPage'),\r\n loader: async ({ params: { id } }) => {\r\n await apolloClient.query({\r\n query: require('queries/AdditionalKeyInfoPage.graphql'),\r\n variables: { id },\r\n });\r\n },\r\n isExist: async ({ params }) => {\r\n const { data: { viewer: { type, permissions }, additionalKey } } = await apolloClient.query({\r\n query: gql`\r\n query ($id: ID!) {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerLicense\r\n }\r\n }\r\n additionalKey(id: $id) {\r\n keyNumber\r\n }\r\n }\r\n `,\r\n variables: {\r\n id: params.id,\r\n },\r\n });\r\n\r\n return additionalKey && type === 'ADMIN' && permissions.manageServerLicense;\r\n },\r\n children: [\r\n {\r\n path: 'revert',\r\n componentLoader: () => import(/* webpackChunkName: \"views/license/additional\" */'components/pages/AdditionalKeyRevertPage'),\r\n loader: async ({ params: { id } }) => {\r\n await apolloClient.query({\r\n query: require('queries/AdditionalKeyRevertPage.graphql'),\r\n variables: { id },\r\n });\r\n },\r\n isExist: async ({ params }) => {\r\n const { data: { viewer: { type, permissions }, mode: { isDemo }, additionalKey } } = await apolloClient.query({\r\n query: gql`\r\n query ($id: ID!) {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerLicense\r\n }\r\n }\r\n additionalKey(id: $id) {\r\n keyNumber\r\n }\r\n mode {\r\n isDemo\r\n }\r\n }\r\n `,\r\n variables: {\r\n id: params.id,\r\n },\r\n });\r\n\r\n return additionalKey && type === 'ADMIN' && permissions.manageServerLicense && !isDemo;\r\n },\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n {\r\n path: '/cp/firewall',\r\n children: [\r\n {\r\n index: true,\r\n loader: () => redirect('general'),\r\n },\r\n {\r\n path: 'general',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/FirewallGeneralPage\" */'components/pages/FirewallGeneralPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/FirewallGeneralPage.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions }, os: { isUnix }, mode: { isDemo } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerFirewall\r\n }\r\n }\r\n mode {\r\n isDemo\r\n }\r\n os {\r\n isUnix\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && !isUnix && !isDemo && permissions.manageServerFirewall;\r\n },\r\n },\r\n {\r\n path: 'icmp',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/FirewallIcmpPage\" */'components/pages/FirewallIcmpPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/FirewallIcmpPage.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions }, os: { isUnix }, mode: { isDemo } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerFirewall\r\n }\r\n }\r\n mode {\r\n isDemo\r\n }\r\n os {\r\n isUnix\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && !isUnix && !isDemo && permissions.manageServerFirewall;\r\n },\r\n },\r\n {\r\n path: 'rules',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/FirewallRulesPage\" */'components/pages/FirewallRulesPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/FirewallRulesPage.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions }, os: { isUnix }, mode: { isDemo } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerFirewall\r\n }\r\n }\r\n mode {\r\n isDemo\r\n }\r\n os {\r\n isUnix\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && !isUnix && !isDemo && permissions.manageServerFirewall;\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: ['/cp/server/components', '/cp/server/components/default/:name', '/cp/server/components/configuration/:name'],\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ServerComponentsPage\" */'components/pages/ServerComponentsPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/ServerComponentsPage.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { viewer: { type, permissions } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerComponents\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerComponents;\r\n },\r\n },\r\n {\r\n path: '/cp/ip-address/',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/ip-address/list\" */'components/pages/IpAddressPage'),\r\n loader: () => apolloClient.query({\r\n query: require('queries/IpAddressPage.graphql'),\r\n variables: { page: 1, itemsPerPage: 25 },\r\n }).then(({ data }) => data),\r\n children: [\r\n { path: ['add', ':id/edit'] },\r\n ipAddressDomainRoute,\r\n ],\r\n },\r\n {\r\n path: '/cp/ip-address/:id/clients',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/ip-address/clients\" */'components/pages/IpAddressResellersPage'),\r\n loader: ({ params: { id } }) => apolloClient.query({\r\n query: require('components/pages/IpAddressResellersPage/IpAddressResellerList.graphql'),\r\n variables: { id },\r\n }),\r\n children: [{\r\n path: 'assign',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/AssignIpAddressToResellerForm\" */\r\n 'components/pages/IpAddressResellersPage/AssignIpAddressToResellerForm'\r\n ),\r\n loader: ({ params: { id } }) => apolloClient.query({\r\n query: require('components/pages/IpAddressResellersPage/AssignIpAddressToResellerForm/UnassignedIpAddressResellers.graphql'),\r\n variables: { id },\r\n }),\r\n }],\r\n },\r\n {\r\n path: '/cp/client/:clientId/ip-address',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/client/ip-address\" */ 'components/pages/ClientIpAddressPage'),\r\n loader: async ({ params: { clientId } }) => {\r\n await apolloClient.query({\r\n query: require('queries/ClientIpAddress.graphql'),\r\n variables: { clientId: btoa(`Client:${clientId}`) },\r\n });\r\n },\r\n children: [ipAddressDomainRoute, {\r\n path: ':ipAddressId/properties',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"views/admin/client/ip-address/form\" */ 'components/pages/ClientIpAddressPage/ClientIpAddressProperties'\r\n ),\r\n loader: async ({ params: { clientId, ipAddressId } }) => {\r\n await apolloClient.query({\r\n query: require('components/pages/ClientIpAddressPage/ClietnIpAddressProperties.graphql'),\r\n variables: {\r\n ipAddressId,\r\n clientId: btoa(`Client:${clientId}`),\r\n },\r\n });\r\n },\r\n }, {\r\n path: 'assign',\r\n componentLoader: () => import(/* webpackChunkName: \"views/admin/client/ip-address/form\" */ 'components/pages/ClientIpAddressPage/AssignClientIpAddress'),\r\n loader: async ({ params: { clientId } }) => {\r\n await apolloClient.query({\r\n query: require('components/pages/ClientIpAddressPage/AssignClientIpAddress/AssignClientIpAddressDrawer.graphql'),\r\n variables: {\r\n clientId: btoa(`Client:${clientId}`),\r\n },\r\n });\r\n },\r\n }],\r\n },\r\n {\r\n path: '/cp/php/extensions/id/:id',\r\n componentLoader: () => import(/* webpackChunkName: \"views/php/extensions\" */'components/pages/PhpExtensionsPage'),\r\n loader: async ({ params: { id } }) => {\r\n await apolloClient.query({\r\n query: require('queries/PhpExtensionsPage.graphql'),\r\n variables: { id },\r\n });\r\n },\r\n isExist: async ({ params }) => {\r\n const { data: { viewer: { type, permissions }, os: { isWindows }, phpHandler: { cliPath } } } = await apolloClient.query({\r\n query: gql`\r\n query($id: ID!) {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerPhp\r\n }\r\n }\r\n os {\r\n isWindows\r\n }\r\n phpHandler(id: $id) {\r\n id\r\n cliPath\r\n }\r\n }\r\n `,\r\n variables: {\r\n id: params.id,\r\n },\r\n });\r\n\r\n return type === 'ADMIN' && permissions.manageServerPhp && (isWindows || cliPath !== '');\r\n },\r\n },\r\n {\r\n path: '/cp/server/ts-sessions/:id',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/TsSessionPage\" */'components/pages/TsSessionPage'),\r\n loader: ({ params }) => async () => {\r\n await apolloClient.query({\r\n query: require('queries/TsSessionPage.graphql'),\r\n variables: { ids: [params.id] },\r\n });\r\n },\r\n isExist: isTsSessionsExist,\r\n },\r\n {\r\n path: '/cp/server/ts-sessions',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/TsSessionsPage\" */'components/pages/TsSessionsPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/TsSessionsPage.graphql'),\r\n });\r\n },\r\n isExist: isTsSessionsExist,\r\n },\r\n {\r\n path: '/cp/server/asp-dot-net-settings',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/AspDotNetSettingsPage/AspDotNetServerSettingsPage\" */'components/pages/AspDotNetSettingsPage/AspDotNetServerSettingsPage'),\r\n loader: async () => {\r\n const { data } = await apolloClient.query({\r\n query: require('queries/AspDotNetServerSettingsPage.graphql'),\r\n });\r\n return data;\r\n },\r\n isExist: isAspPageExist,\r\n },\r\n {\r\n path: 'cp',\r\n handle: {\r\n crumb: ({ data }) => data.pageSidebar.isPowerUserPanel ? null : {\r\n title: Locale.getSection('components.routes').lmsg('home'),\r\n href: '/admin/home',\r\n },\r\n },\r\n element: ,\r\n loader: () => pageData(),\r\n children: [\r\n {\r\n path: 'reseller-tools',\r\n isExist: async () => {\r\n const { data: { viewer } } = await apolloClient.query({\r\n query: require('queries/ViewerType.graphql'),\r\n });\r\n\r\n return viewer.type === 'RESELLER';\r\n },\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('resellerTools'),\r\n }),\r\n },\r\n children: [\r\n infoAndStatisticsRoute,\r\n summaryReportRoute(),\r\n summaryReportChildrenRoute,\r\n virtualHostTemplateRoute,\r\n trafficUsageByViewerCustomersRoute({\r\n helpContext: 'reseller.client.traffic',\r\n }),\r\n trafficUsageByViewerCustomersChildrenRoute(),\r\n trafficUsageByViewerDomainsRoute(),\r\n trafficUsageByViewerDomainsChildrenRoute(),\r\n resourceUsageByDomainRoute(),\r\n {\r\n index: true,\r\n loader: () => new Promise(() => {\r\n // empty promise to avoid to show an empty page before reload\r\n window.location = '/admin/reseller/tools';\r\n }),\r\n },\r\n ],\r\n },\r\n {\r\n path: 'server',\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('tools'),\r\n }),\r\n },\r\n isExist: async () => {\r\n const { data: { viewer } } = await apolloClient.query({\r\n query: require('queries/ViewerType.graphql'),\r\n });\r\n\r\n return viewer.type === 'ADMIN';\r\n },\r\n children: [\r\n infoAndStatisticsRoute,\r\n summaryReportRoute(),\r\n summaryReportChildrenRoute,\r\n virtualHostTemplateRoute,\r\n trafficUsageByViewerResellersRoute(),\r\n trafficUsageByViewerResellersChildrenRoute(),\r\n trafficUsageByViewerCustomersRoute({\r\n helpContext: 'client.traffic',\r\n }),\r\n trafficUsageByViewerCustomersChildrenRoute(),\r\n trafficUsageByViewerDomainsRoute(),\r\n trafficUsageByViewerDomainsChildrenRoute(),\r\n resourceUsageByDomainRoute(),\r\n {\r\n index: true,\r\n loader: () => redirect('/admin/server/tools'),\r\n },\r\n {\r\n path: 'about',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ServerAboutPage\" */'components/pages/ServerAboutPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/ServerAboutPage.graphql'),\r\n });\r\n },\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('serverAbout'),\r\n }),\r\n helpContext: 'about.index',\r\n },\r\n },\r\n {\r\n path: 'mass-mail',\r\n loader: () => pageData(),\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('massMail'),\r\n }),\r\n helpContext: 'mass-mail',\r\n },\r\n children: [\r\n {\r\n index: true,\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/MassMailPage\" */'components/pages/MassMailPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/MassMailPage.graphql'),\r\n variables: {\r\n input: readGraphQlListInputFromStorage({ key: 'MassMailPage' }),\r\n },\r\n });\r\n },\r\n },\r\n {\r\n path: 'create',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/CreateMassMailTemplatePage\" */'components/pages/CreateMassMailTemplatePage'\r\n ),\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('createMassMailTemplate'),\r\n }),\r\n },\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/CreateMassMailTemplatePage.graphql'),\r\n });\r\n },\r\n },\r\n {\r\n path: 'send',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/SendMassMailPage\" */'components/pages/SendMassMailPage'\r\n ),\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('sendMassMail'),\r\n }),\r\n },\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/SendMassMailPage.graphql'),\r\n });\r\n },\r\n },\r\n {\r\n path: ':templateId/edit',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/EditMassMailTemplatePage\" */'components/pages/EditMassMailTemplatePage'\r\n ),\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('editMassMailTemplate'),\r\n }),\r\n },\r\n loader: async ({ params: { templateId } }) => {\r\n await apolloClient.query({\r\n query: require('queries/EditMassMailTemplatePage.graphql'),\r\n variables: {\r\n numericId: Number(templateId),\r\n id: btoa(`MassEmailTemplate:${templateId}`),\r\n },\r\n });\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: 'action-log',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ActionLogPage\" */'components/pages/ActionLogPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/ActionLogPage.graphql'),\r\n });\r\n },\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('actionLogSettings'),\r\n }),\r\n helpContext: 'actionlog',\r\n },\r\n },\r\n {\r\n path: 'information',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ServerInformationPage\" */'components/pages/ServerInformationPage'),\r\n loader: async () => {\r\n const { data: { server: { information } } } = await apolloClient.query({\r\n query: require('queries/ServerInformationPage.graphql'),\r\n });\r\n\r\n if (!information) {\r\n throw new Response('Not Found', { status: 404 });\r\n }\r\n },\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('serverInformation'),\r\n }),\r\n helpContext: 'server.statistics',\r\n },\r\n },\r\n {\r\n path: 'settings',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ServerSettingsPage\" */'components/pages/ServerSettingsPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/ServerSettingsPage.graphql'),\r\n });\r\n },\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('serverSettings'),\r\n }),\r\n helpContext: 'preferences',\r\n },\r\n },\r\n {\r\n path: 'spam-filter',\r\n componentLoader: () => import(/* webpackChunkName: \"components/tabs/SpamFilterSettingsTabs\" */'components/tabs/SpamFilterSettingsTabs'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/SpamFilterSettingsTabs.graphql'),\r\n });\r\n },\r\n isExist: async () => {\r\n const { data: { os: { isUnix } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n os {\r\n isUnix\r\n }\r\n }\r\n `,\r\n });\r\n\r\n return isUnix;\r\n },\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('serverSpamFilterSettings'),\r\n }),\r\n helpContext: 'spamassassin',\r\n },\r\n children: [\r\n {\r\n index: true,\r\n loader: async () => {\r\n const { data: { viewer: { permissions: { manageServerSpamFilter, manageServerMailBlackWhiteLists } } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n permissions {\r\n manageServerSpamFilter\r\n manageServerMailBlackWhiteLists\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n if (manageServerSpamFilter) {\r\n return redirect('settings');\r\n }\r\n if (manageServerMailBlackWhiteLists) {\r\n return redirect('black-list');\r\n }\r\n throw new Response('Not Found', { status: 404 });\r\n },\r\n },\r\n {\r\n path: 'settings',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/SpamFilterSettingsPage\" */'components/pages/SpamFilterSettingsPage'),\r\n loader: async () => {\r\n const { data: { serverMail: { spamAssassin: { settings } } } } = await apolloClient.query({\r\n query: require('queries/ServerMailSpamFilterPage.graphql'),\r\n });\r\n\r\n if (!settings) {\r\n throw new Response('Not Found', { status: 404 });\r\n }\r\n },\r\n },\r\n {\r\n path: 'black-list',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/SpamFilterBlackListPage\" */'components/pages/SpamFilterBlackListPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/ServerMailSpamFilterBlackListPage.graphql'),\r\n });\r\n },\r\n },\r\n {\r\n path: 'white-list',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/SpamFilterWhiteListPage\" */'components/pages/SpamFilterWhiteListPage'),\r\n loader: async () => {\r\n await apolloClient.query({\r\n query: require('queries/ServerMailSpamFilterWhiteListPage.graphql'),\r\n });\r\n },\r\n },\r\n ],\r\n },\r\n odbcServerRoute,\r\n ],\r\n },\r\n domainRoute({ createPageDataLoader }),\r\n homeRoute,\r\n {\r\n path: 'domain-traffic-usage/domains',\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('statistics'),\r\n href: '/smb/statistics/details',\r\n }),\r\n helpContext: 'client.domain.traffic-hosting',\r\n },\r\n children: [trafficUsageByDomainRoute({ path: ':domainId' })],\r\n },\r\n {\r\n path: '*',\r\n loader: () => {\r\n throw new Response('Not Found', { status: 404 });\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n id: 'php-pages-layout',\r\n path: '*',\r\n element: ,\r\n children: [\r\n {\r\n path: 'smb/log-file/browser/id/:id',\r\n element: ,\r\n },\r\n ],\r\n },\r\n ],\r\n}]);\r\n\r\nexport const isClientSideRedirectAllowed = to => {\r\n if (window.location.pathname.match(/^\\/modules\\/(warden)\\//)) {\r\n return false;\r\n }\r\n\r\n const { pathname, search } = typeof to === 'string' ? parsePath(to) : to;\r\n if (search?.startsWith('?modals')) {\r\n return true;\r\n }\r\n if (!pathname) {\r\n return false;\r\n }\r\n\r\n let route = pathname;\r\n\r\n // relative path\r\n if (/^(?![\\/?])/.test(to)) {\r\n route = window.location.pathname + route;\r\n }\r\n\r\n const matches = matchRoutes(routes, route);\r\n return matches ? !matches.some(({ route }) => route.id === 'php-pages-layout') : false;\r\n};\r\n\r\nexport default routes;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport const HOURS_IN_MS = 1000 * 60 * 60;\r\n\r\nconst SEC_IN_MINUTE = 60;\r\nconst SEC_IN_HOUR = 60 * SEC_IN_MINUTE;\r\nconst SEC_IN_DAY = 24 * SEC_IN_HOUR;\r\n\r\nexport const getSysdate = (): Date => new Date();\r\n\r\nexport const addDays = (daysCount: number, date: Date = new Date()): Date => {\r\n const copy = new Date(date.getTime());\r\n copy.setDate(copy.getDate() + daysCount);\r\n\r\n return copy;\r\n};\r\n\r\nexport const addHours = (hoursCount: number, date: Date = new Date()): Date => {\r\n const copy = new Date(date.getTime());\r\n copy.setHours(copy.getHours() + hoursCount);\r\n\r\n return copy;\r\n};\r\n\r\nexport const isSameDay = (date1: Date, date2: Date): boolean => {\r\n const yearsAreEqual = date1.getFullYear() === date2.getFullYear();\r\n const monthsAreEqual = date1.getMonth() === date2.getMonth();\r\n const daysAreEqual = date1.getDate() === date2.getDate();\r\n\r\n return yearsAreEqual && monthsAreEqual && daysAreEqual;\r\n};\r\n\r\nexport const getTimezoneShift = (timezone: string): number => {\r\n const [hours, minutes] = timezone.split(':').map(Number);\r\n\r\n return hours < 0 ? -(Math.abs(hours) + (minutes / 60)) : hours + (minutes / 60);\r\n};\r\n\r\nconst MS_IN_SECOND = 1000;\r\n\r\nexport const formatDate = (date: Date | number): string => new Date(date)\r\n .toLocaleDateString(document.documentElement.lang ?? 'en', { month: 'long', day: 'numeric', year: 'numeric' });\r\n\r\nexport const formatDateFromTimestamp = (seconds: number): string => formatDate(seconds * MS_IN_SECOND);\r\n\r\n\r\ntype DatePeriod = {\r\n days: number;\r\n hours: number;\r\n minutes: number;\r\n seconds: number;\r\n}\r\n\r\nexport const toDatePeriod = (seconds: number): DatePeriod => {\r\n const days = Math.floor(seconds / SEC_IN_DAY);\r\n const daysInSeconds = days * SEC_IN_DAY;\r\n const hours = Math.floor((seconds - daysInSeconds) / SEC_IN_HOUR);\r\n const hoursInSeconds = hours * SEC_IN_HOUR;\r\n const minutes = Math.floor((seconds - daysInSeconds - hoursInSeconds) / SEC_IN_MINUTE);\r\n const minutesInSeconds = minutes * SEC_IN_MINUTE;\r\n\r\n return {\r\n days,\r\n hours,\r\n minutes,\r\n seconds: seconds - daysInSeconds - hoursInSeconds - minutesInSeconds,\r\n };\r\n};\r\n\r\nexport const getEndOfDay = (timestamp: number): Date => {\r\n const date = new Date(timestamp);\r\n date.setHours(23, 59, 59, 999);\r\n\r\n return date;\r\n};\r\n\r\nexport const getStartOfDay = (timestamp: number): Date => {\r\n const date = new Date(timestamp);\r\n date.setHours(0, 0, 0, 0);\r\n\r\n return date;\r\n};\r\n\r\nexport const getStartOfMonth = (timestamp: number): Date => {\r\n const date = new Date(timestamp);\r\n date.setDate(1);\r\n date.setHours(0, 0, 0, 0);\r\n\r\n return date;\r\n};\r\n\r\nexport const getEndOfMonth = (timestamp: number): Date => {\r\n const date = new Date(timestamp);\r\n date.setMonth(date.getMonth() + 1);\r\n date.setDate(0);\r\n date.setHours(23, 59, 59, 999);\r\n\r\n return date;\r\n};\r\n\r\nexport const getStartOfWeek = (timestamp: number): Date => {\r\n const date = new Date(timestamp);\r\n const dayOfWeek = date.getDay();\r\n\r\n const diff = dayOfWeek * -1;\r\n date.setDate(date.getDate() + diff);\r\n date.setHours(0, 0, 0, 0);\r\n\r\n return date;\r\n};\r\n\r\nexport const getEndOfWeek = (timestamp: number): Date => {\r\n const date = new Date(timestamp);\r\n const dayOfWeek = date.getDay();\r\n\r\n const diff = 6 - dayOfWeek;\r\n date.setDate(date.getDate() + diff);\r\n date.setHours(23, 59, 59, 999);\r\n\r\n return date;\r\n};\r\n\r\nexport const getDaysInMonthFromTimestamp = (timestamp: number): number => {\r\n const date = new Date(timestamp);\r\n const year = date.getFullYear();\r\n const month = date.getMonth();\r\n\r\n return new Date(year, month + 1, 0).getDate();\r\n};\r\n\r\nexport const getDaysInPreviousMonth = (timestamp: number): number => {\r\n const date = new Date(timestamp);\r\n const year = date.getFullYear();\r\n const month = date.getMonth();\r\n\r\n const previousMonth = month === 0 ? 11 : month - 1;\r\n const previousMonthYear = month === 0 ? year - 1 : year;\r\n\r\n // Create a new date for the last day of the previous month\r\n return new Date(previousMonthYear, previousMonth + 1, 0).getDate();\r\n};\r\n\r\nexport const toUnixTime = (timestamp: number): number => Math.floor(timestamp / MS_IN_SECOND);\r\n\r\nexport const toPhpDate = (timestamp: number): string => new Date(timestamp).toLocaleDateString('en-US', { year: 'numeric', month: '2-digit', day: '2-digit' });\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useLoaderData, useParams, useLocation, useRevalidator, useMatches, UIMatch } from 'react-router-dom';\r\nimport { useQuery } from '@apollo/client';\r\nimport { redirect } from 'jsw';\r\n\r\nimport LICENSE from 'queries/License.graphql';\r\nimport { ComponentType } from 'react';\r\n\r\ntype Route = {\r\n path?: string | string[];\r\n element?: React.ReactNode;\r\n componentLoader?: () => Promise<{ default: ComponentType<{ params: unknown }> }>;\r\n loader?: (args: { request: Request; params: Record }) => Promise | Response | null>;\r\n isExist?: (args: { request: Request; params: Record }) => Promise;\r\n shouldRevalidate?: (args: { defaultShouldRevalidate: boolean; currentUrl: URL; nextUrl: URL }) => boolean;\r\n children?: Route[];\r\n [key: string]: unknown;\r\n};\r\n\r\nconst LoadableComponent = () => {\r\n const matches = useMatches() as UIMatch[];\r\n const location = useLocation();\r\n const revalidator = useRevalidator();\r\n const { Component, ...data } = useLoaderData() as { Component: ComponentType<{ params: unknown }> };\r\n const params = useParams();\r\n const { data: licenseData } = useQuery(LICENSE);\r\n\r\n if (licenseData?.mode?.isLicenseLocked) {\r\n const isAllowedWithoutLicense = matches.some(({ handle }) => handle?.isAllowedWithoutLicense);\r\n if (!isAllowedWithoutLicense) {\r\n redirect('/cp/license/');\r\n return null;\r\n }\r\n }\r\n\r\n if (location.state?.reload) {\r\n delete location.state.reload;\r\n revalidator.revalidate();\r\n }\r\n\r\n return ;\r\n};\r\n\r\nconst componentLoaderTransformer = (route: Route): Route => {\r\n if (!route.componentLoader) {\r\n return route;\r\n }\r\n\r\n const { element, componentLoader, loader, ...other } = route;\r\n\r\n if (element) {\r\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\r\n // @ts-expect-error\r\n throw new Error('Unable to use options \"componentLoader\" and \"element\" at the same time', { cause: { route } });\r\n }\r\n\r\n return {\r\n ...other,\r\n element: ,\r\n loader: async ({ request, params }) => {\r\n const [Component, data] = await Promise.all([\r\n componentLoader().then(module => module.default || module),\r\n loader ? loader({ request, params }) : Promise.resolve(),\r\n ]);\r\n\r\n if (data instanceof Response) {\r\n return data;\r\n }\r\n\r\n return { ...data, Component };\r\n },\r\n };\r\n};\r\n\r\nconst isExistTransformer = (route: Route): Route => {\r\n if (!route.isExist) {\r\n return route;\r\n }\r\n\r\n const { isExist, loader, ...other } = route;\r\n\r\n return {\r\n ...other,\r\n loader: async ({ request, params }) => {\r\n if (!(await isExist({ request, params }))) {\r\n throw new Response('Not Found', { status: 404 });\r\n }\r\n if (loader) {\r\n return loader({ request, params });\r\n }\r\n return null;\r\n },\r\n };\r\n};\r\n\r\nconst shouldRevalidateTransformer = (route: Route): Route => {\r\n if (!route.loader) {\r\n return route;\r\n }\r\n\r\n const { shouldRevalidate, ...other } = route;\r\n\r\n return {\r\n ...other,\r\n shouldRevalidate: ({ defaultShouldRevalidate, ...args }) => {\r\n // Skip revalidation due to open/modify/close modals\r\n defaultShouldRevalidate &&= [...args.currentUrl.searchParams.keys(), ...args.nextUrl.searchParams.keys()]\r\n .every(param => !param.match(/^(modals\\[.+]|module)$/));\r\n\r\n if (shouldRevalidate) {\r\n defaultShouldRevalidate = shouldRevalidate({ ...args, defaultShouldRevalidate });\r\n }\r\n\r\n return defaultShouldRevalidate;\r\n },\r\n };\r\n};\r\n\r\nconst childrenTransformer = (route: Route): Route => {\r\n if (!Array.isArray(route.children)) {\r\n return route;\r\n }\r\n\r\n const { children, ...other } = route;\r\n\r\n return {\r\n ...other,\r\n children: routesTransformer(children),\r\n };\r\n};\r\n\r\nconst pathTransformer = (route: Route): Route | Route[] => {\r\n if (!Array.isArray(route.path)) {\r\n return route;\r\n }\r\n\r\n const { path, ...other } = route;\r\n\r\n return path.map(path => ({\r\n ...other,\r\n path,\r\n }));\r\n};\r\n\r\nconst routeTransformer = (route: Route) => {\r\n const transformedRoute = [\r\n componentLoaderTransformer,\r\n isExistTransformer,\r\n shouldRevalidateTransformer,\r\n childrenTransformer,\r\n ].reduce((route, transformer) => transformer(route), route);\r\n\r\n return pathTransformer(transformedRoute);\r\n};\r\n\r\nconst routesTransformer = (routes: Route[]): Route[] => routes.map(routeTransformer).flat();\r\n\r\nexport {\r\n componentLoaderTransformer,\r\n isExistTransformer,\r\n shouldRevalidateTransformer,\r\n childrenTransformer,\r\n pathTransformer,\r\n routeTransformer,\r\n};\r\nexport default routesTransformer;\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"License\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLicenseLocked\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":64}};\n doc.loc.source = {\"body\":\"query License {\\r\\n mode {\\r\\n isLicenseLocked\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"License\"] = oneQuery(doc, \"License\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useLayoutEffect } from 'react';\r\nimport { Outlet, useNavigation, ScrollRestoration } from 'react-router-dom';\r\nimport { useQuery } from '@apollo/client';\r\nimport { Toaster } from '@plesk/ui-library';\r\nimport TopBarProgress from 'react-topbar-progress-indicator';\r\nimport Cookie from 'common/cookie';\r\nimport { Task, Tooltip } from 'jsw';\r\nimport pageData from 'helpers/pageData';\r\nimport { useToasts, removeToast } from 'helpers/toasts';\r\nimport { getId } from 'helpers/getId';\r\nimport { ModuleProvider, DynamicModule } from 'components/DynamicModule';\r\nimport { useServerRouteReload } from './useServerRouteReload';\r\n\r\nTopBarProgress.config({\r\n barThickness: 2,\r\n barColors: {\r\n 0: '#28aade',\r\n 1.0: '#28aade',\r\n },\r\n shadowBlur: 0,\r\n className: 'top-bar-progress',\r\n});\r\n\r\nimport TASK_PROGRESS_BAR_QUERY from 'queries/TaskProgressBar.graphql';\r\n\r\nconst AppLayout = () => {\r\n const navigation = useNavigation();\r\n const { data: { viewer, config } } = useQuery(TASK_PROGRESS_BAR_QUERY);\r\n const toasts = useToasts();\r\n\r\n useServerRouteReload();\r\n\r\n useLayoutEffect(() => {\r\n if (viewer.type === 'UNDEFINED') {\r\n return;\r\n }\r\n new Task.ProgressBar({\r\n wsEnabled: config.webSocket.enabled,\r\n viewerId: getId(viewer.client.id),\r\n });\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n useLayoutEffect(() => {\r\n switch (navigation.state) {\r\n case 'loading': {\r\n const { status, ...data } = pageData();\r\n pageData({\r\n ...data,\r\n status: status?.filter(message => message.isNote),\r\n });\r\n break;\r\n }\r\n\r\n case 'idle': {\r\n Tooltip.hide();\r\n\r\n const bottomAnchor = document.getElementById('bottomAnchor');\r\n if (bottomAnchor) {\r\n bottomAnchor.innerHTML = Date.now();\r\n }\r\n break;\r\n }\r\n }\r\n }, [navigation.state]);\r\n\r\n return (\r\n \r\n {navigation.state !== 'idle' ? (\r\n \r\n ) : null}\r\n \r\n removeToast({ key })} data-type=\"toaster\" />\r\n {'true' === Cookie.get('debug-testing-mode') ? (\r\n <>\r\n \r\n
              \r\n \r\n ) : null}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AppLayout;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport const getId = (id?: string | null): number | null => {\r\n if (!id) {\r\n return null;\r\n }\r\n\r\n return Number(atob(id).split(':')[1]);\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport {\r\n lazy,\r\n createContext,\r\n useContext,\r\n useMemo,\r\n useCallback,\r\n useState,\r\n Suspense,\r\n} from 'react';\r\nimport TopBarProgress from 'react-topbar-progress-indicator';\r\nimport PropTypes from 'prop-types';\r\nimport { useLocation, useNavigate } from 'react-router-dom';\r\n\r\nconst ModulesContext = createContext({});\r\n\r\nconst MODULE_SEARCH_KEY = 'module';\r\n\r\nconst loadScope = (url, scope) => {\r\n if (window[scope]) {\r\n return window[scope];\r\n }\r\n const element = document.createElement('script');\r\n const promise = new Promise((resolve, reject) => {\r\n element.src = url;\r\n element.type = 'text/javascript';\r\n element.async = true;\r\n element.onload = () => resolve(window[scope]);\r\n element.onerror = reject;\r\n });\r\n document.head.appendChild(element);\r\n promise.finally(() => document.head.removeChild(element));\r\n return promise;\r\n};\r\n\r\nconst loadModule = async (url, scope, module) => {\r\n try {\r\n const container = await loadScope(url, scope);\r\n await __webpack_init_sharing__('default');\r\n // eslint-disable-next-line camelcase\r\n await container.init(__webpack_share_scopes__.default);\r\n const factory = await container.get(module);\r\n return factory();\r\n } catch (error) {\r\n // eslint-disable-next-line no-console\r\n console.error('Error loading module:', error);\r\n return { default: () => null };\r\n }\r\n};\r\n\r\nconst useDynamicModule = () => useContext(ModulesContext);\r\n\r\nconst ModuleProvider = ({ children }) => {\r\n const [loaded, setLoaded] = useState({});\r\n const navigate = useNavigate();\r\n\r\n const openModule = useCallback((moduleString, props) => {\r\n const { scope, entry, url } = /module:(?.+):(?.+)@(?.+)/.exec(moduleString)?.groups ?? {};\r\n\r\n if (!(scope && url && entry)) {\r\n return;\r\n }\r\n const key = `${scope}:${entry}`;\r\n if (!loaded[key]) {\r\n setLoaded(prev => ({\r\n ...prev,\r\n [key]: lazy(() => loadModule(url, scope, `./${entry}`)),\r\n }));\r\n }\r\n navigate(`?${new URLSearchParams({ [MODULE_SEARCH_KEY]: key, props: encode(props) })}`, {\r\n preventScrollReset: true,\r\n });\r\n }, [navigate, loaded]);\r\n\r\n const closeModule = useCallback(() => {\r\n const params = new URLSearchParams(location.search);\r\n params.delete(MODULE_SEARCH_KEY);\r\n params.delete('props');\r\n navigate(`?${params}`, { preventScrollReset: true });\r\n }, [navigate]);\r\n\r\n const modules = useMemo(() => Object.entries(loaded).map(([key, module]) => ({\r\n key,\r\n Component: module,\r\n }))\r\n , [loaded]);\r\n\r\n const values = useMemo(() => ({\r\n modules,\r\n openModule,\r\n closeModule,\r\n }), [closeModule, modules, openModule]);\r\n\r\n return ({children});\r\n};\r\n\r\nModuleProvider.propTypes = {\r\n children: PropTypes.node.isRequired,\r\n};\r\n\r\nconst encode = object => btoa(JSON.stringify(object));\r\nconst decode = string => JSON.parse(atob(string));\r\n\r\nconst DynamicModule = () => {\r\n const { modules, closeModule } = useDynamicModule();\r\n const location = useLocation();\r\n\r\n const visible = useMemo(() => {\r\n const params = new URLSearchParams(location.search);\r\n if (params.has(MODULE_SEARCH_KEY)) {\r\n const key = params.get(MODULE_SEARCH_KEY);\r\n try {\r\n return {\r\n [key]: decode(params.get('props')),\r\n };\r\n } catch {\r\n return false;\r\n }\r\n }\r\n return false;\r\n }, [location]);\r\n\r\n return (\r\n }>\r\n {modules.map(({ Component, key }) => (\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport { ModuleProvider, DynamicModule, useDynamicModule };\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useEffect, useRef } from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { isClientSideRedirectAllowed } from 'routes';\r\n\r\nexport const useServerRouteReload = () => {\r\n const location = useLocation();\r\n const initialized = useRef(false);\r\n\r\n useEffect(() => {\r\n if (initialized.current && !isClientSideRedirectAllowed(location.pathname)) {\r\n window.location.reload();\r\n }\r\n initialized.current = true;\r\n }, [location.pathname]);\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TaskProgressBar\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webSocket\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":197}};\n doc.loc.source = {\"body\":\"query TaskProgressBar {\\r\\n viewer {\\r\\n login\\r\\n type\\r\\n client {\\r\\n id\\r\\n }\\r\\n }\\r\\n config {\\r\\n webSocket {\\r\\n enabled\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TaskProgressBar\"] = oneQuery(doc, \"TaskProgressBar\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Outlet, useLoaderData, useMatches, useParams, useLocation } from 'react-router-dom';\r\nimport PageLayout from './PageLayout';\r\n\r\nconst CpPagesLayout = () => {\r\n const { showFrames, pageHeader, pageSidebar } = useLoaderData();\r\n const matches = useMatches().filter(({ handle }) => !!handle);\r\n const params = useParams();\r\n const location = useLocation();\r\n\r\n const matchesContext = {};\r\n const breadcrumbs = matches.reduce((crumbs, match) => {\r\n if (!match.handle.crumb) {\r\n return crumbs;\r\n }\r\n\r\n const matchCrumb = match.handle.crumb({\r\n data: match.data,\r\n matchesContext,\r\n params,\r\n location,\r\n });\r\n\r\n if (!matchCrumb) {\r\n return crumbs;\r\n }\r\n\r\n if (Array.isArray(matchCrumb)) {\r\n return [...crumbs, ...matchCrumb];\r\n }\r\n\r\n return [...crumbs, { href: match.pathname, ...matchCrumb }];\r\n }, []);\r\n\r\n const reversedMatches = matches.slice().reverse();\r\n const returnUrl = reversedMatches.find(({ handle }) => handle.returnUrl)?.handle.returnUrl({ params });\r\n const helpContext = reversedMatches.find(({ handle }) => handle.helpContext)?.handle.helpContext;\r\n const secondary = reversedMatches.find(({ handle }) => handle.secondary)?.handle.secondary({ location, params });\r\n const titleRightAddon = reversedMatches.find(({ handle }) => handle.titleRightAddon)?.handle.titleRightAddon;\r\n const pageContentHeader = reversedMatches.find(({ handle }) => handle.pageContentHeader)?.handle.pageContentHeader;\r\n\r\n const lastBreadcrumbTitle = breadcrumbs[breadcrumbs.length - 1]?.title;\r\n // Check only matches that affects breadcrumbs or page title and ignore other e.g. Drawer or Dialog page\r\n const layoutMatches = matches.filter(({ handle }) => handle.crumb || typeof handle.pageTitle === 'function');\r\n const lastLayoutMatch = layoutMatches.at(-1);\r\n const pageTitle = lastLayoutMatch?.handle.pageTitle\r\n ? lastLayoutMatch.handle.pageTitle({\r\n data: lastLayoutMatch.data,\r\n matchesContext,\r\n params,\r\n location,\r\n }) || lastBreadcrumbTitle\r\n : lastBreadcrumbTitle;\r\n\r\n const lastMatch = matches.at(-1);\r\n const key = typeof lastMatch?.handle?.key === 'function' ? lastMatch.handle.key({ params }) : undefined;\r\n const noLayout = lastMatch?.handle?.noLayout ?? false;\r\n\r\n const data = {\r\n showFrames,\r\n pageHeader: {\r\n ...pageHeader,\r\n returnUrl: pageHeader.returnUrl || returnUrl,\r\n helpMenu: {\r\n ...pageHeader.helpMenu,\r\n helpContext,\r\n },\r\n },\r\n pageSidebar,\r\n pageContentHeader: {\r\n ...pageContentHeader,\r\n pageTitle,\r\n breadcrumbs,\r\n titleRightAddon,\r\n },\r\n secondary,\r\n };\r\n\r\n if (noLayout) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CpPagesLayout;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useState, useEffect, useLayoutEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useQuery } from '@apollo/client';\r\nimport Measure from 'react-measure';\r\nimport classNames from 'classnames';\r\nimport { Layout, Columns, Column } from '@plesk/ui-library';\r\nimport { useLocalStorage, useMediaQuery } from 'common/hooks';\r\nimport stripTags from 'helpers/stripTags';\r\nimport CookiePolicy from '../CookiePolicy';\r\nimport JswComponent from '../../jsw/JswComponent';\r\nimport StatusMessages from '../StatusMessages';\r\nimport LicenseStatus from './LicenseStatus';\r\nimport PageHeader from './PageHeader';\r\nimport PageSidebar from './PageSidebar';\r\nimport PageFooter from './PageFooter';\r\nimport PageContentHeader from './PageContentHeader';\r\nimport getTitleForHelpSearchQuery from './getTitleForHelpSearchQuery';\r\n\r\nimport BRANDING_QUERY from 'queries/Branding.graphql';\r\n\r\nconst PageLayout = ({\r\n baseUrl = undefined,\r\n showFrames = true,\r\n returnUrl = undefined,\r\n pageHeader = undefined,\r\n pageSidebar = undefined,\r\n pageContentHeader = undefined,\r\n pageTitle = undefined,\r\n withSecondary = false,\r\n secondary = undefined,\r\n width = undefined,\r\n bodyClass = undefined,\r\n integrationClass = undefined,\r\n children = undefined,\r\n isSecondaryCollapsed = false,\r\n}) => {\r\n const { data: { viewer: { customTitle } } } = useQuery(BRANDING_QUERY);\r\n const [isClosedOnDesktop, setClosedOnDesktop] = useLocalStorage('isSidebarClosed');\r\n const [isClosedInResponsive, setClosedInResponsive] = useState(true);\r\n const sidebarCollapsed = [isClosedInResponsive && 'responsive', (isClosedOnDesktop === 'true') && 'desktop'].filter(Boolean);\r\n const isResponsive = useMediaQuery('(max-width: 1022px)');\r\n const isClosed = sidebarCollapsed.includes(isResponsive ? 'responsive' : 'desktop');\r\n\r\n pageTitle ??= pageContentHeader?.breadcrumbs?.[pageContentHeader.breadcrumbs.length - 1]?.title;\r\n\r\n useLayoutEffect(() => {\r\n const documentTitleEl = document.querySelector('title');\r\n if (!documentTitleEl) {\r\n return;\r\n }\r\n documentTitleEl.innerHTML = [pageTitle && stripTags(pageTitle), customTitle]\r\n .filter(Boolean).join(' - ');\r\n }, [pageTitle, customTitle]);\r\n\r\n useLayoutEffect(() => {\r\n const classes = classNames(bodyClass, integrationClass).split(' ').filter(Boolean);\r\n classes.forEach(className => document.body.classList.add(className));\r\n return () => {\r\n classes.forEach(className => document.body.classList.remove(className));\r\n };\r\n }, [bodyClass, integrationClass]);\r\n\r\n if (baseUrl) {\r\n global.Jsw.baseUrl = baseUrl;\r\n }\r\n\r\n const handleToggleSidebar = (collapsed, mode) => {\r\n switch (mode) {\r\n case 'responsive':\r\n setClosedInResponsive(collapsed);\r\n break;\r\n case 'desktop':\r\n setClosedOnDesktop(collapsed ? 'true' : 'false');\r\n break;\r\n }\r\n };\r\n\r\n const [headerHeight, setHeaderHeight] = useState(0);\r\n const [headerAddonHeight, setHeaderAddonHeight] = useState(0);\r\n const [stickyTop, setStickyTop] = useState(0);\r\n\r\n useEffect(() => {\r\n const top = headerHeight + headerAddonHeight\r\n + parseInt(getComputedStyle(document.querySelector('.pul-layout__main-inner')).paddingTop)\r\n + (document.getElementById('classic-mode-navigation')?.getBoundingClientRect().height || 0);\r\n setStickyTop(top);\r\n }, [headerHeight, headerAddonHeight]);\r\n\r\n if (pageHeader?.helpMenu && pageContentHeader) {\r\n pageHeader.helpMenu = {\r\n ...pageHeader.helpMenu,\r\n searchQuery: getTitleForHelpSearchQuery(pageContentHeader),\r\n };\r\n }\r\n\r\n return (\r\n setHeaderHeight(bounds.height)}>\r\n {({ measureRef }) => (\r\n
              \r\n \r\n
              \r\n )}\r\n \r\n ) : undefined}\r\n headerAddon={showFrames && pageHeader ? (\r\n setHeaderAddonHeight(bounds.height)}>\r\n {({ measureRef }) => (\r\n
              \r\n \r\n {pageHeader.licenseStatus ? : null}\r\n
              \r\n )}\r\n
              \r\n ) : undefined}\r\n onSidebarToggle={handleToggleSidebar}\r\n sidebar={showFrames && pageSidebar ? (\r\n setClosedInResponsive(true) : undefined}\r\n {...pageSidebar}\r\n />\r\n ) : undefined}\r\n sidebarCollapsed={sidebarCollapsed}\r\n sidebarType={showFrames && pageSidebar ? 'folded' : undefined}\r\n footer={showFrames ? (\r\n \r\n ) : undefined}\r\n contentHeader={pageContentHeader ? (\r\n \r\n ) : null}\r\n >\r\n
              \r\n \r\n \r\n
              \r\n \r\n {children}\r\n
              \r\n
              \r\n {withSecondary || secondary ? (\r\n \r\n
              \r\n {typeof secondary === 'string' ? (\r\n {secondary}\r\n ) : secondary}\r\n
              \r\n \r\n ) : null}\r\n
              \r\n
              \r\n \r\n );\r\n};\r\n\r\nPageLayout.propTypes = {\r\n baseUrl: PropTypes.string,\r\n showFrames: PropTypes.bool,\r\n returnUrl: PropTypes.string,\r\n pageHeader: PropTypes.shape(PageHeader.propTypes),\r\n pageSidebar: PropTypes.object,\r\n pageContentHeader: PropTypes.shape(PageContentHeader.propTypes),\r\n withSecondary: PropTypes.bool,\r\n secondary: PropTypes.any,\r\n isSecondaryCollapsed: PropTypes.bool,\r\n width: PropTypes.number,\r\n bodyClass: PropTypes.string,\r\n integrationClass: PropTypes.string,\r\n pageTitle: PropTypes.string,\r\n children: PropTypes.any,\r\n};\r\n\r\nexport default PageLayout;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useEffect } from 'react';\r\n\r\nconst useClickOutside = (refs, handler) => {\r\n useEffect(\r\n () => {\r\n const listener = event => {\r\n if (refs.some(({ current }) => !current || current.contains(event.target))) {\r\n return;\r\n }\r\n\r\n handler(event);\r\n };\r\n\r\n document.addEventListener('mousedown', listener);\r\n document.addEventListener('touchstart', listener);\r\n\r\n return () => {\r\n document.removeEventListener('mousedown', listener);\r\n document.removeEventListener('touchstart', listener);\r\n };\r\n },\r\n [refs, handler],\r\n );\r\n};\r\n\r\nexport default useClickOutside;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useRef, useEffect } from 'react';\r\n\r\nconst useEventListener = (event, handler, element, addFn = 'addEventListener', removeFn = 'removeEventListener') => {\r\n const handlerRef = useRef();\r\n\r\n useEffect(() => {\r\n handlerRef.current = handler;\r\n }, [handler]);\r\n\r\n useEffect(\r\n () => {\r\n if (!element || !element[addFn]) {\r\n return;\r\n }\r\n\r\n const listener = event => handlerRef.current(event);\r\n\r\n element[addFn](event, listener);\r\n\r\n return () => {\r\n element[removeFn](event, listener);\r\n };\r\n },\r\n [event, element, addFn, removeFn],\r\n );\r\n};\r\n\r\nexport default useEventListener;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useCallback, useState } from 'react';\r\nimport { readLocalStorageValue } from 'common/helpers/readLocalStorageValue';\r\n\r\ntype SetAction = (value: V) => void;\r\n\r\ninterface UseLocalStorage {\r\n (key: string, initialValue: V): [V, SetAction];\r\n (key: string): [V | undefined, SetAction];\r\n}\r\n\r\nexport const useLocalStorage: UseLocalStorage = function (\r\n key: string,\r\n initialValue?: V | undefined,\r\n) {\r\n const [storedValue, setStoredValue] = useState(\r\n () => readLocalStorageValue(key, initialValue),\r\n );\r\n\r\n const setValue = useCallback((value: V) => {\r\n setStoredValue(value);\r\n\r\n window.localStorage.setItem(key, JSON.stringify(value));\r\n }, [key]);\r\n\r\n return [storedValue, setValue];\r\n};\r\n\r\nexport default useLocalStorage;\r\n\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\ninterface ReadLocalStorageValue {\r\n (key: string, defaultValue: V): V;\r\n (key: string): V | undefined;\r\n}\r\n\r\nexport const readLocalStorageValue: ReadLocalStorageValue = (\r\n key: string,\r\n defaultValue?: Value,\r\n): Value | undefined => {\r\n try {\r\n const item = window.localStorage.getItem(key);\r\n return item ? JSON.parse(item) : defaultValue;\r\n } catch {\r\n return defaultValue;\r\n }\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useLayoutEffect, useState } from 'react';\r\n\r\nconst useMediaQuery = query => {\r\n const [value, setValue] = useState(false);\r\n\r\n useLayoutEffect(() => {\r\n const mq = window.matchMedia(query);\r\n\r\n const updateMatch = () => {\r\n setValue(mq.matches);\r\n };\r\n updateMatch();\r\n\r\n mq.addListener(updateMatch);\r\n return () => {\r\n mq.removeListener(updateMatch);\r\n };\r\n }, [query]);\r\n\r\n return value;\r\n};\r\n\r\nexport default useMediaQuery;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useState, useEffect } from 'react';\r\n\r\nconst useDebounce = (value, delay) => {\r\n const [debouncedValue, setDebouncedValue] = useState(value);\r\n\r\n useEffect(() => {\r\n const handler = setTimeout(() => {\r\n setDebouncedValue(value);\r\n }, delay);\r\n\r\n return () => {\r\n clearTimeout(handler);\r\n };\r\n }, [value, delay]);\r\n\r\n return debouncedValue;\r\n};\r\n\r\nexport default useDebounce;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useQuery } from '@apollo/client';\r\nimport { useModal } from 'hooks';\r\nimport Info from './Info';\r\nimport Preferences, { OverlayAdapter } from './Preferences';\r\nimport { loadPreferences, savePreferences, hasPreferences } from 'common/gdpr-storage';\r\nimport Cookie from 'common/cookie';\r\n\r\nimport COOKIE_POLICY_QUERY from 'queries/CookiePolicy.graphql';\r\n\r\nconst CookiePolicy = ({ layoutType = undefined }) => {\r\n const [isInfoVisible, setInfoVisible] = useState(() => !hasPreferences());\r\n const [isPreferencesVisible, setPreferencesVisible] = useModal('cookie-policy-preferences');\r\n const [preferences, setPreferences] = useState(loadPreferences);\r\n\r\n const { data: { config } = {} } = useQuery(COOKIE_POLICY_QUERY);\r\n\r\n const handleSave = nextPreferences => {\r\n setInfoVisible(false);\r\n setPreferences(nextPreferences);\r\n savePreferences(nextPreferences);\r\n config.gdpr.cookies.forEach(({ name, type }) => {\r\n if (nextPreferences[type] === false) {\r\n Cookie.remove(name, '/');\r\n }\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n {config?.gdpr?.cookieBox?.enabled && isInfoVisible && (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nCookiePolicy.propTypes = {\r\n layoutType: PropTypes.oneOf(['simplified']),\r\n};\r\n\r\nexport default CookiePolicy;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useRef } from 'react';\r\n\r\nconst useCollector = () => {\r\n const collectorRef = useRef({\r\n setCallback(callback) {\r\n this.callback = callback;\r\n },\r\n collect() {\r\n return this.callback();\r\n },\r\n });\r\n return collectorRef.current;\r\n};\r\n\r\nexport default useCollector;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useEffect, useState } from 'react';\r\n\r\nclass Confirmation {\r\n isResolved = false;\r\n\r\n constructor(resolve, { onProceed } = {}) {\r\n this.resolve = resolve;\r\n this.onProceed = onProceed;\r\n }\r\n\r\n proceed(isConfirmed) {\r\n this.isResolved = true;\r\n this.resolve(isConfirmed);\r\n this.onProceed?.();\r\n }\r\n}\r\n\r\nconst useConfirmation = () => {\r\n const [confirmation, setConfirmation] = useState(null);\r\n\r\n useEffect(() => () => {\r\n if (confirmation && !confirmation.isResolved) {\r\n confirmation.proceed(false);\r\n }\r\n }, [confirmation]);\r\n\r\n const triggerConfirmation = () => new Promise(resolve => {\r\n const confirmation = new Confirmation(resolve, {\r\n onProceed: () => setConfirmation(null),\r\n });\r\n setConfirmation(confirmation);\r\n });\r\n\r\n return [\r\n confirmation,\r\n triggerConfirmation,\r\n ];\r\n};\r\n\r\nexport default useConfirmation;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useEffect, useState } from 'react';\r\nimport { useApolloClient, useMutation } from '@apollo/client';\r\nimport { useNavigate, useMatch } from 'react-router-dom';\r\nimport { ContentLoader } from '@plesk/ui-library';\r\nimport { api, redirect, Tooltip } from 'jsw';\r\nimport DrawerWithProgress from 'components/common/DrawerWithProgress';\r\n\r\nimport CREATE_FORM_IN_DRAWER_QUERY from 'queries/CreateFormInDrawer.graphql';\r\nimport UPDATE_USER_SETTINGS from 'queries/UpdateUserSettings.graphql';\r\n\r\nconst useCreateFormInDrawer = (Form, dataType, pageUrl, drawerUrl) => {\r\n const apolloClient = useApolloClient();\r\n const isOpen = !!useMatch(drawerUrl);\r\n const navigate = useNavigate();\r\n const [data, setData] = useState(null);\r\n const [task, setTask] = useState(null);\r\n const [updateUserSettings] = useMutation(UPDATE_USER_SETTINGS);\r\n\r\n useEffect(() => {\r\n if (isOpen) {\r\n setData(null);\r\n setTask(null);\r\n Tooltip.hide();\r\n Promise.all([\r\n api.get(drawerUrl),\r\n apolloClient.query({\r\n query: CREATE_FORM_IN_DRAWER_QUERY,\r\n }),\r\n ])\r\n .then(([data, { data: { config, mode } }]) => {\r\n if (data.redirect) {\r\n redirect(data.redirect);\r\n return;\r\n }\r\n setData({\r\n ...data,\r\n techDomain: {\r\n url: `${config.techDomain.url}/api/subdomain`,\r\n vendor: config.techDomain.vendor,\r\n maxDomainLength: config.techDomain.maxDomainLength,\r\n },\r\n settingsEnabled: config.domainManagement.settings.enabled,\r\n applicationWizardConfig: config.domainManagement.applicationWizard,\r\n isMailServiceSupported: mode.isMailServiceSupported,\r\n });\r\n });\r\n }\r\n }, [isOpen, drawerUrl, apolloClient]);\r\n\r\n const handleClose = () => {\r\n navigate(pageUrl);\r\n };\r\n\r\n const handleToggle = collapsed => {\r\n if (data) {\r\n data.settingsCollapsed = collapsed;\r\n }\r\n\r\n updateUserSettings({\r\n variables: {\r\n collapsed,\r\n },\r\n });\r\n };\r\n\r\n const drawer = (\r\n \r\n ) : null}\r\n task={task}\r\n pageUrl={pageUrl}\r\n >\r\n {data ? null : }\r\n \r\n );\r\n\r\n return [drawer];\r\n};\r\n\r\nexport default useCreateFormInDrawer;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useEffect, useState } from 'react';\r\nimport { Drawer, ConsoleOutput, Button } from '@plesk/ui-library';\r\nimport { Observer, getComponent, Task, escapeHtml, Locale } from 'jsw';\r\nimport PropTypes from 'prop-types';\r\nimport useEventListener from 'common/hooks/useEventListener';\r\nimport useNavigate from 'hooks/useNavigate';\r\nimport { addToast } from 'helpers/toasts';\r\n\r\nconst STATUS_RUNNING = 'running';\r\nconst getTaskProgressBar = () => getComponent('asyncProgressBarWrapper');\r\nconst ButtonsTranslate = Locale.getTranslate('components.buttons');\r\n\r\n// Workaround for lists that do not support reload\r\nconst sameUrls = (redirectUrl, pageUrl) => {\r\n if (redirectUrl === pageUrl) {\r\n return true;\r\n }\r\n\r\n try {\r\n const params = new URLSearchParams(new URL(redirectUrl, window.location.origin).search);\r\n return params.get('returnUrl') === pageUrl || params.get('pageUrl') === pageUrl;\r\n } catch {}\r\n\r\n return true;\r\n};\r\n\r\n// Workaround for three different sets of task statuses\r\nconst getStatus = status => {\r\n switch (status) {\r\n case 'STATUS_NOT_STARTED': return Task.STATUS_NOT_STARTED;\r\n case 'STATUS_STARTED':\r\n case 'STATUS_RUNNING':\r\n case Task.STATUS_STARTED: return STATUS_RUNNING;\r\n case 'STATUS_DONE': return Task.STATUS_DONE;\r\n case 'STATUS_CANCELED': return Task.STATUS_CANCELED;\r\n case 'STATUS_ERROR': return Task.STATUS_ERROR;\r\n default: return status;\r\n }\r\n};\r\n\r\nconst DrawerWithProgress = ({\r\n children = null,\r\n dataType,\r\n isOpen = false,\r\n onClose,\r\n task = null,\r\n pageUrl = null,\r\n onTaskComplete = undefined,\r\n onError = undefined,\r\n autoCloseTimeout = undefined,\r\n ...props\r\n}) => {\r\n const navigate = useNavigate();\r\n const [steps, setSteps] = useState([]);\r\n const [title, setTitle] = useState(null);\r\n const [redirectUrl, setRedirectUrl] = useState(null);\r\n const [status, setStatus] = useState(null);\r\n const [errors, setErrors] = useState(null);\r\n const taskId = task ? task.id : null;\r\n\r\n const handleTaskUpdate = ({ id, steps, status: taskStatus, errors, output, progressValue, progressTitle, progressTitleHtml }) => {\r\n if (!isOpen || taskId !== id) {\r\n return;\r\n }\r\n\r\n const title = progressTitleHtml || escapeHtml(progressTitle);\r\n const status = getStatus(taskStatus);\r\n\r\n const content = (errors = [], output = []) => {\r\n const onErrorExecute = typeof onError === 'function' && errors.length > 0;\r\n return (\r\n <>\r\n {onErrorExecute && onError()}\r\n {errors.map(error => (
              {error}
              ))}\r\n {output.length > 0 && ({output})}\r\n \r\n );\r\n };\r\n\r\n setStatus(status);\r\n setErrors(errors);\r\n if (steps && steps.length) {\r\n setTitle(title);\r\n setSteps(steps.map(({ errors, status, output, ...props }) => ({\r\n children: content(errors, output),\r\n status: getStatus(status),\r\n ...props,\r\n })));\r\n } else {\r\n setSteps([{\r\n title,\r\n status,\r\n progress: Number(progressValue),\r\n children: content(errors, output),\r\n }]);\r\n }\r\n };\r\n\r\n const handleTaskComplete = ({ id, redirect: redirectUrl, status }) => {\r\n if (!isOpen || taskId !== id) {\r\n return;\r\n }\r\n\r\n if (typeof onTaskComplete === 'function') {\r\n onTaskComplete({ status });\r\n }\r\n if (Task.STATUS_DONE === status) {\r\n setRedirectUrl(redirectUrl?.url || redirectUrl);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n const taskProgressBar = getTaskProgressBar();\r\n const onOpen = () => {\r\n taskProgressBar?.hide();\r\n setSteps([]);\r\n setTitle(null);\r\n setRedirectUrl(null);\r\n setStatus(null);\r\n setErrors(null);\r\n };\r\n\r\n const onClose = async () => {\r\n if (!isInProgress()) {\r\n await deleteTask();\r\n }\r\n taskProgressBar?.show();\r\n };\r\n\r\n isOpen ? onOpen() : onClose();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [isOpen]);\r\n\r\n useEffect(() => {\r\n if (taskId) {\r\n getTaskProgressBar()?.update();\r\n handleTaskUpdate(task);\r\n }\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [taskId, task]);\r\n\r\n useEventListener('plesk:taskStepUpdate', handleTaskUpdate, Observer);\r\n useEventListener('plesk:taskComplete', handleTaskComplete, Observer);\r\n\r\n const isInProgress = () => Task.STATUS_NOT_STARTED === status || STATUS_RUNNING === status;\r\n\r\n const handleClose = () => {\r\n if (!redirectUrl) {\r\n onClose();\r\n return;\r\n }\r\n\r\n if (sameUrls(redirectUrl, pageUrl)) {\r\n navigate(redirectUrl, { replace: true });\r\n onClose();\r\n return;\r\n }\r\n\r\n navigate(redirectUrl);\r\n };\r\n\r\n const deleteTask = () => taskId && getTaskProgressBar()?.getItems().find(item => item.getId() === taskId)\r\n ?.remove();\r\n\r\n const onFinish = () => {\r\n deleteTask();\r\n\r\n const intent = errors && errors.includes('finishedWithWarnings') ? 'warning' : 'success';\r\n\r\n addToast({\r\n intent,\r\n // eslint-disable-next-line react/no-danger\r\n message: ,\r\n });\r\n };\r\n\r\n return (\r\n ,\r\n steps,\r\n onFinish,\r\n autoCloseTimeout,\r\n buttons: autoCloseTimeout === null && Task.STATUS_DONE === status ? (\r\n \r\n \r\n \r\n ) : null,\r\n } : null}\r\n hideButton={isInProgress()}\r\n {...props}\r\n >\r\n {children}\r\n \r\n );\r\n};\r\n\r\nDrawerWithProgress.propTypes = {\r\n children: PropTypes.node,\r\n dataType: PropTypes.string.isRequired,\r\n isOpen: PropTypes.bool,\r\n onClose: PropTypes.func.isRequired,\r\n task: PropTypes.shape({\r\n id: PropTypes.string.isRequired,\r\n steps: PropTypes.array,\r\n status: PropTypes.string,\r\n progressTitle: PropTypes.string,\r\n progressTitleHtml: PropTypes.string,\r\n }),\r\n pageUrl: PropTypes.string,\r\n onTaskComplete: PropTypes.func,\r\n onError: PropTypes.func,\r\n autoCloseTimeout: PropTypes.number,\r\n};\r\n\r\nexport default DrawerWithProgress;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useCallback } from 'react';\r\nimport { createPath } from 'react-router';\r\nimport { useNavigate as useNavigateBase } from 'react-router-dom';\r\n\r\nconst useNavigate = () => {\r\n const navigateBase = useNavigateBase();\r\n\r\n return useCallback((to, options = {}) => {\r\n if (!require('routes').isClientSideRedirectAllowed(to)) {\r\n window.location[options?.replace ? 'replace' : 'assign'](typeof to === 'object' && to !== null ? createPath(to) : to);\r\n } else {\r\n navigateBase(to, options);\r\n }\r\n }, [navigateBase]);\r\n};\r\n\r\nexport default useNavigate;\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"CreateFormInDrawer\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainManagement\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"applicationWizard\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"blankSite\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"uploadFiles\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailHosting\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"techDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"vendor\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxDomainLength\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMailServiceSupported\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":463}};\n doc.loc.source = {\"body\":\"query CreateFormInDrawer {\\r\\n config {\\r\\n domainManagement {\\r\\n settings {\\r\\n enabled\\r\\n }\\r\\n applicationWizard {\\r\\n enabled\\r\\n blankSite\\r\\n uploadFiles\\r\\n mailHosting\\r\\n }\\r\\n }\\r\\n techDomain {\\r\\n url\\r\\n vendor\\r\\n maxDomainLength\\r\\n }\\r\\n }\\r\\n mode {\\r\\n isMailServiceSupported\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"CreateFormInDrawer\"] = oneQuery(doc, \"CreateFormInDrawer\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"UpdateUserSettings\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"collapsed\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"updateUserSettings\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"collapsedDomainSettings\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"collapsed\"}}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"result\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":151}};\n doc.loc.source = {\"body\":\"mutation UpdateUserSettings($collapsed: Boolean!) {\\r\\n updateUserSettings(input: {collapsedDomainSettings: $collapsed}) {\\r\\n result\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"UpdateUserSettings\"] = oneQuery(doc, \"UpdateUserSettings\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useState } from 'react';\r\n\r\nconst useListOperation = () => {\r\n const [selection, setSelection] = useState([]);\r\n const [loadingRows, setLoadingRows] = useState([]);\r\n\r\n const wrapListOperation = operation => async function (keys, ...args) {\r\n setSelection(currentKeys => (\r\n currentKeys.filter(key => !keys.includes(key))\r\n ));\r\n setLoadingRows(currentKeys => [...currentKeys, ...keys]);\r\n\r\n try {\r\n return await operation.call(this, keys, ...args);\r\n } finally {\r\n setLoadingRows(currentKeys => (\r\n currentKeys.filter(key => !keys.includes(key))\r\n ));\r\n }\r\n };\r\n\r\n return {\r\n selection,\r\n setSelection,\r\n loadingRows,\r\n wrapListOperation,\r\n };\r\n};\r\n\r\nexport default useListOperation;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useCallback, useState } from 'react';\r\nimport { Pagination } from '@plesk/ui-library';\r\nimport useListOperation from './useListOperation';\r\n\r\nexport const ALL_ITEMS = 'all';\r\nexport const ITEM_PER_PAGE_OPTIONS_DEFAULT = [10, 25, 100, ALL_ITEMS];\r\nexport const ALL_ITEMS_COUNT = 100_000;\r\n\r\n/**\r\n * hook for add sort and pagination for the ui-library list component\r\n */\r\nconst useList = ({\r\n onReload,\r\n onFilter,\r\n initialFilter,\r\n pagination: {\r\n current: currentPage,\r\n totalPage: totalPages,\r\n itemsPerPage,\r\n itemsPerPageOptions,\r\n onPageChange,\r\n onChangeItemsPerPage,\r\n } = {},\r\n sort: {\r\n direction: sortDirection,\r\n column: sortColumn,\r\n onChange: onSortChange,\r\n } = {},\r\n}) => {\r\n const { selection, setSelection, loadingRows, wrapListOperation } = useListOperation();\r\n const [loading, setLoading] = useState(false);\r\n const [filter, setFilter] = useState(initialFilter);\r\n\r\n const wrapAsync = async operation => {\r\n setLoading(true);\r\n await operation();\r\n setLoading(false);\r\n };\r\n\r\n const renderPagination = useCallback(() => (\r\n wrapAsync(() => onPageChange(nextPage))}\r\n onItemsPerPageChange={itemsPerPage => wrapAsync(() => {\r\n const nextItemsPerPage = itemsPerPage === ALL_ITEMS ? ALL_ITEMS_COUNT : itemsPerPage;\r\n onChangeItemsPerPage(nextItemsPerPage);\r\n })}\r\n itemsPerPageOptions={itemsPerPageOptions ?? ITEM_PER_PAGE_OPTIONS_DEFAULT}\r\n />\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n ), [currentPage, itemsPerPage, itemsPerPageOptions, totalPages]);\r\n\r\n const sortParams = {\r\n sortColumn,\r\n sortDirection,\r\n onSortChange: (...params) => wrapAsync(() => onSortChange(...params)),\r\n };\r\n\r\n return {\r\n renderPagination,\r\n selection,\r\n setSelection,\r\n loading,\r\n loadingRows,\r\n filter,\r\n sortParams,\r\n wrapListOperation,\r\n handleReload: params => wrapAsync(() => onReload(params)),\r\n handleFilter: params => wrapAsync(async () => {\r\n await onFilter(params);\r\n setFilter(params);\r\n }),\r\n };\r\n};\r\n\r\nexport default useList;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useCallback } from 'react';\r\nimport { useNavigate, useLocation } from 'react-router-dom';\r\n\r\n/**\r\n * Helper for global modals like Notifications and Cookies\r\n */\r\nconst useModal = (id, search) => {\r\n const key = `modals[${id}]`;\r\n const navigate = useNavigate();\r\n const location = useLocation();\r\n const value = new URLSearchParams(search ?? location.search).get(key);\r\n\r\n const setValue = useCallback(next => {\r\n const params = new URLSearchParams(window.location.search);\r\n if (next) {\r\n params.set(key, next);\r\n } else if (params.has(key)) {\r\n params.delete(key);\r\n }\r\n navigate(`?${params}${window.location.hash}`);\r\n }, [key, navigate]);\r\n\r\n return [value, setValue];\r\n};\r\n\r\nexport default useModal;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport classNames from 'classnames';\r\nimport { Heading, Paragraph, Button, Link } from '@plesk/ui-library';\r\nimport PropTypes from 'prop-types';\r\nimport { Locale } from 'jsw';\r\nimport { PLESK_COOKIES } from './urls';\r\n\r\nconst Translate = Locale.getTranslate('components.cookie-policy.info');\r\n\r\nconst Info = ({ onSave, onPreferencesToggle, contentAlignment = undefined }) => {\r\n const handleAcceptClick = () => {\r\n onSave({ analytics: true, marketing: true });\r\n onPreferencesToggle(false);\r\n };\r\n\r\n const handleAcceptNecessaryCookiesClick = () => {\r\n onSave({ analytics: false, marketing: false });\r\n onPreferencesToggle(false);\r\n };\r\n\r\n const handlePreferencesClick = () => {\r\n onPreferencesToggle(true);\r\n };\r\n\r\n return (\r\n \r\n
              \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n }}\r\n />\r\n \r\n
              \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
              \r\n
              \r\n
              \r\n );\r\n};\r\n\r\nInfo.propTypes = {\r\n onSave: PropTypes.func.isRequired,\r\n onPreferencesToggle: PropTypes.func.isRequired,\r\n contentAlignment: PropTypes.oneOf(['center']),\r\n};\r\n\r\nexport default Info;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport const PLESK_COOKIES = 'https://docs.plesk.com/en-US/obsidian/cookies';\r\nexport const CONTROL_COOKIES = 'https://docs.plesk.com/en-US/obsidian/cookies/#delete-cookies';\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useMemo } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Heading, Paragraph, Link, FormFieldRadioButtons } from '@plesk/ui-library';\r\nimport { Locale } from 'jsw';\r\nimport DrawerAdapter from './DrawerAdapter';\r\nimport { PLESK_COOKIES, CONTROL_COOKIES } from '../urls';\r\n\r\nconst Translate = Locale.getTranslate('components.cookie-policy.preferences');\r\n\r\nconst toValues = preferences => Object.keys(preferences).reduce((acc, k) => {\r\n acc[k] = preferences[k] ? 'on' : 'off';\r\n return acc;\r\n}, {});\r\n\r\nconst toPreferences = values => Object.keys(values).reduce((acc, k) => {\r\n acc[k] = values[k] === 'on';\r\n return acc;\r\n}, {});\r\n\r\nconst Preferences = ({ isOpen, onSave, onToggle, preferences, adapter: Adapter = DrawerAdapter }) => {\r\n const values = useMemo(() => toValues(preferences), [preferences]);\r\n\r\n const handleSubmit = values => {\r\n onSave(toPreferences(values));\r\n onToggle(false);\r\n };\r\n\r\n const handleCancel = () => onToggle(false);\r\n\r\n return (\r\n }\r\n submitButton={{\r\n 'data-type': 'cookie-policy-preferences-submit-button',\r\n 'data-testid': 'submitButton',\r\n children: (\r\n \r\n ),\r\n }}\r\n cancelButton={{\r\n 'data-type': 'cookie-policy-preferences-cancel-button',\r\n 'data-testid': 'cancelButton',\r\n children: (\r\n \r\n ),\r\n onClick: handleCancel,\r\n }}\r\n values={values}\r\n onSubmit={handleSubmit}\r\n onCancel={handleCancel}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n },\r\n { value: 'off', label: },\r\n ]}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n },\r\n { value: 'off', label: },\r\n ]}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ),\r\n }}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nPreferences.propTypes = {\r\n isOpen: PropTypes.bool.isRequired,\r\n onSave: PropTypes.func.isRequired,\r\n onToggle: PropTypes.func.isRequired,\r\n preferences: PropTypes.object.isRequired,\r\n adapter: PropTypes.func,\r\n};\r\n\r\nexport default Preferences;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport PropTypes from 'prop-types';\r\nimport { Drawer } from '@plesk/ui-library';\r\n\r\nconst DrawerAdapter = ({\r\n isOpen,\r\n onSubmit,\r\n onCancel,\r\n submitButton,\r\n cancelButton,\r\n title,\r\n children,\r\n values,\r\n}) => (\r\n \r\n {children}\r\n \r\n);\r\n\r\nDrawerAdapter.propTypes = {\r\n isOpen: PropTypes.bool.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n submitButton: PropTypes.shape({\r\n children: PropTypes.node.isRequired,\r\n }).isRequired,\r\n cancelButton: PropTypes.shape({\r\n children: PropTypes.node.isRequired,\r\n onClick: PropTypes.func.isRequired,\r\n }).isRequired,\r\n title: PropTypes.node.isRequired,\r\n children: PropTypes.node.isRequired,\r\n values: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default DrawerAdapter;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport PropTypes from 'prop-types';\r\nimport { Form, Heading } from '@plesk/ui-library';\r\nimport Overlay from './Overlay';\r\n\r\nconst OverlayAdapter = ({\r\n isOpen,\r\n onSubmit,\r\n onCancel,\r\n submitButton,\r\n cancelButton,\r\n title,\r\n children,\r\n values,\r\n}) => (\r\n \r\n \r\n \r\n {title}\r\n \r\n {children}\r\n \r\n \r\n);\r\n\r\nOverlayAdapter.propTypes = {\r\n isOpen: PropTypes.bool.isRequired,\r\n onSubmit: PropTypes.func.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n submitButton: PropTypes.shape({\r\n children: PropTypes.node.isRequired,\r\n }).isRequired,\r\n cancelButton: PropTypes.shape({\r\n children: PropTypes.node.isRequired,\r\n onClick: PropTypes.func.isRequired,\r\n }).isRequired,\r\n title: PropTypes.node.isRequired,\r\n children: PropTypes.node.isRequired,\r\n values: PropTypes.object.isRequired,\r\n};\r\n\r\nexport default OverlayAdapter;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useEffect, useState, useRef } from 'react';\r\nimport { createPortal } from 'react-dom';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { Icon, disableDocumentScroll, enableDocumentScroll } from '@plesk/ui-library';\r\n\r\nconst hasScroll = () => document.documentElement.style.position !== 'fixed';\r\n\r\nconst disableScroll = () => {\r\n if (hasScroll()) {\r\n disableDocumentScroll();\r\n }\r\n};\r\n\r\nconst enableScroll = () => {\r\n if (!hasScroll()) {\r\n enableDocumentScroll();\r\n }\r\n};\r\n\r\nconst Overlay = ({ isOpen, children, onCancel }) => {\r\n const enterTimeoutRef = useRef(null);\r\n const exitTimeoutRef = useRef(null);\r\n const [isReady, setReady] = useState(isOpen);\r\n\r\n useEffect(() => {\r\n let listener;\r\n if (isOpen) {\r\n setReady(true);\r\n listener = e => {\r\n if (e.keyCode === 27) {\r\n onCancel();\r\n }\r\n };\r\n document.addEventListener('keydown', listener);\r\n enterTimeoutRef.current = setTimeout(() => {\r\n disableScroll();\r\n }, 500);\r\n } else {\r\n exitTimeoutRef.current = setTimeout(() => {\r\n setReady(false);\r\n enableScroll();\r\n }, 500);\r\n }\r\n return () => {\r\n clearTimeout(enterTimeoutRef.current);\r\n clearTimeout(exitTimeoutRef.current);\r\n enableScroll();\r\n document.removeEventListener('keydown', listener);\r\n };\r\n }, [isOpen, onCancel]);\r\n\r\n if (!isOpen && !isReady) {\r\n return null;\r\n }\r\n\r\n return createPortal(\r\n \r\n
              \r\n \r\n \r\n \r\n
              \r\n
              {children}
              \r\n
              \r\n
              \r\n ,\r\n document.body,\r\n );\r\n};\r\n\r\nOverlay.propTypes = {\r\n isOpen: PropTypes.bool.isRequired,\r\n children: PropTypes.node.isRequired,\r\n onCancel: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default Overlay;\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"CookiePolicy\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"gdpr\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cookieBox\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cookies\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"StringValue\",\"value\":\"analytics\",\"block\":false},{\"kind\":\"StringValue\",\"value\":\"marketing\",\"block\":false}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":254}};\n doc.loc.source = {\"body\":\"query CookiePolicy {\\r\\n config {\\r\\n gdpr {\\r\\n cookieBox {\\r\\n enabled\\r\\n }\\r\\n cookies(type: [\\\"analytics\\\", \\\"marketing\\\"]) {\\r\\n name\\r\\n type\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"CookiePolicy\"] = oneQuery(doc, \"CookiePolicy\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useRef, useLayoutEffect } from 'react';\r\n\r\nimport PropTypes from 'prop-types';\r\nimport { render } from 'jsw';\r\n\r\nconst JswComponent = ({\r\n component: Tag = 'div',\r\n renderMode = undefined,\r\n children = undefined,\r\n ...props\r\n}) => {\r\n const containerRef = useRef();\r\n\r\n useLayoutEffect(() => {\r\n render(containerRef.current, children, renderMode);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nJswComponent.propTypes = {\r\n component: PropTypes.string,\r\n renderMode: PropTypes.string,\r\n children: PropTypes.oneOfType([\r\n PropTypes.string,\r\n PropTypes.func,\r\n PropTypes.object,\r\n ]),\r\n};\r\n\r\nexport default JswComponent;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n/* eslint-disable react/jsx-max-depth */\r\n\r\nimport classNames from 'classnames';\r\nimport { api, prepareUrl, createComponent, Locale } from 'jsw';\r\nimport JswComponent from '../../jsw/JswComponent';\r\nimport pageData, { usePageData } from 'helpers/pageData';\r\nimport LicenseLimitsMessage from './LicenseLimitsMessage';\r\n\r\nconst mapping = {\r\n 'msg-license-limits': LicenseLimitsMessage,\r\n};\r\n\r\nconst StatusMessages = () => {\r\n const { status = [] } = usePageData();\r\n\r\n const handleCloseMessage = message => {\r\n if (message.hideUrl) {\r\n api.post(prepareUrl(message.hideUrl));\r\n }\r\n pageData({\r\n ...pageData(),\r\n status: status.filter((_, key) => message.key !== key),\r\n });\r\n };\r\n\r\n const renderMessage = message => {\r\n const {\r\n componentType,\r\n status,\r\n content,\r\n title = Locale.getSection('components.status').lmsg(status),\r\n class: className,\r\n ...other\r\n } = message;\r\n\r\n if (componentType) {\r\n return (\r\n \r\n {() => createComponent({\r\n componentType,\r\n title,\r\n type: status,\r\n message: content,\r\n attrs: {\r\n 'data-rendered-by-react': 'true',\r\n },\r\n ...other,\r\n })}\r\n \r\n );\r\n }\r\n\r\n const Component = mapping[className];\r\n if (Component) {\r\n return (\r\n );\r\n }\r\n\r\n const {\r\n key,\r\n id,\r\n source,\r\n hideUrl,\r\n } = message;\r\n\r\n return (\r\n \r\n
              \r\n
              \r\n
              \r\n
              \r\n
              \r\n
              \r\n {hideUrl ? handleCloseMessage(message)} /> : null}\r\n {title ? (\r\n \r\n {title}{': '}\r\n \r\n ) : null}\r\n \r\n
              \r\n
              \r\n
              \r\n
              \r\n
              \r\n
              \r\n \r\n );\r\n };\r\n\r\n return status.map((message, key) => renderMessage({ key, ...message }));\r\n};\r\n\r\nexport default StatusMessages;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Button, Alert } from '@plesk/ui-library';\r\nimport { Locale } from 'jsw';\r\nimport Link from 'components/common/Link';\r\nimport PropTypes from 'prop-types';\r\nimport './LicenseLimitsMessage.less';\r\n\r\nconst Translate = Locale.getTranslate('components.license-status');\r\n\r\nconst LicenseLimitsMessage = ({ buyUrl, canManageLicense }) => (\r\n \r\n \r\n {canManageLicense && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n);\r\n\r\nLicenseLimitsMessage.propTypes = {\r\n buyUrl: PropTypes.string.isRequired,\r\n canManageLicense: PropTypes.bool.isRequired,\r\n};\r\n\r\nexport default LicenseLimitsMessage;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useCallback } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useNavigate, Link as RouterLink } from 'react-router-dom';\r\nimport { createPath } from 'react-router';\r\n\r\nconst urlMapping = {\r\n '/plesk/admin-panel=server.tools/': '/admin/server/tools',\r\n};\r\n\r\nexport const useNavigateCallback = () => {\r\n const navigate = useNavigate();\r\n\r\n return useCallback(e => {\r\n if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) {\r\n return;\r\n }\r\n\r\n const url = e.target.closest('a').getAttribute('href');\r\n if (!require('routes').isClientSideRedirectAllowed(url)) {\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n navigate(url);\r\n }, [navigate]);\r\n};\r\n\r\nconst Link = ({\r\n to = undefined,\r\n href = undefined,\r\n disabled = undefined,\r\n onClick = undefined,\r\n ...props\r\n}) => {\r\n to = to ?? href;\r\n if (disabled) {\r\n to = undefined;\r\n onClick = undefined;\r\n }\r\n\r\n if (urlMapping[to]) {\r\n to = urlMapping[to];\r\n }\r\n\r\n if (typeof to === 'object' && to !== null) {\r\n to = createPath(to);\r\n }\r\n\r\n const handleClick = event => {\r\n if (onClick) {\r\n onClick(event);\r\n }\r\n\r\n if (event.defaultPrevented) {\r\n return;\r\n }\r\n\r\n if (!to) {\r\n event.preventDefault();\r\n return;\r\n }\r\n if (!require('routes').isClientSideRedirectAllowed(to)) {\r\n event.preventDefault();\r\n\r\n const features = [];\r\n if (typeof props.rel === 'string' && props.rel.length > 0) {\r\n features.push(props.rel.split(' '));\r\n }\r\n\r\n window.open(to, props.target || '_self', features.join(','));\r\n }\r\n };\r\n\r\n return ;\r\n};\r\n\r\nLink.propTypes = {\r\n to: PropTypes.oneOfType([PropTypes.string, PropTypes.object]),\r\n href: PropTypes.string,\r\n disabled: PropTypes.bool,\r\n onClick: PropTypes.func,\r\n target: PropTypes.string,\r\n rel: PropTypes.string,\r\n};\r\n\r\nexport default Link;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useState } from 'react';\r\nimport { PropTypes } from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { Alert, Button, Popover, Item, Icon } from '@plesk/ui-library';\r\nimport { api, Locale } from 'jsw';\r\nimport Link from 'components/common/Link';\r\n\r\nconst Translate = Locale.getTranslate('components.license-status');\r\n\r\nexport const STATUS_DEFAULT = 'default';\r\nconst STATUS_TEST = 'test';\r\nconst STATUS_TRIAL = 'trial';\r\nexport const STATUS_EXPIRED = 'expired';\r\n\r\nconst LicenseStatus = ({\r\n status,\r\n daysLeft = 0,\r\n isAdmin = false,\r\n actionUrl = null,\r\n installUrl = null,\r\n hidePopoverUrl = null,\r\n trialOverIcon = null,\r\n baseClassName = 'license-status',\r\n}) => {\r\n const [trialOverPopoverVisible, setTrialOverPopoverVisible] = useState(daysLeft <= 5 && hidePopoverUrl);\r\n\r\n const handleClosePopover = () => {\r\n setTrialOverPopoverVisible(false);\r\n api.post(hidePopoverUrl);\r\n };\r\n\r\n const renderActions = () => {\r\n const alertCls = `${baseClassName}-alert`;\r\n\r\n return (actionUrl || installUrl) ? (\r\n
              \r\n {actionUrl && (\r\n \r\n \r\n \r\n )}\r\n {installUrl && (\r\n \r\n \r\n \r\n )}\r\n {status === 'demo' && (\r\n \r\n \r\n \r\n ),\r\n }}\r\n />\r\n )}\r\n
              \r\n ) : null;\r\n };\r\n\r\n const renderTrialPopover = content => {\r\n const popoverCls = `${baseClassName}-popover`;\r\n\r\n return trialOverPopoverVisible ? (\r\n \r\n }\r\n icon={}\r\n >\r\n \r\n \r\n \r\n ) : content;\r\n };\r\n\r\n const alertCls = `${baseClassName}-alert`;\r\n\r\n let intent = null;\r\n if (status !== 'demo') {\r\n intent = daysLeft <= 0 ? 'danger' : (daysLeft <= 5 ? 'warning' : null);\r\n }\r\n\r\n const content = (\r\n \r\n \r\n
              \r\n
              \r\n {STATUS_TRIAL === status ? (\r\n
              {daysLeft}
              \r\n ) : null}\r\n
              \r\n \r\n
              \r\n
              \r\n {renderActions()}\r\n
              \r\n \r\n \r\n );\r\n\r\n return renderTrialPopover(content);\r\n};\r\n\r\nLicenseStatus.propTypes = {\r\n status: PropTypes.oneOf([STATUS_DEFAULT, STATUS_TEST, STATUS_TRIAL, STATUS_EXPIRED]).isRequired,\r\n daysLeft: PropTypes.number,\r\n isAdmin: PropTypes.bool,\r\n actionUrl: PropTypes.string,\r\n installUrl: PropTypes.string,\r\n hidePopoverUrl: PropTypes.string,\r\n trialOverIcon: PropTypes.string,\r\n baseClassName: PropTypes.string,\r\n};\r\n\r\nexport default LicenseStatus;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport PropTypes from 'prop-types';\r\nimport MainHeaderSearch from './MainHeaderSearch';\r\nimport MainHeaderNavbar from './MainHeaderNavbar';\r\n\r\nconst PageHeader = ({ searchUrl = null, ...props }) => (\r\n
              \r\n {searchUrl ? (\r\n \r\n ) : null}\r\n \r\n
              \r\n);\r\n\r\nPageHeader.propTypes = {\r\n searchUrl: PropTypes.string,\r\n};\r\n\r\nexport default PageHeader;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useRef, useState, useCallback, useEffect, useMemo, Fragment } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { Input, Menu, MenuItem, MenuDivider, MenuHeader, Icon, Status, Hint, Button } from '@plesk/ui-library';\r\nimport { keyCode, Locale } from 'jsw';\r\nimport { toFormData } from 'helpers/form';\r\nimport { addToast } from 'helpers/toasts';\r\nimport { useQuery, useMutation, useApolloClient } from '@apollo/client';\r\nimport Link from 'components/common/Link';\r\n\r\nimport MAIN_HEADER_SEARCH_QUERY from 'queries/MainHeaderSearch.graphql';\r\nimport RECENT_SEARCH_HISTORY_QUERY from './RecentSearchHistoryQuery.graphql';\r\nimport DELETE_RECENT_SEARCH_RESULT_MUTATION from './DeleteRecentSearchResultMutation.graphql';\r\n\r\nconst Translate = Locale.getTranslate('components.search-bar');\r\n\r\nconst MENU_ITEM_CLASSNAME = 'main-header-search-result__item';\r\n\r\nexport const SEARCH_HISTORY_STORE_URL = '/cp/search/store';\r\n\r\nconst removeTouchEventListeners = ({ onDocumentTouchStart, onDocumentTouchMove, onDocumentTouchEnd }) => {\r\n document.removeEventListener('touchstart', onDocumentTouchStart);\r\n document.removeEventListener('touchmove', onDocumentTouchMove);\r\n document.removeEventListener('touchend', onDocumentTouchEnd);\r\n};\r\n\r\nconst MainHeaderSearch = ({ url }) => {\r\n const searchActionDelay = 300;\r\n const searchTermRef = useRef();\r\n const lastTermRef = useRef('');\r\n const menuRef = useRef();\r\n const timer = useRef(null);\r\n const resetTimeout = useRef(null);\r\n const enterPressed = useRef(false);\r\n const pendingRequest = useRef(null);\r\n const skipKeyUp = useRef(false);\r\n const touchMoved = useRef(false);\r\n const { data: { config, viewer } = {} } = useQuery(MAIN_HEADER_SEARCH_QUERY);\r\n const [history, setHistory] = useState();\r\n const [deleteRecentSearchResult] = useMutation(DELETE_RECENT_SEARCH_RESULT_MUTATION, {\r\n onCompleted: ({ deleteRecentSearchResult }) => setHistory(deleteRecentSearchResult.query.recentSearch),\r\n });\r\n\r\n const [isSearchFocused, setSearchFocused] = useState(false);\r\n const [searchInProgress, setSearchInProgress] = useState(false);\r\n const [results, setResults] = useState(null);\r\n const [selectedItem, setSelectedItem] = useState(null);\r\n\r\n const apolloClient = useApolloClient();\r\n const isAdmin = viewer?.type === 'ADMIN';\r\n\r\n const fatalError = message => {\r\n // eslint-disable-next-line no-alert\r\n alert(message);\r\n };\r\n\r\n const handlePaste = () => scheduleSearch();\r\n\r\n const handleKeyUp = event => {\r\n if (skipKeyUp.current) {\r\n return;\r\n }\r\n if (event.keyCode === keyCode.ESC) {\r\n searchTermRef.current.blur();\r\n return;\r\n }\r\n if ([keyCode.UP_ARROW, keyCode.DOWN_ARROW, keyCode.LEFT_ARROW, keyCode.RIGHT_ARROW, keyCode.ENTER].indexOf(event.keyCode) !== -1) {\r\n return;\r\n }\r\n\r\n scheduleSearch();\r\n };\r\n\r\n const handleKeyDown = event => {\r\n skipKeyUp.current = event.ctrlKey || event.metaKey;\r\n\r\n if ([keyCode.UP_ARROW, keyCode.DOWN_ARROW].indexOf(event.keyCode) !== -1) {\r\n onArrowKeyPressed(event.keyCode);\r\n event.preventDefault();\r\n }\r\n\r\n enterPressed.current = (keyCode.ENTER === event.keyCode);\r\n if (enterPressed.current) {\r\n if (\r\n (pendingRequest.current && pendingRequest.current._complete)\r\n || (history && selectedItem !== null)\r\n ) {\r\n goToItem();\r\n } else {\r\n scheduleSearch();\r\n }\r\n }\r\n };\r\n\r\n const goToItem = () => {\r\n if (!menuRef.current) {\r\n return;\r\n }\r\n const elements = menuRef.current.querySelectorAll(`.${MENU_ITEM_CLASSNAME}`);\r\n const element = elements[selectedItem || 0];\r\n if (element) {\r\n element.click();\r\n searchTermRef.current.blur();\r\n }\r\n };\r\n\r\n const handleFocus = () => {\r\n if (resetTimeout.current) {\r\n clearTimeout(resetTimeout.current);\r\n }\r\n\r\n resetSearch();\r\n setSearchFocused(true);\r\n\r\n apolloClient.query({\r\n query: RECENT_SEARCH_HISTORY_QUERY,\r\n }).then(({ data }) => {\r\n setHistory(data.recentSearch);\r\n }).catch(({ networkError, message }) => {\r\n if (!networkError) {\r\n addToast({ intent: 'danger', message });\r\n }\r\n });\r\n\r\n document.addEventListener('touchstart', onDocumentTouchStart);\r\n document.addEventListener('touchmove', onDocumentTouchMove);\r\n document.addEventListener('touchend', onDocumentTouchEnd);\r\n };\r\n\r\n\r\n const handleBlur = () => {\r\n if (resetTimeout.current) {\r\n clearTimeout(resetTimeout.current);\r\n }\r\n\r\n lastTermRef.current = '';\r\n\r\n resetTimeout.current = setTimeout(() => {\r\n resetSearch();\r\n setSearchFocused(false);\r\n }, 300);\r\n };\r\n\r\n const scheduleSearch = () => {\r\n setSearchInProgress(true);\r\n\r\n abortPreviousSearch();\r\n timer.current = setTimeout(findTerm, searchActionDelay);\r\n };\r\n\r\n const abortPreviousSearch = () => {\r\n if (pendingRequest.current) {\r\n const abort = pendingRequest.current.abort.bind(pendingRequest.current);\r\n // global state is cleared first due to onSearchComplete callback\r\n pendingRequest.current = null;\r\n abort();\r\n }\r\n\r\n if (timer.current) {\r\n clearTimeout(timer.current);\r\n timer.current = null;\r\n }\r\n };\r\n\r\n const onSearchSuccess = response => {\r\n if (lastTermRef.current !== response.request.options.parameters.term) {\r\n return;\r\n }\r\n\r\n let data;\r\n try {\r\n data = JSON.parse(response.responseText);\r\n } catch (e) {\r\n fatalError(`Failed to parse JSON response: ${e.message}`);\r\n return;\r\n }\r\n\r\n if ('error' === data.status) {\r\n const result = data.statusMessages.reduce((res, message) => `${res}${message.title}: ${message.content}\\n`, '');\r\n fatalError(result);\r\n return;\r\n }\r\n\r\n setResults(data);\r\n if (enterPressed.current) {\r\n goToItem();\r\n } else if (data.records.length > 0) {\r\n setSelectedItem(0);\r\n }\r\n };\r\n\r\n const onSearchFailure = response => {\r\n fatalError(`Search request failed due to following error: ${response.responseText}`);\r\n };\r\n\r\n const onSearchComplete = response => {\r\n if (!response || pendingRequest.current === response.request) {\r\n setSearchInProgress(false);\r\n }\r\n };\r\n\r\n const handleSaveRecentSearch = item => {\r\n const storeUrl = SEARCH_HISTORY_STORE_URL;\r\n const token = document.getElementById('forgery_protection_token').content;\r\n navigator.sendBeacon(storeUrl, toFormData({ ...item, forgery_protection_token: token }));\r\n flushRecentSearchCache();\r\n };\r\n\r\n const flushRecentSearchCache = () => {\r\n const { cache } = apolloClient;\r\n cache.evict({\r\n id: cache.identify({ __typename: 'Query' }),\r\n fieldName: 'recentSearch',\r\n });\r\n setHistory(null);\r\n };\r\n\r\n const renderSearchItems = (items, uatKey) => items.map(({ details, target, icon, link, title, label }, index) => {\r\n const iconUrl = (\r\n !icon ||\r\n icon.startsWith(Jsw.skinUrl) ||\r\n icon.startsWith('http://') ||\r\n icon.startsWith('https://') ||\r\n icon.startsWith('/modules/')\r\n ) ? icon : `${Jsw.skinUrl}${icon}`;\r\n\r\n return (\r\n : null}\r\n className={MENU_ITEM_CLASSNAME}\r\n onClick={e => {\r\n e.stopPropagation();\r\n handleSaveRecentSearch({ details, target, icon, link, title });\r\n }}\r\n >\r\n {title}\r\n \r\n );\r\n });\r\n\r\n const renderSearchResults = results => [\r\n results.records.length ? renderSearchItems(results.records, 'searchResultRegular') : (\r\n
              \r\n \r\n
              \r\n ),\r\n results.meta.moreResultsFound ? (\r\n <>\r\n \r\n
              \r\n \r\n
              \r\n \r\n ) : null,\r\n ];\r\n\r\n const renderHistory = history => history?.length ? [\r\n \r\n \r\n \r\n \r\n ,\r\n renderSearchItems(history.map(item => ({\r\n ...item,\r\n label: (\r\n }\r\n onClick={e => {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n searchTermRef.current.focus();\r\n deleteRecentSearchResult({ variables: { input: { link: item.link } } });\r\n }}\r\n />\r\n ),\r\n })), 'searchResultRecent'),\r\n ] : (\r\n
              \r\n \r\n \r\n \r\n
              \r\n );\r\n\r\n const renderResults = () => {\r\n if (!isSearchFocused || (isSearchFocused && !((history) || results))) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {results ? renderSearchResults(results) : null}\r\n {results?.records.length === 0 ? (\r\n \r\n ) : null}\r\n {(!results || results?.records.length === 0) ? renderHistory(history) : null}\r\n \r\n );\r\n };\r\n\r\n const resetSearch = ({ resetValue = true } = {}) => {\r\n if (resetValue) {\r\n searchTermRef.current.value = '';\r\n }\r\n\r\n setSelectedItem(null);\r\n setResults(null);\r\n\r\n abortPreviousSearch();\r\n onSearchComplete();\r\n };\r\n\r\n const onArrowKeyPressed = key => {\r\n const records = results && results.records.length ? results.records : history;\r\n if (!records?.length) {\r\n return;\r\n }\r\n\r\n if (selectedItem === null) {\r\n setSelectedItem(0);\r\n return;\r\n }\r\n\r\n if (keyCode.DOWN_ARROW === key && selectedItem < records.length - 1) {\r\n setSelectedItem(selectedItem + 1);\r\n }\r\n\r\n if (keyCode.UP_ARROW === key && selectedItem > 0) {\r\n setSelectedItem(selectedItem - 1);\r\n }\r\n };\r\n\r\n const findTerm = () => {\r\n const term = searchTermRef.current.value.trim();\r\n\r\n if (lastTermRef.current === term || term.length < 3) {\r\n onSearchComplete();\r\n return;\r\n }\r\n lastTermRef.current = term;\r\n\r\n pendingRequest.current = new Ajax.Request(\r\n url,\r\n {\r\n method: 'get',\r\n parameters: { term: searchTermRef.current.value.trim() },\r\n onSuccess: onSearchSuccess,\r\n onFailure: onSearchFailure,\r\n onComplete: onSearchComplete,\r\n },\r\n );\r\n };\r\n\r\n const onDocumentTouchStart = useCallback(() => {\r\n touchMoved.current = false;\r\n }, [touchMoved]);\r\n const onDocumentTouchMove = useCallback(() => {\r\n touchMoved.current = true;\r\n }, [touchMoved]);\r\n const onDocumentTouchEnd = useCallback(() => {\r\n if (touchMoved.current) {\r\n return;\r\n }\r\n\r\n searchTermRef.current.blur();\r\n\r\n removeTouchEventListeners({ onDocumentTouchStart, onDocumentTouchMove, onDocumentTouchEnd });\r\n }, [touchMoved, searchTermRef, onDocumentTouchStart, onDocumentTouchMove]);\r\n\r\n const searchPlaceholder = useMemo(() => {\r\n if (isSearchFocused) {\r\n if (isAdmin) {\r\n return Locale.getSection('components.search-bar').lmsg('fieldStubHint');\r\n }\r\n return null;\r\n }\r\n return Locale.getSection('components.search-bar').lmsg('fieldStub');\r\n }, [isAdmin, isSearchFocused]);\r\n\r\n useEffect(() => () => {\r\n if (resetTimeout.current) {\r\n clearTimeout(resetTimeout.current);\r\n }\r\n\r\n removeTouchEventListeners({ onDocumentTouchStart, onDocumentTouchMove, onDocumentTouchEnd });\r\n }, [onDocumentTouchEnd, onDocumentTouchMove, onDocumentTouchStart]);\r\n\r\n return (\r\n e.stopPropagation()}\r\n >\r\n
              \r\n \r\n ) : }\r\n suffix={(\r\n e.stopPropagation()}\r\n />\r\n )}\r\n size=\"fill\"\r\n />\r\n {renderResults()}\r\n
              \r\n \r\n );\r\n};\r\n\r\n\r\nMainHeaderSearch.propTypes = {\r\n url: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default MainHeaderSearch;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport const toFormData = (values: Record | FormData): FormData => {\r\n if (values instanceof FormData) {\r\n return values;\r\n }\r\n\r\n const consume = (object: object, namespace?: string) => {\r\n Object.entries(object).forEach(([k, value]) => {\r\n const name = namespace ? `${namespace}[${k}]` : k;\r\n switch (true) {\r\n case value && typeof value === 'object':\r\n consume(value, name);\r\n break;\r\n\r\n case value == null:\r\n data.append(name, '');\r\n break;\r\n\r\n default:\r\n data.append(name, value);\r\n break;\r\n }\r\n });\r\n };\r\n\r\n const data = new FormData();\r\n consume(values);\r\n return data;\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"MainHeaderSearch\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limit\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":148}};\n doc.loc.source = {\"body\":\"query MainHeaderSearch {\\r\\n viewer {\\r\\n login\\r\\n type\\r\\n }\\r\\n config {\\r\\n search {\\r\\n limit\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"MainHeaderSearch\"] = oneQuery(doc, \"MainHeaderSearch\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"RecentSearchQuery\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"recentSearch\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"link\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"details\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"icon\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"target\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":133}};\n doc.loc.source = {\"body\":\"query RecentSearchQuery {\\r\\n recentSearch {\\r\\n title\\r\\n link\\r\\n details\\r\\n icon\\r\\n target\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"RecentSearchQuery\"] = oneQuery(doc, \"RecentSearchQuery\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"DeleteRecentSearchResult\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DeleteRecentSearchResultInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"deleteRecentSearchResult\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"query\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"recentSearch\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"link\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"details\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"icon\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"target\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":321}};\n doc.loc.source = {\"body\":\"mutation DeleteRecentSearchResult($input: DeleteRecentSearchResultInput!) {\\r\\n deleteRecentSearchResult(input: $input) {\\r\\n query {\\r\\n recentSearch {\\r\\n title\\r\\n link\\r\\n details\\r\\n icon\\r\\n target\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DeleteRecentSearchResult\"] = oneQuery(doc, \"DeleteRecentSearchResult\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Tooltip, Locale, Cookie } from 'jsw';\r\nimport { useEffect, useState } from 'react';\r\nimport classNames from 'classnames';\r\nimport PropTypes from 'prop-types';\r\nimport { Dropdown, Menu, MenuItem, Button, Icon, isRtl, Text } from '@plesk/ui-library';\r\nimport { useQuery } from '@apollo/client';\r\nimport { useMediaQuery } from 'common/hooks';\r\nimport SubscriptionSwitcher from './SubscriptionSwitcher';\r\nimport NotificationCenter from './NotificationCenter';\r\nimport HelpMenu from './HelpMenu';\r\n\r\nimport ACCOUNT_MENU_QUERY from 'queries/AccountMenu.graphql';\r\nimport MAIN_HEADER_NAVBAR_QUERY from 'queries/MainHeaderNavbar.graphql';\r\n\r\nconst Translate = Locale.getTranslate('components.shortcuts');\r\n// eslint-disable-next-line max-len\r\nconst IconSun = ;\r\n// eslint-disable-next-line max-len\r\nconst IconMoon = ;\r\n\r\nconst AccountMenu = ({ items }) => {\r\n const isHideText = useMediaQuery('(max-width: 767px)');\r\n const { data: { viewer: user } = {} } = useQuery(ACCOUNT_MENU_QUERY);\r\n\r\n if (!user) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {items.map(({ title, href, icon, dataType }) => (\r\n \r\n {title}\r\n \r\n ))}\r\n \r\n )}\r\n menuPlacement=\"bottom-end\"\r\n >\r\n \r\n \r\n );\r\n};\r\n\r\nAccountMenu.propTypes = {\r\n items: PropTypes.array.isRequired,\r\n};\r\n\r\nconst renderTooltips = () => {\r\n document.querySelectorAll('.main-header-navbar-nav__item').forEach(item => {\r\n if (item.dataset.description) {\r\n Tooltip.init(item, {\r\n text: item.dataset.description,\r\n });\r\n }\r\n });\r\n};\r\n\r\nconst MainHeaderNavbar = ({\r\n backToAdminLink = undefined,\r\n returnUrl = undefined,\r\n accountMenu = undefined,\r\n subscriptionSwitcher = undefined,\r\n headerCustomButtons,\r\n helpMenu = undefined,\r\n}) => {\r\n const isHideBackToAdminText = useMediaQuery('(max-width: 1310px)');\r\n const isHideLogo = useMediaQuery('(max-width: 1140px)');\r\n const { data: { viewer: user, config } = {} } = useQuery(MAIN_HEADER_NAVBAR_QUERY);\r\n const [theme, setTheme] = useState(() => Cookie.get('theme') ?? config?.branding?.theme);\r\n\r\n const handleToggleTheme = () => {\r\n const newTheme = theme === 'dark' ? 'default' : 'dark';\r\n document.documentElement.setAttribute('data-theme', newTheme);\r\n const newThemeColor = document.querySelector(`meta[name=\"theme-color-${newTheme}\"]`).getAttribute('content');\r\n document.querySelector('meta[name=\"theme-color\"]').setAttribute('content', newThemeColor);\r\n Cookie.setPermanent('theme', newTheme, '/');\r\n setTheme(newTheme);\r\n };\r\n\r\n useEffect(() => {\r\n renderTooltips();\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n return (\r\n
              \r\n
                \r\n {backToAdminLink ? (\r\n
              • \r\n }\r\n href={backToAdminLink}\r\n ghost\r\n >\r\n {isHideBackToAdminText ? null : }\r\n \r\n
              • \r\n ) : null}\r\n {accountMenu ? (\r\n
              • \r\n \r\n
              • \r\n ) : null}\r\n {accountMenu && subscriptionSwitcher ? (\r\n
              • \r\n \r\n
              • \r\n ) : null}\r\n {user?.type === 'ADMIN' && config?.notification?.panel?.enabled ? (\r\n
              • \r\n \r\n
              • \r\n ) : null}\r\n {headerCustomButtons.map(({ id, link, target, icon, title, description }) => (\r\n \r\n }\r\n ghost\r\n />\r\n \r\n ))}\r\n {helpMenu ? (\r\n
              • \r\n \r\n
              • \r\n ) : null}\r\n
              • \r\n {IconSun} : {IconMoon}}\r\n onClick={handleToggleTheme}\r\n tooltip={theme === 'dark' ? : }\r\n data-type={theme === 'dark' ? 'dark-mode-on' : 'dark-mode-off'}\r\n />\r\n
              • \r\n {user.logo.isCustom && !isHideLogo ? (\r\n
              • \r\n \r\n \"\"\r\n \r\n
              • \r\n ) : null}\r\n
              \r\n
              \r\n );\r\n};\r\n\r\nMainHeaderNavbar.propTypes = {\r\n backToAdminLink: PropTypes.string,\r\n returnUrl: PropTypes.string,\r\n accountMenu: PropTypes.shape(AccountMenu.propTypes),\r\n subscriptionSwitcher: PropTypes.shape(SubscriptionSwitcher.propTypes),\r\n headerCustomButtons: PropTypes.arrayOf(PropTypes.shape({\r\n id: PropTypes.string,\r\n link: PropTypes.string,\r\n target: PropTypes.string,\r\n icon: PropTypes.string,\r\n title: PropTypes.string,\r\n description: PropTypes.string,\r\n })).isRequired,\r\n helpMenu: PropTypes.shape(HelpMenu.propTypes),\r\n};\r\n\r\nexport default MainHeaderNavbar;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useState, useEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { Dropdown, Menu, MenuItem, Button, Text } from '@plesk/ui-library';\r\nimport { Locale } from 'jsw';\r\nimport { useMediaQuery } from 'common/hooks';\r\nimport Link from 'components/common/Link';\r\n\r\nconst Translate = Locale.getTranslate('components.subscription-switcher');\r\n\r\nconst changeIdRe = new RegExp(`(${[\r\n encodeURIComponent('/domain@'),\r\n '/domain@',\r\n '/domainId/',\r\n '/domains/',\r\n '/web/[a-z\\-]+/id/(?:d:)?',\r\n '/ssl-certificate/list/id/',\r\n '/log-file/browser/id/',\r\n '/dns-zone/records-list/id/',\r\n '/mail-settings/edit/id/',\r\n '/failed-request/list/id/',\r\n '/asp-dot-net/settings/id/',\r\n '/iis-app-pool/settings/id/',\r\n].join('|')})(\\\\d+)`);\r\n\r\nconst SubscriptionSwitcher = ({\r\n subscriptions,\r\n limit = 100,\r\n returnUrl = undefined,\r\n currentSubscriptionId: defaultCurrentSubscriptionId = undefined,\r\n showAll: defaultShowAll = false,\r\n}) => {\r\n const location = useLocation();\r\n const isHideText = useMediaQuery('(max-width: 767px)');\r\n const [showAll, setShowAll] = useState(defaultShowAll);\r\n const [currentSubscriptionId, setCurrentSubscriptionId] = useState(defaultCurrentSubscriptionId);\r\n\r\n useEffect(() => {\r\n setShowAll(defaultShowAll);\r\n setCurrentSubscriptionId(defaultCurrentSubscriptionId);\r\n }, [defaultShowAll, defaultCurrentSubscriptionId]);\r\n\r\n const title = showAll\r\n ? \r\n : subscriptions.find(({ id }) => id === currentSubscriptionId)?.name;\r\n\r\n const button = (\r\n }\r\n caret={subscriptions.length > 1 && !isHideText}\r\n tabIndex={subscriptions.length > 1 ? null : -1}\r\n style={subscriptions.length > 1 ? null : { pointerEvents: 'none' }}\r\n ghost\r\n >\r\n {isHideText ? null : {title}}\r\n \r\n );\r\n\r\n if (subscriptions.length === 1) {\r\n return button;\r\n }\r\n\r\n return (\r\n \r\n {subscriptions.length > 1 ? (\r\n limit ? null : '/smb/account/switch/all/true'}\r\n onClick={subscriptions.length > limit ? null : () => {\r\n setShowAll(true);\r\n }}\r\n disabled={subscriptions.length > limit}\r\n tooltip={subscriptions.length > limit ? (\r\n \r\n ) : null}\r\n >\r\n \r\n \r\n ) : null}\r\n {subscriptions.map(({ id, name }) => (\r\n {\r\n setShowAll(false);\r\n setCurrentSubscriptionId(id);\r\n }}\r\n >\r\n {name}\r\n \r\n ))}\r\n \r\n )}\r\n menuPlacement=\"bottom-end\"\r\n >\r\n {button}\r\n \r\n );\r\n};\r\n\r\nSubscriptionSwitcher.propTypes = {\r\n subscriptions: PropTypes.arrayOf(PropTypes.shape({\r\n id: PropTypes.number.isRequired,\r\n name: PropTypes.string.isRequired,\r\n })).isRequired,\r\n limit: PropTypes.number,\r\n showAll: PropTypes.bool,\r\n currentSubscriptionId: PropTypes.number,\r\n returnUrl: PropTypes.string,\r\n};\r\n\r\nexport default SubscriptionSwitcher;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useState, useEffect, useRef } from 'react';\r\nimport { pleskWS, UAT, Locale } from 'jsw';\r\nimport { Badge, Button, Popover, Heading, Columns, Column, Label, Action, Link, Icon } from '@plesk/ui-library';\r\nimport { useQuery } from '@apollo/client';\r\nimport { useModal } from 'hooks';\r\nimport applyFilter from './lib/applyFilter';\r\nimport { deleteNotifications, listNotifications, updateNotifications } from './lib/api';\r\nimport NotificationCenterView from './NotificationCenterView';\r\nimport NotificationCenterList from './NotificationCenterList';\r\nimport { NOTIFICATION_CATEGORIES } from './lib/PropTypes';\r\nimport getIntentByNotification from './lib/getIntentByNotification';\r\nimport getMostIntentByNotifications from './lib/getMostIntentByNotifications';\r\nimport NotificationToast from './NotificationToast';\r\nimport { isNotificationCritical, isAllowedFeedbackOrPromotionNotification } from './lib/utils';\r\nimport NotificationActions from './NotificationActions';\r\nimport NotificationDate from './NotificationDate';\r\nimport { addToast, removeToast } from 'helpers/toasts';\r\nimport { useNavigate } from 'react-router-dom';\r\n\r\nimport NOTIFICATION_CENTER_QUERY from 'queries/NotificationCenter.graphql';\r\nimport groupNotifications from './lib/groupNotifications';\r\nimport { getSubjectIntent } from './lib/notificationIntent';\r\nimport UnreadCounter from './UnreadCounter';\r\n\r\nconst MAX_SHOW = 3;\r\nconst RELOAD_TIMEOUT = 30000;\r\n\r\nconst Translate = Locale.getTranslate('components.notification-center');\r\n\r\nconst getNotificationIcon = notification => {\r\n if (notification.contextIconUrl) {\r\n return ;\r\n }\r\n const unreadCount = (notification.notifications?.filter(({ isRead }) => !isRead).length ?? 0) + (notification.isRead ? 0 : 1);\r\n if (unreadCount) {\r\n return ;\r\n }\r\n return undefined;\r\n};\r\n\r\nconst NotificationCenter = () => {\r\n const [isListOpen, setIsListOpen] = useModal('notification-center-list');\r\n const [selectedNotificationId, setSelectedNotificationId] = useModal('notification-center-view');\r\n const [notifications, setNotifications] = useState([]);\r\n const [filter, setFilter] = useState({});\r\n const {\r\n data: {\r\n config,\r\n viewer: {\r\n type: viewerType,\r\n permissions: { manageServerNotifications },\r\n },\r\n },\r\n } = useQuery(NOTIFICATION_CENTER_QUERY);\r\n const toastsRef = useRef([]);\r\n const navigate = useNavigate();\r\n\r\n let ws;\r\n let reloadTimeout;\r\n\r\n useEffect(() => {\r\n initFilter();\r\n if (config.webSocket.enabled) {\r\n initWebSocket();\r\n } else {\r\n loadNotifications();\r\n }\r\n\r\n return () => {\r\n if (reloadTimeout) {\r\n clearTimeout(reloadTimeout);\r\n }\r\n if (ws) {\r\n ws.close();\r\n }\r\n };\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n const initFilter = () => {\r\n const filter = JSON.parse(window.localStorage.getItem('notification-center-filter')) || {};\r\n setFilter(filter);\r\n };\r\n\r\n const handleNewNotificationRef = useRef();\r\n useEffect(() => {\r\n handleNewNotificationRef.current = newNotification => {\r\n setNotifications([newNotification, ...notifications]);\r\n };\r\n }, [notifications]);\r\n\r\n useEffect(() => {\r\n const groupedNotifications = groupNotifications(notifications, false, false);\r\n\r\n const allToasts = groupedNotifications\r\n .filter(notification => !notification.isViewed && (\r\n isNotificationCritical(notification) || isAllowedFeedbackOrPromotionNotification(notification)),\r\n )\r\n .map(notification => {\r\n const key = `notification-${notification.id}`;\r\n\r\n return {\r\n 'data-type': 'notification-toast',\r\n key,\r\n intent: getIntentByNotification(notification),\r\n accent: isAllowedFeedbackOrPromotionNotification(notification),\r\n icon: getNotificationIcon(notification),\r\n className: 'notification-center-toast',\r\n message: (\r\n {\r\n if (isListOpen === null) {\r\n handleOpenNotificationCenter();\r\n }\r\n handleSelectNotification({\r\n notification,\r\n uatAdditionalData: {\r\n parents: ['notification-toast', 'toaster'],\r\n },\r\n });\r\n removeToast({ key });\r\n }}\r\n />\r\n ),\r\n autoClosable: notification.category !== NOTIFICATION_CATEGORIES.ALERT && !isAllowedFeedbackOrPromotionNotification(notification),\r\n onClose: () => {\r\n UAT.dispatchAction('NOTIFICATION_TOAST_HIDE', {\r\n type: notification.code,\r\n messageKey: notification.messageKey,\r\n });\r\n handleUpdateNotifications([notification.id], { isViewed: true });\r\n },\r\n };\r\n });\r\n\r\n const toasts = allToasts.length <= MAX_SHOW\r\n ? allToasts\r\n : [\r\n ...allToasts.slice(0, MAX_SHOW),\r\n {\r\n key: 'notification-all',\r\n message: (\r\n
              \r\n \r\n {\r\n handleOpenNotificationCenter();\r\n UAT.dispatchAction('NOTIFICATION_GROUP_TOAST_SHOW_ALL');\r\n }}\r\n >\r\n \r\n \r\n
              \r\n ),\r\n autoClosable: false,\r\n onClose: () => {\r\n UAT.dispatchAction('NOTIFICATION_GROUP_TOAST_HIDE');\r\n handleMarkAllAsViewed();\r\n },\r\n },\r\n ];\r\n\r\n if (JSON.stringify(toastsRef.current) !== JSON.stringify(toasts)) {\r\n toastsRef.current.forEach(removeToast);\r\n toasts.forEach(addToast);\r\n toastsRef.current = toasts;\r\n }\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [notifications]);\r\n\r\n const initWebSocket = () => {\r\n ws = pleskWS.bind({\r\n actions: {\r\n // eslint-disable-next-line camelcase\r\n panel_notification_created: newNotification => {\r\n handleNewNotificationRef.current(newNotification);\r\n },\r\n },\r\n onOpen: () => loadNotifications(),\r\n });\r\n };\r\n\r\n const loadNotifications = (id = 0) => {\r\n if (reloadTimeout) {\r\n clearTimeout(reloadTimeout);\r\n }\r\n listNotifications(id)\r\n .then(newNotifications => {\r\n setNotifications([...newNotifications, ...notifications]);\r\n })\r\n .then(() => {\r\n if (config.webSocket.enabled && ws.isReady()) {\r\n return;\r\n }\r\n reloadTimeout = window.setTimeout(\r\n () => loadNotifications(notifications.length ? notifications[0].id : 0),\r\n RELOAD_TIMEOUT,\r\n );\r\n })\r\n .catch(() => {\r\n reloadTimeout = window.setTimeout(\r\n () => loadNotifications(notifications.length ? notifications[0].id : 0),\r\n RELOAD_TIMEOUT,\r\n );\r\n });\r\n };\r\n\r\n const handleOpenSettings = () => {\r\n handleCloseNotificationCenter();\r\n navigate('/cp/notifications/panel-settings?context=tools');\r\n };\r\n\r\n const handleUpdateFilter = newFilter => {\r\n window.localStorage.setItem('notification-center-filter', JSON.stringify(newFilter));\r\n setFilter({ ...filter, ...newFilter });\r\n };\r\n\r\n const handleUpdateNotifications = (ids, change) => {\r\n setNotifications(notifications.map(notification => {\r\n if (ids.indexOf(notification.id) < 0) {\r\n return notification;\r\n }\r\n return {\r\n ...notification,\r\n ...change,\r\n };\r\n }));\r\n\r\n updateNotifications(ids, change);\r\n };\r\n\r\n const handleSelectNotification = ({ notification, uatAdditionalData }) => {\r\n UAT.dispatchAction('NOTIFICATION_DETAILS', {\r\n type: notification.code,\r\n messageKey: notification.messageKey,\r\n ...uatAdditionalData,\r\n });\r\n handleUpdateNotifications([notification.id], { isRead: true, isViewed: true });\r\n setSelectedNotificationId(notification.id);\r\n };\r\n\r\n const handleMarkAllAsRead = () => {\r\n const ids = notifications.filter(notification => !notification.isRead).map(notification => notification.id);\r\n handleUpdateNotifications(ids, { isRead: true });\r\n };\r\n\r\n const handleMarkAllAsViewed = () => {\r\n const ids = notifications.filter(notification => !notification.isViewed).map(notification => notification.id);\r\n handleUpdateNotifications(ids, { isViewed: true });\r\n };\r\n\r\n const handleRemoveNotification = ids => {\r\n setNotifications(prevNotifications => prevNotifications.filter(notification => !ids.includes(notification.id)));\r\n if (ids.includes(selectedNotificationId)) {\r\n setSelectedNotificationId(null);\r\n }\r\n\r\n deleteNotifications(ids);\r\n };\r\n\r\n const handleOpenNotificationCenter = () => {\r\n handleMarkAllAsViewed();\r\n setIsListOpen(true);\r\n };\r\n\r\n const handleCloseNotificationCenter = () => {\r\n setSelectedNotificationId(null);\r\n setIsListOpen(null);\r\n };\r\n\r\n const handleCloseNotificationView = () => {\r\n setSelectedNotificationId(null);\r\n };\r\n\r\n const unreadNotifications = applyFilter(notifications, { isUnRead: true });\r\n const selectedNotification = notifications.find(({ id }) => id === Number(selectedNotificationId));\r\n\r\n const button = (\r\n
              \r\n );\r\n};\r\n\r\nBrand.propTypes = {\r\n href: PropTypes.string,\r\n className: PropTypes.string,\r\n baseClassName: PropTypes.string,\r\n};\r\n\r\nexport default Brand;\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"Branding\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customTitle\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"image\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"imageAlt\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"edition\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":184}};\n doc.loc.source = {\"body\":\"query Branding {\\r\\n viewer {\\r\\n login\\r\\n customTitle\\r\\n logo {\\r\\n image\\r\\n imageAlt\\r\\n url\\r\\n edition\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"Branding\"] = oneQuery(doc, \"Branding\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"MainMenu\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptions\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"servicePlans\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":210}};\n doc.loc.source = {\"body\":\"query MainMenu {\\r\\n viewer {\\r\\n login\\r\\n statistics {\\r\\n customers\\r\\n resellers\\r\\n subscriptions\\r\\n domains\\r\\n servicePlans\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"MainMenu\"] = oneQuery(doc, \"MainMenu\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useQuery } from '@apollo/client';\r\nimport { Locale } from 'jsw';\r\nimport Link from 'components/common/Link';\r\n\r\nimport PAGE_FOOTER_QUERY from 'queries/PageFooter.graphql';\r\n\r\nconst Translate = Locale.getTranslate('components.shortcuts');\r\n\r\nconst PageFooter = () => {\r\n const { data: { viewer: user, config } = {} } = useQuery(PAGE_FOOTER_QUERY);\r\n\r\n const handleProvideRatingClick = () => {\r\n Plesk.require('app/rating', rating => {\r\n rating({\r\n supportUrl: config.product.supportUrl,\r\n });\r\n });\r\n };\r\n\r\n return (\r\n
              \r\n {config?.promos.pleskFooter ? (\r\n {'plesk.com'}\r\n ) : null}\r\n {user?.type === 'ADMIN' && config?.facebook.showLikeLink ? (\r\n \r\n ) : null}\r\n {user?.type === 'ADMIN' && config?.twitter.showFollowLink ? (\r\n \r\n ) : null}\r\n {user?.type === 'ADMIN' && config?.rating.enabled ? (\r\n
              \r\n \r\n \r\n \r\n
              \r\n ) : null}\r\n {config?.feedback.userVoice ? (\r\n
              \r\n \r\n \r\n \r\n
              \r\n ) : null}\r\n
              \r\n \r\n \r\n \r\n
              \r\n
              \r\n );\r\n};\r\n\r\nexport default PageFooter;\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"PageFooter\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"product\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"siteUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"supportUrl\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"promos\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskFooter\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"feedback\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"userVoice\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"userVoiceUrl\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"facebook\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"showLikeLink\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskPage\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"twitter\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"showFollowLink\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskPage\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rating\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":514}};\n doc.loc.source = {\"body\":\"query PageFooter {\\r\\n viewer {\\r\\n login\\r\\n type\\r\\n }\\r\\n config {\\r\\n product {\\r\\n siteUrl\\r\\n supportUrl\\r\\n }\\r\\n promos {\\r\\n pleskFooter\\r\\n }\\r\\n feedback {\\r\\n userVoice\\r\\n userVoiceUrl\\r\\n }\\r\\n facebook {\\r\\n showLikeLink\\r\\n pleskPage\\r\\n }\\r\\n twitter {\\r\\n showFollowLink\\r\\n pleskPage\\r\\n }\\r\\n rating {\\r\\n enabled\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"PageFooter\"] = oneQuery(doc, \"PageFooter\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport PropTypes from 'prop-types';\r\nimport { PageHeader, Breadcrumbs, Heading, Text } from '@plesk/ui-library';\r\nimport Link from 'components/common/Link';\r\nimport ObjectSwitcher from './ObjectSwitcher';\r\nimport PageContentHeaderNav from './PageContentHeaderNav';\r\nimport stripTags from 'helpers/stripTags';\r\nimport JswComponent from 'components/jsw/JswComponent';\r\n\r\nconst PageContentHeader = ({\r\n breadcrumbs = [],\r\n tabs = null,\r\n tabsHasRootPage = false,\r\n navigationTabs = null,\r\n hidePathbar = false,\r\n hideHeading = false,\r\n wizardTitle = null,\r\n pageTitle = null,\r\n pageSubtitle = null,\r\n titleRightAddon = null,\r\n objectSwitcherParams = null,\r\n forceObjectSwitcher = false,\r\n isClassicMode = false,\r\n additionalTitleContent = null,\r\n className = 'page-content-header',\r\n}) => {\r\n breadcrumbs = Array.isArray(breadcrumbs) ? [...breadcrumbs] : [];\r\n let currentPage = breadcrumbs.pop();\r\n let addObjectSwitcher = forceObjectSwitcher;\r\n let objectName = null;\r\n let pageTitleSuffix = null;\r\n\r\n if (currentPage && tabs && tabsHasRootPage) {\r\n currentPage = breadcrumbs.pop();\r\n if (!pageTitle) {\r\n pageTitle = currentPage.title;\r\n }\r\n }\r\n\r\n if (currentPage && navigationTabs) {\r\n currentPage = breadcrumbs.pop();\r\n pageTitle = currentPage.title;\r\n\r\n // subscription horizontal navigation\r\n addObjectSwitcher = pageTitle.indexOf('') !== -1;\r\n }\r\n\r\n const match = pageTitle && pageTitle.match(/(.+)<\\/b>/i);\r\n if (match) {\r\n objectName = match[1];\r\n pageTitleSuffix = pageTitle.substr(match.index + match[0].length);\r\n pageTitle = pageTitle.substr(0, match.index);\r\n\r\n const previousPage = breadcrumbs[breadcrumbs.length - 1];\r\n if (previousPage && objectName === stripTags(previousPage.title)) {\r\n objectName = (\r\n );\r\n breadcrumbs.pop();\r\n\r\n // domain horizontal navigation\r\n addObjectSwitcher = true;\r\n } else {\r\n objectName = (\r\n // TODO EXTSSLIT-590: EXTPHPCOMP-33: Broken header in Plesk 18.0.19\r\n // eslint-disable-next-line react/no-danger\r\n \r\n );\r\n }\r\n }\r\n\r\n if ((hidePathbar || breadcrumbs.length) && hideHeading && (!isClassicMode || !navigationTabs)) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {breadcrumbs.map(({ title, href }) => (\r\n \r\n ))}\r\n \r\n ) : null}\r\n tabs={isClassicMode && navigationTabs ? (\r\n \r\n ) : null}\r\n title={hideHeading ? null : (\r\n
              \r\n {wizardTitle ? (\r\n {wizardTitle}\r\n ) : null}\r\n {objectName ? (\r\n \r\n {pageTitle ? (\r\n // TODO EXTLETSENC-726: EXTSSLIT-590: EXTPHPCOMP-33: Broken header in Plesk 18.0.19\r\n // eslint-disable-next-line react/no-danger\r\n \r\n ) : null}\r\n {objectName}\r\n {objectSwitcherParams && addObjectSwitcher ? (\r\n \r\n ) : null}\r\n {pageTitleSuffix}\r\n {additionalTitleContent && ({additionalTitleContent})}\r\n \r\n ) : (\r\n \r\n {/* eslint-disable-next-line react/no-danger */}\r\n \r\n \r\n )}\r\n
              \r\n )}\r\n titleRightAddon={titleRightAddon}\r\n >\r\n {!hideHeading && pageSubtitle ? (\r\n {pageSubtitle}\r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nPageContentHeader.propTypes = {\r\n breadcrumbs: PropTypes.arrayOf(PropTypes.shape({\r\n href: PropTypes.string,\r\n title: PropTypes.string,\r\n })),\r\n tabs: PropTypes.array,\r\n tabsHasRootPage: PropTypes.bool,\r\n navigationTabs: PropTypes.array,\r\n hidePathbar: PropTypes.bool,\r\n hideHeading: PropTypes.bool,\r\n wizardTitle: PropTypes.string,\r\n pageTitle: PropTypes.string,\r\n pageSubtitle: PropTypes.string,\r\n titleRightAddon: PropTypes.node,\r\n objectSwitcherParams: PropTypes.shape(ObjectSwitcher.propTypes),\r\n forceObjectSwitcher: PropTypes.bool,\r\n isClassicMode: PropTypes.bool,\r\n additionalTitleContent: PropTypes.string,\r\n className: PropTypes.string,\r\n};\r\n\r\nexport default PageContentHeader;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useEffect, useState } from 'react';\r\nimport { PropTypes } from 'prop-types';\r\nimport { registerComponent, ObjectSwitcher as JswObjectSwitcher } from 'jsw';\r\nimport JswComponent from '../../jsw/JswComponent';\r\nimport useNavigate from 'hooks/useNavigate';\r\n\r\nconst ObjectSwitcher = ({ locale, limit, lookUpParams, dataUrl, listUrl, owner = null, itemUrlTemplate }) => {\r\n const [component, setComponent] = useState(null);\r\n\r\n const navigate = useNavigate();\r\n\r\n useEffect(() => {\r\n const newComponent = new JswObjectSwitcher({ locale, limit, lookUpParams, dataUrl, listUrl, owner, itemUrlTemplate, navigate });\r\n setComponent(newComponent);\r\n\r\n return () => {\r\n registerComponent(newComponent.getId());\r\n setComponent(null);\r\n };\r\n }, [locale, limit, lookUpParams, dataUrl, listUrl, owner, itemUrlTemplate, navigate]);\r\n\r\n return component ? (\r\n \r\n {component}\r\n \r\n ) : null;\r\n};\r\n\r\nObjectSwitcher.propTypes = {\r\n locale: PropTypes.object.isRequired,\r\n limit: PropTypes.number.isRequired,\r\n lookUpParams: PropTypes.object.isRequired,\r\n dataUrl: PropTypes.string.isRequired,\r\n listUrl: PropTypes.string.isRequired,\r\n owner: PropTypes.string,\r\n itemUrlTemplate: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default ObjectSwitcher;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useEffect, useMemo, useRef } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Tab, Tabs } from '@plesk/ui-library';\r\nimport Link from 'components/common/Link';\r\nimport { prepareUrl } from 'jsw';\r\n\r\nconst PageContentHeaderNav = ({ items }) => {\r\n const ref = useRef(null);\r\n const active = useMemo(() => items.findIndex(({ containerCls }) => containerCls.split(' ').includes('active')) + 1, [items]);\r\n\r\n useEffect(() => {\r\n if (!ref.current) {\r\n return;\r\n }\r\n\r\n const nav = ref.current;\r\n const tabs = nav.querySelector('.page-content-header-nav__tabs');\r\n const headerInner = document.querySelector('.pul-layout__header-inner');\r\n const stickyClassName = 'page-content-header-nav--sticky';\r\n\r\n const update = () => {\r\n const tabsRect = tabs.getBoundingClientRect();\r\n const headerInnerRect = headerInner.getBoundingClientRect();\r\n const top = (window.scrollY || window.pageYOffset) + nav.getBoundingClientRect().top;\r\n\r\n if (document.documentElement.scrollTop > top - headerInnerRect.height) {\r\n nav.classList.add(stickyClassName);\r\n nav.style.minHeight = `${tabsRect.height}px`;\r\n tabs.style.top = `${headerInnerRect.height}px`;\r\n } else {\r\n nav.classList.remove(stickyClassName);\r\n nav.style.minHeight = null;\r\n tabs.style.top = null;\r\n }\r\n };\r\n\r\n window.addEventListener('resize', update);\r\n window.addEventListener('scroll', update);\r\n document.addEventListener('mousewheel', update);\r\n\r\n update();\r\n\r\n return () => {\r\n window.removeEventListener('resize', update);\r\n window.removeEventListener('scroll', update);\r\n document.removeEventListener('mousewheel', update);\r\n };\r\n }, []);\r\n\r\n if (!items.length) {\r\n return null;\r\n }\r\n\r\n return (\r\n
              \r\n \r\n {items.map(({ title, href }, index) => (\r\n \r\n ))}\r\n \r\n
              \r\n );\r\n};\r\n\r\nPageContentHeaderNav.propTypes = {\r\n items: PropTypes.arrayOf(PropTypes.shape({\r\n title: PropTypes.string.isRequired,\r\n href: PropTypes.string.isRequired,\r\n containerCls: PropTypes.string,\r\n })).isRequired,\r\n};\r\n\r\nexport default PageContentHeaderNav;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { unescapeHtml } from 'jsw';\r\nimport stripTags from 'helpers/stripTags';\r\n\r\nconst getTitleForHelpSearchQuery = ({\r\n wizardTitle,\r\n pageTitle,\r\n breadcrumbs = [],\r\n}) => {\r\n breadcrumbs = breadcrumbs && Array.isArray(breadcrumbs)\r\n ? breadcrumbs\r\n : [];\r\n let title = wizardTitle ?? pageTitle ?? breadcrumbs[breadcrumbs.length - 1]?.title ?? '';\r\n\r\n let objectName;\r\n const match = title.match(/(.+)<\\/b>/i);\r\n if (match) {\r\n objectName = match[1];\r\n title = title.substring(0, match.index).trim();\r\n }\r\n\r\n const matchLink = title.match(/()/);\r\n if (matchLink) {\r\n if (matchLink.index + matchLink[0].length === title.length) {\r\n objectName = stripTags(matchLink[0]);\r\n }\r\n\r\n title = title.replace(matchLink[0], '').trim();\r\n }\r\n\r\n if (objectName) {\r\n // (1) If a Plesk page title contains some text and an object name then the input value is set to this text excluding one word preceding the object name.\r\n title = title.substring(0, title.lastIndexOf(' '));\r\n }\r\n\r\n if (title === '' && breadcrumbs.length > 2) {\r\n // (2) If a Plesk page title is empty or contains an object name only then the input value is set to the value of the last link in the breadcrumbs.\r\n title = breadcrumbs[breadcrumbs.length - 2]?.title ?? '';\r\n }\r\n\r\n return stripTags(unescapeHtml(title)).trim();\r\n};\r\n\r\nexport default getTitleForHelpSearchQuery;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport PageLayout from './PageLayout';\r\n\r\nconst withPageLayout = (Component, extraProps) => {\r\n const Wrapper = wrapperProps => {\r\n const {\r\n baseUrl,\r\n showFrames,\r\n pageHeader,\r\n pageSidebar,\r\n pageContentHeader,\r\n pageTitle,\r\n withSecondary,\r\n secondary,\r\n isSecondaryCollapsed,\r\n width,\r\n bodyClass,\r\n integrationClass,\r\n ...props\r\n } = {\r\n ...wrapperProps,\r\n ...(typeof extraProps === 'function' ? extraProps(wrapperProps) : extraProps),\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n Wrapper.displayName = `withPageLayout(${Component.displayName || Component.name || 'Component'})`;\r\n Wrapper.WrappedComponent = Component;\r\n\r\n return Wrapper;\r\n};\r\n\r\nexport default withPageLayout;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport pageData from 'helpers/pageData';\r\nimport withPageLayout from './withPageLayout';\r\n\r\nconst withSimplePageLayout = (Component, extraProps) => withPageLayout(Component, props => {\r\n const { showFrames, pageHeader, pageSidebar } = pageData();\r\n const { breadcrumbs, helpContext } = typeof extraProps === 'function' ? extraProps(props) : extraProps;\r\n const pageTitle = breadcrumbs[breadcrumbs.length - 1].title;\r\n\r\n return {\r\n ...props,\r\n showFrames,\r\n pageHeader: {\r\n ...pageHeader,\r\n helpMenu: {\r\n ...pageHeader.helpMenu,\r\n helpContext,\r\n },\r\n },\r\n pageSidebar,\r\n pageContentHeader: {\r\n pageTitle,\r\n breadcrumbs: [pageSidebar.isPowerUserPanel ? null : {\r\n title: Locale.getSection('components.pages.home').lmsg('title'),\r\n href: '/admin/home',\r\n }, ...breadcrumbs].filter(Boolean),\r\n },\r\n pageTitle,\r\n };\r\n});\r\n\r\nexport default withSimplePageLayout;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Outlet } from 'react-router-dom';\r\nimport { usePageData } from 'helpers/pageData';\r\nimport PageLayout from 'components/layouts/PageLayout';\r\n\r\nconst PhpPagesLayout = () => {\r\n const data = usePageData();\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default PhpPagesLayout;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useRouteError, isRouteErrorResponse } from 'react-router-dom';\r\nimport { LocaleProvider } from '@plesk/ui-library';\r\nimport { Locale } from 'jsw';\r\nimport ErrorPage from 'common/components/ErrorPage';\r\nimport { isNetworkError } from 'helpers/isNetworkError';\r\n\r\nconst AppBoundary = () => {\r\n const error = useRouteError();\r\n\r\n // eslint-disable-next-line no-console\r\n console.error(error);\r\n\r\n if (isRouteErrorResponse(error)) {\r\n if (error.status === 404) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n }\r\n\r\n if (error.graphQLErrors?.length) {\r\n const [graphQLError] = error.graphQLErrors;\r\n return (\r\n \r\n `#${index} ${file}(${line}): ${call}`).join('\\n'),\r\n }}\r\n />\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AppBoundary;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n/* eslint-disable react/jsx-max-depth */\r\n\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { Heading, Button, Text, Icon, ConsoleOutput, Translate } from '@plesk/ui-library';\r\nimport RepairKitAlert from './RepairKitAlert';\r\nimport ExceptionDetails from './ExceptionDetails';\r\nimport styles from './ErrorPage.module.css';\r\n\r\nconst descriptions = {\r\n 400: 'Your browser sent a request that this server could not understand. Client sent malformed Host header.',\r\n 401: 'This server could not verify that you are authorized to access the document requested.' +\r\n ' Either you supplied the wrong credentials (e.g., bad password), or your browser doesn\\'t understand how to supply the credentials required.',\r\n 403: 'You do not have permission to access this document.',\r\n 404: 'This page either doesn\\'t exist, or it moved somewhere else.',\r\n 405: 'The HTTP verb used to access this page is not allowed.',\r\n 406: 'Client browser does not accept the MIME type of the requested page.',\r\n 407: 'You must be authenticated by a proxy server before the Web server can execute your request.',\r\n 412: 'The request was not completed due to preconditions that are set in the request header.\\n' +\r\n ' Preconditions prevent the requested method from being applied to a resource other than the one intended.',\r\n 414: 'The Web server is refusing to service the request because the requested URL address is too long.',\r\n 415: 'The Web server cannot service the request because the requested file is in a format that the server is configured not to download.',\r\n 500: 'The server encountered an internal error or misconfiguration and was unable to complete your request.\\n' +\r\n ' Please contact the server administrator to inform of the time the error occurred and of anything you might have done that may have caused the error.\\n' +\r\n ' More information about this error may be available in the server error log.',\r\n 501: 'The page you are looking for cannot be displayed because a header value in the request does not match certain configuration settings on the Web server.',\r\n 502: 'Web server received an invalid response while acting as a gateway or proxy server.',\r\n 503: 'The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.',\r\n};\r\n\r\nconst consoleOutputHtml = `
              Plesk
              \r\nInitializing… [ ---- ]\r\nCloning… [ ---- ]\r\n\r\n\r\n
              \r\n___\r\n\r\nYour Plesk is almost ready.\r\nIn a few seconds, we'll take you there so that you can get started!\r\n
              `;\r\n\r\nconst helpActions = () => (\r\n <>\r\n \r\n {\r\n window.history.length > 1 &&\r\n \r\n }\r\n \r\n \r\n);\r\n\r\nconst ErrorPage = ({\r\n code = null,\r\n message,\r\n noRepairKit = false,\r\n kbArticleUrl = null,\r\n exception = null,\r\n isNetworkError = false,\r\n}) => (\r\n
              \r\n
              \r\n
              \r\n {isNetworkError ? (\r\n <>\r\n
              \r\n \r\n
              \r\n
              \r\n
              \r\n

              \r\n \r\n
              \r\n \r\n

              \r\n

              \r\n

              \r\n {helpActions()}\r\n
              \r\n \r\n ) : code === '503.1' ? (\r\n <>\r\n
              \r\n {message}\r\n
              \r\n
              \r\n \r\n {/* eslint-disable-next-line react/no-danger */}\r\n
              \r\n \r\n
              \r\n \r\n
              \r\n
              \r\n \r\n ) : (\r\n <>\r\n
              \r\n {code ?
              : null}\r\n {code ? `${code} ` : null}{exception ? exception.type : message}\r\n
              \r\n
              \r\n
              \r\n

              {exception ? exception.message : descriptions[code]}

              \r\n
              \r\n {exception ? (\r\n \r\n ) : null}\r\n {code && /^5\\d\\d$/.test(code) && !noRepairKit ? (\r\n \r\n ) : null}\r\n
              \r\n

              \r\n {' '}\r\n \r\n \r\n \r\n

              \r\n

              \r\n {helpActions()}\r\n {kbArticleUrl ? (\r\n \r\n ) : null}\r\n
              \r\n
              \r\n \r\n )}\r\n \r\n
              \r\n
              \r\n);\r\n\r\nErrorPage.propTypes = {\r\n code: PropTypes.string,\r\n message: PropTypes.string.isRequired,\r\n noRepairKit: PropTypes.bool,\r\n kbArticleUrl: PropTypes.string,\r\n exception: PropTypes.shape({\r\n type: PropTypes.string.isRequired,\r\n message: PropTypes.string.isRequired,\r\n }),\r\n isNetworkError: PropTypes.bool,\r\n};\r\n\r\nexport default ErrorPage;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Button, Text, Icon, Alert, Media, MediaSection, Translate } from '@plesk/ui-library';\r\n\r\nconst RepaitKitAlert = () => (\r\n \r\n }>\r\n {window.location.pathname.indexOf('/repair') === 0 ? (\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n
              \r\n \r\n
              \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
              \r\n
              \r\n);\r\n\r\nexport default RepaitKitAlert;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport PropTypes from 'prop-types';\r\nimport { Text, List, ConsoleOutput } from '@plesk/ui-library';\r\n\r\nconst ExceptionDetails = ({ type, message, file, line, stackTrace = null, codeFragment = null }) => {\r\n const data = [{\r\n key: 'type',\r\n title: 'Type',\r\n value: type,\r\n }, {\r\n key: 'message',\r\n title: 'Message',\r\n value: message,\r\n }, {\r\n key: 'file',\r\n title: 'File',\r\n value: file,\r\n }, {\r\n key: 'line',\r\n title: 'Line',\r\n value: line,\r\n }, {\r\n key: 'stackTrace',\r\n title: 'Stack trace',\r\n // eslint-disable-next-line react/no-danger\r\n value: stackTrace && {stackTrace},\r\n }, {\r\n key: 'codeFragment',\r\n title: 'Code fragment',\r\n value: codeFragment && (\r\n \r\n {/* eslint-disable-next-line react/no-danger */}\r\n
              \r\n \r\n ),\r\n }].filter(({ value }) => value);\r\n\r\n if (!data.length) {\r\n return null;\r\n }\r\n\r\n return (\r\n {row.title};\r\n },\r\n }, {\r\n key: 'value',\r\n }]}\r\n data={data}\r\n />\r\n );\r\n};\r\n\r\nExceptionDetails.propTypes = {\r\n type: PropTypes.string.isRequired,\r\n message: PropTypes.string.isRequired,\r\n file: PropTypes.string.isRequired,\r\n line: PropTypes.string.isRequired,\r\n stackTrace: PropTypes.string,\r\n codeFragment: PropTypes.string,\r\n};\r\n\r\nexport default ExceptionDetails;\r\n","// extracted by mini-css-extract-plugin\nexport default {\"page\":\"common-components-ErrorPage-module__page--3BS7t\",\"header\":\"common-components-ErrorPage-module__header--ZsKwE\",\"side\":\"common-components-ErrorPage-module__side--CyBpF\",\"sideMaintenance\":\"common-components-ErrorPage-module__sideMaintenance--5fiUj\",\"main\":\"common-components-ErrorPage-module__main--icshs\",\"description\":\"common-components-ErrorPage-module__description--QJNnB\",\"actions\":\"common-components-ErrorPage-module__actions--xclR8\",\"action\":\"common-components-ErrorPage-module__action--l73ns\",\"footer\":\"common-components-ErrorPage-module__footer--10LMy\",\"footerLinks\":\"common-components-ErrorPage-module__footerLinks--vDGlC\",\"footerLink\":\"common-components-ErrorPage-module__footerLink--xg46v\",\"footerLinkText\":\"common-components-ErrorPage-module__footerLinkText--Q2RUW\"};","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useLayoutEffect } from 'react';\r\nimport { getComponent } from 'jsw';\r\n\r\nconst LogsPage = () => {\r\n useLayoutEffect(() => () => {\r\n getComponent('log-browser')?.remove();\r\n }, []);\r\n\r\n return null;\r\n};\r\n\r\nexport default LogsPage;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useState } from 'react';\r\nimport { List, ListProps, Pagination } from '@plesk/ui-library';\r\nimport { GraphQlListContext, GraphQlListContextType } from './GraphQlListContext';\r\nimport GraphQlListSearchBar from './GraphQlListSearchBar';\r\n\r\ntype GraphQlListProps > = {\r\n emptyViewFiltered?: ListProps['emptyView'];\r\n listContext: GraphQlListContextType;\r\n} & ListProps;\r\n\r\nconst GraphQlList = >({\r\n onSortChange,\r\n filtered,\r\n pagination,\r\n emptyView,\r\n emptyViewFiltered = undefined,\r\n listContext,\r\n ...listProps\r\n}: GraphQlListProps) => {\r\n const { paginationProps, setSort } = listContext;\r\n\r\n const [prevFiltered, setPrevFiltered] = useState(filtered);\r\n const isLoadingOrFiltered = filtered || (listProps.loading && prevFiltered);\r\n if (!listProps.loading && prevFiltered !== filtered) {\r\n setPrevFiltered(filtered);\r\n }\r\n\r\n return (\r\n \r\n )}\r\n emptyView={isLoadingOrFiltered ? emptyViewFiltered : emptyView}\r\n {...listProps}\r\n onSortChange={(...args) => {\r\n onSortChange?.(...args);\r\n const [sort] = args;\r\n setSort({ [sort.sortColumn]: sort.sortDirection });\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nGraphQlList.SearchBar = GraphQlListSearchBar;\r\n\r\nexport default GraphQlList;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { createContext } from 'react';\r\nimport { PaginationProps } from '@plesk/ui-library';\r\n\r\nexport type Filters = Record;\r\n\r\nexport type SetSearchFilters = (filters: Filters | ((currentFilters?: Filters) => Filters)) => void;\r\nexport type SetFilters = (filters: Record) => void;\r\nexport type SetSort = (sort: { [key: string]: 'ASC' | 'DESC' }) => void;\r\nexport type SetPage = (page: number) => void;\r\nexport type SetItemsPerPage = (itemsPerPage: NonNullable) => void;\r\n\r\nexport type GraphQlListContextType = {\r\n listData: unknown;\r\n listInput: {\r\n searchFilters?: Record;\r\n };\r\n setSearchFilters: SetSearchFilters;\r\n setFilters: SetFilters;\r\n setSort: SetSort;\r\n setPage: SetPage;\r\n setItemsPerPage: SetItemsPerPage;\r\n paginationProps: PaginationProps | undefined;\r\n};\r\n\r\nexport const GraphQlListContext = createContext({} as GraphQlListContextType);\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useContext, useState } from 'react';\r\nimport { SearchBar, SearchBarProps } from '@plesk/ui-library';\r\nimport { GraphQlListContext } from './GraphQlListContext';\r\n\r\ntype GraphQlListSearchBarProps = {\r\n name: string;\r\n} & SearchBarProps;\r\n\r\nconst GraphQlListSearchBar = ({\r\n name,\r\n inputProps = {},\r\n onSearch,\r\n onTyping,\r\n ...props\r\n}: GraphQlListSearchBarProps) => {\r\n const { listInput, setSearchFilters } = useContext(GraphQlListContext);\r\n const [value, setValue] = useState(listInput.searchFilters?.[name]);\r\n\r\n return (\r\n {\r\n onTyping?.(...args);\r\n const [value] = args;\r\n setValue(value);\r\n }}\r\n onSearch={(...args) => {\r\n onSearch?.(...args);\r\n const [value] = args;\r\n setValue(value);\r\n setSearchFilters(currentFilters => ({\r\n ...currentFilters,\r\n [name]: value,\r\n }));\r\n }}\r\n />\r\n );\r\n};\r\n\r\nexport default GraphQlListSearchBar;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useState } from 'react';\r\nimport { useQuery, FetchPolicy, TypedDocumentNode, QueryResult } from '@apollo/client';\r\nimport { PaginationProps } from '@plesk/ui-library';\r\nimport { useLocalStorage } from 'common/hooks';\r\nimport { ListPageInfo, ListSortInfo } from 'schema';\r\nimport {\r\n GraphQlListContextType,\r\n SetSearchFilters,\r\n SetFilters,\r\n SetSort,\r\n SetPage,\r\n SetItemsPerPage,\r\n} from './GraphQlListContext';\r\nimport { getGraphQlListInputStorageArgs } from './helpers';\r\n\r\nconst ITEMS_PER_PAGE_OPTIONS: PaginationProps['itemsPerPageOptions'] = [10, 25, 100, 'all'];\r\n\r\ntype BaseVariables = {\r\n input?: {\r\n pagination?: { page?: number; itemsPerPage?: number | null };\r\n searchFilters?: Record;\r\n orderBy?: Record;\r\n },\r\n [key: string]: unknown;\r\n};\r\n\r\ntype BaseListData = {\r\n nodes: Array;\r\n pageInfo: ListPageInfo;\r\n sortInfo: ListSortInfo;\r\n};\r\n\r\ntype QueryOptions = {\r\n query: TypedDocumentNode;\r\n}\r\n\r\ntype UseGraphQlListOptions<\r\n TData,\r\n Variables extends BaseVariables,\r\n ListData extends BaseListData,\r\n> = {\r\n key: string;\r\n variables?: Omit;\r\n inputVariables?: Exclude;\r\n defaultInput?: NoInfer;\r\n onListInputChange: (listInput: NonNullable) => void;\r\n withNetworkOnlyStrategy?: boolean;\r\n withPagination?: boolean;\r\n extractList: (data: NoInfer) => ListData;\r\n};\r\n\r\ntype UseGraphQlListResult<\r\n TData,\r\n Variables extends BaseVariables,\r\n ListData extends BaseListData,\r\n> = {\r\n queryResult: QueryResult;\r\n listData: ListData | null;\r\n listInput: NonNullable;\r\n setSearchFilters: SetSearchFilters;\r\n setPage: SetPage;\r\n setItemsPerPage: SetItemsPerPage;\r\n setSort: SetSort;\r\n paginationProps: PaginationProps | undefined;\r\n listProps: {\r\n data: ListData['nodes'];\r\n loading: boolean;\r\n totalRows: number | undefined;\r\n listContext: GraphQlListContextType;\r\n },\r\n};\r\n\r\nconst useGraphQlList = , TListData extends BaseListData> ({\r\n key,\r\n query,\r\n defaultInput,\r\n variables,\r\n inputVariables,\r\n withNetworkOnlyStrategy = true,\r\n onListInputChange,\r\n withPagination = true,\r\n extractList,\r\n}: QueryOptions & UseGraphQlListOptions, TListData>,\r\n): UseGraphQlListResult => {\r\n type ListInput = NonNullable & BaseVariables['input'];\r\n\r\n const [fetchPolicy, setFetchPolicy] = useState();\r\n const [listInput, setListInput] = useLocalStorage(\r\n ...getGraphQlListInputStorageArgs({ key, withPagination, defaultInput: defaultInput as ListInput }),\r\n );\r\n\r\n const queryResult = useQuery(query, {\r\n variables: {\r\n input: { ...listInput, ...(inputVariables || {}) },\r\n ...(variables || {}),\r\n } as unknown as Variables,\r\n fetchPolicy,\r\n });\r\n const queryData = (queryResult.data || queryResult.previousData);\r\n const listData = queryData ? extractList(queryData) : null;\r\n\r\n const handleListInputChange = (listInput: ListInput) => {\r\n setListInput(listInput);\r\n withNetworkOnlyStrategy && setFetchPolicy('network-only');\r\n onListInputChange && onListInputChange(listInput);\r\n };\r\n\r\n const setSearchFilters: SetSearchFilters = filters => {\r\n const result = typeof filters === 'function' ? filters(listInput.searchFilters) : filters;\r\n handleListInputChange({\r\n ...listInput,\r\n searchFilters: result,\r\n pagination: { ...listInput.pagination, page: 1 },\r\n });\r\n };\r\n\r\n const setFilters: SetFilters = ({ searchFilters, ...filters }) => {\r\n const newListInput = {\r\n ...listInput,\r\n ...filters,\r\n pagination: { ...listInput.pagination, page: 1 },\r\n };\r\n\r\n if (listInput.searchFilters || searchFilters) {\r\n newListInput.searchFilters = {\r\n ...(listInput.searchFilters ?? {}),\r\n ...(searchFilters ?? {}),\r\n };\r\n }\r\n\r\n handleListInputChange(newListInput);\r\n };\r\n\r\n const setSort: SetSort = orderBy => handleListInputChange({ ...listInput, orderBy });\r\n\r\n const setPage: SetPage = page => handleListInputChange({\r\n ...listInput,\r\n pagination: { ...listInput.pagination, page },\r\n });\r\n\r\n const setItemsPerPage: SetItemsPerPage = itemsPerPage => handleListInputChange({\r\n ...listInput,\r\n pagination: {\r\n page: 1,\r\n itemsPerPage: itemsPerPage === 'all' ? null : +itemsPerPage,\r\n },\r\n });\r\n\r\n const paginationProps: PaginationProps | undefined = withPagination && listData ? {\r\n current: listData.pageInfo.current as number,\r\n total: listData.pageInfo.pageCount as number,\r\n onSelect: setPage,\r\n itemsPerPage: listInput.pagination?.itemsPerPage ?? 'all',\r\n itemsPerPageOptions: ITEMS_PER_PAGE_OPTIONS,\r\n onItemsPerPageChange: setItemsPerPage,\r\n } : undefined;\r\n\r\n return {\r\n queryResult,\r\n listData,\r\n listInput,\r\n setSearchFilters,\r\n setPage,\r\n setItemsPerPage,\r\n setSort,\r\n paginationProps,\r\n listProps: {\r\n listContext: {\r\n listData,\r\n listInput,\r\n setSearchFilters,\r\n setFilters,\r\n setSort,\r\n setPage,\r\n setItemsPerPage,\r\n paginationProps,\r\n },\r\n // List component props\r\n ...(listData?.sortInfo ?? {}),\r\n loading: queryResult.loading,\r\n data: listData?.nodes || [],\r\n totalRows: listData?.pageInfo.total,\r\n },\r\n };\r\n};\r\n\r\nexport default useGraphQlList;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { readLocalStorageValue } from 'common/helpers/readLocalStorageValue';\r\n\r\nconst DEFAULT_INPUT = {\r\n pagination: { page: 1, itemsPerPage: 25 },\r\n};\r\n\r\n// Bump version after GraphQL API changes to prevent reading of invalid input from storage\r\nconst VERSION = 2;\r\n\r\ntype Options = {\r\n key: string;\r\n withPagination?: boolean;\r\n defaultInput?: ListInput;\r\n};\r\n\r\nexport const getGraphQlListInputStorageArgs = ({\r\n key,\r\n withPagination = true,\r\n defaultInput,\r\n}: Options) => [\r\n `${key}ListInput.v${VERSION}`,\r\n defaultInput || (withPagination ? DEFAULT_INPUT : {}) as ListInput,\r\n] as const;\r\n\r\nexport const readGraphQlListInputFromStorage = (\r\n options: Options,\r\n) => readLocalStorageValue(...getGraphQlListInputStorageArgs(options));\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\r\nimport { odbcAddRoute } from 'routes/odbcAddRoute';\r\nimport { odbcEditRoute } from 'routes/odbcEditRoute';\r\nimport apolloClient from '../apolloClient';\r\n\r\nimport ODBC_SERVER_LIST from 'queries/OdbcServerList.graphql';\r\n\r\nexport const odbcServerRoute = {\r\n path: 'odbc',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/OdbcPage/OdbcServerPage\" */\r\n 'components/pages/OdbcPage/OdbcServerPage'\r\n ),\r\n loader: async () => {\r\n const input = readGraphQlListInputFromStorage({ key: 'OdbcServerPage' });\r\n await apolloClient.query({\r\n query: ODBC_SERVER_LIST,\r\n variables: { input },\r\n });\r\n },\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('odbcServer'),\r\n }),\r\n helpContext: 'odbc_connection_config',\r\n },\r\n children: [\r\n odbcAddRoute,\r\n odbcEditRoute,\r\n ],\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport apolloClient from 'apolloClient';\r\n\r\nimport ODBC_ADD_PAGE from 'queries/OdbcAddPage.graphql';\r\n\r\nexport const odbcAddRoute = {\r\n path: 'add',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/OdbcAddPage\" */\r\n 'components/pages/OdbcAddPage'\r\n ),\r\n loader: async ({ params }) => {\r\n const { data: { dsnManager: { drivers } } } = await apolloClient.query({\r\n query: ODBC_ADD_PAGE,\r\n });\r\n\r\n return { domainId: params.domainId, drivers };\r\n },\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcAddPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dsnManager\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"drivers\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":66}};\n doc.loc.source = {\"body\":\"query OdbcAddPage {\\r\\n dsnManager {\\r\\n drivers\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"OdbcAddPage\"] = oneQuery(doc, \"OdbcAddPage\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport apolloClient from '../apolloClient';\r\n\r\nimport ODBC_EDIT_PAGE from 'queries/OdbcEditPage.graphql';\r\n\r\nexport const odbcEditRoute = {\r\n path: ':odbcId/edit',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/OdbcEditPage\" */\r\n 'components/pages/OdbcEditPage'\r\n ),\r\n loader: async ({ params }) => {\r\n const id = btoa(`OdbcDsnConnection:${params.odbcId}`);\r\n\r\n await apolloClient.query({\r\n query: ODBC_EDIT_PAGE,\r\n variables: { id },\r\n });\r\n\r\n return { odbcId: params.odbcId };\r\n },\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcEditPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"connection\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcEditFragment\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":150}};\n doc.loc.source = {\"body\":\"#import \\\"queries/OdbcEditFragment.graphql\\\"\\r\\n\\r\\nquery OdbcEditPage($id: ID!) {\\r\\n connection: node(id: $id) {\\r\\n ...OdbcEditFragment\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/OdbcEditFragment.graphql\").definitions));\r\n\r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"OdbcEditPage\"] = oneQuery(doc, \"OdbcEditPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcEditFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcDsnConnection\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"driverType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"parameters\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyHuman\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRequired\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fieldType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"values\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":203}};\n doc.loc.source = {\"body\":\"fragment OdbcEditFragment on OdbcDsnConnection {\\r\\n id\\r\\n driverType\\r\\n parameters {\\r\\n key\\r\\n keyHuman\\r\\n isRequired\\r\\n fieldType\\r\\n value\\r\\n values\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"OdbcEditFragment\"] = oneQuery(doc, \"OdbcEditFragment\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcServerList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcDsnConnectionListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"odbcDsnConnections\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcList\"},\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainName\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":301}};\n doc.loc.source = {\"body\":\"#import \\\"./OdbcListFragment.graphql\\\"\\r\\n\\r\\nquery OdbcServerList(\\r\\n $input: OdbcDsnConnectionListInput\\r\\n) {\\r\\n server {\\r\\n odbcDsnConnections(\\r\\n input: $input\\r\\n ) {\\r\\n ...OdbcList\\r\\n nodes {\\r\\n domainName\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"./OdbcListFragment.graphql\").definitions));\r\n\r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"OdbcServerList\"] = oneQuery(doc, \"OdbcServerList\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcList\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcDsnConnectionList\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"driver\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"configured\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSystem\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":310}};\n doc.loc.source = {\"body\":\"fragment OdbcList on OdbcDsnConnectionList {\\r\\n nodes {\\r\\n id\\r\\n name\\r\\n description\\r\\n driver\\r\\n configured\\r\\n isSystem\\r\\n }\\r\\n pageInfo {\\r\\n current\\r\\n total\\r\\n pageCount\\r\\n }\\r\\n sortInfo {\\r\\n sortColumn\\r\\n sortDirection\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"OdbcList\"] = oneQuery(doc, \"OdbcList\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useCallback } from 'react';\r\nimport { useLocation } from 'react-router-dom';\r\nimport apolloClient from '../apolloClient';\r\nimport { gql } from '@apollo/client';\r\n\r\nimport HOSTING_SETTINGS_PAGE from 'queries/HostingSettingsPage.graphql';\r\n\r\nexport const useGetDomainOverviewRoutePath = () => {\r\n const { pathname } = useLocation();\r\n\r\n return useCallback((id, type, path) => (\r\n pathname.includes('overview')\r\n ? `/smb/web/overview/id/${id}/type/${type}/${path}`\r\n : `/smb/web/view/${id}/${path}`\r\n ), [pathname]);\r\n};\r\n\r\nexport default [\r\n {\r\n path: 'hosting-settings',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/HostingSettingsPage\" */'components/pages/HostingSettingsPage'),\r\n loader: async ({ params }) => {\r\n const { data: { viewer: { type } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n }\r\n }\r\n `,\r\n });\r\n const { data } = await apolloClient.query({\r\n query: HOSTING_SETTINGS_PAGE,\r\n variables: { id: btoa(`Domain:${params.id}`), withIpAddresses: ['ADMIN', 'RESELLER'].includes(type) },\r\n });\r\n return data;\r\n },\r\n },\r\n {\r\n path: 'connection-info',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ConnectionInfo\" */'components/pages/ConnectionInfo'),\r\n },\r\n];\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"HostingSettingsPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"withIpAddresses\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}},\"defaultValue\":{\"kind\":\"BooleanValue\",\"value\":false},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSimplePanel\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDemo\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSmbImpersonated\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"forbidSubscriptionRename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"preferredDomain\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIPv6Supported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"forbidFtpUserRename\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"securitySettingsPreset\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ssl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sslRedirect\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"asp\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspDotNet\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cgi\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fastcgi\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webstat\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"writeModify\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webDeploy\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ssi\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errorDocs\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"perl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"python\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"shell\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"systemUser\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"access\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"shells\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"empty\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"chrooted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSecure\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"emptyShell\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyShell\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"packages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webstatPackages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDemo\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"baseDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"parentDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIPv6\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publicIpAddress\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"owner\"},\"arguments\":[],\"directives\":[{\"kind\":\"Directive\",\"name\":{\"kind\":\"Name\",\"value\":\"include\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"if\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"withIpAddresses\"}}}]}],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIPv6\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publicIpAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isBroken\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"availableIpAddresses\"},\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"unassigned\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIPv6\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publicIpAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isBroken\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sysUser\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"quota\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"shell\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscription\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSecureSettingsPresetAllowed\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageSubdomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageWebsitesAndDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageHosting\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageHostingSsl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageQuota\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageShellAccess\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageNotChrootedShell\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allowInsecureSites\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageHostingSsi\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageErrorDocs\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageAdditionPermissions\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageWebstat\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageWebDeploy\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allowInsecureSites\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mainDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allowToChangeHtype\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"htype\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"documentRoot\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"preferredDomain\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasInstalledApplications\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSameSsl\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"forwarding\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"redirect\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sslSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ssl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sslRedirect\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"certificateId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availableCertificates\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"repository\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspNetSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"versions\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"configs\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webstatSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webstat\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webstatProtected\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webScriptingSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ssi\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ssiHtml\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cgi\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cgiMode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fastcgi\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"asp\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspDotNet\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"perl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"python\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webDeploy\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errorDocs\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"writeModify\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":4587}};\n doc.loc.source = {\"body\":\"query HostingSettingsPage($id: ID!, $withIpAddresses: Boolean = false) {\\r\\n mode {\\r\\n isSimplePanel\\r\\n isDemo\\r\\n }\\r\\n viewer {\\r\\n isSmbImpersonated\\r\\n login\\r\\n type\\r\\n }\\r\\n server {\\r\\n settings {\\r\\n forbidSubscriptionRename\\r\\n preferredDomain\\r\\n isIPv6Supported\\r\\n forbidFtpUserRename\\r\\n }\\r\\n securitySettingsPreset {\\r\\n ssl\\r\\n sslRedirect\\r\\n asp\\r\\n aspDotNet\\r\\n cgi\\r\\n fastcgi\\r\\n webstat\\r\\n writeModify\\r\\n webDeploy\\r\\n ssi\\r\\n errorDocs\\r\\n perl\\r\\n python\\r\\n shell\\r\\n }\\r\\n }\\r\\n os {\\r\\n isUnix\\r\\n }\\r\\n capability {\\r\\n systemUser {\\r\\n access {\\r\\n shells {\\r\\n name\\r\\n value\\r\\n empty\\r\\n chrooted\\r\\n isSecure\\r\\n }\\r\\n emptyShell\\r\\n }\\r\\n }\\r\\n }\\r\\n primaryKey {\\r\\n pleskKeyId\\r\\n keyShell\\r\\n }\\r\\n capability {\\r\\n packages {\\r\\n webstatPackages {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n }\\r\\n domain: node(id: $id) {\\r\\n ... on Domain {\\r\\n id\\r\\n name(idn: false)\\r\\n isDemo\\r\\n baseDomain {\\r\\n id\\r\\n }\\r\\n parentDomain {\\r\\n name(idn: false)\\r\\n }\\r\\n ipAddresses {\\r\\n id\\r\\n isIPv6\\r\\n ipAddress\\r\\n publicIpAddress\\r\\n }\\r\\n owner @include(if: $withIpAddresses) {\\r\\n id\\r\\n ipAddresses {\\r\\n id\\r\\n type\\r\\n isIPv6\\r\\n ipAddress\\r\\n publicIpAddress\\r\\n isBroken\\r\\n clients {\\r\\n id\\r\\n }\\r\\n }\\r\\n availableIpAddresses: ipAddresses(filter: {unassigned: true}) {\\r\\n id\\r\\n type\\r\\n isIPv6\\r\\n ipAddress\\r\\n publicIpAddress\\r\\n isBroken\\r\\n }\\r\\n }\\r\\n sysUser {\\r\\n login\\r\\n quota\\r\\n shell\\r\\n }\\r\\n subscription {\\r\\n isSecureSettingsPresetAllowed\\r\\n permissions {\\r\\n manageDomains\\r\\n manageSubdomains\\r\\n manageWebsitesAndDomains\\r\\n manageHosting\\r\\n manageHostingSsl\\r\\n manageQuota\\r\\n manageShellAccess\\r\\n manageNotChrootedShell\\r\\n allowInsecureSites\\r\\n manageHostingSsi\\r\\n manageErrorDocs\\r\\n manageAdditionPermissions\\r\\n manageWebstat\\r\\n manageWebDeploy\\r\\n allowInsecureSites\\r\\n }\\r\\n mainDomain {\\r\\n id\\r\\n name(idn: false)\\r\\n }\\r\\n domains {\\r\\n id\\r\\n name(idn: false)\\r\\n }\\r\\n }\\r\\n allowToChangeHtype\\r\\n htype\\r\\n hosting {\\r\\n documentRoot\\r\\n preferredDomain\\r\\n hasInstalledApplications\\r\\n isSameSsl\\r\\n }\\r\\n forwarding {\\r\\n code\\r\\n redirect\\r\\n }\\r\\n sslSettings {\\r\\n ssl\\r\\n sslRedirect\\r\\n certificateId\\r\\n availableCertificates {\\r\\n id\\r\\n name\\r\\n repository\\r\\n }\\r\\n }\\r\\n aspNetSettings {\\r\\n versions\\r\\n configs {\\r\\n version\\r\\n }\\r\\n }\\r\\n webstatSettings {\\r\\n webstat\\r\\n webstatProtected\\r\\n }\\r\\n webScriptingSettings {\\r\\n ssi\\r\\n ssiHtml\\r\\n cgi\\r\\n cgiMode\\r\\n fastcgi\\r\\n asp\\r\\n aspDotNet\\r\\n perl\\r\\n python\\r\\n webDeploy\\r\\n errorDocs\\r\\n writeModify\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"HostingSettingsPage\"] = oneQuery(doc, \"HostingSettingsPage\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport apolloClient from '../apolloClient';\r\nimport { gql } from '@apollo/client';\r\nimport { redirect } from 'react-router-dom';\r\nimport { getId } from 'helpers/getId';\r\nimport { Locale } from 'jsw';\r\n\r\nconst ROUTE = 'summary-report';\r\n\r\nexport const summaryReportChildrenRoute = {\r\n path: ROUTE,\r\n children: [{\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('summaryReport'),\r\n }),\r\n },\r\n children: [{\r\n path: 'layouts',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/SummaryReportLayoutsPage\" */'components/pages/SummaryReportLayoutsPage'),\r\n loader: async () => {\r\n const { data } = await apolloClient.query({\r\n query: require('queries/SummaryReportLayoutsPage.graphql'),\r\n });\r\n return data;\r\n },\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('summaryReportLayouts'),\r\n }),\r\n helpContext: ({ data: { viewer: type } }) => type === 'ADMIN' ? 'admin.report.layout' : 'reseller.report.layout',\r\n },\r\n children: [{\r\n path: 'add',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/SummaryReportLayoutsPage/AddPage\" */\r\n 'components/pages/SummaryReportLayoutsPage/AddPage'\r\n ),\r\n loader: async () => {\r\n const { data } = await apolloClient.query({\r\n query: require('queries/SummaryReportLayoutAddPage.graphql'),\r\n });\r\n return data;\r\n },\r\n }, {\r\n path: ':layoutId/edit',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/SummaryReportLayoutsPage/EditPage\" */\r\n 'components/pages/SummaryReportLayoutsPage/EditPage'\r\n ),\r\n loader: async ({ params: { layoutId } }) => {\r\n const { data } = await apolloClient.query({\r\n query: require('queries/SummaryReportLayoutEditPage.graphql'),\r\n variables: { id: btoa(`SummaryReportLayout:${layoutId}`) },\r\n });\r\n return data;\r\n },\r\n }],\r\n }, {\r\n path: 'traffic-history',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/TrafficHistoryReportPage\" */'components/pages/TrafficHistoryReportPage'),\r\n loader: async () => {\r\n const { data } = await apolloClient.query({\r\n query: require('queries/TrafficHistoryReportPage.graphql'),\r\n });\r\n return data;\r\n },\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('summaryReportTrafficHistory'),\r\n }),\r\n helpContext: ({ data: { viewer: type } }) => type === 'ADMIN' ? 'admin.report.traffic-history' : 'reseller.report.traffic-history',\r\n },\r\n }],\r\n }, {\r\n path: ':layoutId',\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('summaryReport'),\r\n }),\r\n },\r\n children: [{\r\n path: 'schedule',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/SummaryReportSchedulesPage\" */'components/pages/SummaryReportSchedulesPage'),\r\n loader: async ({ params: { layoutId } }) => {\r\n const { data } = await apolloClient.query({\r\n query: require('queries/SummaryReportSchedulesPage.graphql'),\r\n variables: { id: btoa(`SummaryReportLayout:${layoutId}`) },\r\n });\r\n return data;\r\n },\r\n handle: {\r\n crumb: ({ data: { summaryReportLayout: { name } } }) => ({\r\n title: Locale.getSection('components.routes').lmsg('summaryReportSchedule', { name }),\r\n }),\r\n helpContext: ({ data: { viewer: type } }) => type === 'ADMIN' ? 'admin.report.layout.auto' : 'reseller.report.layout.auto',\r\n },\r\n children: [{\r\n path: 'add',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/SummaryReportSchedulesPage\" */\r\n 'components/pages/SummaryReportSchedulesPage/AddPage'\r\n ),\r\n loader: async ({ params: { layoutId } }) => {\r\n const { data } = await apolloClient.query({\r\n query: require('queries/SummaryReportScheduleAddPage.graphql'),\r\n variables: {\r\n layoutId: btoa(`SummaryReportLayout:${layoutId}`),\r\n },\r\n });\r\n return data;\r\n },\r\n }, {\r\n path: ':scheduleId/edit',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/SummaryReportSchedulesPage\" */\r\n 'components/pages/SummaryReportSchedulesPage/EditPage'\r\n ),\r\n loader: async ({ params: { scheduleId, layoutId } }) => {\r\n const { data } = await apolloClient.query({\r\n query: require('queries/SummaryReportScheduleEditPage.graphql'),\r\n variables: {\r\n scheduleId: btoa(`SummaryReportSchedule:${scheduleId}`),\r\n layoutId: btoa(`SummaryReportLayout:${layoutId}`),\r\n },\r\n });\r\n return data;\r\n },\r\n }],\r\n },\r\n {\r\n path: 'print',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/SummaryReportPage\" */'components/pages/SummaryReportPage/SummaryReportPrintPage'),\r\n loader: async ({ params: { layoutId } }) => {\r\n await apolloClient.query({\r\n query: require('queries/SummaryReportPrintPage.graphql'),\r\n variables: { id: btoa(`SummaryReportLayout:${layoutId}`) },\r\n });\r\n },\r\n handle: {\r\n noLayout: true,\r\n },\r\n }],\r\n },\r\n ],\r\n};\r\n\r\nexport const summaryReportRoute = ({ ignoreTopLevelTitle = false } = {}) => ({\r\n path: ROUTE,\r\n handle: {\r\n crumb: () => ignoreTopLevelTitle ? [] : {\r\n title: Locale.getSection('components.routes').lmsg('summaryReport'),\r\n },\r\n },\r\n children: [{\r\n index: true,\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('summaryReport'),\r\n }),\r\n },\r\n loader: async () => {\r\n const { data: { viewer: { summaryReportLayouts } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n summaryReportLayouts {\r\n id\r\n isDefault\r\n }\r\n }\r\n }\r\n `,\r\n });\r\n\r\n const defaultId = summaryReportLayouts.find(({ isDefault }) => isDefault)?.id ?? summaryReportLayouts[0]?.id;\r\n if (defaultId) {\r\n return redirect(getId(defaultId));\r\n }\r\n\r\n throw new Response('Not Found', { status: 404 });\r\n },\r\n\r\n }, {\r\n path: ':layoutId',\r\n children: [{\r\n index: true,\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/SummaryReportPage\" */'components/pages/SummaryReportPage'),\r\n loader: async ({ params: { layoutId } }) => {\r\n const { data } = await apolloClient.query({\r\n query: require('queries/SummaryReportPage.graphql'),\r\n variables: { id: btoa(`SummaryReportLayout:${layoutId}`) },\r\n });\r\n return data;\r\n },\r\n handle: {\r\n crumb: () => ignoreTopLevelTitle ? [] : [{\r\n title: Locale.getSection('components.routes').lmsg('summaryReport'),\r\n }],\r\n helpContext: ({ data: { viewer: type } }) => type === 'ADMIN' ? 'admin.report' : 'reseller.report',\r\n },\r\n }],\r\n },\r\n ],\r\n});\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayoutsPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"summaryReportLayouts\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDefault\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"general\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"personalClients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"personalDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schedules\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canManageResellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canManageCustomers\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":495}};\n doc.loc.source = {\"body\":\"query SummaryReportLayoutsPage {\\r\\n viewer {\\r\\n login\\r\\n type\\r\\n summaryReportLayouts {\\r\\n name\\r\\n isDefault\\r\\n id\\r\\n general\\r\\n resellers\\r\\n clients\\r\\n personalClients\\r\\n domains\\r\\n personalDomains\\r\\n schedules {\\r\\n id\\r\\n isEnabled\\r\\n }\\r\\n }\\r\\n }\\r\\n mode {\\r\\n canManageResellers\\r\\n canManageCustomers\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportLayoutsPage\"] = oneQuery(doc, \"SummaryReportLayoutsPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayoutAddPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canManageResellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canManageCustomers\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":164}};\n doc.loc.source = {\"body\":\"query SummaryReportLayoutAddPage {\\r\\n mode {\\r\\n canManageResellers\\r\\n canManageCustomers\\r\\n }\\r\\n viewer {\\r\\n login\\r\\n type\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportLayoutAddPage\"] = oneQuery(doc, \"SummaryReportLayoutAddPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayoutEditPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"summaryReportLayout\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayout\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDefault\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"general\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"personalClients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"personalDomains\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":349}};\n doc.loc.source = {\"body\":\"query SummaryReportLayoutEditPage($id: ID!) {\\r\\n summaryReportLayout: node(id: $id) {\\r\\n ... on SummaryReportLayout {\\r\\n id\\r\\n name\\r\\n isDefault\\r\\n general\\r\\n resellers\\r\\n clients\\r\\n personalClients\\r\\n domains\\r\\n personalDomains\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportLayoutEditPage\"] = oneQuery(doc, \"SummaryReportLayoutEditPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TrafficHistoryReportPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficHistory\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"year\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"month\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsage\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":255}};\n doc.loc.source = {\"body\":\"query TrafficHistoryReportPage {\\r\\n viewer {\\r\\n login\\r\\n type\\r\\n client {\\r\\n id\\r\\n trafficHistory {\\r\\n year\\r\\n month\\r\\n trafficUsage\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TrafficHistoryReportPage\"] = oneQuery(doc, \"TrafficHistoryReportPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportSchedulesPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"summaryReportLayout\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayout\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"schedules\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"period\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lastSentDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":462}};\n doc.loc.source = {\"body\":\"query SummaryReportSchedulesPage($id: ID!) {\\r\\n viewer {\\r\\n login\\r\\n type\\r\\n client {\\r\\n id\\r\\n email\\r\\n }\\r\\n }\\r\\n summaryReportLayout: node(id: $id) {\\r\\n ... on SummaryReportLayout {\\r\\n id\\r\\n name\\r\\n schedules {\\r\\n id\\r\\n isEnabled\\r\\n period\\r\\n lastSentDate\\r\\n email\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportSchedulesPage\"] = oneQuery(doc, \"SummaryReportSchedulesPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportScheduleAddPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"layoutId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"summaryReportLayout\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"layoutId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayout\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":295}};\n doc.loc.source = {\"body\":\"query SummaryReportScheduleAddPage($layoutId: ID!) {\\r\\n viewer {\\r\\n login\\r\\n client {\\r\\n id\\r\\n email\\r\\n }\\r\\n }\\r\\n summaryReportLayout: node(id: $layoutId) {\\r\\n ... on SummaryReportLayout {\\r\\n id\\r\\n name\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportScheduleAddPage\"] = oneQuery(doc, \"SummaryReportScheduleAddPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportScheduleEditPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"scheduleId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"layoutId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"summaryReportSchedule\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"scheduleId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportSchedule\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"period\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"summaryReportLayout\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"layoutId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayout\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":479}};\n doc.loc.source = {\"body\":\"query SummaryReportScheduleEditPage($scheduleId: ID!, $layoutId: ID!) {\\r\\n viewer {\\r\\n login\\r\\n client {\\r\\n id\\r\\n email\\r\\n }\\r\\n }\\r\\n summaryReportSchedule: node(id: $scheduleId) {\\r\\n ... on SummaryReportSchedule {\\r\\n id\\r\\n period\\r\\n email\\r\\n }\\r\\n }\\r\\n summaryReportLayout: node(id: $layoutId) {\\r\\n ... on SummaryReportLayout {\\r\\n id\\r\\n name\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportScheduleEditPage\"] = oneQuery(doc, \"SummaryReportScheduleEditPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportPrintPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"summaryReportLayout\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayout\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"data\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportFragment\"},\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSitebuilderAvailable\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":369}};\n doc.loc.source = {\"body\":\"#import \\\"./SummaryReportFragment.graphql\\\"\\r\\n\\r\\nquery SummaryReportPrintPage($id: ID!) {\\r\\n summaryReportLayout: node(id: $id) {\\r\\n ... on SummaryReportLayout {\\r\\n id\\r\\n data {\\r\\n ...SummaryReportFragment\\r\\n }\\r\\n }\\r\\n }\\r\\n os {\\r\\n isUnix\\r\\n }\\r\\n server {\\r\\n isSitebuilderAvailable\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"./SummaryReportFragment.graphql\").definitions));\r\n\r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportPrintPage\"] = oneQuery(doc, \"SummaryReportPrintPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportData\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"general\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"build\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ownerPname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ownerLogin\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"phone\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fax\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"addr\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"city\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pcode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"country\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"creationDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"activeResellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellersList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resProblem\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resStatus\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resPname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resCrDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resActiveClients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resClients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resDiskSpace\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resTraffic\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resActiveDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resSubdomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resPostboxes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resMailGroups\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resMailResps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resMailLists\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resWebUsers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resMssqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resPgsqlDataBases\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"activeClients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientsList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clProblem\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clStatus\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clPname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clOwner\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clCrDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clDiskSpace\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clTraffic\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clActiveDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clSubdomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clPostboxes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clMailGroups\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clMailResps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clMailLists\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clWebUsers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clMssqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clPgsqlDataBases\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"personalClients\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"activeClients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientsList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clProblem\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clStatus\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clPname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clOwner\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clCrDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clDiskSpace\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clTraffic\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clActiveDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clSubdomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clPostboxes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clMailGroups\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clMailResps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clMailLists\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clWebUsers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clMssqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clPgsqlDataBases\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"diskSpace\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"traffic\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"activeDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subdomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"postboxes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailGroups\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailResps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailLists\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webUsers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mssqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pgsqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sitebuilderSites\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainsList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domStatus\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domHtype\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domOwner\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domCrDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domDiskSpace\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domTraffic\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domSubdomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domPostboxes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domMailGroups\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domMailResps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domMailLists\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domWebUsers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domMssqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domPgsqlDataBases\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"personalDomains\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"diskSpace\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"traffic\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"activeDomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subdomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"postboxes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailGroups\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailResps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailLists\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webUsers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mssqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pgsqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sitebuilderSites\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainsList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domStatus\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domHtype\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domOwner\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domCrDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domDiskSpace\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domTraffic\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domSubdomains\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domPostboxes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domMailGroups\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domMailResps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domMailLists\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domWebUsers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domMssqlDataBases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domPgsqlDataBases\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":2914}};\n doc.loc.source = {\"body\":\"fragment SummaryReportFragment on SummaryReportData {\\r\\n general {\\r\\n version\\r\\n build\\r\\n cname\\r\\n pname\\r\\n ownerPname\\r\\n ownerLogin\\r\\n login\\r\\n phone\\r\\n fax\\r\\n email\\r\\n addr\\r\\n city\\r\\n state\\r\\n pcode\\r\\n country\\r\\n creationDate\\r\\n description\\r\\n}\\r\\n\\r\\nresellers {\\r\\n resellers\\r\\n activeResellers\\r\\n resellersList {\\r\\n resProblem\\r\\n resStatus\\r\\n resPname\\r\\n resCrDate\\r\\n resActiveClients\\r\\n resClients\\r\\n resDiskSpace\\r\\n resTraffic\\r\\n resActiveDomains\\r\\n resDomains\\r\\n resSubdomains\\r\\n resPostboxes\\r\\n resMailGroups\\r\\n resMailResps\\r\\n resMailLists\\r\\n resWebUsers\\r\\n resDataBases\\r\\n resMssqlDataBases\\r\\n resPgsqlDataBases\\r\\n }\\r\\n}\\r\\nclients {\\r\\n clients\\r\\n activeClients\\r\\n clientsList {\\r\\n clProblem\\r\\n clStatus\\r\\n clPname\\r\\n clOwner\\r\\n clCrDate\\r\\n clDiskSpace\\r\\n clTraffic\\r\\n clActiveDomains\\r\\n clDomains\\r\\n clSubdomains\\r\\n clPostboxes\\r\\n clMailGroups\\r\\n clMailResps\\r\\n clMailLists\\r\\n clWebUsers\\r\\n clDataBases\\r\\n clMssqlDataBases\\r\\n clPgsqlDataBases\\r\\n }\\r\\n}\\r\\npersonalClients {\\r\\n clients\\r\\n activeClients\\r\\n clientsList {\\r\\n clProblem\\r\\n clStatus\\r\\n clPname\\r\\n clOwner\\r\\n clCrDate\\r\\n clDiskSpace\\r\\n clTraffic\\r\\n clActiveDomains\\r\\n clDomains\\r\\n clSubdomains\\r\\n clPostboxes\\r\\n clMailGroups\\r\\n clMailResps\\r\\n clMailLists\\r\\n clWebUsers\\r\\n clDataBases\\r\\n clMssqlDataBases\\r\\n clPgsqlDataBases\\r\\n }\\r\\n}\\r\\ndomains {\\r\\n diskSpace\\r\\n traffic\\r\\n activeDomains\\r\\n subdomains\\r\\n postboxes\\r\\n mailGroups\\r\\n mailResps\\r\\n mailLists\\r\\n webUsers\\r\\n dataBases\\r\\n mssqlDataBases\\r\\n pgsqlDataBases\\r\\n sitebuilderSites\\r\\n domains\\r\\n domainsList {\\r\\n domStatus\\r\\n domHtype\\r\\n domName\\r\\n domOwner\\r\\n domCrDate\\r\\n domDiskSpace\\r\\n domTraffic\\r\\n domSubdomains\\r\\n domPostboxes\\r\\n domMailGroups\\r\\n domMailResps\\r\\n domMailLists\\r\\n domWebUsers\\r\\n domDataBases\\r\\n domMssqlDataBases\\r\\n domPgsqlDataBases\\r\\n }\\r\\n}\\r\\npersonalDomains {\\r\\n diskSpace\\r\\n traffic\\r\\n activeDomains\\r\\n subdomains\\r\\n postboxes\\r\\n mailGroups\\r\\n mailResps\\r\\n mailLists\\r\\n webUsers\\r\\n dataBases\\r\\n mssqlDataBases\\r\\n pgsqlDataBases\\r\\n sitebuilderSites\\r\\n domains\\r\\n domainsList {\\r\\n domStatus\\r\\n domHtype\\r\\n domName\\r\\n domOwner\\r\\n domCrDate\\r\\n domDiskSpace\\r\\n domTraffic\\r\\n domSubdomains\\r\\n domPostboxes\\r\\n domMailGroups\\r\\n domMailResps\\r\\n domMailLists\\r\\n domWebUsers\\r\\n domDataBases\\r\\n domMssqlDataBases\\r\\n domPgsqlDataBases\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportFragment\"] = oneQuery(doc, \"SummaryReportFragment\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"summaryReportLayouts\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"summaryReportLayout\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportLayout\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"data\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"SummaryReportFragment\"},\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyTraffic\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSitebuilderAvailable\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":639}};\n doc.loc.source = {\"body\":\"#import \\\"./SummaryReportFragment.graphql\\\"\\r\\n\\r\\nquery SummaryReportPage($id: ID!) {\\r\\n viewer {\\r\\n login\\r\\n type\\r\\n client {\\r\\n id\\r\\n email\\r\\n type\\r\\n }\\r\\n summaryReportLayouts {\\r\\n name\\r\\n id\\r\\n }\\r\\n }\\r\\n summaryReportLayout: node(id: $id) {\\r\\n ... on SummaryReportLayout {\\r\\n id\\r\\n data {\\r\\n ...SummaryReportFragment\\r\\n }\\r\\n }\\r\\n }\\r\\n primaryKey {\\r\\n pleskKeyId\\r\\n keyTraffic\\r\\n }\\r\\n os {\\r\\n isUnix\\r\\n }\\r\\n server {\\r\\n isSitebuilderAvailable\\r\\n }\\r\\n}\\r\\n\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"./SummaryReportFragment.graphql\").definitions));\r\n\r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SummaryReportPage\"] = oneQuery(doc, \"SummaryReportPage\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport pageData from 'helpers/pageData';\r\nimport { getId } from 'helpers/getId';\r\nimport { getContextUrl } from 'helpers/getContextUrl';\r\nimport { aspDotNetDomainSettingsRoute } from 'routes/aspDotNetDomainSettingsRoute';\r\nimport { bandwidthLimitingDomainRoute } from 'routes/bandwidthLimitingDomainRoute';\r\nimport { hotlinkProtectionDomainRoute } from 'routes/hotlinkProtectionDomainRoute';\r\nimport { odbcDomainRoute } from 'routes/odbcDomainRoute';\r\nimport { protectedDirectoriesRoute } from 'routes/protectedDirectoriesRoute';\r\nimport { virtualDirectoryRoute } from './virtualDirectoryRoute';\r\nimport { trafficUsageByDomainRoute } from 'routes/trafficUsageByDomainRoute';\r\nimport { domainDatabaseRoute } from 'routes/domainDatabaseRoute';\r\nimport apolloClient from '../apolloClient';\r\n\r\nimport DOMAIN_PAGE from 'queries/DomainPage.graphql';\r\n\r\nexport const domainRoute = ({ createPageDataLoader }) => ({\r\n path: 'domains/:domainId',\r\n loader: async ({ params }) => {\r\n const id = btoa(`Domain:${params.domainId}`);\r\n\r\n const { data } = await apolloClient.query({\r\n query: DOMAIN_PAGE,\r\n variables: { id },\r\n });\r\n\r\n return data;\r\n },\r\n handle: {\r\n crumb: ({ data, matchesContext }) => {\r\n matchesContext.domainRouteData = data;\r\n\r\n const { domain } = data;\r\n let { baseDomain } = data;\r\n baseDomain = domain.baseDomain || domain;\r\n\r\n const { pageSidebar } = pageData();\r\n const { isPowerUserPanel, navigationContext } = pageSidebar;\r\n\r\n const domainId = getId(domain.id);\r\n const baseDomainId = getId(baseDomain.id);\r\n\r\n const crumbs = [\r\n {\r\n title: Locale.getSection('components.routes').lmsg('subscriptions'),\r\n href: '/admin/subscription/list',\r\n show: !isPowerUserPanel && navigationContext === 'subscriptions',\r\n },\r\n {\r\n title: `${baseDomain.name}`,\r\n href: `/admin/subscription/overview/id/${baseDomainId}`,\r\n show: !isPowerUserPanel && navigationContext === 'subscriptions',\r\n },\r\n {\r\n title: Locale.getSection('components.routes').lmsg('domains'),\r\n href: '/admin/domain/list',\r\n show: !isPowerUserPanel && navigationContext === 'domains',\r\n },\r\n {\r\n title: Locale.getSection('components.routes').lmsg('web'),\r\n href: getContextUrl(baseDomainId, '/smb/web/view'),\r\n show: isPowerUserPanel || navigationContext === 'subscriptions',\r\n },\r\n {\r\n title: domain.name,\r\n href: getContextUrl(baseDomainId, `/smb/web/overview/id/${domainId}/type/domain`),\r\n },\r\n ].filter(({ show = true }) => show);\r\n\r\n return crumbs;\r\n },\r\n },\r\n children: [\r\n aspDotNetDomainSettingsRoute,\r\n bandwidthLimitingDomainRoute,\r\n hotlinkProtectionDomainRoute,\r\n odbcDomainRoute,\r\n protectedDirectoriesRoute,\r\n virtualDirectoryRoute,\r\n trafficUsageByDomainRoute({ path: 'traffic-usage' }),\r\n domainDatabaseRoute({ loader: createPageDataLoader }),\r\n ],\r\n});\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport pageData from './pageData';\r\n\r\nexport const getContextUrl = (domainId: string | number, url: string): string => {\r\n const { pageSidebar } = pageData();\r\n const returnUrl = encodeURIComponent(url);\r\n return pageSidebar?.isPowerUserPanel\r\n ? `/smb/account/switch/id/${domainId}?hideNotice=1&returnUrl=${returnUrl}`\r\n : `/admin/subscription/login/id/${domainId}?pageUrl=${returnUrl}`;\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport apolloClient from 'apolloClient';\r\n\r\nimport ASP_DOT_NET_DOMAIN_SETTINGS_PAGE from 'queries/AspDotNetDomainSettingsPage.graphql';\r\n\r\nexport const aspDotNetDomainSettingsRoute = {\r\n path: 'asp-dot-net-settings',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/AspDotNetSettingsPage/AspDotNetDomainSettingsPage\" */'components/pages/AspDotNetSettingsPage/AspDotNetDomainSettingsPage'),\r\n loader: async ({ params }) => {\r\n const { data } = await apolloClient.query({\r\n query: ASP_DOT_NET_DOMAIN_SETTINGS_PAGE,\r\n variables: { id: btoa(`Domain:${params.domainId}`) },\r\n });\r\n\r\n if (!data.domain.webScriptingSettings?.aspDotNet || !data.domain.aspNetSettings?.configs.length) {\r\n throw new Response('Not Found', { status: 404 });\r\n }\r\n\r\n return data;\r\n },\r\n handle: {\r\n helpContext: 'aspdotnet',\r\n crumb: ({ matchesContext, params }) => {\r\n const { domain } = matchesContext.domainRouteData;\r\n const locale = Locale.getSection('components.routes');\r\n\r\n return [\r\n {\r\n title: locale.lmsg('aspDotNetDomainSettings', { domain: `${domain.name}` }),\r\n href: `/cp/domains/${params.domainId}/asp-dot-net-settings`,\r\n },\r\n ];\r\n },\r\n },\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AspDotNetDomainSettings\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"webPath\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webScriptingSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspDotNet\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspNetSettings\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"webPath\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"webPath\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"versions\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"configs\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customErrMode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"culture\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"connStrings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"debugMode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"authMode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customErrors\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canDelete\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"values\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"redirectUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statusCode\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fileEnc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"reqEnc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resEnc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sessTimeout\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tempDirectory\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trustLevelAllowOverride\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"uiCulture\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defLanguage\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trustLevel\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":2310}};\n doc.loc.source = {\"body\":\"query AspDotNetDomainSettings($id: ID!, $webPath: String) {\\r\\n domain: node(id: $id) {\\r\\n id\\r\\n ...on Domain {\\r\\n webScriptingSettings {\\r\\n aspDotNet\\r\\n }\\r\\n aspNetSettings(webPath: $webPath) {\\r\\n versions\\r\\n configs {\\r\\n customErrMode {\\r\\n value\\r\\n enumValues {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n\\r\\n culture {\\r\\n value\\r\\n enumValues {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n connStrings {\\r\\n name\\r\\n value\\r\\n }\\r\\n version\\r\\n debugMode\\r\\n authMode {\\r\\n value\\r\\n enumValues {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n customErrors {\\r\\n canDelete\\r\\n values {\\r\\n redirectUrl\\r\\n statusCode\\r\\n }\\r\\n }\\r\\n\\r\\n fileEnc\\r\\n reqEnc\\r\\n resEnc\\r\\n sessTimeout\\r\\n tempDirectory\\r\\n trustLevelAllowOverride\\r\\n uiCulture {\\r\\n value\\r\\n enumValues {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n\\r\\n defLanguage {\\r\\n value\\r\\n enumValues {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n trustLevel {\\r\\n value\\r\\n enumValues {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AspDotNetDomainSettings\"] = oneQuery(doc, \"AspDotNetDomainSettings\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport apolloClient from 'apolloClient';\r\n\r\nimport BANDWIDTH_LIMITING_PAGE from 'queries/BandwidthLimitingPage.graphql';\r\n\r\nexport const bandwidthLimitingDomainRoute = {\r\n path: 'bandwidth-limiting',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/BandwidthLimitingPage\" */'components/pages/BandwidthLimitingPage'),\r\n loader: async ({ params }) => {\r\n const { data } = await apolloClient.query({\r\n query: BANDWIDTH_LIMITING_PAGE,\r\n variables: { id: btoa(`Domain:${params.domainId}`) },\r\n });\r\n return data;\r\n },\r\n handle: {\r\n helpContext: 'client.domain.hosting.performance',\r\n crumb: ({ matchesContext }) => {\r\n const { domain } = matchesContext.domainRouteData;\r\n\r\n const locale = Locale.getSection('components.routes');\r\n return { title: locale.lmsg('bandwidthLimiting', { domainName: `${domain.name}` }) };\r\n },\r\n key: ({ params }) => params.domainId,\r\n },\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"BandwidthLimitingPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"performance\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficBandwidth\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxConnection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"packages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isQoSStarted\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":375}};\n doc.loc.source = {\"body\":\"query BandwidthLimitingPage($id: ID!) {\\r\\n domain: node(id: $id) {\\r\\n ... on Domain {\\r\\n id\\r\\n hosting {\\r\\n performance {\\r\\n trafficBandwidth\\r\\n maxConnection\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n capability {\\r\\n packages {\\r\\n isQoSStarted\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"BandwidthLimitingPage\"] = oneQuery(doc, \"BandwidthLimitingPage\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport apolloClient from 'apolloClient';\r\n\r\nimport HOTLINK_PROTECTION_PAGE from 'queries/HotlinkProtectionPage.graphql';\r\n\r\nexport const hotlinkProtectionDomainRoute = {\r\n path: 'hotlink-protection',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/HotlinkProtectionPage\" */'components/pages/HotlinkProtectionPage'),\r\n loader: async ({ params }) => {\r\n const { data } = await apolloClient.query({\r\n query: HOTLINK_PROTECTION_PAGE,\r\n variables: { id: btoa(`Domain:${params.domainId}`) },\r\n });\r\n return data;\r\n },\r\n handle: {\r\n helpContext: 'client.domain.hosting.hotlink-protection',\r\n crumb: ({ matchesContext }) => {\r\n const { domain } = matchesContext.domainRouteData;\r\n\r\n const locale = Locale.getSection('components.routes');\r\n return { title: locale.lmsg('hotlinkProtection', { domainName: `${domain.name}` }) };\r\n },\r\n key: ({ params }) => params.domainId,\r\n },\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"HotlinkProtectionPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hotlinkProtection\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"extensions\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"friends\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":318}};\n doc.loc.source = {\"body\":\"query HotlinkProtectionPage($id: ID!) {\\r\\n domain: node(id: $id) {\\r\\n ... on Domain {\\r\\n id\\r\\n hosting {\\r\\n hotlinkProtection {\\r\\n isEnabled\\r\\n extensions\\r\\n friends\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"HotlinkProtectionPage\"] = oneQuery(doc, \"HotlinkProtectionPage\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\r\nimport { odbcAddRoute } from 'routes/odbcAddRoute';\r\nimport { odbcEditRoute } from 'routes/odbcEditRoute';\r\nimport apolloClient from '../apolloClient';\r\n\r\nimport ODBC_DOMAIN_LIST from 'queries/OdbcDomainList.graphql';\r\nimport ODBC_DOMAIN_PAGE from 'queries/OdbcDomainPage.graphql';\r\n\r\nexport const odbcDomainRoute = {\r\n path: 'odbc',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/OdbcPage/OdbcDomainPage\" */\r\n 'components/pages/OdbcPage/OdbcDomainPage'\r\n ),\r\n loader: async ({ params }) => {\r\n const input = readGraphQlListInputFromStorage({ key: `OdbcDomainPage${params.domainId}` });\r\n const id = btoa(`Domain:${params.domainId}`);\r\n\r\n await Promise.all([\r\n apolloClient.query({\r\n query: ODBC_DOMAIN_PAGE,\r\n variables: { id },\r\n }),\r\n apolloClient.query({\r\n query: ODBC_DOMAIN_LIST,\r\n variables: { id, input },\r\n }),\r\n ]);\r\n },\r\n handle: {\r\n helpContext: 'odbc_connection_config',\r\n crumb: ({ matchesContext }) => {\r\n if (!matchesContext.domainRouteData) {\r\n return null;\r\n }\r\n const { domain } = matchesContext.domainRouteData;\r\n\r\n const locale = Locale.getSection('components.routes');\r\n return {\r\n title: locale.lmsg('odbcDomain', { domainName: `${domain.name}` }),\r\n };\r\n },\r\n key: ({ params }) => params.domainId,\r\n },\r\n children: [\r\n odbcAddRoute,\r\n odbcEditRoute,\r\n ],\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcDomainList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcDsnConnectionListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"odbcDsnConnections\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcList\"},\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":338}};\n doc.loc.source = {\"body\":\"#import \\\"./OdbcListFragment.graphql\\\"\\r\\n\\r\\nquery OdbcDomainList(\\r\\n $id: ID!\\r\\n $input: OdbcDsnConnectionListInput\\r\\n) {\\r\\n domain: node(id: $id) {\\r\\n ... on Domain {\\r\\n id\\r\\n odbcDsnConnections(\\r\\n input: $input\\r\\n ) {\\r\\n ...OdbcList\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"./OdbcListFragment.graphql\").definitions));\r\n\r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"OdbcDomainList\"] = oneQuery(doc, \"OdbcDomainList\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"OdbcDomainPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"DomainSubscriptionOdbcLimitFragment\"},\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":250}};\n doc.loc.source = {\"body\":\"#import \\\"queries/DomainSubscriptionOdbcLimitFragment.graphql\\\"\\r\\n\\r\\nquery OdbcDomainPage(\\r\\n $id: ID!\\r\\n) {\\r\\n domain: node(id: $id) {\\r\\n ... on Domain {\\r\\n id\\r\\n ...DomainSubscriptionOdbcLimitFragment\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/DomainSubscriptionOdbcLimitFragment.graphql\").definitions));\r\n\r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"OdbcDomainPage\"] = oneQuery(doc, \"OdbcDomainPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"DomainSubscriptionOdbcLimitFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscription\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limits\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"odbc\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"used\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"remaining\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLimitAvailable\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":247}};\n doc.loc.source = {\"body\":\"fragment DomainSubscriptionOdbcLimitFragment on Domain {\\r\\n subscription {\\r\\n id\\r\\n limits {\\r\\n odbc {\\r\\n used\\r\\n remaining\\r\\n isLimitAvailable\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DomainSubscriptionOdbcLimitFragment\"] = oneQuery(doc, \"DomainSubscriptionOdbcLimitFragment\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport { protectedDirectoryListRoute } from 'routes/protectedDirectoryListRoute';\r\nimport { protectedDirectoryUserListRoute } from 'routes/protectedDirectoryUserListRoute';\r\n\r\nexport const protectedDirectoriesRoute = {\r\n path: 'protected-directories',\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('protectedDirectories'),\r\n }),\r\n returnUrl: ({ params }) => `/cp/domains/${params.domainId}/protected-directories`,\r\n },\r\n children: [\r\n protectedDirectoryListRoute,\r\n protectedDirectoryUserListRoute,\r\n ],\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\r\nimport { protectedDirectoryAddRoute } from 'routes/protectedDirectoryAddRoute';\r\nimport { protectedDirectoryEditRoute } from 'routes/protectedDirectoryEditRoute';\r\nimport apolloClient from '../apolloClient';\r\n\r\nimport PROTECTED_DIRECTORY_LIST from 'queries/ProtectedDirectoryList.graphql';\r\n\r\nexport const protectedDirectoryListRoute = {\r\n path: '',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/ProtectedDirectoryListPage\" */\r\n 'components/pages/ProtectedDirectoryListPage'\r\n ),\r\n loader: async ({ params }) => {\r\n const { data: listData } = await apolloClient.query({\r\n query: PROTECTED_DIRECTORY_LIST,\r\n variables: {\r\n id: btoa(`Domain:${params.domainId}`),\r\n input: readGraphQlListInputFromStorage({ key: `ProtectedDirectoryListPage${params.domainId}` }),\r\n },\r\n });\r\n\r\n if (!listData.domain.hosting) {\r\n throw new Response('Not Found', { status: 404 });\r\n }\r\n },\r\n handle: {\r\n helpContext: 'client.domain.hosting.protected-directories',\r\n pageTitle: ({ matchesContext }) => {\r\n if (!matchesContext.domainRouteData) {\r\n return null;\r\n }\r\n const { domain } = matchesContext.domainRouteData;\r\n\r\n const locale = Locale.getSection('components.routes');\r\n return locale.lmsg('protectedDirectoryList', { domainName: `${domain.name}` });\r\n },\r\n key: ({ params }) => params.domainId,\r\n },\r\n children: [\r\n protectedDirectoryAddRoute,\r\n protectedDirectoryEditRoute,\r\n ],\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport apolloClient from 'apolloClient';\r\n\r\nimport PROTECTED_DIRECTORY_ADD_PAGE from 'queries/ProtectedDirectoryAddPage.graphql';\r\n\r\nexport const protectedDirectoryAddRoute = {\r\n path: 'add',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/ProtectedDirectoryAddPage\" */\r\n 'components/pages/ProtectedDirectoryAddPage'\r\n ),\r\n loader: async ({ params }) => {\r\n const { domainId } = params;\r\n const { data: { domain: { hosting } } } = await apolloClient.query({\r\n query: PROTECTED_DIRECTORY_ADD_PAGE,\r\n variables: { domainId: btoa(`Domain:${domainId}`) },\r\n });\r\n\r\n return {\r\n domainId,\r\n isProtectedDirectoryLocationSupported: hosting?.isProtectedDirectoryLocationSupported || false,\r\n };\r\n },\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryAddPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isProtectedDirectoryLocationSupported\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":241}};\n doc.loc.source = {\"body\":\"query ProtectedDirectoryAddPage($domainId: ID!) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id\\r\\n hosting {\\r\\n isProtectedDirectoryLocationSupported\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ProtectedDirectoryAddPage\"] = oneQuery(doc, \"ProtectedDirectoryAddPage\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport apolloClient from 'apolloClient';\r\n\r\nimport PROTECTED_DIRECTORY_EDIT_PAGE from 'queries/ProtectedDirectoryEditPage.graphql';\r\n\r\nexport const protectedDirectoryEditRoute = {\r\n path: ':protectedDirectoryId/edit',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/ProtectedDirectoryEditPage\" */\r\n 'components/pages/ProtectedDirectoryEditPage'\r\n ),\r\n loader: async ({ params }) => {\r\n const { domainId, protectedDirectoryId } = params;\r\n const { data: { domain: { hosting }, protectedDirectory } } = await apolloClient.query({\r\n query: PROTECTED_DIRECTORY_EDIT_PAGE,\r\n variables: {\r\n id: btoa(`ProtectedDirectory:${protectedDirectoryId}`),\r\n domainId: btoa(`Domain:${domainId}`),\r\n },\r\n });\r\n\r\n return {\r\n domainId,\r\n protectedDirectoryId,\r\n protectedDirectory,\r\n isProtectedDirectoryLocationSupported: hosting?.isProtectedDirectoryLocationSupported || false,\r\n };\r\n },\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryEditPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"protectedDirectory\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryEditFragment\"},\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isProtectedDirectoryLocationSupported\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":403}};\n doc.loc.source = {\"body\":\"#import \\\"queries/ProtectedDirectoryEditFragment.graphql\\\"\\r\\n\\r\\nquery ProtectedDirectoryEditPage($domainId: ID!, $id: ID!) {\\r\\n protectedDirectory: node(id: $id) {\\r\\n ...ProtectedDirectoryEditFragment\\r\\n }\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id\\r\\n hosting {\\r\\n isProtectedDirectoryLocationSupported\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/ProtectedDirectoryEditFragment.graphql\").definitions));\r\n\r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ProtectedDirectoryEditPage\"] = oneQuery(doc, \"ProtectedDirectoryEditPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryEditFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectory\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"realm\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isNonSsl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isCgiBin\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":125}};\n doc.loc.source = {\"body\":\"fragment ProtectedDirectoryEditFragment on ProtectedDirectory {\\r\\n id\\r\\n path\\r\\n realm\\r\\n isNonSsl\\r\\n isCgiBin\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ProtectedDirectoryEditFragment\"] = oneQuery(doc, \"ProtectedDirectoryEditFragment\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"protectedDirectories\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"realm\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":759}};\n doc.loc.source = {\"body\":\"query ProtectedDirectoryList(\\r\\n $id: ID!\\r\\n $input: ProtectedDirectoryListInput\\r\\n) {\\r\\n domain: node(id: $id) {\\r\\n ... on Domain {\\r\\n id\\r\\n hosting {\\r\\n protectedDirectories(\\r\\n input: $input\\r\\n ) {\\r\\n nodes {\\r\\n id\\r\\n path\\r\\n realm\\r\\n }\\r\\n pageInfo {\\r\\n current\\r\\n total\\r\\n pageCount\\r\\n }\\r\\n sortInfo {\\r\\n sortColumn\\r\\n sortDirection\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ProtectedDirectoryList\"] = oneQuery(doc, \"ProtectedDirectoryList\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\r\nimport apolloClient from 'apolloClient';\r\nimport { protectedDirectoryUserAddRoute } from 'routes/protectedDirectoryUserAddRoute';\r\nimport { protectedDirectoryUserPasswordRoute } from 'routes/protectedDirectoryUserPasswordRoute';\r\n\r\nimport PROTECTED_DIRECTORY_USER_LIST from 'queries/ProtectedDirectoryUserList.graphql';\r\nimport PROTECTED_DIRECTORY_PATH from 'queries/ProtectedDirectoryPath.graphql';\r\n\r\nexport const protectedDirectoryUserListRoute = {\r\n path: ':directoryId/users',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/ProtectedDirectoryUserListPage\" */\r\n 'components/pages/ProtectedDirectoryUserListPage'\r\n ),\r\n loader: async ({ params }) => {\r\n const id = btoa(`ProtectedDirectory:${params.directoryId}`);\r\n\r\n const [{ data: directoryData }] = await Promise.all([\r\n apolloClient.query({\r\n query: PROTECTED_DIRECTORY_PATH,\r\n variables: { id },\r\n }),\r\n apolloClient.query({\r\n query: PROTECTED_DIRECTORY_USER_LIST,\r\n variables: {\r\n id,\r\n input: readGraphQlListInputFromStorage({ key: `ProtectedDirectoryUserListPage${params.directoryId}` }),\r\n },\r\n }),\r\n ]);\r\n\r\n return directoryData;\r\n },\r\n handle: {\r\n helpContext: 'client.domain.hosting.protected-directories',\r\n crumb: ({ data }) => {\r\n const { protectedDirectory } = data;\r\n\r\n const locale = Locale.getSection('components.routes');\r\n const title = locale.lmsg('protectedDirectoryUserList', { directory: `/${protectedDirectory.path}` });\r\n\r\n return [{ title }];\r\n },\r\n },\r\n children: [\r\n protectedDirectoryUserAddRoute,\r\n protectedDirectoryUserPasswordRoute,\r\n ],\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport apolloClient from 'apolloClient';\r\n\r\nimport PROTECTED_DIRECTORY_PATH from 'queries/ProtectedDirectoryPath.graphql';\r\n\r\nexport const protectedDirectoryUserAddRoute = {\r\n path: 'add',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/ProtectedDirectoryUserAddPage\" */\r\n 'components/pages/ProtectedDirectoryUserAddPage'\r\n ),\r\n loader: async ({ params }) => {\r\n const { data } = await apolloClient.query({\r\n query: PROTECTED_DIRECTORY_PATH,\r\n variables: { id: btoa(`ProtectedDirectory:${params.directoryId}`) },\r\n });\r\n\r\n return data;\r\n },\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryPath\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"protectedDirectory\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectory\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":175}};\n doc.loc.source = {\"body\":\"query ProtectedDirectoryPath($id: ID!) {\\r\\n protectedDirectory: node(id: $id) {\\r\\n ... on ProtectedDirectory {\\r\\n id\\r\\n path\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ProtectedDirectoryPath\"] = oneQuery(doc, \"ProtectedDirectoryPath\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { gql } from '@apollo/client';\r\nimport apolloClient from 'apolloClient';\r\n\r\nexport const protectedDirectoryUserPasswordRoute = {\r\n path: ':userId/password',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/ProtectedDirectoryUserPasswordPage\" */\r\n 'components/pages/ProtectedDirectoryUserPasswordPage'\r\n ),\r\n loader: async ({ params }) => {\r\n const { data } = await apolloClient.query({\r\n query: gql`\r\n query ($id: ID!) {\r\n protectedDirectoryUser: node(id: $id) {\r\n ... on ProtectedDirectoryUser { id login }\r\n }\r\n }\r\n `,\r\n variables: { id: btoa(`ProtectedDirectoryUser:${params.userId}`) },\r\n });\r\n\r\n return data;\r\n },\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryUserList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryUserListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"protectedDirectory\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectory\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"users\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryUserListFragment\"},\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":385}};\n doc.loc.source = {\"body\":\"#import \\\"queries/ProtectedDirectoryUserListFragment.graphql\\\"\\r\\n\\r\\nquery ProtectedDirectoryUserList(\\r\\n $id: ID!,\\r\\n $input: ProtectedDirectoryUserListInput\\r\\n) {\\r\\n protectedDirectory: node(id: $id) {\\r\\n ... on ProtectedDirectory {\\r\\n id\\r\\n users(input: $input) {\\r\\n ...ProtectedDirectoryUserListFragment\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/ProtectedDirectoryUserListFragment.graphql\").definitions));\r\n\r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ProtectedDirectoryUserList\"] = oneQuery(doc, \"ProtectedDirectoryUserList\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryUserListFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryUserList\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":267}};\n doc.loc.source = {\"body\":\"fragment ProtectedDirectoryUserListFragment on ProtectedDirectoryUserList {\\r\\n nodes {\\r\\n id\\r\\n login\\r\\n }\\r\\n pageInfo {\\r\\n current\\r\\n total\\r\\n pageCount\\r\\n }\\r\\n sortInfo {\\r\\n sortColumn\\r\\n sortDirection\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ProtectedDirectoryUserListFragment\"] = oneQuery(doc, \"ProtectedDirectoryUserListFragment\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\nimport { redirect } from 'react-router-dom';\r\nimport apolloClient from 'apolloClient';\r\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\r\nimport { Locale } from 'jsw';\r\nimport { getId } from 'helpers/getId';\r\nimport VirtualDirectorySidebar from 'components/sidebars/VirtualDirectorySidebar';\r\nimport { protectedDirectoryUserAddRoute } from 'routes/protectedDirectoryUserAddRoute';\r\nimport { protectedDirectoryUserPasswordRoute } from 'routes/protectedDirectoryUserPasswordRoute';\r\nimport { protectedDirectoryEditRoute } from 'routes/protectedDirectoryEditRoute';\r\n\r\nimport CREATE_VIRTUAL_DIRECTORY_PAGE from 'queries/CreateVirtualDirectoryPage.graphql';\r\nimport EDIT_VIRTUAL_DIRECTORY_PAGE from 'queries/EditVirtualDirectoryPage.graphql';\r\nimport VIRTUAL_DIRECTORY_PAGE from 'queries/VirtualDirectoryPage.graphql';\r\nimport VIRTUAL_DIRECTORY_BROWSE_PAGE from 'queries/VirtualDirectoryBrowsePage.graphql';\r\nimport VIRTUAL_DIRECTORY_PROTECTION_PAGE from 'queries/VirtualDirectoryProtectionPage.graphql';\r\nimport VIRTUAL_DIRECTORY_PROTECTION_USER_LIST from 'queries/VirtualDirectoryProtectionUserList.graphql';\r\nimport VIRTUAL_DIRECTORY_MIME_TYPE_LIST from 'queries/VirtualDirectoryMimeTypeList.graphql';\r\nimport VIRTUAL_DIRECTORY_ERROR_DOC_LIST from 'queries/VirtualDirectoryErrorDocList.graphql';\r\nimport VIRTUAL_DIRECTORY_CONTENT_LIST from 'queries/VirtualDirectoryContentList.graphql';\r\nimport ASP_DOT_NET_DOMAIN_SETTINGS_PAGE from 'queries/AspDotNetDomainSettingsPage.graphql';\r\nimport VIRTUAL_DIRECTORY_PHP_PAGE from 'queries/VirtualDirectoryPhpPage.graphql';\r\nimport IIS_MANAGER_MIME_CONTENT_TYPES from 'queries/IisManagerMimeContentTypes.graphql';\r\nimport VIRTUAL_DIRECTORY_EDIT_MIME_TYPE_PAGE from 'queries/VirtualDirectoryEditMimeTypePage.graphql';\r\nimport VIRTUAL_DIRECTORY_EDIT_ERROR_DOC_PAGE from 'queries/VirtualDirectoryEditErrorDocPage.graphql';\r\n\r\nconst virtualDirectorySettingRoutes = [\r\n {\r\n path: ':directoryName?/edit-virtual-directory',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/EditVirtualDirectoryPage\" */\r\n 'components/pages/VirtualDirectoryPage/EditVirtualDirectoryPage'\r\n ),\r\n loader: async ({ request: { url }, params: { domainId, directoryName } }) => {\r\n const domainNodeId = btoa(`Domain:${domainId}`);\r\n const path = new URL(url).searchParams.get('path') || '/';\r\n\r\n const editablePath = directoryName ? `${path.replace(/\\/$/, '')}/${directoryName}` : path;\r\n\r\n const { data: pageData } = await apolloClient.query({\r\n query: EDIT_VIRTUAL_DIRECTORY_PAGE,\r\n variables: { domainNodeId, path: editablePath },\r\n fetchPolicy: 'network-only',\r\n });\r\n\r\n return {\r\n path: editablePath,\r\n isCurrentDirectory: !directoryName,\r\n subscriptionId: getId(pageData.domain.baseDomain?.id ?? pageData.domain.id),\r\n isAspEnabled: pageData.domain.webScriptingSettings.asp,\r\n virtualDirectory: pageData.domain.hosting.virtualDirectory,\r\n };\r\n },\r\n },\r\n {\r\n path: 'asp-dot-net',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/AspDotNetSettingsPage\" */\r\n 'components/pages/VirtualDirectoryPage/AspDotNetSettingsPage'\r\n ),\r\n loader: async ({ request: { url }, params: { domainId } }) => {\r\n const path = new URL(url).searchParams.get('path') || '/';\r\n const { data } = await apolloClient.query({\r\n query: ASP_DOT_NET_DOMAIN_SETTINGS_PAGE,\r\n variables: { id: btoa(`Domain:${domainId}`), webPath: path },\r\n });\r\n\r\n if (!data.domain.webScriptingSettings?.aspDotNet || !data.domain.aspNetSettings?.configs.length) {\r\n throw new Response('Not Found', { status: 404 });\r\n }\r\n },\r\n },\r\n {\r\n path: 'permissions',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/PermissionsPage\" */\r\n 'components/pages/VirtualDirectoryPage/PermissionsPage'\r\n ),\r\n },\r\n {\r\n path: 'php',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/PhpVersionPage\" */\r\n 'components/pages/VirtualDirectoryPage/PhpVersionPage'\r\n ),\r\n loader: async ({ request: { url }, params: { domainId } }) => {\r\n const path = new URL(url).searchParams.get('path') || '/';\r\n const { data } = await apolloClient.query({\r\n query: VIRTUAL_DIRECTORY_PHP_PAGE,\r\n variables: { domainId: btoa(`Domain:${domainId}`), path },\r\n });\r\n\r\n if (!data.domain.subscription.permissions.managePhpVersion ||\r\n !data.domain.hosting?.virtualDirectory?.isVirtual\r\n ) {\r\n throw new Response('Not Found', { status: 404 });\r\n }\r\n },\r\n },\r\n];\r\n\r\nexport const virtualDirectoryRoute = {\r\n path: 'virtual-directory',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage\" */\r\n 'components/pages/VirtualDirectoryPage'\r\n ),\r\n loader: async ({ request: { url }, params: { domainId } }) => {\r\n const id = btoa(`Domain:${domainId}`);\r\n const path = new URL(url).searchParams.get('path') || '/';\r\n\r\n const { data } = await apolloClient.query({\r\n query: VIRTUAL_DIRECTORY_PAGE,\r\n variables: { domainId: id, path },\r\n });\r\n\r\n if (!data.domain.hosting) {\r\n throw new Response('Not Found', { status: 404 });\r\n }\r\n },\r\n handle: {\r\n helpContext: 'client.domain.hosting.web-directories',\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('virtualDirectories'),\r\n }),\r\n pageTitle: ({ matchesContext, location: { search } }) => {\r\n if (!matchesContext.domainRouteData) {\r\n return null;\r\n }\r\n const { domain } = matchesContext.domainRouteData;\r\n const path = new URLSearchParams(search).get('path') || '/';\r\n const locale = Locale.getSection('components.routes');\r\n return locale.lmsg('virtualDirectoryDomain', { path, domainName: `${domain.name}` });\r\n },\r\n key: ({ params }) => {\r\n const path = new URL(window.location.toString()).searchParams.get('path') || '/';\r\n return `${params.domainId}${path}`;\r\n },\r\n secondary: ({ location: { search }, params: { domainId } }) => (\r\n \r\n ),\r\n },\r\n children: [\r\n {\r\n index: true,\r\n loader: ({ request }) => {\r\n const url = new URL(request.url);\r\n url.pathname = `${url.pathname}/browse`;\r\n return redirect(url.toString());\r\n },\r\n },\r\n {\r\n path: 'browse',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/Browse\" */\r\n 'components/pages/VirtualDirectoryPage/Browse'\r\n ),\r\n loader: async ({ request: { url }, params: { domainId } }) => {\r\n const id = btoa(`Domain:${domainId}`);\r\n const path = new URL(url).searchParams.get('path') || '/';\r\n\r\n await Promise.all([\r\n apolloClient.query({\r\n query: VIRTUAL_DIRECTORY_BROWSE_PAGE,\r\n variables: { domainId: id, path },\r\n }),\r\n apolloClient.query({\r\n query: VIRTUAL_DIRECTORY_CONTENT_LIST,\r\n variables: {\r\n domainId: id,\r\n path,\r\n input: readGraphQlListInputFromStorage({ key: `VirtualDirectoryPage${domainId}` }),\r\n },\r\n }),\r\n ]);\r\n },\r\n children: [\r\n ...virtualDirectorySettingRoutes,\r\n {\r\n path: 'create-directory',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/CreateDirectoryPage\" */\r\n 'components/pages/VirtualDirectoryPage/CreateDirectoryPage'\r\n ),\r\n },\r\n {\r\n path: 'create-virtual-directory',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/CreateVirtualDirectoryPage\" */\r\n 'components/pages/VirtualDirectoryPage/CreateVirtualDirectoryPage'\r\n ),\r\n loader: async ({ request: { url }, params: { domainId } }) => {\r\n const domainNodeId = btoa(`Domain:${domainId}`);\r\n const path = new URL(url).searchParams.get('path') || '/';\r\n\r\n const { data: pageData } = await apolloClient.query({\r\n query: CREATE_VIRTUAL_DIRECTORY_PAGE,\r\n variables: { domainId: domainNodeId, parentPath: path },\r\n fetchPolicy: 'network-only',\r\n });\r\n\r\n return {\r\n subscriptionId: getId(pageData.domain.baseDomain?.id ?? pageData.domain.id),\r\n isAspEnabled: pageData.domain.webScriptingSettings.asp,\r\n parentDirectory: pageData.domain.hosting.parentDirectory,\r\n };\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: 'protection',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/Protection\" */\r\n 'components/pages/VirtualDirectoryPage/Protection'\r\n ),\r\n loader: async ({ request: { url }, params: { domainId } }) => {\r\n const id = btoa(`Domain:${domainId}`);\r\n const path = new URL(url).searchParams.get('path') || '/';\r\n\r\n const userListKey = `VirtualDirectoryProtectionUserListPage${domainId}${path}`;\r\n\r\n await Promise.all([\r\n apolloClient.query({\r\n query: VIRTUAL_DIRECTORY_PROTECTION_PAGE,\r\n variables: { domainId: id, path },\r\n }),\r\n apolloClient.query({\r\n query: VIRTUAL_DIRECTORY_PROTECTION_USER_LIST,\r\n variables: {\r\n domainId: id,\r\n path,\r\n input: readGraphQlListInputFromStorage({ key: userListKey }),\r\n },\r\n }),\r\n ]);\r\n\r\n return { userListKey };\r\n },\r\n children: [\r\n ...virtualDirectorySettingRoutes,\r\n {\r\n ...protectedDirectoryEditRoute,\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/ProtectionSettingsPage\" */\r\n 'components/pages/VirtualDirectoryPage/ProtectionSettingsPage'\r\n ),\r\n },\r\n {\r\n ...protectedDirectoryUserAddRoute,\r\n path: ':directoryId/add-user',\r\n },\r\n protectedDirectoryUserPasswordRoute,\r\n ],\r\n },\r\n {\r\n path: 'mime-types',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/MimeTypeList\" */\r\n 'components/pages/VirtualDirectoryPage/MimeTypeList'\r\n ),\r\n loader: async ({ request: { url }, params: { domainId } }) => {\r\n const id = btoa(`Domain:${domainId}`);\r\n const path = new URL(url).searchParams.get('path') || '/';\r\n\r\n const mimeTypeListKey = `VirtualDirectoryMimeTypeList${domainId}${path}`;\r\n\r\n await apolloClient.query({\r\n query: VIRTUAL_DIRECTORY_MIME_TYPE_LIST,\r\n variables: {\r\n domainId: id,\r\n path,\r\n input: readGraphQlListInputFromStorage({ key: mimeTypeListKey }),\r\n },\r\n });\r\n\r\n return { mimeTypeListKey };\r\n },\r\n children: [\r\n ...virtualDirectorySettingRoutes,\r\n {\r\n path: 'create',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/CreateMimeTypePage\" */\r\n 'components/pages/VirtualDirectoryPage/CreateMimeTypePage'\r\n ),\r\n loader: async () => {\r\n await apolloClient.query({ query: IIS_MANAGER_MIME_CONTENT_TYPES });\r\n },\r\n },\r\n {\r\n path: ':extension/edit',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/EditMimeTypePage\" */\r\n 'components/pages/VirtualDirectoryPage/EditMimeTypePage'\r\n ),\r\n loader: async ({ request: { url }, params: { domainId, extension } }) => {\r\n const [{ data: editPageData }] = await Promise.all([\r\n apolloClient.query({\r\n query: VIRTUAL_DIRECTORY_EDIT_MIME_TYPE_PAGE,\r\n variables: {\r\n domainId: btoa(`Domain:${domainId}`),\r\n path: new URL(url).searchParams.get('path') || '/',\r\n extension,\r\n },\r\n }),\r\n apolloClient.query({ query: IIS_MANAGER_MIME_CONTENT_TYPES }),\r\n ]);\r\n\r\n return {\r\n mimeType: editPageData.domain.hosting.virtualDirectory.mimeType,\r\n };\r\n },\r\n },\r\n ],\r\n },\r\n {\r\n path: 'error-docs',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/ErrorDocList\" */\r\n 'components/pages/VirtualDirectoryPage/ErrorDocList'\r\n ),\r\n loader: async ({ request: { url }, params: { domainId } }) => {\r\n const path = new URL(url).searchParams.get('path') || '/';\r\n\r\n const errorDocListKey = `VirtualDirectoryErrorDocList${domainId}${path}`;\r\n\r\n await apolloClient.query({\r\n query: VIRTUAL_DIRECTORY_ERROR_DOC_LIST,\r\n variables: {\r\n domainId: btoa(`Domain:${domainId}`),\r\n path,\r\n input: readGraphQlListInputFromStorage({ key: errorDocListKey }),\r\n },\r\n });\r\n\r\n return { errorDocListKey };\r\n },\r\n children: [\r\n ...virtualDirectorySettingRoutes,\r\n {\r\n path: ':code/edit',\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/VirtualDirectoryPage/EditErrorDocPage\" */\r\n 'components/pages/VirtualDirectoryPage/EditErrorDocPage'\r\n ),\r\n loader: async ({ request: { url }, params: { domainId, code } }) => {\r\n const { data: editPageData } = await apolloClient.query({\r\n query: VIRTUAL_DIRECTORY_EDIT_ERROR_DOC_PAGE,\r\n variables: {\r\n domainId: btoa(`Domain:${domainId}`),\r\n path: new URL(url).searchParams.get('path') || '/',\r\n code,\r\n },\r\n });\r\n\r\n return {\r\n errorDoc: editPageData.domain.hosting.virtualDirectory.errorDoc,\r\n };\r\n },\r\n },\r\n ],\r\n },\r\n ],\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport PropTypes from 'prop-types';\r\nimport { useLocation } from 'react-router-dom';\r\nimport { ItemList, Item, Icon } from '@plesk/ui-library';\r\nimport SidePanel from './SidePanel';\r\nimport Link from 'components/common/Link';\r\nimport { buildUrl } from 'helpers/buildUrl';\r\nimport { Locale } from 'jsw';\r\n\r\nimport VIRTUAL_DIRECTORY_PAGE from 'queries/VirtualDirectoryPage.graphql';\r\nimport { useQuery } from '@apollo/client';\r\n\r\nconst Translate = Locale.getTranslate('components.pages.VirtualDirectory');\r\n\r\nconst VirtualDirectorySidebar = ({ path, domainId }) => {\r\n const location = useLocation();\r\n const { data: {\r\n domain: {\r\n webScriptingSettings: { aspDotNet, php },\r\n hosting: { virtualDirectory: { isVirtual, canManagePermissions } },\r\n subscription: { permissions: { managePhpVersion } },\r\n },\r\n capability: { packages: { isASPdotNetInstalled, isPhpInstalled } },\r\n } } = useQuery(\r\n VIRTUAL_DIRECTORY_PAGE,\r\n { variables: { domainId: btoa(`Domain:${domainId}`), path } },\r\n );\r\n\r\n const urlPrefix = location.pathname;\r\n\r\n const buttonProperties = isVirtual;\r\n const buttonPermissions = canManagePermissions;\r\n const buttonAspDotNet = aspDotNet && isASPdotNetInstalled;\r\n const buttonPhp = isVirtual && isPhpInstalled && php && managePhpVersion;\r\n\r\n const showPanel = buttonProperties || buttonPermissions || buttonAspDotNet || buttonPhp;\r\n\r\n if (!showPanel) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {buttonProperties && (\r\n }\r\n component={Link}\r\n to={buildUrl(`${urlPrefix}/edit-virtual-directory`, { path })}\r\n preventScrollReset\r\n tooltip={}\r\n >\r\n \r\n \r\n )}\r\n {buttonPermissions && (\r\n }\r\n component={Link}\r\n to={buildUrl(`${urlPrefix}/permissions`, { path })}\r\n preventScrollReset\r\n tooltip={}\r\n >\r\n \r\n \r\n )}\r\n {buttonAspDotNet && (\r\n }\r\n component={Link}\r\n to={buildUrl(`${urlPrefix}/asp-dot-net`, { path })}\r\n preventScrollReset\r\n tooltip={}\r\n >\r\n \r\n \r\n )}\r\n {buttonPhp && (\r\n }\r\n component={Link}\r\n to={buildUrl(`${urlPrefix}/php`, { path })}\r\n preventScrollReset\r\n tooltip={}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nVirtualDirectorySidebar.propTypes = {\r\n path: PropTypes.string.isRequired,\r\n domainId: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default VirtualDirectorySidebar;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { useLocalStorage } from 'common/hooks';\r\nimport { Panel, Heading } from '@plesk/ui-library';\r\n\r\nconst SidePanel = ({\r\n baseClassName = 'side-panel',\r\n className = undefined,\r\n id = undefined,\r\n title = undefined,\r\n children,\r\n ...props\r\n}) => {\r\n const [isHidden, setHidden] = useLocalStorage(`${id}-hidden`);\r\n\r\n return (\r\n {title} : null}\r\n collapsible={!!id}\r\n collapsed={title ? isHidden === 'true' : false}\r\n onToggle={() => setHidden(isHidden === 'true' ? 'false' : 'true')}\r\n {...props}\r\n >\r\n {children}\r\n \r\n );\r\n};\r\n\r\nSidePanel.propTypes = {\r\n id: PropTypes.string,\r\n title: PropTypes.any,\r\n children: PropTypes.any.isRequired,\r\n className: PropTypes.string,\r\n baseClassName: PropTypes.string,\r\n};\r\n\r\nexport default SidePanel;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport const buildUrl = (url: string, params: Record = {}): string => {\r\n const searchParams = new URLSearchParams();\r\n Object.entries(params)\r\n .filter(([, value]) => value !== null)\r\n .forEach(([key, value]) => searchParams.append(key, `${value}`));\r\n const searchString = searchParams.toString();\r\n return `${url}${searchString ? `?${searchString}` : ''}`;\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webScriptingSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspDotNet\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"php\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errorDocs\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"baseName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dirName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isVirtual\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"doesExist\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isReadable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canManagePermissions\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscription\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"managePhpVersion\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageProtectedDirectories\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"packages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isASPdotNetInstalled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPhpInstalled\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":939}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryPage(\\r\\n $domainId: ID!,\\r\\n $path: String!\\r\\n) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id\\r\\n name\\r\\n webScriptingSettings {\\r\\n aspDotNet\\r\\n php\\r\\n errorDocs\\r\\n }\\r\\n hosting {\\r\\n virtualDirectory(path: $path) {\\r\\n key\\r\\n baseName\\r\\n dirName\\r\\n isVirtual\\r\\n doesExist\\r\\n isReadable\\r\\n canManagePermissions\\r\\n }\\r\\n }\\r\\n subscription {\\r\\n permissions {\\r\\n managePhpVersion\\r\\n manageProtectedDirectories\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n capability {\\r\\n packages {\\r\\n isASPdotNetInstalled\\r\\n isPhpInstalled\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryPage\"] = oneQuery(doc, \"VirtualDirectoryPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"CreateVirtualDirectoryPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"parentPath\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"baseDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webScriptingSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"asp\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"parentDirectory\"},\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"parentPath\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryParentContentFragment\"},\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"properties\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspBufferingLimit\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspMaxRequestEntityAllowed\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableServerDebug\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableClientDebug\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":821}};\n doc.loc.source = {\"body\":\"#import \\\"queries/VirtualDirectoryParentContentFragment.graphql\\\"\\r\\n\\r\\nquery CreateVirtualDirectoryPage(\\r\\n $domainId: ID!,\\r\\n $parentPath: String!,\\r\\n) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id\\r\\n baseDomain {\\r\\n id\\r\\n }\\r\\n webScriptingSettings {\\r\\n asp\\r\\n }\\r\\n hosting {\\r\\n parentDirectory: virtualDirectory (path: $parentPath) {\\r\\n ...VirtualDirectoryParentContentFragment\\r\\n properties {\\r\\n aspBufferingLimit\\r\\n aspMaxRequestEntityAllowed\\r\\n aspEnableServerDebug\\r\\n aspEnableClientDebug\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/VirtualDirectoryParentContentFragment.graphql\").definitions));\r\n\r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"CreateVirtualDirectoryPage\"] = oneQuery(doc, \"CreateVirtualDirectoryPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryParentContentFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectory\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"content\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":168}};\n doc.loc.source = {\"body\":\"fragment VirtualDirectoryParentContentFragment on VirtualDirectory {\\r\\n key\\r\\n content {\\r\\n nodes {\\r\\n name\\r\\n type\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryParentContentFragment\"] = oneQuery(doc, \"VirtualDirectoryParentContentFragment\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"EditVirtualDirectoryPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainNodeId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainNodeId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"baseDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webScriptingSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"asp\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"parent\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryParentContentFragment\"},\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"properties\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRoot\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEditable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"accessSource\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"accessRead\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"accessWrite\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enableDirBrowsing\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dontLog\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"appCreate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"scriptExecute\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableParentPaths\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspExecuteInMTA\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"authAnonymous\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"authNTLM\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"requireSSL\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspBufferingLimit\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspBufferingLimitInherited\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspBufferingLimitDefault\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspMaxRequestEntityAllowed\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspMaxRequestEntityAllowedInherited\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspMaxRequestEntityAllowedDefault\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableServerDebug\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableServerDebugInherited\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableServerDebugDefault\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableClientDebug\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableClientDebugInherited\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspEnableClientDebugDefault\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enableDefaultDoc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultDocs\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":2011}};\n doc.loc.source = {\"body\":\"#import \\\"queries/VirtualDirectoryParentContentFragment.graphql\\\"\\r\\n\\r\\nquery EditVirtualDirectoryPage(\\r\\n $domainNodeId: ID!,\\r\\n $path: String!,\\r\\n) {\\r\\n domain: node(id: $domainNodeId) {\\r\\n ... on Domain {\\r\\n id\\r\\n baseDomain {\\r\\n id\\r\\n }\\r\\n webScriptingSettings {\\r\\n asp\\r\\n }\\r\\n hosting {\\r\\n virtualDirectory (path: $path) {\\r\\n key\\r\\n parent {\\r\\n key\\r\\n ...VirtualDirectoryParentContentFragment\\r\\n }\\r\\n properties {\\r\\n isRoot\\r\\n isEditable\\r\\n name\\r\\n path\\r\\n accessSource\\r\\n accessRead\\r\\n accessWrite\\r\\n enableDirBrowsing\\r\\n dontLog\\r\\n appCreate\\r\\n scriptExecute\\r\\n aspEnableParentPaths\\r\\n aspExecuteInMTA\\r\\n authAnonymous\\r\\n authNTLM\\r\\n requireSSL\\r\\n aspBufferingLimit\\r\\n aspBufferingLimitInherited\\r\\n aspBufferingLimitDefault\\r\\n aspMaxRequestEntityAllowed\\r\\n aspMaxRequestEntityAllowedInherited\\r\\n aspMaxRequestEntityAllowedDefault\\r\\n aspEnableServerDebug\\r\\n aspEnableServerDebugInherited\\r\\n aspEnableServerDebugDefault\\r\\n aspEnableClientDebug\\r\\n aspEnableClientDebugInherited\\r\\n aspEnableClientDebugDefault\\r\\n enableDefaultDoc\\r\\n defaultDocs\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/VirtualDirectoryParentContentFragment.graphql\").definitions));\r\n\r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"EditVirtualDirectoryPage\"] = oneQuery(doc, \"EditVirtualDirectoryPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryBrowsePage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"doesExist\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isVirtual\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWritable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAccessible\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscription\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageProtectedDirectories\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":596}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryBrowsePage(\\r\\n $domainId: ID!,\\r\\n $path: String!\\r\\n) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id\\r\\n name\\r\\n hosting {\\r\\n virtualDirectory(path: $path) {\\r\\n key\\r\\n doesExist\\r\\n isVirtual\\r\\n isWritable\\r\\n isAccessible\\r\\n }\\r\\n }\\r\\n subscription {\\r\\n permissions {\\r\\n manageProtectedDirectories\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryBrowsePage\"] = oneQuery(doc, \"VirtualDirectoryBrowsePage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryProtectionPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webDirName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"protectedDirectory\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isValidForProtection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":510}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryProtectionPage(\\r\\n $domainId: ID!,\\r\\n $path: String!\\r\\n) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id\\r\\n hosting {\\r\\n virtualDirectory(path: $path) {\\r\\n key\\r\\n webDirName\\r\\n protectedDirectory {\\r\\n id\\r\\n path\\r\\n }\\r\\n isValidForProtection\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryProtectionPage\"] = oneQuery(doc, \"VirtualDirectoryProtectionPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryProtectionUserList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryUserListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"protectedDirectory\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"users\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"ProtectedDirectoryUserListFragment\"},\"directives\":[]}]}}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":665}};\n doc.loc.source = {\"body\":\"#import \\\"queries/ProtectedDirectoryUserListFragment.graphql\\\"\\r\\n\\r\\nquery VirtualDirectoryProtectionUserList(\\r\\n $domainId: ID!,\\r\\n $path: String!,\\r\\n $input: ProtectedDirectoryUserListInput,\\r\\n) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id \\r\\n hosting {\\r\\n virtualDirectory(path: $path) {\\r\\n key\\r\\n protectedDirectory {\\r\\n id\\r\\n users(input: $input) {\\r\\n ...ProtectedDirectoryUserListFragment\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/ProtectedDirectoryUserListFragment.graphql\").definitions));\r\n\r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryProtectionUserList\"] = oneQuery(doc, \"VirtualDirectoryProtectionUserList\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryMimeTypeList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryMimeTypeListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mimeTypes\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"extension\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"content\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":889}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryMimeTypeList(\\r\\n $domainId: ID!,\\r\\n $path: String!,\\r\\n $input: VirtualDirectoryMimeTypeListInput,\\r\\n) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id \\r\\n hosting {\\r\\n virtualDirectory(path: $path) {\\r\\n key\\r\\n mimeTypes(input: $input) {\\r\\n nodes {\\r\\n extension\\r\\n content\\r\\n }\\r\\n pageInfo {\\r\\n current\\r\\n total\\r\\n pageCount\\r\\n }\\r\\n sortInfo {\\r\\n sortColumn\\r\\n sortDirection\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryMimeTypeList\"] = oneQuery(doc, \"VirtualDirectoryMimeTypeList\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryErrorDocList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryErrorDocListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errorDocs\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"location\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":953}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryErrorDocList(\\r\\n $domainId: ID!,\\r\\n $path: String!,\\r\\n $input: VirtualDirectoryErrorDocListInput,\\r\\n) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id \\r\\n hosting {\\r\\n virtualDirectory(path: $path) {\\r\\n key\\r\\n errorDocs(input: $input) {\\r\\n nodes {\\r\\n code\\r\\n name\\r\\n type\\r\\n location\\r\\n }\\r\\n pageInfo {\\r\\n current\\r\\n total\\r\\n pageCount\\r\\n }\\r\\n sortInfo {\\r\\n sortColumn\\r\\n sortDirection\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryErrorDocList\"] = oneQuery(doc, \"VirtualDirectoryErrorDocList\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryContentList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryContentListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"content\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fileType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isProtected\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isReserved\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canManagePermissions\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"doesExist\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"baseName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dirName\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1157}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryContentList(\\r\\n $domainId: ID!,\\r\\n $path: String!,\\r\\n $input: VirtualDirectoryContentListInput\\r\\n) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id\\r\\n hosting {\\r\\n virtualDirectory(path: $path) {\\r\\n key\\r\\n content(input: $input) {\\r\\n nodes {\\r\\n name\\r\\n type\\r\\n fileType\\r\\n isProtected\\r\\n isReserved\\r\\n canManagePermissions\\r\\n doesExist\\r\\n baseName\\r\\n dirName\\r\\n }\\r\\n pageInfo {\\r\\n current\\r\\n total\\r\\n pageCount\\r\\n }\\r\\n sortInfo {\\r\\n sortColumn\\r\\n sortDirection\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryContentList\"] = oneQuery(doc, \"VirtualDirectoryContentList\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryPhpPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isVirtual\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"phpVersion\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fullVersion\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availablePhpVersions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fullVersion\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscription\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"managePhpVersion\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":732}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryPhpPage(\\r\\n $domainId: ID!,\\r\\n $path: String!\\r\\n) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id\\r\\n hosting {\\r\\n virtualDirectory(path: $path) {\\r\\n key\\r\\n isVirtual\\r\\n phpVersion {\\r\\n version\\r\\n fullVersion\\r\\n }\\r\\n availablePhpVersions {\\r\\n version\\r\\n fullVersion\\r\\n }\\r\\n }\\r\\n }\\r\\n subscription {\\r\\n permissions {\\r\\n managePhpVersion\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryPhpPage\"] = oneQuery(doc, \"VirtualDirectoryPhpPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"IisManagerMimeContentTypes\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"iisManager\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mimeContentTypes\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":90}};\n doc.loc.source = {\"body\":\"query IisManagerMimeContentTypes {\\r\\n iisManager {\\r\\n mimeContentTypes\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"IisManagerMimeContentTypes\"] = oneQuery(doc, \"IisManagerMimeContentTypes\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryEditMimeTypePage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"extension\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mimeType\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"extension\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"extension\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"extension\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"content\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":488}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryEditMimeTypePage(\\r\\n $domainId: ID!,\\r\\n $path: String!,\\r\\n $extension: String!,\\r\\n) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id\\r\\n hosting {\\r\\n virtualDirectory(path: $path) {\\r\\n key\\r\\n mimeType(extension: $extension) {\\r\\n extension\\r\\n content\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryEditMimeTypePage\"] = oneQuery(doc, \"VirtualDirectoryEditMimeTypePage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualDirectoryEditErrorDocPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hosting\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualDirectory\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errorDoc\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"location\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":531}};\n doc.loc.source = {\"body\":\"query VirtualDirectoryEditErrorDocPage(\\r\\n $domainId: ID!,\\r\\n $path: String!,\\r\\n $code: String!,\\r\\n) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id \\r\\n hosting {\\r\\n virtualDirectory(path: $path) {\\r\\n key\\r\\n errorDoc(code: $code) {\\r\\n code\\r\\n name\\r\\n type\\r\\n location\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualDirectoryEditErrorDocPage\"] = oneQuery(doc, \"VirtualDirectoryEditErrorDocPage\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport apolloClient from 'apolloClient';\r\nimport TRAFFIC_USAGE_BY_DOMAIN_PAGE from 'queries/TrafficUsageByDomainPage.graphql';\r\nimport DOMAIN_TRAFFIC_USAGE from 'queries/DomainTrafficUsage.graphql';\r\n\r\nexport const trafficUsageByDomainRoute = ({ path }) => ({\r\n path,\r\n handle: {\r\n crumb: ({ data }) => ({\r\n title: Locale.getSection('components.routes').lmsg(\r\n 'trafficUsageByDomain',\r\n { domainName: `${data.domain.name}` },\r\n ),\r\n }),\r\n },\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/TrafficUsageByDomainPage\" */\r\n 'components/pages/TrafficUsageByDomainPage'\r\n ),\r\n loader: async ({ params }) => {\r\n const [{ data: pageData }] = await Promise.all([\r\n apolloClient.query({\r\n query: TRAFFIC_USAGE_BY_DOMAIN_PAGE,\r\n variables: { domainId: btoa(`Domain:${params.domainId}`) },\r\n }),\r\n apolloClient.query({\r\n query: DOMAIN_TRAFFIC_USAGE,\r\n variables: { domainId: btoa(`Domain:${params.domainId}`) },\r\n }),\r\n ]);\r\n\r\n return {\r\n domain: pageData.domain,\r\n intervals: pageData.domain.statistics.trafficUsageIntervals,\r\n };\r\n },\r\n});\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TrafficUsageByDomainPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsageIntervals\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"month\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"year\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"formattedTotalUsage\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":397}};\n doc.loc.source = {\"body\":\"query TrafficUsageByDomainPage($domainId: ID!) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id\\r\\n name(idn: false)\\r\\n statistics {\\r\\n trafficUsageIntervals {\\r\\n key\\r\\n month\\r\\n year\\r\\n formattedTotalUsage\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TrafficUsageByDomainPage\"] = oneQuery(doc, \"TrafficUsageByDomainPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DomainTrafficUsage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsage\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalUsageFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitUsagePercent\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"usageByServices\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serviceName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"usage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"usageFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"incoming\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"incomingFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"outgoing\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"outgoingFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"percentOfAll\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscription\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limits\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"traffic\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnlimited\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"formattedValue\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":957}};\n doc.loc.source = {\"body\":\"query DomainTrafficUsage(\\r\\n $domainId: ID!,\\r\\n $intervalKey: String,\\r\\n) {\\r\\n domain: node(id: $domainId) {\\r\\n ... on Domain {\\r\\n id\\r\\n statistics {\\r\\n trafficUsage(intervalKey: $intervalKey) {\\r\\n totalUsageFormatted\\r\\n limitUsagePercent\\r\\n usageByServices {\\r\\n serviceName\\r\\n usage\\r\\n usageFormatted\\r\\n incoming\\r\\n incomingFormatted\\r\\n outgoing\\r\\n outgoingFormatted\\r\\n percentOfAll\\r\\n }\\r\\n }\\r\\n }\\r\\n subscription {\\r\\n limits {\\r\\n traffic {\\r\\n isUnlimited\\r\\n formattedValue\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DomainTrafficUsage\"] = oneQuery(doc, \"DomainTrafficUsage\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport apolloClient from 'apolloClient';\r\nimport { Locale } from 'jsw';\r\n\r\nexport const domainDatabaseRoute = ({ loader }) => ({\r\n path: 'databases',\r\n handle: {\r\n crumb: () => ({ title: Locale.getSection('components.routes').lmsg('databases') }),\r\n pageTitle: ({ matchesContext }) => {\r\n if (!matchesContext.domainRouteData) {\r\n return null;\r\n }\r\n const { domain } = matchesContext.domainRouteData;\r\n\r\n return Locale.getSection('components.routes').lmsg('databaseList', { domainName: `${domain.name}` });\r\n },\r\n key: ({ params }) => params.domainId,\r\n },\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/DatabasesPage\" */'components/pages/DatabasesPage'),\r\n loader: loader('/smb/database/list/domainId/:domainId'),\r\n children: [\r\n {\r\n path: ':databaseId/connection-info',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/DatabasesPage/ConnectionInfo\" */'components/pages/DatabasesPage/ConnectionInfo'),\r\n loader: async ({ params }) => {\r\n const { data } = await apolloClient.query({\r\n query: require('components/pages/DatabasesPage/ConnectionInfo.graphql'),\r\n variables: { id: btoa(`Database:${params.databaseId}`) },\r\n });\r\n\r\n return data;\r\n },\r\n },\r\n {\r\n path: 'add',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/DatabasesPage/AddDatabase\" */'components/pages/DatabasesPage/AddDatabase'),\r\n loader: loader('/smb/database/create-data/domainId/:domainId'),\r\n },\r\n ],\r\n});\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseConnectionInfo\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"database\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Database\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fork\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"host\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"port\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultUser\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"users\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":444}};\n doc.loc.source = {\"body\":\"query DatabaseConnectionInfo($id: ID!) {\\r\\n database: node(id: $id) {\\r\\n ... on Database {\\r\\n id\\r\\n name\\r\\n server {\\r\\n type\\r\\n fork\\r\\n host\\r\\n port\\r\\n }\\r\\n defaultUser {\\r\\n id\\r\\n login\\r\\n }\\r\\n users {\\r\\n id\\r\\n login\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DatabaseConnectionInfo\"] = oneQuery(doc, \"DatabaseConnectionInfo\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DomainPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domain\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"baseDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":242}};\n doc.loc.source = {\"body\":\"query DomainPage(\\r\\n $id: ID!\\r\\n) {\\r\\n domain: node(id: $id) {\\r\\n ... on Domain {\\r\\n id\\r\\n name(idn: false)\\r\\n baseDomain {\\r\\n id\\r\\n name\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DomainPage\"] = oneQuery(doc, \"DomainPage\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport apolloClient from 'apolloClient';\r\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\r\nimport TRAFFIC_USAGE_INTERVALS from 'queries/TrafficUsageIntervals.graphql';\r\nimport TRAFFIC_USAGE_BY_VIEWER_CLIENTS_LIST from 'queries/TrafficUsageByViewerClientsList.graphql';\r\nimport TOTAL_TRAFFIC_USAGE_BY_VIEWER_CLIENTS from 'queries/TotalTrafficUsageByViewerClients.graphql';\r\nimport { trafficUsageByResellerRoute } from 'routes/trafficUsageByResellerRoute';\r\n\r\nexport const trafficUsageByViewerResellersChildrenRoute = ({ path = 'traffic-usage-resellers' } = {}) => ({\r\n path,\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('trafficUsageByResellers'),\r\n }),\r\n },\r\n children: [\r\n trafficUsageByResellerRoute(\r\n ':resellerId',\r\n { clientIdParamName: 'resellerId' },\r\n ),\r\n ],\r\n});\r\n\r\nexport const trafficUsageByViewerResellersRoute = ({ path = 'traffic-usage-resellers', ignoreTopLevelTitle = false } = {}) => ({\r\n path,\r\n handle: {\r\n crumb: () => ignoreTopLevelTitle ? [] : ({\r\n title: Locale.getSection('components.routes').lmsg('trafficUsageByResellers'),\r\n }),\r\n helpContext: 'reseller.traffic',\r\n },\r\n children: [\r\n {\r\n index: true,\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/TrafficUsageByClientsPage\" */\r\n 'components/pages/TrafficUsageByClientsPage'\r\n ),\r\n loader: async () => {\r\n const trafficUsageListKey = 'TrafficUsageByViewerResellersList';\r\n const clientType = 'reseller';\r\n\r\n const [{ data: intervalsData }] = await Promise.all([\r\n apolloClient.query({\r\n query: TRAFFIC_USAGE_INTERVALS,\r\n }),\r\n apolloClient.query({\r\n query: TOTAL_TRAFFIC_USAGE_BY_VIEWER_CLIENTS,\r\n variables: { clientType },\r\n }),\r\n apolloClient.query({\r\n query: TRAFFIC_USAGE_BY_VIEWER_CLIENTS_LIST,\r\n variables: {\r\n input: {\r\n ...readGraphQlListInputFromStorage({ key: trafficUsageListKey }),\r\n clientTypes: [clientType],\r\n },\r\n },\r\n }),\r\n ]);\r\n\r\n const { trafficUsageIntervals } = intervalsData.viewer.client.statistics;\r\n\r\n return {\r\n trafficUsageIntervals,\r\n trafficUsageListKey,\r\n clientType,\r\n getClientLink: clientId => `./${clientId}`,\r\n };\r\n },\r\n },\r\n ],\r\n});\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TrafficUsageIntervals\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsageIntervals\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"month\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"year\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"formattedTotalUsage\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":335}};\n doc.loc.source = {\"body\":\"query TrafficUsageIntervals {\\r\\n viewer {\\r\\n login\\r\\n client {\\r\\n id\\r\\n statistics {\\r\\n trafficUsageIntervals {\\r\\n key\\r\\n month\\r\\n year\\r\\n formattedTotalUsage\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TrafficUsageIntervals\"] = oneQuery(doc, \"TrafficUsageIntervals\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TrafficUsageByViewerClientsList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTrafficUsageByClientsListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsageByClients\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalUsageFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitRemainingFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitUsagePercent\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":878}};\n doc.loc.source = {\"body\":\"query TrafficUsageByViewerClientsList(\\r\\n $input: ClientTrafficUsageByClientsListInput\\r\\n) {\\r\\n viewer {\\r\\n login\\r\\n client {\\r\\n id\\r\\n statistics {\\r\\n trafficUsageByClients(input: $input) {\\r\\n nodes {\\r\\n clientId\\r\\n clientName\\r\\n totalUsageFormatted\\r\\n limitFormatted\\r\\n limitRemainingFormatted\\r\\n limitUsagePercent\\r\\n }\\r\\n pageInfo {\\r\\n current\\r\\n total\\r\\n pageCount\\r\\n }\\r\\n sortInfo {\\r\\n sortColumn\\r\\n sortDirection\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TrafficUsageByViewerClientsList\"] = oneQuery(doc, \"TrafficUsageByViewerClientsList\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TotalTrafficUsageByViewerClients\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientType\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalClientsTraffic\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"clientType\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientType\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"usageFormatted\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":432}};\n doc.loc.source = {\"body\":\"query TotalTrafficUsageByViewerClients(\\r\\n $clientType: String,\\r\\n $intervalKey: String,\\r\\n) {\\r\\n viewer {\\r\\n login\\r\\n client {\\r\\n id\\r\\n statistics {\\r\\n totalClientsTraffic(\\r\\n clientType: $clientType,\\r\\n intervalKey: $intervalKey,\\r\\n ) {\\r\\n usageFormatted\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TotalTrafficUsageByViewerClients\"] = oneQuery(doc, \"TotalTrafficUsageByViewerClients\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport apolloClient from 'apolloClient';\r\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\r\nimport TRAFFIC_USAGE_INTERVALS from 'queries/TrafficUsageIntervals.graphql';\r\nimport TRAFFIC_USAGE_BY_RESELLER_CLIENTS_LIST from 'queries/TrafficUsageByResellerClientsList.graphql';\r\nimport TOTAL_TRAFFIC_USAGE_BY_RESELLER from 'queries/TotalTrafficUsageByReseller.graphql';\r\nimport { gql } from '@apollo/client';\r\nimport { trafficUsageByCustomerDomainsRoute } from 'routes/trafficUsageByCustomerDomainsRoute';\r\nimport { trafficUsageByClientDomainsRoute } from 'routes/trafficUsageByClientDomainsRoute';\r\nimport { trafficUsageByDomainRoute } from 'routes/trafficUsageByDomainRoute';\r\n\r\nexport const trafficUsageByResellerRoute = (\r\n path,\r\n { clientIdParamName },\r\n) => ({\r\n path,\r\n handle: {\r\n crumb: ({ data }) => ({ title: data.client.name }),\r\n pageTitle: ({ data }) => Locale.getSection('components.routes').lmsg(\r\n 'trafficUsageByReseller',\r\n { resellerName: data.client.name },\r\n ),\r\n },\r\n loader: async ({ params }) => {\r\n const clientId = params[clientIdParamName];\r\n const clientNodeId = btoa(`Client:${clientId}`);\r\n\r\n const { data: { client } } = await apolloClient.query({\r\n query: gql`\r\n query($clientId: ID!) {\r\n client: node(id: $clientId) {\r\n ... on Client {\r\n id\r\n name\r\n }\r\n }\r\n }\r\n `,\r\n variables: { clientId: clientNodeId },\r\n });\r\n\r\n return { client };\r\n },\r\n children: [\r\n {\r\n index: true,\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/TrafficUsageByResellerPage\" */\r\n 'components/pages/TrafficUsageByResellerPage'\r\n ),\r\n loader: async ({ params }) => {\r\n const clientId = params[clientIdParamName];\r\n const clientNodeId = btoa(`Client:${clientId}`);\r\n const trafficUsageListKey = `TrafficUsageByResellerCustomersList${clientId}`;\r\n\r\n const [{ data: intervalsData }] = await Promise.all([\r\n apolloClient.query({ query: TRAFFIC_USAGE_INTERVALS }),\r\n apolloClient.query({\r\n query: TOTAL_TRAFFIC_USAGE_BY_RESELLER,\r\n variables: { clientNodeId },\r\n }),\r\n apolloClient.query({\r\n query: TRAFFIC_USAGE_BY_RESELLER_CLIENTS_LIST,\r\n variables: {\r\n clientNodeId,\r\n input: {\r\n ...readGraphQlListInputFromStorage({ key: trafficUsageListKey }),\r\n clientTypes: ['client'],\r\n },\r\n },\r\n }),\r\n ]);\r\n\r\n const { trafficUsageIntervals } = intervalsData.viewer.client.statistics;\r\n\r\n return {\r\n trafficUsageIntervals,\r\n clientNodeId,\r\n trafficUsageListKey,\r\n };\r\n },\r\n },\r\n trafficUsageByCustomerDomainsRoute('customers/:customerId/domains'),\r\n {\r\n path: 'domains',\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('trafficUsageByDomains'),\r\n }),\r\n helpContext: 'client.domain.traffic',\r\n },\r\n children: [\r\n trafficUsageByClientDomainsRoute({\r\n clientIdParamName,\r\n clientType: 'reseller',\r\n }),\r\n trafficUsageByDomainRoute({ path: ':domainId' }),\r\n ],\r\n },\r\n ],\r\n});\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TrafficUsageByResellerClientsList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientNodeId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTrafficUsageByClientsListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"client\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientNodeId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Client\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsageByClients\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalUsageFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitRemainingFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitUsagePercent\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":923}};\n doc.loc.source = {\"body\":\"query TrafficUsageByResellerClientsList(\\r\\n $clientNodeId: ID!,\\r\\n $input: ClientTrafficUsageByClientsListInput,\\r\\n) {\\r\\n client: node(id: $clientNodeId) {\\r\\n ... on Client {\\r\\n id\\r\\n statistics {\\r\\n trafficUsageByClients(input: $input) {\\r\\n nodes {\\r\\n clientId\\r\\n clientName\\r\\n totalUsageFormatted\\r\\n limitFormatted\\r\\n limitRemainingFormatted\\r\\n limitUsagePercent\\r\\n }\\r\\n pageInfo {\\r\\n current\\r\\n total\\r\\n pageCount\\r\\n }\\r\\n sortInfo {\\r\\n sortColumn\\r\\n sortDirection\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TrafficUsageByResellerClientsList\"] = oneQuery(doc, \"TrafficUsageByResellerClientsList\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TotalTrafficUsageByReseller\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientNodeId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"client\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientNodeId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Client\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalTrafficUsageByDomains\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"ownOnly\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalUsageFormatted\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalClientsTraffic\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"usageFormatted\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":503}};\n doc.loc.source = {\"body\":\"query TotalTrafficUsageByReseller(\\r\\n $clientNodeId: ID!,\\r\\n $intervalKey: String\\r\\n) {\\r\\n client: node(id: $clientNodeId) {\\r\\n ... on Client {\\r\\n id\\r\\n statistics {\\r\\n totalTrafficUsageByDomains(intervalKey: $intervalKey, ownOnly: true) {\\r\\n totalUsageFormatted\\r\\n }\\r\\n totalClientsTraffic(intervalKey: $intervalKey) {\\r\\n usageFormatted\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TotalTrafficUsageByReseller\"] = oneQuery(doc, \"TotalTrafficUsageByReseller\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport { gql } from '@apollo/client';\r\nimport apolloClient from 'apolloClient';\r\nimport { trafficUsageByClientDomainsRoute } from 'routes/trafficUsageByClientDomainsRoute';\r\nimport { trafficUsageByDomainRoute } from 'routes/trafficUsageByDomainRoute';\r\n\r\nexport const trafficUsageByCustomerDomainsRoute = path => ({\r\n path,\r\n handle: {\r\n crumb: ({ data }) => ({ title: data.client.name }),\r\n pageTitle: ({ data }) => Locale.getSection('components.routes').lmsg(\r\n 'trafficUsageByClientDomains',\r\n { clientName: data.client.name },\r\n ),\r\n helpContext: 'client.domain.traffic',\r\n },\r\n loader: async ({ params }) => {\r\n const { customerId } = params;\r\n const clientNodeId = btoa(`Client:${customerId}`);\r\n\r\n const { data: { client } } = await apolloClient.query({\r\n query: gql`\r\n query($clientId: ID!) {\r\n client: node(id: $clientId) {\r\n ... on Client {\r\n id\r\n name\r\n }\r\n }\r\n }\r\n `,\r\n variables: { clientId: clientNodeId },\r\n });\r\n\r\n return { client };\r\n },\r\n children: [\r\n trafficUsageByClientDomainsRoute({\r\n clientIdParamName: 'customerId',\r\n clientType: 'customer',\r\n }),\r\n trafficUsageByDomainRoute({ path: ':domainId' }),\r\n ],\r\n});\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport apolloClient from 'apolloClient';\r\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\r\nimport CLIENT_TRAFFIC_USAGE_INTERVALS from 'queries/ClientTrafficUsageIntervals.graphql';\r\nimport TRAFFIC_USAGE_BY_CLIENT_DOMAINS_LIST from 'queries/TrafficUsageByClientDomainsList.graphql';\r\nimport TOTAL_TRAFFIC_USAGE_BY_CLIENT_DOMAINS from 'queries/TotalTrafficUsageByClientDomains.graphql';\r\n\r\nexport const trafficUsageByClientDomainsRoute = ({\r\n clientIdParamName,\r\n clientType,\r\n}) => ({\r\n index: true,\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/TrafficUsageByDomainsPage\" */\r\n 'components/pages/TrafficUsageByDomainsPage'\r\n ),\r\n loader: async ({ params }) => {\r\n const clientId = params[clientIdParamName];\r\n const trafficUsageListKey = `TrafficUsageByClientDomainsList${clientId}`;\r\n const clientNodeId = btoa(`Client:${clientId}`);\r\n\r\n const [{ data: intervalsData }] = await Promise.all([\r\n apolloClient.query({\r\n query: CLIENT_TRAFFIC_USAGE_INTERVALS,\r\n variables: { clientId: clientNodeId },\r\n }),\r\n apolloClient.query({\r\n query: TOTAL_TRAFFIC_USAGE_BY_CLIENT_DOMAINS,\r\n variables: { clientId: clientNodeId },\r\n }),\r\n apolloClient.query({\r\n query: TRAFFIC_USAGE_BY_CLIENT_DOMAINS_LIST,\r\n variables: {\r\n clientId: clientNodeId,\r\n input: readGraphQlListInputFromStorage({ key: trafficUsageListKey }),\r\n },\r\n }),\r\n ]);\r\n\r\n const { trafficUsageIntervals } = intervalsData.client.statistics;\r\n\r\n return {\r\n trafficUsageIntervals,\r\n listQueryParams: {\r\n key: trafficUsageListKey,\r\n query: TRAFFIC_USAGE_BY_CLIENT_DOMAINS_LIST,\r\n extractList: data => data.client.statistics.trafficUsageByDomains,\r\n variables: { clientId: clientNodeId },\r\n },\r\n totalUsageQueryParams: {\r\n query: TOTAL_TRAFFIC_USAGE_BY_CLIENT_DOMAINS,\r\n variables: { clientId: clientNodeId },\r\n extractTrafficData: data => data.client.statistics.totalTrafficUsageByDomains,\r\n },\r\n showFilters: clientType !== 'customer',\r\n showClientNameColumn: clientType !== 'customer',\r\n parentClientType: clientType,\r\n };\r\n },\r\n});\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTrafficUsageIntervals\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"client\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Client\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsageIntervals\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"month\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"year\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"formattedTotalUsage\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":378}};\n doc.loc.source = {\"body\":\"query ClientTrafficUsageIntervals(\\r\\n $clientId: ID!\\r\\n) {\\r\\n client: node(id: $clientId) {\\r\\n ... on Client {\\r\\n id\\r\\n statistics {\\r\\n trafficUsageIntervals {\\r\\n key\\r\\n month\\r\\n year\\r\\n formattedTotalUsage\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ClientTrafficUsageIntervals\"] = oneQuery(doc, \"ClientTrafficUsageIntervals\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TrafficUsageByClientDomainsList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTrafficUsageByDomainsListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"client\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Client\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsageByDomains\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalUsageFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptionLimitFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptionLimitRemainingFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptionLimitUsagePercent\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":984}};\n doc.loc.source = {\"body\":\"query TrafficUsageByClientDomainsList(\\r\\n $clientId: ID!,\\r\\n $input: ClientTrafficUsageByDomainsListInput\\r\\n) {\\r\\n client: node(id: $clientId) {\\r\\n ... on Client {\\r\\n id\\r\\n statistics {\\r\\n trafficUsageByDomains(input: $input) {\\r\\n nodes {\\r\\n domainId\\r\\n domainName\\r\\n clientName\\r\\n totalUsageFormatted\\r\\n subscriptionLimitFormatted\\r\\n subscriptionLimitRemainingFormatted\\r\\n subscriptionLimitUsagePercent\\r\\n }\\r\\n pageInfo {\\r\\n current\\r\\n total\\r\\n pageCount\\r\\n }\\r\\n sortInfo {\\r\\n sortColumn\\r\\n sortDirection\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TrafficUsageByClientDomainsList\"] = oneQuery(doc, \"TrafficUsageByClientDomainsList\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TotalTrafficUsageByClientDomains\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"client\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Client\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalTrafficUsageByDomains\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTotalTrafficUsageByDomainsFragment\"},\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":458}};\n doc.loc.source = {\"body\":\"#import \\\"queries/ClientTotalTrafficUsageByDomainsFragment.graphql\\\"\\r\\n\\r\\nquery TotalTrafficUsageByClientDomains(\\r\\n $clientId: ID!,\\r\\n $intervalKey: String\\r\\n) {\\r\\n client: node(id: $clientId) {\\r\\n ... on Client {\\r\\n id\\r\\n statistics {\\r\\n totalTrafficUsageByDomains(intervalKey: $intervalKey) {\\r\\n ...ClientTotalTrafficUsageByDomainsFragment\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/ClientTotalTrafficUsageByDomainsFragment.graphql\").definitions));\r\n\r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TotalTrafficUsageByClientDomains\"] = oneQuery(doc, \"TotalTrafficUsageByClientDomains\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTotalTrafficUsageByDomainsFragment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTotalTrafficUsageByDomains\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalUsageFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnlimited\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limitUsagePercent\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":177}};\n doc.loc.source = {\"body\":\"fragment ClientTotalTrafficUsageByDomainsFragment on ClientTotalTrafficUsageByDomains {\\r\\n totalUsageFormatted\\r\\n isUnlimited\\r\\n limitFormatted\\r\\n limitUsagePercent\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ClientTotalTrafficUsageByDomainsFragment\"] = oneQuery(doc, \"ClientTotalTrafficUsageByDomainsFragment\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport apolloClient from 'apolloClient';\r\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\r\nimport { trafficUsageByCustomerDomainsRoute } from 'routes/trafficUsageByCustomerDomainsRoute';\r\nimport TRAFFIC_USAGE_INTERVALS from 'queries/TrafficUsageIntervals.graphql';\r\nimport TRAFFIC_USAGE_BY_VIEWER_CLIENTS_LIST from 'queries/TrafficUsageByViewerClientsList.graphql';\r\nimport TOTAL_TRAFFIC_USAGE_BY_VIEWER_CLIENTS from 'queries/TotalTrafficUsageByViewerClients.graphql';\r\n\r\nexport const trafficUsageByViewerCustomersChildrenRoute = ({ path = 'traffic-usage-customers' } = {}) => ({\r\n path,\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('trafficUsageByCustomers'),\r\n }),\r\n },\r\n children: [\r\n trafficUsageByCustomerDomainsRoute(':customerId/domains'),\r\n ],\r\n});\r\nexport const trafficUsageByViewerCustomersRoute = ({ path = 'traffic-usage-customers', helpContext, ignoreTopLevelTitle = false } = {}) => ({\r\n path,\r\n handle: {\r\n crumb: () => ignoreTopLevelTitle ? [] : ({\r\n title: Locale.getSection('components.routes').lmsg('trafficUsageByCustomers'),\r\n }),\r\n helpContext,\r\n },\r\n children: [\r\n {\r\n index: true,\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/TrafficUsageByClientsPage\" */\r\n 'components/pages/TrafficUsageByClientsPage'\r\n ),\r\n loader: async () => {\r\n const trafficUsageListKey = 'TrafficUsageByViewerCustomersList';\r\n const clientType = 'client';\r\n\r\n const [{ data: intervalsData }] = await Promise.all([\r\n apolloClient.query({\r\n query: TRAFFIC_USAGE_INTERVALS,\r\n }),\r\n apolloClient.query({\r\n query: TOTAL_TRAFFIC_USAGE_BY_VIEWER_CLIENTS,\r\n variables: { clientType },\r\n }),\r\n apolloClient.query({\r\n query: TRAFFIC_USAGE_BY_VIEWER_CLIENTS_LIST,\r\n variables: {\r\n input: {\r\n ...readGraphQlListInputFromStorage({ key: trafficUsageListKey }),\r\n clientTypes: [clientType],\r\n },\r\n },\r\n }),\r\n ]);\r\n\r\n const { trafficUsageIntervals } = intervalsData.viewer.client.statistics;\r\n\r\n return {\r\n trafficUsageIntervals,\r\n trafficUsageListKey,\r\n clientType,\r\n getClientLink: clientId => `${clientId}/domains`,\r\n };\r\n },\r\n },\r\n ],\r\n});\r\n\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport apolloClient from 'apolloClient';\r\nimport { readGraphQlListInputFromStorage } from 'components/common/GraphQlList';\r\nimport { trafficUsageByDomainRoute } from 'routes/trafficUsageByDomainRoute';\r\nimport TRAFFIC_USAGE_INTERVALS from 'queries/TrafficUsageIntervals.graphql';\r\nimport TRAFFIC_USAGE_BY_VIEWER_DOMAINS_LIST from 'queries/TrafficUsageByViewerDomainsList.graphql';\r\nimport TOTAL_TRAFFIC_USAGE_BY_VIEWER_DOMAINS from 'queries/TotalTrafficUsageByViewerDomains.graphql';\r\n\r\n\r\nexport const trafficUsageByViewerDomainsChildrenRoute = ({ path = 'traffic-usage/domains' } = {}) => ({\r\n path,\r\n handle: {\r\n crumb: () => ({\r\n title: Locale.getSection('components.routes').lmsg('trafficUsageByDomains'),\r\n }),\r\n },\r\n children: [\r\n trafficUsageByDomainRoute({ path: ':domainId' }),\r\n ],\r\n});\r\n\r\nexport const trafficUsageByViewerDomainsRoute = ({ path = 'traffic-usage/domains', ignoreTopLevelTitle = false } = {}) => ({\r\n path,\r\n handle: {\r\n crumb: () => ignoreTopLevelTitle ? [] : ({\r\n title: Locale.getSection('components.routes').lmsg('trafficUsageByDomains'),\r\n }),\r\n helpContext: 'client.domain.traffic',\r\n },\r\n children: [\r\n {\r\n index: true,\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/TrafficUsageByDomainsPage\" */\r\n 'components/pages/TrafficUsageByDomainsPage'\r\n ),\r\n loader: async () => {\r\n const trafficUsageListKey = 'TrafficUsageByViewerDomainsList';\r\n\r\n const [{ data: intervalsData }] = await Promise.all([\r\n apolloClient.query({\r\n query: TRAFFIC_USAGE_INTERVALS,\r\n }),\r\n apolloClient.query({\r\n query: TOTAL_TRAFFIC_USAGE_BY_VIEWER_DOMAINS,\r\n }),\r\n apolloClient.query({\r\n query: TRAFFIC_USAGE_BY_VIEWER_DOMAINS_LIST,\r\n variables: {\r\n input: readGraphQlListInputFromStorage({ key: trafficUsageListKey }),\r\n },\r\n }),\r\n ]);\r\n\r\n const { trafficUsageIntervals } = intervalsData.viewer.client.statistics;\r\n\r\n return {\r\n trafficUsageIntervals,\r\n listQueryParams: {\r\n key: trafficUsageListKey,\r\n query: TRAFFIC_USAGE_BY_VIEWER_DOMAINS_LIST,\r\n extractList: data => data.viewer.client.statistics.trafficUsageByDomains,\r\n },\r\n totalUsageQueryParams: {\r\n query: TOTAL_TRAFFIC_USAGE_BY_VIEWER_DOMAINS,\r\n extractTrafficData: data => data.viewer.client.statistics.totalTrafficUsageByDomains,\r\n },\r\n };\r\n },\r\n },\r\n ],\r\n});\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TrafficUsageByViewerDomainsList\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTrafficUsageByDomainsListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficUsageByDomains\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalUsageFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptionLimitFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptionLimitRemainingFormatted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptionLimitUsagePercent\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":950}};\n doc.loc.source = {\"body\":\"query TrafficUsageByViewerDomainsList(\\r\\n $input: ClientTrafficUsageByDomainsListInput\\r\\n) {\\r\\n viewer {\\r\\n login\\r\\n client {\\r\\n id\\r\\n statistics {\\r\\n trafficUsageByDomains(input: $input) {\\r\\n nodes {\\r\\n domainId\\r\\n domainName\\r\\n clientName\\r\\n totalUsageFormatted\\r\\n subscriptionLimitFormatted\\r\\n subscriptionLimitRemainingFormatted\\r\\n subscriptionLimitUsagePercent\\r\\n }\\r\\n pageInfo {\\r\\n current\\r\\n total\\r\\n pageCount\\r\\n }\\r\\n sortInfo {\\r\\n sortColumn\\r\\n sortDirection\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TrafficUsageByViewerDomainsList\"] = oneQuery(doc, \"TrafficUsageByViewerDomainsList\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TotalTrafficUsageByViewerDomains\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalTrafficUsageByDomains\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"intervalKey\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientTotalTrafficUsageByDomainsFragment\"},\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":424}};\n doc.loc.source = {\"body\":\"#import \\\"queries/ClientTotalTrafficUsageByDomainsFragment.graphql\\\"\\r\\n\\r\\nquery TotalTrafficUsageByViewerDomains(\\r\\n $intervalKey: String\\r\\n) {\\r\\n viewer {\\r\\n login\\r\\n client {\\r\\n id\\r\\n statistics {\\r\\n totalTrafficUsageByDomains(intervalKey: $intervalKey) {\\r\\n ...ClientTotalTrafficUsageByDomainsFragment\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"queries/ClientTotalTrafficUsageByDomainsFragment.graphql\").definitions));\r\n\r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TotalTrafficUsageByViewerDomains\"] = oneQuery(doc, \"TotalTrafficUsageByViewerDomains\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport apolloClient from '../apolloClient';\r\nimport { gql } from '@apollo/client';\r\nimport { addToast } from 'helpers/toasts';\r\nimport pageData from 'helpers/pageData';\r\nimport homeQueries from 'components/pages/HomePage/queries';\r\nimport TitleAddon from 'components/pages/HomePage/TitleAddon';\r\nimport { emptyFn, redirect as jswRedirect } from 'jsw';\r\n\r\nimport HOME_PAGE from 'queries/AdminHomePage.graphql';\r\n\r\nconst redirect = url => {\r\n jswRedirect(url);\r\n return new Promise(emptyFn);\r\n};\r\nconst errors = response => (response.reason?.graphQLErrors ?? []).map(({ message, extensions }) => extensions?.debugMessage || message);\r\n\r\nexport const homeRoute = {\r\n path: 'home',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/HomePage\" */'components/pages/HomePage'),\r\n loader: async () => {\r\n const { data: { viewer: { type } } } = await apolloClient.query({\r\n query: gql`\r\n query {\r\n viewer {\r\n login\r\n type\r\n }\r\n }\r\n `,\r\n });\r\n\r\n if (type !== 'ADMIN') {\r\n return redirect('/admin/home/');\r\n }\r\n\r\n const { pageSidebar } = pageData();\r\n if (pageSidebar?.isPowerUserPanel) {\r\n return redirect('/smb/');\r\n }\r\n\r\n const response = await Promise.allSettled([\r\n ...Object.values(homeQueries).map(query => apolloClient.query({ query })),\r\n apolloClient.query({ query: HOME_PAGE }),\r\n ]);\r\n\r\n const data = Object.keys(homeQueries).reduce((acc, block, i) => ({\r\n ...acc,\r\n [block]: {\r\n data: response[i].value?.data,\r\n errors: errors(response[i]),\r\n },\r\n }), {});\r\n\r\n const layoutResponse = response.at(-1);\r\n errors(layoutResponse).forEach(message => {\r\n addToast({ intent: 'danger', message });\r\n });\r\n return { data };\r\n },\r\n handle: {\r\n helpContext: 'home.admin',\r\n titleRightAddon: ,\r\n pageContentHeader: { className: 'home-page-heading' },\r\n },\r\n children: [{\r\n path: 'customize',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/HomeCustomizationPage\" */'components/pages/HomePage/Customization'),\r\n loader: () => apolloClient.query({ query: require('components/pages/HomePage/queries/Customization.graphql') }),\r\n }],\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport * as constants from '../constants';\r\nimport SERVER_INFO_QUERY from 'queries/AdminHomeServerInfo.graphql';\r\nimport UPDATES_QUERY from 'queries/AdminHomeUpdates.graphql';\r\nimport OVERUSED_SUBSCRIPTIONS_QUERY from 'queries/AdminHomeOverusedSubscriptions.graphql';\r\nimport MY_SUBSCRIPTIONS_QUERY from 'queries/AdminHomeMySubscriptions.graphql';\r\nimport EXTENSIONS_QUERY from 'queries/AdminHomeExtensions.graphql';\r\nimport CHANGE_LOG_QUERY from 'queries/AdminHomeChangeLog.graphql';\r\n\r\nexport default {\r\n [constants.SERVER_INFO]: SERVER_INFO_QUERY,\r\n [constants.UPDATES]: UPDATES_QUERY,\r\n [constants.OVERUSED_SUBSCRIPTIONS]: OVERUSED_SUBSCRIPTIONS_QUERY,\r\n [constants.MY_SUBSCRIPTIONS]: MY_SUBSCRIPTIONS_QUERY,\r\n [constants.EXTENSIONS]: EXTENSIONS_QUERY,\r\n [constants.CHANGE_LOG]: CHANGE_LOG_QUERY,\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport const SERVER_INFO = 'serverInfo';\r\nexport const UPDATES = 'updates';\r\nexport const OVERUSED_SUBSCRIPTIONS = 'overusedSubscriptions';\r\nexport const MY_SUBSCRIPTIONS = 'mySubscriptions';\r\nexport const IP_BAN = 'ipBan';\r\nexport const BACKUP = 'backup';\r\nexport const EXTENSIONS = 'ext';\r\nexport const MAIL_QUEUE = 'mailQueue';\r\nexport const PROMO = 'promo';\r\nexport const CHANGE_LOG = 'changeLog';\r\nexport const CUSTOM_BUTTONS = 'customButtons';\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdminHomeServerInfo\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultIpAddress\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publicIpAddress\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fullHostName\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"information\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sysUptime\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerInfo\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":389}};\n doc.loc.source = {\"body\":\"query AdminHomeServerInfo {\\r\\n server {\\r\\n defaultIpAddress {\\r\\n ipAddress\\r\\n publicIpAddress\\r\\n }\\r\\n settings {\\r\\n fullHostName\\r\\n }\\r\\n information {\\r\\n sysUptime\\r\\n }\\r\\n }\\r\\n os {\\r\\n name\\r\\n }\\r\\n viewer {\\r\\n login\\r\\n permissions {\\r\\n manageServerInfo\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdminHomeServerInfo\"] = oneQuery(doc, \"AdminHomeServerInfo\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdminHomeUpdates\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"productVersion\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"patch\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"productUpdates\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availablePatch\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availableVersion\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lastUpdateDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lastCheckDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAutoupdateEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"installingUpdatesTaskId\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pum\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"installingUpdatesTaskId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"updates\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"pagination\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"1\"}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"itemsPerPage\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"1\"}}]}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availableVersion\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"editionName\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"updates\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"showControls\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"visualNotifications\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPumAllowed\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerUpdates\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1053}};\n doc.loc.source = {\"body\":\"query AdminHomeUpdates {\\r\\n server {\\r\\n productVersion {\\r\\n name\\r\\n version\\r\\n patch\\r\\n }\\r\\n productUpdates {\\r\\n availablePatch\\r\\n availableVersion\\r\\n lastUpdateDate\\r\\n lastCheckDate\\r\\n isAutoupdateEnabled\\r\\n installingUpdatesTaskId\\r\\n }\\r\\n pum {\\r\\n installingUpdatesTaskId\\r\\n updates(\\r\\n input: { pagination: { page: 1, itemsPerPage: 1 } }\\r\\n ) {\\r\\n nodes {\\r\\n name\\r\\n availableVersion\\r\\n }\\r\\n pageInfo {\\r\\n total\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n primaryKey {\\r\\n pleskKeyId\\r\\n editionName\\r\\n }\\r\\n config {\\r\\n updates {\\r\\n showControls\\r\\n visualNotifications\\r\\n }\\r\\n }\\r\\n mode {\\r\\n isPumAllowed\\r\\n }\\r\\n viewer {\\r\\n login\\r\\n permissions {\\r\\n manageServerUpdates\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdminHomeUpdates\"] = oneQuery(doc, \"AdminHomeUpdates\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdminHomeOverusedSubscriptions\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptions\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"pagination\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"1\"}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"itemsPerPage\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"3\"}}]}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"displayName\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"ASC\"}}]}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"searchFilters\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"overuse\"},\"value\":{\"kind\":\"StringValue\",\"value\":\"true\",\"block\":false}}]}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"own\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Subscription\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"status\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mainDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"limits\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"all\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"overused\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"formattedValue\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"formattedUsed\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1078}};\n doc.loc.source = {\"body\":\"query AdminHomeOverusedSubscriptions {\\r\\n viewer {\\r\\n login\\r\\n client {\\r\\n id\\r\\n subscriptions(\\r\\n input: {\\r\\n pagination: { page: 1, itemsPerPage: 3 }\\r\\n orderBy: { displayName: ASC }\\r\\n searchFilters: { overuse: \\\"true\\\" }\\r\\n own: false,\\r\\n }\\r\\n ) {\\r\\n pageInfo {\\r\\n total\\r\\n }\\r\\n nodes {\\r\\n id\\r\\n ... on Subscription {\\r\\n status\\r\\n mainDomain {\\r\\n id\\r\\n name\\r\\n }\\r\\n limits {\\r\\n all(overused: true) {\\r\\n name\\r\\n formattedValue\\r\\n formattedUsed\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdminHomeOverusedSubscriptions\"] = oneQuery(doc, \"AdminHomeOverusedSubscriptions\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdminHomeMySubscriptions\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"createDomains\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptions\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"pagination\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"1\"}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"itemsPerPage\"},\"value\":{\"kind\":\"IntValue\",\"value\":\"5\"}}]}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"lastVisitTime\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"DESC\"}}]}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Subscription\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"status\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mainDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":697}};\n doc.loc.source = {\"body\":\"query AdminHomeMySubscriptions {\\r\\n viewer {\\r\\n login\\r\\n permissions {\\r\\n createDomains\\r\\n }\\r\\n client {\\r\\n id\\r\\n subscriptions(\\r\\n input: {\\r\\n pagination: { page: 1, itemsPerPage: 5 }\\r\\n orderBy: { lastVisitTime: DESC }\\r\\n }\\r\\n ) {\\r\\n nodes {\\r\\n id\\r\\n ... on Subscription {\\r\\n status\\r\\n mainDomain {\\r\\n id\\r\\n name\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdminHomeMySubscriptions\"] = oneQuery(doc, \"AdminHomeMySubscriptions\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdminHomeExtensions\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"home\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"extensions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"icon\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"content\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"footer\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"async\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"skeletonSize\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":305}};\n doc.loc.source = {\"body\":\"query AdminHomeExtensions {\\r\\n viewer {\\r\\n login\\r\\n home {\\r\\n extensions {\\r\\n name\\r\\n title\\r\\n icon\\r\\n content\\r\\n footer\\r\\n async\\r\\n skeletonSize\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdminHomeExtensions\"] = oneQuery(doc, \"AdminHomeExtensions\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdminHomeChangeLog\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"productUpdates\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"changeLogUrl\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":115}};\n doc.loc.source = {\"body\":\"query AdminHomeChangeLog {\\r\\n server {\\r\\n productUpdates {\\r\\n changeLogUrl\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdminHomeChangeLog\"] = oneQuery(doc, \"AdminHomeChangeLog\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Button } from '@plesk/ui-library';\r\nimport { Locale } from 'jsw';\r\nimport Link from 'components/common/Link';\r\nimport { useQuery } from '@apollo/client';\r\nimport isEmptyLayout from './common/isEmptyLayout';\r\n\r\nimport HOME_PAGE_QUERY from 'queries/AdminHomePage.graphql';\r\n\r\nconst Translate = Locale.getTranslate('components.buttons');\r\n\r\nconst TitleAddon = () => {\r\n const response = useQuery(HOME_PAGE_QUERY);\r\n\r\n if (response.data?.viewer?.home?.locked || isEmptyLayout(response)) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TitleAddon;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nexport default response => {\r\n const home = response?.data?.viewer?.home ?? {};\r\n const { layout, systemMessages } = home;\r\n return !(systemMessages ?? []).length && (layout ?? []).every(column => column.length === 0);\r\n};\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdminHomePage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"home\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"layout\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"locked\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"feedbackURL\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"systemMessages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"content\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isHideable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"component\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"params\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":346}};\n doc.loc.source = {\"body\":\"query AdminHomePage {\\r\\n viewer {\\r\\n login\\r\\n home {\\r\\n layout\\r\\n locked\\r\\n feedbackURL\\r\\n systemMessages {\\r\\n type\\r\\n key\\r\\n content\\r\\n isHideable\\r\\n component\\r\\n params\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdminHomePage\"] = oneQuery(doc, \"AdminHomePage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"HomeCustomization\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"home\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sections\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"blocks\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"icon\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":307}};\n doc.loc.source = {\"body\":\"query HomeCustomization {\\r\\n viewer {\\r\\n login\\r\\n home {\\r\\n sections {\\r\\n name\\r\\n blocks {\\r\\n name\\r\\n enabled\\r\\n title\\r\\n icon\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"HomeCustomization\"] = oneQuery(doc, \"HomeCustomization\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Locale } from 'jsw';\r\nimport apolloClient from 'apolloClient';\r\nimport { redirect } from 'react-router-dom';\r\nimport { summaryReportRoute, summaryReportChildrenRoute } from './summaryReportRoute';\r\nimport { resourceUsageByDomainRoute } from './resourceUsageByDomainRoute';\r\nimport { trafficUsageByViewerCustomersRoute, trafficUsageByViewerCustomersChildrenRoute } from 'routes/trafficUsageByViewerCustomersRoute';\r\nimport { trafficUsageByViewerResellersRoute, trafficUsageByViewerResellersChildrenRoute } from 'routes/trafficUsageByViewerResellersRoute';\r\nimport { trafficUsageByViewerDomainsRoute, trafficUsageByViewerDomainsChildrenRoute } from 'routes/trafficUsageByViewerDomainsRoute';\r\nexport const infoAndStatisticsRoute = {\r\n path: 'info-and-statistics',\r\n loader: async () => {\r\n const { data } = await apolloClient.query({\r\n query: require('queries/InfoAndStatisticsPage.graphql'),\r\n });\r\n\r\n return data;\r\n },\r\n handle: {\r\n crumb: ({ data: { viewer: { type } } }) => ({\r\n title: Locale.getSection('components.routes').lmsg(type === 'ADMIN' ? 'infoAndStatisticsAdmin' : 'infoAndStatisticsReseller'),\r\n }),\r\n },\r\n children: [{\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/InfoAndStatisticsPage\" */\r\n 'components/pages/InfoAndStatisticsPage'\r\n ),\r\n children: [\r\n {\r\n index: true,\r\n loader: async () => {\r\n const { data: { viewer: { permissions: { manageServerInfo } } } } = await apolloClient.query({\r\n query: require('queries/InfoAndStatisticsPage.graphql'),\r\n });\r\n\r\n if (manageServerInfo) {\r\n return redirect('overview');\r\n }\r\n return redirect('domains');\r\n },\r\n },\r\n {\r\n path: 'overview',\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/ServerInformationPage\" */'components/pages/ServerInformationPage'),\r\n loader: async () => {\r\n const { data: { server: { information } } } = await apolloClient.query({\r\n query: require('queries/ServerInformationPage.graphql'),\r\n });\r\n\r\n if (!information) {\r\n throw new Response('Not Found', { status: 404 });\r\n }\r\n },\r\n handle: {\r\n helpContext: 'server.statistics',\r\n },\r\n },\r\n {\r\n path: 'traffic-usage',\r\n loader: async () => {\r\n const { data } = await apolloClient.query({\r\n query: require('queries/ViewerType.graphql'),\r\n });\r\n return data;\r\n },\r\n componentLoader: () => import(\r\n /* webpackChunkName: \"components/pages/InfoAndStatisticsPage/TrafficUsageLayoutPage\" */\r\n 'components/pages/InfoAndStatisticsPage/TrafficUsageLayoutPage'\r\n ),\r\n children: [\r\n {\r\n index: true,\r\n loader: () => redirect('./domains'),\r\n },\r\n trafficUsageByViewerDomainsRoute({ path: 'domains', ignoreTopLevelTitle: true }),\r\n trafficUsageByViewerCustomersRoute({ path: 'customers', ignoreTopLevelTitle: true }),\r\n trafficUsageByViewerResellersRoute({ path: 'resellers', ignoreTopLevelTitle: true }),\r\n ],\r\n },\r\n resourceUsageByDomainRoute({ path: 'domains', ignoreTopLevelTitle: true }),\r\n summaryReportRoute({ ignoreTopLevelTitle: true }),\r\n ],\r\n },\r\n summaryReportChildrenRoute,\r\n trafficUsageByViewerDomainsChildrenRoute({ path: 'traffic-usage/domains' }),\r\n trafficUsageByViewerCustomersChildrenRoute({ path: 'traffic-usage/customers' }),\r\n trafficUsageByViewerResellersChildrenRoute({ path: 'traffic-usage/resellers' }),\r\n ],\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport apolloClient from '../apolloClient';\r\nimport { readGraphQlListInputFromStorage } from '../components/common/GraphQlList';\r\nimport { Locale } from 'jsw';\r\n\r\nexport const resourceUsageByDomainRoute = ({ path = 'resource-usage', ignoreTopLevelTitle = false } = {}) => ({\r\n path,\r\n componentLoader: () => import(/* webpackChunkName: \"components/pages/DomainsResourceUsagePage\" */'components/pages/DomainsResourceUsagePage'),\r\n loader: async () => {\r\n const res = await apolloClient.query({\r\n query: require('queries/DomainsResourceUsage.graphql'),\r\n variables: {\r\n input: readGraphQlListInputFromStorage({ key: 'ResourceUsagePage' }),\r\n },\r\n });\r\n\r\n return res;\r\n },\r\n handle: {\r\n crumb: () => ignoreTopLevelTitle ? [] : ({\r\n title: Locale.getSection('components.routes').lmsg('resourceUsageByDomains'),\r\n }),\r\n helpContext: 'client.domain-summary-report',\r\n },\r\n});\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DomainsResourceUsage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ResourceUsageListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resourceUsage\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clientName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webUsage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailUsage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"databaseUsage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logsUsage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"backupsUsage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"configsUsage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"anonFtpUsage\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":856}};\n doc.loc.source = {\"body\":\"query DomainsResourceUsage($input: ResourceUsageListInput) {\\r\\n viewer {\\r\\n login\\r\\n type\\r\\n client {\\r\\n id\\r\\n email\\r\\n resourceUsage(input: $input) {\\r\\n nodes {\\r\\n clientName\\r\\n domainName\\r\\n webUsage\\r\\n mailUsage\\r\\n databaseUsage\\r\\n logsUsage\\r\\n backupsUsage\\r\\n configsUsage\\r\\n anonFtpUsage\\r\\n }\\r\\n pageInfo {\\r\\n current\\r\\n pageCount\\r\\n total\\r\\n }\\r\\n sortInfo {\\r\\n sortColumn\\r\\n sortDirection\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n os {\\r\\n isUnix\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DomainsResourceUsage\"] = oneQuery(doc, \"DomainsResourceUsage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"InfoAndStatisticsPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerInfo\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerDomainTrafficReport\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerSummaryReport\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":232}};\n doc.loc.source = {\"body\":\"query InfoAndStatisticsPage {\\r\\n viewer {\\r\\n login\\r\\n type\\r\\n permissions {\\r\\n manageServerInfo\\r\\n manageServerDomainTrafficReport\\r\\n manageServerSummaryReport\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"InfoAndStatisticsPage\"] = oneQuery(doc, \"InfoAndStatisticsPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerInformationPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"information\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cpu\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cpuCores\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sysUptime\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"loadAverage\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"last1min\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"last5min\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"last15min\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"memory\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"used\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"available\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"buffer\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cached\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"shared\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"free\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hardware\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"swap\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"used\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"free\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sysDiskSpace\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"directory\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"used\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"available\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"protectedDirectories\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"active\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"inactive\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"problems\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"productVersion\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"build\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"osVersion\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":1126}};\n doc.loc.source = {\"body\":\"query ServerInformationPage {\\r\\n server {\\r\\n information {\\r\\n cpu\\r\\n cpuCores\\r\\n sysUptime\\r\\n loadAverage {\\r\\n last1min\\r\\n last5min\\r\\n last15min\\r\\n }\\r\\n memory {\\r\\n total\\r\\n used\\r\\n available\\r\\n buffer\\r\\n cached\\r\\n shared\\r\\n free\\r\\n hardware\\r\\n }\\r\\n swap {\\r\\n total\\r\\n used\\r\\n free\\r\\n }\\r\\n sysDiskSpace {\\r\\n directory\\r\\n total\\r\\n used\\r\\n available\\r\\n protectedDirectories\\r\\n }\\r\\n domains {\\r\\n active\\r\\n inactive\\r\\n problems\\r\\n }\\r\\n }\\r\\n productVersion {\\r\\n name\\r\\n version\\r\\n build\\r\\n os\\r\\n osVersion\\r\\n }\\r\\n }\\r\\n os {\\r\\n isWindows\\r\\n name\\r\\n }\\r\\n primaryKey {\\r\\n pleskKeyId\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerInformationPage\"] = oneQuery(doc, \"ServerInformationPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ViewerType\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":73}};\n doc.loc.source = {\"body\":\"query ViewerType {\\r\\n viewer {\\r\\n login\\r\\n type\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ViewerType\"] = oneQuery(doc, \"ViewerType\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddressDomainsPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddressId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddressId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddress\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":438}};\n doc.loc.source = {\"body\":\"query IpAddressDomainsPage($clientId: ID, $ipAddressId: ID!) {\\r\\n viewer {\\r\\n type\\r\\n login\\r\\n }\\r\\n ipAddress: node(id: $ipAddressId) {\\r\\n ... on IpAddress {\\r\\n id\\r\\n type\\r\\n ipAddress\\r\\n defaultDomain {\\r\\n id\\r\\n }\\r\\n domains(filter: { clientId: $clientId }) {\\r\\n id\\r\\n name\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"IpAddressDomainsPage\"] = oneQuery(doc, \"IpAddressDomainsPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ChangeSubscriptionsOwnerPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"domains\"},\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Domain\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"owner\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"vendor\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"baseDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publicIpAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIPv6\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscription\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isCustom\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIPv6Supported\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":850}};\n doc.loc.source = {\"body\":\"query ChangeSubscriptionsOwnerPage($ids: [ID!]!) {\\r\\n domains: nodes(ids: $ids) {\\r\\n id\\r\\n ... on Domain {\\r\\n name\\r\\n owner {\\r\\n id\\r\\n name\\r\\n vendor {\\r\\n id\\r\\n }\\r\\n }\\r\\n baseDomain {\\r\\n id\\r\\n }\\r\\n ipAddresses {\\r\\n id\\r\\n ipAddress\\r\\n publicIpAddress\\r\\n isIPv6\\r\\n }\\r\\n subscription {\\r\\n id\\r\\n isCustom\\r\\n domains {\\r\\n id\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n server {\\r\\n settings {\\r\\n isIPv6Supported\\r\\n }\\r\\n }\\r\\n viewer {\\r\\n type\\r\\n login\\r\\n client {\\r\\n id\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ChangeSubscriptionsOwnerPage\"] = oneQuery(doc, \"ChangeSubscriptionsOwnerPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"VirtualHostTemplatePage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"virtualHostTemplate\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"supportedArchiveTypes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"files\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"path\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sizeInBytes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"modified\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"user\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"group\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":422}};\n doc.loc.source = {\"body\":\"query VirtualHostTemplatePage($path: String) {\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n viewer {\\r\\n login\\r\\n virtualHostTemplate {\\r\\n supportedArchiveTypes\\r\\n files(path: $path) {\\r\\n name\\r\\n sizeInBytes\\r\\n modified\\r\\n permissions\\r\\n type\\r\\n user\\r\\n group\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"VirtualHostTemplatePage\"] = oneQuery(doc, \"VirtualHostTemplatePage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"LoginPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resolvableHostname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mobileApplicationPromotion\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"icon\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"background\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"file\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"color\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fit\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"gdpr\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cookieSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"loginFormEntrypointEnabled\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"howToLoginArticle\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"locales\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRtl\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cloudType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isFirstLogin\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"loginContentInclude\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"headContent\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"bodyContent\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":678}};\n doc.loc.source = {\"body\":\"query LoginPage {\\r\\n viewer {\\r\\n login\\r\\n resolvableHostname\\r\\n mobileApplicationPromotion {\\r\\n name\\r\\n icon\\r\\n url\\r\\n }\\r\\n background {\\r\\n file\\r\\n color\\r\\n fit\\r\\n }\\r\\n }\\r\\n config {\\r\\n gdpr {\\r\\n cookieSettings {\\r\\n loginFormEntrypointEnabled\\r\\n }\\r\\n }\\r\\n login {\\r\\n howToLoginArticle\\r\\n }\\r\\n }\\r\\n locales {\\r\\n code\\r\\n name\\r\\n isRtl\\r\\n }\\r\\n serverInfo {\\r\\n cloudType\\r\\n isFirstLogin\\r\\n }\\r\\n loginContentInclude {\\r\\n headContent\\r\\n bodyContent\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"LoginPage\"] = oneQuery(doc, \"LoginPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DnsRecordsPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dns\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"template\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"templateNotSynchronized\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"soaTemplateNotSynchronized\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isExternalDnsEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"records\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"host\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"val\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ttl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayHost\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayVal\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"opt\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":493}};\n doc.loc.source = {\"body\":\"query DnsRecordsPage {\\r\\n os {\\r\\n isUnix\\r\\n }\\r\\n dns {\\r\\n template {\\r\\n isEnabled\\r\\n templateNotSynchronized\\r\\n soaTemplateNotSynchronized\\r\\n isExternalDnsEnabled\\r\\n records {\\r\\n id\\r\\n type\\r\\n host\\r\\n val\\r\\n ttl\\r\\n displayHost\\r\\n displayVal\\r\\n domainName\\r\\n opt\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DnsRecordsPage\"] = oneQuery(doc, \"DnsRecordsPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DnsRecordEditQuery\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dns\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"supportedRecordTypes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"template\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DnsRecordTemplate\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"host\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayVal\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayHost\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ttl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"opt\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":422}};\n doc.loc.source = {\"body\":\"query DnsRecordEditQuery($id: ID!) {\\r\\n os {\\r\\n isUnix\\r\\n }\\r\\n dns {\\r\\n supportedRecordTypes\\r\\n template {\\r\\n isEnabled\\r\\n }\\r\\n }\\r\\n node(id: $id) {\\r\\n id\\r\\n ... on DnsRecordTemplate {\\r\\n type\\r\\n host\\r\\n id\\r\\n displayVal\\r\\n displayHost\\r\\n domainName\\r\\n ttl\\r\\n opt\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DnsRecordEditQuery\"] = oneQuery(doc, \"DnsRecordEditQuery\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DnsRecordQuery\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dns\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"supportedRecordTypes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"template\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":162}};\n doc.loc.source = {\"body\":\"query DnsRecordQuery {\\r\\n os {\\r\\n isUnix\\r\\n }\\r\\n dns {\\r\\n supportedRecordTypes\\r\\n template {\\r\\n isEnabled\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DnsRecordQuery\"] = oneQuery(doc, \"DnsRecordQuery\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DnsSoaRecordsPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dns\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"template\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"soaRecord\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ttl\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"unit\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"refresh\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"unit\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"retry\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"unit\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"expire\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"unit\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"minimum\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"unit\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serialNumberFormat\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rnameDomain\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rnameExternal\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rnameType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rnameEnforce\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isExternalDnsEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"records\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"value\":{\"kind\":\"ListValue\",\"values\":[{\"kind\":\"EnumValue\",\"value\":\"NS\"}]}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayVal\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":931}};\n doc.loc.source = {\"body\":\"query DnsSoaRecordsPage {\\r\\n dns {\\r\\n template {\\r\\n soaRecord {\\r\\n mname\\r\\n ttl {\\r\\n value\\r\\n unit\\r\\n }\\r\\n refresh {\\r\\n value\\r\\n unit\\r\\n }\\r\\n retry {\\r\\n value\\r\\n unit\\r\\n }\\r\\n expire {\\r\\n value\\r\\n unit\\r\\n }\\r\\n minimum {\\r\\n value\\r\\n unit\\r\\n }\\r\\n serialNumberFormat\\r\\n rnameDomain\\r\\n rnameExternal\\r\\n rnameType\\r\\n rnameEnforce\\r\\n }\\r\\n isEnabled\\r\\n isExternalDnsEnabled\\r\\n records(filter: { type: [NS] } ) {\\r\\n displayVal\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DnsSoaRecordsPage\"] = oneQuery(doc, \"DnsSoaRecordsPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"EditInterfaceViewPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerUi\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerLanguages\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isViewSwitcherAllowed\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPowerUserPanel\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSimplePanel\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSimplePanelAllowed\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSimplePanelLocked\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMailBounceHidden\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMailServiceSupported\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":488}};\n doc.loc.source = {\"body\":\"query EditInterfaceViewPage {\\r\\n viewer {\\r\\n login\\r\\n permissions {\\r\\n manageServerUi\\r\\n manageServerLanguages\\r\\n }\\r\\n client {\\r\\n id\\r\\n clients {\\r\\n id\\r\\n }\\r\\n }\\r\\n }\\r\\n mode {\\r\\n isViewSwitcherAllowed\\r\\n isPowerUserPanel\\r\\n isSimplePanel\\r\\n isSimplePanelAllowed\\r\\n isSimplePanelLocked\\r\\n isMailBounceHidden\\r\\n isMailServiceSupported\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"EditInterfaceViewPage\"] = oneQuery(doc, \"EditInterfaceViewPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"NotificationUiSettings\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"notification\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"panel\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"storagePeriod\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"templates\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"context\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"title\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToAdmin\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":299}};\n doc.loc.source = {\"body\":\"query NotificationUiSettings {\\r\\n notification {\\r\\n panel {\\r\\n settings {\\r\\n storagePeriod\\r\\n }\\r\\n templates {\\r\\n code\\r\\n context\\r\\n title\\r\\n sendToAdmin\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"NotificationUiSettings\"] = oneQuery(doc, \"NotificationUiSettings\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"BrandingPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"branding\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customTitle\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"url\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fake\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customFavicon\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"background\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"file\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"color\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fit\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":343}};\n doc.loc.source = {\"body\":\"query BrandingPage {\\r\\n viewer {\\r\\n login\\r\\n type\\r\\n branding {\\r\\n customTitle\\r\\n logo {\\r\\n url\\r\\n fake\\r\\n }\\r\\n customFavicon\\r\\n background {\\r\\n file\\r\\n color\\r\\n fit\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"BrandingPage\"] = oneQuery(doc, \"BrandingPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServersPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"databaseServers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fork\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"host\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"port\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lastError\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverVersion\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUpgradeSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLTSVersion\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLocal\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDefaultServer\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUsedForPsaDb\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWebadminInstalled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDynamicPort\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"databasesCount\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availableReleases\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyRemoteDb\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDemo\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":571}};\n doc.loc.source = {\"body\":\"query DatabaseServersPage {\\r\\n databaseServers {\\r\\n id\\r\\n name\\r\\n type\\r\\n fork\\r\\n host\\r\\n port\\r\\n lastError\\r\\n serverVersion\\r\\n isUpgradeSupported\\r\\n isLTSVersion\\r\\n isLocal\\r\\n isDefaultServer\\r\\n isUsedForPsaDb\\r\\n isWebadminInstalled\\r\\n isDynamicPort\\r\\n databasesCount\\r\\n availableReleases {\\r\\n id\\r\\n }\\r\\n }\\r\\n primaryKey {\\r\\n pleskKeyId\\r\\n keyRemoteDb\\r\\n }\\r\\n mode {\\r\\n isDemo\\r\\n }\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DatabaseServersPage\"] = oneQuery(doc, \"DatabaseServersPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServerUpgradePage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"databaseServer\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServer\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"host\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"port\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverVersion\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fork\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"detectDatabaseServer\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"availableReleases\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"features\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseNotesLink\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"releaseDate\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"endOfLifeDate\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":534}};\n doc.loc.source = {\"body\":\"query DatabaseServerUpgradePage($id: ID!) {\\r\\n databaseServer: node(id: $id) {\\r\\n id\\r\\n ... on DatabaseServer {\\r\\n name\\r\\n type\\r\\n host\\r\\n port\\r\\n serverVersion\\r\\n fork\\r\\n detectDatabaseServer\\r\\n availableReleases {\\r\\n id\\r\\n name\\r\\n version\\r\\n features\\r\\n releaseNotesLink\\r\\n releaseDate\\r\\n endOfLifeDate\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DatabaseServerUpgradePage\"] = oneQuery(doc, \"DatabaseServerUpgradePage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServerCreatePage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allowedByKeyDatabaseServerTypes\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":99}};\n doc.loc.source = {\"body\":\"query DatabaseServerCreatePage {\\r\\n server {\\r\\n allowedByKeyDatabaseServerTypes\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DatabaseServerCreatePage\"] = oneQuery(doc, \"DatabaseServerCreatePage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServerPropertiesPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"databaseServer\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServer\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"host\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"port\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverVersion\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDefaultServer\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUsedForPsaDb\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdminCredentialsChangeable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"adminLogin\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"externalConnections\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"databasesCount\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"backupSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tempDir\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"networkTempDir\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"networkUser\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"networkPassword\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":634}};\n doc.loc.source = {\"body\":\"query DatabaseServerPropertiesPage($id: ID!) {\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n databaseServer: node(id: $id) {\\r\\n id\\r\\n ... on DatabaseServer {\\r\\n name\\r\\n type\\r\\n host\\r\\n port\\r\\n serverVersion\\r\\n isDefaultServer\\r\\n isUsedForPsaDb\\r\\n isAdminCredentialsChangeable\\r\\n adminLogin\\r\\n externalConnections\\r\\n databasesCount\\r\\n backupSettings {\\r\\n tempDir\\r\\n networkTempDir\\r\\n networkUser\\r\\n networkPassword\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DatabaseServerPropertiesPage\"] = oneQuery(doc, \"DatabaseServerPropertiesPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServerDatabasesPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isClassicPanel\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"databaseServer\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServer\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"databasesCount\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"databases\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"owner\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":604}};\n doc.loc.source = {\"body\":\"query DatabaseServerDatabasesPage($id: ID!) {\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n mode {\\r\\n isClassicPanel\\r\\n }\\r\\n databaseServer: node(id: $id) {\\r\\n id\\r\\n ... on DatabaseServer {\\r\\n name\\r\\n databasesCount\\r\\n databases {\\r\\n id\\r\\n name\\r\\n domain {\\r\\n id\\r\\n name(idn: false)\\r\\n owner {\\r\\n id\\r\\n name\\r\\n type\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DatabaseServerDatabasesPage\"] = oneQuery(doc, \"DatabaseServerDatabasesPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServerChangePasswordPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"databaseServer\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"DatabaseServer\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"databasesCount\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":237}};\n doc.loc.source = {\"body\":\"query DatabaseServerChangePasswordPage($id: ID!) {\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n databaseServer: node(id: $id) {\\r\\n id\\r\\n ... on DatabaseServer {\\r\\n name\\r\\n databasesCount\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"DatabaseServerChangePasswordPage\"] = oneQuery(doc, \"DatabaseServerChangePasswordPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"WebsitesDiagnosticPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"websitesDiagnostic\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"siteUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"baseDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"websitesDiagnosticChecks\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"date\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"depth\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"problems\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"code\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"date\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRegularCheckEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPromoShown\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"documentationLink\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isNewDomainsChecked\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lastCheckDuration\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"checkedDomains\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"skippedDomains\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"idn\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":false}}],\"directives\":[]}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1011}};\n doc.loc.source = {\"body\":\"query WebsitesDiagnosticPage {\\r\\n server {\\r\\n websitesDiagnostic {\\r\\n domains {\\r\\n id\\r\\n siteUrl\\r\\n name(idn: false)\\r\\n baseDomain {\\r\\n id\\r\\n }\\r\\n websitesDiagnosticChecks {\\r\\n type\\r\\n date\\r\\n depth\\r\\n problems {\\r\\n name\\r\\n code\\r\\n }\\r\\n }\\r\\n }\\r\\n settings {\\r\\n date\\r\\n isRegularCheckEnabled\\r\\n isPromoShown\\r\\n documentationLink\\r\\n isNewDomainsChecked\\r\\n lastCheckDuration\\r\\n checkedDomains {\\r\\n id\\r\\n name(idn: false)\\r\\n }\\r\\n skippedDomains {\\r\\n id\\r\\n name(idn: false)\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"WebsitesDiagnosticPage\"] = oneQuery(doc, \"WebsitesDiagnosticPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SystemTimePage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isVirtuozzo\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"systemTime\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"day\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"month\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"year\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"minutes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"seconds\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hours\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timezone\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"timezones\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"daylightEnabled\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDaylightSavingChangeEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSynchronizeEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSynchronizeSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"synchronizedWith\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":479}};\n doc.loc.source = {\"body\":\"query SystemTimePage {\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n serverInfo {\\r\\n isVirtuozzo\\r\\n }\\r\\n systemTime {\\r\\n day,\\r\\n month,\\r\\n year,\\r\\n minutes,\\r\\n seconds,\\r\\n hours,\\r\\n timezone\\r\\n timezones {\\r\\n name,\\r\\n value,\\r\\n daylightEnabled\\r\\n }\\r\\n isDaylightSavingChangeEnabled,\\r\\n isSynchronizeEnabled,\\r\\n isSynchronizeSupported,\\r\\n synchronizedWith\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SystemTimePage\"] = oneQuery(doc, \"SystemTimePage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailSettingsPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverMail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMailUiEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailServerName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"imapServerName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxMessageSize\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxConnections\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxConnectionsPerIp\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMessageSubmissionEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"messageSubmissionIp\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"outgoingEmailMode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"outgoingEmailModeIps\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIPv6\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEmailSubaddressingEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMboxQuotaWarningEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isFixSenderEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isListSecureLinksEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasLocalhostRelayingAddressesIpV4\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasLocalhostRelayingAddressesIpV6\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"autoReplyHeaders\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isShortPop3NameEnabled\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"autodiscover\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDnsEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customServer\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"relay\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPopAuthEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"lockTime\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSmtpAuthEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"noRelayNetworks\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isOpenRelayAllowed\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"outgoingMessages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isCountRecipientsEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailboxLimit\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domainLimit\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptionLimit\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSendmailEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"reportPeriod\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"notificationPeriod\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allowedReportPeriods\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allowedNotificationPeriods\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"spamFilter\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDmarcEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSigningOutgoingMailEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isVerifyingIncomingMailEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRblEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rblServer\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSpfEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isErrorIgnored\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"behavior\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"localRules\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"guessRules\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"explanationText\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailServer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMaxLetterSizeChangeable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMessageSubmissionDedicatedIPSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMessageSubmissionAllIPSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRelayLockTimeSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRelayTypeOpenSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRelayTypeClosedSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRelayTypeAuthSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRelayTypeAuthPop3Supported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRelayTypeAuthSmtpSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRelayTypeAuthBothSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"shortPop3NamesCompatibility\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"packages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isRBLInstalled\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isIPv6\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":2652}};\n doc.loc.source = {\"body\":\"query ServerMailSettingsPage {\\r\\n serverMail {\\r\\n isMailUiEnabled\\r\\n settings {\\r\\n mailServerName\\r\\n imapServerName\\r\\n maxMessageSize\\r\\n maxConnections\\r\\n maxConnectionsPerIp\\r\\n isMessageSubmissionEnabled\\r\\n messageSubmissionIp {\\r\\n ipAddress\\r\\n }\\r\\n outgoingEmailMode\\r\\n outgoingEmailModeIps {\\r\\n ipAddress\\r\\n isIPv6\\r\\n }\\r\\n isEmailSubaddressingEnabled\\r\\n isMboxQuotaWarningEnabled\\r\\n isFixSenderEnabled\\r\\n isListSecureLinksEnabled\\r\\n hasLocalhostRelayingAddressesIpV4\\r\\n hasLocalhostRelayingAddressesIpV6\\r\\n autoReplyHeaders {\\r\\n name\\r\\n value\\r\\n }\\r\\n isShortPop3NameEnabled\\r\\n }\\r\\n autodiscover {\\r\\n isEnabled\\r\\n isDnsEnabled\\r\\n customServer\\r\\n }\\r\\n relay {\\r\\n type\\r\\n isPopAuthEnabled\\r\\n lockTime\\r\\n isSmtpAuthEnabled\\r\\n noRelayNetworks\\r\\n isOpenRelayAllowed\\r\\n }\\r\\n outgoingMessages {\\r\\n isEnabled\\r\\n isCountRecipientsEnabled\\r\\n mailboxLimit\\r\\n domainLimit\\r\\n subscriptionLimit\\r\\n isSendmailEnabled\\r\\n reportPeriod\\r\\n notificationPeriod\\r\\n allowedReportPeriods\\r\\n allowedNotificationPeriods\\r\\n }\\r\\n spamFilter {\\r\\n isDmarcEnabled\\r\\n isSigningOutgoingMailEnabled\\r\\n isVerifyingIncomingMailEnabled\\r\\n isRblEnabled\\r\\n rblServer\\r\\n isSpfEnabled\\r\\n isErrorIgnored\\r\\n behavior\\r\\n localRules\\r\\n guessRules\\r\\n explanationText\\r\\n }\\r\\n }\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n capability {\\r\\n mailServer {\\r\\n isMaxLetterSizeChangeable\\r\\n isMessageSubmissionDedicatedIPSupported\\r\\n isMessageSubmissionAllIPSupported\\r\\n isRelayLockTimeSupported\\r\\n isRelayTypeOpenSupported\\r\\n isRelayTypeClosedSupported\\r\\n isRelayTypeAuthSupported\\r\\n isRelayTypeAuthPop3Supported\\r\\n isRelayTypeAuthSmtpSupported\\r\\n isRelayTypeAuthBothSupported\\r\\n shortPop3NamesCompatibility\\r\\n }\\r\\n packages {\\r\\n isRBLInstalled\\r\\n }\\r\\n }\\r\\n server {\\r\\n ipAddresses {\\r\\n nodes {\\r\\n id\\r\\n ipAddress\\r\\n isIPv6\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailSettingsPage\"] = oneQuery(doc, \"ServerMailSettingsPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailTabs\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerMail\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerVirusProtection\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerSpamFilter\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerMailAutodiscover\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerMailBlackWhiteLists\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailServer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDomainsBlacklistSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSmtpWhiteListSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSmarthostAvailable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLocal\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"packages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAntiVirusInstalled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSpamAssassinInstalled\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyDrWeb\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyQmailQueue\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":707}};\n doc.loc.source = {\"body\":\"query ServerMailTabs {\\r\\n viewer {\\r\\n login\\r\\n permissions {\\r\\n manageServerMail\\r\\n manageServerVirusProtection\\r\\n manageServerSpamFilter\\r\\n manageServerMailAutodiscover\\r\\n manageServerMailBlackWhiteLists\\r\\n }\\r\\n }\\r\\n capability {\\r\\n mailServer {\\r\\n isDomainsBlacklistSupported\\r\\n isSmtpWhiteListSupported\\r\\n isSmarthostAvailable\\r\\n isLocal\\r\\n }\\r\\n packages {\\r\\n isAntiVirusInstalled\\r\\n isSpamAssassinInstalled\\r\\n }\\r\\n }\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n primaryKey {\\r\\n pleskKeyId\\r\\n keyDrWeb\\r\\n keyQmailQueue\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailTabs\"] = oneQuery(doc, \"ServerMailTabs\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailBlackListPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverMail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"blackList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"action\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"spamAssassin\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":284}};\n doc.loc.source = {\"body\":\"query ServerMailBlackListPage {\\r\\n serverMail {\\r\\n blackList {\\r\\n id\\r\\n name\\r\\n action\\r\\n }\\r\\n spamAssassin {\\r\\n settings {\\r\\n isEnabled\\r\\n }\\r\\n }\\r\\n }\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailBlackListPage\"] = oneQuery(doc, \"ServerMailBlackListPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailWhiteListPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverMail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"whiteList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"outgoingMessages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"relay\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"noRelayNetworks\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailServer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSmtpWhiteListSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSmtpWhiteListWithWildcardSupported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSmtpWhiteListWithCIDRSupported\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":474}};\n doc.loc.source = {\"body\":\"query ServerMailWhiteListPage {\\r\\n serverMail {\\r\\n whiteList {\\r\\n id\\r\\n name\\r\\n }\\r\\n outgoingMessages {\\r\\n isEnabled\\r\\n }\\r\\n relay {\\r\\n noRelayNetworks\\r\\n }\\r\\n }\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n capability {\\r\\n mailServer {\\r\\n isSmtpWhiteListSupported\\r\\n isSmtpWhiteListWithWildcardSupported\\r\\n isSmtpWhiteListWithCIDRSupported\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailWhiteListPage\"] = oneQuery(doc, \"ServerMailWhiteListPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailAntivirusPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverMail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"antivirus\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isActive\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"antivirusPolicy\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"policy\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAppliedToIncoming\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAppliedToOutgoing\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":274}};\n doc.loc.source = {\"body\":\"query ServerMailAntivirusPage {\\r\\n serverMail {\\r\\n antivirus {\\r\\n key\\r\\n name\\r\\n isActive\\r\\n }\\r\\n antivirusPolicy {\\r\\n policy\\r\\n isAppliedToIncoming\\r\\n isAppliedToOutgoing\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailAntivirusPage\"] = oneQuery(doc, \"ServerMailAntivirusPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailSpamFilterPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverMail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"spamAssassin\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUserSettingsEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUserSettingsAllowed\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"requiredHits\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxMailLimit\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxThreadsLimit\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tag\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"alarmMessage\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"languages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isTrusted\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"locales\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isTrusted\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isGreylistingProtectionEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxChildren\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"maxChildrenLimit\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mailServer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUserSettingsSupported\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":885}};\n doc.loc.source = {\"body\":\"query ServerMailSpamFilterPage {\\r\\n serverMail {\\r\\n spamAssassin {\\r\\n settings {\\r\\n isEnabled\\r\\n isUserSettingsEnabled\\r\\n isUserSettingsAllowed\\r\\n requiredHits\\r\\n maxMailLimit\\r\\n maxThreadsLimit\\r\\n tag\\r\\n alarmMessage\\r\\n languages {\\r\\n key\\r\\n name\\r\\n isTrusted\\r\\n }\\r\\n locales {\\r\\n key\\r\\n name\\r\\n isTrusted\\r\\n }\\r\\n isGreylistingProtectionEnabled\\r\\n maxChildren\\r\\n maxChildrenLimit\\r\\n }\\r\\n }\\r\\n }\\r\\n capability {\\r\\n mailServer {\\r\\n isUserSettingsSupported\\r\\n }\\r\\n }\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailSpamFilterPage\"] = oneQuery(doc, \"ServerMailSpamFilterPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailSpamStatistics\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"from\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"to\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"pagination\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"PaginationInput\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"EmailStatisticsRecipientsSortingInput\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"emailStatistics\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"spamSummary\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"from\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"from\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"to\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"to\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clean\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"infected\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"protected\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"skipped\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"spamRecipients\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"from\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"from\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"to\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"to\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"pagination\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"pagination\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rows\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"count\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ratio\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalRows\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":569}};\n doc.loc.source = {\"body\":\"query ServerMailSpamStatistics(\\r\\n $from: String!\\r\\n $to: String!\\r\\n $pagination: PaginationInput!\\r\\n $orderBy: EmailStatisticsRecipientsSortingInput!\\r\\n) {\\r\\n emailStatistics {\\r\\n spamSummary(from: $from, to: $to) {\\r\\n clean\\r\\n infected\\r\\n protected\\r\\n skipped\\r\\n }\\r\\n spamRecipients(from: $from, to: $to, pagination: $pagination, orderBy: $orderBy) {\\r\\n rows {\\r\\n email\\r\\n count\\r\\n ratio\\r\\n }\\r\\n totalRows\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailSpamStatistics\"] = oneQuery(doc, \"ServerMailSpamStatistics\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailSmarthostPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverMail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"smarthost\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"smarthostEncryptionOptions\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isServerEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"host\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"port\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAuthenticationRequired\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"username\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"encryption\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":318}};\n doc.loc.source = {\"body\":\"query ServerMailSmarthostPage {\\r\\n serverMail {\\r\\n smarthost {\\r\\n smarthostEncryptionOptions\\r\\n isServerEnabled\\r\\n host\\r\\n port\\r\\n isAuthenticationRequired\\r\\n username\\r\\n encryption\\r\\n }\\r\\n }\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailSmarthostPage\"] = oneQuery(doc, \"ServerMailSmarthostPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"PrimaryKeyInfoPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"potentialProblems\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"properties\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revertKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLicenseLocked\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLicenseDefault\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDemo\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"license\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"disableOnExpiration\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":424}};\n doc.loc.source = {\"body\":\"query PrimaryKeyInfoPage {\\r\\n primaryKey {\\r\\n pleskKeyId\\r\\n potentialProblems\\r\\n properties {\\r\\n name\\r\\n description\\r\\n value\\r\\n }\\r\\n revertKey {\\r\\n pleskKeyId\\r\\n }\\r\\n }\\r\\n mode {\\r\\n isLicenseLocked\\r\\n isLicenseDefault\\r\\n isDemo\\r\\n }\\r\\n config {\\r\\n license {\\r\\n disableOnExpiration\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"PrimaryKeyInfoPage\"] = oneQuery(doc, \"PrimaryKeyInfoPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"MasterKeyProcessingState\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"masterKeyProcessingState\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"product\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"supportUrl\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":142}};\n doc.loc.source = {\"body\":\"query MasterKeyProcessingState {\\r\\n masterKeyProcessingState\\r\\n config {\\r\\n product {\\r\\n supportUrl\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"MasterKeyProcessingState\"] = oneQuery(doc, \"MasterKeyProcessingState\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"PrimaryKeyUploadPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLicenseLocked\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPowerUserPanel\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"license\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fileUpload\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":178}};\n doc.loc.source = {\"body\":\"query PrimaryKeyUploadPage {\\r\\n mode {\\r\\n isLicenseLocked\\r\\n isPowerUserPanel\\r\\n }\\r\\n config {\\r\\n license {\\r\\n fileUpload\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"PrimaryKeyUploadPage\"] = oneQuery(doc, \"PrimaryKeyUploadPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"PrimaryKeyRevertPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revertKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"properties\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":249}};\n doc.loc.source = {\"body\":\"query PrimaryKeyRevertPage {\\r\\n primaryKey {\\r\\n pleskKeyId\\r\\n revertKey {\\r\\n pleskKeyId\\r\\n properties {\\r\\n name\\r\\n description\\r\\n value\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"PrimaryKeyRevertPage\"] = oneQuery(doc, \"PrimaryKeyRevertPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdditionalKeysPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isLicenseLocked\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDemo\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"additionalKeys\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyNumber\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyApp\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errors\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":188}};\n doc.loc.source = {\"body\":\"query AdditionalKeysPage {\\r\\n mode {\\r\\n isLicenseLocked\\r\\n isDemo\\r\\n }\\r\\n additionalKeys {\\r\\n keyNumber\\r\\n keyName\\r\\n keyApp\\r\\n errors\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdditionalKeysPage\"] = oneQuery(doc, \"AdditionalKeysPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdditionalKeyUploadPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"license\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fileUpload\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":111}};\n doc.loc.source = {\"body\":\"query AdditionalKeyUploadPage {\\r\\n config {\\r\\n license {\\r\\n fileUpload\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdditionalKeyUploadPage\"] = oneQuery(doc, \"AdditionalKeyUploadPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdditionalKeyInfoPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"additionalKey\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyNumber\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"properties\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revertKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyNumber\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"errors\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDemo\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":301}};\n doc.loc.source = {\"body\":\"query AdditionalKeyInfoPage($id: ID!) {\\r\\n additionalKey(id: $id) {\\r\\n keyNumber\\r\\n properties {\\r\\n name\\r\\n description\\r\\n value\\r\\n }\\r\\n revertKey {\\r\\n keyNumber\\r\\n }\\r\\n errors\\r\\n }\\r\\n mode {\\r\\n isDemo\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdditionalKeyInfoPage\"] = oneQuery(doc, \"AdditionalKeyInfoPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AdditionalKeyRevertPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"additionalKey\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyNumber\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"revertKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"keyNumber\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"properties\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":272}};\n doc.loc.source = {\"body\":\"query AdditionalKeyRevertPage($id: ID!) {\\r\\n additionalKey(id: $id) {\\r\\n keyNumber\\r\\n revertKey {\\r\\n keyNumber\\r\\n properties {\\r\\n name\\r\\n description\\r\\n value\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AdditionalKeyRevertPage\"] = oneQuery(doc, \"AdditionalKeyRevertPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"FirewallGeneralPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"firewall\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"interfaces\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isConnected\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":269}};\n doc.loc.source = {\"body\":\"query FirewallGeneralPage {\\r\\n server {\\r\\n firewall {\\r\\n isEnabled\\r\\n interfaces {\\r\\n key\\r\\n name\\r\\n type\\r\\n isEnabled\\r\\n isConnected\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"FirewallGeneralPage\"] = oneQuery(doc, \"FirewallGeneralPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"FirewallIcmpPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"firewall\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"icmpRules\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":169}};\n doc.loc.source = {\"body\":\"query FirewallIcmpPage {\\r\\n server {\\r\\n firewall {\\r\\n icmpRules {\\r\\n key\\r\\n isEnabled\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"FirewallIcmpPage\"] = oneQuery(doc, \"FirewallIcmpPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"FirewallRulesPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"firewall\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rules\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"key\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"action\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"port\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"protocol\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"profiles\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"remoteAddresses\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isReadonly\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":347}};\n doc.loc.source = {\"body\":\"query FirewallRulesPage {\\r\\n server {\\r\\n firewall {\\r\\n rules {\\r\\n key\\r\\n name\\r\\n action\\r\\n port\\r\\n protocol\\r\\n profiles\\r\\n remoteAddresses\\r\\n isEnabled\\r\\n isReadonly\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"FirewallRulesPage\"] = oneQuery(doc, \"FirewallRulesPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerComponentsPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"components\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"status\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"error\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"depends\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"dependsType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"providesType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isInstalled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isConfigurable\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"configured\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allowedByLicense\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"parameters\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"label\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"required\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"description\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enum\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"disabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"disableReason\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hideGenerateButton\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"componentTypeInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"required\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"default\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"packagesCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"categoryInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isConfigurable\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":971}};\n doc.loc.source = {\"body\":\"query ServerComponentsPage {\\r\\n os {\\r\\n isUnix\\r\\n }\\r\\n server {\\r\\n components {\\r\\n name\\r\\n version\\r\\n state\\r\\n status\\r\\n error\\r\\n depends\\r\\n dependsType\\r\\n providesType\\r\\n description\\r\\n isInstalled\\r\\n isConfigurable\\r\\n configured\\r\\n allowedByLicense\\r\\n parameters {\\r\\n name\\r\\n type\\r\\n label\\r\\n required\\r\\n description\\r\\n value\\r\\n enum\\r\\n disabled\\r\\n disableReason\\r\\n hideGenerateButton\\r\\n }\\r\\n componentTypeInfo {\\r\\n name\\r\\n required\\r\\n default\\r\\n packagesCount\\r\\n }\\r\\n categoryInfo {\\r\\n name\\r\\n isConfigurable\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerComponentsPage\"] = oneQuery(doc, \"ServerComponentsPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddressPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddressTypeEnum\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"itemsPerPage\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddressListSort\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"firewall\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isEnabled\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"pagination\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"page\"}}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"itemsPerPage\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"itemsPerPage\"}}}]}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"searchFilters\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"}}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"search\"}}}]}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"}}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"publicIpAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"interface\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mask\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isBlacklisted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMain\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isBroken\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isMissing\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subscriptionsCount\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellersCount\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ftpOverSSL\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasPublicIp\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canReloadPublic\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isDemo\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPowerUserPanel\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canManageResellers\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isVirtuozzo\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":1235}};\n doc.loc.source = {\"body\":\"query IpAddressPage(\\r\\n $type: IpAddressTypeEnum,\\r\\n $search: String,\\r\\n $page: Int,\\r\\n $itemsPerPage: Int,\\r\\n $orderBy: IpAddressListSort\\r\\n) {\\r\\n server {\\r\\n firewall {\\r\\n isEnabled\\r\\n }\\r\\n ipAddresses(\\r\\n input: {\\r\\n pagination: { page: $page, itemsPerPage: $itemsPerPage },\\r\\n searchFilters: { type: $type, ipAddress: $search },\\r\\n orderBy: $orderBy\\r\\n }\\r\\n ) {\\r\\n nodes {\\r\\n id\\r\\n ipAddress\\r\\n publicIpAddress\\r\\n interface\\r\\n mask\\r\\n type\\r\\n isBlacklisted\\r\\n isMain\\r\\n isBroken\\r\\n isMissing\\r\\n subscriptionsCount\\r\\n resellersCount\\r\\n ftpOverSSL\\r\\n }\\r\\n pageInfo {\\r\\n total\\r\\n }\\r\\n sortInfo {\\r\\n sortColumn\\r\\n sortDirection\\r\\n }\\r\\n hasPublicIp\\r\\n canReloadPublic\\r\\n }\\r\\n }\\r\\n mode {\\r\\n isDemo\\r\\n isPowerUserPanel\\r\\n canManageResellers\\r\\n }\\r\\n serverInfo {\\r\\n isVirtuozzo\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"IpAddressPage\"] = oneQuery(doc, \"IpAddressPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddressUsage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddress\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"RESELLER\"}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"unassignedResellers\"},\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"RESELLER\"}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"unassigned\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":421}};\n doc.loc.source = {\"body\":\"query IpAddressUsage($id: ID!){\\r\\n ipAddress:node(id: $id) {\\r\\n ... on IpAddress {\\r\\n id\\r\\n type\\r\\n ipAddress\\r\\n clients(filter:{type: RESELLER}) {\\r\\n id\\r\\n name\\r\\n }\\r\\n unassignedResellers: clients(filter:{ type: RESELLER, unassigned: true }) {\\r\\n id\\r\\n name\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"IpAddressUsage\"] = oneQuery(doc, \"IpAddressUsage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"UnassignedIpAddressResellers\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddress\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"unassignedResellers\"},\"name\":{\"kind\":\"Name\",\"value\":\"clients\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"value\":{\"kind\":\"EnumValue\",\"value\":\"RESELLER\"}},{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"unassigned\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":348}};\n doc.loc.source = {\"body\":\"query UnassignedIpAddressResellers($id: ID!){\\r\\n ipAddress:node(id: $id) {\\r\\n ... on IpAddress {\\r\\n id\\r\\n type\\r\\n ipAddress\\r\\n type\\r\\n unassignedResellers: clients(filter:{ type: RESELLER, unassigned: true }) {\\r\\n id\\r\\n name\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"UnassignedIpAddressResellers\"] = oneQuery(doc, \"UnassignedIpAddressResellers\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientIpAddress\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"client\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"client\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Client\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"availableIpAddress\"},\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"unassigned\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isBroken\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allocatedType\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ftpOverSSL\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"certificate\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ownerName\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPoolEditable\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ftp\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isExplicitSSL\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1054}};\n doc.loc.source = {\"body\":\"query ClientIpAddress($clientId: ID!) {\\r\\n viewer {\\r\\n login\\r\\n type\\r\\n client {\\r\\n id\\r\\n }\\r\\n }\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n client: node(id: $clientId) {\\r\\n ... on Client {\\r\\n id\\r\\n login\\r\\n availableIpAddress: ipAddresses(filter: { unassigned: true }) {\\r\\n id\\r\\n }\\r\\n ipAddresses {\\r\\n id\\r\\n ipAddress\\r\\n isBroken\\r\\n type(clientId: $clientId)\\r\\n allocatedType(clientId: $clientId)\\r\\n ftpOverSSL\\r\\n certificate {\\r\\n id\\r\\n name\\r\\n ownerName\\r\\n }\\r\\n domains(filter: { clientId: $clientId }) {\\r\\n id\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n server {\\r\\n ipAddresses {\\r\\n isPoolEditable(clientId: $clientId)\\r\\n }\\r\\n }\\r\\n capability {\\r\\n ftp {\\r\\n isExplicitSSL\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ClientIpAddress\"] = oneQuery(doc, \"ClientIpAddress\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ClientIpAddressForm\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddressId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ftp\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isExplicitSSL\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isWindows\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddressId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"IpAddress\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"interface\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"allocatedType\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"typeChangeableInClientPool\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isBroken\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ftpOverSSL\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"domains\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defaultDomain\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"certificate\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ownerName\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"client\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Client\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"certificates\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ownerName\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1056}};\n doc.loc.source = {\"body\":\"query ClientIpAddressForm($ipAddressId: ID!, $clientId: ID!) {\\r\\n capability {\\r\\n ftp {\\r\\n isExplicitSSL\\r\\n }\\r\\n }\\r\\n os {\\r\\n isWindows\\r\\n }\\r\\n ipAddress: node(id: $ipAddressId) {\\r\\n ... on IpAddress {\\r\\n id\\r\\n ipAddress\\r\\n interface\\r\\n type(clientId: $clientId)\\r\\n allocatedType(clientId: $clientId)\\r\\n typeChangeableInClientPool(clientId: $clientId)\\r\\n isBroken\\r\\n ftpOverSSL\\r\\n domains(filter:{ clientId: $clientId }) {\\r\\n id\\r\\n name\\r\\n }\\r\\n defaultDomain {\\r\\n id\\r\\n name\\r\\n }\\r\\n certificate {\\r\\n id\\r\\n name\\r\\n ownerName\\r\\n }\\r\\n }\\r\\n }\\r\\n client: node(id: $clientId) {\\r\\n ...on Client {\\r\\n id\\r\\n type\\r\\n certificates {\\r\\n id\\r\\n name\\r\\n ownerName\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ClientIpAddressForm\"] = oneQuery(doc, \"ClientIpAddressForm\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AssignClientIpAddress\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"client\"},\"name\":{\"kind\":\"Name\",\"value\":\"node\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"clientId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"InlineFragment\",\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Client\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"alias\":{\"kind\":\"Name\",\"value\":\"availableIpAddress\"},\"name\":{\"kind\":\"Name\",\"value\":\"ipAddresses\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"filter\"},\"value\":{\"kind\":\"ObjectValue\",\"fields\":[{\"kind\":\"ObjectField\",\"name\":{\"kind\":\"Name\",\"value\":\"unassigned\"},\"value\":{\"kind\":\"BooleanValue\",\"value\":true}}]}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"ipAddress\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":302}};\n doc.loc.source = {\"body\":\"query AssignClientIpAddress($clientId: ID!) {\\r\\n client: node(id: $clientId) {\\r\\n ... on Client {\\r\\n id\\r\\n login\\r\\n availableIpAddress: ipAddresses(filter: { unassigned: true }) {\\r\\n id\\r\\n ipAddress\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AssignClientIpAddress\"] = oneQuery(doc, \"AssignClientIpAddress\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"PhpExtensionsPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"phpHandler\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"cliPath\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"phpExtensions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"affectedHandlers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"php\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pecl\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"minVersion\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":450}};\n doc.loc.source = {\"body\":\"query PhpExtensionsPage($id: ID!) {\\r\\n phpHandler(id: $id) {\\r\\n id\\r\\n name\\r\\n version\\r\\n cliPath\\r\\n phpExtensions {\\r\\n name\\r\\n enabled\\r\\n }\\r\\n affectedHandlers {\\r\\n id\\r\\n name\\r\\n }\\r\\n }\\r\\n os {\\r\\n isUnix\\r\\n }\\r\\n config {\\r\\n php {\\r\\n pecl {\\r\\n enabled\\r\\n minVersion\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"PhpExtensionsPage\"] = oneQuery(doc, \"PhpExtensionsPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TsSessionPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tsSessions\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"info\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":150}};\n doc.loc.source = {\"body\":\"query TsSessionPage($ids: [ID!]!) {\\r\\n tsSessions(ids: $ids) {\\r\\n id\\r\\n info {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TsSessionPage\"] = oneQuery(doc, \"TsSessionPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"TsSessions\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"}},\"type\":{\"kind\":\"ListType\",\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tsSessions\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"ids\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"state\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"user\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":125}};\n doc.loc.source = {\"body\":\"query TsSessions($ids: [ID!]) {\\r\\n tsSessions(ids: $ids) {\\r\\n name\\r\\n state\\r\\n user\\r\\n id\\r\\n }\\r\\n}\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"TsSessions\"] = oneQuery(doc, \"TsSessions\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"AspDotNetServerSettings\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"aspNetSettings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"configs\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"connStrings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customErrMode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"culture\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"debugMode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"authMode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customErrors\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"canDelete\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"values\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"redirectUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"statusCode\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fileEnc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"reqEnc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resEnc\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sessTimeout\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"tempDirectory\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trustLevelAllowOverride\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"uiCulture\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"defLanguage\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trustLevel\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enumValues\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":1837}};\n doc.loc.source = {\"body\":\"query AspDotNetServerSettings {\\r\\n server {\\r\\n aspNetSettings {\\r\\n configs {\\r\\n version\\r\\n connStrings {\\r\\n name\\r\\n value\\r\\n }\\r\\n\\r\\n customErrMode {\\r\\n value\\r\\n enumValues {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n culture {\\r\\n value\\r\\n enumValues {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n\\r\\n debugMode\\r\\n authMode {\\r\\n value\\r\\n enumValues {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n customErrors {\\r\\n canDelete\\r\\n values {\\r\\n redirectUrl\\r\\n statusCode\\r\\n }\\r\\n }\\r\\n fileEnc\\r\\n reqEnc\\r\\n resEnc\\r\\n sessTimeout\\r\\n tempDirectory\\r\\n trustLevelAllowOverride\\r\\n uiCulture {\\r\\n value\\r\\n enumValues {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n\\r\\n defLanguage {\\r\\n value\\r\\n enumValues {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n trustLevel {\\r\\n value\\r\\n enumValues {\\r\\n name\\r\\n value\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"AspDotNetServerSettings\"] = oneQuery(doc, \"AspDotNetServerSettings\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerAboutPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"primaryKey\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskKeyId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"editionName\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"productVersion\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"version\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"patch\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"config\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"product\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"siteUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"blogUrl\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"feedback\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"forumUrl\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"facebook\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskPage\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"twitter\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pleskPage\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":463}};\n doc.loc.source = {\"body\":\"query ServerAboutPage {\\r\\n primaryKey {\\r\\n pleskKeyId\\r\\n editionName\\r\\n }\\r\\n server {\\r\\n productVersion {\\r\\n name\\r\\n version\\r\\n patch\\r\\n }\\r\\n }\\r\\n config {\\r\\n product {\\r\\n siteUrl\\r\\n blogUrl\\r\\n }\\r\\n feedback {\\r\\n forumUrl\\r\\n }\\r\\n facebook {\\r\\n pleskPage\\r\\n }\\r\\n twitter {\\r\\n pleskPage\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerAboutPage\"] = oneQuery(doc, \"ServerAboutPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"MassMailPage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"MassEmailTemplateListInput\"}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"massEmail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"templates\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"input\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"templateId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fromEmail\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToAdmins\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToResellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToResellersMode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToClients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToClientsMode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subject\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"created\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"current\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"total\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"pageCount\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortInfo\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortColumn\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sortDirection\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":673}};\n doc.loc.source = {\"body\":\"query MassMailPage($input: MassEmailTemplateListInput) {\\r\\n massEmail {\\r\\n templates(input: $input) {\\r\\n nodes {\\r\\n templateId\\r\\n name\\r\\n fromEmail\\r\\n sendToAdmins\\r\\n sendToResellers\\r\\n sendToResellersMode\\r\\n sendToClients\\r\\n sendToClientsMode\\r\\n subject\\r\\n created\\r\\n }\\r\\n pageInfo {\\r\\n current\\r\\n total\\r\\n pageCount\\r\\n }\\r\\n sortInfo {\\r\\n sortColumn\\r\\n sortDirection\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"MassMailPage\"] = oneQuery(doc, \"MassMailPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"CreateMassMailTemplatePage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":245}};\n doc.loc.source = {\"body\":\"query CreateMassMailTemplatePage {\\r\\n viewer {\\r\\n login\\r\\n customers {\\r\\n id\\r\\n name\\r\\n email\\r\\n }\\r\\n resellers {\\r\\n id\\r\\n name\\r\\n email\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"CreateMassMailTemplatePage\"] = oneQuery(doc, \"CreateMassMailTemplatePage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SendMassMailPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"massEmail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"templates\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nodes\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"templateId\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":377}};\n doc.loc.source = {\"body\":\"query SendMassMailPage {\\r\\n massEmail {\\r\\n templates {\\r\\n nodes {\\r\\n templateId\\r\\n name\\r\\n }\\r\\n }\\r\\n }\\r\\n viewer {\\r\\n login\\r\\n customers {\\r\\n id\\r\\n name\\r\\n email\\r\\n }\\r\\n resellers {\\r\\n id\\r\\n name\\r\\n email\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SendMassMailPage\"] = oneQuery(doc, \"SendMassMailPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"EditMassMailTemplatePage\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},\"directives\":[]},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"numericId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}},\"directives\":[]}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"customers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"resellers\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"email\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"massEmail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"template\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fromEmail\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToAdmins\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToResellers\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToResellersMode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToClients\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sendToClientsMode\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"subject\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"body\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"templateResellers\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"templateId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"numericId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"contacts\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"templateClients\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"templateId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"numericId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"contacts\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":805}};\n doc.loc.source = {\"body\":\"query EditMassMailTemplatePage($id: ID!, $numericId: Int!) {\\r\\n viewer {\\r\\n login\\r\\n customers {\\r\\n id\\r\\n name\\r\\n email\\r\\n }\\r\\n resellers {\\r\\n id\\r\\n name\\r\\n email\\r\\n }\\r\\n }\\r\\n massEmail {\\r\\n template(id: $id) {\\r\\n name\\r\\n fromEmail\\r\\n sendToAdmins\\r\\n sendToResellers\\r\\n sendToResellersMode\\r\\n sendToClients\\r\\n sendToClientsMode\\r\\n subject\\r\\n body\\r\\n }\\r\\n templateResellers(templateId: $numericId) {\\r\\n contacts {\\r\\n id\\r\\n }\\r\\n }\\r\\n templateClients(templateId: $numericId) {\\r\\n contacts {\\r\\n id\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"EditMassMailTemplatePage\"] = oneQuery(doc, \"EditMassMailTemplatePage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ActionLogPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isAdminAlias\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"actionLog\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"objects\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"actions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"displayName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"enabled\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"rotate\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"records\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"period\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"value\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"unit\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"minDate\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"year\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":492}};\n doc.loc.source = {\"body\":\"query ActionLogPage {\\r\\n viewer {\\r\\n isAdminAlias\\r\\n login\\r\\n }\\r\\n actionLog {\\r\\n objects {\\r\\n name\\r\\n displayName\\r\\n enabled\\r\\n actions {\\r\\n displayName\\r\\n enabled\\r\\n }\\r\\n }\\r\\n rotate {\\r\\n type\\r\\n records\\r\\n period {\\r\\n value\\r\\n unit\\r\\n }\\r\\n }\\r\\n minDate {\\r\\n year\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ActionLogPage\"] = oneQuery(doc, \"ActionLogPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerSettingsPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"server\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"settings\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"forbidSysUserRename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"disableIpLogging\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"forbidCreateDnsSubZone\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"forbidSubscriptionRename\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fullHostName\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeAdminDumps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeDatabases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeDomainDumps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeLogs\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeMailLists\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeMailboxes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeMssqlDatabases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includePgsqlDatabases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeMysqlDatabases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"includeRemoteDatabases\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logrotateAnonymizeIps\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logrotateForce\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"logrotatePeriod\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"preferredDomain\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sizeCountType\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficAccounting\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"trafficStatisticsPeriod\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"webDeployIncludePassword\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"mode\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isPumAllowed\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"os\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isUnix\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":893}};\n doc.loc.source = {\"body\":\"query ServerSettingsPage {\\r\\n server {\\r\\n settings {\\r\\n forbidSysUserRename\\r\\n disableIpLogging\\r\\n forbidCreateDnsSubZone\\r\\n forbidSubscriptionRename\\r\\n fullHostName\\r\\n includeAdminDumps\\r\\n includeDatabases\\r\\n includeDomainDumps\\r\\n includeLogs\\r\\n includeMailLists\\r\\n includeMailboxes\\r\\n includeMssqlDatabases\\r\\n includePgsqlDatabases\\r\\n includeMysqlDatabases\\r\\n includeRemoteDatabases\\r\\n logrotateAnonymizeIps\\r\\n logrotateForce\\r\\n logrotatePeriod\\r\\n preferredDomain\\r\\n sizeCountType\\r\\n trafficAccounting\\r\\n trafficStatisticsPeriod\\r\\n webDeployIncludePassword\\r\\n }\\r\\n }\\r\\n mode {\\r\\n isPumAllowed\\r\\n }\\r\\n os {\\r\\n isUnix\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerSettingsPage\"] = oneQuery(doc, \"ServerSettingsPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"SpamFilterSettingsTabs\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"login\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"permissions\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerSpamFilter\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"manageServerMailBlackWhiteLists\"},\"arguments\":[],\"directives\":[]}]}}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"capability\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"packages\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isSpamAssassinInstalled\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"isGreyListingInstalled\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":315}};\n doc.loc.source = {\"body\":\"query SpamFilterSettingsTabs {\\r\\n viewer {\\r\\n login\\r\\n permissions {\\r\\n manageServerSpamFilter\\r\\n manageServerMailBlackWhiteLists\\r\\n }\\r\\n }\\r\\n capability {\\r\\n packages {\\r\\n isSpamAssassinInstalled\\r\\n isGreyListingInstalled\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"SpamFilterSettingsTabs\"] = oneQuery(doc, \"SpamFilterSettingsTabs\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailSpamFilterBlackListPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverMail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"spamAssassin\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"blackList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"level\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"status\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":235}};\n doc.loc.source = {\"body\":\"query ServerMailSpamFilterBlackListPage {\\r\\n serverMail {\\r\\n spamAssassin {\\r\\n blackList {\\r\\n id\\r\\n name\\r\\n level\\r\\n status\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailSpamFilterBlackListPage\"] = oneQuery(doc, \"ServerMailSpamFilterBlackListPage\");\n \r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"ServerMailSpamFilterWhiteListPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"serverMail\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"spamAssassin\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"whiteList\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"level\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"status\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":235}};\n doc.loc.source = {\"body\":\"query ServerMailSpamFilterWhiteListPage {\\r\\n serverMail {\\r\\n spamAssassin {\\r\\n whiteList {\\r\\n id\\r\\n name\\r\\n level\\r\\n status\\r\\n }\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"ServerMailSpamFilterWhiteListPage\"] = oneQuery(doc, \"ServerMailSpamFilterWhiteListPage\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/* eslint-disable camelcase */\r\n\r\nimport { useState, useMemo, useEffect, useInsertionEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useQuery } from '@apollo/client';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { FormFieldText, FormFieldPassword, Action, StatusMessage, Link } from '@plesk/ui-library';\r\nimport { Locale, render } from 'jsw';\r\nimport JswComponent from '../../jsw/JswComponent';\r\nimport RouteLink from 'components/common/Link';\r\nimport Form from 'components/Form';\r\nimport { withLoginLayout } from '../../layouts/LoginLayout';\r\nimport LoginMobileApplicationPromotion from './LoginMobileApplicationPromotion';\r\nimport SuggestResolvableHostname from './SuggestResolvableHostname';\r\nimport LocaleSwitcher from 'components/common/LocaleSwitcher';\r\nimport { usePageData } from 'helpers/pageData';\r\n\r\nconst Translate = Locale.getTranslate('components.forms.login');\r\n\r\nimport LOGIN_PAGE_QUERY from 'queries/LoginPage.graphql';\r\n\r\nconst LoginPage = ({ values: defaultValues = undefined }) => {\r\n const navigate = useNavigate();\r\n const { status } = usePageData();\r\n const { data: {\r\n config,\r\n serverInfo: { isFirstLogin, cloudType },\r\n loginContentInclude: { headContent, bodyContent },\r\n } } = useQuery(LOGIN_PAGE_QUERY);\r\n const values = useMemo(() => ({\r\n login_name: '',\r\n passwd: '',\r\n locale_id: 'default',\r\n ...defaultValues,\r\n }), [defaultValues]);\r\n const [errors, setErrors] = useState({});\r\n\r\n useInsertionEffect(() => {\r\n if (!headContent) {\r\n return;\r\n }\r\n\r\n const addedElements = [];\r\n const first = document.head.childNodes.length;\r\n render(document.head, headContent);\r\n const last = document.head.childNodes.length;\r\n\r\n for (let i = first; i < last; i++) {\r\n addedElements.push(document.head.childNodes[i]);\r\n }\r\n\r\n return () => {\r\n addedElements.forEach(el => {\r\n document.head.removeChild(el);\r\n });\r\n };\r\n }, [headContent]);\r\n\r\n useEffect(() => {\r\n document.querySelector('input[name=\"locale_id\"]').value = values?.locale_id ?? 'default';\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n const handleSubmit = values => {\r\n const errors = {};\r\n if (values.login_name === '') {\r\n errors.login_name = {\r\n empty: ,\r\n };\r\n }\r\n if (values.passwd === '') {\r\n errors.passwd = {\r\n empty: ,\r\n };\r\n }\r\n setErrors(errors);\r\n\r\n if (!Object.keys(errors).length) {\r\n return {\r\n ...values,\r\n locale_id: document.querySelector('input[name=\"locale_id\"]').value,\r\n };\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {(isFirstLogin && cloudType === 'DO') ? (\r\n \r\n \r\n \r\n \r\n ) }\r\n }\r\n />\r\n \r\n ) : (isFirstLogin && cloudType === 'AMI_LIGHTSAIL') ? (\r\n \r\n \r\n \r\n \r\n ) }\r\n }\r\n />\r\n \r\n ) : null }\r\n ,\r\n fill: true,\r\n className: 'login-page__login-button',\r\n 'data-action': 'log-in',\r\n }}\r\n onSubmit={handleSubmit}\r\n vertical\r\n values={values}\r\n errors={errors}\r\n className=\"login-page__form\"\r\n >\r\n
              \r\n }\r\n autoFocus\r\n size=\"fill\"\r\n />\r\n }\r\n hideGenerateButton\r\n hidePasswordMeter\r\n size=\"fill\"\r\n />\r\n \r\n
              \r\n \r\n
              \r\n {config?.login?.howToLoginArticle ? (\r\n \r\n \r\n \r\n ) : null}\r\n {\r\n e.preventDefault();\r\n const locale = document.querySelector('input[name=\"locale_id\"]').value;\r\n const url = e.target.closest('a').getAttribute('href');\r\n navigate(`${url}${locale && locale !== 'default' ? `?locale=${encodeURIComponent(locale)}` : ''}`);\r\n }}\r\n data-action=\"reset-password\"\r\n >\r\n \r\n \r\n {config?.gdpr?.cookieSettings?.loginFormEntrypointEnabled && (\r\n \r\n \r\n \r\n )}\r\n
              \r\n {bodyContent ? (\r\n {bodyContent}\r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nLoginPage.propTypes = {\r\n values: PropTypes.shape({\r\n login_name: PropTypes.string,\r\n passwd: PropTypes.string,\r\n locale_id: PropTypes.string,\r\n }),\r\n};\r\n\r\nexport default withLoginLayout(LoginPage, ({ values }) => {\r\n const { data: {\r\n locales,\r\n viewer: { resolvableHostname, mobileApplicationPromotion, background },\r\n loginContentInclude: { bodyContent },\r\n } } = useQuery(LOGIN_PAGE_QUERY);\r\n\r\n return {\r\n actions: locales.length > 1 ? (\r\n {\r\n document.querySelector('input[name=\"locale_id\"]').value = value;\r\n document.documentElement.lang = value.split('-')[0];\r\n\r\n const locale = locales.find(({ code }) => code === value);\r\n if (bodyContent || locale?.isRtl !== (document.documentElement.dir === 'rtl')) {\r\n document.getElementById('form-login').submit();\r\n } else {\r\n Locale.loadSections(Object.keys(Locale.sections), value);\r\n }\r\n }}\r\n />\r\n ) : undefined,\r\n contentAddon: [\r\n resolvableHostname ? (\r\n \r\n ) : null,\r\n mobileApplicationPromotion ? (\r\n \r\n ) : null,\r\n ],\r\n background,\r\n };\r\n});\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport {\r\n Form as BaseForm,\r\n FormProps as BaseFormProps,\r\n setIn,\r\n getIn,\r\n StatusMessage,\r\n} from '@plesk/ui-library';\r\nimport { isApolloError, FetchResult } from '@apollo/client';\r\nimport { forwardRef, useState, useEffect, useMemo, useImperativeHandle, useRef, ForwardedRef, ReactElement } from 'react';\r\nimport { redirect, redirectPost, api, showInternalError, escapeHtml, render } from 'jsw';\r\nimport { toFormData } from 'helpers/form';\r\nimport JswComponent from './jsw/JswComponent';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { isClientSideRedirectAllowed } from 'routes';\r\n\r\ntype EmbeddedForm = {\r\n name: string;\r\n content?: string;\r\n title: string;\r\n};\r\n\r\ntype StatusMessage = {\r\n status: string;\r\n title?: string;\r\n content: string;\r\n};\r\n\r\ntype BaseMutation = (payload: { variables: { input: NoInfer } }) => Promise;\r\n\r\nconst clearMessages = (root: HTMLElement) => {\r\n root.querySelectorAll('.field-errors').forEach(errors => {\r\n errors.style.display = 'none';\r\n errors.closest('.form-row')?.classList.remove('error');\r\n errors.querySelectorAll('.error-hint').forEach(error => {\r\n error.parentNode!.removeChild(error);\r\n });\r\n });\r\n};\r\n\r\nconst processFieldMessage = (\r\n root: HTMLElement,\r\n prefix: string[],\r\n _name: string,\r\n message: string,\r\n) => {\r\n let fieldErrors;\r\n const formElement: HTMLElement = root.querySelector(`#${prefix.join('-')}`)!;\r\n fieldErrors = formElement ? formElement.parentNode!.querySelector('.field-errors') : null;\r\n if (!fieldErrors) {\r\n fieldErrors = formElement ? formElement.closest('.form-row')!.querySelector('.field-errors') : null;\r\n }\r\n if (!fieldErrors) {\r\n fieldErrors = root.querySelector(`#${prefix.join('-')}-form-row`)!.querySelectorAll('.field-errors');\r\n fieldErrors = fieldErrors[fieldErrors.length - 1];\r\n }\r\n\r\n fieldErrors.closest('.form-row')!.classList.add('error');\r\n render(fieldErrors, `${escapeHtml(message)}`);\r\n (fieldErrors as HTMLElement).style.display = '';\r\n};\r\n\r\nconst processFieldMessages = (\r\n root: HTMLElement,\r\n messages: Record | Record[],\r\n prefix: string[],\r\n) => {\r\n if (Array.isArray(messages)) {\r\n messages.forEach(message => {\r\n if (typeof message === 'string') {\r\n processFieldMessage(root, prefix, 'error', message);\r\n } else {\r\n // @ts-expect-error unknown problem\r\n prefix.push(name);\r\n processFieldMessages(root, message, prefix);\r\n prefix.pop();\r\n }\r\n });\r\n } else {\r\n Object.entries(messages).forEach(([key, value]) => {\r\n if (typeof value === 'string') {\r\n processFieldMessage(root, prefix, key, value);\r\n } else {\r\n prefix.push(key);\r\n processFieldMessages(root, value, prefix);\r\n prefix.pop();\r\n }\r\n });\r\n }\r\n};\r\n\r\nconst findSubFormFields = > (\r\n formId: string | undefined,\r\n subFormPrefix: string[],\r\n callback?: (key: string, value: FV[string]) => void,\r\n) => {\r\n if (subFormPrefix.length === 0 || typeof callback !== 'function') {\r\n return;\r\n }\r\n const formData = new FormData([...document.forms].find(({ id }) => id === formId));\r\n for (const entry of formData.entries()) {\r\n const [key, value] = entry;\r\n if (subFormPrefix.some(prefix => key.startsWith(prefix))) {\r\n callback(key, value as FV[string]);\r\n }\r\n }\r\n};\r\n\r\nconst getSubFormPrefixes = (formPrefix: string, embeddedForms?: EmbeddedForm[]) => (embeddedForms || []).reduce((acc, { name }) => [\r\n ...acc,\r\n `${formPrefix}[${name}]`,\r\n name,\r\n], [] as string[]);\r\n\r\nconst setElementValue = (name: string, value: string) => {\r\n const elements = document.getElementsByName(name) as NodeListOf;\r\n elements.forEach(element => {\r\n if (element.type === 'checkbox' || element.type === 'radio') {\r\n element.checked = element.value === value;\r\n } else if (element.type === 'hidden' &&\r\n Array.prototype.filter.call(elements, ({ type }) => type === 'checkbox').length > 0) {\r\n // set only checkbox state\r\n } else {\r\n element.value = value;\r\n }\r\n });\r\n};\r\n\r\ntype OnSuccess <\r\n FV extends Record,\r\n Mutation,\r\n Result = Mutation extends BaseMutation\r\n /** @deprecated use mutation callbacks instead */\r\n ? (data: NonNullable ? Awaited>['data'] : void>, isApply?: boolean) => void\r\n : () => void,\r\n> = Result;\r\n\r\n/* eslint-disable react/require-default-props */\r\nexport type FormProps <\r\n FV extends Record,\r\n Mutation = undefined,\r\n> = {\r\n mutation?: Mutation;\r\n formPrefix?: string;\r\n embeddedFormsRender?: (children: ReactElement[]) => ReactElement;\r\n embeddedForms?: EmbeddedForm[];\r\n statusMessages?: StatusMessage[];\r\n onSubmit?: (values: FV, isApply?: boolean) => Promise | FV | null | void;\r\n onError?: (errors: Record, setErrors?: (errors: Record) => void) => void;\r\n onSuccess?: OnSuccess;\r\n // TODO: cover in PPP-67379\r\n onLongTask?: unknown;\r\n} & BaseFormProps;\r\n\r\ntype FormComponent = <\r\n FV extends Record,\r\n Mutation = undefined,\r\n // TODO: cover ref in PPP-67379\r\n> (p: FormProps & { ref?: ForwardedRef }) => ReactElement;\r\n\r\nconst Form = forwardRef(<\r\n FV extends Record,\r\n Mutation extends BaseMutation | undefined = undefined,\r\n>({\r\n children,\r\n id,\r\n action,\r\n mutation,\r\n values,\r\n onFieldChange,\r\n onSubmit,\r\n onError,\r\n onSuccess,\r\n onLongTask,\r\n embeddedForms,\r\n formPrefix = '',\r\n embeddedFormsRender,\r\n statusMessages: messages,\r\n errors: defaultErrors,\r\n ...props\r\n }: FormProps, ref: ForwardedRef) => {\r\n const navigate = useNavigate();\r\n const innerRef = useRef(null);\r\n const statusRef = useRef(null);\r\n const [errors, setErrors] = useState>({});\r\n const [statusMessages, setStatusMessages] = useState(messages ?? []);\r\n const [state, setState] = useState>['state'] | null>(null);\r\n\r\n const formErrors = useMemo(() => ({ ...errors, ...(defaultErrors || {}) }), [errors, defaultErrors]);\r\n\r\n useEffect(() => {\r\n (embeddedForms || []).forEach(({ name }) => {\r\n const form = document.getElementById(`embedded-form-${name}`)!;\r\n clearMessages(form);\r\n\r\n // @ts-expect-error // TODO: cover in PPP-67379\r\n const subFormErrors = (formPrefix ? errors[formPrefix] || {} : errors)[name] || {};\r\n processFieldMessages(form, subFormErrors, formPrefix ? [formPrefix, name] : [name]);\r\n });\r\n }, [errors, embeddedForms, formPrefix]);\r\n\r\n useEffect(() => {\r\n findSubFormFields(id, getSubFormPrefixes(formPrefix, embeddedForms), (key, value) => {\r\n const previousValue = getIn(values as FV, key, value);\r\n setElementValue(key, previousValue);\r\n });\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [embeddedForms]);\r\n\r\n useImperativeHandle(ref, () => ({\r\n handleEmbeddedFormValues() {\r\n findSubFormFields(id, getSubFormPrefixes(formPrefix, embeddedForms), onFieldChange);\r\n },\r\n submit() {\r\n innerRef.current?.submit();\r\n },\r\n }), [id, onFieldChange, embeddedForms, formPrefix, innerRef]);\r\n\r\n useEffect(() => {\r\n if (statusMessages.length) {\r\n statusRef.current?.scrollIntoView({ behavior: 'smooth' });\r\n }\r\n }, [statusMessages]);\r\n\r\n const handleSubmit = async (values: FV, isApply?: boolean) => {\r\n findSubFormFields(id, getSubFormPrefixes(formPrefix, embeddedForms), (key, value) => {\r\n values = setIn(values, key, value);\r\n });\r\n if (typeof onSubmit === 'function') {\r\n // eslint-disable-next-line require-atomic-updates\r\n (values as FV | null | void) = await onSubmit(values, isApply);\r\n }\r\n if (!values) {\r\n return;\r\n }\r\n\r\n setStatusMessages([]);\r\n setErrors({});\r\n\r\n const formState = isApply ? 'apply' : 'submit';\r\n setState(formState);\r\n\r\n if (mutation) {\r\n try {\r\n const { data } = await mutation({ variables: { input: values } });\r\n if (typeof onSuccess === 'function') {\r\n onSuccess(data!, isApply);\r\n }\r\n } catch (error) {\r\n if (!(error instanceof Error)) {\r\n throw error;\r\n }\r\n\r\n if (!isApolloError(error) || !error.graphQLErrors.length) {\r\n setStatusMessages([{ status: 'error', content: error.message }]);\r\n return;\r\n }\r\n\r\n const { graphQLErrors } = error;\r\n\r\n if (graphQLErrors[0].extensions?.category === 'validate') {\r\n const errors = graphQLErrors[0].extensions.messages;\r\n setErrors(errors);\r\n if (typeof onError === 'function') {\r\n onError(errors);\r\n }\r\n } else {\r\n setStatusMessages([{\r\n status: 'error',\r\n content: graphQLErrors[0].extensions?.debugMessage || graphQLErrors[0].message,\r\n }]);\r\n }\r\n } finally {\r\n setState(null);\r\n }\r\n return;\r\n }\r\n\r\n try {\r\n handleSubmitSuccess(await api.post(action || window.location.href, toFormData(values)), formState);\r\n } catch (e) {\r\n setState(null);\r\n showInternalError(e);\r\n }\r\n };\r\n\r\n // TODO: cover response in PPP-67379\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const handleSubmitSuccess = (response: any, formState: 'apply' | 'submit') => {\r\n if (response.componentType === 'Jsw.Task.ProgressBar.Item' && typeof onLongTask === 'function') {\r\n onLongTask(response);\r\n return;\r\n }\r\n const isApply = formState === 'apply';\r\n\r\n const { status, redirect: url, forceRedirect = false, postData, target, formMessages, statusMessages = [] } = response;\r\n if (url) {\r\n if (typeof onSuccess === 'function') {\r\n // @ts-expect-error TODO: cover in PPP-67379\r\n onSuccess();\r\n }\r\n\r\n if (isApply) {\r\n const { pathname } = window.location;\r\n if (isClientSideRedirectAllowed(pathname)) {\r\n navigate(pathname, { replace: true });\r\n setState(null);\r\n } else {\r\n document.location.reload();\r\n }\r\n } else if (postData) {\r\n redirectPost(url, postData, target);\r\n } else {\r\n (isClientSideRedirectAllowed(url) && !forceRedirect) ? navigate(url) : redirect(url, undefined, target);\r\n }\r\n } else {\r\n setState(null);\r\n setStatusMessages(statusMessages);\r\n setErrors(formMessages);\r\n if (!formMessages && status !== 'error' && typeof onSuccess === 'function') {\r\n onSuccess(response, isApply);\r\n }\r\n if (formMessages && typeof onError === 'function') {\r\n onError(formMessages, setErrors);\r\n }\r\n }\r\n };\r\n\r\n const renderStatusMessages = () => {\r\n if (!statusMessages.length) {\r\n return null;\r\n }\r\n return (\r\n \r\n {statusMessages.map(({ status, content, title }) => (\r\n \r\n {title ? <>{title}{':'}{' '} : null}\r\n \r\n \r\n ))}\r\n \r\n );\r\n };\r\n\r\n const renderEmbeddedForms = () => (embeddedForms || []).map(({ name, content }) => (\r\n \r\n {/** @ts-expect-error JswComponents is js */}\r\n {content}\r\n \r\n ));\r\n\r\n return (\r\n \r\n {renderStatusMessages()}\r\n {children}\r\n {embeddedFormsRender ? embeddedFormsRender(renderEmbeddedForms()) : renderEmbeddedForms()}\r\n \r\n );\r\n});\r\n\r\nForm.displayName = 'Form';\r\n\r\nexport default Form as FormComponent;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useLayoutEffect } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport Brand from './Brand';\r\nimport CookiePolicy from './CookiePolicy';\r\nimport LayoutBackground from './LayoutBackground';\r\n\r\nconst LoginLayout = ({\r\n children = undefined,\r\n actions = undefined,\r\n ...props\r\n}) => {\r\n useLayoutEffect(() => {\r\n document.body.classList.add('sid-login');\r\n return () => {\r\n document.body.classList.remove('sid-login');\r\n };\r\n }, []);\r\n\r\n return (\r\n
              \r\n \r\n \r\n
              \r\n \r\n
              \r\n {actions ? (\r\n
              \r\n {actions}\r\n
              \r\n ) : null}\r\n
              \r\n )}\r\n {...props}\r\n >\r\n
              \r\n {children}\r\n
              \r\n \r\n
              \r\n );\r\n};\r\n\r\nLoginLayout.propTypes = {\r\n children: PropTypes.any,\r\n actions: PropTypes.any,\r\n customBackground: PropTypes.shape({\r\n file: PropTypes.string,\r\n color: PropTypes.string.isRequired,\r\n fit: PropTypes.string.isRequired,\r\n }),\r\n};\r\n\r\nexport const withLoginLayout = (Component, extraProps) => {\r\n const Wrapper = wrapperProps => {\r\n const {\r\n contentAddon,\r\n actions,\r\n background,\r\n ...props\r\n } = {\r\n ...wrapperProps,\r\n ...(typeof extraProps === 'function' ? extraProps(wrapperProps) : extraProps),\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n Wrapper.displayName = `withLoginLayout(${Component.displayName || Component.name || 'Component'})`;\r\n Wrapper.WrappedComponent = Component;\r\n\r\n return Wrapper;\r\n};\r\n\r\nexport default LoginLayout;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport classNames from 'classnames';\r\nimport { Layout } from '@plesk/ui-library';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst LayoutBackground = ({\r\n customBackground = {\r\n file: undefined,\r\n color: '#4B4B4B',\r\n fit: 'fill',\r\n },\r\n header = undefined,\r\n className = '',\r\n ...props\r\n}) => (\r\n \r\n);\r\n\r\nLayoutBackground.propTypes = {\r\n customBackground: PropTypes.shape({\r\n file: PropTypes.string,\r\n color: PropTypes.string.isRequired,\r\n fit: PropTypes.string.isRequired,\r\n }),\r\n className: PropTypes.string,\r\n header: PropTypes.node,\r\n};\r\n\r\nexport default LayoutBackground;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport classNames from 'classnames';\r\nimport { Heading, Alert, Media, MediaSection, Icon, Button } from '@plesk/ui-library';\r\nimport { Locale } from 'jsw';\r\nimport Cookie from 'common/cookie';\r\n\r\nconst Translate = Locale.getTranslate('components.forms.login');\r\n\r\nconst MOBILE_APPLICATION_PROMOTION_COOKIE_NAME = 'mobile-application-promotion-hidden';\r\n\r\nconst LoginMobileApplicationPromotion = ({\r\n baseClassName = 'login-mobile-application-promotion',\r\n className = undefined,\r\n name,\r\n url,\r\n icon = undefined,\r\n}) => {\r\n const [isVisible, setIsVisible] = useState(Boolean(Cookie.get(MOBILE_APPLICATION_PROMOTION_COOKIE_NAME) !== '1'));\r\n\r\n const handleHide = () => {\r\n setIsVisible(false);\r\n Cookie.setPermanent(MOBILE_APPLICATION_PROMOTION_COOKIE_NAME, '1', '/');\r\n };\r\n\r\n if (!isVisible) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n {name}}\r\n image={}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nLoginMobileApplicationPromotion.propTypes = {\r\n name: PropTypes.string.isRequired,\r\n url: PropTypes.string.isRequired,\r\n icon: PropTypes.string,\r\n className: PropTypes.string,\r\n baseClassName: PropTypes.string,\r\n};\r\n\r\nexport default LoginMobileApplicationPromotion;\r\n","module.exports = Jsw.skinUrl + \"/icons/64/plesk/plesk.png?aee4fcbe66c643d3dde4f3de15aa8f4e\";","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport classNames from 'classnames';\r\nimport { Alert, Link } from '@plesk/ui-library';\r\nimport { Locale } from 'jsw';\r\nimport PropTypes from 'prop-types';\r\n\r\nconst Translate = Locale.getTranslate('components.forms.login');\r\n\r\nconst SuggestResolvableHostname = ({\r\n baseClassName = 'login-ssl-warnings',\r\n className = undefined,\r\n link,\r\n}) => {\r\n const match = link.match(/^https?:\\/\\/[^\\/?#]*/);\r\n const host = match[0];\r\n\r\n return (\r\n \r\n {host},\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nSuggestResolvableHostname.propTypes = {\r\n className: PropTypes.string,\r\n baseClassName: PropTypes.string,\r\n link: PropTypes.string.isRequired,\r\n};\r\n\r\nexport default SuggestResolvableHostname;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport classNames from 'classnames';\r\nimport { useMemo, useState } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { Button, Dropdown, Menu, MenuItem } from '@plesk/ui-library';\r\nimport { Locale } from 'jsw';\r\n\r\nimport './LocaleSwitcher.less';\r\n\r\nconst Translate = Locale.getTranslate('components.common.LocaleSwitcher');\r\n\r\nconst LocaleSwitcher = ({ locales, value: defaultValue, onChange, appearance = 'default' }) => {\r\n const [value, setValue] = useState(defaultValue);\r\n\r\n const sortedLocales = useMemo(() => locales.slice().sort((a, b) => {\r\n if (b.code === 'en-US' || a.name > b.name) {\r\n return 1;\r\n }\r\n if (a.code === 'en-US' || b.name > a.name) {\r\n return -1;\r\n }\r\n return 0;\r\n }), [locales]);\r\n\r\n const handleChange = value => {\r\n setValue(value);\r\n onChange(value);\r\n };\r\n\r\n return (\r\n \r\n handleChange('default')}\r\n >\r\n \r\n \r\n {sortedLocales.map(({ code, name, isRtl }) => (\r\n handleChange(code)}\r\n dir={isRtl ? 'rtl' : 'ltr'}\r\n >\r\n {name}\r\n \r\n ))}\r\n \r\n )}\r\n >\r\n }\r\n icon=\"globe\"\r\n ghost\r\n caret\r\n />\r\n \r\n );\r\n};\r\n\r\nLocaleSwitcher.propTypes = {\r\n appearance: PropTypes.oneOf(['default', 'dark']),\r\n locales: PropTypes.arrayOf(PropTypes.shape({\r\n code: PropTypes.string.isRequired,\r\n name: PropTypes.string.isRequired,\r\n isRtl: PropTypes.bool.isRequired,\r\n })).isRequired,\r\n value: PropTypes.string.isRequired,\r\n onChange: PropTypes.func.isRequired,\r\n};\r\n\r\nexport default LocaleSwitcher;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useCallback, useMemo } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { FormFieldText, FormFieldRadioButtons, Heading } from '@plesk/ui-library';\r\nimport { Locale } from 'jsw';\r\nimport { addToast } from 'helpers/toasts';\r\nimport Form from 'components/Form';\r\nimport Link from 'components/common/Link';\r\nimport { withLoginLayout } from '../layouts/LoginLayout';\r\n\r\nconst Translate = Locale.getTranslate('components.forms.get-password');\r\n\r\nimport GET_PASSWORD_PAGE_QUERY from 'queries/GetPasswordPage.graphql';\r\nimport { useQuery } from '@apollo/client';\r\n\r\nconst GetPasswordPage = ({ values: defaultValues = undefined }) => {\r\n const navigate = useNavigate();\r\n const values = useMemo(() => ({\r\n resetBy: 'email',\r\n email: '',\r\n login: '',\r\n ...defaultValues,\r\n }), [defaultValues]);\r\n\r\n const handleSuccess = useCallback(() => {\r\n addToast({\r\n intent: 'success',\r\n message: ,\r\n });\r\n navigate('/login_up.php');\r\n }, [navigate]);\r\n\r\n return (\r\n <>\r\n \r\n

              \r\n ,\r\n 'data-action': 'send',\r\n }}\r\n cancelButton={{\r\n component: Link,\r\n to: '/login_up.php',\r\n children: ,\r\n 'data-action': 'cancel',\r\n }}\r\n vertical\r\n >\r\n ,\r\n indentFields: [\r\n ,\r\n ],\r\n },\r\n {\r\n value: 'login',\r\n label: ,\r\n indentFields: [\r\n ,\r\n ],\r\n },\r\n ]}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nGetPasswordPage.propTypes = {\r\n values: PropTypes.shape({\r\n resetBy: PropTypes.string,\r\n email: PropTypes.string,\r\n login: PropTypes.string,\r\n }),\r\n};\r\n\r\nexport default withLoginLayout(GetPasswordPage, () => {\r\n const {\r\n data: {\r\n viewer: { background },\r\n },\r\n } = useQuery(GET_PASSWORD_PAGE_QUERY);\r\n\r\n return { background };\r\n});\r\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetPasswordPage\"},\"variableDefinitions\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"viewer\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"background\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"file\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"color\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"fit\"},\"arguments\":[],\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":136}};\n doc.loc.source = {\"body\":\"query GetPasswordPage {\\r\\n viewer {\\r\\n background {\\r\\n file\\r\\n color\\r\\n fit\\r\\n }\\r\\n }\\r\\n}\\r\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \r\n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \r\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n for (var i = 0; i < doc.definitions.length; i++) {\n var element = doc.definitions[i];\n if (element.name && element.name.value == name) {\n return element;\n }\n }\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = {\n kind: doc.kind,\n definitions: [findOperation(doc, operationName)]\n };\n if (doc.hasOwnProperty(\"loc\")) {\n newDoc.loc = doc.loc;\n }\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set();\n\n // IE 11 doesn't support \"new Set(iterable)\", so we add the members of opRefs to newRefs one by one\n opRefs.forEach(function(refName) {\n newRefs.add(refName);\n });\n\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n \n module.exports = doc;\n \n module.exports[\"GetPasswordPage\"] = oneQuery(doc, \"GetPasswordPage\");\n \r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useCallback, useState } from 'react';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { FormFieldPassword } from '@plesk/ui-library';\r\nimport { Locale, api } from 'jsw';\r\nimport estimatePassword from 'helpers/estimatePassword';\r\nimport { addToast } from 'helpers/toasts';\r\nimport Form from 'components/Form';\r\nimport Link from 'components/common/Link';\r\nimport { withLoginLayout } from '../layouts/LoginLayout';\r\n\r\nconst Translate = Locale.getTranslate('components.forms.restore-password');\r\n\r\nimport GET_PASSWORD_PAGE_QUERY from 'queries/GetPasswordPage.graphql';\r\nimport { useQuery } from '@apollo/client';\r\n\r\nconst RestorePasswordPage = () => {\r\n const navigate = useNavigate();\r\n const [errors, setErrors] = useState({});\r\n\r\n const handleSubmit = values => {\r\n const errors = {};\r\n if (!values.password) {\r\n errors.password = {\r\n isEmpty: ,\r\n };\r\n }\r\n\r\n setErrors(errors);\r\n if (!Object.keys(errors).length) {\r\n return values;\r\n }\r\n };\r\n\r\n const handleSuccess = useCallback(() => {\r\n addToast({\r\n intent: 'success',\r\n message: ,\r\n });\r\n navigate('/login_up.php');\r\n }, [navigate]);\r\n\r\n const handleEstimatePassword = useCallback(password => estimatePassword(password, password => api.post('?estimate', { password })), []);\r\n\r\n return (\r\n ,\r\n }}\r\n applyButton={false}\r\n cancelButton={{\r\n children: ,\r\n component: Link,\r\n to: '/login_up.php',\r\n }}\r\n errors={errors}\r\n vertical\r\n >\r\n

              \r\n }\r\n name=\"password\"\r\n size=\"fill\"\r\n autoComplete=\"new-password\"\r\n passwordMeterProps={{\r\n onEstimate: handleEstimatePassword,\r\n placement: 'top-right',\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default withLoginLayout(RestorePasswordPage, () => {\r\n const {\r\n data: {\r\n viewer: { background },\r\n },\r\n } = useQuery(GET_PASSWORD_PAGE_QUERY);\r\n\r\n return { background };\r\n});\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { useState, useCallback } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { LocaleProvider as BaseLocaleProvider } from '@plesk/ui-library';\r\nimport { Locale, Observer } from 'jsw';\r\nimport { useEventListener } from 'common/hooks';\r\n\r\nconst mergeMessages = (oldMessages, messages, prefix) => {\r\n const prefixedMessages = Object.entries(messages)\r\n .reduce((res, [key, value]) => {\r\n res[`${prefix}.${key}`] = value;\r\n return res;\r\n }, {});\r\n\r\n return {\r\n ...oldMessages,\r\n ...prefixedMessages,\r\n };\r\n};\r\n\r\nconst LocaleProvider = ({ children = undefined }) => {\r\n const [messages, setMessages] = useState(Object.entries(Locale.sections)\r\n .reduce((oldMessages, [sectionName, section]) => mergeMessages(oldMessages, section.messages, sectionName), {}));\r\n\r\n const handleAddedLocaleSection = useCallback(({ name, messages }) => {\r\n setMessages(oldMessages => mergeMessages(oldMessages, messages, name));\r\n }, []);\r\n\r\n const handleAddedLocaleSections = useCallback(({ sections }) => {\r\n setMessages(oldMessages => Object.entries(sections).reduce((acc, [name, messages]) => mergeMessages(acc, messages, name), oldMessages));\r\n }, []);\r\n\r\n useEventListener('plesk:addedLocaleSection', handleAddedLocaleSection, Observer);\r\n useEventListener('plesk:addedLocaleSections', handleAddedLocaleSections, Observer);\r\n\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nLocaleProvider.propTypes = {\r\n children: PropTypes.any,\r\n};\r\n\r\nexport default LocaleProvider;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { Component, Popover, StatusMessage, Text } from 'react';\r\nimport PropTypes from 'prop-types';\r\nimport { captureException } from '@sentry/browser';\r\n\r\nclass ErrorBoundary extends Component {\r\n state = {\r\n error: null,\r\n errorInfo: null,\r\n };\r\n\r\n componentDidCatch(error, errorInfo) {\r\n this.setState({\r\n error,\r\n errorInfo,\r\n });\r\n captureException(error);\r\n }\r\n\r\n render() {\r\n if (this.state.errorInfo) {\r\n return (\r\n {'Internal error'}}\r\n intent=\"danger\"\r\n placement=\"bottom-start\"\r\n wide\r\n >\r\n \r\n {this.state.error && this.state.error.toString()}\r\n {this.state.errorInfo.componentStack}\r\n \r\n \r\n );\r\n }\r\n\r\n return this.props.children;\r\n }\r\n}\r\n\r\nErrorBoundary.propTypes = {\r\n children: PropTypes.any,\r\n};\r\n\r\nErrorBoundary.defaultProps = {\r\n children: undefined,\r\n};\r\n\r\nexport default ErrorBoundary;\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nconst entries = {\r\n 'app/editlist': () => import(/* webpackChunkName: \"app/editlist\" */'./editlist'),\r\n 'app/rating': () => import(/* webpackChunkName: \"app/rating\" */'./rating'),\r\n 'app/aha': () => import(/* webpackChunkName: \"app/aha\" */'./aha'),\r\n 'app/eula': () => import(/* webpackChunkName: \"app/eula\" */'./eula'),\r\n 'app/app-image/gallery': () => import(/* webpackChunkName: \"app/app-image/gallery\" */'./app-image/gallery'),\r\n 'app/backup/list': () => import(/* webpackChunkName: \"app/backup/list\" */'./backup/list'),\r\n 'app/backup/restore': () => import(/* webpackChunkName: \"app/backup/restore\" */'./backup/restore'),\r\n 'app/backup/upload-files': () => import(/* webpackChunkName: \"app/backup/upload-files\" */'./backup/upload-files'),\r\n 'app/backup/web-content-dynamic': () => import(/* webpackChunkName: \"app/backup/web-content-dynamic\" */'./backup/web-content-dynamic'),\r\n 'app/database/assign-to-subscription': () => import(/* webpackChunkName: \"app/database/assign-to-subscription\" */'views/smb/database/list/AssignToSubscription'),\r\n 'app/dns-helper': () => import(/* webpackChunkName: \"app/dns-helper\" */'./dns-helper'),\r\n 'app/dns-helper/dns-settings': () => import(/* webpackChunkName: \"app/dns-helper/dns-settings\" */'./dns-helper/dns-settings'),\r\n 'app/email-address/aliases-dynamic': () => import(/* webpackChunkName: \"app/email-address/aliases-dynamic\" */'./email-address/aliases-dynamic'),\r\n 'app/email-address/client-configuration-link': () => import(/* webpackChunkName: \"app/email-address/client-configuration-link\" */'./email-address/client-configuration-link'),\r\n 'app/email-address/form-ajax': () => import(/* webpackChunkName: \"app/email-address/form-ajax\" */'./email-address/form-ajax'),\r\n 'app/email-address/postbox': () => import(/* webpackChunkName: \"app/email-address/postbox\" */'./email-address/postbox'),\r\n 'app/email-address/responder-attachments-dynamic': () => import(\r\n /* webpackChunkName: \"app/email-address/responder-attachments-dynamic\" */\r\n './email-address/responder-attachments-dynamic'\r\n ),\r\n 'app/file-manager/explorer': () => import(/* webpackChunkName: \"app/file-manager/explorer\" */'./file-manager/explorer'),\r\n 'app/file-manager/file-name-popup-form': () => import(/* webpackChunkName: \"app/file-manager/file-name-popup-form\" */'./file-manager/file-name-popup-form'),\r\n 'app/mail-settings/confirmation-remove-popup-form': () => import(\r\n /* webpackChunkName: \"app/mail-settings/confirmation-remove-popup-form\" */\r\n './mail-settings/confirmation-remove-popup-form'\r\n ),\r\n 'app/hosting-settings/conflicts-checker': () => import(/* webpackChunkName: \"app/hosting-settings/conflicts-checker\" */'./hosting-settings/conflicts-checker'),\r\n 'app/log-browser/browser': () => import(/* webpackChunkName: \"app/log-browser/browser\" */'./log-browser/browser'),\r\n 'app/log-browser/files': () => import(/* webpackChunkName: \"app/log-browser/files\" */'./log-browser/files'),\r\n 'app/login/recovery-password': () => import(/* webpackChunkName: \"app/login/recovery-password\" */'./login/recovery-password'),\r\n 'app/newsletter-subscription': () => import(/* webpackChunkName: \"app/newsletter-subscription\" */'./newsletter-subscription'),\r\n 'app/progress-dialog': () => import(/* webpackChunkName: \"app/progress-dialog\" */'./progress-dialog'),\r\n 'app/profile/announcement-settings': () => import(/* webpackChunkName: \"app/profile/announcement-settings\" */'./profile/announcement-settings'),\r\n 'app/domain/restriction': () => import(/* webpackChunkName: \"app/domain/restriction\" */'./domain/restriction'),\r\n 'app/pum': () => import(/* webpackChunkName: \"app/pum\" */'./pum'),\r\n 'app/server-mail-antivirus-promo': () => import(/* webpackChunkName: \"app/server-mail-antivirus-promo\" */'./server-mail-antivirus-promo'),\r\n 'app/show-output-popup': () => import(/* webpackChunkName: \"app/show-output-popup\" */'./show-output-popup'),\r\n 'app/task-progress-bar': () => import(/* webpackChunkName: \"app/task-progress-bar\" */'./task-progress-bar'),\r\n 'app/user/login-string': () => import(/* webpackChunkName: \"app/user/login-string\" */'./user/login-string'),\r\n 'app/change-customers-owner': () => import(/* webpackChunkName: \"app/change-customers-owner\" */'./change-customers-owner'),\r\n 'app/convert-customers-to-resellers': () => import(/* webpackChunkName: \"app/convert-customers-to-resellers\" */'./convert-customers-to-resellers'),\r\n 'app/convert-resellers-to-customers': () => import(/* webpackChunkName: \"app/convert-resellers-to-customers\" */'./convert-resellers-to-customers'),\r\n 'app/service-sidebar': () => import(/* webpackChunkName: \"app/service-sidebar\" */'components/sidebars/ServiceSidebar'),\r\n 'app/ssl-certificate/list': () => import(/* webpackChunkName: \"app/ssl-certificate/list\" */'./ssl-certificate/list'),\r\n 'app/app/progress': () => import(/* webpackChunkName: \"app/app/progress\" */'./app/progress'),\r\n 'app/app/installed': () => import(/* webpackChunkName: \"app/app/installed\" */'./app/installed'),\r\n 'app/app/apscatalog': () => import(/* webpackChunkName: \"app/app/apscatalog\" */'./app/apscatalog'),\r\n 'app/web-app-firewall/submit-handler': () => import(/* webpackChunkName: \"app/web-app-firewall/submit-handler\" */'./web-app-firewall/submit-handler'),\r\n 'app/helper/mail-settings-dkim-hint': () => import(/* webpackChunkName: \"app/helper/mail-settings-dkim-hint\" */'./helper/mail-settings-dkim-hint'),\r\n};\r\n\r\nexport default async (path, callback) => {\r\n if (!entries[path]) {\r\n throw new Error(`Unknown required module ${path}.`);\r\n }\r\n\r\n try {\r\n const { default: module } = await entries[path]();\r\n callback?.(module);\r\n return module;\r\n } catch (error) {\r\n // eslint-disable-next-line no-console\r\n console.error(error);\r\n return new Promise(() => {});\r\n }\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport {\r\n init,\r\n getCurrentScope,\r\n replayIntegration,\r\n browserTracingIntegration,\r\n} from '@sentry/browser';\r\nimport { withoutGraphQLFetch } from 'apollo-link-sentry';\r\n\r\nexport default ({ sentry }) => {\r\n if (!sentry) {\r\n return;\r\n }\r\n\r\n if (window.navigator.userAgent.match(/jsdom/)) {\r\n return;\r\n }\r\n\r\n const { user = null, tags = {}, environment, ...options } = sentry;\r\n const isDev = environment === 'development';\r\n\r\n init({\r\n integrations: [\r\n replayIntegration({\r\n maskAllText: !isDev,\r\n maskAllInputs: !isDev,\r\n }),\r\n browserTracingIntegration({\r\n beforeStartSpan: context => ({\r\n ...context,\r\n name: location.pathname\r\n .replace(/\\/[a-f0-9]{8}-[a-f0-9]{4}-[0-5][a-f0-9]{3}-[089ab][a-f0-9]{3}-[a-f0-9]{12}/ig, '/')\r\n .replace(/\\/[a-f0-9]{32}/g, '/')\r\n .replace(/\\/\\d+/g, '/')\r\n .replace(/\\/type\\/(domain|alias)/, '/type/'),\r\n }),\r\n }),\r\n ],\r\n beforeSend: (event, hint) => {\r\n const err = hint.originalException;\r\n if (err && err.stack) {\r\n // mozilla and safari debuggers\r\n const catchDebugger = /global code@|@debugger/.test(err.stack);\r\n const stack = err.stack.split('\\n');\r\n // chrome anonymous stack\r\n const anonymousCall = stack.length === 2 && /:1:(\\d+)$/.test(stack.at(-1));\r\n if (catchDebugger || anonymousCall) {\r\n return null;\r\n }\r\n }\r\n return event;\r\n },\r\n beforeBreadcrumb: withoutGraphQLFetch(breadcrumb => {\r\n if (breadcrumb.category === 'xhr' || breadcrumb.category === 'fetch') {\r\n const url = breadcrumb.data?.url ?? '';\r\n\r\n if (url.includes('firehose.us-west-2.amazonaws.com')) {\r\n return null;\r\n }\r\n\r\n if (url.includes('/cp/locale')) {\r\n const sections = new URLSearchParams(url.split('?')[1]).getAll('sections[]');\r\n\r\n return {\r\n type: 'http',\r\n category: 'plesk.locale',\r\n data: {\r\n sections,\r\n },\r\n };\r\n }\r\n }\r\n\r\n return breadcrumb;\r\n }),\r\n ignoreErrors: [\r\n 'ResizeObserver loop',\r\n 'ApiFetchError:',\r\n 'whmcs_user_id is not defined',\r\n '__renderMessageNode is not defined',\r\n 'Module build failed',\r\n 'jQuery is not defined',\r\n 'safari-extension://',\r\n 'moz-extension://',\r\n 'chrome-extension://',\r\n 'Object Not Found Matching Id:',\r\n // TODO PPP-60163: Error: Script error for ...\r\n 'Script error for',\r\n // TODO EXTPLESK-4373: [Acronis Backup] TypeError: Cannot read properties of null (reading 'readAttribute')\r\n 'loadAndDisplayNotifications',\r\n ],\r\n denyUrls: [\r\n // Chrome extensions\r\n /extensions\\//i,\r\n /^chrome:\\/\\//i,\r\n // TODO EXTPLESK-1671: [Help Center] Not compatible with Plesk 18.0\r\n '/modules/help-center/global.js',\r\n // TODO EXTPLESK-2342 [Speed Kit] Sentry pollution when Plesk session is expired\r\n '/modules/baqend/script.js',\r\n // TODO EXTPLESK-2242: Legacy Addendio - WordPress Plugins and Themes generates errors on login page\r\n '/modules/addendio-wordpress/global.js',\r\n // TODO EXTPLESK-2938: [ImunifyAV] TypeError: Cannot read property 'update'/'show' of null\r\n '/modules/revisium-antivirus/js/ra_domain.js',\r\n // TODO EXTWPTOOLK-10233: TypeError: null is not an object (evaluating 'body.select')\r\n '/modules/wp-toolkit/js/domain-page.js',\r\n ],\r\n sampleRate: isDev ? 1 : 0.05,\r\n replaysSessionSampleRate: 0,\r\n replaysOnErrorSampleRate: isDev ? 1 : 0,\r\n tracesSampleRate: isDev ? 0.001 : 0,\r\n environment,\r\n ...options,\r\n });\r\n\r\n const scope = getCurrentScope();\r\n scope.setUser(user);\r\n for (const tag in tags) {\r\n scope.setTag(tag, tags[tag]);\r\n }\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport * as AdminPanel from './admin-panel';\r\nimport * as Smb from './smb';\r\nimport * as common from './common';\r\nimport * as chk from './chk';\r\nimport Tooltip from './Tooltip';\r\nimport onReady from '../jsw/onReady';\r\n\r\nwindow.AdminPanel = AdminPanel;\r\nwindow.Smb = Smb;\r\n\r\nObject.keys(common).forEach(fn => {\r\n window[fn] = common[fn];\r\n});\r\n\r\nObject.keys(chk).forEach(fn => {\r\n window[fn] = chk[fn];\r\n});\r\n\r\nonReady(() => {\r\n window.tooltip = new Tooltip(document);\r\n});\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/* eslint-disable react/no-multi-comp */\r\n\r\nimport { Component, Panel as BasePanel, ListContainer, SmallButton } from 'jsw';\r\n\r\nclass UpdateAvailableNotification extends Component {\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n const id = this._getConfigParam('type');\r\n\r\n const buttonNow = this._getConfigParam('nowElement');\r\n const buttonShow = this._getConfigParam('showElement');\r\n const linkLater = this._getConfigParam('laterElement');\r\n\r\n this._updateComponentElement((\r\n '
              ' +\r\n '
              ' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '
              ' +\r\n `${this._getConfigParam('message', '')}` +\r\n '' +\r\n `` +\r\n `` +\r\n `${linkLater.text}` +\r\n '
              ' +\r\n '
              ' +\r\n '
              '\r\n ));\r\n\r\n this._componentElement.querySelector(`#control-${id}-now`).addEventListener('click', event => {\r\n buttonNow.handler();\r\n event.preventDefault();\r\n });\r\n\r\n this._componentElement.querySelector(`#control-${id}-show`).addEventListener('click', event => {\r\n buttonShow.handler();\r\n event.preventDefault();\r\n });\r\n\r\n this._componentElement.querySelector(`#control-${id}-later`).addEventListener('click', event => {\r\n linkLater.handler();\r\n event.preventDefault();\r\n });\r\n }\r\n}\r\n\r\n\r\nclass UpgradeAvailableNotification extends Component {\r\n _initComponentElement() {\r\n super._initComponentElement();\r\n\r\n const id = this._getConfigParam('type');\r\n\r\n const buttonShow = this._getConfigParam('showElement');\r\n const linkLater = this._getConfigParam('laterElement');\r\n\r\n this._updateComponentElement((\r\n '
              ' +\r\n '
              ' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '' +\r\n '
              ' +\r\n `${this._getConfigParam('message', '')}` +\r\n '' +\r\n `` +\r\n `${linkLater.text}` +\r\n '
              ' +\r\n '
              ' +\r\n '
              '\r\n ));\r\n\r\n this._componentElement.querySelector(`#control-${id}-show`).addEventListener('click', event => {\r\n buttonShow.handler();\r\n event.preventDefault();\r\n });\r\n\r\n this._componentElement.querySelector(`#control-${id}-later`).addEventListener('click', event => {\r\n linkLater.handler();\r\n event.preventDefault();\r\n });\r\n }\r\n}\r\n\r\nclass Panel extends BasePanel {\r\n _addTooltips() {\r\n // disable tooltip for description option\r\n }\r\n\r\n _getSubTitleHtml() {\r\n const descriptionText = this._getConfigParam('description');\r\n if (!descriptionText) {\r\n return '';\r\n }\r\n\r\n return (\r\n '
              ' +\r\n `
              ${descriptionText}
              ` +\r\n '
              '\r\n );\r\n }\r\n}\r\n\r\nclass PanelItemsGroup extends ListContainer {\r\n}\r\n\r\nclass PanelItem extends SmallButton {\r\n}\r\n\r\nexport const home = {\r\n UpdateAvailableNotification,\r\n UpgradeAvailableNotification,\r\n Panel,\r\n PanelItemsGroup,\r\n PanelItem,\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { createElement as ce, getComponent, api, escapeHtml, prepareUrl, BigButton, StatusMessage, Popup } from 'jsw';\r\n\r\n/* SMB specific JavaScript classes */\r\n\r\nexport const ApsLicense = {\r\n buy(action) {\r\n window.open(action);\r\n return false;\r\n },\r\n\r\n initForm() {\r\n document.getElementById('apsLicense-uploadType-text').addEventListener('click', this.onChangeUploadType.bind(this));\r\n document.getElementById('apsLicense-uploadType-file').addEventListener('click', this.onChangeUploadType.bind(this));\r\n },\r\n\r\n onChangeUploadType() {\r\n if (document.getElementById('apsLicense-uploadType-text').checked) {\r\n document.getElementById('apsLicense-uploadText').disabled = false;\r\n document.getElementById('uploadFile').disabled = true;\r\n } else {\r\n document.getElementById('apsLicense-uploadText').disabled = true;\r\n document.getElementById('uploadFile').disabled = false;\r\n }\r\n },\r\n};\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport const ToolButton = BigButton;\r\n\r\nexport class ApplicationUpdate extends StatusMessage {\r\n _initConfiguration(config) {\r\n super._initConfiguration({\r\n ...config,\r\n type: 'warning',\r\n });\r\n this._data = this._getConfigParam('data', []);\r\n this._limit = this._getConfigParam('limit', 5);\r\n }\r\n\r\n _renderMessage() {\r\n const message = [super._renderMessage()];\r\n message.push(ce('br'));\r\n this._data.forEach(app => {\r\n message.push(\r\n ce('div.b-subitem',\r\n `${app.name} `,\r\n ce('span.hint', `(${this._renderHint(app)})`),\r\n ' ',\r\n ce('a.toggler.js-install', this.lmsg('install')),\r\n '  ',\r\n ce('a.toggler.js-changelog', this.lmsg('changelog')),\r\n ce('input', { type: 'hidden', value: JSON.stringify(app) }),\r\n ),\r\n );\r\n });\r\n if (this._data.length > this._limit) {\r\n message.push(ce('a.toggler.js-view-more', this.lmsg('viewMore', { number: this._data.length - this._limit })));\r\n }\r\n return message;\r\n }\r\n\r\n _renderHint(app) {\r\n if (app.instances.length === 1) {\r\n return app.instances[0].name;\r\n }\r\n return this.lmsg('instances', { total: app.instances.length });\r\n }\r\n\r\n _addEvents() {\r\n super._addEvents();\r\n\r\n this._componentElement.querySelectorAll('.b-subitem').forEach(item => {\r\n item.querySelector('.js-install').addEventListener('click', event => {\r\n this._onInstallEvent(event);\r\n });\r\n item.querySelector('.js-changelog').addEventListener('click', event => {\r\n this._onChangelogEvent(event);\r\n });\r\n });\r\n\r\n if (this._data.length > this._limit) {\r\n [...this._componentElement.querySelectorAll('.b-subitem')].slice(this._limit).forEach(item => {\r\n item.style.display = 'none';\r\n });\r\n this._componentElement.querySelector('.js-view-more').addEventListener('click', event => {\r\n this._onViewMoreEvent(event);\r\n });\r\n }\r\n }\r\n\r\n _onInstallEvent(e) {\r\n const app = JSON.parse(e.target.closest('.b-subitem').querySelector('input').value);\r\n Smb.updateApplication(app, this.getLocale(), e);\r\n e.target.closest('.b-subitem').querySelectorAll('a').forEach(a => {\r\n a.parentNode.removeChild(a);\r\n });\r\n }\r\n\r\n _onChangelogEvent(e) {\r\n const app = JSON.parse(e.target.closest('.b-subitem').querySelector('input').value);\r\n Smb.showApplicationChangelog(app, this.getLocale(), e);\r\n }\r\n\r\n _onViewMoreEvent() {\r\n [...this._componentElement.querySelectorAll('.b-subitem')].slice(this._limit).forEach(item => {\r\n item.style.display = item.style.display === 'none' ? '' : 'none';\r\n });\r\n this._componentElement.querySelector('.js-view-more').style.display = 'none';\r\n }\r\n}\r\n\r\nexport const updateApplication = ({ name, instances }, locale, event) => {\r\n event.preventDefault();\r\n const beginOffset = Element.cumulativeOffset(event.target);\r\n const progressBar = getComponent('asyncProgressBarWrapper');\r\n const itemId = progressBar.fly(beginOffset,\r\n locale.lmsg('appInstall', { app: escapeHtml(name) }),\r\n () => {\r\n api.post(prepareUrl('/app-update/update-all'), {\r\n resourceIds: instances.map(({ id }) => id),\r\n name,\r\n })\r\n .then(() => {\r\n progressBar.update();\r\n })\r\n .catch(({ message }) => {\r\n progressBar.failPreparingItem(itemId, message);\r\n });\r\n },\r\n );\r\n if (event.target.closest('.caption-service-toolbar')) {\r\n event.target.closest('.caption-service-toolbar').querySelectorAll('.js-app-update').forEach(el => el.parentNode.removeChild(el));\r\n }\r\n};\r\n\r\nexport const showApplicationChangelog = (app, locale, event) => {\r\n new Ajax.Request(prepareUrl(`/app-update/index/resourceId/${app.instances[0].id}/`), {\r\n method: 'get',\r\n onCreate() {\r\n new Popup({\r\n content: `
              ${locale.lmsg('loading')}
              `,\r\n title: locale.lmsg('appChangelog', { app: escapeHtml(app.name) }),\r\n });\r\n },\r\n onSuccess(transport) {\r\n if ('' === transport.responseText) {\r\n return;\r\n }\r\n\r\n let contentText = '';\r\n try {\r\n const jsonResponse = JSON.parse(transport.responseText);\r\n if ('error' === jsonResponse.status) {\r\n contentText = ('' != jsonResponse.statusMessages)\r\n ? jsonResponse.statusMessages\r\n : locale.lmsg('unableGetChangelog');\r\n }\r\n } catch {\r\n contentText = transport.responseText;\r\n }\r\n\r\n const popup = new Popup({\r\n content: contentText,\r\n title: locale.lmsg('appChangelog', { app: escapeHtml(app.name) }),\r\n onShow() {\r\n document.querySelectorAll('.apps-box').forEach(function (e) {\r\n const viewportHeight = document.viewport.getHeight();\r\n const popupHeight = Element.getHeight(e.closest('.popup-container'));\r\n const popupTop = Element.positionedOffset(e.closest('.popup-panel')).top;\r\n if (popupHeight + (popupTop * 2) >= viewportHeight) {\r\n const height = viewportHeight - (popupHeight - Element.getHeight(e)) - (popupTop * 2);\r\n e.style.overflow = 'auto';\r\n e.style.height = `${height}px`;\r\n }\r\n });\r\n },\r\n buttons: [\r\n {\r\n title: locale.lmsg('close'),\r\n handler() {\r\n popup.hide();\r\n },\r\n },\r\n ],\r\n });\r\n },\r\n });\r\n event.preventDefault();\r\n};\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { onReady, redirectPost, showInternalError, keyCode } from 'jsw';\r\n\r\n/* eslint-disable camelcase */\r\n\r\nexport const syn = s => {\r\n if (!s || !s.options || !s.options.length) {\r\n return false;\r\n }\r\n\r\n if (s.options[s.options.length - 1].selected) {\r\n s.options[s.options.length - 1].selected = false;\r\n }\r\n\r\n return true;\r\n};\r\n\r\n// ---------------------------------- redirect\r\n\r\nexport const go_to = href => {\r\n try {\r\n window.location = href;\r\n } catch {\r\n }\r\n};\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport const lon = () => true;\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport const loff = () => true;\r\n\r\nexport const lsubmit = f => {\r\n try {\r\n if (f.lock.value === 'true') {\r\n return false;\r\n }\r\n f.lock.value = 'true';\r\n } catch {\r\n }\r\n\r\n lon();\r\n\r\n const button = document.getElementById('buttonid-ok');\r\n if (button) {\r\n button.disabled = true;\r\n button.classList.add('btn-waiting');\r\n }\r\n\r\n try {\r\n f.submit();\r\n } catch {\r\n loff();\r\n f.lock.value = 'false';\r\n return false;\r\n }\r\n return true;\r\n};\r\n\r\nexport const getParentNodeByName = (o, name) => {\r\n const parent = o.parentNode;\r\n if (!parent) {\r\n return false;\r\n }\r\n if (parent.nodeName !== name) {\r\n return getParentNodeByName(parent, name);\r\n }\r\n return parent;\r\n};\r\n\r\nexport const errorfield = (o, status) => {\r\n const tr = getParentNodeByName(o, 'TR');\r\n if (!tr) {\r\n return false;\r\n }\r\n tr.className = status ? 'error' : '';\r\n return true;\r\n};\r\n\r\n// global actions and behaviors\r\nonReady(() => {\r\n document.querySelectorAll('textarea.js-auto-resize').forEach(element => {\r\n const resizeHandler = () => {\r\n const lines = element.value.split('\\n').length;\r\n if (lines < originalSize) {\r\n element.rows = originalSize;\r\n } else {\r\n element.rows = lines + 2;\r\n }\r\n };\r\n\r\n const originalSize = element.rows;\r\n resizeHandler();\r\n\r\n element.addEventListener('keyup', resizeHandler);\r\n });\r\n\r\n // disable autofill for forms with disabled autocomplete fields (Chrome issue)\r\n document.querySelectorAll('form input[autocomplete=\"off\"]').forEach(element => {\r\n element.closest('form').setAttribute('autocomplete', 'off');\r\n });\r\n});\r\n\r\ndocument.addEventListener('click', e => {\r\n const element = e.target.closest?.('a');\r\n if (!element) {\r\n return;\r\n }\r\n\r\n // prevent navigation to links with href=\"#\"\r\n if (element.getAttribute('href') === '#') {\r\n e.preventDefault();\r\n return;\r\n }\r\n\r\n // use POST method for links with href and data-method=\"post\"\r\n if (element.href && element.dataset.method === 'post') {\r\n e.preventDefault();\r\n redirectPost(element.href);\r\n }\r\n});\r\n\r\n// cross-site request forgery protection for legacy forms in 3d-party extensions\r\nif ('undefined' !== typeof Prototype) {\r\n const appendForgeryProtection = form => {\r\n if (!form || (form.method && form.method.toUpperCase() === 'GET') || form.forgery_protection_token) {\r\n return;\r\n }\r\n const forgeryToken = document.getElementById('forgery_protection_token');\r\n if (!forgeryToken) {\r\n return;\r\n }\r\n form.appendChild(new Element('input', {\r\n type: 'hidden',\r\n name: 'forgery_protection_token',\r\n value: forgeryToken.content,\r\n }));\r\n };\r\n\r\n document.addEventListener('submit', ({ target }) => {\r\n const form = target.closest('form');\r\n appendForgeryProtection(form);\r\n });\r\n\r\n const origSubmit = HTMLFormElement.prototype.submit;\r\n HTMLFormElement.prototype.submit = function () {\r\n appendForgeryProtection(this);\r\n return origSubmit.call(this);\r\n };\r\n\r\n const origOpen = XMLHttpRequest.prototype.open;\r\n XMLHttpRequest.prototype.open = function (method, url, ...args) {\r\n origOpen.call(this, method, url, ...args);\r\n\r\n const forgeryToken = document.getElementById('forgery_protection_token');\r\n if (forgeryToken && (!url.match(/^(?:[a-z]+:)?\\/\\//) || url.indexOf(window.location.host) !== -1)) {\r\n this.setRequestHeader('X-Forgery-Protection-Token', forgeryToken.content);\r\n }\r\n };\r\n\r\n const origInitialize = Ajax.Request.prototype.initialize;\r\n Ajax.Request.prototype.initialize = function (url, options) {\r\n return origInitialize.call(this, url, {\r\n onException(transport, exception) {\r\n throw exception;\r\n },\r\n on400() {\r\n // Monkey patching Prototype for proper handling of session expiration\r\n window.location.reload();\r\n },\r\n on500(transport) {\r\n showInternalError(transport.responseText);\r\n },\r\n on0() {\r\n // do nothing in case of internal/network error\r\n return false;\r\n },\r\n ...options,\r\n });\r\n };\r\n\r\n Ajax.Request.prototype.abort = function () {\r\n this.transport.abort();\r\n };\r\n}\r\n\r\n// prevent AJAX request canceling on Escape button press in Firefox\r\ndocument.addEventListener('keydown', event => {\r\n if (keyCode.ESC === event.keyCode) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n});\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\n/* eslint-disable camelcase */\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport const chk_pos_int = pos_int => {\r\n const re = /^\\s*[1-9]{1}[0-9]*\\s*$/;\r\n return pos_int.search(re) !== -1;\r\n};\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport const chk_mn = (mail_name, isWin) => {\r\n const re = isWin ? /^([A-Za-z0-9_\\-])+((\\.){1}([A-Za-z0-9_\\-])+)*$/ : /^[\\w-][\\w&\\-\\+]*((\\.)[\\w&\\-\\+]+)*$/;\r\n return mail_name.search(re) !== -1;\r\n};\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport const chk_dom = (dom_name, isWin) => {\r\n // check empty value\r\n if ('' === dom_name) {\r\n return false;\r\n }\r\n\r\n if ('localhost.rev' === dom_name) {\r\n return false;\r\n }\r\n\r\n const inaddr = /\\.in-addr.arpa$/;\r\n if (dom_name.search(inaddr) !== -1) {\r\n return false;\r\n }\r\n\r\n // no domain name like IP address\r\n if (chk_ip_address_and_mask(dom_name, 'IP_ADDRESS', 'IP_ADDRESS_FORMAT')) {\r\n return false;\r\n }\r\n\r\n if (isWin && dom_name.search(/\\.d$/) !== -1) {\r\n return false;\r\n }\r\n\r\n return true;\r\n};\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport const chk_email = (email, isWin) => {\r\n const re = /^([^\\@]+){1}\\@([^\\@]+){1}$/;\r\n const found = email.match(re);\r\n if (!found) {\r\n return false;\r\n }\r\n return chk_mn(found[1], isWin) && chk_dom(found[2], isWin);\r\n};\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport const chk_url = url => {\r\n const re = /^((http[s]?|ftp):\\/\\/)?([^\\/:]+)(:\\d{1,5})?(\\/[^\\s\\\"\\'`]*)?$/i;\r\n const found = re.exec(url);\r\n if (!found) {\r\n return false;\r\n }\r\n\r\n return chk_dom(found[3]);\r\n};\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport const chk_ip_t = ip => {\r\n const re = /^$/;\r\n return chk_ip_address_and_mask(ip, 'IP_ADDRESS', 'IP_ADDRESS_FORMAT') || ip.match(re);\r\n};\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport const chk_mask = mask => {\r\n const re = /^(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$/;\r\n const found = mask.match(re);\r\n if (!found) {\r\n return false;\r\n }\r\n let i = found.length - 1;\r\n while (i && (found[i] === 0)) {\r\n i--;\r\n }\r\n if (!i) {\r\n return true;\r\n }\r\n if (\r\n (found[i] !== 128) &&\r\n (found[i] !== 192) &&\r\n (found[i] !== 224) &&\r\n (found[i] !== 240) &&\r\n (found[i] !== 248) &&\r\n (found[i] !== 252) &&\r\n (found[i] !== 254) &&\r\n (found[i] !== 255)\r\n ) {\r\n return false;\r\n }\r\n\r\n i--;\r\n while (i && (found[i] === 255)) {\r\n i--;\r\n }\r\n\r\n return !i;\r\n};\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport const ip2long = str => {\r\n let num = 0;\r\n const re = /^(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$/;\r\n\r\n const found = str.match(re);\r\n if (!found) {\r\n return null;\r\n }\r\n for (let i = 1; i < found.length; i++) {\r\n num <<= 8;\r\n num |= found[i];\r\n }\r\n return num;\r\n};\r\n\r\n/**\r\n * convert ip block mask to int32 mask\r\n * @deprecated\r\n */\r\nexport const block_to_num = block => {\r\n let num = 0;\r\n for (let i = 0; i < 32; i++) {\r\n num <<= 1;\r\n num |= (block > i ? 1 : 0);\r\n }\r\n return num;\r\n};\r\n\r\n/**\r\n * check ip address and mask by valid rules\r\n * @deprecated\r\n */\r\nexport const chk_ip_address_and_mask = (ip, valid, valid_formats) => {\r\n const ip_address_block_format = /^(\\d{1,3})(\\.(\\d{1,3})(\\.(\\d{1,3})(\\.(\\d{1,3})|)|)|)\\/(\\d{1,2})$/;\r\n const ip_address_format = /^(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})\\.(\\d{1,3})$/;\r\n\r\n let found;\r\n let ip_address = null;\r\n let ip_mask = null;\r\n\r\n if (\r\n (valid_formats === 'IP_ADDRESS_BLOCK_FORMAT') &&\r\n (found = ip.match(ip_address_block_format)) &&\r\n (!found[1] || (found[1] >= 0 && found[1] <= 255)) &&\r\n (!found[3] || (found[3] >= 0 && found[3] <= 255)) &&\r\n (!found[5] || (found[5] >= 0 && found[5] <= 255)) &&\r\n (!found[7] || (found[7] >= 0 && found[7] <= 255)) &&\r\n (found[8] >= 0 && found[8] <= 32)\r\n ) {\r\n ip_address = ip2long(`${found[1] ? found[1] : 0}.${found[3] ? found[3] : 0}.${found[5] ? found[5] : 0}.${found[7] ? found[7] : 0}`);\r\n ip_mask = block_to_num(found[8]);\r\n } else if (\r\n (valid_formats === 'IP_ADDRESS_FORMAT') &&\r\n (found = ip.match(ip_address_format)) &&\r\n (found[1] >= 0 && found[1] <= 255) &&\r\n (found[2] >= 0 && found[2] <= 255) &&\r\n (found[3] >= 0 && found[3] <= 255) &&\r\n (found[4] >= 0 && found[4] <= 255)\r\n ) {\r\n ip_address = ip2long(`${found[1]}.${found[2]}.${found[3]}.${found[4]}`);\r\n ip_mask = block_to_num(32);\r\n }\r\n\r\n if (null === ip_address || null === ip_mask) {\r\n return false;\r\n }\r\n\r\n return (\r\n // ip address with netmask\r\n ((valid === 'IP_ADDRESS_NETMASK') &&\r\n ip_address && ip_mask &&\r\n (\r\n // and not empty lower bits\r\n ((ip_address & ~ip_mask) &&\r\n // minimum network size 'may be removed - bcause added single addres networks by client request ...\r\n ~((ip_address & ~ip_mask) | ip_mask)\r\n ) || (ip_mask === block_to_num(32))\r\n )\r\n ) ||\r\n // sigle ip address\r\n ((valid === 'IP_ADDRESS') &&\r\n // not empty ip address and 0xFFFFFFFF ip mask\r\n ip_address && (ip_mask === block_to_num(32))\r\n )\r\n );\r\n};\r\n\r\n/**\r\n * @deprecated\r\n */\r\nexport const chk_uint = uint => !!uint.match(/^[0-9]+$/);\r\n","// Copyright 1999-2025. WebPros International GmbH. All rights reserved.\r\n\r\nimport { escapeHtml } from 'jsw';\r\n\r\nclass Tooltip {\r\n // tooltip to show timeout\r\n showTimeout = 0.55;\r\n\r\n // minimum viewport delta\r\n minDelta = 5;\r\n\r\n // horisonatl offset from cursor\r\n xOffsetLeft = -5;\r\n\r\n // horisonatl offset from cursor\r\n xOffsetRight = 5;\r\n\r\n // vertical offset from cursor\r\n yOffsetTop = 1;\r\n\r\n // vertical offset from cursor\r\n yOffsetBottom = 13;\r\n\r\n // tooltip element\r\n tooltip = null;\r\n\r\n // tooltip generator\r\n tooltipEventElement = null;\r\n\r\n // tooltip mouse move observer\r\n tooltipMouseMoveObserver = null;\r\n\r\n // show status\r\n tooltipVisible = false;\r\n\r\n // show timeout\r\n tooltipShowTimeout = null;\r\n\r\n constructor(element) {\r\n this.element = element;\r\n this.tooltip = this.createTooltipElement();\r\n this.tooltipMouseMoveObserver = this.onMouseMove.bind(this);\r\n this.tooltipMouseOutObserver = this.onMouseOut.bind(this);\r\n }\r\n\r\n set(event, entries) {\r\n this.tooltipX = event.clientX + (window.scrollX || window.pageXOffset);\r\n this.tooltipY = event.clientY + (window.scrollY || window.pageYOffset);\r\n this.tooltipEventElement = event.target;\r\n\r\n // hack observe mouse move on tooltip actor\r\n if (!this.tooltipEventElement.classList.contains('tootlipObserved')) {\r\n this.tooltipEventElement.classList.add('tootlipObserved');\r\n this.tooltipEventElement.addEventListener('mousemove', this.tooltipMouseMoveObserver);\r\n this.tooltipEventElement.addEventListener('mouseout', this.tooltipMouseOutObserver);\r\n }\r\n\r\n let data = '';\r\n (entries || []).forEach(entry => {\r\n switch (entry.type) {\r\n case 'string':\r\n data += `${escapeHtml(entry.string)}
              `;\r\n break;\r\n }\r\n });\r\n this.tooltip.innerHTML = data;\r\n this.show();\r\n }\r\n\r\n onMouseMove(event) {\r\n this.tooltipX = event.clientX + (window.scrollX || window.pageXOffset);\r\n this.tooltipY = event.clientY + (window.scrollY || window.pageYOffset);\r\n\r\n if (this.tooltipVisible) {\r\n this.showAction(this.tooltip);\r\n }\r\n }\r\n\r\n onMouseOut() {\r\n this.unset();\r\n }\r\n\r\n unset() {\r\n this.hide();\r\n }\r\n\r\n showTimed() {\r\n // show new message\r\n if (false === this.tooltipShowTimeout) {\r\n this.finishShowTimed();\r\n return;\r\n }\r\n\r\n if (null !== this.tooltipShowTimeout) {\r\n this.cancelShowTimed();\r\n }\r\n\r\n this.tooltipShowTimeout = new PeriodicalExecuter(this.finishShowTimed.bind(this), this.showTimeout);\r\n }\r\n\r\n cancelShowTimed() {\r\n if (this.tooltipShowTimeout) {\r\n this.tooltipShowTimeout.stop();\r\n this.tooltipShowTimeout = null;\r\n }\r\n }\r\n\r\n finishShowTimed() {\r\n this.cancelShowTimed();\r\n this.tooltipShowTimeout = false;\r\n this.showAction(this.tooltip);\r\n }\r\n\r\n show() {\r\n this.showTimed();\r\n }\r\n\r\n getShowPosition() {\r\n let x;\r\n let y;\r\n\r\n const tDim = Element.getDimensions(this.tooltip);\r\n const vDim = document.viewport.getDimensions();\r\n const vScr = document.viewport.getScrollOffsets();\r\n\r\n const freeRight = vDim.width + vScr.left - this.tooltipX;\r\n const freeLeft = this.tooltipX - vScr.left;\r\n const freeTop = this.tooltipY - vScr.top;\r\n const freeBottom = vDim.height + vScr.top - this.tooltipY;\r\n\r\n // apply better x\r\n if (freeRight > tDim.width + this.minDelta + this.xOffsetRight) {\r\n x = this.tooltipX + this.xOffsetRight;\r\n } else if (freeLeft > tDim.width + this.minDelta + this.xOffsetLeft) {\r\n x = this.tooltipX - tDim.width - this.xOffsetLeft;\r\n } else {\r\n x = this.tooltipX - ((tDim.width + this.xOffsetLeft) / 2);\r\n }\r\n\r\n // apply better y\r\n if (freeBottom > tDim.height + this.minDelta + this.yOffsetBottom) {\r\n y = this.tooltipY + this.yOffsetBottom;\r\n } else if (freeTop > tDim.height + this.minDelta + this.yOffsetTop) {\r\n y = this.tooltipY - tDim.height - this.yOffsetTop;\r\n } else {\r\n y = this.tooltipY - ((tDim.height + this.yOffsetTop) / 2);\r\n }\r\n\r\n if (x < 0) {\r\n x = this.minDelta;\r\n }\r\n\r\n return { x, y };\r\n }\r\n\r\n showAction(tooltip) {\r\n const position = this.getShowPosition();\r\n // change position\r\n tooltip.style.position = 'absolute';\r\n tooltip.style.top = `${position.y}px`;\r\n tooltip.style.left = `${position.x}px`;\r\n\r\n // show\r\n tooltip.style.display = '';\r\n\r\n // first show of tooltip?\r\n const firstShow = !this.tooltipVisible;\r\n this.tooltipVisible = true;\r\n if (firstShow) {\r\n // update position with correct tooltip size\r\n this.showAction(tooltip);\r\n }\r\n }\r\n\r\n hide() {\r\n this.cancelShowTimed();\r\n this.tooltipShowTimeout = null;\r\n this.hideAction(this.tooltip);\r\n }\r\n\r\n hideAction(tooltip) {\r\n this.tooltipVisible = false;\r\n tooltip.style.display = 'none';\r\n }\r\n\r\n createTooltipElement() {\r\n const tooltip = document.createElement('div');\r\n tooltip.classList.add('tooltip');\r\n this.hideAction(tooltip);\r\n document.body.appendChild(tooltip);\r\n return tooltip;\r\n }\r\n}\r\n\r\nexport default Tooltip;\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","var inProgress = {};\n// data-webpack is not used as build has no uniqueName\n// loadScript function to load a script via script tag\n__webpack_require__.l = (url, done, key, chunkId) => {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = (prev, event) => {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach((fn) => (fn(event)));\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = (chunkId) => {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce((promises, key) => {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = (chunkId) => {\n\t// return url for filenames based on template\n\treturn \"javascript/\" + chunkId + \".js?\" + {\"components/pages/IpAddressDomainsPage\":\"ffc44df121cb43e579f7\",\"components/pages/ChangeSubscriptionsOwnerPage\":\"37b7f0fd12fa1744bce2\",\"components/pages/VirtualHostTemplatePage\":\"5dc65eed07d25ea6171b\",\"components_pages_ConfigureMailClientPage_index_js\":\"99504882e9dd4fafbcea\",\"views/admin/force-reset-password\":\"d5988767f2b9fa791450\",\"views/admin/setup/progress\":\"09b3342ffd23978ab911\",\"views/admin/setup/index\":\"0b7251461d2b6f6d4259\",\"views/admin/home/admin\":\"62c4986eb4525cd0f20c\",\"views/admin/app/info\":\"92ffaf42b9735579d40e\",\"views/admin/app/usage\":\"b3a3b12b24b7336f4162\",\"views/admin/app/uploaded\":\"26350c993845afc0d930\",\"views/admin/custom-buttons/list\":\"05d865379e57b7fc1d9a\",\"views/admin/ftp-sessions/list\":\"4a5043a57eba0e9dd5a9\",\"views/admin/php-handler/list\":\"58c52ec8d4f0cdd3fa7b\",\"components/pages/ScheduledBackupPage\":\"2cd0514b61418d6b67db\",\"components/pages/ScheduledBackupListPage\":\"be864449d4f6484a347f\",\"views/default/scheduler/list\":\"c77889adfc966ac4fd07\",\"views/admin/domain/list\":\"bec70a5c106e51eaa1f5\",\"views/admin/customer/list\":\"eb3b4c4b4efee6695734\",\"views/admin/customer/domains\":\"f931d2d84c6c593f397a\",\"views/admin/customer/subscriptions\":\"df7b1bb2b4c528d5e00d\",\"views/admin/reseller/list\":\"e1f258d01d87902b199b\",\"views/admin/reseller/customers\":\"f2cc15527a12583e36e6\",\"views/admin/reseller/domains\":\"70e3563297c6b04b4d76\",\"views/admin/reseller/subscriptions\":\"8c20d14e9e2e8754299b\",\"views/admin/server/tools\":\"55ba39fe116ca833f3e2\",\"views/admin/server/preview-domain-settings\":\"0758001854222be8d30d\",\"views/admin/services/list\":\"632d30052152991f23ab\",\"views/admin/sessions/list\":\"4cfcd281770cc39f00c9\",\"views/admin/subscription/list\":\"2c7818261bad69cf364e\",\"views/smb/file-manager/list\":\"11b0e8f2d55dc1a90e37\",\"views/smb/file-manager/index\":\"278f9b4bed0099de3e4e\",\"views/smb/my-service/index\":\"80bc4487d2cf31dc42dc\",\"views/smb/email-address/index\":\"80dcb70fa8659772bcfb\",\"views/smb/email-address/list\":\"24692a692ed31641cee6\",\"views/smb/mail-settings/list\":\"341cf51d96a54a475606\",\"views/smb/account/index\":\"05ce6aef9c8ad017046f\",\"views/smb/account/show\":\"96f65f37b4b94a939bb6\",\"views/smb/user/list\":\"7f4f41b0d2c9a35ee396\",\"views/smb/web/setup\":\"d7514fd0afb401ad4c10\",\"views/smb/web/view\":\"d3a4a58ad3d28c820715\",\"views/smb/web/overview\":\"ec99188c0c2f3f4eaa70\",\"views/smb/web/php-settings\":\"e05e43f925d7e168a56a\",\"views/smb/statistics/details\":\"bb7fce57a58478aeee34\",\"views/smb/database/index\":\"c3fa1c67e3d65ef5c8b9\",\"views/smb/database/list\":\"25a5974a1bb91e342637\",\"views/smb/database/users-list\":\"d1f22f040f03b848308a\",\"views/admin/task-manager/index\":\"5d863916899825285df9\",\"views/dns/records\":\"4a5be3fb85014f16c146\",\"views/dns/records/edit\":\"b961e71e8533eed113e7\",\"views/dns/records/dns-zone-sync\":\"5d82b888b3fac7442be0\",\"views/dns/soa-record\":\"b0f9612f4888765afee1\",\"views/admin/dns/acl-records\":\"3d36a4ffcdc111dd5cad\",\"views/admin/dns/add-acl-record\":\"573bb97b11d936bfd675\",\"views/admin/dns/external-dns\":\"a5cca18d50b7337ee1d4\",\"views/admin/dns/external-dns-edit\":\"c1477a6fdce696cb421b\",\"views/smb/dns-zone/records-list\":\"6360a71761d62eb36350\",\"views/smb/dns-zone/soa-record\":\"deb411a02f5b3f9c2d3e\",\"views/smb/dns-zone/acl-records\":\"84c5d0e7b9bb4126604c\",\"views/smb/dns-zone/add-acl-record\":\"cfa8492c4f9c025869f1\",\"views/smb/dns-zone/external-dns\":\"1913e0931b2bf423fddf\",\"views/smb/dns-zone/external-dns-edit\":\"812ac78d938168522b3c\",\"views/admin/settings-ui/edit-interface-view\":\"1524815a72670e0182cc\",\"views/admin/settings-ui/list-languages\":\"b3abe1c65f0ea75d554e\",\"views/admin/database/settings\":\"0bd6e394d9bd612ec86f\",\"views/smb/web/web-server-settings\":\"7296ea09e113cd7cfdc1\",\"views/admin/notifications/index\":\"909f75a8a2caa3d65012\",\"components/pages/PanelNotificationsSettings\":\"f13377f65f728bb1f238\",\"components/pages/BrandingPage\":\"5e63c89c970615e68030\",\"views/server/db\":\"dee2147b2db104ac7e41\",\"views/admin/websites-diagnostic/index\":\"1e0a2d3a3b3a62be34bf\",\"components/pages/SystemTimePage\":\"7731ba99819ab913d580\",\"views/server/mail\":\"e8ed7c3c077cab272138\",\"views/license\":\"a2811cd17af11a8ebc23\",\"views/license/additional\":\"a85ae87e9cd232a25bb2\",\"components/pages/FirewallGeneralPage\":\"6d8c969aab3ab0c4046f\",\"components/pages/FirewallIcmpPage\":\"fe26cf61e6e260ddf404\",\"components/pages/FirewallRulesPage\":\"4a86e6c161ce79759153\",\"components/pages/ServerComponentsPage\":\"27f113e35e78525c4362\",\"views/admin/ip-address/list\":\"d2cb2580e88917897aec\",\"views/admin/ip-address/clients\":\"cb55c49d9b759f371efc\",\"components/pages/AssignIpAddressToResellerForm\":\"4fcee84010ad547f7e93\",\"views/admin/client/ip-address\":\"970330d7a54fdd681e13\",\"views/admin/client/ip-address/form\":\"1280257be29bd9e933b9\",\"views/php/extensions\":\"9700170d7c226af5f32f\",\"components/pages/TsSessionPage\":\"6ccb40bd60ff56f6d725\",\"components/pages/TsSessionsPage\":\"557c79a0a249dc8aca90\",\"components/pages/AspDotNetSettingsPage/AspDotNetServerSettingsPage\":\"c7bad5f532fb652face3\",\"components/pages/ServerAboutPage\":\"e5d2830b318ebec2504d\",\"components/pages/MassMailPage\":\"8683d3d750f1eae37c5c\",\"components/pages/CreateMassMailTemplatePage\":\"fa9690be8ec68ac1c5e0\",\"components/pages/SendMassMailPage\":\"54b6bc08e0b9aefdd59a\",\"components/pages/EditMassMailTemplatePage\":\"a6b9053c91aec64ba8d0\",\"components/pages/ActionLogPage\":\"972657d49e27600ff5a8\",\"components/pages/ServerInformationPage\":\"4fca7d64332ca10d2a0b\",\"components/pages/ServerSettingsPage\":\"41310100111b42483ab9\",\"components/tabs/SpamFilterSettingsTabs\":\"f1b3ffd3710e8e7332f2\",\"components/pages/SpamFilterSettingsPage\":\"a77e2e0d9263d49d92cf\",\"components/pages/SpamFilterBlackListPage\":\"5d0ce55bc000199536c6\",\"components/pages/SpamFilterWhiteListPage\":\"be69ad7feb7bc1538181\",\"components/layouts/page-layout/help-drawer\":\"ad0fd06f689750c8ba78\",\"components/pages/OdbcPage/OdbcServerPage\":\"8468a12b1da7b6215de4\",\"components/pages/OdbcAddPage\":\"dd34a2d52144602e9e56\",\"components/pages/OdbcEditPage\":\"3e10d52a9b26b6527393\",\"components/pages/HostingSettingsPage\":\"aea31c453d3b342baf8f\",\"components/pages/ConnectionInfo\":\"a365a29819b2d48a8869\",\"components/pages/SummaryReportLayoutsPage\":\"19d15d605519cabbfb6d\",\"components/pages/SummaryReportLayoutsPage/AddPage\":\"a71b231dde63c3744e6c\",\"components/pages/SummaryReportLayoutsPage/EditPage\":\"acb8307ffee16bff37e6\",\"components/pages/TrafficHistoryReportPage\":\"6d2575bb96e9be5160df\",\"components/pages/SummaryReportSchedulesPage\":\"dc6238830b270b6c905f\",\"components/pages/SummaryReportPage\":\"32e8d38c05bc564a122c\",\"components/pages/AspDotNetSettingsPage/AspDotNetDomainSettingsPage\":\"0d245f0010cd50dde147\",\"components/pages/BandwidthLimitingPage\":\"b30c1a8a789b385d984f\",\"components/pages/HotlinkProtectionPage\":\"29288d0279a9ea3ab2a0\",\"components/pages/OdbcPage/OdbcDomainPage\":\"308100694a218caa0195\",\"components/pages/ProtectedDirectoryListPage\":\"537948e43490cdb41866\",\"components/pages/ProtectedDirectoryAddPage\":\"3c56581c733295c98778\",\"components/pages/ProtectedDirectoryEditPage\":\"0c021ef26ed46efdc636\",\"components/pages/ProtectedDirectoryUserListPage\":\"96a9ffcfa547a3a2e6eb\",\"components/pages/ProtectedDirectoryUserAddPage\":\"0488b4f480e8c397101c\",\"components/pages/ProtectedDirectoryUserPasswordPage\":\"f0d6c10daafa8f00c069\",\"components/pages/VirtualDirectoryPage/EditVirtualDirectoryPage\":\"d2267c29e238184e7bb6\",\"components/pages/VirtualDirectoryPage/AspDotNetSettingsPage\":\"d95104631987b977af1d\",\"components/pages/VirtualDirectoryPage/PermissionsPage\":\"7a7eb0106b2872371fcd\",\"components/pages/VirtualDirectoryPage/PhpVersionPage\":\"04da5327a95fb7ac35fe\",\"components/pages/VirtualDirectoryPage\":\"2b3294202b5dc4059822\",\"components/pages/VirtualDirectoryPage/Browse\":\"864bb4280f9ca2f89caa\",\"components/pages/VirtualDirectoryPage/CreateDirectoryPage\":\"059108891686e9085253\",\"components/pages/VirtualDirectoryPage/CreateVirtualDirectoryPage\":\"eb6649244d85bbed0b4d\",\"components/pages/VirtualDirectoryPage/Protection\":\"e17eda1857d4c97ee060\",\"components/pages/VirtualDirectoryPage/ProtectionSettingsPage\":\"7eba001d8b219a48c802\",\"components/pages/VirtualDirectoryPage/MimeTypeList\":\"7fd3a060734fc99a221f\",\"components/pages/VirtualDirectoryPage/CreateMimeTypePage\":\"3ffdcc462e86b0627c84\",\"components/pages/VirtualDirectoryPage/EditMimeTypePage\":\"9326b9ddd723eb3d6c92\",\"components/pages/VirtualDirectoryPage/ErrorDocList\":\"a85ce89cabc293ce66be\",\"components/pages/VirtualDirectoryPage/EditErrorDocPage\":\"2baf8a2e1fcc78cf0caa\",\"components/pages/TrafficUsageByDomainPage\":\"18130aa411ebacc54fcf\",\"components/pages/DatabasesPage\":\"0928744175bf13632a4d\",\"components/pages/DatabasesPage/ConnectionInfo\":\"9ed5c7629461cc54800f\",\"components/pages/DatabasesPage/AddDatabase\":\"bea70db7ab0694a7d1cd\",\"components/pages/TrafficUsageByClientsPage\":\"95e4de611854362365fb\",\"components/pages/TrafficUsageByResellerPage\":\"ab816de362810d273132\",\"components/pages/TrafficUsageByDomainsPage\":\"b9be549ab30ae8dfd3a1\",\"components/pages/HomePage\":\"eb84f38ad2de1f905f17\",\"components/pages/HomeCustomizationPage\":\"b6f387b17078677ab74c\",\"components/pages/InfoAndStatisticsPage\":\"be76fb93be77b9f6a38d\",\"components/pages/InfoAndStatisticsPage/TrafficUsageLayoutPage\":\"639eeba86505b067bd8b\",\"components/pages/DomainsResourceUsagePage\":\"ca5cb4a24046f0c04e23\",\"app/editlist\":\"cb5389919079cac7c7ff\",\"app/rating\":\"0073f7d5e5cb0cc9b421\",\"app/aha\":\"8a226c3f7cd3108486f1\",\"app/eula\":\"8e5d6bf3bab8dac69f11\",\"app/app-image/gallery\":\"fffd81df2a70b15e3ed2\",\"app/backup/list\":\"9f4d39e6412c287f9688\",\"app/backup/restore\":\"bef4f3619b1aab9f0a50\",\"app/backup/upload-files\":\"2c74d3c6cc63fe312cc5\",\"app/backup/web-content-dynamic\":\"42e56d40aa91f19c4f5d\",\"app/database/assign-to-subscription\":\"c3418c7177156e080763\",\"app/dns-helper\":\"86ce04d4a048ca6fd18c\",\"app/dns-helper/dns-settings\":\"b4cc5a220baf70419e18\",\"app/email-address/aliases-dynamic\":\"e96ad4f53f617d6381f7\",\"app/email-address/client-configuration-link\":\"fdcfb343ed9c64745f09\",\"app/email-address/form-ajax\":\"9d08888680a52c71af13\",\"app/email-address/postbox\":\"7bf4315cbf4d92a4dfa5\",\"app/email-address/responder-attachments-dynamic\":\"538647774191c5e03847\",\"app/file-manager/explorer\":\"3866a7dde1b5fd8ed79f\",\"app/file-manager/file-name-popup-form\":\"321416fb3577e915f5ab\",\"app/mail-settings/confirmation-remove-popup-form\":\"e9d945243d9cba3cf3e4\",\"app/hosting-settings/conflicts-checker\":\"3c6cbe395b45c4bce230\",\"app/log-browser/browser\":\"73799495a9fe42fd27d3\",\"app/log-browser/files\":\"0952364fee130a9ca458\",\"app/login/recovery-password\":\"9fa6c8dd0db7313523c5\",\"app/newsletter-subscription\":\"c74ec84e643ee7a1f152\",\"app/progress-dialog\":\"f82fb54c420f5902632a\",\"app/profile/announcement-settings\":\"eef23c29e320dce69b2f\",\"app/domain/restriction\":\"5fd1ca64bca1dced9a7d\",\"app/pum\":\"f22513f7af3cbad4fe18\",\"app/server-mail-antivirus-promo\":\"f546b0994480c5def4a2\",\"app/show-output-popup\":\"739d798b34cf72399ccf\",\"app/task-progress-bar\":\"97527861abdd0e5127c6\",\"app/user/login-string\":\"c0d401ce5ef72db41cc9\",\"app/change-customers-owner\":\"ed37f6285f1fb85073f0\",\"app/convert-customers-to-resellers\":\"3cc8b26ccd0455820b06\",\"app/convert-resellers-to-customers\":\"4df2e79b4c477d65a60a\",\"app/service-sidebar\":\"d2a87e8a333c77fa3350\",\"app/ssl-certificate/list\":\"a8495b488d584497316d\",\"app/app/progress\":\"54440b566180a6dc4acd\",\"app/app/installed\":\"bafddd3b59b60642d293\",\"app/app/apscatalog\":\"516d5dfca79db8930e7a\",\"app/web-app-firewall/submit-handler\":\"dbfd02508d9762c46247\",\"app/helper/mail-settings-dkim-hint\":\"38c04d3fd3d9e3c17d7a\",\"views/smb/file-manager/list/UploadProgressDialog\":\"107bff658d477f5d854e\",\"components/common/ServerMailAntivirusPromo\":\"bf1184e780f912dcf5a0\"}[chunkId] + \"\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = (chunkId) => {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = (module) => {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.S = {};\nvar initPromises = {};\nvar initTokens = {};\n__webpack_require__.I = (name, initScope) => {\n\tif(!initScope) initScope = [];\n\t// handling circular init calls\n\tvar initToken = initTokens[name];\n\tif(!initToken) initToken = initTokens[name] = {};\n\tif(initScope.indexOf(initToken) >= 0) return;\n\tinitScope.push(initToken);\n\t// only runs once\n\tif(initPromises[name]) return initPromises[name];\n\t// creates a new share scope if needed\n\tif(!__webpack_require__.o(__webpack_require__.S, name)) __webpack_require__.S[name] = {};\n\t// runs all init snippets from all modules reachable\n\tvar scope = __webpack_require__.S[name];\n\tvar warn = (msg) => {\n\t\tif (typeof console !== \"undefined\" && console.warn) console.warn(msg);\n\t};\n\tvar uniqueName = undefined;\n\tvar register = (name, version, factory, eager) => {\n\t\tvar versions = scope[name] = scope[name] || {};\n\t\tvar activeVersion = versions[version];\n\t\tif(!activeVersion || (!activeVersion.loaded && (!eager != !activeVersion.eager ? eager : uniqueName > activeVersion.from))) versions[version] = { get: factory, from: uniqueName, eager: !!eager };\n\t};\n\tvar initExternal = (id) => {\n\t\tvar handleError = (err) => (warn(\"Initialization of sharing external failed: \" + err));\n\t\ttry {\n\t\t\tvar module = __webpack_require__(id);\n\t\t\tif(!module) return;\n\t\t\tvar initFn = (module) => (module && module.init && module.init(__webpack_require__.S[name], initScope))\n\t\t\tif(module.then) return promises.push(module.then(initFn, handleError));\n\t\t\tvar initResult = initFn(module);\n\t\t\tif(initResult && initResult.then) return promises.push(initResult['catch'](handleError));\n\t\t} catch(err) { handleError(err); }\n\t}\n\tvar promises = [];\n\tswitch(name) {\n\t}\n\tif(!promises.length) return initPromises[name] = 1;\n\treturn initPromises[name] = Promise.all(promises).then(() => (initPromises[name] = 1));\n};","__webpack_require__.p = \"/cp/\";","__webpack_require__.f.compat = (chunkId, promises) => {\n\n\t var localeDependencies = {\"main\":[\"components.buttons\",\"components.password.meter\",\"components.tasks.common\",\"components.status\",\"components.routes\",\"components.cookie-policy.info\",\"components.cookie-policy.preferences\",\"components.license-status\",\"components.search-bar\",\"components.shortcuts\",\"components.subscription-switcher\",\"components.notification-center\",\"components.view-switcher\",\"components.pages.home\",\"controllers.error.error\",\"components.pages.VirtualDirectory\",\"components.forms.login\",\"components.common.LocaleSwitcher\",\"components.forms.get-password\",\"components.forms.restore-password\"],\"components/pages/IpAddressDomainsPage\":[\"components.pages.ip-address-domains\"],\"components/pages/ChangeSubscriptionsOwnerPage\":[\"components.pages.change-subscriptions-owner\",\"components.forms.change-subscriptions-owner\",\"components.list\",\"components.elements.lookup\",\"components.forms.ip-addresses-selector\"],\"components/pages/VirtualHostTemplatePage\":[\"components.pages.VirtualHostTemplatePage\",\"components.list\"],\"components_pages_ConfigureMailClientPage_index_js\":[\"components.pages.ConfigureMailClient\",\"components.pages.ConfigureMailClient.Thunderbird\",\"components.pages.ConfigureMailClient.Common\",\"components.buttons\",\"components.pages.ConfigureMailClient.Ios\",\"components.pages.ConfigureMailClient.Gmail\",\"components.pages.ConfigureMailClient.Manual\",\"components.pages.ConfigureMailClient.Outlook\"],\"views/admin/force-reset-password\":[\"components.forms.force-reset-password\"],\"views/admin/setup/progress\":[\"components.shortcuts\"],\"views/admin/setup/index\":[\"components.forms.setup\",\"components.shortcuts\"],\"views/admin/home/admin\":[\"admin.controllers.home.admin\",\"admin.controllers.home._shared\",\"admin.controllers.home.reseller\",\"admin.controllers.home.admin.promoNewPage\"],\"views/admin/app/info\":[\"admin.controllers.app.info\",\"admin.components.lists.appinfo\"],\"views/admin/app/usage\":[\"admin.controllers.app.usage\",\"admin.components.lists.appusage\"],\"views/admin/app/uploaded\":[\"admin.controllers.app.uploaded\",\"admin.components.lists.appuploaded\"],\"views/admin/custom-buttons/list\":[\"components.lists.custombuttons\"],\"views/admin/ftp-sessions/list\":[\"admin.components.lists.ftpsessions\"],\"views/admin/php-handler/list\":[\"admin.controllers.php-handler.list\",\"admin.components.lists.phphandlers\"],\"components/pages/ScheduledBackupPage\":[\"components.buttons\",\"components.forms.backup.schedule\",\"smb.components.days-of-week\",\"controllers.backup.schedule\",\"components.forms.backup.subform\"],\"components/pages/ScheduledBackupListPage\":[\"components.lists.backup.schedule\",\"smb.components.days-of-week\",\"components.forms.backup.subform\",\"components.list\",\"components.forms.backup.schedule\",\"controllers.backup.schedule\",\"components.buttons\"],\"views/default/scheduler/list\":[\"components.lists.scheduler.tasks\"],\"views/admin/domain/list\":[\"components.pages.domains\",\"admin.components.lists.domains\",\"components.icp-permit\",\"components.list\",\"components.active-lists.sites\",\"components.buttons\",\"components.forms.domain.rename\",\"smb.components.forms.web.add-domain\",\"smb.components.forms.domain-info-section\",\"smb.components.forms.web._shared\",\"admin.components.forms.admin-panel.form.contact-info\",\"admin.components.forms.admin-panel.form.login-info\",\"components.forms.domain.tech-domain-name\",\"components.elements.lookup\",\"components.domain-applications.applications\",\"components.domain-applications\",\"components.forms.ip-addresses-selector\",\"components.forms.domain.move\"],\"views/admin/customer/list\":[\"components.pages.customers\",\"admin.components.forms.customer\",\"admin.components.forms.admin-panel.form.contact-info\",\"components.forms.admin-info\",\"admin.components.forms.admin-panel.form.domain-info-section\",\"components.buttons\",\"admin.components.forms.admin-panel.form.login-info\",\"components.forms.domain.tech-domain-name\",\"admin.components.forms.admin-panel.form.subscription-info-section\",\"components.forms.ip-addresses-selector\",\"admin.components.lists.customers\",\"admin.components.lists.subscriptions\"],\"views/admin/customer/domains\":[\"components.pages.customer-domains\",\"admin.components.lists.domains\",\"components.icp-permit\",\"components.buttons\",\"components.homonyms\",\"smb.components.forms.web.add-domain\",\"smb.components.forms.domain-info-section\",\"smb.components.forms.web._shared\",\"admin.components.forms.admin-panel.form.contact-info\",\"admin.components.forms.admin-panel.form.login-info\",\"components.forms.domain.tech-domain-name\",\"components.elements.lookup\",\"components.domain-applications.applications\",\"components.domain-applications\",\"components.forms.ip-addresses-selector\",\"admin.components.customer-sidebar\",\"admin.components.elements.status\",\"components.forms.admin-info\"],\"views/admin/customer/subscriptions\":[\"components.pages.customer-subscriptions\",\"admin.components.forms.admin-panel.form.domain-info-section\",\"admin.components.forms.admin-panel.form.subscription-info-section\",\"components.buttons\",\"components.forms.domain.tech-domain-name\",\"components.forms.admin-info\",\"components.forms.ip-addresses-selector\",\"components.domain-applications.applications\",\"components.domain-applications\",\"admin.components.lists.subscriptions\",\"admin.components.customer-sidebar\",\"admin.components.elements.status\"],\"views/admin/reseller/list\":[\"components.pages.resellers\",\"admin.components.lists.resellers\"],\"views/admin/reseller/customers\":[\"components.pages.reseller-customers\",\"admin.components.forms.customer\",\"admin.components.forms.admin-panel.form.contact-info\",\"components.forms.admin-info\",\"admin.components.forms.admin-panel.form.domain-info-section\",\"components.buttons\",\"admin.components.forms.admin-panel.form.login-info\",\"components.forms.domain.tech-domain-name\",\"admin.components.forms.admin-panel.form.subscription-info-section\",\"components.forms.ip-addresses-selector\",\"admin.components.lists.customers\",\"admin.components.lists.subscriptions\",\"admin.components.reseller-sidebar\",\"admin.components.elements.status\",\"admin.components.lists.resellers\"],\"views/admin/reseller/domains\":[\"components.pages.reseller-domains\",\"admin.components.lists.domains\",\"components.icp-permit\",\"components.buttons\",\"components.homonyms\",\"smb.components.forms.web.add-domain\",\"smb.components.forms.domain-info-section\",\"smb.components.forms.web._shared\",\"admin.components.forms.admin-panel.form.contact-info\",\"admin.components.forms.admin-panel.form.login-info\",\"components.forms.domain.tech-domain-name\",\"components.elements.lookup\",\"components.domain-applications.applications\",\"components.domain-applications\",\"components.forms.ip-addresses-selector\",\"admin.components.reseller-sidebar\",\"admin.components.elements.status\",\"admin.components.lists.resellers\",\"components.forms.admin-info\"],\"views/admin/reseller/subscriptions\":[\"components.pages.reseller-subscriptions\",\"admin.components.forms.admin-panel.form.domain-info-section\",\"admin.components.forms.admin-panel.form.subscription-info-section\",\"components.buttons\",\"components.forms.domain.tech-domain-name\",\"components.forms.admin-info\",\"components.forms.ip-addresses-selector\",\"components.domain-applications.applications\",\"components.domain-applications\",\"admin.components.lists.subscriptions\",\"admin.components.reseller-sidebar\",\"admin.components.elements.status\",\"admin.components.lists.resellers\"],\"views/admin/server/tools\":[\"admin.controllers.server.tools\",\"components.buttons\",\"components.issue-reporter\",\"components.forms.panel-access\"],\"views/admin/server/preview-domain-settings\":[\"admin.components.forms.preview-domain-settings\",\"admin.controllers.server.preview-domain-settings\"],\"views/admin/services/list\":[\"admin.components.lists.services\",\"admin.controllers.services.operation\",\"admin.components.forms.services.change-startup-type\"],\"views/admin/sessions/list\":[\"admin.components.lists.sessions\"],\"views/admin/subscription/list\":[\"components.pages.subscriptions\",\"admin.components.forms.admin-panel.form.domain-info-section\",\"admin.components.forms.admin-panel.form.subscription-info-section\",\"components.buttons\",\"components.forms.domain.tech-domain-name\",\"components.forms.admin-info\",\"components.forms.ip-addresses-selector\",\"components.domain-applications.applications\",\"components.domain-applications\",\"admin.components.lists.subscriptions\"],\"views/smb/file-manager/list\":[\"smb.components.lists.contentfiles\",\"components.buttons\",\"smb.controllers.file-manager.create-directory\",\"smb.components.forms.file-manager.editor\",\"smb.controllers.file-manager.form\",\"smb.components.forms.file-manager.import-file\",\"smb.components.forms.file-manager.rotation-settings\",\"permissions\",\"smb.components.forms.file-manager.permissions\",\"smb.components.forms.file-manager.unix-file-permissions\",\"smb.components.forms.file-manager.windows-permissions\",\"unix-file-permissions\",\"windows-permissions\",\"smb.controllers.file-manager.upload\"],\"views/smb/file-manager/index\":[\"smb.controllers.file-manager.index\",\"smb.components.lists.subscriptions\"],\"views/smb/my-service/index\":[\"smb.controllers.my-service.index\"],\"views/smb/email-address/index\":[\"smb.controllers.email-address.index\",\"smb.controllers.email-address.configuration\",\"components.buttons\"],\"views/smb/email-address/list\":[\"smb.controllers.email-address.list\",\"smb.components.lists.emails\",\"components.buttons\",\"smb.controllers.email-address.configuration\",\"smb.components.confirmations.email-outgoing-messages\",\"smb.controllers.mail-settings.list\"],\"views/smb/mail-settings/list\":[\"smb.controllers.mail-settings.list\",\"smb.components.lists.mailsettings\",\"components.buttons\",\"smb.components.confirmations.domain-outgoing-messages\"],\"views/smb/account/index\":[\"smb.controllers.account.index\",\"smb.controllers.account._shared\",\"smb.components.lists.subscriptions\"],\"views/smb/account/show\":[\"smb.controllers.account.show\",\"smb.controllers.account._shared\",\"admin.components.elements.status\",\"components.limits\",\"admin.components.forms.service-plan.permissions\"],\"views/smb/user/list\":[\"smb.controllers.user.list\",\"smb.components.lists.users\"],\"views/smb/web/setup\":[\"smb.controllers.web.setup\",\"smb.components.forms.web.add-domain\",\"smb.components.forms.domain-info-section\",\"smb.components.forms.web._shared\",\"admin.components.forms.admin-panel.form.contact-info\",\"components.buttons\",\"admin.components.forms.admin-panel.form.login-info\",\"components.forms.domain.tech-domain-name\",\"components.elements.lookup\",\"components.domain-applications.applications\",\"components.domain-applications\",\"components.forms.ip-addresses-selector\"],\"views/smb/web/view\":[\"smb.components.forms.web.add-domain\",\"smb.components.forms.domain-info-section\",\"smb.components.forms.web._shared\",\"admin.components.forms.admin-panel.form.contact-info\",\"components.buttons\",\"admin.components.forms.admin-panel.form.login-info\",\"components.forms.domain.tech-domain-name\",\"components.elements.lookup\",\"components.domain-applications.applications\",\"components.domain-applications\",\"components.forms.ip-addresses-selector\",\"components.sidebar\",\"admin.components.elements.status\",\"admin.components.lists.subscriptions\",\"components.homonyms\",\"components.custom-spots\",\"admin.controllers.home.admin\",\"smb.controllers.web._shared\",\"components.forms.admin-info\",\"components.active-lists.sites\",\"components.active-list\",\"components.icp-permit\",\"components.active-lists.sites.GetStarted\",\"components.active-lists.sites.GetStarted.SitejetDialog\",\"components.active-lists.sites.alias\",\"components.active-lists.sites.RenameTour\",\"components.forms.domain.rename\",\"admin.components.lists.domains\",\"components.active-lists.sites.DynamicListTour\",\"components.forms.domain.move\",\"components.site-jet-banner\"],\"views/smb/web/overview\":[\"components.active-lists.sites\",\"components.icp-permit\",\"components.forms.admin-info\",\"components.buttons\",\"components.active-lists.sites.GetStarted\",\"components.active-lists.sites.GetStarted.SitejetDialog\",\"components.active-lists.sites.alias\",\"components.forms.domain.rename\",\"components.sidebar\",\"admin.components.elements.status\",\"admin.components.lists.subscriptions\",\"components.homonyms\",\"components.custom-spots\",\"admin.controllers.home.admin\",\"smb.controllers.web._shared\",\"components.active-lists.sites.RenameTour\",\"components.forms.domain.move\",\"components.elements.lookup\"],\"views/smb/web/php-settings\":[\"components.forms.php-settings\",\"components.buttons\",\"admin.components.lists.services\",\"admin.controllers.services.operation\"],\"views/smb/statistics/details\":[\"smb.controllers.statistics.details\",\"smb.controllers.statistics.list\"],\"views/smb/database/index\":[\"smb.controllers.database.index\",\"smb.components.lists.subscriptions\"],\"views/smb/database/list\":[\"smb.controllers.database.list\",\"smb.components.lists.databases\",\"smb.controllers.database.download-dump\",\"smb.controllers.database.upload-dump\",\"components.buttons\"],\"views/smb/database/users-list\":[\"smb.controllers.database.users-list\",\"smb.components.lists.database.users\"],\"views/admin/task-manager/index\":[\"components.lists.tasks\",\"components.lists.tasks.processes\"],\"views/dns/records\":[\"smb.components.lists.dnsrecords\",\"components.pages.home\",\"admin.controllers.server.tools\",\"components.pages.dns\",\"components.pages.dns-records\",\"components.list\",\"admin.controllers.dns.restore-default\",\"admin.controllers.dns.soa-sync\",\"admin.controllers.dns\"],\"views/dns/records/edit\":[\"smb.components.forms.dns-zone.record\"],\"views/dns/records/dns-zone-sync\":[\"admin.controllers.dns.sync\"],\"views/dns/soa-record\":[\"smb.components.forms.dns-zone.soa-record\",\"components.pages.home\",\"admin.controllers.server.tools\",\"components.pages.dns\",\"components.pages.dns-soa-record\",\"admin.controllers.dns\"],\"views/admin/dns/acl-records\":[\"admin.components.lists.dnsaclrecords\"],\"views/admin/dns/add-acl-record\":[\"admin.components.forms.dns.add-acl-record\"],\"views/admin/dns/external-dns\":[\"admin.controllers.dns.external-dns\"],\"views/admin/dns/external-dns-edit\":[\"admin.controllers.dns.external-dns\"],\"views/smb/dns-zone/records-list\":[\"components.dialogs.dns-zone-check\",\"components.buttons\",\"smb.components.dns-helper\",\"smb.components.lists.dnsrecords\"],\"views/smb/dns-zone/soa-record\":[\"smb.controllers.dns-zone.soa-record\",\"smb.components.forms.dns-zone.soa-record\"],\"views/smb/dns-zone/acl-records\":[\"smb.components.lists.dnsaclrecords\"],\"views/smb/dns-zone/add-acl-record\":[\"smb.components.forms.dns-zone.add-acl-record\"],\"views/smb/dns-zone/external-dns\":[\"smb.controllers.dns-zone.external-dns\"],\"views/smb/dns-zone/external-dns-edit\":[\"smb.controllers.dns-zone.external-dns\"],\"views/admin/settings-ui/edit-interface-view\":[\"admin.controllers.settings-ui.edit-interface-view\",\"admin.components.forms.settings-ui.interface-views\",\"components.view-switcher\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"admin.controllers.settings-ui.list-languages\"],\"views/admin/settings-ui/list-languages\":[\"admin.components.lists.languages\"],\"views/admin/database/settings\":[\"admin.components.forms.database-settings\"],\"views/smb/web/web-server-settings\":[\"components.buttons\",\"components.forms.iis-settings\",\"components.forms.apache-settings\"],\"views/admin/notifications/index\":[\"admin.controllers.notifications.email-settings\",\"admin.controllers.notifications.panel-settings\",\"components.lists.notifications\",\"components.notifications.drawer\",\"components.buttons\"],\"components/pages/PanelNotificationsSettings\":[\"admin.controllers.notifications.panel-notifications-toggle\",\"admin.controllers.notifications.template-settings-list\",\"admin.controllers.notifications.template-settings-form\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"admin.controllers.notifications.index\",\"admin.controllers.notifications.panel-settings\",\"components.list\",\"admin.controllers.notifications.email-settings\"],\"components/pages/BrandingPage\":[\"admin.components.forms.settings-ui.branding\",\"admin.components.forms.settings-ui.branding.background.fit\",\"admin.controllers.server.tools\",\"admin.controllers.navigation.index\",\"admin.controllers.settings-ui.branding\"],\"views/server/db\":[\"components.pages.database-servers\",\"components.pages.home\",\"admin.controllers.server.tools\",\"components.lists.databaseservers\",\"components.status\",\"components.buttons\",\"components.list\",\"components.pages.database-server-upgrade\",\"components.pages.database-server-upgrade.chooseReleaseStep\",\"components.pages.database-server-upgrade.preUpgradeCheckStep\",\"components.pages.database-server-upgrade.preUpgradeCheckProgressStep\",\"components.pages.database-server-create\",\"components.forms.database-server-create\",\"components.pages.database-server-properties\",\"components.pages.database-server-change-password\",\"components.pages.database-server-databases\",\"components.lists.databaseserverdatabases\",\"components.forms.database-server-change-password\"],\"views/admin/websites-diagnostic/index\":[\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"admin.controllers.websites-diagnostic\",\"admin.controllers.websites-diagnostic.report\",\"components.list\",\"admin.controllers.websites-diagnostic.problems\",\"admin.controllers.websites-diagnostic.problem-report\",\"admin.controllers.websites-diagnostic.distribution-over-time\",\"admin.controllers.websites-diagnostic.websites\",\"admin.controllers.websites-diagnostic.new-check\"],\"components/pages/SystemTimePage\":[\"components.forms.system-time\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"smb.components.months\"],\"views/server/mail\":[\"components.pages.home\",\"admin.controllers.server.tools\",\"admin.controllers.mail-settings.index\",\"components.pages.server-mail-settings\",\"admin.components.forms.server-mail-settings\",\"components.buttons\",\"admin.components.forms.server-mail-settings.general\",\"admin.components.forms.server-mail-settings.autodiscover\",\"admin.components.forms.server-mail-settings.relay\",\"admin.components.forms.server-mail-settings.outgoing\",\"admin.components.forms.server-mail-settings.mailman\",\"admin.components.forms.server-mail-settings.spam-filter\",\"admin.components.forms.server-mail-settings.auto-reply-headers\",\"admin.components.forms.server-mail-settings.pop3-names\",\"components.pages.server-mail-spam-filter\",\"components.pages.server-mail-antivirus\",\"components.pages.server-mail-black-list\",\"components.pages.server-mail-white-list\",\"components.pages.server-mail-queue\",\"components.pages.server-mail-statistics\",\"components.pages.server-mail-smarthost\",\"admin.components.lists.servermailblacklist\",\"components.list\",\"admin.components.forms.server-mail-black-list\",\"admin.components.lists.servermailwhitelist\",\"admin.components.forms.server-mail-white-list\",\"admin.components.forms.server-mail-antivirus\",\"admin.components.forms.server-mail-spam-filter\",\"admin.components.lists.serverMailStatistics.SpamRecipients\",\"admin.components.lists.serverMailStatistics.summary\",\"smb.components.months\",\"admin.components.lists.serverMailStatistics\",\"admin.components.lists.serverMailStatistics.VirusRecipients\",\"admin.components.lists.serverMailStatistics.VirusViruses\",\"admin.components.forms.server-mail-smarthost\",\"admin.components.forms.server-mail-smarthost.settings\",\"admin.components.forms.server-mail-smarthost.configuration\"],\"views/license\":[\"components.pages.primary-key-info\",\"components.license-status\",\"components.pages.home\",\"admin.controllers.server.tools\",\"components.pages.license\",\"components.common.master-key-processing-state\",\"smb.components.license.properties\",\"components.dialogs.primary-key-update\",\"components.buttons\",\"components.pages.additional-keys\",\"components.pages.additional-key-upload\",\"components.pages.primary-key-upload\",\"components.forms.license-key-upload\",\"components.pages.primary-key-revert\",\"components.forms.license-key-revert\"],\"views/license/additional\":[\"components.pages.home\",\"admin.controllers.server.tools\",\"components.pages.license\",\"components.pages.additional-keys\",\"components.pages.primary-key-info\",\"components.lists.additional-keys\",\"components.buttons\",\"components.list\",\"components.pages.additional-key-upload\",\"components.pages.primary-key-upload\",\"components.forms.license-key-upload\",\"components.pages.additional-key-info\",\"admin.controllers.home.admin\",\"smb.components.license.properties\",\"components.dialogs.additional-key-update\",\"components.pages.additional-key-revert\",\"components.forms.license-key-revert\"],\"components/pages/FirewallGeneralPage\":[\"components.pages.firewall-general\",\"components.pages.home\",\"admin.controllers.server.tools\",\"components.pages.firewall\",\"admin.components.lists.firewallinterfaces\",\"components.list\",\"components.pages.firewall-icmp\",\"components.pages.firewall-rules\",\"components.buttons\"],\"components/pages/FirewallIcmpPage\":[\"components.pages.home\",\"admin.controllers.server.tools\",\"components.pages.firewall\",\"components.pages.firewall-icmp\",\"admin.components.lists.firewallicmprules\",\"components.list\",\"components.pages.firewall-general\",\"components.pages.firewall-rules\"],\"components/pages/FirewallRulesPage\":[\"components.pages.home\",\"admin.controllers.server.tools\",\"components.pages.firewall\",\"components.pages.firewall-rules\",\"admin.components.lists.firewallrules\",\"components.buttons\",\"components.list\",\"components.pages.firewall-general\",\"components.pages.firewall-icmp\",\"admin.components.forms.firewall-rule\"],\"components/pages/ServerComponentsPage\":[\"components.lists.server-components\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"components.list\",\"components.lists.server-components.componentConf\"],\"views/admin/ip-address/list\":[\"admin.controllers.ip-address.list\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"admin.components.lists.ipaddresses\",\"components.buttons\",\"admin.components.forms.ip-address\",\"admin.components.forms.security-policy\",\"admin.controllers.ip-address.add\"],\"views/admin/ip-address/clients\":[\"components.lists.ip-address-reseller-usage\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"admin.controllers.ip-address.list\",\"components.buttons\",\"components.list\"],\"components/pages/AssignIpAddressToResellerForm\":[\"components.lists.ip-address-reseller-usage.assign\",\"components.lists.ip-address-reseller-usage\"],\"views/admin/client/ip-address\":[\"admin.controllers.ip-address.list\",\"admin.controllers.home.admin\",\"admin.controllers.navigation.index\",\"components.lists.client-ip-address\",\"components.buttons\",\"components.list\"],\"views/admin/client/ip-address/form\":[\"components.lists.client-ip-address\",\"components.lists.client-ip-address.properties\",\"components.lists.client-ip-address.assign\"],\"views/php/extensions\":[\"components.pages.php-handler.extensions\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"admin.controllers.php-handler.list\",\"components.pages.php-handler\",\"components.pages.php-handler.php-ini\",\"components.pages.php-handler.extensions.manage\",\"admin.components.lists.phpextensions.installable\",\"components.list\",\"components.buttons\",\"admin.components.forms.php-handler.extension\",\"admin.components.lists.phpextensions\"],\"components/pages/TsSessionPage\":[\"components.lists.ts-sessions\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"components.pages.ts-sessions\",\"components.pages.ts-sessions-properties\"],\"components/pages/TsSessionsPage\":[\"components.lists.ts-sessions\",\"components.list\",\"admin.controllers.home.admin\",\"admin.controllers.server.tools\",\"components.pages.ts-sessions\"],\"components/pages/AspDotNetSettingsPage/AspDotNetServerSettingsPage\":[\"smb.controllers.asp-dot-net.settings\",\"admin.controllers.server.tools\",\"smb.components.forms.asp-dot-net.settings\",\"smb.components.forms.asp-dot-net.change-version\"],\"components/pages/ServerAboutPage\":[\"components.pages.ServerAbout\"],\"components/pages/MassMailPage\":[\"components.pages.MassMailPage\"],\"components/pages/CreateMassMailTemplatePage\":[\"components.pages.CreateMassMailTemplatePage\",\"components.forms.MassMailForm\",\"components.elements.double-list-selector\"],\"components/pages/SendMassMailPage\":[\"components.pages.SendMassMailPage\",\"components.forms.MassMailForm\",\"components.elements.double-list-selector\"],\"components/pages/EditMassMailTemplatePage\":[\"components.pages.EditMassMailTemplatePage\",\"components.forms.MassMailForm\",\"components.elements.double-list-selector\"],\"components/pages/ActionLogPage\":[\"components.forms.action-log\",\"smb.components.months\"],\"components/pages/ServerInformationPage\":[\"components.pages.ServerInformation\"],\"components/pages/ServerSettingsPage\":[\"components.forms.server-settings\"],\"components/tabs/SpamFilterSettingsTabs\":[\"components.pages.server-spam-filter\"],\"components/pages/SpamFilterSettingsPage\":[\"admin.components.forms.server-mail-spam-filter\",\"components.buttons\"],\"components/pages/SpamFilterBlackListPage\":[\"components.lists.spam-filter\",\"components.buttons\",\"components.list\",\"components.forms.spam-filter.add\"],\"components/pages/SpamFilterWhiteListPage\":[\"components.lists.spam-filter\",\"components.buttons\",\"components.list\",\"components.forms.spam-filter.add\"],\"components/layouts/page-layout/help-drawer\":[\"components.layouts.page-layout.help-drawer\"],\"components/pages/OdbcPage/OdbcServerPage\":[\"components.pages.Odbc\",\"components.buttons\"],\"components/pages/OdbcAddPage\":[\"components.pages.OdbcAdd\"],\"components/pages/OdbcEditPage\":[\"components.pages.OdbcEdit\"],\"components/pages/HostingSettingsPage\":[\"components.pages.HostingSettings\",\"components.buttons\",\"components.pages.HostingSettings.domainSettingsSection\",\"components.pages.HostingSettings.domainSettingsSection.security\",\"components.pages.HostingSettings.domainSettingsSection.webScripting\",\"components.pages.HostingSettings.domainSettingsSection.sameSsl\",\"components.pages.HostingSettings.webspaceSettingsSection\",\"components.forms.ip-addresses-selector\",\"components.pages.HostingSettings.webspaceSettingsSection.quota\"],\"components/pages/ConnectionInfo\":[\"components.forms.domain.connection-info\",\"components.buttons\"],\"components/pages/SummaryReportLayoutsPage\":[\"admin.components.lists.summaryreportlayouts\",\"components.buttons\",\"components.list\"],\"components/pages/SummaryReportLayoutsPage/AddPage\":[\"components.pages.SummaryReport.Layout.Add\",\"components.forms.SummaryReport.Layout\"],\"components/pages/SummaryReportLayoutsPage/EditPage\":[\"components.pages.SummaryReport.Layout\",\"components.forms.SummaryReport.Layout\"],\"components/pages/TrafficHistoryReportPage\":[\"admin.components.lists.traffichistory\",\"components.list\"],\"components/pages/SummaryReportSchedulesPage\":[\"admin.components.lists.summaryreportschedules\",\"components.buttons\",\"components.list\",\"components.pages.SummaryReport.Schedule.Add\",\"components.forms.SummaryReport.Schedule\",\"components.pages.SummaryReport.Schedule.Properties\"],\"components/pages/SummaryReportPage\":[\"admin.components.report.summary\",\"components.status.reason\",\"components.pages.SummaryReport.Report\"],\"components/pages/AspDotNetSettingsPage/AspDotNetDomainSettingsPage\":[\"smb.components.forms.asp-dot-net.settings\",\"smb.controllers.asp-dot-net.settings\",\"smb.components.forms.asp-dot-net.change-version\"],\"components/pages/BandwidthLimitingPage\":[\"components.pages.BandwidthLimiting\"],\"components/pages/HotlinkProtectionPage\":[\"components.pages.HotlinkProtection\"],\"components/pages/OdbcPage/OdbcDomainPage\":[\"components.pages.Odbc\",\"components.buttons\"],\"components/pages/ProtectedDirectoryListPage\":[\"components.pages.ProtectedDirectoryList\",\"components.buttons\"],\"components/pages/ProtectedDirectoryAddPage\":[\"components.pages.ProtectedDirectoryAdd\",\"components.forms.ProtectedDirectory\"],\"components/pages/ProtectedDirectoryEditPage\":[\"components.pages.ProtectedDirectoryEdit\",\"components.forms.ProtectedDirectory\"],\"components/pages/ProtectedDirectoryUserListPage\":[\"components.lists.ProtectedDirectoryUser\",\"components.buttons\"],\"components/pages/ProtectedDirectoryUserAddPage\":[\"components.pages.ProtectedDirectoryUserAdd\"],\"components/pages/ProtectedDirectoryUserPasswordPage\":[\"components.pages.ProtectedDirectoryUserPassword\"],\"components/pages/VirtualDirectoryPage/EditVirtualDirectoryPage\":[\"components.pages.VirtualDirectory.EditVirtualDirectory\",\"components.forms.VirtualDirectory.DirectorySection\",\"components.forms.VirtualDirectory.CheckboxField\",\"components.forms.VirtualDirectory.Path\",\"components.dialogs.DirectoryBrowserDialog\",\"components.forms.VirtualDirectory.ApplicationSettingsSection\",\"components.forms.VirtualDirectory.ScriptExecuteField\",\"components.forms.VirtualDirectory.scriptExecuteOption\",\"components.forms.VirtualDirectory.SecuritySection\",\"components.forms.VirtualDirectory.AspSection\",\"components.forms.VirtualDirectory.DocumentsSection\",\"components.forms.VirtualDirectory.DefaultDocsField\",\"components.forms.VirtualDirectory.NewDefaultDoc\",\"components.forms.VirtualDirectory.PhysicalDirectoryConflictDialog\"],\"components/pages/VirtualDirectoryPage/AspDotNetSettingsPage\":[\"components.pages.VirtualDirectory.AspDotNet\",\"smb.components.forms.asp-dot-net.settings\",\"smb.controllers.asp-dot-net.settings\",\"smb.components.forms.asp-dot-net.change-version\"],\"components/pages/VirtualDirectoryPage/PermissionsPage\":[\"permissions\",\"smb.components.forms.file-manager.permissions\",\"smb.components.forms.file-manager.unix-file-permissions\",\"smb.components.forms.file-manager.windows-permissions\",\"unix-file-permissions\",\"windows-permissions\"],\"components/pages/VirtualDirectoryPage/PhpVersionPage\":[\"components.pages.VirtualDirectory.Php\"],\"components/pages/VirtualDirectoryPage\":[\"components.pages.VirtualDirectory\"],\"components/pages/VirtualDirectoryPage/Browse\":[\"smb.components.lists.virtualdirectories\",\"components.buttons\"],\"components/pages/VirtualDirectoryPage/CreateDirectoryPage\":[\"components.pages.VirtualDirectory.CreateDirectory\"],\"components/pages/VirtualDirectoryPage/CreateVirtualDirectoryPage\":[\"components.pages.VirtualDirectory.CreateVirtualDirectory\",\"components.forms.VirtualDirectory.DirectorySection\",\"components.forms.VirtualDirectory.CheckboxField\",\"components.forms.VirtualDirectory.Path\",\"components.dialogs.DirectoryBrowserDialog\",\"components.forms.VirtualDirectory.ApplicationSettingsSection\",\"components.forms.VirtualDirectory.ScriptExecuteField\",\"components.forms.VirtualDirectory.scriptExecuteOption\",\"components.forms.VirtualDirectory.SecuritySection\",\"components.forms.VirtualDirectory.AspSection\",\"components.forms.VirtualDirectory.DocumentsSection\",\"components.forms.VirtualDirectory.DefaultDocsField\",\"components.forms.VirtualDirectory.NewDefaultDoc\",\"components.forms.VirtualDirectory.PhysicalDirectoryConflictDialog\"],\"components/pages/VirtualDirectoryPage/Protection\":[\"components.pages.VirtualDirectory.Protection\",\"components.pages.VirtualDirectory.Protection.NoProtectionView\",\"components.lists.ProtectedDirectoryUser\",\"components.buttons\"],\"components/pages/VirtualDirectoryPage/ProtectionSettingsPage\":[\"components.pages.ProtectedDirectoryEdit\",\"components.forms.ProtectedDirectory\"],\"components/pages/VirtualDirectoryPage/MimeTypeList\":[\"components.pages.VirtualDirectory.MimeTypeList\",\"components.buttons\"],\"components/pages/VirtualDirectoryPage/CreateMimeTypePage\":[\"components.pages.VirtualDirectory.CreateMimeType\",\"components.forms.VirtualDirectoryMimeType\"],\"components/pages/VirtualDirectoryPage/EditMimeTypePage\":[\"components.pages.VirtualDirectory.EditMimeType\",\"components.forms.VirtualDirectoryMimeType\"],\"components/pages/VirtualDirectoryPage/ErrorDocList\":[\"components.pages.VirtualDirectory.ErrorDocList\",\"components.pages.VirtualDirectory.errorDocType\"],\"components/pages/VirtualDirectoryPage/EditErrorDocPage\":[\"components.pages.VirtualDirectory.EditErrorDoc\",\"components.pages.VirtualDirectory.EditErrorDoc.EditErrorDocForm\",\"components.pages.VirtualDirectory.errorDocType\"],\"components/pages/TrafficUsageByDomainPage\":[\"components.common.TrafficUsage.TotalUsageInfo\",\"smb.components.months\",\"components.pages.TrafficUsageByDomain.List\",\"components.list\"],\"components/pages/DatabasesPage\":[\"components.pages.Databases.Page\",\"components.pages.Databases.List\",\"components.list\",\"components.buttons\",\"components.pages.Databases.InPlaceSelect\"],\"components/pages/DatabasesPage/ConnectionInfo\":[\"components.pages.Databases.ConnectionInfo\",\"components.buttons\"],\"components/pages/DatabasesPage/AddDatabase\":[\"components.pages.Databases.Add\"],\"components/pages/TrafficUsageByClientsPage\":[\"components.lists.TrafficUsageByClients\",\"components.common.TrafficUsage.TotalUsageInfo\",\"smb.components.months\"],\"components/pages/TrafficUsageByResellerPage\":[\"components.pages.TrafficUsageByReseller\",\"components.lists.TrafficUsageByClients\",\"components.pages.TrafficUsageByReseller.TotalUsage\"],\"components/pages/TrafficUsageByDomainsPage\":[\"components.pages.TrafficUsageByDomains.Viewer.Filters\",\"components.common.ListFilterPanel\",\"components.common.ListFilterForm\",\"components.pages.TrafficUsageByDomains.Viewer.List\",\"components.common.TrafficUsage.TotalUsageInfo\",\"smb.components.months\"],\"components/pages/HomePage\":[\"components.pages.Home.ServerInfo\",\"components.buttons\",\"components.pages.Home.Customization\",\"components.pages.Home.Updates\",\"components.pages.Home.Backup\",\"components.lists.backup.schedule\",\"smb.components.days-of-week\",\"components.forms.backup.subform\",\"components.list\",\"components.forms.backup.schedule\",\"controllers.backup.schedule\",\"components.pages.Home.OverusedSubscriptions\",\"components.status.reason\",\"components.pages.Home.Subscriptions\",\"components.pages.Home.IpBan\",\"components.pages.Home.Extension\",\"components.pages.Home.MailQueue\",\"components.pages.Home.Promo.Customize\",\"components.pages.Home.Promo.SwitchToPuv\",\"components.pages.Home.ChangeLog\",\"components.pages.Home.CustomButtons\",\"components.pages.Home.Status\",\"components.webserver-configuration-failure\",\"components.upgrade-failure-notification\",\"components.pages.Home.EmptyView\",\"components.pages.Home.PromoNewHomeView\"],\"components/pages/HomeCustomizationPage\":[\"components.pages.Home.Customization\"],\"components/pages/InfoAndStatisticsPage\":[\"components.pages.InfoAndStatistics.Main\"],\"components/pages/InfoAndStatisticsPage/TrafficUsageLayoutPage\":[\"components.pages.InfoAndStatistics.TrafficUsage\"],\"components/pages/DomainsResourceUsagePage\":[\"admin.components.lists.resourceusage\"],\"app/editlist\":[\"components.editlist\"],\"app/rating\":[\"components.rating\",\"components.buttons\"],\"app/aha\":[\"components.aha\",\"components.buttons\"],\"app/eula\":[\"admin.controllers.index.eula\"],\"app/app-image/gallery\":[\"smb.controllers.app-image.gallery\"],\"app/backup/list\":[\"components.lists.backup\",\"controllers.backup.size-hint\",\"controllers.backup.restore-status\"],\"app/backup/restore\":[\"controllers.backup.restore-status\"],\"app/backup/upload-files\":[\"components.forms.backup.upload\"],\"app/backup/web-content-dynamic\":[\"components.forms.backup.web-content-dynamic\",\"components.buttons\"],\"app/database/assign-to-subscription\":[\"smb.components.lists.databases\",\"components.buttons\"],\"app/dns-helper\":[\"smb.components.dns-helper\"],\"app/dns-helper/dns-settings\":[\"smb.components.dns-helper\"],\"app/email-address/aliases-dynamic\":[\"smb.components.forms.email-address\"],\"app/email-address/client-configuration-link\":[\"components.email-address.client-configuration-link\",\"components.buttons\"],\"app/email-address/form-ajax\":[\"components.buttons\"],\"app/email-address/postbox\":[\"smb.components.forms.email-address\"],\"app/email-address/responder-attachments-dynamic\":[\"smb.components.forms.email-address\"],\"app/file-manager/explorer\":[\"smb.components.lists.contentfiles\",\"components.buttons\",\"smb.controllers.file-manager.create-directory\"],\"app/file-manager/file-name-popup-form\":[\"smb.components.forms.file-manager.show\",\"components.buttons\"],\"app/mail-settings/confirmation-remove-popup-form\":[\"smb.components.forms.mail-settings.show\",\"components.buttons\"],\"app/hosting-settings/conflicts-checker\":[\"admin.controllers.customer-service-plan._shared\"],\"app/log-browser/browser\":[\"components.lists.logbrowser\",\"components.buttons\"],\"app/log-browser/files\":[\"smb.components.lists.logfiles\",\"components.buttons\"],\"app/login/recovery-password\":[\"components.login.recovery-password\",\"components.buttons\"],\"app/newsletter-subscription\":[\"components.newsletter-subscription\"],\"app/progress-dialog\":[\"components.tasks.common\"],\"app/profile/announcement-settings\":[\"admin.components.forms.admin.announcement-settings\"],\"app/domain/restriction\":[\"admin.components.lists.restricteddomains\"],\"app/pum\":[\"admin.components.lists.pumpackages\",\"components.buttons\"],\"app/show-output-popup\":[\"components.tasks.scheduler-run-task\"],\"app/task-progress-bar\":[\"components.tasks.common\"],\"app/change-customers-owner\":[\"admin.components.confirmations.change-customer-owner\"],\"app/convert-customers-to-resellers\":[\"admin.components.confirmations.customer\"],\"app/convert-resellers-to-customers\":[\"admin.components.confirmations.reseller\"],\"app/service-sidebar\":[\"smb.controllers.service.index\"],\"app/app/progress\":[\"smb.components.elements.download\"],\"app/app/installed\":[\"smb.components.lists.app.instances\",\"smb.controllers.service.index\"],\"app/app/apscatalog\":[\"smb.components.forms.aps.catalog\"],\"app/web-app-firewall/submit-handler\":[\"components.forms.web-app-firewall\",\"components.buttons\"],\"app/helper/mail-settings-dkim-hint\":[\"components.buttons\"],\"views/smb/file-manager/list/UploadProgressDialog\":[\"smb.controllers.file-manager.upload\"],\"components/common/ServerMailAntivirusPromo\":[\"components.common.ServerMailAntivirusPromo\",\"admin.controllers.server.tools\",\"admin.controllers.mail-settings.index\"]};\n\t if (localeDependencies[chunkId]) {\n\t promises.push(Jsw.Locale.loadSections(localeDependencies[chunkId]));\n\t }\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t\"main\": 0\n};\n\n__webpack_require__.f.j = (chunkId, promises) => {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise((resolve, reject) => (installedChunkData = installedChunks[chunkId] = [resolve, reject]));\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = (event) => {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = (chunkId) => (installedChunks[chunkId] === 0);\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = (parentChunkLoadingFunction, data) => {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some((id) => (installedChunks[id] !== 0))) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkPlesk\"] = self[\"webpackChunkPlesk\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [\"vendors\"], () => (__webpack_require__(0)))\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["window","Jsw","Plesk","Array","prototype","entries","index","arr","this","next","length","value","done","undefined","Symbol","iterator","Set","toArray","array","forEach","item","push","Map","key","version","form","DisplayField","Values","layout","TwoColumns","Task","ProgressBar","StatusMessage","STATUS_DONE","STATUS_ERROR","STATUS_STARTED","STATUS_NOT_STARTED","STATUS_CANCELED","FileManager","Tree","UploadAdapterIframe","ns","autoCreate","nsParts","split","root","partIndex","config","componentType","Component","Cls","namespace","Error","registeredComponents","registerComponent","identity","component","getComponent","constructor","initialize","_initConfiguration","_registerComponent","_initComponentElement","_autoRender","_renderTarget","_applyTargetId","document","getElementById","render","_getConfigParam","hide","initialConfig","_config","_cls","_attrs","_wrapperClass","_renderMode","setLocale","_locale","_id","genId","_idIsRandom","_tag","tagName","_componentElement","createElement","Object","keys","name","setAttribute","id","className","_initDisablerOverlay","_disablerOverlay","style","display","zIndex","classList","add","appendChild","position","addEventObserver","eventName","handler","addEventListener","removeEventObserver","removeEventListener","_hasConfigParam","defaultValue","_getRandomNumber","Math","floor","random","_addEvents","_addTooltips","description","_tooltip","Tooltip","init","text","_updateComponentElement","content","oldElements","childNodes","oldElement","newElement","querySelector","parentNode","replaceChild","getWrapperClass","getId","setRenderTarget","target","getRenderTarget","show","locale","Locale","lmsg","bind","getLocale","remove","removeChild","getAttribute","_defineProperty","subclasses","showTimeoutStatus","showTimeout","minDelta","xOffsetLeft","xOffsetRight","yOffsetTop","yOffsetBottom","current","initData","contentElement","elements","querySelectorAll","tooltipData","element","Instance","set","tooltip","_onMouseMove","_onMouseOut","showCancel","hideCancel","showTask","setTimeout","showFinish","clearTimeout","tooltipElement","_fetchTooltipElement","innerHTML","escapeHtml","update","hideTask","hideFinish","_fetchTooltipPosition","top","y","left","x","event","tooltipX","clientX","scrollX","pageXOffset","tooltipY","clientY","scrollY","pageYOffset","_tooltipElement","el","body","tDim","Element","getDimensions","vDim","viewport","vScr","getScrollOffsets","freeRight","width","freeLeft","freeTop","freeBottom","height","setText","String","replace","addSection","messages","sections","Observer","notify","addSections","getSection","getTranslate","props","_jsx","BaseTranslate","loadSections","names","namesToLoad","filter","params","map","section","encodeURIComponent","api","get","join","loadSection","reduce","paramKey","formatMessage","IntlMessageFormat","documentElement","lang","format","request","url","retryCount","Ajax","activeRequestCount","headers","tokenEl","credentials","fetch","then","response","status","location","reload","Promise","emptyFn","ok","json","startsWith","data","reject","message","JSON","stringify","catch","error","TypeError","isNetworkError","resolve","finally","addUrlParams","method","post","UAT","dispatchAction","FormData","matches","msMatchesSelector","link","filterPleskUrl","href","pathname","search","hash","pageUrl","getPageUrl","pageUrlParam","match","result","RegExp","exec","decodeURIComponent","some","pattern","sensitiveParams","safeSearch","acc","pair","includes","param","toLocaleLowerCase","toLowerCase","getUrl","isURL","protocols","require_host","getElementCSSSelector","localName","label","i","len","findElement","selector","currentTarget","type","nodeType","Node","TEXT_NODE","getElement","ELEMENT_NODE","prepareNodeData","textEl","css","getElementCSSPath","depth","paths","splice","attributes","attr","hasAttribute","dataset","encodeSensitiveChars","list","preparedChars","raw","encoded","firehose","initialized","patches","action","parameters","timestamp","Date","toISOString","instanceId","accountLevel","accountId","sessionId","path","preparePostData","self","selfText","innerText","parents","parentElement","parent","closest","slice","getParents","handleAnonymousSession","localStorage","getItem","setItem","toString","removeItem","parentId","additionalData","logger","Firehose","putRecord","DeliveryStreamName","stream","noSessionStream","Record","Data","values","watchers","contentLoad","contentConfig","expect","readyState","extensions","performance","perfData","timing","pageLoadTime","loadEventEnd","navigationStart","requestTime","responseEnd","requestStart","renderTime","domComplete","domLoading","historyReplaceState","history","replaceState","Proxy","apply","thisArg","argArray","click","uatHandled","isArray","j","toUpperCase","actions","expects","initConfig","setPatches","fn","setActions","setWatchers","setLogger","getConfig","e","toQueryParams","str","URLSearchParams","val","hasOwnProperty","splitUrl","splitParams","call","indexOf","observers","getObservers","has","append","callback","appendAndCall","pos","Translate","Fragment","propTypes","PropTypes","module","exports","PleskUiLibrary","addScript","src","s","onload","onerror","evalScripts","string","scriptFragment","matchAll","matchOne","scripts","scriptTag","script","eval","captureException","scope","setExtras","console","renderMode","isValidElement","_jswReactRootContainer","createRoot","tag","attrs","renderFn","onrender","events","children","insertBefore","insertAdjacentHTML","firstChild","nextSibling","async","scriptRegex","HIGH","NORMAL","LOW","priority","onReadyEvents","firedOnReady","wrappedCallback","onreadystatechange","predefinedPriorities","sort","a","b","Function","createComponent","renderTo","alert","super","_type","_title","_message","_source","_closable","_onClose","hideUrl","prepareUrl","source","_renderCloseButton","_renderMessage","onclick","baseUrl","global","substr","endsWith","args","classes","selectorRe","attrRe","shift","class","pageData","msgClass","messageElement","makeVar","usePageData","useReactiveVar","clearStatusMessages","statusMessage","jsonMessage","parse","kbArticleUrl","addStatusMessage","createEvent","initEvent","dispatchEvent","createEventObject","eventType","fireEvent","ESC","ENTER","LEFT_ARROW","UP_ARROW","RIGHT_ARROW","DOWN_ARROW","Hint","_contentElement","setHint","componentElement","createHtmlElement","wrapElement","btnShowMore","_screenControl","getWidth","hint","Button","_handler","_rightIcon","_disabledClass","_isNew","_newTitle","_initVisibility","_disabled","disable","enable","_addAttribute","classNames","addCls","_addProgressHandler","removeAttribute","SmallButton","BigButton","cls","disabledClass","button","comment","waitMessage","SplitButton","title","isAction","isDefault","isMenuFlip","items","isScrollable","openDropdown","_initItems","newWindow","listItem","submenu","preventDefault","stopPropagation","dropdownMenu","contains","toggle","openSubmenu","menuItem","trim","nextElementSibling","closeSubmenu","_menuTimeout","disabled","CommandButton","_value","_tabIndex","setHandler","toollist","CustomButton","getImagePath","Form","Methods","addMethods","ToolList","Container","_tools","_contentAreaId","_operations","Panel","_image","forcedId","Item","_href","_target","_attention","_disabledImage","_description","image","escapeAttribute","skinUrl","_items","_renderItems","_renderItem","getItems","find","submit","noRedirect","redirect","URL","protocol","isJavascriptProtocol","FormRedirect","assign","redirectPost","subToElements","stringToElements","prefix","booleanToElements","arrayToElements","concat","hashToElements","$H","each","_valueRenderer","renderHint","valuesElements","valueOf","formValues","input","getStorageName","isChanged","changed","FormAjax","_actionButtonTitle","_sendButtonId","_applyButtonId","_cancelButtonId","_confirmationCheckboxId","_submitHandler","buttonId","_toggleButton","_toggleCheckbox","actionButton","_getActionButton","waitButtonTitle","checkboxId","checkbox","noInitFocus","firstElement","focus","_submitInProgress","toggleButtons","confirmationCheckbox","checked","_formSubmit","_onSubmit","_onSubmitEvent","_addChoiceRadioButtonsOnClickEvent","_clearMessages","enctype","actionUrl","serialize","Request","onSuccess","_onSuccess","onFailure","_onFailure","req","timeoutMessage","showInternalError","responseText","_processForm","progressDialog","task","_processResponseRedirect","_processResponseStatus","_processResponseStatusMessages","statusMessages","_processResponseFormMessages","formMessages","_hasFieldErrors","_showFieldErrorArea","errorsElements","firstError","errorElement","hiddenContainerId","tabsBar","switchTab","_hasErrors","errors","rowElement","_addFormMessage","_processFieldMessages","_addFieldMessage","_processFieldMessage","fieldErrors","formElement","pop","postData","ListContainer","renderTargetId","isEmptyItem","_columnCls","cookies","cookie","crumbs","unescape","expires","escape","setPermanent","date","setTime","getTime","toGMTString","_titleClass","_hideContentTitle","_titleAreaId","_boxItemsAreaId","_initBoxItems","_boxItems","_getTitleHtml","_getSubTitleHtml","_renderBoxItems","_renderBoxItem","_isHidden","rememberedStatus","Cookie","_setHidden","hidden","hideContent","showContent","titleAreaElement","toggleContent","_updateTitle","TYPE_OK","TYPE_YESNO","SUBTYPE_DELETE","messageBox","SUBTYPE_TOGGLE","SUBTYPE_CONFIRM","factory","isWebspace","WebspaceFoldersMessageBox","isAjax","MultiCheckboxMessageWindow","MessageBox","ModalDialogBox","_text","_subtype","_descriptionWrapperTag","_descriptionDecorator","_buttonDefault","buttonsLocale","_buttonTitles","yes","no","wait","_onYesClick","_onNoClick","_onOkClick","_needAttention","_needAttentionText","_needAttentionBlockSubmit","_needAttentionOnChange","_onYesClickHandler","_defaultOnButtonClick","_getDescriptionCode","wrapDescription","_getNeedAttentionCode","needAttentionCode","ce","_disableYesButton","buttonYes","_enableYesButton","buttons","inputs","AjaxMessageBox","_requestUrl","_requestMethod","_requestParams","_contentContainerId","_loadingTitle","_progress","_showSpinner","_hideSpinner","onCreate","_onCreate","superclass","transport","contentCode","descriptionCode","confirmationCode","confirmation","checkboxes","enableYesButton","_successDescription","_failureDescription","_setDescription","folders","_screenDisablerId","_hideOnEscape","_hideOnBgClick","_onShow","_onHide","initScrollbarSpacer","_screenDisabler","_onKeyDownhandler","_onKeyDown","popupContainer","keyCode","scrollDiv","overflow","scrollbarWidth","offsetWidth","clientWidth","styleEl","head","sheet","insertRule","DropdownHeader","dropdowns","closeAllDropdowns","dropdown","isOpened","close","DropdownManager","register","toggler","open","beforeClick","oldIsOpened","unregister","SmallTools","_operationsId","searchFilters","searchFiltersState","searchHandler","resetSearchHandler","listId","searchOveral","overal","searchOverall","quickSearchWide","quickSearchInputId","searchCollapsed","onToggleSearch","quickSearchBoxView","searchBoxView","addResponsiveButton","searchOveralView","toggleSearch","filterState","currentValue","searchText","onsubmit","searchFiltersView","require","filters","Filters","create","idPrefix","_hideResponsiveButtonBlocks","_rActionsElement","onResponsiveButtonClick","_showResponsiveButtonBlocks","createDate","options","multi","createMultiEnum","createEnum","createText","placeholder","onkeyup","live","inputDataName","charAt","onchange","enumOptionsView","option","output","total","hour","minute","day","month","year","getFullYear","onDateSearchFilterOpen","onDateSearchFilterChange","onDateSearchFilterModify","enumValueView","enumGroupValue","selected","onMultiEnumSearchFilterChange","isNaN","_dateSearchFieldFromDate","_dateSearchFieldToDate","yyyy","mm","getMonth","dd","getDate","h","getHours","m","getMinutes","CollapsibleBlock","_blockAreaId","_onTitleClickEvent","Pathbar","_renderItemSuffix","getHref","SimpleItem","Bar","containerCls","getContainerClass","bar","Tabs","_isResponsive","_addResponsiveTabs","tabId","activeTab","getTabId","size","getTabContent","tabContentElement","isActive","_isActive","_containerCls","_tabId","navigationTab","_content","Separator","HorizontalSeparator","wrapperClass","DynamicSubForm","getDynamicContent","_getDynamicContent","prepareDynamicContent","_prepareDynamicContent","bindDynamicContent","_bindDynamicContent","insertDynamicContent","_insertDynamicContent","onUpdateDynamic","_onUpdateDynamic","onInitDynamic","_onInitDynamic","_allowRemoveFirstElement","dynamicElements","getElements","_addEmptyContent","dynamicElement","cloneNode","deleteContent","addContent","reset","AddRemoveDynamicSubForm","_addButtonId","_addButtonTitle","_removeButtonId","_removeButtonTitle","addButton","_isAddButtonDisabled","isFirstElement","wrapperId","_initRemoveButtonWrapper","inputEls","newId","nameRegExp","idRegExp","child","labels","Box","Gauge","setProgress","PopupForm","_popupContentAreaId","_hintAreaId","_hint1AreaId","_boxAreaId","_actionButtonsId","_leftActionButtonsAreaId","_rightActionButtonsAreaId","_titleCls","_scrollable","_fullHeight","_isRemoved","view","_getHeadingActions","_getContentArea","_getBoxArea","_getButtonsArea","buttonsRow","toggleButtonsArea","bool","setBoxType","setTitleType","setTitle","setHint1","addRightButton","_createButton","addLeftButton","removeRightButtons","removeLeftButtons","resizeList","listContainer","buttonsHeight","getHeight","cumulativeOffset","newHeight","clientHeight","overflowY","overflowX","_onClick","_updateButton","_addErrorMessage","_addStatusMessage","_userError","_close","_internalError","AjaxPopupForm","_url","cancelBtn","Popup","_contentHeight","_closeButtonEnabled","_buttons","_onCloseClick","buttonsArea","formId","buttonDesc","buttonDisabled","buttonContainer","DoubleListSelector","_name","_list","_onChange","_dataUrl","_selectedMarked","_unselectedMarked","_prevSelectedItem","_isSearchable","_isLarge","_initList","marked","_initListItem","_originalSelection","_initInputElement","ajaxLoading","_getSearchControl","isSelected","container","isHidden","icons","_toggleItem","inputElement","columnId","autocomplete","onfocus","onFocus","onblur","onBlur","onmousedown","onResetSearch","_onSubmitSelect","_onSubmitUnselect","_unmarkItem","_markItem","shiftKey","startIndex","min","finishIndex","max","_updateSelectControls","_updateElement","onChange","searchString","_toggleSearchButtonIcon","_isSearchMatched","_showAllItems","searchIndex","_resetSearchControl","setMarked","counter","controlId","isEmpty","reloadUrl","_onReloadSuccess","_onReloadFailure","onException","_onReloadException","_onReloadCreate","onComplete","_onReloadComplete","exception","listArea","EnhancedDoubleListSelector","_fixListZebra","count","inputIcon","_toggleItemSelection","_toggleItemCheckbox","_getItemText","highlight","itemIcons","itemText","batchMode","side","DynamicPopupHint","windowId","delay","_isInitialized","_currentTooltip","_init","_initWindowElement","_initWindowEvents","marginTop","_onWindowMouseOver","_onWindowMouseOut","_showWindow","getPlacement","getCls","getTitle","titleElement","getScrollable","updateContent","isSet","unset","getContent","_updatePosition","elementWidth","elementHeight","headingElementHeight","getTargetElement","tooltipElementHeight","tooltipElementWidth","offsetLeft","offsetTop","elementRight","viewportRight","clonePosition","setWidth","setHeight","_targetElement","_waitMsg","_placement","_contentLoaded","_delayedExecuter","_initTargetEvents","_loadContent","setContent","PeriodicalExecuter","pe","stop","PasswordMeter","observe","_passwordElement","_verdict","strength","level","password","suggestions","estimatePassword","_updateVisibility","_updateHint","_updateVerdict","_updateColor","_hintContainer","newClass","c","_oldClass","suggestion","waitMsg","placement","defaultEstimateFn","passwordEstimation","apolloClient","query","PASSWORD_ESTIMATION_QUERY","variables","estimateFn","all","sentryLink","SentryLink","setTransaction","errorLink","onError","networkError","statusCode","Observable","fetchParams","uri","terminatingLink","ApolloLink","operation","getContext","noBatch","extractFiles","files","createUploadLink","BatchHttpLink","batchMax","batchInterval","ApolloClient","from","cache","InMemoryCache","typePolicies","AdditionalKey","keyFields","Domain","fields","hosting","merge","webScriptingSettings","subscription","Subscription","permissions","ExtensionTab","SiteButton","ConfigSectionGdprCookie","User","UserLogo","UserPermissions","Os","Mode","Home","Notification","PrimaryKey","WebsitesDiagnostic","settings","ServerMail","spamAssassin","Capability","mailServer","packages","Dns","Query","additionalKeys","recentSearch","node","read","_","toReference","__typename","atob","Server","firewall","components","information","productVersion","productUpdates","pum","DnsTemplate","DnsSoaRecordTemplate","TaskList","IpAddress","clients","IpAddressList","VirtualDirectory","errorDoc","code","VirtualDirectoryErrorDoc","SystemMessage","ClientStatistics","DomainStatistics","MailAccountConfiguration","dataIdFromObject","object","defaultDataIdFromObject","doc","loc","collectFragmentReferences","refs","kind","selectionSet","selections","selection","variableDefinitions","def","definitions","definitionRefs","findOperation","operationName","newDoc","opRefs","allRefs","newRefs","refName","prevRefs","childRef","op","oneQuery","symbolClasses","upper","lower","number","special","PasswordGenerator","_generateButtonElement","_onGeneratePasswordClick","_showButtonElement","_onShowPasswordClick","_showPasswordVisible","_showPasswordTitle","_hidePasswordTitle","_passwordStrength","_generatePassword","passwordConfirmationElement","fireCustomEvent","requiredClasses","shuffle","_generateSymbol","symbolClass","crypto","getRandomValues","Uint32Array","shuffledArray","remaining","currentIndex","randomIndex","UpgradeFailureNotification","updateInterval","_isBootstrapRunning","_bootstrapExecutionUrl","_bootstrapStatusUrl","_bootstrapInProgressMessage","_bootstrapLinkTitle","_scheduleUpdateStatus","_executeBootstrapper","_statusUpdate","WebserverConfigurationFailure","_rebuildFailedUrl","_rebuildAllUrl","_moduleInstalled","_kbArticle","linkAll","howToFix","kbArticle","_rebuildFailed","_rebuildAll","_onCreateExecute","_onException","port","ConfirmationPopupManager","_sendButtonTitle","singleRowButtons","_prepareUrl","_handlerUrl","_ids","_formListItemsAreaId","_formListAreaId","_formBoxAreaId","_formDescriptionId","_longtask","_autoload","_setTitle","formHtml","_getHeadDescription","_getBottomDescription","_addButtons","_renderPreparePopup","_preparePopup","_onCancelClick","ids","_onSuccessPreparePopup","_onSuccessResponse","sendButton","cancelButton","_getLoadingIndicatorItems","_addLoadingIndicator","_getAdditionalParams","_isValid","_needFlyEffect","beginOffset","fly","_sendRequest","LookUp","_data","_currentValue","_newItemValue","_copyTitleValue","_limit","ITEMS_UNLIMITED","_lookUpParams","_placeholder","_valueField","inputFieldConfig","_inputField","_lookUpButton","_lookUpControl","_dropdownList","_initCustomLookUpComponent","_customLookUpComponent","_emptyElement","handleChange","_updateValue","_updateData","_getDataByUrl","_createItem","_setDisabled","_filter","limit","_selectResults","itemsCount","getValue","getItemValue","getDisplayValue","_openList","showAll","_fixDropdownPosition","_getDataTask","_closeList","itemsFound","_item","itemLink","itemData","stripTags","visibleItems","_searchMoreElement","_getSearchMoreText","previousElementSibling","blur","_inputOnFocus","_inputOnPaste","_inputOnBlur","_inputOnKeyUp","_inputOnKeyDown","_lookUpButtonOnClick","activeItem","_onArrowKeyPressed","nextItem","_scrollDropdownList","firstItem","round","offsetHeight","itemsInFrame","frameStart","scrollTop","_itemOnClick","_itemOnOver","_clearData","_addSearchMoreElement","isRtl","windowWidth","offsets","getBoundingClientRect","delta","parseInt","getComputedStyle","paddingLeft","COLUMN_SELECTION","COLUMN_ACTIONS","AdditionalActions","List","globalCheckbox","onListGlobalCheckboxClick","_listCls","_tableId","_itemActions","_columns","Boolean","_limitValues","_splitListData","pathbar","state","pager","additional","_searchFilters","_searchOveral","_pageable","_disabledSelectHint","_renderDisabledSelectHint","_clearStatusOnReload","isDisabledItem","_onRedraw","_emptyViewMode","_getTotalInfo","_pager","totalItemCount","_getRowClass","_getSearchOveralField","listData","place","dataLen","_state","_pathbar","_additionalData","_isColumnSelectionPresent","_getColumns","onHeaderClick","dataIndex","sortField","sortDirection","updateFilter","force","checkEmptyList","filterChanged","hasFilter","isVisible","column","oddEvenRowClass","row","rowIndex","cells","columnIndex","_filtered","noEscape","onLimitClick","onPagerClick","page","actionsBox","_getActionBoxElement","selectButton","onPagerButtonClick","paging","_actionBox","listHeadersView","colspan","headerColspan","header","headerCls","headerRenderer","sortCssClass","sortable","headerParams","listDataView","indexOffset","rowView","columns","cell","renderer","isDisabled","hideDisabled","listView","containerView","_getActionBox","_getPathbarHtml","_getPagerHtml","emptyViewContainer","isListEmpty","listSelector","previousValue","isFiltered","forceShowSearch","operationsId","operations","_getOperations","_onSearchClick","_onResetSearchClick","collapsed","_hideItemsNotSelectedWarning","_getLimitValuesHtml","pageCount","_getPagesItemsHtml","limitValue","limitValueTitle","itemCountPerPage","first","previous","pagesInRange","last","emptyView","_addSelectionHandlers","rActionsList","handleSelectButtonClick","_addPathbar","getSelectedItemsIds","getSelectedItems","selectedItems","dataItem","checkNonEmptySelection","_showItemsNotSelectedWarning","execLongGroupOperation","itemId","progressBar","removePreparingItem","beforeSendRequest","sendRequest","taskName","execGroupOperation","payload","defineProperty","idsParamName","submitVarName","toJsonPayload","checkSelection","_submit","sendRequestHandler","submitHandler","reloading","context","noReload","skipConfirmation","mouseEvent","confirmationPopup","_confirmationPopup","getConfirmOnGroupOperation","subtype","needAttention","needAttentionText","needAttentionBlockSubmit","needAttentionOnChange","requestUrl","loadingTitle","onYesClick","requestParams","buttonTitles","titles","buttonKey","confirmOnGroupOperation","_itemsNotSelectedTimerId","urlParams","controllerName","actionName","_request","abort","processReloadError","redraw","_addDisabledCheckboxesHints","previousSibling","_renderDisabledCheckboxesHints","redrawPartial","_contextMenu","onRedraw","_addResponsiveHtml","_initDropdowns","_initItemActions","rowId","_dropdowns","hasSelectedItems","getItemById","Number","getItemByName","itemName","columnName","columnNameHtml","_addResponsiveHtmlToButtons","_addResponsiveHtmlToImages","_addResponsiveHtmlToIcons","_addResponsiveHtmlToNumbers","images","outerHTML","wrapper","icon","parseFloat","isFinite","links","checkSyncStatus","statusElementId","onFinishCallback","randomId","_randomId","timeout","progressStatus","statusElement","deleteButtonIndex","_getDeleteButtonIndex","_modifyColumnsByExtension","extension","findColumn","columnsOverride","originalColumn","extend","insertAfter","getItemActions","actionInfo","ListContextMenu","TARGET_TYPE_DROP_DOWN","TARGET_TYPE_TABLE_ROW","_initRowStyles","_initShowOnClick","_prefillPopup","iconClass","_togglePopupNearButton","scrollOffsets","buttonPosition","viewportOffset","buttonWidth","buttonHeight","_setPosition","_hidePopup","targetData","rowEl","_openPopup","rowData","targetType","dropDownEl","_isListContextEvent","_getTargetData","_getTargetType","_open","_hide","_isImmediatelyOpening","_isOpened","altX","altY","popupWidth","windowHeight","popupHeight","popupMarginTop","getStyle","right","dir","_titleAddCls","collapse","_titleButton","popup","operationsArea","liElement","UnresolvedDomainWarning","run","isAlias","Pool","take","hasItems","_viewerId","_preparingCounter","_hidden","intervalUpdateTimer","pleskWS","task_created","onUpdated","task_updated","task_deleted","onDeleted","onOpen","loadTasks","onClose","addPreparingItem","progressTitle","uniq","unshift","failPreparingItem","setStatus","setErrors","_loaded","mergeItems","nextItems","getMergedItems","newItemData","onItemStatusChange","completeItem","currentItem","setItems","mergeItem","pool","getUpdated","getStatus","getData","getSteps","onItemStepChange","setRefreshLinkEnabled","isStarted","isRefreshLinkEnabled","setUniq","getUniq","isFlying","isReady","stopPeriodicalExecutor","removeItemsByIds","isCompletedItem","_updateProgressDialog","progressBarItemId","onHide","returnUrl","_progressBarItem","isOpenProgressDialog","_progressDialog","renderProgressDialog","isOpen","getProgressTitle","steps","getVisibleErrors","redirectUrl","isComplete","doRedirect","isCompleteSuccessfully","isCompleteWithWarning","newItem","finishedItem","step","setProgressBarElement","getProgressBarElement","setPeriodicalExecutor","viewerId","onGroupClose","handleGroupClose","getKey","addToast","intent","hasStartedTasks","setInterval","clearInterval","_updated","_status","_errors","_output","_isRefreshLinkEnabled","_progressValue","_canCancel","_referrer","_uniq","_progressBarElement","getProgressValue","getProgressDialogLinkHandler","flag","_isRefreshAllowed","getRefreshLinkProps","_redirect","onClick","hasErrors","getErrors","getOutput","line","isPreparing","isProgressUndefined","isCompleteWithError","toToast","refresh","progress","toasts","useToasts","autoClosable","removeToast","toast","ws","messageSubscriptions","openSubscriptions","closeSubscriptions","handleError","wsConnect","attempt","WebSocket","host","onmessage","messageData","onopen","onclose","PleskWSBinding","messageSubscriptionsIndex","openSubscriptionsIndex","closeSubscriptionsIndex","_onStatusUpdate","_onTaskDone","_onTaskCancel","_onTaskError","progressParams","errorMessage","_statusUrl","_updateInterval","_showProgress","statusClass","_processStatus","_updateStatus","_onStatusUpdateSuccess","_onStatusUpdateFailure","_failedStatusUpdates","_maxFailedStatusUpdates","_showFinished","_showError","_showWorking","_showNone","_showLoading","_addDetailsEvent","details","ActiveList","urls","navigate","isCollapsible","isNew","isShowItemTitle","stateCollapsed","itemActions","toolbarView","itemsView","bottomBarView","toolbar","sortDir","allowListSwitch","hasClassicView","itemView","stretched","itemClasses","itemCaptionView","itemDetailsView","itemSettingsView","itemToolsView","rel","noEscapeTitle","new","additionalComments","countMoreItems","loadAllLink","switchToLink","listType","itemCaptionHeaderView","itemCaptionServicesView","itemCaptionDataView","itemCaptionAdditionalHtml","toggleItem","itemCaptionHeadView","itemCaptionHeadWrapView","itemCaptionSummaryView","itemCaptionToolbarView","labelTypes","onCaptionHeadWrapClick","primaryActions","summary","summaryItemView","summaryItem","toolbarButtonView","services","itemServiceView","service","headerClass","closeUrl","itemServiceBlockView","renderItemServiceView","ch","replaceAll","grid","subService","linkView","childLinks","childLink","isSimpleText","info","isSimpleLink","spanClass","newLine","linesNumber","additionalHtml","getItemElement","scrollToItem","hadClassName","elem","servicesEl","_initToolbar","disableItem","enableItem","toolbarEl","itemEls","menuEl","offset","getLayout","_menuEl","itemEl","itemElClone","liEl","elInMenu","onWindowResize","duration","startTime","to","frame","scrollTo","getItemIdFromUrl","cookieName","_createFolderUrl","_onNodeClick","_rootNodeTitle","_onReload","_showFiles","_filterNodes","_selectOnlyFiles","_showMessage","_initTreeView","_insertNode","htmlElement","cssClass","isRootDirectory","isDirectory","_getNodes","ulElement","itemSelect","_addCommonEvents","_onNodeToggle","_onNodeMouseover","_onNodeMouseleave","linkElement","getTypeIcon","_onNodeSelect","directoryPath","containerElement","subTreeElement","expandElement","showNewNode","_loadNode","_onNodeLoadStart","rootDir","showFiles","_onNodeLoadSuccess","_onNodeLoadFailure","_isNodeExpanded","nodeElement","resetSelection","hideNewNode","resetHover","setDirectory","directory","_getNodeElement","_onFullReloadSuccess","reloadPath","nodes","lastSlashIndex","lastIndexOf","getSelectedNode","selectedElement","getSelectedItemData","expandNode","_insertNewNode","newNode","onkeydown","_onNewNodeKeyDown","_onCreateFolder","_insertBtn","_onCancelCreateFolder","currentDir","newDirectoryName","_onFolderCreated","FTYPE_DIR","FTYPE_TEXT","FTYPE_IMAGE","FTYPE_VECTOR_IMAGE","FTYPE_AUDIO","FTYPE_SECURITY","FTYPE_WEBSCRIPT","FTYPE_WEBPAGE","FTYPE_WAPPAGE","FTYPE_COMPRESSED","FTYPE_UNKNOWN_TEXT","FTYPE_UNKNOWN_BINARY","FTYPE_ZIP","FTYPE_RAR","FTYPE_TAR","FTYPE_TGZ","unixPermissions","toUnixPermissionsString","contentAreaId","handlerUrl","startUploadHandler","finishUploadHandler","_startUploadHandler","_finishUploadHandler","_uploadFrameInitialized","_getUploadIFrameElement","contentArea","_uploadFrameElement","_onUploadFrameInitialized","getResult","statusFrame","statusDocument","contentDocument","contentWindow","cancel","DirectoryBrowser","_pathElementId","_subscriptionId","_tree","applyTo","dataUrl","onNodeClick","_onTreeNodeClick","onReload","_buttonOk","_buttonCancel","selectedPath","pathValue","readEntry","entry","entryReader","createReader","readAllEntries","allEntries","readEntries","results","entriesToFiles","isFile","file","FileReader","opera","navigator","platform","reader","onloadend","onprogress","readAsDataURL","isDragFiles","dataTransfer","effectAllowed","types","DropArea","isButtomUploadDirectory","_onDrop","_addDocumentHandlers","_addDropAreaHandlers","webkitGetAsEntry","getAsFile","isFiles","getDragFiles","GroupsList","_getGroupRowClass","_groupBy","_groupsConfig","groupedData","groupId","groupIndex","group","groupDataRowView","_getGroupName","ReporterPopup","_actionCollectId","_actionToSupportId","_supportUrl","_onSendClick","_getTooltip","_onSupportClick","_disableSendButton","_enableSendButton","_onCollectClick","_checkResponseStatus","collectRadio","reportId","_onShowReportsClick","dialogHeight","pageable","maxHeight","_onHideReportsClick","ObjectSwitcher","_listUrl","_itemUrlTemplate","_owner","_navigate","myData","isSameParent","PopupSlider","popupCls","closeButtonEnabled","hideOnEscape","_slides","_current","setCurrent","prev","renderSlide","dots","marginLeft","curItem","ScrollableList","table","headerTable","visibleHeader","tr","blockHeight","up","invisibleHeader","th","lastHeader","bottom","tableHeight","scrollHeight","_resizeList","scrollToBottom","rows","patchesFactory","wrap","after","ajaxRequest","ajaxRequestsHistory","ajaxRequestProto","ignoreUAT","targetUrl","requestFingerprint","uiPointerForm","lastUrl","msg","dataSource","update_oC","jswFormAjax","formAjaxProto","responseJSON","jswList","listProto","_lastOperation","replaceHandlers","o","confirmationPopupManager","popupFormProto","ajaxPopupForm","defer","msgBoxProto","ajaxMessageBox","ajaxMsgBoxProto","multiCheckboxMessageWindow","msgWindowProto","webspaceFoldersMessageBox","drawersWatcher","reportDrawerAction","drawer","getDrawer","MutationObserver","mutations","addedNodes","removedNodes","childList","subtree","characterData","pleskActions","sessionChanged","unloadByClick","watchersFactory","isAnalyticsAllowed","userAgent","versionInfo","accountCreated","innerWidth","innerHeight","ratio","devicePixelRatio","activeElement","COOKIE_POLICY_LOCAL_STORAGE_KEY","hasPreferences","savePreferences","preferences","loadPreferences","analytics","marketing","openInNew","isClassicUi","toPunycode","domain","punycode","FormFieldPassword","defaultProps","passwordMeterProps","onEstimate","app","showModal","graphqlQueries","localeSections","feedback","sentry","isInFrame","writeQuery","gql","App","addWidget","widget","LocaleProvider","ErrorBoundary","createPortal","widgets","createBrowserRouter","routes","setState","StrictMode","ApolloProvider","client","_jsxs","RouterProvider","router","initialDataLoader","isInitial","createPageDataLoader","dataPath","generatePath","newData","isClientSideRedirectAllowed","ipAddressDomainRoute","componentLoader","loader","clientId","btoa","ipAddressId","changeOwnerRoute","searchParams","virtualHostTemplateRoute","handle","crumb","helpContext","isTsSessionsExist","viewer","manageServerSessions","os","isWindows","routesTransformer","AppLayout","AppBoundary","isAllowedWithoutLicense","domainOverviewRoutes","isExist","mode","isDnsServiceSupported","manageServerDnsTemplate","isViewSwitcherAllowed","manageServerNotifications","manageServerBranding","manageServerDb","graphQLErrors","debugMessage","databaseServer","errorPolicy","isDemo","fetchPolicy","websitesDiagnostic","enabled","manageServerMail","manageServerMailAutodiscover","manageServerSpamFilter","manageServerMailBlackWhiteLists","manageServerVirusProtection","toPhpDate","getStartOfDay","now","getEndOfDay","pagination","itemsPerPage","orderBy","email","capability","isSmarthostAvailable","manageServerLicense","additionalKey","isUnix","manageServerFirewall","manageServerComponents","phpHandler","cliPath","manageServerPhp","manageAspNetSettings","isASPdotNetInstalled","pageSidebar","isPowerUserPanel","CpPagesLayout","infoAndStatisticsRoute","summaryReportRoute","summaryReportChildrenRoute","trafficUsageByViewerCustomersRoute","trafficUsageByViewerCustomersChildrenRoute","trafficUsageByViewerDomainsRoute","trafficUsageByViewerDomainsChildrenRoute","resourceUsageByDomainRoute","trafficUsageByViewerResellersRoute","trafficUsageByViewerResellersChildrenRoute","readGraphQlListInputFromStorage","templateId","numericId","server","Response","serverMail","odbcServerRoute","domainRoute","homeRoute","trafficUsageByDomainRoute","PhpPagesLayout","LogsPage","parsePath","route","test","matchRoutes","HOURS_IN_MS","SEC_IN_HOUR","getSysdate","addDays","daysCount","copy","setDate","addHours","hoursCount","setHours","isSameDay","date1","date2","yearsAreEqual","monthsAreEqual","daysAreEqual","getTimezoneShift","timezone","hours","minutes","abs","formatDate","toLocaleDateString","formatDateFromTimestamp","seconds","toDatePeriod","days","daysInSeconds","hoursInSeconds","getStartOfMonth","getEndOfMonth","setMonth","getStartOfWeek","diff","getDay","getEndOfWeek","getDaysInMonthFromTimestamp","getDaysInPreviousMonth","toUnixTime","LoadableComponent","useMatches","useLocation","revalidator","useRevalidator","useLoaderData","useParams","licenseData","useQuery","LICENSE","isLicenseLocked","revalidate","componentLoaderTransformer","other","cause","default","isExistTransformer","shouldRevalidateTransformer","shouldRevalidate","defaultShouldRevalidate","currentUrl","nextUrl","every","childrenTransformer","pathTransformer","routeTransformer","transformedRoute","transformer","flat","TopBarProgress","barThickness","barColors","shadowBlur","navigation","useNavigation","TASK_PROGRESS_BAR_QUERY","useServerRouteReload","useLayoutEffect","wsEnabled","webSocket","isNote","bottomAnchor","ModuleProvider","Outlet","Toaster","onToastClose","_Fragment","opacity","ScrollRestoration","DynamicModule","ModulesContext","createContext","MODULE_SEARCH_KEY","loadModule","loadScope","promise","__webpack_init_sharing__","__webpack_share_scopes__","useDynamicModule","useContext","loaded","setLoaded","useState","useNavigate","openModule","useCallback","moduleString","groups","lazy","encode","preventScrollReset","closeModule","delete","modules","useMemo","Provider","isRequired","visible","Suspense","fallback","useRef","useEffect","showFrames","pageHeader","matchesContext","breadcrumbs","matchCrumb","reversedMatches","reverse","secondary","titleRightAddon","pageContentHeader","lastBreadcrumbTitle","lastLayoutMatch","pageTitle","at","lastMatch","noLayout","helpMenu","PageLayout","withSecondary","bodyClass","integrationClass","isSecondaryCollapsed","customTitle","BRANDING_QUERY","isClosedOnDesktop","setClosedOnDesktop","useLocalStorage","isClosedInResponsive","setClosedInResponsive","sidebarCollapsed","isResponsive","useMediaQuery","isClosed","documentTitleEl","headerHeight","setHeaderHeight","headerAddonHeight","setHeaderAddonHeight","stickyTop","setStickyTop","paddingTop","searchQuery","getTitleForHelpSearchQuery","Layout","Measure","bounds","onResize","measureRef","ref","PageHeader","headerAddon","CookiePolicy","licenseStatus","LicenseStatus","onSidebarToggle","handleToggleSidebar","sidebar","PageSidebar","sidebarType","footer","PageFooter","contentHeader","PageContentHeader","Columns","gap","vertical","Column","fill","StatusMessages","JswComponent","useClickOutside","listener","useEventListener","addFn","removeFn","handlerRef","initialValue","storedValue","setStoredValue","readLocalStorageValue","setValue","mq","matchMedia","updateMatch","addListener","removeListener","useDebounce","debouncedValue","setDebouncedValue","layoutType","isInfoVisible","setInfoVisible","isPreferencesVisible","setPreferencesVisible","useModal","setPreferences","COOKIE_POLICY_QUERY","handleSave","nextPreferences","gdpr","cookieBox","Info","onSave","onPreferencesToggle","contentAlignment","Preferences","onToggle","adapter","OverlayAdapter","useCollector","setCallback","collect","Confirmation","onProceed","proceed","isConfirmed","isResolved","useConfirmation","setConfirmation","triggerConfirmation","useCreateFormInDrawer","dataType","drawerUrl","useApolloClient","useMatch","setData","setTask","updateUserSettings","useMutation","UPDATE_USER_SETTINGS","CREATE_FORM_IN_DRAWER_QUERY","techDomain","vendor","maxDomainLength","settingsEnabled","domainManagement","applicationWizardConfig","applicationWizard","isMailServiceSupported","handleClose","DrawerWithProgress","onCancel","onProcess","onToggleDomainSettings","settingsCollapsed","ContentLoader","STATUS_RUNNING","getTaskProgressBar","ButtonsTranslate","onTaskComplete","autoCloseTimeout","setSteps","setRedirectUrl","taskId","handleTaskUpdate","taskStatus","progressValue","progressTitleHtml","onErrorExecute","ConsoleOutput","taskProgressBar","isInProgress","deleteTask","handleTaskComplete","sameUrls","origin","Drawer","cancelable","dangerouslySetInnerHTML","__html","onFinish","hideButton","navigateBase","useNavigateBase","createPath","useListOperation","setSelection","loadingRows","setLoadingRows","wrapListOperation","currentKeys","ALL_ITEMS","ITEM_PER_PAGE_OPTIONS_DEFAULT","ALL_ITEMS_COUNT","useList","onFilter","initialFilter","currentPage","totalPage","totalPages","itemsPerPageOptions","onPageChange","onChangeItemsPerPage","direction","sortColumn","onSortChange","loading","setLoading","setFilter","wrapAsync","renderPagination","Pagination","onSelect","nextPage","onItemsPerPageChange","sortParams","handleReload","handleFilter","Heading","Paragraph","cookieInformationLink","Link","PLESK_COOKIES","handleAcceptClick","handleAcceptNecessaryCookiesClick","handlePreferencesClick","CONTROL_COOKIES","Adapter","DrawerAdapter","k","toValues","handleCancel","submitButton","onSubmit","toPreferences","FormFieldRadioButtons","browserSettingsLink","applyButton","Overlay","hasScroll","enableScroll","enableDocumentScroll","enterTimeoutRef","exitTimeoutRef","setReady","disableDocumentScroll","Icon","Tag","containerRef","mapping","LicenseLimitsMessage","handleCloseMessage","renderMessage","buyUrl","canManageLicense","Alert","urlMapping","useNavigateCallback","metaKey","altKey","ctrlKey","RouterLink","defaultPrevented","features","STATUS_DEFAULT","STATUS_TRIAL","STATUS_EXPIRED","daysLeft","isAdmin","installUrl","hidePopoverUrl","trialOverIcon","baseClassName","trialOverPopoverVisible","setTrialOverPopoverVisible","handleClosePopover","alertCls","renderActions","popoverCls","Popover","renderTrialPopover","oneOf","searchUrl","MainHeaderSearch","MainHeaderNavbar","MENU_ITEM_CLASSNAME","SEARCH_HISTORY_STORE_URL","removeTouchEventListeners","onDocumentTouchStart","onDocumentTouchMove","onDocumentTouchEnd","searchTermRef","lastTermRef","menuRef","timer","resetTimeout","enterPressed","pendingRequest","skipKeyUp","touchMoved","MAIN_HEADER_SEARCH_QUERY","setHistory","deleteRecentSearchResult","DELETE_RECENT_SEARCH_RESULT_MUTATION","onCompleted","isSearchFocused","setSearchFocused","searchInProgress","setSearchInProgress","setResults","selectedItem","setSelectedItem","fatalError","goToItem","scheduleSearch","abortPreviousSearch","findTerm","onSearchSuccess","term","records","res","onSearchFailure","onSearchComplete","flushRecentSearchCache","evict","identify","fieldName","renderSearchItems","uatKey","iconUrl","MenuItem","active","storeUrl","token","sendBeacon","toFormData","forgery_protection_token","handleSaveRecentSearch","renderSearchResults","meta","moreResultsFound","MenuDivider","renderHistory","MenuHeader","ghost","Status","resetSearch","resetValue","onArrowKeyPressed","searchPlaceholder","onTouchEnd","Input","innerRef","autoComplete","onPaste","handlePaste","onKeyUp","onKeyDown","_complete","handleFocus","RECENT_SEARCH_HISTORY_QUERY","handleBlur","suffix","Menu","consume","IconSun","xmlns","viewBox","fillRule","d","clipRule","IconMoon","mask","AccountMenu","isHideText","user","ACCOUNT_MENU_QUERY","Dropdown","menu","menuPlacement","caret","Text","truncate","pname","login","backToAdminLink","accountMenu","subscriptionSwitcher","headerCustomButtons","isHideBackToAdminText","isHideLogo","MAIN_HEADER_NAVBAR_QUERY","theme","setTheme","branding","flipHorizontal","SubscriptionSwitcher","notification","panel","NotificationCenter","alt","HelpMenu","handleToggleTheme","newTheme","newThemeColor","logo","isCustom","changeIdRe","subscriptions","currentSubscriptionId","defaultCurrentSubscriptionId","defaultShowAll","setShowAll","setCurrentSubscriptionId","tabIndex","pointerEvents","getNotificationIcon","contextIconUrl","unreadCount","notifications","isRead","UnreadCounter","getSubjectIntent","isListOpen","setIsListOpen","selectedNotificationId","setSelectedNotificationId","setNotifications","viewerType","NOTIFICATION_CENTER_QUERY","toastsRef","reloadTimeout","initFilter","initWebSocket","loadNotifications","handleNewNotificationRef","newNotification","allToasts","groupNotifications","isViewed","isNotificationCritical","isAllowedFeedbackOrPromotionNotification","getIntentByNotification","accent","NotificationToast","onSelectNotification","handleOpenNotificationCenter","handleSelectNotification","uatAdditionalData","category","NOTIFICATION_CATEGORIES","ALERT","messageKey","handleUpdateNotifications","handleMarkAllAsViewed","panel_notification_created","listNotifications","newNotifications","change","updateNotifications","handleRemoveNotification","prevNotifications","deleteNotifications","handleCloseNotificationCenter","unreadNotifications","applyFilter","isUnRead","selectedNotification","Badge","getMostIntentByNotifications","extra","NotificationActions","onUpdateNotifications","onRemoveNotification","Action","handleOpenSettings","handleCloseNotificationView","subject","Label","NotificationDate","NotificationCenterView","NotificationCenterList","onUpdateFilter","newFilter","onMarkAllAsRead","handleMarkAllAsRead","isFavorite","isCritical","WARNING","isPromotion","PROMOTION","FEEDBACK","CtaPropType","NOTIFICATION_INTENTS","DANGER","INFO","INACTIVE","INFORMATION","NotificationPropType","area","createdAt","displayDate","actionLink","actionText","openInNewTab","NotificationFilterPropType","handleClickButton","notificationsToDisplay","expandedRows","setExpandedRows","filterCount","r","v","grouppedNotifications","selectNotification","toggleExpansionNotification","prevExpandedRows","unreadNotificationIds","SubjectColumn","onToggleExpansionNotification","DateColumn","Toolbar","ToolbarGroup","ToolbarExpander","FilterMenu","SearchBar","inputProps","onTyping","minWidth","rowKey","renderRowBody","onExpandedRowsChange","emptyViewMode","ListEmptyView","reason","isNotificationsGroup","notificationsId","subjectIntent","Media","imageSpacing","getStatusIntent","compact","bold","includeParentAsChild","includeRead","groupedNotifications","originalNotification","today","nowrap","ListActions","ListAction","primary","intents","selectedToastId","categoryIconMap","categoryIntentMap","NotificationBody","expanded","setExpanded","nestedNotification","HelpDrawer","helpUrl","customHelpUrl","helpModule","HELP_MENU_QUERY","setIsOpen","setIsOpened","handleOpen","isClassicPanel","help","enableSearchPrefill","styleClass","conhelp","custom","backgroundImage","fontSize","Group","activeNode","statistics","isSidebarClosed","nodeRef","setHidden","Transition","in","mountOnEnter","unmountOnExit","g","getFirstLink","foundNode","navigationContext","viewSwitcher","showStatistics","MAIN_MENU_QUERY","skip","getExtension","breadcrumbPathname","breadcrumbExtension","locationPathname","locationExtension","nodePathname","matchPath","nodeExtension","Brand","ViewSwitcher","showTitle","showPowerUserViewWarning","learnMoreUrl","hideSwitcherUrl","changeViewUrl","setVisible","popoverVisible","setPopoverVisible","targetRef","handleChangeView","handleOpenLearnMore","handleTogglePopover","canCloseOnOutsideClick","canCloseOnEscapePress","boundariesElement","switchLink","onTouchStart","onMouseDown","recommended","helpLink","handleHideSwitcher","imageAlt","edition","PAGE_FOOTER_QUERY","promos","pleskFooter","product","siteUrl","facebook","showLikeLink","pleskPage","twitter","showFollowLink","rating","handleProvideRatingClick","supportUrl","userVoice","userVoiceUrl","tabs","tabsHasRootPage","navigationTabs","hidePathbar","hideHeading","wizardTitle","pageSubtitle","objectSwitcherParams","forceObjectSwitcher","isClassicMode","additionalTitleContent","addObjectSwitcher","objectName","pageTitleSuffix","previousPage","Breadcrumbs","PageContentHeaderNav","lookUpParams","listUrl","owner","itemUrlTemplate","setComponent","newComponent","JswObjectSwitcher","findIndex","nav","headerInner","stickyClassName","tabsRect","headerInnerRect","minHeight","Tab","substring","matchLink","unescapeHtml","withPageLayout","extraProps","Wrapper","wrapperProps","displayName","WrappedComponent","withSimplePageLayout","useRouteError","isRouteErrorResponse","ErrorPage","graphQLError","trace","stackTrace","stack","descriptions","helpActions","styles","back","noRepairKit","sideMaintenance","main","wide","ExceptionDetails","RepairKitAlert","footerLinks","footerLink","footerLinkText","RepaitKitAlert","MediaSection","codeFragment","GraphQlList","filtered","emptyViewFiltered","listContext","listProps","paginationProps","setSort","prevFiltered","setPrevFiltered","isLoadingOrFiltered","GraphQlListContext","GraphQlListSearchBar","onSearch","listInput","setSearchFilters","currentFilters","ITEMS_PER_PAGE_OPTIONS","useGraphQlList","defaultInput","inputVariables","withNetworkOnlyStrategy","onListInputChange","withPagination","extractList","setFetchPolicy","setListInput","getGraphQlListInputStorageArgs","queryResult","queryData","previousData","handleListInputChange","setPage","setItemsPerPage","pageInfo","setFilters","newListInput","sortInfo","totalRows","DEFAULT_INPUT","ODBC_SERVER_LIST","odbcAddRoute","odbcEditRoute","dsnManager","drivers","ODBC_ADD_PAGE","domainId","odbcId","ODBC_EDIT_PAGE","useGetDomainOverviewRoutePath","HOSTING_SETTINGS_PAGE","withIpAddresses","ROUTE","layoutId","summaryReportLayout","scheduleId","ignoreTopLevelTitle","summaryReportLayouts","defaultId","DOMAIN_PAGE","domainRouteData","baseDomain","baseDomainId","getContextUrl","aspDotNetDomainSettingsRoute","bandwidthLimitingDomainRoute","hotlinkProtectionDomainRoute","odbcDomainRoute","protectedDirectoriesRoute","virtualDirectoryRoute","domainDatabaseRoute","ASP_DOT_NET_DOMAIN_SETTINGS_PAGE","aspDotNet","aspNetSettings","configs","BANDWIDTH_LIMITING_PAGE","domainName","HOTLINK_PROTECTION_PAGE","ODBC_DOMAIN_PAGE","ODBC_DOMAIN_LIST","protectedDirectoryListRoute","protectedDirectoryUserListRoute","PROTECTED_DIRECTORY_LIST","protectedDirectoryAddRoute","protectedDirectoryEditRoute","PROTECTED_DIRECTORY_ADD_PAGE","isProtectedDirectoryLocationSupported","protectedDirectoryId","protectedDirectory","PROTECTED_DIRECTORY_EDIT_PAGE","directoryId","directoryData","PROTECTED_DIRECTORY_PATH","PROTECTED_DIRECTORY_USER_LIST","protectedDirectoryUserAddRoute","protectedDirectoryUserPasswordRoute","userId","virtualDirectorySettingRoutes","directoryName","domainNodeId","editablePath","EDIT_VIRTUAL_DIRECTORY_PAGE","isCurrentDirectory","subscriptionId","isAspEnabled","asp","virtualDirectory","webPath","VIRTUAL_DIRECTORY_PHP_PAGE","managePhpVersion","isVirtual","VIRTUAL_DIRECTORY_PAGE","VirtualDirectorySidebar","VIRTUAL_DIRECTORY_BROWSE_PAGE","VIRTUAL_DIRECTORY_CONTENT_LIST","CREATE_VIRTUAL_DIRECTORY_PAGE","parentPath","parentDirectory","userListKey","VIRTUAL_DIRECTORY_PROTECTION_PAGE","VIRTUAL_DIRECTORY_PROTECTION_USER_LIST","mimeTypeListKey","VIRTUAL_DIRECTORY_MIME_TYPE_LIST","IIS_MANAGER_MIME_CONTENT_TYPES","editPageData","VIRTUAL_DIRECTORY_EDIT_MIME_TYPE_PAGE","mimeType","errorDocListKey","VIRTUAL_DIRECTORY_ERROR_DOC_LIST","VIRTUAL_DIRECTORY_EDIT_ERROR_DOC_PAGE","php","canManagePermissions","isPhpInstalled","urlPrefix","buttonProperties","buttonPermissions","buttonAspDotNet","buttonPhp","SidePanel","ItemList","buildUrl","collapsible","TRAFFIC_USAGE_BY_DOMAIN_PAGE","DOMAIN_TRAFFIC_USAGE","intervals","trafficUsageIntervals","databaseId","trafficUsageByResellerRoute","clientIdParamName","trafficUsageListKey","clientType","intervalsData","TRAFFIC_USAGE_INTERVALS","TOTAL_TRAFFIC_USAGE_BY_VIEWER_CLIENTS","TRAFFIC_USAGE_BY_VIEWER_CLIENTS_LIST","clientTypes","getClientLink","resellerName","clientNodeId","TOTAL_TRAFFIC_USAGE_BY_RESELLER","TRAFFIC_USAGE_BY_RESELLER_CLIENTS_LIST","trafficUsageByCustomerDomainsRoute","trafficUsageByClientDomainsRoute","clientName","customerId","CLIENT_TRAFFIC_USAGE_INTERVALS","TOTAL_TRAFFIC_USAGE_BY_CLIENT_DOMAINS","TRAFFIC_USAGE_BY_CLIENT_DOMAINS_LIST","listQueryParams","trafficUsageByDomains","totalUsageQueryParams","extractTrafficData","totalTrafficUsageByDomains","showFilters","showClientNameColumn","parentClientType","TOTAL_TRAFFIC_USAGE_BY_VIEWER_DOMAINS","TRAFFIC_USAGE_BY_VIEWER_DOMAINS_LIST","jswRedirect","allSettled","homeQueries","HOME_PAGE","block","layoutResponse","TitleAddon","constants","SERVER_INFO_QUERY","UPDATES_QUERY","OVERUSED_SUBSCRIPTIONS_QUERY","MY_SUBSCRIPTIONS_QUERY","EXTENSIONS_QUERY","CHANGE_LOG_QUERY","SERVER_INFO","UPDATES","OVERUSED_SUBSCRIPTIONS","MY_SUBSCRIPTIONS","IP_BAN","BACKUP","EXTENSIONS","MAIL_QUEUE","PROMO","CHANGE_LOG","CUSTOM_BUTTONS","HOME_PAGE_QUERY","home","locked","isEmptyLayout","order","marginInline","systemMessages","manageServerInfo","LoginPage","defaultValues","serverInfo","isFirstLogin","cloudType","loginContentInclude","headContent","bodyContent","LOGIN_PAGE_QUERY","login_name","passwd","locale_id","useInsertionEffect","addedElements","empty","FormFieldText","autoFocus","hideGenerateButton","hidePasswordMeter","howToLoginArticle","cookieSettings","loginFormEntrypointEnabled","RouteLink","withLoginLayout","locales","resolvableHostname","mobileApplicationPromotion","background","LocaleSwitcher","appearance","contentAddon","SuggestResolvableHostname","LoginMobileApplicationPromotion","processFieldMessage","processFieldMessages","findSubFormFields","subFormPrefix","formData","forms","getSubFormPrefixes","formPrefix","embeddedForms","forwardRef","mutation","onFieldChange","onLongTask","embeddedFormsRender","defaultErrors","statusRef","setStatusMessages","formErrors","subFormErrors","setElementValue","getElementsByName","getIn","useImperativeHandle","handleEmbeddedFormValues","scrollIntoView","behavior","handleSubmitSuccess","formState","isApply","forceRedirect","renderEmbeddedForms","BaseForm","setIn","isApolloError","LoginLayout","LayoutBackground","customBackground","color","fit","MOBILE_APPLICATION_PROMOTION_COOKIE_NAME","setIsVisible","handleHide","sortedLocales","GetPasswordPage","resetBy","handleSuccess","indentFields","GET_PASSWORD_PAGE_QUERY","RestorePasswordPage","handleEstimatePassword","mergeMessages","oldMessages","setMessages","sectionName","handleAddedLocaleSection","handleAddedLocaleSections","BaseLocaleProvider","errorInfo","componentDidCatch","margin","whiteSpace","fontFamily","componentStack","app/editlist","app/rating","app/aha","app/eula","app/app-image/gallery","app/backup/list","app/backup/restore","app/backup/upload-files","app/backup/web-content-dynamic","app/database/assign-to-subscription","app/dns-helper","app/dns-helper/dns-settings","app/email-address/aliases-dynamic","app/email-address/client-configuration-link","app/email-address/form-ajax","app/email-address/postbox","app/email-address/responder-attachments-dynamic","app/file-manager/explorer","app/file-manager/file-name-popup-form","app/mail-settings/confirmation-remove-popup-form","app/hosting-settings/conflicts-checker","app/log-browser/browser","app/log-browser/files","app/login/recovery-password","app/newsletter-subscription","app/progress-dialog","app/profile/announcement-settings","app/domain/restriction","app/pum","app/server-mail-antivirus-promo","app/show-output-popup","app/task-progress-bar","app/user/login-string","app/change-customers-owner","app/convert-customers-to-resellers","app/convert-resellers-to-customers","app/service-sidebar","app/ssl-certificate/list","app/app/progress","app/app/installed","app/app/apscatalog","app/web-app-firewall/submit-handler","app/helper/mail-settings-dkim-hint","tags","environment","isDev","integrations","replayIntegration","maskAllText","maskAllInputs","browserTracingIntegration","beforeStartSpan","beforeSend","err","originalException","catchDebugger","anonymousCall","beforeBreadcrumb","withoutGraphQLFetch","breadcrumb","getAll","ignoreErrors","denyUrls","sampleRate","replaysSessionSampleRate","replaysOnErrorSampleRate","tracesSampleRate","getCurrentScope","setUser","setTag","AdminPanel","Smb","common","chk","onReady","UpdateAvailableNotification","buttonNow","buttonShow","linkLater","UpgradeAvailableNotification","BasePanel","descriptionText","PanelItemsGroup","PanelItem","ApsLicense","buy","initForm","onChangeUploadType","ToolButton","ApplicationUpdate","_renderHint","instances","_onInstallEvent","_onChangelogEvent","_onViewMoreEvent","updateApplication","showApplicationChangelog","resourceIds","contentText","jsonResponse","onShow","viewportHeight","popupTop","positionedOffset","syn","go_to","lon","loff","lsubmit","f","lock","getParentNodeByName","nodeName","errorfield","resizeHandler","lines","originalSize","Prototype","appendForgeryProtection","forgeryToken","origSubmit","HTMLFormElement","origOpen","XMLHttpRequest","setRequestHeader","origInitialize","on400","on500","on0","chk_pos_int","pos_int","chk_mn","mail_name","isWin","re","chk_dom","dom_name","chk_ip_address_and_mask","chk_email","found","chk_url","chk_ip_t","ip","chk_mask","ip2long","num","block_to_num","valid","valid_formats","ip_address","ip_mask","chk_uint","uint","createTooltipElement","tooltipMouseMoveObserver","onMouseMove","tooltipMouseOutObserver","onMouseOut","tooltipEventElement","tooltipVisible","showAction","showTimed","tooltipShowTimeout","cancelShowTimed","finishShowTimed","getShowPosition","firstShow","hideAction","__webpack_module_cache__","deferred","leafPrototypes","getProto","inProgress","__webpack_require__","moduleId","cachedModule","__webpack_modules__","O","chunkIds","notFulfilled","Infinity","fulfilled","n","getter","__esModule","getPrototypeOf","obj","t","getOwnPropertyNames","definition","enumerable","chunkId","promises","u","miniCssF","globalThis","prop","l","needAttach","getElementsByTagName","charset","nc","onScriptComplete","doneFns","toStringTag","nmd","S","initPromises","initTokens","I","initScope","initToken","p","compat","localeDependencies","installedChunks","installedChunkData","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}