studiokit-scaffolding-js 7.0.12-next.1.3 → 7.0.12-next.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/ActionList.js +164 -37
- package/lib/components/AlertDialog.js +128 -12
- package/lib/components/AlertWithIcon.js +88 -29
- package/lib/components/ConnectedModal.js +35 -12
- package/lib/components/Dropdowns/GroupsDropdown.js +63 -45
- package/lib/components/Dropdowns/ManagedNavDropdown.js +92 -67
- package/lib/components/Dropdowns/UserDropdown.js +105 -24
- package/lib/components/Dropdowns/index.js +4 -10
- package/lib/components/EntityOwnerList.js +47 -21
- package/lib/components/Error.js +101 -12
- package/lib/components/ErrorBoundary.js +127 -38
- package/lib/components/ErrorMessage.js +39 -12
- package/lib/components/Forms/DateField.js +56 -45
- package/lib/components/Forms/TimeField.js +76 -45
- package/lib/components/Forms/index.js +3 -5
- package/lib/components/Groups/CreateEditCopySaveButtons.js +109 -14
- package/lib/components/Groups/ExternalGroups/Attach.js +206 -151
- package/lib/components/Groups/ExternalGroups/Table.js +176 -48
- package/lib/components/Groups/GroupCreateOrEditCommonProps.js +2 -2
- package/lib/components/Groups/RosterSyncInfo.js +142 -23
- package/lib/components/HOC/AccessibleAppComponent.js +88 -72
- package/lib/components/HOC/ActivityRequiredComponent.js +68 -33
- package/lib/components/HOC/AsyncComponent.js +49 -41
- package/lib/components/HOC/AuthenticatedComponent.js +55 -44
- package/lib/components/HOC/CollectionComponent.js +154 -104
- package/lib/components/HOC/CollectionFirstItemComponent.js +45 -40
- package/lib/components/HOC/CollectionItemComponent.js +152 -100
- package/lib/components/HOC/ConnectedModalComponent.js +87 -69
- package/lib/components/HOC/DataDependentComponent.js +26 -27
- package/lib/components/HOC/EntityComponent.js +57 -53
- package/lib/components/HOC/FullscreenModalComponent.js +139 -108
- package/lib/components/HOC/GroupActivityRequiredComponent.js +27 -20
- package/lib/components/HOC/GuidComponent.js +20 -20
- package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +32 -29
- package/lib/components/HOC/ModelErrorRedirectComponent.js +37 -39
- package/lib/components/HOC/SearchPersistorComponent.js +237 -173
- package/lib/components/HOC/UnauthenticatedComponent.js +32 -30
- package/lib/components/HOC/UserComponent.js +6 -8
- package/lib/components/Icons/IconAlphaList.js +28 -8
- package/lib/components/Icons/IconExternalUser.js +28 -8
- package/lib/components/Icons/IconImpersonation.js +28 -8
- package/lib/components/Icons/IconStopImpersonating.js +28 -8
- package/lib/components/Icons/IconTable.js +29 -9
- package/lib/components/Icons/IconTableDeleteCol.js +28 -8
- package/lib/components/Icons/IconTableDeleteRow.js +28 -8
- package/lib/components/Icons/IconTableInsertCol.js +28 -8
- package/lib/components/Icons/IconTableInsertRow.js +28 -8
- package/lib/components/Impersonation/Button.js +71 -16
- package/lib/components/Impersonation/Link.js +72 -16
- package/lib/components/Impersonation/UserDetail.js +60 -11
- package/lib/components/Loading.js +23 -8
- package/lib/components/LockDownBrowser/Check.js +188 -51
- package/lib/components/LockDownBrowser/ExitButton.js +22 -13
- package/lib/components/LockDownBrowser/Launch.js +64 -64
- package/lib/components/Lti/Confirm.js +147 -14
- package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +165 -36
- package/lib/components/Lti/Launch.js +99 -25
- package/lib/components/Lti/LaunchGroup.js +81 -16
- package/lib/components/ManageTable.js +304 -90
- package/lib/components/ManageTableNoDataComponent.js +38 -7
- package/lib/components/NewVersionAlert.js +76 -49
- package/lib/components/NotFound.js +81 -11
- package/lib/components/Notifications.js +179 -129
- package/lib/components/PaginationNextButton.js +28 -9
- package/lib/components/PaginationPreviousButton.js +28 -9
- package/lib/components/Quill/CustomToolbar.js +427 -222
- package/lib/components/Quill/Formats/Image.js +67 -67
- package/lib/components/Quill/Formats/List.js +38 -47
- package/lib/components/Quill/Formats/Video.js +23 -26
- package/lib/components/Quill/ImageDropModule.js +136 -114
- package/lib/components/Quill/ImageWarning.js +41 -12
- package/lib/components/Quill/ImageWithAltTextModal.js +420 -89
- package/lib/components/Quill/Specs/CustomImageSpec.js +32 -31
- package/lib/components/Quill/Specs/CustomVideoSpec.js +22 -23
- package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +89 -97
- package/lib/components/Quill/TableModule/Blots/TableBlot.js +47 -50
- package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +48 -51
- package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +219 -224
- package/lib/components/Quill/TableModule/Blots/TableContainer.js +75 -86
- package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +70 -73
- package/lib/components/Quill/TableModule/constants.js +40 -42
- package/lib/components/Quill/TableModule/index.js +357 -305
- package/lib/components/Quill/TableModule/utils.js +39 -48
- package/lib/components/Quill/accessibilityFix.js +219 -223
- package/lib/components/Quill/index.js +30 -33
- package/lib/components/RefreshIndicator/Bordered.js +44 -10
- package/lib/components/RefreshIndicator/Inline.js +43 -12
- package/lib/components/RefreshIndicator/index.js +257 -62
- package/lib/components/SearchControls.js +211 -14
- package/lib/components/SentryRoute.js +5 -7
- package/lib/components/Tables/RoleFilter.js +66 -38
- package/lib/components/Tables/TextFilter.js +58 -18
- package/lib/components/UserRoles/Add.js +193 -99
- package/lib/components/UserRoles/Context.js +3 -6
- package/lib/components/UserRoles/RoleCell.js +176 -75
- package/lib/components/UserRoles/Select.js +151 -20
- package/lib/components/UserRoles/Table.js +215 -82
- package/lib/components/UserRoles/index.js +526 -386
- package/lib/config/eslint/index.js +26 -29
- package/lib/config/eslint/lib/order.js +21 -28
- package/lib/config/eslint/lib/prettier.js +15 -19
- package/lib/config/eslint/lib/typescript.js +87 -113
- package/lib/config/eslint/react.js +18 -15
- package/lib/constants/baseActivity.js +26 -28
- package/lib/constants/baseRole.js +10 -12
- package/lib/constants/configuration.js +43 -55
- package/lib/constants/externalProviderType.js +6 -8
- package/lib/constants/fetchErrorData.js +10 -12
- package/lib/constants/index.js +13 -15
- package/lib/constants/lockDownBrowser.js +23 -25
- package/lib/constants/mockData.js +370 -300
- package/lib/constants/modelStatus.js +11 -13
- package/lib/constants/notificationType.js +8 -10
- package/lib/constants/operatingSystem.js +8 -10
- package/lib/constants/shard.js +7 -9
- package/lib/constants/table.js +18 -22
- package/lib/constants/tier.js +8 -10
- package/lib/constants/userRole.js +11 -8
- package/lib/endpointMappings.js +191 -182
- package/lib/hooks/useCollection.js +79 -65
- package/lib/hooks/useCollectionConfiguration.js +220 -80
- package/lib/hooks/useCollectionItem.js +151 -57
- package/lib/hooks/useGuid.js +16 -9
- package/lib/hooks/usePrevious.js +14 -13
- package/lib/index.js +11 -26
- package/lib/redux/actionCreator.js +44 -35
- package/lib/redux/actions/AuthAction.js +45 -32
- package/lib/redux/actions/ModalAction.js +6 -8
- package/lib/redux/actions/ModelAction.js +95 -43
- package/lib/redux/actions/NotificationAction.js +6 -8
- package/lib/redux/actions/SearchAction.js +5 -7
- package/lib/redux/actions/index.js +6 -8
- package/lib/redux/configureReducers.js +48 -46
- package/lib/redux/configureStore.js +77 -91
- package/lib/redux/helpers.js +2 -5
- package/lib/redux/reducers/authReducer.js +44 -43
- package/lib/redux/reducers/index.js +7 -14
- package/lib/redux/reducers/modalsReducer.js +43 -31
- package/lib/redux/reducers/modelsReducer.js +131 -137
- package/lib/redux/reducers/notificationsReducer.js +20 -20
- package/lib/redux/reducers/searchReducer.js +13 -13
- package/lib/redux/sagas/appInsightsSaga.js +19 -21
- package/lib/redux/sagas/authSaga.js +248 -234
- package/lib/redux/sagas/caliperSaga.js +142 -131
- package/lib/redux/sagas/clockOffsetSaga.js +29 -32
- package/lib/redux/sagas/configurationSaga.js +8 -10
- package/lib/redux/sagas/downtimeApiErrorSaga.js +16 -19
- package/lib/redux/sagas/errorSaga.js +23 -24
- package/lib/redux/sagas/googleAnalyticsSaga.js +24 -27
- package/lib/redux/sagas/identityProviderSaga.js +19 -21
- package/lib/redux/sagas/initialDataLoadSaga.js +34 -31
- package/lib/redux/sagas/lockDownBrowserErrorSaga.js +25 -22
- package/lib/redux/sagas/modelFetchSaga.js +302 -286
- package/lib/redux/sagas/noStoreSaga.js +60 -61
- package/lib/redux/sagas/postLoginDataSaga.js +37 -32
- package/lib/redux/sagas/postLoginRedirectSaga.js +22 -27
- package/lib/redux/sagas/rootSaga.js +77 -60
- package/lib/redux/sagas/sentrySaga.js +25 -28
- package/lib/redux/sagas/userIdSaga.js +13 -15
- package/lib/services/codeProviderService.js +21 -21
- package/lib/services/dateService.js +6 -8
- package/lib/services/documentService.js +10 -11
- package/lib/services/fetchService.js +103 -95
- package/lib/services/persistenceService.js +27 -30
- package/lib/services/ticketProviderService.js +25 -25
- package/lib/services/tokenPersistenceService.js +8 -10
- package/lib/services/windowService.js +14 -16
- package/lib/startup.js +110 -101
- package/lib/types/AppConfiguration.js +2 -2
- package/lib/types/Artifact.js +7 -9
- package/lib/types/BaseReduxState.js +2 -2
- package/lib/types/Client.js +2 -2
- package/lib/types/Collection.js +2 -2
- package/lib/types/Configuration.js +2 -2
- package/lib/types/DeepLinkingResponseRequest.js +2 -2
- package/lib/types/DeletableModel.js +2 -2
- package/lib/types/Event.js +2 -2
- package/lib/types/ExternalGroup.js +2 -2
- package/lib/types/ExternalProvider.js +2 -2
- package/lib/types/ExternalTerm.js +2 -2
- package/lib/types/Group.js +2 -2
- package/lib/types/IdentityProvider.js +2 -2
- package/lib/types/LtiLaunch.js +2 -2
- package/lib/types/NameOnlyEntity.js +2 -2
- package/lib/types/Notification.js +2 -2
- package/lib/types/OptionalRecord.js +2 -2
- package/lib/types/OwnerSchedule.js +2 -2
- package/lib/types/PropertyOfType.js +2 -2
- package/lib/types/Quill.js +2 -2
- package/lib/types/RoleDescription.js +2 -2
- package/lib/types/Search.js +2 -2
- package/lib/types/SimpleLocation.js +2 -2
- package/lib/types/UniTime.js +2 -2
- package/lib/types/User.js +2 -2
- package/lib/types/UserRole.js +2 -2
- package/lib/types/auth/AuthState.js +2 -2
- package/lib/types/auth/CasV1LoginRequestBody.js +2 -2
- package/lib/types/auth/ClientCredentials.js +2 -2
- package/lib/types/auth/CodeProviderService.js +2 -2
- package/lib/types/auth/LocalLoginRequestBody.js +2 -2
- package/lib/types/auth/TicketProviderService.js +2 -2
- package/lib/types/auth/TokenPersistenceService.js +2 -2
- package/lib/types/auth/index.js +8 -10
- package/lib/types/externals.d.js +2 -0
- package/lib/types/index.js +29 -31
- package/lib/types/net/EndpointConfig.js +2 -2
- package/lib/types/net/EndpointMapping.js +2 -2
- package/lib/types/net/EndpointMappings.js +2 -2
- package/lib/types/net/ErrorHandler.js +2 -2
- package/lib/types/net/FetchConfig.js +2 -2
- package/lib/types/net/FetchErrorData.js +6 -8
- package/lib/types/net/FetchResult.js +2 -2
- package/lib/types/net/HTTPMethod.js +2 -2
- package/lib/types/net/HTTPStatusCode.js +12 -14
- package/lib/types/net/Metadata.js +2 -2
- package/lib/types/net/Model.js +2 -2
- package/lib/types/net/ModelCollection.js +2 -2
- package/lib/types/net/ModelsState.js +2 -2
- package/lib/types/net/OAuthToken.js +2 -2
- package/lib/types/net/OAuthTokenOrNull.js +2 -2
- package/lib/types/net/TokenAccessFunction.js +2 -2
- package/lib/types/net/index.js +17 -19
- package/lib/utils/baseActivity.js +83 -85
- package/lib/utils/baseRole.js +32 -36
- package/lib/utils/collection.js +403 -297
- package/lib/utils/cookies.js +19 -23
- package/lib/utils/date.js +188 -205
- package/lib/utils/dom.js +130 -131
- package/lib/utils/domainIdentifier.js +4 -8
- package/lib/utils/entityUserRole.js +2 -5
- package/lib/utils/error.js +14 -19
- package/lib/utils/events.js +32 -31
- package/lib/utils/externalGroup.js +20 -25
- package/lib/utils/externalProviders.js +4 -7
- package/lib/utils/externalTerms.js +6 -6
- package/lib/utils/fetch.js +168 -176
- package/lib/utils/group.js +14 -11
- package/lib/utils/groupDates.js +38 -46
- package/lib/utils/groupRoles.js +23 -32
- package/lib/utils/lockDownBrowser.js +12 -15
- package/lib/utils/logger.js +23 -28
- package/lib/utils/lti.js +4 -7
- package/lib/utils/model.js +28 -43
- package/lib/utils/number.js +9 -13
- package/lib/utils/promise.js +23 -26
- package/lib/utils/quill.js +55 -60
- package/lib/utils/route.js +52 -60
- package/lib/utils/search.js +72 -87
- package/lib/utils/shard.js +33 -42
- package/lib/utils/sort.js +47 -50
- package/lib/utils/string.js +10 -12
- package/lib/utils/table.js +29 -33
- package/lib/utils/timezone.js +7 -12
- package/lib/utils/url.js +130 -144
- package/lib/utils/user.js +54 -64
- package/lib/utils/userAgent.js +7 -14
- package/lib/utils/userRole.js +36 -39
- package/package.json +17 -3
|
@@ -1,9 +1,24 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { c as _c } from "react-compiler-runtime";
|
|
2
|
+
import { RefreshIndicator } from './RefreshIndicator';
|
|
3
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
+
export const Loading = props => {
|
|
5
|
+
const $ = _c(2);
|
|
6
|
+
let t0;
|
|
7
|
+
if ($[0] !== props) {
|
|
8
|
+
t0 = /*#__PURE__*/_jsx("div", {
|
|
9
|
+
className: "loading loading-screen",
|
|
10
|
+
children: /*#__PURE__*/_jsx("div", {
|
|
11
|
+
className: "section text-center main-content",
|
|
12
|
+
children: /*#__PURE__*/_jsx(RefreshIndicator, {
|
|
13
|
+
...props
|
|
14
|
+
})
|
|
15
|
+
})
|
|
16
|
+
});
|
|
17
|
+
$[0] = props;
|
|
18
|
+
$[1] = t0;
|
|
19
|
+
} else {
|
|
20
|
+
t0 = $[1];
|
|
21
|
+
}
|
|
22
|
+
return t0;
|
|
8
23
|
};
|
|
9
|
-
|
|
24
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWZyZXNoSW5kaWNhdG9yIiwianN4IiwiX2pzeCIsIkxvYWRpbmciLCJwcm9wcyIsIiQiLCJfYyIsInQwIiwiY2xhc3NOYW1lIiwiY2hpbGRyZW4iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9Mb2FkaW5nLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGdW5jdGlvbkNvbXBvbmVudCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgUmVmcmVzaEluZGljYXRvciwgUmVmcmVzaEluZGljYXRvclByb3BzIH0gZnJvbSAnLi9SZWZyZXNoSW5kaWNhdG9yJ1xuXG5leHBvcnQgY29uc3QgTG9hZGluZzogRnVuY3Rpb25Db21wb25lbnQ8UmVmcmVzaEluZGljYXRvclByb3BzPiA9IHByb3BzID0+IHtcblx0cmV0dXJuIChcblx0XHQ8ZGl2IGNsYXNzTmFtZT1cImxvYWRpbmcgbG9hZGluZy1zY3JlZW5cIj5cblx0XHRcdDxkaXYgY2xhc3NOYW1lPVwic2VjdGlvbiB0ZXh0LWNlbnRlciBtYWluLWNvbnRlbnRcIj5cblx0XHRcdFx0PFJlZnJlc2hJbmRpY2F0b3Igey4uLnByb3BzfSAvPlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdClcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUNBLFNBQVNBLGdCQUFnQixRQUErQixvQkFBb0I7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFFNUUsT0FBTyxNQUFNQyxPQUFpRCxHQUFHQyxLQUFBO0VBQUEsTUFBQUMsQ0FBQSxHQUFBQyxFQUFBO0VBQUEsSUFBQUMsRUFBQTtFQUFBLElBQUFGLENBQUEsUUFBQUQsS0FBQTtJQUUvREcsRUFBQSxnQkFBQUwsSUFBQTtNQUFlTSxTQUF3QixFQUF4Qix3QkFBd0I7TUFBQUMsUUFBQSxlQUN0Q1AsSUFBQTtRQUFlTSxTQUFrQyxFQUFsQyxrQ0FBa0M7UUFBQUMsUUFBQSxlQUNoRFAsSUFBQSxDQUFDRixnQkFBZ0I7VUFBQSxHQUFLSTtRQUFLLENBQUc7TUFBQyxDQUMzQjtJQUFDLENBQ0YsQ0FBQztJQUFBQyxDQUFBLE1BQUFELEtBQUE7SUFBQUMsQ0FBQSxNQUFBRSxFQUFBO0VBQUE7SUFBQUEsRUFBQSxHQUFBRixDQUFBO0VBQUE7RUFBQSxPQUpORSxFQUlNO0FBQUEsQ0FFUCIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,53 +1,190 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
1
|
+
import { c as _c } from "react-compiler-runtime";
|
|
2
|
+
import IconCancel from '@material-ui/icons/Cancel';
|
|
3
|
+
import IconCheckCircle from '@material-ui/icons/CheckCircle';
|
|
4
|
+
import { useEffect, useState } from 'react';
|
|
5
|
+
import { Col, Container, Row } from 'react-bootstrap';
|
|
6
|
+
import { Helmet } from 'react-helmet';
|
|
7
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
8
|
+
import { OPERATING_SYSTEM } from '../../constants/operatingSystem';
|
|
9
|
+
import { dispatchModelFetchRequest } from '../../redux/actionCreator';
|
|
10
|
+
import { noStoreHooks } from '../../redux/sagas/noStoreSaga';
|
|
11
|
+
import { isFetchErrorData } from '../../utils/fetch';
|
|
12
|
+
import { getLockDownBrowserInfo } from '../../utils/lockDownBrowser';
|
|
13
|
+
import { Loading } from '../Loading';
|
|
14
|
+
import { LockDownBrowserExitButton } from './ExitButton';
|
|
15
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
16
|
+
export const LockDownBrowserCheck = () => {
|
|
17
|
+
const $ = _c(18);
|
|
18
|
+
let t0;
|
|
19
|
+
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
20
|
+
t0 = getLockDownBrowserInfo();
|
|
21
|
+
$[0] = t0;
|
|
22
|
+
} else {
|
|
23
|
+
t0 = $[0];
|
|
24
|
+
}
|
|
25
|
+
const lockDownBrowserInfo = t0;
|
|
26
|
+
const platform = lockDownBrowserInfo.buildDateWindows ? OPERATING_SYSTEM.WINDOWS : lockDownBrowserInfo.buildDateMac ? OPERATING_SYSTEM.MAC : lockDownBrowserInfo.buildDateIpad ? OPERATING_SYSTEM.IPAD : undefined;
|
|
27
|
+
const buildDate = lockDownBrowserInfo.buildDateWindows || lockDownBrowserInfo.buildDateMac || lockDownBrowserInfo.buildDateIpad;
|
|
28
|
+
const [hasLoaded, setHasLoaded] = useState(false);
|
|
29
|
+
let t1;
|
|
30
|
+
if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
|
|
31
|
+
t1 = uuidv4();
|
|
32
|
+
$[1] = t1;
|
|
33
|
+
} else {
|
|
34
|
+
t1 = $[1];
|
|
35
|
+
}
|
|
36
|
+
const [hookId] = useState(t1);
|
|
37
|
+
const [testData, setTestData] = useState();
|
|
38
|
+
let t2;
|
|
39
|
+
let t3;
|
|
40
|
+
if ($[2] !== hasLoaded || $[3] !== hookId) {
|
|
41
|
+
t2 = () => {
|
|
42
|
+
if (!hasLoaded) {
|
|
43
|
+
setHasLoaded(true);
|
|
44
|
+
noStoreHooks.registerNoStoreActionHook(hookId, data => {
|
|
45
|
+
noStoreHooks.unregisterNoStoreActionHook(hookId);
|
|
46
|
+
setTestData(data);
|
|
47
|
+
});
|
|
48
|
+
dispatchModelFetchRequest({
|
|
49
|
+
modelName: "lockDownBrowserTest",
|
|
50
|
+
guid: hookId,
|
|
51
|
+
noStore: true
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
t3 = [hasLoaded, hookId];
|
|
56
|
+
$[2] = hasLoaded;
|
|
57
|
+
$[3] = hookId;
|
|
58
|
+
$[4] = t2;
|
|
59
|
+
$[5] = t3;
|
|
60
|
+
} else {
|
|
61
|
+
t2 = $[4];
|
|
62
|
+
t3 = $[5];
|
|
63
|
+
}
|
|
64
|
+
useEffect(t2, t3);
|
|
65
|
+
let t4;
|
|
66
|
+
if ($[6] !== testData) {
|
|
67
|
+
t4 = !!testData && !isFetchErrorData(testData) && testData.isLockDownBrowser;
|
|
68
|
+
$[6] = testData;
|
|
69
|
+
$[7] = t4;
|
|
70
|
+
} else {
|
|
71
|
+
t4 = $[7];
|
|
72
|
+
}
|
|
73
|
+
const isApiLockDownBrowser = t4;
|
|
74
|
+
const isLockDownBrowserReadyToUse = lockDownBrowserInfo.isClientLockDownBrowser && isApiLockDownBrowser;
|
|
75
|
+
let t5;
|
|
76
|
+
if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
|
|
77
|
+
t5 = /*#__PURE__*/_jsx(Helmet, {
|
|
78
|
+
title: "LockDown Browser Check"
|
|
79
|
+
});
|
|
80
|
+
$[8] = t5;
|
|
81
|
+
} else {
|
|
82
|
+
t5 = $[8];
|
|
83
|
+
}
|
|
84
|
+
let t6;
|
|
85
|
+
if ($[9] !== testData) {
|
|
86
|
+
t6 = testData === undefined && /*#__PURE__*/_jsx(Loading, {});
|
|
87
|
+
$[9] = testData;
|
|
88
|
+
$[10] = t6;
|
|
89
|
+
} else {
|
|
90
|
+
t6 = $[10];
|
|
91
|
+
}
|
|
92
|
+
let t7;
|
|
93
|
+
if ($[11] !== isApiLockDownBrowser || $[12] !== isLockDownBrowserReadyToUse || $[13] !== testData) {
|
|
94
|
+
t7 = testData !== undefined && /*#__PURE__*/_jsx(Container, {
|
|
95
|
+
className: "main-content",
|
|
96
|
+
children: /*#__PURE__*/_jsx(Row, {
|
|
97
|
+
children: /*#__PURE__*/_jsxs(Col, {
|
|
98
|
+
xs: 12,
|
|
99
|
+
children: [/*#__PURE__*/_jsx("h1", {
|
|
100
|
+
children: isLockDownBrowserReadyToUse ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
101
|
+
children: [/*#__PURE__*/_jsx(IconCheckCircle, {
|
|
102
|
+
className: "fill-green f1 mr2"
|
|
103
|
+
}), " Success! You are using LockDown Browser."]
|
|
104
|
+
}) : /*#__PURE__*/_jsxs(_Fragment, {
|
|
105
|
+
children: [/*#__PURE__*/_jsx(IconCancel, {
|
|
106
|
+
className: "fill-red f1 mr2"
|
|
107
|
+
}), "Oops! We could not confirm LockDown Browser is being used."]
|
|
108
|
+
})
|
|
109
|
+
}), isLockDownBrowserReadyToUse ? /*#__PURE__*/_jsx("p", {
|
|
110
|
+
children: "You\u2019re all set to use LockDown Browser for your assessments. You can close LockDown Browser when you\u2019re ready."
|
|
111
|
+
}) : /*#__PURE__*/_jsxs("p", {
|
|
112
|
+
children: ["There was an issue detecting LockDown Browser. Please", " ", lockDownBrowserInfo.isClientLockDownBrowser && /*#__PURE__*/_jsx(_Fragment, {
|
|
113
|
+
children: "close the browser and try again, or "
|
|
114
|
+
}), "contact us at ", /*#__PURE__*/_jsx("a", {
|
|
115
|
+
href: "mailto:tlt@purdue.edu",
|
|
116
|
+
children: "tlt@purdue.edu"
|
|
117
|
+
}), " if you continue to have issues."]
|
|
118
|
+
}), /*#__PURE__*/_jsxs("dl", {
|
|
119
|
+
className: "f6",
|
|
120
|
+
children: [/*#__PURE__*/_jsxs("dt", {
|
|
121
|
+
children: [lockDownBrowserInfo.isClientLockDownBrowser ? /*#__PURE__*/_jsx(IconCheckCircle, {
|
|
122
|
+
className: "fill-green f4"
|
|
123
|
+
}) : /*#__PURE__*/_jsx(IconCancel, {
|
|
124
|
+
className: "fill-red f4"
|
|
125
|
+
}), " ", "Client"]
|
|
126
|
+
}), /*#__PURE__*/_jsx("dd", {
|
|
127
|
+
children: lockDownBrowserInfo.isClientLockDownBrowser ? /*#__PURE__*/_jsx(_Fragment, {
|
|
128
|
+
children: "Confirmed"
|
|
129
|
+
}) : /*#__PURE__*/_jsx(_Fragment, {
|
|
130
|
+
children: "Not Detected"
|
|
131
|
+
})
|
|
132
|
+
}), lockDownBrowserInfo.isClientLockDownBrowser && (lockDownBrowserInfo.buildId || platform) && /*#__PURE__*/_jsxs(_Fragment, {
|
|
133
|
+
children: [lockDownBrowserInfo.buildId && /*#__PURE__*/_jsxs(_Fragment, {
|
|
134
|
+
children: [/*#__PURE__*/_jsx("dt", {
|
|
135
|
+
children: "Build Id"
|
|
136
|
+
}), /*#__PURE__*/_jsx("dd", {
|
|
137
|
+
children: lockDownBrowserInfo.buildId
|
|
138
|
+
})]
|
|
139
|
+
}), platform && /*#__PURE__*/_jsxs(_Fragment, {
|
|
140
|
+
children: [/*#__PURE__*/_jsx("dt", {
|
|
141
|
+
children: "Platform"
|
|
142
|
+
}), /*#__PURE__*/_jsx("dd", {
|
|
143
|
+
children: platform
|
|
144
|
+
}), /*#__PURE__*/_jsx("dt", {
|
|
145
|
+
children: "Build Date"
|
|
146
|
+
}), /*#__PURE__*/_jsx("dd", {
|
|
147
|
+
children: buildDate
|
|
148
|
+
})]
|
|
149
|
+
})]
|
|
150
|
+
}), /*#__PURE__*/_jsxs("dt", {
|
|
151
|
+
children: [isApiLockDownBrowser ? /*#__PURE__*/_jsx(IconCheckCircle, {
|
|
152
|
+
className: "fill-green f4"
|
|
153
|
+
}) : /*#__PURE__*/_jsx(IconCancel, {
|
|
154
|
+
className: "fill-red f4"
|
|
155
|
+
}), " ", "Server"]
|
|
156
|
+
}), /*#__PURE__*/_jsx("dd", {
|
|
157
|
+
children: isApiLockDownBrowser ? /*#__PURE__*/_jsx(_Fragment, {
|
|
158
|
+
children: "Confirmed"
|
|
159
|
+
}) : /*#__PURE__*/_jsx(_Fragment, {
|
|
160
|
+
children: "Not Detected"
|
|
161
|
+
})
|
|
162
|
+
})]
|
|
163
|
+
}), lockDownBrowserInfo.isClientLockDownBrowser && /*#__PURE__*/_jsx(LockDownBrowserExitButton, {})]
|
|
164
|
+
})
|
|
165
|
+
})
|
|
166
|
+
});
|
|
167
|
+
$[11] = isApiLockDownBrowser;
|
|
168
|
+
$[12] = isLockDownBrowserReadyToUse;
|
|
169
|
+
$[13] = testData;
|
|
170
|
+
$[14] = t7;
|
|
171
|
+
} else {
|
|
172
|
+
t7 = $[14];
|
|
173
|
+
}
|
|
174
|
+
let t8;
|
|
175
|
+
if ($[15] !== t6 || $[16] !== t7) {
|
|
176
|
+
t8 = /*#__PURE__*/_jsxs(_Fragment, {
|
|
177
|
+
children: [t5, t6, t7]
|
|
178
|
+
});
|
|
179
|
+
$[15] = t6;
|
|
180
|
+
$[16] = t7;
|
|
181
|
+
$[17] = t8;
|
|
182
|
+
} else {
|
|
183
|
+
t8 = $[17];
|
|
184
|
+
}
|
|
185
|
+
return t8;
|
|
50
186
|
};
|
|
51
|
-
|
|
187
|
+
|
|
52
188
|
// required for use in Routes / AsyncComponent
|
|
53
|
-
|
|
189
|
+
export default LockDownBrowserCheck;
|
|
190
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJJY29uQ2FuY2VsIiwiSWNvbkNoZWNrQ2lyY2xlIiwidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJDb2wiLCJDb250YWluZXIiLCJSb3ciLCJIZWxtZXQiLCJ2NCIsInV1aWR2NCIsIk9QRVJBVElOR19TWVNURU0iLCJkaXNwYXRjaE1vZGVsRmV0Y2hSZXF1ZXN0Iiwibm9TdG9yZUhvb2tzIiwiaXNGZXRjaEVycm9yRGF0YSIsImdldExvY2tEb3duQnJvd3NlckluZm8iLCJMb2FkaW5nIiwiTG9ja0Rvd25Ccm93c2VyRXhpdEJ1dHRvbiIsImpzeCIsIl9qc3giLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsImpzeHMiLCJfanN4cyIsIkxvY2tEb3duQnJvd3NlckNoZWNrIiwiJCIsIl9jIiwidDAiLCJTeW1ib2wiLCJmb3IiLCJsb2NrRG93bkJyb3dzZXJJbmZvIiwicGxhdGZvcm0iLCJidWlsZERhdGVXaW5kb3dzIiwiV0lORE9XUyIsImJ1aWxkRGF0ZU1hYyIsIk1BQyIsImJ1aWxkRGF0ZUlwYWQiLCJJUEFEIiwidW5kZWZpbmVkIiwiYnVpbGREYXRlIiwiaGFzTG9hZGVkIiwic2V0SGFzTG9hZGVkIiwidDEiLCJob29rSWQiLCJ0ZXN0RGF0YSIsInNldFRlc3REYXRhIiwidDIiLCJ0MyIsInJlZ2lzdGVyTm9TdG9yZUFjdGlvbkhvb2siLCJkYXRhIiwidW5yZWdpc3Rlck5vU3RvcmVBY3Rpb25Ib29rIiwibW9kZWxOYW1lIiwiZ3VpZCIsIm5vU3RvcmUiLCJ0NCIsImlzTG9ja0Rvd25Ccm93c2VyIiwiaXNBcGlMb2NrRG93bkJyb3dzZXIiLCJpc0xvY2tEb3duQnJvd3NlclJlYWR5VG9Vc2UiLCJpc0NsaWVudExvY2tEb3duQnJvd3NlciIsInQ1IiwidGl0bGUiLCJ0NiIsInQ3IiwiY2xhc3NOYW1lIiwiY2hpbGRyZW4iLCJ4cyIsImhyZWYiLCJidWlsZElkIiwidDgiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Mb2NrRG93bkJyb3dzZXIvQ2hlY2sudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBJY29uQ2FuY2VsIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9DYW5jZWwnXG5pbXBvcnQgSWNvbkNoZWNrQ2lyY2xlIGZyb20gJ0BtYXRlcmlhbC11aS9pY29ucy9DaGVja0NpcmNsZSdcbmltcG9ydCB7IEZ1bmN0aW9uQ29tcG9uZW50LCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBDb2wsIENvbnRhaW5lciwgUm93IH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwJ1xuaW1wb3J0IHsgSGVsbWV0IH0gZnJvbSAncmVhY3QtaGVsbWV0J1xuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSAndXVpZCdcbmltcG9ydCB7IE9QRVJBVElOR19TWVNURU0gfSBmcm9tICcuLi8uLi9jb25zdGFudHMvb3BlcmF0aW5nU3lzdGVtJ1xuaW1wb3J0IHsgZGlzcGF0Y2hNb2RlbEZldGNoUmVxdWVzdCB9IGZyb20gJy4uLy4uL3JlZHV4L2FjdGlvbkNyZWF0b3InXG5pbXBvcnQgeyBub1N0b3JlSG9va3MgfSBmcm9tICcuLi8uLi9yZWR1eC9zYWdhcy9ub1N0b3JlU2FnYSdcbmltcG9ydCB7IEZldGNoRXJyb3JEYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMvbmV0L0ZldGNoRXJyb3JEYXRhJ1xuaW1wb3J0IHsgaXNGZXRjaEVycm9yRGF0YSB9IGZyb20gJy4uLy4uL3V0aWxzL2ZldGNoJ1xuaW1wb3J0IHsgZ2V0TG9ja0Rvd25Ccm93c2VySW5mbyB9IGZyb20gJy4uLy4uL3V0aWxzL2xvY2tEb3duQnJvd3NlcidcbmltcG9ydCB7IExvYWRpbmcgfSBmcm9tICcuLi9Mb2FkaW5nJ1xuaW1wb3J0IHsgTG9ja0Rvd25Ccm93c2VyRXhpdEJ1dHRvbiB9IGZyb20gJy4vRXhpdEJ1dHRvbidcblxuaW50ZXJmYWNlIExvY2tEb3duQnJvd3NlclRlc3REYXRhIHtcblx0aXNMb2NrRG93bkJyb3dzZXI6IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IExvY2tEb3duQnJvd3NlckNoZWNrOiBGdW5jdGlvbkNvbXBvbmVudCA9ICgpID0+IHtcblx0Y29uc3QgbG9ja0Rvd25Ccm93c2VySW5mbyA9IGdldExvY2tEb3duQnJvd3NlckluZm8oKVxuXHRjb25zdCBwbGF0Zm9ybSA9IGxvY2tEb3duQnJvd3NlckluZm8uYnVpbGREYXRlV2luZG93c1xuXHRcdD8gT1BFUkFUSU5HX1NZU1RFTS5XSU5ET1dTXG5cdFx0OiBsb2NrRG93bkJyb3dzZXJJbmZvLmJ1aWxkRGF0ZU1hY1xuXHRcdFx0PyBPUEVSQVRJTkdfU1lTVEVNLk1BQ1xuXHRcdFx0OiBsb2NrRG93bkJyb3dzZXJJbmZvLmJ1aWxkRGF0ZUlwYWRcblx0XHRcdFx0PyBPUEVSQVRJTkdfU1lTVEVNLklQQURcblx0XHRcdFx0OiB1bmRlZmluZWRcblx0Y29uc3QgYnVpbGREYXRlID1cblx0XHRsb2NrRG93bkJyb3dzZXJJbmZvLmJ1aWxkRGF0ZVdpbmRvd3MgfHwgbG9ja0Rvd25Ccm93c2VySW5mby5idWlsZERhdGVNYWMgfHwgbG9ja0Rvd25Ccm93c2VySW5mby5idWlsZERhdGVJcGFkXG5cblx0Y29uc3QgW2hhc0xvYWRlZCwgc2V0SGFzTG9hZGVkXSA9IHVzZVN0YXRlKGZhbHNlKVxuXHRjb25zdCBbaG9va0lkXSA9IHVzZVN0YXRlKHV1aWR2NCgpKVxuXHRjb25zdCBbdGVzdERhdGEsIHNldFRlc3REYXRhXSA9IHVzZVN0YXRlPExvY2tEb3duQnJvd3NlclRlc3REYXRhIHwgRmV0Y2hFcnJvckRhdGEgfCBudWxsPigpXG5cblx0dXNlRWZmZWN0KCgpID0+IHtcblx0XHRpZiAoIWhhc0xvYWRlZCkge1xuXHRcdFx0c2V0SGFzTG9hZGVkKHRydWUpXG5cdFx0XHRub1N0b3JlSG9va3MucmVnaXN0ZXJOb1N0b3JlQWN0aW9uSG9vayhob29rSWQsIChkYXRhOiBMb2NrRG93bkJyb3dzZXJUZXN0RGF0YSB8IEZldGNoRXJyb3JEYXRhIHwgbnVsbCkgPT4ge1xuXHRcdFx0XHRub1N0b3JlSG9va3MudW5yZWdpc3Rlck5vU3RvcmVBY3Rpb25Ib29rKGhvb2tJZClcblx0XHRcdFx0c2V0VGVzdERhdGEoZGF0YSlcblx0XHRcdH0pXG5cdFx0XHRkaXNwYXRjaE1vZGVsRmV0Y2hSZXF1ZXN0KHtcblx0XHRcdFx0bW9kZWxOYW1lOiAnbG9ja0Rvd25Ccm93c2VyVGVzdCcsXG5cdFx0XHRcdGd1aWQ6IGhvb2tJZCxcblx0XHRcdFx0bm9TdG9yZTogdHJ1ZVxuXHRcdFx0fSlcblx0XHR9XG5cdH0sIFtoYXNMb2FkZWQsIGhvb2tJZF0pXG5cblx0Y29uc3QgaXNBcGlMb2NrRG93bkJyb3dzZXIgPSAhIXRlc3REYXRhICYmICFpc0ZldGNoRXJyb3JEYXRhKHRlc3REYXRhKSAmJiB0ZXN0RGF0YS5pc0xvY2tEb3duQnJvd3NlclxuXHRjb25zdCBpc0xvY2tEb3duQnJvd3NlclJlYWR5VG9Vc2UgPSBsb2NrRG93bkJyb3dzZXJJbmZvLmlzQ2xpZW50TG9ja0Rvd25Ccm93c2VyICYmIGlzQXBpTG9ja0Rvd25Ccm93c2VyXG5cblx0cmV0dXJuIChcblx0XHQ8PlxuXHRcdFx0PEhlbG1ldCB0aXRsZT1cIkxvY2tEb3duIEJyb3dzZXIgQ2hlY2tcIiAvPlxuXHRcdFx0e3Rlc3REYXRhID09PSB1bmRlZmluZWQgJiYgPExvYWRpbmcgLz59XG5cdFx0XHR7dGVzdERhdGEgIT09IHVuZGVmaW5lZCAmJiAoXG5cdFx0XHRcdDxDb250YWluZXIgY2xhc3NOYW1lPVwibWFpbi1jb250ZW50XCI+XG5cdFx0XHRcdFx0PFJvdz5cblx0XHRcdFx0XHRcdDxDb2wgeHM9ezEyfT5cblx0XHRcdFx0XHRcdFx0PGgxPlxuXHRcdFx0XHRcdFx0XHRcdHtpc0xvY2tEb3duQnJvd3NlclJlYWR5VG9Vc2UgPyAoXG5cdFx0XHRcdFx0XHRcdFx0XHQ8PlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8SWNvbkNoZWNrQ2lyY2xlIGNsYXNzTmFtZT1cImZpbGwtZ3JlZW4gZjEgbXIyXCIgLz4gU3VjY2VzcyEgWW91IGFyZSB1c2luZ1xuXHRcdFx0XHRcdFx0XHRcdFx0XHRMb2NrRG93biBCcm93c2VyLlxuXHRcdFx0XHRcdFx0XHRcdFx0PC8+XG5cdFx0XHRcdFx0XHRcdFx0KSA6IChcblx0XHRcdFx0XHRcdFx0XHRcdDw+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxJY29uQ2FuY2VsIGNsYXNzTmFtZT1cImZpbGwtcmVkIGYxIG1yMlwiIC8+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdE9vcHMhIFdlIGNvdWxkIG5vdCBjb25maXJtIExvY2tEb3duIEJyb3dzZXIgaXMgYmVpbmcgdXNlZC5cblx0XHRcdFx0XHRcdFx0XHRcdDwvPlxuXHRcdFx0XHRcdFx0XHRcdCl9XG5cdFx0XHRcdFx0XHRcdDwvaDE+XG5cdFx0XHRcdFx0XHRcdHtpc0xvY2tEb3duQnJvd3NlclJlYWR5VG9Vc2UgPyAoXG5cdFx0XHRcdFx0XHRcdFx0PHA+XG5cdFx0XHRcdFx0XHRcdFx0XHRZb3XigJlyZSBhbGwgc2V0IHRvIHVzZSBMb2NrRG93biBCcm93c2VyIGZvciB5b3VyIGFzc2Vzc21lbnRzLiBZb3UgY2FuIGNsb3NlIExvY2tEb3duXG5cdFx0XHRcdFx0XHRcdFx0XHRCcm93c2VyIHdoZW4geW914oCZcmUgcmVhZHkuXG5cdFx0XHRcdFx0XHRcdFx0PC9wPlxuXHRcdFx0XHRcdFx0XHQpIDogKFxuXHRcdFx0XHRcdFx0XHRcdDxwPlxuXHRcdFx0XHRcdFx0XHRcdFx0VGhlcmUgd2FzIGFuIGlzc3VlIGRldGVjdGluZyBMb2NrRG93biBCcm93c2VyLiBQbGVhc2V7JyAnfVxuXHRcdFx0XHRcdFx0XHRcdFx0e2xvY2tEb3duQnJvd3NlckluZm8uaXNDbGllbnRMb2NrRG93bkJyb3dzZXIgJiYgKFxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8PmNsb3NlIHRoZSBicm93c2VyIGFuZCB0cnkgYWdhaW4sIG9yIDwvPlxuXHRcdFx0XHRcdFx0XHRcdFx0KX1cblx0XHRcdFx0XHRcdFx0XHRcdGNvbnRhY3QgdXMgYXQgPGEgaHJlZj1cIm1haWx0bzp0bHRAcHVyZHVlLmVkdVwiPnRsdEBwdXJkdWUuZWR1PC9hPiBpZiB5b3UgY29udGludWUgdG9cblx0XHRcdFx0XHRcdFx0XHRcdGhhdmUgaXNzdWVzLlxuXHRcdFx0XHRcdFx0XHRcdDwvcD5cblx0XHRcdFx0XHRcdFx0KX1cblx0XHRcdFx0XHRcdFx0PGRsIGNsYXNzTmFtZT1cImY2XCI+XG5cdFx0XHRcdFx0XHRcdFx0PGR0PlxuXHRcdFx0XHRcdFx0XHRcdFx0e2xvY2tEb3duQnJvd3NlckluZm8uaXNDbGllbnRMb2NrRG93bkJyb3dzZXIgPyAoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxJY29uQ2hlY2tDaXJjbGUgY2xhc3NOYW1lPVwiZmlsbC1ncmVlbiBmNFwiIC8+XG5cdFx0XHRcdFx0XHRcdFx0XHQpIDogKFxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8SWNvbkNhbmNlbCBjbGFzc05hbWU9XCJmaWxsLXJlZCBmNFwiIC8+XG5cdFx0XHRcdFx0XHRcdFx0XHQpfXsnICd9XG5cdFx0XHRcdFx0XHRcdFx0XHRDbGllbnRcblx0XHRcdFx0XHRcdFx0XHQ8L2R0PlxuXHRcdFx0XHRcdFx0XHRcdDxkZD5cblx0XHRcdFx0XHRcdFx0XHRcdHtsb2NrRG93bkJyb3dzZXJJbmZvLmlzQ2xpZW50TG9ja0Rvd25Ccm93c2VyID8gPD5Db25maXJtZWQ8Lz4gOiA8Pk5vdCBEZXRlY3RlZDwvPn1cblx0XHRcdFx0XHRcdFx0XHQ8L2RkPlxuXHRcdFx0XHRcdFx0XHRcdHtsb2NrRG93bkJyb3dzZXJJbmZvLmlzQ2xpZW50TG9ja0Rvd25Ccm93c2VyICYmXG5cdFx0XHRcdFx0XHRcdFx0XHQobG9ja0Rvd25Ccm93c2VySW5mby5idWlsZElkIHx8IHBsYXRmb3JtKSAmJiAoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDw+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0e2xvY2tEb3duQnJvd3NlckluZm8uYnVpbGRJZCAmJiAoXG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8PlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8ZHQ+QnVpbGQgSWQ8L2R0PlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8ZGQ+e2xvY2tEb3duQnJvd3NlckluZm8uYnVpbGRJZH08L2RkPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PC8+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0KX1cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHR7cGxhdGZvcm0gJiYgKFxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PD5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGR0PlBsYXRmb3JtPC9kdD5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0PGRkPntwbGF0Zm9ybX08L2RkPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8ZHQ+QnVpbGQgRGF0ZTwvZHQ+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdDxkZD57YnVpbGREYXRlfTwvZGQ+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHQ8Lz5cblx0XHRcdFx0XHRcdFx0XHRcdFx0XHQpfVxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8Lz5cblx0XHRcdFx0XHRcdFx0XHRcdCl9XG5cdFx0XHRcdFx0XHRcdFx0PGR0PlxuXHRcdFx0XHRcdFx0XHRcdFx0e2lzQXBpTG9ja0Rvd25Ccm93c2VyID8gKFxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8SWNvbkNoZWNrQ2lyY2xlIGNsYXNzTmFtZT1cImZpbGwtZ3JlZW4gZjRcIiAvPlxuXHRcdFx0XHRcdFx0XHRcdFx0KSA6IChcblx0XHRcdFx0XHRcdFx0XHRcdFx0PEljb25DYW5jZWwgY2xhc3NOYW1lPVwiZmlsbC1yZWQgZjRcIiAvPlxuXHRcdFx0XHRcdFx0XHRcdFx0KX17JyAnfVxuXHRcdFx0XHRcdFx0XHRcdFx0U2VydmVyXG5cdFx0XHRcdFx0XHRcdFx0PC9kdD5cblx0XHRcdFx0XHRcdFx0XHQ8ZGQ+e2lzQXBpTG9ja0Rvd25Ccm93c2VyID8gPD5Db25maXJtZWQ8Lz4gOiA8Pk5vdCBEZXRlY3RlZDwvPn08L2RkPlxuXHRcdFx0XHRcdFx0XHQ8L2RsPlxuXHRcdFx0XHRcdFx0XHR7bG9ja0Rvd25Ccm93c2VySW5mby5pc0NsaWVudExvY2tEb3duQnJvd3NlciAmJiA8TG9ja0Rvd25Ccm93c2VyRXhpdEJ1dHRvbiAvPn1cblx0XHRcdFx0XHRcdDwvQ29sPlxuXHRcdFx0XHRcdDwvUm93PlxuXHRcdFx0XHQ8L0NvbnRhaW5lcj5cblx0XHRcdCl9XG5cdFx0PC8+XG5cdClcbn1cblxuLy8gcmVxdWlyZWQgZm9yIHVzZSBpbiBSb3V0ZXMgLyBBc3luY0NvbXBvbmVudFxuZXhwb3J0IGRlZmF1bHQgTG9ja0Rvd25Ccm93c2VyQ2hlY2tcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLFVBQVUsTUFBTSwyQkFBMkI7QUFDbEQsT0FBT0MsZUFBZSxNQUFNLGdDQUFnQztBQUM1RCxTQUE0QkMsU0FBUyxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUM5RCxTQUFTQyxHQUFHLEVBQUVDLFNBQVMsRUFBRUMsR0FBRyxRQUFRLGlCQUFpQjtBQUNyRCxTQUFTQyxNQUFNLFFBQVEsY0FBYztBQUNyQyxTQUFTQyxFQUFFLElBQUlDLE1BQU0sUUFBUSxNQUFNO0FBQ25DLFNBQVNDLGdCQUFnQixRQUFRLGlDQUFpQztBQUNsRSxTQUFTQyx5QkFBeUIsUUFBUSwyQkFBMkI7QUFDckUsU0FBU0MsWUFBWSxRQUFRLCtCQUErQjtBQUU1RCxTQUFTQyxnQkFBZ0IsUUFBUSxtQkFBbUI7QUFDcEQsU0FBU0Msc0JBQXNCLFFBQVEsNkJBQTZCO0FBQ3BFLFNBQVNDLE9BQU8sUUFBUSxZQUFZO0FBQ3BDLFNBQVNDLHlCQUF5QixRQUFRLGNBQWM7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsUUFBQSxJQUFBQyxTQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQTtBQU14RCxPQUFPLE1BQU1DLG9CQUF1QyxHQUFHQSxDQUFBO0VBQUEsTUFBQUMsQ0FBQSxHQUFBQyxFQUFBO0VBQUEsSUFBQUMsRUFBQTtFQUFBLElBQUFGLENBQUEsUUFBQUcsTUFBQSxDQUFBQyxHQUFBO0lBQzFCRixFQUFBLEdBQUFaLHNCQUFz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
|
|
@@ -1,14 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import { c as _c } from "react-compiler-runtime";
|
|
2
|
+
import Button from '@material-ui/core/Button';
|
|
3
|
+
import { useLocation } from 'react-router';
|
|
4
|
+
import { LOCKDOWN_BROWSER_KEY, LOCKDOWN_BROWSER_TRUE } from '../../constants';
|
|
5
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
6
|
+
export const LockDownBrowserExitButton = () => {
|
|
7
|
+
const $ = _c(2);
|
|
8
|
+
const location = useLocation();
|
|
9
|
+
let t0;
|
|
10
|
+
if ($[0] !== location.pathname) {
|
|
11
|
+
t0 = /*#__PURE__*/_jsx(Button, {
|
|
12
|
+
className: "btn-primary mb4",
|
|
13
|
+
onClick: () => window.location.href = location.pathname + `?${LOCKDOWN_BROWSER_KEY.EXIT_BROWSER}=${LOCKDOWN_BROWSER_TRUE}`,
|
|
14
|
+
children: "Close LockDown Browser"
|
|
15
|
+
});
|
|
16
|
+
$[0] = location.pathname;
|
|
17
|
+
$[1] = t0;
|
|
18
|
+
} else {
|
|
19
|
+
t0 = $[1];
|
|
20
|
+
}
|
|
21
|
+
return t0;
|
|
13
22
|
};
|
|
14
|
-
|
|
23
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCdXR0b24iLCJ1c2VMb2NhdGlvbiIsIkxPQ0tET1dOX0JST1dTRVJfS0VZIiwiTE9DS0RPV05fQlJPV1NFUl9UUlVFIiwianN4IiwiX2pzeCIsIkxvY2tEb3duQnJvd3NlckV4aXRCdXR0b24iLCIkIiwiX2MiLCJsb2NhdGlvbiIsInQwIiwicGF0aG5hbWUiLCJjbGFzc05hbWUiLCJvbkNsaWNrIiwid2luZG93IiwiaHJlZiIsIkVYSVRfQlJPV1NFUiIsImNoaWxkcmVuIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvTG9ja0Rvd25Ccm93c2VyL0V4aXRCdXR0b24udHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCdXR0b24gZnJvbSAnQG1hdGVyaWFsLXVpL2NvcmUvQnV0dG9uJ1xuaW1wb3J0IHsgRnVuY3Rpb25Db21wb25lbnQgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZUxvY2F0aW9uIH0gZnJvbSAncmVhY3Qtcm91dGVyJ1xuaW1wb3J0IHsgTE9DS0RPV05fQlJPV1NFUl9LRVksIExPQ0tET1dOX0JST1dTRVJfVFJVRSB9IGZyb20gJy4uLy4uL2NvbnN0YW50cydcblxuZXhwb3J0IGNvbnN0IExvY2tEb3duQnJvd3NlckV4aXRCdXR0b246IEZ1bmN0aW9uQ29tcG9uZW50ID0gKCkgPT4ge1xuXHRjb25zdCBsb2NhdGlvbiA9IHVzZUxvY2F0aW9uKClcblx0cmV0dXJuIChcblx0XHQ8QnV0dG9uXG5cdFx0XHRjbGFzc05hbWU9XCJidG4tcHJpbWFyeSBtYjRcIlxuXHRcdFx0b25DbGljaz17KCkgPT5cblx0XHRcdFx0KHdpbmRvdy5sb2NhdGlvbi5ocmVmID1cblx0XHRcdFx0XHRsb2NhdGlvbi5wYXRobmFtZSArIGA/JHtMT0NLRE9XTl9CUk9XU0VSX0tFWS5FWElUX0JST1dTRVJ9PSR7TE9DS0RPV05fQlJPV1NFUl9UUlVFfWApXG5cdFx0XHR9PlxuXHRcdFx0Q2xvc2UgTG9ja0Rvd24gQnJvd3NlclxuXHRcdDwvQnV0dG9uPlxuXHQpXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxNQUFNLE1BQU0sMEJBQTBCO0FBRTdDLFNBQVNDLFdBQVcsUUFBUSxjQUFjO0FBQzFDLFNBQVNDLG9CQUFvQixFQUFFQyxxQkFBcUIsUUFBUSxpQkFBaUI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFFN0UsT0FBTyxNQUFNQyx5QkFBNEMsR0FBR0EsQ0FBQTtFQUFBLE1BQUFDLENBQUEsR0FBQUMsRUFBQTtFQUMzRCxNQUFBQyxRQUFBLEdBQWlCUixXQUFXLENBQUMsQ0FBQztFQUFBLElBQUFTLEVBQUE7RUFBQSxJQUFBSCxDQUFBLFFBQUFFLFFBQUEsQ0FBQUUsUUFBQTtJQUU3QkQsRUFBQSxnQkFBQUwsSUFBQSxDQUFDTCxNQUFNO01BQ0lZLFNBQWlCLEVBQWpCLGlCQUFpQjtNQUNsQkMsT0FFOEUsRUFGOUVBLENBQUEsS0FDUEMsTUFBTSxDQUFBTCxRQUFTLENBQUFNLElBQUEsR0FDZk4sUUFBUSxDQUFBRSxRQUFTLEdBQUcsSUFBSVQsb0JBQW9CLENBQUFjLFlBQWEsSUFBSWIscUJBQXFCLEVBQUc7TUFBQWMsUUFBQSxFQUNyRjtJQUVILENBQVEsQ0FBQztJQUFBVixDQUFBLE1BQUFFLFFBQUEsQ0FBQUUsUUFBQTtJQUFBSixDQUFBLE1BQUFHLEVBQUE7RUFBQTtJQUFBQSxFQUFBLEdBQUFILENBQUE7RUFBQTtFQUFBLE9BUFRHLEVBT1M7QUFBQSxDQUVWIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,66 +1,66 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
//
|
|
23
|
-
(
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(react_helmet_1.Helmet, { title: "LockDown Browser Launch" }), (0, jsx_runtime_1.jsx)(Loading_1.Loading, {})] }));
|
|
1
|
+
import * as Sentry from '@sentry/react';
|
|
2
|
+
import { parse, stringify } from 'query-string';
|
|
3
|
+
import { useEffect } from 'react';
|
|
4
|
+
import { Helmet } from 'react-helmet';
|
|
5
|
+
import { useHistory, useLocation } from 'react-router';
|
|
6
|
+
import { LOCKDOWN_BROWSER_LAUNCH_ERROR } from '../../constants';
|
|
7
|
+
import { getLockDownBrowserInfo } from '../../utils/lockDownBrowser';
|
|
8
|
+
import { parseLocation } from '../../utils/url';
|
|
9
|
+
import { Loading } from '../Loading';
|
|
10
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
export const LockDownBrowserLaunch = () => {
|
|
12
|
+
const history = useHistory();
|
|
13
|
+
const location = useLocation();
|
|
14
|
+
const search = parse(location.search);
|
|
15
|
+
const redirectPath = search.redirectPath;
|
|
16
|
+
let reloadCount = search.reloadCount && typeof search.reloadCount === 'string' ? parseInt(search.reloadCount) : 0;
|
|
17
|
+
|
|
18
|
+
// this effect will run once after this component renders
|
|
19
|
+
// allow LockDown Browser to set its cookies
|
|
20
|
+
useEffect(() => {
|
|
21
|
+
const lockDownBrowserInfo = getLockDownBrowserInfo();
|
|
22
|
+
// redirect path is required and must be a single string
|
|
23
|
+
if (!redirectPath || typeof redirectPath !== 'string') {
|
|
24
|
+
Sentry.captureException('redirectPath is undefined');
|
|
25
|
+
history.push({
|
|
26
|
+
pathname: '/error',
|
|
27
|
+
search: stringify({
|
|
28
|
+
message: LOCKDOWN_BROWSER_LAUNCH_ERROR
|
|
29
|
+
})
|
|
30
|
+
});
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
// if LDB cookies are set, redirect to the final path
|
|
34
|
+
if (lockDownBrowserInfo.isClientLockDownBrowser) {
|
|
35
|
+
const redirectPathLocation = parseLocation(redirectPath);
|
|
36
|
+
history.push(redirectPathLocation);
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
// increment reloadCount and reload the current url fully (not using in-app router)
|
|
40
|
+
// try 3 times before going to the error route
|
|
41
|
+
if (reloadCount < 2) {
|
|
42
|
+
Sentry.captureMessage('could not determine if client is LockDown Browser, reloading');
|
|
43
|
+
reloadCount++;
|
|
44
|
+
search.reloadCount = reloadCount.toString();
|
|
45
|
+
window.location.href = window.location.protocol + '//' + window.location.host + window.location.pathname + '?' + stringify(search);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
Sentry.captureException('client is not LockDown Browser');
|
|
49
|
+
history.push({
|
|
50
|
+
pathname: '/error',
|
|
51
|
+
search: stringify({
|
|
52
|
+
message: LOCKDOWN_BROWSER_LAUNCH_ERROR
|
|
53
|
+
})
|
|
54
|
+
});
|
|
55
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
56
|
+
}, []);
|
|
57
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
58
|
+
children: [/*#__PURE__*/_jsx(Helmet, {
|
|
59
|
+
title: "LockDown Browser Launch"
|
|
60
|
+
}), /*#__PURE__*/_jsx(Loading, {})]
|
|
61
|
+
});
|
|
63
62
|
};
|
|
64
|
-
|
|
63
|
+
|
|
65
64
|
// required for use in Routes / AsyncComponent
|
|
66
|
-
|
|
65
|
+
export default LockDownBrowserLaunch;
|
|
66
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTZW50cnkiLCJwYXJzZSIsInN0cmluZ2lmeSIsInVzZUVmZmVjdCIsIkhlbG1ldCIsInVzZUhpc3RvcnkiLCJ1c2VMb2NhdGlvbiIsIkxPQ0tET1dOX0JST1dTRVJfTEFVTkNIX0VSUk9SIiwiZ2V0TG9ja0Rvd25Ccm93c2VySW5mbyIsInBhcnNlTG9jYXRpb24iLCJMb2FkaW5nIiwianN4IiwiX2pzeCIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwianN4cyIsIl9qc3hzIiwiTG9ja0Rvd25Ccm93c2VyTGF1bmNoIiwiaGlzdG9yeSIsImxvY2F0aW9uIiwic2VhcmNoIiwicmVkaXJlY3RQYXRoIiwicmVsb2FkQ291bnQiLCJwYXJzZUludCIsImxvY2tEb3duQnJvd3NlckluZm8iLCJjYXB0dXJlRXhjZXB0aW9uIiwicHVzaCIsInBhdGhuYW1lIiwibWVzc2FnZSIsImlzQ2xpZW50TG9ja0Rvd25Ccm93c2VyIiwicmVkaXJlY3RQYXRoTG9jYXRpb24iLCJjYXB0dXJlTWVzc2FnZSIsInRvU3RyaW5nIiwid2luZG93IiwiaHJlZiIsInByb3RvY29sIiwiaG9zdCIsImNoaWxkcmVuIiwidGl0bGUiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9Mb2NrRG93bkJyb3dzZXIvTGF1bmNoLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBTZW50cnkgZnJvbSAnQHNlbnRyeS9yZWFjdCdcbmltcG9ydCB7IHBhcnNlLCBzdHJpbmdpZnkgfSBmcm9tICdxdWVyeS1zdHJpbmcnXG5pbXBvcnQgeyBGdW5jdGlvbkNvbXBvbmVudCwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBIZWxtZXQgfSBmcm9tICdyZWFjdC1oZWxtZXQnXG5pbXBvcnQgeyB1c2VIaXN0b3J5LCB1c2VMb2NhdGlvbiB9IGZyb20gJ3JlYWN0LXJvdXRlcidcbmltcG9ydCB7IExPQ0tET1dOX0JST1dTRVJfTEFVTkNIX0VSUk9SIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJ1xuaW1wb3J0IHsgZ2V0TG9ja0Rvd25Ccm93c2VySW5mbyB9IGZyb20gJy4uLy4uL3V0aWxzL2xvY2tEb3duQnJvd3NlcidcbmltcG9ydCB7IHBhcnNlTG9jYXRpb24gfSBmcm9tICcuLi8uLi91dGlscy91cmwnXG5pbXBvcnQgeyBMb2FkaW5nIH0gZnJvbSAnLi4vTG9hZGluZydcblxuZXhwb3J0IGNvbnN0IExvY2tEb3duQnJvd3NlckxhdW5jaDogRnVuY3Rpb25Db21wb25lbnQgPSAoKSA9PiB7XG5cdGNvbnN0IGhpc3RvcnkgPSB1c2VIaXN0b3J5KClcblx0Y29uc3QgbG9jYXRpb24gPSB1c2VMb2NhdGlvbigpXG5cdGNvbnN0IHNlYXJjaCA9IHBhcnNlKGxvY2F0aW9uLnNlYXJjaClcblx0Y29uc3QgcmVkaXJlY3RQYXRoID0gc2VhcmNoLnJlZGlyZWN0UGF0aFxuXHRsZXQgcmVsb2FkQ291bnQgPSBzZWFyY2gucmVsb2FkQ291bnQgJiYgdHlwZW9mIHNlYXJjaC5yZWxvYWRDb3VudCA9PT0gJ3N0cmluZycgPyBwYXJzZUludChzZWFyY2gucmVsb2FkQ291bnQpIDogMFxuXG5cdC8vIHRoaXMgZWZmZWN0IHdpbGwgcnVuIG9uY2UgYWZ0ZXIgdGhpcyBjb21wb25lbnQgcmVuZGVyc1xuXHQvLyBhbGxvdyBMb2NrRG93biBCcm93c2VyIHRvIHNldCBpdHMgY29va2llc1xuXHR1c2VFZmZlY3QoKCkgPT4ge1xuXHRcdGNvbnN0IGxvY2tEb3duQnJvd3NlckluZm8gPSBnZXRMb2NrRG93bkJyb3dzZXJJbmZvKClcblx0XHQvLyByZWRpcmVjdCBwYXRoIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGEgc2luZ2xlIHN0cmluZ1xuXHRcdGlmICghcmVkaXJlY3RQYXRoIHx8IHR5cGVvZiByZWRpcmVjdFBhdGggIT09ICdzdHJpbmcnKSB7XG5cdFx0XHRTZW50cnkuY2FwdHVyZUV4Y2VwdGlvbigncmVkaXJlY3RQYXRoIGlzIHVuZGVmaW5lZCcpXG5cdFx0XHRoaXN0b3J5LnB1c2goe1xuXHRcdFx0XHRwYXRobmFtZTogJy9lcnJvcicsXG5cdFx0XHRcdHNlYXJjaDogc3RyaW5naWZ5KHsgbWVzc2FnZTogTE9DS0RPV05fQlJPV1NFUl9MQVVOQ0hfRVJST1IgfSlcblx0XHRcdH0pXG5cdFx0XHRyZXR1cm5cblx0XHR9XG5cdFx0Ly8gaWYgTERCIGNvb2tpZXMgYXJlIHNldCwgcmVkaXJlY3QgdG8gdGhlIGZpbmFsIHBhdGhcblx0XHRpZiAobG9ja0Rvd25Ccm93c2VySW5mby5pc0NsaWVudExvY2tEb3duQnJvd3Nlcikge1xuXHRcdFx0Y29uc3QgcmVkaXJlY3RQYXRoTG9jYXRpb24gPSBwYXJzZUxvY2F0aW9uKHJlZGlyZWN0UGF0aClcblx0XHRcdGhpc3RvcnkucHVzaChyZWRpcmVjdFBhdGhMb2NhdGlvbilcblx0XHRcdHJldHVyblxuXHRcdH1cblx0XHQvLyBpbmNyZW1lbnQgcmVsb2FkQ291bnQgYW5kIHJlbG9hZCB0aGUgY3VycmVudCB1cmwgZnVsbHkgKG5vdCB1c2luZyBpbi1hcHAgcm91dGVyKVxuXHRcdC8vIHRyeSAzIHRpbWVzIGJlZm9yZSBnb2luZyB0byB0aGUgZXJyb3Igcm91dGVcblx0XHRpZiAocmVsb2FkQ291bnQgPCAyKSB7XG5cdFx0XHRTZW50cnkuY2FwdHVyZU1lc3NhZ2UoJ2NvdWxkIG5vdCBkZXRlcm1pbmUgaWYgY2xpZW50IGlzIExvY2tEb3duIEJyb3dzZXIsIHJlbG9hZGluZycpXG5cdFx0XHRyZWxvYWRDb3VudCsrXG5cdFx0XHRzZWFyY2gucmVsb2FkQ291bnQgPSByZWxvYWRDb3VudC50b1N0cmluZygpXG5cdFx0XHR3aW5kb3cubG9jYXRpb24uaHJlZiA9XG5cdFx0XHRcdHdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCArXG5cdFx0XHRcdCcvLycgK1xuXHRcdFx0XHR3aW5kb3cubG9jYXRpb24uaG9zdCArXG5cdFx0XHRcdHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSArXG5cdFx0XHRcdCc/JyArXG5cdFx0XHRcdHN0cmluZ2lmeShzZWFyY2gpXG5cdFx0XHRyZXR1cm5cblx0XHR9XG5cdFx0U2VudHJ5LmNhcHR1cmVFeGNlcHRpb24oJ2NsaWVudCBpcyBub3QgTG9ja0Rvd24gQnJvd3NlcicpXG5cdFx0aGlzdG9yeS5wdXNoKHtcblx0XHRcdHBhdGhuYW1lOiAnL2Vycm9yJyxcblx0XHRcdHNlYXJjaDogc3RyaW5naWZ5KHsgbWVzc2FnZTogTE9DS0RPV05fQlJPV1NFUl9MQVVOQ0hfRVJST1IgfSlcblx0XHR9KVxuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcblx0fSwgW10pXG5cblx0cmV0dXJuIChcblx0XHQ8PlxuXHRcdFx0PEhlbG1ldCB0aXRsZT1cIkxvY2tEb3duIEJyb3dzZXIgTGF1bmNoXCIgLz5cblx0XHRcdDxMb2FkaW5nIC8+XG5cdFx0PC8+XG5cdClcbn1cblxuLy8gcmVxdWlyZWQgZm9yIHVzZSBpbiBSb3V0ZXMgLyBBc3luY0NvbXBvbmVudFxuZXhwb3J0IGRlZmF1bHQgTG9ja0Rvd25Ccm93c2VyTGF1bmNoXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBS0EsTUFBTSxNQUFNLGVBQWU7QUFDdkMsU0FBU0MsS0FBSyxFQUFFQyxTQUFTLFFBQVEsY0FBYztBQUMvQyxTQUE0QkMsU0FBUyxRQUFRLE9BQU87QUFDcEQsU0FBU0MsTUFBTSxRQUFRLGNBQWM7QUFDckMsU0FBU0MsVUFBVSxFQUFFQyxXQUFXLFFBQVEsY0FBYztBQUN0RCxTQUFTQyw2QkFBNkIsUUFBUSxpQkFBaUI7QUFDL0QsU0FBU0Msc0JBQXNCLFFBQVEsNkJBQTZCO0FBQ3BFLFNBQVNDLGFBQWEsUUFBUSxpQkFBaUI7QUFDL0MsU0FBU0MsT0FBTyxRQUFRLFlBQVk7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsUUFBQSxJQUFBQyxTQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQTtBQUVwQyxPQUFPLE1BQU1DLHFCQUF3QyxHQUFHQSxDQUFBLEtBQU07RUFDN0QsTUFBTUMsT0FBTyxHQUFHYixVQUFVLENBQUMsQ0FBQztFQUM1QixNQUFNYyxRQUFRLEdBQUdiLFdBQVcsQ0FBQyxDQUFDO0VBQzlCLE1BQU1jLE1BQU0sR0FBR25CLEtBQUssQ0FBQ2tCLFFBQVEsQ0FBQ0MsTUFBTSxDQUFDO0VBQ3JDLE1BQU1DLFlBQVksR0FBR0QsTUFBTSxDQUFDQyxZQUFZO0VBQ3hDLElBQUlDLFdBQVcsR0FBR0YsTUFBTSxDQUFDRSxXQUFXLElBQUksT0FBT0YsTUFBTSxDQUFDRSxXQUFXLEtBQUssUUFBUSxHQUFHQyxRQUFRLENBQUNILE1BQU0sQ0FBQ0UsV0FBVyxDQUFDLEdBQUcsQ0FBQzs7RUFFakg7RUFDQTtFQUNBbkIsU0FBUyxDQUFDLE1BQU07SUFDZixNQUFNcUIsbUJBQW1CLEdBQUdoQixzQkFBc0IsQ0FBQyxDQUFDO0lBQ3BEO0lBQ0EsSUFBSSxDQUFDYSxZQUFZLElBQUksT0FBT0EsWUFBWSxLQUFLLFFBQVEsRUFBRTtNQUN0RHJCLE1BQU0sQ0FBQ3lCLGdCQUFnQixDQUFDLDJCQUEyQixDQUFDO01BQ3BEUCxPQUFPLENBQUNRLElBQUksQ0FBQztRQUNaQyxRQUFRLEVBQUUsUUFBUTtRQUNsQlAsTUFBTSxFQUFFbEIsU0FBUyxDQUFDO1VBQUUwQixPQUFPLEVBQUVyQjtRQUE4QixDQUFDO01BQzdELENBQUMsQ0FBQztNQUNGO0lBQ0Q7SUFDQTtJQUNBLElBQUlpQixtQkFBbUIsQ0FBQ0ssdUJBQXVCLEVBQUU7TUFDaEQsTUFBTUMsb0JBQW9CLEdBQUdyQixhQUFhLENBQUNZLFlBQVksQ0FBQztNQUN4REgsT0FBTyxDQUFDUSxJQUFJLENBQUNJLG9CQUFvQixDQUFDO01BQ2xDO0lBQ0Q7SUFDQTtJQUNBO0lBQ0EsSUFBSVIsV0FBVyxHQUFHLENBQUMsRUFBRTtNQUNwQnRCLE1BQU0sQ0FBQytCLGNBQWMsQ0FBQyw4REFBOEQsQ0FBQztNQUNyRlQsV0FBVyxFQUFFO01BQ2JGLE1BQU0sQ0FBQ0UsV0FBVyxHQUFHQSxXQUFXLENBQUNVLFFBQVEsQ0FBQyxDQUFDO01BQzNDQyxNQUFNLENBQUNkLFFBQVEsQ0FBQ2UsSUFBSSxHQUNuQkQsTUFBTSxDQUFDZCxRQUFRLENBQUNnQixRQUFRLEdBQ3hCLElBQUksR0FDSkYsTUFBTSxDQUFDZCxRQUFRLENBQUNpQixJQUFJLEdBQ3BCSCxNQUFNLENBQUNkLFFBQVEsQ0FBQ1EsUUFBUSxHQUN4QixHQUFHLEdBQ0h6QixTQUFTLENBQUNrQixNQUFNLENBQUM7TUFDbEI7SUFDRDtJQUNBcEIsTUFBTSxDQUFDeUIsZ0JBQWdCLENBQUMsZ0NBQWdDLENBQUM7SUFDekRQLE9BQU8sQ0FBQ1EsSUFBSSxDQUFDO01BQ1pDLFFBQVEsRUFBRSxRQUFRO01BQ2xCUCxNQUFNLEVBQUVsQixTQUFTLENBQUM7UUFBRTBCLE9BQU8sRUFBRXJCO01BQThCLENBQUM7SUFDN0QsQ0FBQyxDQUFDO0lBQ0Y7RUFDRCxDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sb0JBQ0NTLEtBQUEsQ0FBQUYsU0FBQTtJQUFBdUIsUUFBQSxnQkFDQ3pCLElBQUEsQ0FBQ1IsTUFBTTtNQUFDa0MsS0FBSyxFQUFDO0lBQXlCLENBQUUsQ0FBQyxlQUMxQzFCLElBQUEsQ0FBQ0YsT0FBTyxJQUFFLENBQUM7RUFBQSxDQUNWLENBQUM7QUFFTCxDQUFDOztBQUVEO0FBQ0EsZUFBZU8scUJBQXFCIiwiaWdub3JlTGlzdCI6W119
|