payload 3.0.0-alpha.2 → 3.0.0-alpha.21
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/auth.js +5 -44
- package/bin.js +40 -1
- package/components.d.ts +14 -0
- package/components.js +71 -0
- package/config.js +10 -59
- package/database.js +21 -108
- package/dist/admin/RichText.js +2 -5
- package/dist/admin/elements/Cell.js +2 -5
- package/dist/admin/elements/DatePicker.js +2 -5
- package/dist/admin/elements/PreviewButton.js +2 -5
- package/dist/admin/elements/PublishButton.js +2 -5
- package/dist/admin/elements/SaveButton.js +2 -5
- package/dist/admin/elements/SaveDraftButton.js +2 -5
- package/dist/admin/elements/Tab.js +2 -5
- package/dist/admin/forms/Error.js +2 -5
- package/dist/admin/forms/FieldDescription.js +2 -5
- package/dist/admin/forms/FieldTypes.js +2 -5
- package/dist/admin/forms/Form.d.ts +22 -0
- package/dist/admin/forms/Form.d.ts.map +1 -1
- package/dist/admin/forms/Form.js +2 -5
- package/dist/admin/forms/Label.js +2 -5
- package/dist/admin/forms/RowLabel.js +2 -5
- package/dist/admin/types.d.ts +2 -1
- package/dist/admin/types.d.ts.map +1 -1
- package/dist/admin/types.js +2 -5
- package/dist/admin/views/types.d.ts +41 -0
- package/dist/admin/views/types.d.ts.map +1 -0
- package/dist/admin/views/types.js +3 -0
- package/dist/assets/assets.d.js +0 -1
- package/dist/auth/baseFields/accountLock.js +2 -12
- package/dist/auth/baseFields/apiKey.js +6 -21
- package/dist/auth/baseFields/auth.js +6 -16
- package/dist/auth/baseFields/verification.js +4 -14
- package/dist/auth/cookies.js +6 -33
- package/dist/auth/crypto.js +7 -30
- package/dist/auth/defaultAccess.js +2 -12
- package/dist/auth/defaultUser.js +4 -14
- package/dist/auth/executeAccess.js +5 -15
- package/dist/auth/extractJWT.js +4 -14
- package/dist/auth/getAccessResults.js +5 -15
- package/dist/auth/getAuthenticatedUser.js +2 -12
- package/dist/auth/getFieldsToSign.js +5 -15
- package/dist/auth/index.js +4 -27
- package/dist/auth/isLocked.js +2 -12
- package/dist/auth/operations/access.js +12 -22
- package/dist/auth/operations/forgotPassword.js +17 -32
- package/dist/auth/operations/init.js +2 -12
- package/dist/auth/operations/local/forgotPassword.js +8 -18
- package/dist/auth/operations/local/index.js +12 -27
- package/dist/auth/operations/local/login.js +8 -18
- package/dist/auth/operations/local/resetPassword.js +8 -18
- package/dist/auth/operations/local/unlock.js +8 -18
- package/dist/auth/operations/local/verifyEmail.js +8 -18
- package/dist/auth/operations/login.js +32 -47
- package/dist/auth/operations/logout.js +6 -21
- package/dist/auth/operations/me.js +4 -19
- package/dist/auth/operations/refresh.js +19 -34
- package/dist/auth/operations/registerFirstUser.js +10 -20
- package/dist/auth/operations/resetPassword.js +20 -43
- package/dist/auth/operations/unlock.js +16 -39
- package/dist/auth/operations/verifyEmail.js +14 -37
- package/dist/auth/sendVerificationEmail.js +4 -14
- package/dist/auth/strategies/apiKey.js +4 -19
- package/dist/auth/strategies/jwt.js +6 -21
- package/dist/auth/strategies/local/authenticate.js +6 -21
- package/dist/auth/strategies/local/generatePasswordSaltHash.js +7 -22
- package/dist/auth/strategies/local/incrementLoginAttempts.js +2 -12
- package/dist/auth/strategies/local/register.js +6 -16
- package/dist/auth/strategies/local/resetLoginAttempts.js +2 -12
- package/dist/auth/types.js +2 -12
- package/dist/bin/generateTypes.js +12 -27
- package/dist/bin/index.js +11 -53
- package/dist/bin/loadEnv.js +13 -26
- package/dist/bin/migrate.js +15 -30
- package/dist/bundlers/mocks/db-mongodb.js +0 -1
- package/dist/bundlers/mocks/db-postgres.js +2 -12
- package/dist/bundlers/mocks/dotENV.js +2 -12
- package/dist/bundlers/mocks/emptyModule.js +2 -12
- package/dist/bundlers/mocks/fileMock.js +2 -12
- package/dist/bundlers/types.js +2 -5
- package/dist/collections/config/build.js +2 -12
- package/dist/collections/config/defaults.js +9 -32
- package/dist/collections/config/sanitize.js +34 -49
- package/dist/collections/config/schema.js +157 -172
- package/dist/collections/config/types.d.ts +5 -5
- package/dist/collections/config/types.d.ts.map +1 -1
- package/dist/collections/config/types.js +2 -5
- package/dist/collections/dataloader.js +8 -23
- package/dist/collections/operations/create.js +38 -53
- package/dist/collections/operations/delete.js +27 -42
- package/dist/collections/operations/deleteByID.js +27 -42
- package/dist/collections/operations/docAccess.js +10 -20
- package/dist/collections/operations/find.js +25 -40
- package/dist/collections/operations/findByID.js +21 -36
- package/dist/collections/operations/findVersionByID.js +19 -34
- package/dist/collections/operations/findVersions.js +20 -35
- package/dist/collections/operations/local/create.js +10 -25
- package/dist/collections/operations/local/delete.js +10 -20
- package/dist/collections/operations/local/find.js +8 -18
- package/dist/collections/operations/local/findByID.js +8 -18
- package/dist/collections/operations/local/findVersionByID.js +8 -18
- package/dist/collections/operations/local/findVersions.js +8 -18
- package/dist/collections/operations/local/index.js +20 -35
- package/dist/collections/operations/local/restoreVersion.js +8 -18
- package/dist/collections/operations/local/update.js +12 -27
- package/dist/collections/operations/restoreVersion.js +26 -41
- package/dist/collections/operations/update.js +43 -58
- package/dist/collections/operations/updateByID.js +44 -59
- package/dist/collections/operations/utils.js +3 -12
- package/dist/config/build.js +9 -15
- package/dist/config/clientFiles.js +2 -12
- package/dist/config/createClientConfig.d.ts.map +1 -1
- package/dist/config/createClientConfig.js +12 -25
- package/dist/config/defaults.js +4 -19
- package/dist/config/find.js +18 -33
- package/dist/config/load.d.ts +1 -3
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +8 -37
- package/dist/config/sanitize.js +25 -40
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +116 -133
- package/dist/config/shared/adminViewSchema.js +9 -24
- package/dist/config/shared/componentSchema.js +21 -50
- package/dist/config/types.d.ts +12 -21
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +9 -21
- package/dist/config/validate.js +15 -71
- package/dist/database/combineQueries.js +4 -14
- package/dist/database/createDatabaseAdapter.js +14 -24
- package/dist/database/flattenWhereToOperators.js +2 -12
- package/dist/database/getLocalizedPaths.js +7 -22
- package/dist/database/migrations/createMigration.js +7 -22
- package/dist/database/migrations/getMigrations.js +4 -12
- package/dist/database/migrations/migrate.js +12 -22
- package/dist/database/migrations/migrateDown.js +12 -22
- package/dist/database/migrations/migrateRefresh.js +16 -24
- package/dist/database/migrations/migrateReset.js +12 -22
- package/dist/database/migrations/migrateStatus.js +8 -18
- package/dist/database/migrations/migrationTemplate.js +2 -12
- package/dist/database/migrations/migrationsCollection.js +2 -12
- package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
- package/dist/database/migrations/readMigrationFiles.js +12 -24
- package/dist/database/queryValidation/types.js +2 -5
- package/dist/database/queryValidation/validateQueryPaths.js +13 -28
- package/dist/database/queryValidation/validateSearchParams.js +13 -21
- package/dist/database/types.d.ts +5 -2
- package/dist/database/types.d.ts.map +1 -1
- package/dist/database/types.js +2 -5
- package/dist/email/build.js +11 -26
- package/dist/email/defaults.js +2 -12
- package/dist/email/mockHandler.js +8 -23
- package/dist/email/sendEmail.js +2 -12
- package/dist/email/types.js +2 -5
- package/dist/errors/APIError.js +4 -19
- package/dist/errors/AuthenticationError.js +7 -22
- package/dist/errors/DuplicateCollection.js +4 -19
- package/dist/errors/DuplicateFieldName.js +4 -19
- package/dist/errors/DuplicateGlobal.js +4 -19
- package/dist/errors/ErrorDeletingFile.js +7 -22
- package/dist/errors/FileUploadError.js +7 -22
- package/dist/errors/Forbidden.js +7 -22
- package/dist/errors/InvalidConfiguration.js +6 -21
- package/dist/errors/InvalidFieldName.js +4 -19
- package/dist/errors/InvalidFieldRelationship.js +4 -19
- package/dist/errors/InvalidSchema.js +6 -21
- package/dist/errors/LockedAuth.js +7 -22
- package/dist/errors/MissingCollectionLabel.js +4 -19
- package/dist/errors/MissingFieldInputOptions.js +4 -19
- package/dist/errors/MissingFieldType.js +6 -21
- package/dist/errors/MissingFile.js +7 -22
- package/dist/errors/NotFound.js +7 -22
- package/dist/errors/QueryError.js +6 -21
- package/dist/errors/TimestampsRequired.js +4 -19
- package/dist/errors/UnathorizedError.js +7 -22
- package/dist/errors/ValidationError.js +8 -23
- package/dist/errors/index.js +20 -94
- package/dist/errors/types.js +2 -19
- package/dist/exports/auth.js +5 -44
- package/dist/exports/components/utilities.d.ts +0 -1
- package/dist/exports/components/utilities.js +0 -1
- package/dist/exports/config.js +10 -59
- package/dist/exports/database.js +21 -108
- package/dist/exports/errors.js +2 -68
- package/dist/exports/fields/index.js +3 -26
- package/dist/exports/fields/validations.js +2 -19
- package/dist/exports/operations.js +29 -125
- package/dist/exports/types.js +4 -74
- package/dist/exports/utilities.js +28 -141
- package/dist/exports/versions.js +9 -45
- package/dist/express/middleware/errorHandler.d.ts +0 -1
- package/dist/express/middleware/errorHandler.js +0 -1
- package/dist/express/middleware/index.d.ts +0 -1
- package/dist/express/middleware/index.js +0 -1
- package/dist/fields/baseFields/baseBlockFields.js +4 -14
- package/dist/fields/baseFields/baseIDField.js +4 -19
- package/dist/fields/config/sanitize.js +24 -39
- package/dist/fields/config/sanitize.spec.js +25 -29
- package/dist/fields/config/schema.js +329 -424
- package/dist/fields/config/types.js +15 -69
- package/dist/fields/getDefaultValue.js +2 -12
- package/dist/fields/hooks/afterChange/index.js +6 -16
- package/dist/fields/hooks/afterChange/promise.js +14 -22
- package/dist/fields/hooks/afterChange/traverseFields.js +4 -14
- package/dist/fields/hooks/afterRead/index.js +6 -16
- package/dist/fields/hooks/afterRead/promise.js +28 -36
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +5 -15
- package/dist/fields/hooks/afterRead/traverseFields.js +4 -14
- package/dist/fields/hooks/beforeChange/cloneDataFromOriginalDoc.js +2 -12
- package/dist/fields/hooks/beforeChange/getExistingRowDoc.js +2 -12
- package/dist/fields/hooks/beforeChange/index.js +8 -18
- package/dist/fields/hooks/beforeChange/promise.js +26 -35
- package/dist/fields/hooks/beforeChange/traverseFields.js +4 -14
- package/dist/fields/hooks/beforeValidate/index.js +6 -16
- package/dist/fields/hooks/beforeValidate/promise.js +30 -39
- package/dist/fields/hooks/beforeValidate/traverseFields.js +4 -14
- package/dist/fields/mergeBaseFields.js +8 -23
- package/dist/fields/sortableFieldTypes.js +2 -12
- package/dist/fields/validations.js +31 -97
- package/dist/fields/validations.spec.js +93 -87
- package/dist/globals/config/build.d.ts +0 -1
- package/dist/globals/config/build.js +0 -1
- package/dist/globals/config/sanitize.js +17 -32
- package/dist/globals/config/schema.js +55 -70
- package/dist/globals/config/types.d.ts +5 -5
- package/dist/globals/config/types.d.ts.map +1 -1
- package/dist/globals/config/types.js +2 -5
- package/dist/globals/graphql/resolvers/docAccess.d.ts +0 -1
- package/dist/globals/graphql/resolvers/docAccess.js +0 -1
- package/dist/globals/operations/docAccess.js +10 -20
- package/dist/globals/operations/findOne.js +14 -29
- package/dist/globals/operations/findVersionByID.js +18 -33
- package/dist/globals/operations/findVersions.js +20 -35
- package/dist/globals/operations/local/findOne.js +8 -18
- package/dist/globals/operations/local/findVersionByID.js +8 -18
- package/dist/globals/operations/local/findVersions.js +8 -18
- package/dist/globals/operations/local/index.js +12 -27
- package/dist/globals/operations/local/restoreVersion.js +8 -18
- package/dist/globals/operations/local/update.js +8 -18
- package/dist/globals/operations/restoreVersion.js +16 -31
- package/dist/globals/operations/update.js +23 -38
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +50 -70
- package/dist/localization/middleware.js +2 -12
- package/dist/localization/sanitizeFallbackLocale.js +2 -12
- package/dist/preferences/deleteUserPreferences.js +2 -12
- package/dist/preferences/operations/delete.js +10 -25
- package/dist/preferences/operations/findOne.js +2 -12
- package/dist/preferences/operations/update.js +8 -23
- package/dist/preferences/preferencesCollection.js +8 -18
- package/dist/preferences/requestHandlers/delete.js +6 -21
- package/dist/preferences/requestHandlers/findOne.js +6 -21
- package/dist/preferences/requestHandlers/update.js +6 -21
- package/dist/preferences/types.js +2 -5
- package/dist/translations/extractTranslations.js +4 -14
- package/dist/translations/getLocalI18n.js +5 -15
- package/dist/types/constants.js +2 -12
- package/dist/types/index.js +2 -12
- package/dist/uploads/canResizeImage.js +2 -12
- package/dist/uploads/cropImage.d.ts +3 -7
- package/dist/uploads/cropImage.d.ts.map +1 -1
- package/dist/uploads/cropImage.js +4 -28
- package/dist/uploads/deleteAssociatedFiles.js +11 -26
- package/dist/uploads/docWithFilenameExists.js +2 -12
- package/dist/uploads/fileExists.js +4 -19
- package/dist/uploads/formatFilesize.js +2 -12
- package/dist/uploads/generateFileData.d.ts.map +1 -1
- package/dist/uploads/generateFileData.js +40 -53
- package/dist/uploads/getBaseFields.js +6 -16
- package/dist/uploads/getExternalFile.js +5 -15
- package/dist/uploads/getFileByPath.js +10 -25
- package/dist/uploads/getImageSize.js +7 -22
- package/dist/uploads/getSafeFilename.js +8 -23
- package/dist/uploads/imageResizer.d.ts +3 -1
- package/dist/uploads/imageResizer.d.ts.map +1 -1
- package/dist/uploads/imageResizer.js +28 -44
- package/dist/uploads/isImage.js +2 -12
- package/dist/uploads/mimeTypeValidator.js +2 -12
- package/dist/uploads/mimeTypeValidator.spec.js +11 -15
- package/dist/uploads/saveBufferToFile.js +6 -21
- package/dist/uploads/types.d.ts +7 -1
- package/dist/uploads/types.d.ts.map +1 -1
- package/dist/uploads/types.js +2 -5
- package/dist/uploads/unlinkTempFiles.js +9 -22
- package/dist/uploads/uploadFiles.js +6 -21
- package/dist/utilities/checkDuplicateCollections.js +4 -14
- package/dist/utilities/combineMerge.js +4 -19
- package/dist/utilities/commitTransaction.js +4 -12
- package/dist/utilities/configToJSONSchema.js +22 -41
- package/dist/utilities/configToJSONSchema.spec.js +5 -9
- package/dist/utilities/convertData.js +3 -23
- package/dist/utilities/createArrayFromCommaDelineated.js +2 -12
- package/dist/utilities/createLocalReq.js +6 -16
- package/dist/utilities/deepCopyObject.js +2 -12
- package/dist/utilities/deepMerge.js +2 -12
- package/dist/utilities/fieldSchemaToJSON.js +2 -12
- package/dist/utilities/flattenTopLevelFields.js +6 -16
- package/dist/utilities/formatLabels.js +9 -70
- package/dist/utilities/formatLabels.spec.js +8 -12
- package/dist/utilities/getCSSVariable.js +2 -12
- package/dist/utilities/getEntityPolicies.js +4 -14
- package/dist/utilities/getIDType.js +2 -12
- package/dist/utilities/getObjectDotNotation.js +2 -12
- package/dist/utilities/getUniqueListBy.js +2 -12
- package/dist/utilities/initTransaction.js +5 -12
- package/dist/utilities/isEntityHidden.js +2 -12
- package/dist/utilities/isNumber.js +2 -12
- package/dist/utilities/isValidID.js +5 -20
- package/dist/utilities/isolateObjectProperty.js +2 -12
- package/dist/utilities/killTransaction.js +4 -12
- package/dist/utilities/logger.d.ts.map +1 -1
- package/dist/utilities/logger.js +16 -37
- package/dist/utilities/mapAsync.js +2 -12
- package/dist/utilities/overwriteMerge.js +2 -12
- package/dist/utilities/parseCookies.js +4 -14
- package/dist/utilities/pinoPretty.d.ts +1 -0
- package/dist/utilities/pinoPretty.d.ts.map +1 -0
- package/dist/utilities/pinoPretty.js +2 -0
- package/dist/utilities/sanitizeInternalFields.js +2 -12
- package/dist/utilities/setsAreEqual.js +2 -12
- package/dist/utilities/telemetry/events/adminInit.js +7 -17
- package/dist/utilities/telemetry/events/serverInit.js +4 -14
- package/dist/utilities/telemetry/index.js +17 -40
- package/dist/utilities/telemetry/oneWayHash.js +4 -14
- package/dist/utilities/timestamp.js +2 -12
- package/dist/utilities/toKebabCase.js +2 -12
- package/dist/utilities/wait.js +2 -12
- package/dist/utilities/wordBoundariesRegex.js +3 -13
- package/dist/versions/baseFields.js +5 -23
- package/dist/versions/buildCollectionFields.js +2 -12
- package/dist/versions/buildGlobalFields.js +2 -12
- package/dist/versions/deleteCollectionVersions.js +2 -12
- package/dist/versions/drafts/appendVersionToQueryKey.js +2 -12
- package/dist/versions/drafts/getQueryDraftsSort.js +2 -12
- package/dist/versions/drafts/replaceWithDraftIfAvailable.js +12 -27
- package/dist/versions/enforceMaxVersions.js +2 -12
- package/dist/versions/getLatestCollectionVersion.js +4 -14
- package/dist/versions/getLatestGlobalVersion.js +4 -14
- package/dist/versions/getVersionsModelName.js +2 -12
- package/dist/versions/saveVersion.js +8 -23
- package/dist/versions/types.js +2 -5
- package/errors.js +2 -68
- package/graphql.d.ts +3 -0
- package/graphql.js +27 -0
- package/operations.js +29 -125
- package/package.json +17 -5
- package/types.js +4 -74
- package/utilities.js +28 -141
- package/versions.js +9 -45
package/dist/index.js
CHANGED
|
@@ -1,41 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return _default;
|
|
17
|
-
},
|
|
18
|
-
getPayload: function() {
|
|
19
|
-
return getPayload;
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
const _crypto = /*#__PURE__*/ _interop_require_default(require("crypto"));
|
|
23
|
-
const _crypto1 = require("./auth/crypto");
|
|
24
|
-
const _apiKey = require("./auth/strategies/apiKey");
|
|
25
|
-
const _jwt = require("./auth/strategies/jwt");
|
|
26
|
-
const _local = /*#__PURE__*/ _interop_require_default(require("./collections/operations/local"));
|
|
27
|
-
const _build = /*#__PURE__*/ _interop_require_default(require("./email/build"));
|
|
28
|
-
const _defaults = require("./email/defaults");
|
|
29
|
-
const _sendEmail = /*#__PURE__*/ _interop_require_default(require("./email/sendEmail"));
|
|
30
|
-
const _local1 = /*#__PURE__*/ _interop_require_default(require("./globals/operations/local"));
|
|
31
|
-
const _logger = /*#__PURE__*/ _interop_require_default(require("./utilities/logger"));
|
|
32
|
-
const _serverInit = require("./utilities/telemetry/events/serverInit");
|
|
33
|
-
function _interop_require_default(obj) {
|
|
34
|
-
return obj && obj.__esModule ? obj : {
|
|
35
|
-
default: obj
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
class BasePayload {
|
|
1
|
+
import crypto from 'crypto';
|
|
2
|
+
import { decrypt, encrypt } from './auth/crypto';
|
|
3
|
+
import { APIKeyAuthentication } from './auth/strategies/apiKey';
|
|
4
|
+
import { JWTAuthentication } from './auth/strategies/jwt';
|
|
5
|
+
import localOperations from './collections/operations/local';
|
|
6
|
+
import validate from './config/validate';
|
|
7
|
+
import buildEmail from './email/build';
|
|
8
|
+
import { defaults as emailDefaults } from './email/defaults';
|
|
9
|
+
import sendEmail from './email/sendEmail';
|
|
10
|
+
import localGlobalOperations from './globals/operations/local';
|
|
11
|
+
import Logger from './utilities/logger';
|
|
12
|
+
import { serverInit as serverInitTelemetry } from './utilities/telemetry/events/serverInit';
|
|
13
|
+
/**
|
|
14
|
+
* @description Payload
|
|
15
|
+
*/ export class BasePayload {
|
|
39
16
|
authStrategies;
|
|
40
17
|
collections = {};
|
|
41
18
|
config;
|
|
@@ -44,14 +21,14 @@ class BasePayload {
|
|
|
44
21
|
* @param options
|
|
45
22
|
* @returns created document
|
|
46
23
|
*/ create = async (options)=>{
|
|
47
|
-
const { create } =
|
|
24
|
+
const { create } = localOperations;
|
|
48
25
|
return create(this, options);
|
|
49
26
|
};
|
|
50
27
|
db;
|
|
51
|
-
decrypt =
|
|
28
|
+
decrypt = decrypt;
|
|
52
29
|
email;
|
|
53
30
|
emailOptions;
|
|
54
|
-
encrypt =
|
|
31
|
+
encrypt = encrypt;
|
|
55
32
|
// TODO: re-implement or remove?
|
|
56
33
|
// errorHandler: ErrorHandler
|
|
57
34
|
extensions;
|
|
@@ -60,15 +37,15 @@ class BasePayload {
|
|
|
60
37
|
* @param options
|
|
61
38
|
* @returns documents satisfying query
|
|
62
39
|
*/ find = async (options)=>{
|
|
63
|
-
const { find } =
|
|
40
|
+
const { find } = localOperations;
|
|
64
41
|
return find(this, options);
|
|
65
42
|
};
|
|
66
43
|
findByID = async (options)=>{
|
|
67
|
-
const { findByID } =
|
|
44
|
+
const { findByID } = localOperations;
|
|
68
45
|
return findByID(this, options);
|
|
69
46
|
};
|
|
70
47
|
findGlobal = async (options)=>{
|
|
71
|
-
const { findOne } =
|
|
48
|
+
const { findOne } = localGlobalOperations;
|
|
72
49
|
return findOne(this, options);
|
|
73
50
|
};
|
|
74
51
|
/**
|
|
@@ -76,7 +53,7 @@ class BasePayload {
|
|
|
76
53
|
* @param options
|
|
77
54
|
* @returns global version with specified ID
|
|
78
55
|
*/ findGlobalVersionByID = async (options)=>{
|
|
79
|
-
const { findVersionByID } =
|
|
56
|
+
const { findVersionByID } = localGlobalOperations;
|
|
80
57
|
return findVersionByID(this, options);
|
|
81
58
|
};
|
|
82
59
|
/**
|
|
@@ -84,7 +61,7 @@ class BasePayload {
|
|
|
84
61
|
* @param options
|
|
85
62
|
* @returns versions satisfying query
|
|
86
63
|
*/ findGlobalVersions = async (options)=>{
|
|
87
|
-
const { findVersions } =
|
|
64
|
+
const { findVersions } = localGlobalOperations;
|
|
88
65
|
return findVersions(this, options);
|
|
89
66
|
};
|
|
90
67
|
/**
|
|
@@ -92,7 +69,7 @@ class BasePayload {
|
|
|
92
69
|
* @param options
|
|
93
70
|
* @returns version with specified ID
|
|
94
71
|
*/ findVersionByID = async (options)=>{
|
|
95
|
-
const { findVersionByID } =
|
|
72
|
+
const { findVersionByID } = localOperations;
|
|
96
73
|
return findVersionByID(this, options);
|
|
97
74
|
};
|
|
98
75
|
/**
|
|
@@ -100,11 +77,11 @@ class BasePayload {
|
|
|
100
77
|
* @param options
|
|
101
78
|
* @returns versions satisfying query
|
|
102
79
|
*/ findVersions = async (options)=>{
|
|
103
|
-
const { findVersions } =
|
|
80
|
+
const { findVersions } = localOperations;
|
|
104
81
|
return findVersions(this, options);
|
|
105
82
|
};
|
|
106
83
|
forgotPassword = async (options)=>{
|
|
107
|
-
const { forgotPassword } =
|
|
84
|
+
const { forgotPassword } = localOperations.auth;
|
|
108
85
|
return forgotPassword(this, options);
|
|
109
86
|
};
|
|
110
87
|
getAPIURL = ()=>`${this.config.serverURL}${this.config.routes.api}`;
|
|
@@ -112,7 +89,7 @@ class BasePayload {
|
|
|
112
89
|
globals;
|
|
113
90
|
logger;
|
|
114
91
|
login = async (options)=>{
|
|
115
|
-
const { login } =
|
|
92
|
+
const { login } = localOperations.auth;
|
|
116
93
|
return login(this, options);
|
|
117
94
|
};
|
|
118
95
|
/**
|
|
@@ -120,7 +97,7 @@ class BasePayload {
|
|
|
120
97
|
* @param options
|
|
121
98
|
* @returns document with specified ID
|
|
122
99
|
*/ resetPassword = async (options)=>{
|
|
123
|
-
const { resetPassword } =
|
|
100
|
+
const { resetPassword } = localOperations.auth;
|
|
124
101
|
return resetPassword(this, options);
|
|
125
102
|
};
|
|
126
103
|
/**
|
|
@@ -128,7 +105,7 @@ class BasePayload {
|
|
|
128
105
|
* @param options
|
|
129
106
|
* @returns version with specified ID
|
|
130
107
|
*/ restoreGlobalVersion = async (options)=>{
|
|
131
|
-
const { restoreVersion } =
|
|
108
|
+
const { restoreVersion } = localGlobalOperations;
|
|
132
109
|
return restoreVersion(this, options);
|
|
133
110
|
};
|
|
134
111
|
/**
|
|
@@ -136,7 +113,7 @@ class BasePayload {
|
|
|
136
113
|
* @param options
|
|
137
114
|
* @returns version with specified ID
|
|
138
115
|
*/ restoreVersion = async (options)=>{
|
|
139
|
-
const { restoreVersion } =
|
|
116
|
+
const { restoreVersion } = localOperations;
|
|
140
117
|
return restoreVersion(this, options);
|
|
141
118
|
};
|
|
142
119
|
schema;
|
|
@@ -144,21 +121,21 @@ class BasePayload {
|
|
|
144
121
|
sendEmail;
|
|
145
122
|
types;
|
|
146
123
|
unlock = async (options)=>{
|
|
147
|
-
const { unlock } =
|
|
124
|
+
const { unlock } = localOperations.auth;
|
|
148
125
|
return unlock(this, options);
|
|
149
126
|
};
|
|
150
127
|
updateGlobal = async (options)=>{
|
|
151
|
-
const { update } =
|
|
128
|
+
const { update } = localGlobalOperations;
|
|
152
129
|
return update(this, options);
|
|
153
130
|
};
|
|
154
131
|
validationRules;
|
|
155
132
|
verifyEmail = async (options)=>{
|
|
156
|
-
const { verifyEmail } =
|
|
133
|
+
const { verifyEmail } = localOperations.auth;
|
|
157
134
|
return verifyEmail(this, options);
|
|
158
135
|
};
|
|
159
136
|
versions = {};
|
|
160
137
|
delete(options) {
|
|
161
|
-
const { deleteLocal } =
|
|
138
|
+
const { deleteLocal } = localOperations;
|
|
162
139
|
return deleteLocal(this, options);
|
|
163
140
|
}
|
|
164
141
|
/**
|
|
@@ -166,12 +143,15 @@ class BasePayload {
|
|
|
166
143
|
* @param options
|
|
167
144
|
*/ // @ts-expect-error // TODO: TypeScript hallucinating again. fix later
|
|
168
145
|
async init(options) {
|
|
169
|
-
this.logger = (
|
|
146
|
+
this.logger = Logger('payload', options.loggerOptions, options.loggerDestination);
|
|
170
147
|
this.config = await options.config;
|
|
148
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
149
|
+
await validate(this.config, this.logger);
|
|
150
|
+
}
|
|
171
151
|
if (!this.config.secret) {
|
|
172
152
|
throw new Error('Error: missing secret key. A secret key is needed to secure Payload.');
|
|
173
153
|
}
|
|
174
|
-
this.secret =
|
|
154
|
+
this.secret = crypto.createHash('sha256').update(this.config.secret).digest('hex').slice(0, 32);
|
|
175
155
|
this.globals = {
|
|
176
156
|
config: this.config.globals
|
|
177
157
|
};
|
|
@@ -188,7 +168,7 @@ class BasePayload {
|
|
|
188
168
|
await this.db.init(this);
|
|
189
169
|
}
|
|
190
170
|
if (!options.disableDBConnect && this.db.connect) {
|
|
191
|
-
await this.db.connect(
|
|
171
|
+
await this.db.connect();
|
|
192
172
|
}
|
|
193
173
|
this.logger.info('Starting Payload...');
|
|
194
174
|
// Configure email service
|
|
@@ -198,10 +178,10 @@ class BasePayload {
|
|
|
198
178
|
if (options.email && this.config.email) {
|
|
199
179
|
this.logger.warn('Email options provided in both init options and config. Using init options.');
|
|
200
180
|
}
|
|
201
|
-
this.emailOptions = emailOptions ??
|
|
202
|
-
this.email = (
|
|
203
|
-
this.sendEmail =
|
|
204
|
-
(
|
|
181
|
+
this.emailOptions = emailOptions ?? emailDefaults;
|
|
182
|
+
this.email = buildEmail(this.emailOptions, this.logger);
|
|
183
|
+
this.sendEmail = sendEmail.bind(this);
|
|
184
|
+
serverInitTelemetry(this);
|
|
205
185
|
// 1. loop over collections, if collection has auth strategy, initialize and push to array
|
|
206
186
|
let jwtStrategyEnabled = false;
|
|
207
187
|
this.authStrategies = this.config.collections.reduce((authStrategies, collection)=>{
|
|
@@ -213,7 +193,7 @@ class BasePayload {
|
|
|
213
193
|
if (collection.auth?.useAPIKey) {
|
|
214
194
|
authStrategies.push({
|
|
215
195
|
name: `${collection.slug}-api-key`,
|
|
216
|
-
authenticate:
|
|
196
|
+
authenticate: APIKeyAuthentication(collection)
|
|
217
197
|
});
|
|
218
198
|
}
|
|
219
199
|
// 3. if localStrategy flag is true
|
|
@@ -227,7 +207,7 @@ class BasePayload {
|
|
|
227
207
|
if (jwtStrategyEnabled) {
|
|
228
208
|
this.authStrategies.push({
|
|
229
209
|
name: 'local-jwt',
|
|
230
|
-
authenticate:
|
|
210
|
+
authenticate: JWTAuthentication
|
|
231
211
|
});
|
|
232
212
|
}
|
|
233
213
|
if (!options.disableOnInit) {
|
|
@@ -237,12 +217,12 @@ class BasePayload {
|
|
|
237
217
|
return this;
|
|
238
218
|
}
|
|
239
219
|
update(options) {
|
|
240
|
-
const { update } =
|
|
220
|
+
const { update } = localOperations;
|
|
241
221
|
return update(this, options);
|
|
242
222
|
}
|
|
243
223
|
}
|
|
244
224
|
const initialized = new BasePayload();
|
|
245
|
-
|
|
225
|
+
export default initialized;
|
|
246
226
|
let cached = global._payload;
|
|
247
227
|
if (!cached) {
|
|
248
228
|
// eslint-disable-next-line no-multi-assign
|
|
@@ -251,7 +231,7 @@ if (!cached) {
|
|
|
251
231
|
promise: null
|
|
252
232
|
};
|
|
253
233
|
}
|
|
254
|
-
const getPayload = async (options)=>{
|
|
234
|
+
export const getPayload = async (options)=>{
|
|
255
235
|
if (cached.payload) {
|
|
256
236
|
return cached.payload;
|
|
257
237
|
}
|
|
@@ -267,4 +247,4 @@ const getPayload = async (options)=>{
|
|
|
267
247
|
return cached.payload;
|
|
268
248
|
};
|
|
269
249
|
|
|
270
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEV4ZWN1dGlvblJlc3VsdCwgR3JhcGhRTFNjaGVtYSwgVmFsaWRhdGlvblJ1bGUgfSBmcm9tICdncmFwaHFsJ1xuaW1wb3J0IHR5cGUgeyBPcGVyYXRpb25BcmdzLCBSZXF1ZXN0IGFzIGdyYXBoUUxSZXF1ZXN0IH0gZnJvbSAnZ3JhcGhxbC1odHRwJ1xuaW1wb3J0IHR5cGUgeyBTZW5kTWFpbE9wdGlvbnMgfSBmcm9tICdub2RlbWFpbGVyJ1xuaW1wb3J0IHR5cGUgcGlubyBmcm9tICdwaW5vJ1xuXG5pbXBvcnQgY3J5cHRvIGZyb20gJ2NyeXB0bydcblxuaW1wb3J0IHR5cGUgeyBBdXRoU3RyYXRlZ3kgfSBmcm9tICcuL2F1dGgnXG5pbXBvcnQgdHlwZSB7IFJlc3VsdCBhcyBGb3Jnb3RQYXNzd29yZFJlc3VsdCB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2ZvcmdvdFBhc3N3b3JkJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZvcmdvdFBhc3N3b3JkT3B0aW9ucyB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2xvY2FsL2ZvcmdvdFBhc3N3b3JkJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIExvZ2luT3B0aW9ucyB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2xvY2FsL2xvZ2luJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIFJlc2V0UGFzc3dvcmRPcHRpb25zIH0gZnJvbSAnLi9hdXRoL29wZXJhdGlvbnMvbG9jYWwvcmVzZXRQYXNzd29yZCdcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBVbmxvY2tPcHRpb25zIH0gZnJvbSAnLi9hdXRoL29wZXJhdGlvbnMvbG9jYWwvdW5sb2NrJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIFZlcmlmeUVtYWlsT3B0aW9ucyB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2xvY2FsL3ZlcmlmeUVtYWlsJ1xuaW1wb3J0IHR5cGUgeyBSZXN1bHQgYXMgTG9naW5SZXN1bHQgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9sb2dpbidcbmltcG9ydCB0eXBlIHsgUmVzdWx0IGFzIFJlc2V0UGFzc3dvcmRSZXN1bHQgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9yZXNldFBhc3N3b3JkJ1xuaW1wb3J0IHR5cGUgeyBCdWxrT3BlcmF0aW9uUmVzdWx0LCBDb2xsZWN0aW9uLCBUeXBlV2l0aElEIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgQ3JlYXRlT3B0aW9ucyB9IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC9jcmVhdGUnXG5pbXBvcnQgdHlwZSB7XG4gIEJ5SURPcHRpb25zIGFzIERlbGV0ZUJ5SURPcHRpb25zLFxuICBNYW55T3B0aW9ucyBhcyBEZWxldGVNYW55T3B0aW9ucyxcbiAgT3B0aW9ucyBhcyBEZWxldGVPcHRpb25zLFxufSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvZGVsZXRlJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRPcHRpb25zIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2xvY2FsL2ZpbmQnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgRmluZEJ5SURPcHRpb25zIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2xvY2FsL2ZpbmRCeUlEJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRWZXJzaW9uQnlJRE9wdGlvbnMgfSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvZmluZFZlcnNpb25CeUlEJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRWZXJzaW9uc09wdGlvbnMgfSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvZmluZFZlcnNpb25zJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIFJlc3RvcmVWZXJzaW9uT3B0aW9ucyB9IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC9yZXN0b3JlVmVyc2lvbidcbmltcG9ydCB0eXBlIHtcbiAgQnlJRE9wdGlvbnMgYXMgVXBkYXRlQnlJRE9wdGlvbnMsXG4gIE1hbnlPcHRpb25zIGFzIFVwZGF0ZU1hbnlPcHRpb25zLFxuICBPcHRpb25zIGFzIFVwZGF0ZU9wdGlvbnMsXG59IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC91cGRhdGUnXG5pbXBvcnQgdHlwZSB7IEVtYWlsT3B0aW9ucywgSW5pdE9wdGlvbnMsIFNhbml0aXplZENvbmZpZyB9IGZyb20gJy4vY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBCYXNlRGF0YWJhc2VBZGFwdGVyLCBQYWdpbmF0ZWREb2NzIH0gZnJvbSAnLi9kYXRhYmFzZS90eXBlcydcbmltcG9ydCB0eXBlIHsgQnVpbGRFbWFpbFJlc3VsdCB9IGZyb20gJy4vZW1haWwvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFR5cGVXaXRoSUQgYXMgR2xvYmFsVHlwZVdpdGhJRCwgR2xvYmFscyB9IGZyb20gJy4vZ2xvYmFscy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgRmluZEdsb2JhbE9wdGlvbnMgfSBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbC9maW5kT25lJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRHbG9iYWxWZXJzaW9uQnlJRE9wdGlvbnMgfSBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbC9maW5kVmVyc2lvbkJ5SUQnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgRmluZEdsb2JhbFZlcnNpb25zT3B0aW9ucyB9IGZyb20gJy4vZ2xvYmFscy9vcGVyYXRpb25zL2xvY2FsL2ZpbmRWZXJzaW9ucydcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBSZXN0b3JlR2xvYmFsVmVyc2lvbk9wdGlvbnMgfSBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbC9yZXN0b3JlVmVyc2lvbidcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBVcGRhdGVHbG9iYWxPcHRpb25zIH0gZnJvbSAnLi9nbG9iYWxzL29wZXJhdGlvbnMvbG9jYWwvdXBkYXRlJ1xuaW1wb3J0IHR5cGUgeyBUeXBlV2l0aFZlcnNpb24gfSBmcm9tICcuL3ZlcnNpb25zL3R5cGVzJ1xuXG5pbXBvcnQgeyBkZWNyeXB0LCBlbmNyeXB0IH0gZnJvbSAnLi9hdXRoL2NyeXB0bydcbmltcG9ydCB7IEFQSUtleUF1dGhlbnRpY2F0aW9uIH0gZnJvbSAnLi9hdXRoL3N0cmF0ZWdpZXMvYXBpS2V5J1xuaW1wb3J0IHsgSldUQXV0aGVudGljYXRpb24gfSBmcm9tICcuL2F1dGgvc3RyYXRlZ2llcy9qd3QnXG5pbXBvcnQgbG9jYWxPcGVyYXRpb25zIGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbCdcbmltcG9ydCBidWlsZEVtYWlsIGZyb20gJy4vZW1haWwvYnVpbGQnXG5pbXBvcnQgeyBkZWZhdWx0cyBhcyBlbWFpbERlZmF1bHRzIH0gZnJvbSAnLi9lbWFpbC9kZWZhdWx0cydcbmltcG9ydCBzZW5kRW1haWwgZnJvbSAnLi9lbWFpbC9zZW5kRW1haWwnXG5pbXBvcnQgbG9jYWxHbG9iYWxPcGVyYXRpb25zIGZyb20gJy4vZ2xvYmFscy9vcGVyYXRpb25zL2xvY2FsJ1xuaW1wb3J0IExvZ2dlciBmcm9tICcuL3V0aWxpdGllcy9sb2dnZXInXG5pbXBvcnQgeyBzZXJ2ZXJJbml0IGFzIHNlcnZlckluaXRUZWxlbWV0cnkgfSBmcm9tICcuL3V0aWxpdGllcy90ZWxlbWV0cnkvZXZlbnRzL3NlcnZlckluaXQnXG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFBheWxvYWRcbiAqL1xuZXhwb3J0IGNsYXNzIEJhc2VQYXlsb2FkPFRHZW5lcmF0ZWRUeXBlcyBleHRlbmRzIEdlbmVyYXRlZFR5cGVzPiB7XG4gIGF1dGhTdHJhdGVnaWVzOiBBdXRoU3RyYXRlZ3lbXVxuXG4gIGNvbGxlY3Rpb25zOiB7XG4gICAgW3NsdWc6IG51bWJlciB8IHN0cmluZyB8IHN5bWJvbF06IENvbGxlY3Rpb25cbiAgfSA9IHt9XG5cbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWdcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFBlcmZvcm1zIGNyZWF0ZSBvcGVyYXRpb25cbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgY3JlYXRlZCBkb2N1bWVudFxuICAgKi9cbiAgY3JlYXRlID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IENyZWF0ZU9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiA9PiB7XG4gICAgY29uc3QgeyBjcmVhdGUgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBjcmVhdGU8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIGRiOiBCYXNlRGF0YWJhc2VBZGFwdGVyXG5cbiAgZGVjcnlwdCA9IGRlY3J5cHRcblxuICBlbWFpbDogQnVpbGRFbWFpbFJlc3VsdFxuXG4gIGVtYWlsT3B0aW9uczogRW1haWxPcHRpb25zXG5cbiAgZW5jcnlwdCA9IGVuY3J5cHRcblxuICAvLyBUT0RPOiByZS1pbXBsZW1lbnQgb3IgcmVtb3ZlP1xuICAvLyBlcnJvckhhbmRsZXI6IEVycm9ySGFuZGxlclxuXG4gIGV4dGVuc2lvbnM6IChhcmdzOiB7XG4gICAgYXJnczogT3BlcmF0aW9uQXJnczxhbnk+XG4gICAgcmVxOiBncmFwaFFMUmVxdWVzdDx1bmtub3duLCB1bmtub3duPlxuICAgIHJlc3VsdDogRXhlY3V0aW9uUmVzdWx0XG4gIH0pID0+IFByb21pc2U8YW55PlxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmluZCBkb2N1bWVudHMgd2l0aCBjcml0ZXJpYVxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKiBAcmV0dXJucyBkb2N1bWVudHMgc2F0aXNmeWluZyBxdWVyeVxuICAgKi9cbiAgZmluZCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxQYWdpbmF0ZWREb2NzPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT4+ID0+IHtcbiAgICBjb25zdCB7IGZpbmQgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICBmaW5kQnlJRCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kQnlJRE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiA9PiB7XG4gICAgY29uc3QgeyBmaW5kQnlJRCB9ID0gbG9jYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIGZpbmRCeUlEPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICBmaW5kR2xvYmFsID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXT4oXG4gICAgb3B0aW9uczogRmluZEdsb2JhbE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IGZpbmRPbmUgfSA9IGxvY2FsR2xvYmFsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kT25lPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZ2xvYmFsIHZlcnNpb24gYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgZ2xvYmFsIHZlcnNpb24gd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG4gIGZpbmRHbG9iYWxWZXJzaW9uQnlJRCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ10+KFxuICAgIG9wdGlvbnM6IEZpbmRHbG9iYWxWZXJzaW9uQnlJRE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VHlwZVdpdGhWZXJzaW9uPFRHZW5lcmF0ZWRUeXBlc1snZ2xvYmFscyddW1RdPj4gPT4ge1xuICAgIGNvbnN0IHsgZmluZFZlcnNpb25CeUlEIH0gPSBsb2NhbEdsb2JhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gZmluZFZlcnNpb25CeUlEPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZ2xvYmFsIHZlcnNpb25zIHdpdGggY3JpdGVyaWFcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgdmVyc2lvbnMgc2F0aXNmeWluZyBxdWVyeVxuICAgKi9cbiAgZmluZEdsb2JhbFZlcnNpb25zID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXT4oXG4gICAgb3B0aW9uczogRmluZEdsb2JhbFZlcnNpb25zT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxQYWdpbmF0ZWREb2NzPFR5cGVXaXRoVmVyc2lvbjxUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXVtUXT4+PiA9PiB7XG4gICAgY29uc3QgeyBmaW5kVmVyc2lvbnMgfSA9IGxvY2FsR2xvYmFsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kVmVyc2lvbnM8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmluZCB2ZXJzaW9uIGJ5IElEXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb24gd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG4gIGZpbmRWZXJzaW9uQnlJRCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kVmVyc2lvbkJ5SURPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFR5cGVXaXRoVmVyc2lvbjxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+PiA9PiB7XG4gICAgY29uc3QgeyBmaW5kVmVyc2lvbkJ5SUQgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kVmVyc2lvbkJ5SUQ8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmluZCB2ZXJzaW9ucyB3aXRoIGNyaXRlcmlhXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb25zIHNhdGlzZnlpbmcgcXVlcnlcbiAgICovXG4gIGZpbmRWZXJzaW9ucyA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kVmVyc2lvbnNPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFBhZ2luYXRlZERvY3M8VHlwZVdpdGhWZXJzaW9uPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT4+PiA9PiB7XG4gICAgY29uc3QgeyBmaW5kVmVyc2lvbnMgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kVmVyc2lvbnM8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIGZvcmdvdFBhc3N3b3JkID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IEZvcmdvdFBhc3N3b3JkT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxGb3Jnb3RQYXNzd29yZFJlc3VsdD4gPT4ge1xuICAgIGNvbnN0IHsgZm9yZ290UGFzc3dvcmQgfSA9IGxvY2FsT3BlcmF0aW9ucy5hdXRoXG4gICAgcmV0dXJuIGZvcmdvdFBhc3N3b3JkPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICBnZXRBUElVUkwgPSAoKTogc3RyaW5nID0+IGAke3RoaXMuY29uZmlnLnNlcnZlclVSTH0ke3RoaXMuY29uZmlnLnJvdXRlcy5hcGl9YFxuXG4gIGdldEFkbWluVVJMID0gKCk6IHN0cmluZyA9PiBgJHt0aGlzLmNvbmZpZy5zZXJ2ZXJVUkx9JHt0aGlzLmNvbmZpZy5yb3V0ZXMuYWRtaW59YFxuXG4gIGdsb2JhbHM6IEdsb2JhbHNcblxuICBsb2dnZXI6IHBpbm8uTG9nZ2VyXG5cbiAgbG9naW4gPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogTG9naW5PcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPExvZ2luUmVzdWx0ICYgeyB1c2VyOiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0gfT4gPT4ge1xuICAgIGNvbnN0IHsgbG9naW4gfSA9IGxvY2FsT3BlcmF0aW9ucy5hdXRoXG4gICAgcmV0dXJuIGxvZ2luPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZG9jdW1lbnQgYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgZG9jdW1lbnQgd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG5cbiAgcmVzZXRQYXNzd29yZCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBSZXNldFBhc3N3b3JkT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxSZXNldFBhc3N3b3JkUmVzdWx0PiA9PiB7XG4gICAgY29uc3QgeyByZXNldFBhc3N3b3JkIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiByZXNldFBhc3N3b3JkPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlc3RvcmUgZ2xvYmFsIHZlcnNpb24gYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgdmVyc2lvbiB3aXRoIHNwZWNpZmllZCBJRFxuICAgKi9cbiAgcmVzdG9yZUdsb2JhbFZlcnNpb24gPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snZ2xvYmFscyddPihcbiAgICBvcHRpb25zOiBSZXN0b3JlR2xvYmFsVmVyc2lvbk9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHJlc3RvcmVWZXJzaW9uIH0gPSBsb2NhbEdsb2JhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gcmVzdG9yZVZlcnNpb248VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVzdG9yZSB2ZXJzaW9uIGJ5IElEXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb24gd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG4gIHJlc3RvcmVWZXJzaW9uID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFJlc3RvcmVWZXJzaW9uT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHJlc3RvcmVWZXJzaW9uIH0gPSBsb2NhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gcmVzdG9yZVZlcnNpb248VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIHNjaGVtYTogR3JhcGhRTFNjaGVtYVxuXG4gIHNlY3JldDogc3RyaW5nXG5cbiAgc2VuZEVtYWlsOiAobWVzc2FnZTogU2VuZE1haWxPcHRpb25zKSA9PiBQcm9taXNlPHVua25vd24+XG5cbiAgdHlwZXM6IHtcbiAgICBhcnJheVR5cGVzOiBhbnlcbiAgICBibG9ja0lucHV0VHlwZXM6IGFueVxuICAgIGJsb2NrVHlwZXM6IGFueVxuICAgIGZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlPzogYW55XG4gICAgZ3JvdXBUeXBlczogYW55XG4gICAgbG9jYWxlSW5wdXRUeXBlPzogYW55XG4gICAgdGFiVHlwZXM6IGFueVxuICB9XG5cbiAgdW5sb2NrID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFVubG9ja09wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgIGNvbnN0IHsgdW5sb2NrIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiB1bmxvY2sodGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIHVwZGF0ZUdsb2JhbCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ10+KFxuICAgIG9wdGlvbnM6IFVwZGF0ZUdsb2JhbE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHVwZGF0ZSB9ID0gbG9jYWxHbG9iYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIHVwZGF0ZTxUPih0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgdmFsaWRhdGlvblJ1bGVzOiAoYXJnczogT3BlcmF0aW9uQXJnczxhbnk+KSA9PiBWYWxpZGF0aW9uUnVsZVtdXG5cbiAgdmVyaWZ5RW1haWwgPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogVmVyaWZ5RW1haWxPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICBjb25zdCB7IHZlcmlmeUVtYWlsIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiB2ZXJpZnlFbWFpbCh0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgdmVyc2lvbnM6IHtcbiAgICBbc2x1Zzogc3RyaW5nXTogYW55IC8vIFRPRE86IFR5cGUgdGhpc1xuICB9ID0ge31cblxuICBkZWxldGU8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogRGVsZXRlT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxCdWxrT3BlcmF0aW9uUmVzdWx0PFQ+IHwgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiB7XG4gICAgY29uc3QgeyBkZWxldGVMb2NhbCB9ID0gbG9jYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIGRlbGV0ZUxvY2FsPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvbmUgb3IgbW9yZSBkb2N1bWVudHNcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgVXBkYXRlZCBkb2N1bWVudChzKVxuICAgKi9cbiAgZGVsZXRlPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IERlbGV0ZUJ5SURPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT5cblxuICBkZWxldGU8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogRGVsZXRlTWFueU9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8QnVsa09wZXJhdGlvblJlc3VsdDxUPj5cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEluaXRpYWxpemVzIFBheWxvYWRcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICovXG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgLy8gVE9ETzogVHlwZVNjcmlwdCBoYWxsdWNpbmF0aW5nIGFnYWluLiBmaXggbGF0ZXJcbiAgYXN5bmMgaW5pdChvcHRpb25zOiBJbml0T3B0aW9ucyk6IFByb21pc2U8UGF5bG9hZD4ge1xuICAgIHRoaXMubG9nZ2VyID0gTG9nZ2VyKCdwYXlsb2FkJywgb3B0aW9ucy5sb2dnZXJPcHRpb25zLCBvcHRpb25zLmxvZ2dlckRlc3RpbmF0aW9uKVxuXG4gICAgdGhpcy5jb25maWcgPSBhd2FpdCBvcHRpb25zLmNvbmZpZ1xuXG4gICAgaWYgKCF0aGlzLmNvbmZpZy5zZWNyZXQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRXJyb3I6IG1pc3Npbmcgc2VjcmV0IGtleS4gQSBzZWNyZXQga2V5IGlzIG5lZWRlZCB0byBzZWN1cmUgUGF5bG9hZC4nKVxuICAgIH1cblxuICAgIHRoaXMuc2VjcmV0ID0gY3J5cHRvLmNyZWF0ZUhhc2goJ3NoYTI1NicpLnVwZGF0ZSh0aGlzLmNvbmZpZy5zZWNyZXQpLmRpZ2VzdCgnaGV4Jykuc2xpY2UoMCwgMzIpXG5cbiAgICB0aGlzLmdsb2JhbHMgPSB7XG4gICAgICBjb25maWc6IHRoaXMuY29uZmlnLmdsb2JhbHMsXG4gICAgfVxuICAgIHRoaXMuY29uZmlnLmNvbGxlY3Rpb25zLmZvckVhY2goKGNvbGxlY3Rpb24pID0+IHtcbiAgICAgIHRoaXMuY29sbGVjdGlvbnNbY29sbGVjdGlvbi5zbHVnXSA9IHtcbiAgICAgICAgY29uZmlnOiBjb2xsZWN0aW9uLFxuICAgICAgfVxuICAgIH0pXG5cbiAgICB0aGlzLmRiID0gdGhpcy5jb25maWcuZGIuaW5pdCh7IHBheWxvYWQ6IHRoaXMgfSlcbiAgICB0aGlzLmRiLnBheWxvYWQgPSB0aGlzXG5cbiAgICBpZiAodGhpcy5kYj8uaW5pdCkge1xuICAgICAgYXdhaXQgdGhpcy5kYi5pbml0KHRoaXMpXG4gICAgfVxuXG4gICAgaWYgKCFvcHRpb25zLmRpc2FibGVEQkNvbm5lY3QgJiYgdGhpcy5kYi5jb25uZWN0KSB7XG4gICAgICBhd2FpdCB0aGlzLmRiLmNvbm5lY3QodGhpcylcbiAgICB9XG5cbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdTdGFydGluZyBQYXlsb2FkLi4uJylcblxuICAgIC8vIENvbmZpZ3VyZSBlbWFpbCBzZXJ2aWNlXG4gICAgY29uc3QgZW1haWxPcHRpb25zID0gb3B0aW9ucy5lbWFpbCA/IHsgLi4ub3B0aW9ucy5lbWFpbCB9IDogdGhpcy5jb25maWcuZW1haWxcbiAgICBpZiAob3B0aW9ucy5lbWFpbCAmJiB0aGlzLmNvbmZpZy5lbWFpbCkge1xuICAgICAgdGhpcy5sb2dnZXIud2FybihcbiAgICAgICAgJ0VtYWlsIG9wdGlvbnMgcHJvdmlkZWQgaW4gYm90aCBpbml0IG9wdGlvbnMgYW5kIGNvbmZpZy4gVXNpbmcgaW5pdCBvcHRpb25zLicsXG4gICAgICApXG4gICAgfVxuXG4gICAgdGhpcy5lbWFpbE9wdGlvbnMgPSBlbWFpbE9wdGlvbnMgPz8gZW1haWxEZWZhdWx0c1xuICAgIHRoaXMuZW1haWwgPSBidWlsZEVtYWlsKHRoaXMuZW1haWxPcHRpb25zLCB0aGlzLmxvZ2dlcilcbiAgICB0aGlzLnNlbmRFbWFpbCA9IHNlbmRFbWFpbC5iaW5kKHRoaXMpXG5cbiAgICBzZXJ2ZXJJbml0VGVsZW1ldHJ5KHRoaXMpXG5cbiAgICAvLyAxLiBsb29wIG92ZXIgY29sbGVjdGlvbnMsIGlmIGNvbGxlY3Rpb24gaGFzIGF1dGggc3RyYXRlZ3ksIGluaXRpYWxpemUgYW5kIHB1c2ggdG8gYXJyYXlcbiAgICBsZXQgand0U3RyYXRlZ3lFbmFibGVkID0gZmFsc2VcbiAgICB0aGlzLmF1dGhTdHJhdGVnaWVzID0gdGhpcy5jb25maWcuY29sbGVjdGlvbnMucmVkdWNlKChhdXRoU3RyYXRlZ2llcywgY29sbGVjdGlvbikgPT4ge1xuICAgICAgaWYgKGNvbGxlY3Rpb24/LmF1dGgpIHtcbiAgICAgICAgaWYgKGNvbGxlY3Rpb24uYXV0aC5zdHJhdGVnaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBhdXRoU3RyYXRlZ2llcy5wdXNoKC4uLmNvbGxlY3Rpb24uYXV0aC5zdHJhdGVnaWVzKVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gMi4gaWYgYXBpIGtleSBlbmFibGVkLCBwdXNoIGFwaSBrZXkgc3RyYXRlZ3kgaW50byB0aGUgYXJyYXlcbiAgICAgICAgaWYgKGNvbGxlY3Rpb24uYXV0aD8udXNlQVBJS2V5KSB7XG4gICAgICAgICAgYXV0aFN0cmF0ZWdpZXMucHVzaCh7XG4gICAgICAgICAgICBuYW1lOiBgJHtjb2xsZWN0aW9uLnNsdWd9LWFwaS1rZXlgLFxuICAgICAgICAgICAgYXV0aGVudGljYXRlOiBBUElLZXlBdXRoZW50aWNhdGlvbihjb2xsZWN0aW9uKSxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gMy4gaWYgbG9jYWxTdHJhdGVneSBmbGFnIGlzIHRydWVcbiAgICAgICAgaWYgKCFjb2xsZWN0aW9uLmF1dGguZGlzYWJsZUxvY2FsU3RyYXRlZ3kgJiYgIWp3dFN0cmF0ZWd5RW5hYmxlZCkge1xuICAgICAgICAgIGp3dFN0cmF0ZWd5RW5hYmxlZCA9IHRydWVcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gYXV0aFN0cmF0ZWdpZXNcbiAgICB9LCBbXSBhcyBBdXRoU3RyYXRlZ3lbXSlcblxuICAgIC8vIDQuIGlmIGVuYWJsZWQsIHB1c2ggand0IHN0cmF0ZWd5IGludG8gYXV0aFN0cmF0ZWdpZXMgbGFzdFxuICAgIGlmIChqd3RTdHJhdGVneUVuYWJsZWQpIHtcbiAgICAgIHRoaXMuYXV0aFN0cmF0ZWdpZXMucHVzaCh7XG4gICAgICAgIG5hbWU6ICdsb2NhbC1qd3QnLFxuICAgICAgICBhdXRoZW50aWNhdGU6IEpXVEF1dGhlbnRpY2F0aW9uLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAoIW9wdGlvbnMuZGlzYWJsZU9uSW5pdCkge1xuICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLm9uSW5pdCA9PT0gJ2Z1bmN0aW9uJykgYXdhaXQgb3B0aW9ucy5vbkluaXQodGhpcylcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcub25Jbml0ID09PSAnZnVuY3Rpb24nKSBhd2FpdCB0aGlzLmNvbmZpZy5vbkluaXQodGhpcylcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgdXBkYXRlPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFVwZGF0ZU1hbnlPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPEJ1bGtPcGVyYXRpb25SZXN1bHQ8VD4+XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBVcGRhdGUgb25lIG9yIG1vcmUgZG9jdW1lbnRzXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIFVwZGF0ZWQgZG9jdW1lbnQocylcbiAgICovXG4gIHVwZGF0ZTxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBVcGRhdGVCeUlET3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+XG5cbiAgdXBkYXRlPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFVwZGF0ZU9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8QnVsa09wZXJhdGlvblJlc3VsdDxUPiB8IFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT4ge1xuICAgIGNvbnN0IHsgdXBkYXRlIH0gPSBsb2NhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gdXBkYXRlPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cbn1cblxuY29uc3QgaW5pdGlhbGl6ZWQgPSBuZXcgQmFzZVBheWxvYWQoKVxuXG5leHBvcnQgZGVmYXVsdCBpbml0aWFsaXplZFxuXG5sZXQgY2FjaGVkID0gZ2xvYmFsLl9wYXlsb2FkXG5cbmlmICghY2FjaGVkKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1tdWx0aS1hc3NpZ25cbiAgY2FjaGVkID0gZ2xvYmFsLl9wYXlsb2FkID0geyBwYXlsb2FkOiBudWxsLCBwcm9taXNlOiBudWxsIH1cbn1cblxuZXhwb3J0IGNvbnN0IGdldFBheWxvYWQgPSBhc3luYyAob3B0aW9ucz86IEluaXRPcHRpb25zKTogUHJvbWlzZTxCYXNlUGF5bG9hZDxHZW5lcmF0ZWRUeXBlcz4+ID0+IHtcbiAgaWYgKGNhY2hlZC5wYXlsb2FkKSB7XG4gICAgcmV0dXJuIGNhY2hlZC5wYXlsb2FkXG4gIH1cblxuICBpZiAoIWNhY2hlZC5wcm9taXNlKSB7XG4gICAgY2FjaGVkLnByb21pc2UgPSBuZXcgQmFzZVBheWxvYWQ8R2VuZXJhdGVkVHlwZXM+KCkuaW5pdChvcHRpb25zKVxuICB9XG5cbiAgdHJ5IHtcbiAgICBjYWNoZWQucGF5bG9hZCA9IGF3YWl0IGNhY2hlZC5wcm9taXNlXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjYWNoZWQucHJvbWlzZSA9IG51bGxcbiAgICB0aHJvdyBlXG4gIH1cblxuICByZXR1cm4gY2FjaGVkLnBheWxvYWRcbn1cblxudHlwZSBHZW5lcmF0ZWRUeXBlcyA9IHtcbiAgY29sbGVjdGlvbnM6IHtcbiAgICBbc2x1ZzogbnVtYmVyIHwgc3RyaW5nIHwgc3ltYm9sXTogVHlwZVdpdGhJRCAmIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIH1cbiAgZ2xvYmFsczoge1xuICAgIFtzbHVnOiBudW1iZXIgfCBzdHJpbmcgfCBzeW1ib2xdOiBHbG9iYWxUeXBlV2l0aElEICYgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgfVxufVxuXG50eXBlIFBheWxvYWQgPSBCYXNlUGF5bG9hZDxHZW5lcmF0ZWRUeXBlcz5cblxuaW50ZXJmYWNlIFJlcXVlc3RDb250ZXh0IHtcbiAgW2tleTogc3RyaW5nXTogdW5rbm93blxufVxuXG4vLyB0eXBlIERhdGFiYXNlQWRhcHRlciA9IEJhc2VEYXRhYmFzZUFkYXB0ZXJcblxuZXhwb3J0IHR5cGUgeyBHZW5lcmF0ZWRUeXBlcywgUGF5bG9hZCwgUmVxdWVzdENvbnRleHQgfVxuIl0sIm5hbWVzIjpbIkJhc2VQYXlsb2FkIiwiZ2V0UGF5bG9hZCIsImF1dGhTdHJhdGVnaWVzIiwiY29sbGVjdGlvbnMiLCJjb25maWciLCJjcmVhdGUiLCJvcHRpb25zIiwibG9jYWxPcGVyYXRpb25zIiwiZGIiLCJkZWNyeXB0IiwiZW1haWwiLCJlbWFpbE9wdGlvbnMiLCJlbmNyeXB0IiwiZXh0ZW5zaW9ucyIsImZpbmQiLCJmaW5kQnlJRCIsImZpbmRHbG9iYWwiLCJmaW5kT25lIiwibG9jYWxHbG9iYWxPcGVyYXRpb25zIiwiZmluZEdsb2JhbFZlcnNpb25CeUlEIiwiZmluZFZlcnNpb25CeUlEIiwiZmluZEdsb2JhbFZlcnNpb25zIiwiZmluZFZlcnNpb25zIiwiZm9yZ290UGFzc3dvcmQiLCJhdXRoIiwiZ2V0QVBJVVJMIiwic2VydmVyVVJMIiwicm91dGVzIiwiYXBpIiwiZ2V0QWRtaW5VUkwiLCJhZG1pbiIsImdsb2JhbHMiLCJsb2dnZXIiLCJsb2dpbiIsInJlc2V0UGFzc3dvcmQiLCJyZXN0b3JlR2xvYmFsVmVyc2lvbiIsInJlc3RvcmVWZXJzaW9uIiwic2NoZW1hIiwic2VjcmV0Iiwic2VuZEVtYWlsIiwidHlwZXMiLCJ1bmxvY2siLCJ1cGRhdGVHbG9iYWwiLCJ1cGRhdGUiLCJ2YWxpZGF0aW9uUnVsZXMiLCJ2ZXJpZnlFbWFpbCIsInZlcnNpb25zIiwiZGVsZXRlIiwiZGVsZXRlTG9jYWwiLCJpbml0IiwiTG9nZ2VyIiwibG9nZ2VyT3B0aW9ucyIsImxvZ2dlckRlc3RpbmF0aW9uIiwiRXJyb3IiLCJjcnlwdG8iLCJjcmVhdGVIYXNoIiwiZGlnZXN0Iiwic2xpY2UiLCJmb3JFYWNoIiwiY29sbGVjdGlvbiIsInNsdWciLCJwYXlsb2FkIiwiZGlzYWJsZURCQ29ubmVjdCIsImNvbm5lY3QiLCJpbmZvIiwid2FybiIsImVtYWlsRGVmYXVsdHMiLCJidWlsZEVtYWlsIiwiYmluZCIsInNlcnZlckluaXRUZWxlbWV0cnkiLCJqd3RTdHJhdGVneUVuYWJsZWQiLCJyZWR1Y2UiLCJzdHJhdGVnaWVzIiwibGVuZ3RoIiwicHVzaCIsInVzZUFQSUtleSIsIm5hbWUiLCJhdXRoZW50aWNhdGUiLCJBUElLZXlBdXRoZW50aWNhdGlvbiIsImRpc2FibGVMb2NhbFN0cmF0ZWd5IiwiSldUQXV0aGVudGljYXRpb24iLCJkaXNhYmxlT25Jbml0Iiwib25Jbml0IiwiaW5pdGlhbGl6ZWQiLCJjYWNoZWQiLCJnbG9iYWwiLCJfcGF5bG9hZCIsInByb21pc2UiLCJlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQTBEYUEsV0FBVztlQUFYQTs7SUFnV2IsT0FBMEI7ZUFBMUI7O0lBU2FDLFVBQVU7ZUFBVkE7OzsrREE5Wk07eUJBdUNjO3dCQUNJO3FCQUNIOzhEQUNOOzhEQUNMOzBCQUNtQjtrRUFDcEI7K0RBQ1k7K0RBQ2Y7NEJBQytCOzs7Ozs7QUFLM0MsTUFBTUQ7SUFDWEUsZUFBOEI7SUFFOUJDLGNBRUksQ0FBQyxFQUFDO0lBRU5DLE9BQXVCO0lBRXZCOzs7O0dBSUMsR0FDREMsU0FBUyxPQUNQQztRQUVBLE1BQU0sRUFBRUQsTUFBTSxFQUFFLEdBQUdFLGNBQWU7UUFDbEMsT0FBT0YsT0FBVSxJQUFJLEVBQUVDO0lBQ3pCLEVBQUM7SUFFREUsR0FBdUI7SUFFdkJDLFVBQVVBLGdCQUFPLENBQUE7SUFFakJDLE1BQXVCO0lBRXZCQyxhQUEwQjtJQUUxQkMsVUFBVUEsZ0JBQU8sQ0FBQTtJQUVqQixnQ0FBZ0M7SUFDaEMsNkJBQTZCO0lBRTdCQyxXQUlrQjtJQUVsQjs7OztHQUlDLEdBQ0RDLE9BQU8sT0FDTFI7UUFFQSxNQUFNLEVBQUVRLElBQUksRUFBRSxHQUFHUCxjQUFlO1FBQ2hDLE9BQU9PLEtBQVEsSUFBSSxFQUFFUjtJQUN2QixFQUFDO0lBRURTLFdBQVcsT0FDVFQ7UUFFQSxNQUFNLEVBQUVTLFFBQVEsRUFBRSxHQUFHUixjQUFlO1FBQ3BDLE9BQU9RLFNBQVksSUFBSSxFQUFFVDtJ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
|
|
250
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEV4ZWN1dGlvblJlc3VsdCwgR3JhcGhRTFNjaGVtYSwgVmFsaWRhdGlvblJ1bGUgfSBmcm9tICdncmFwaHFsJ1xuaW1wb3J0IHR5cGUgeyBPcGVyYXRpb25BcmdzLCBSZXF1ZXN0IGFzIGdyYXBoUUxSZXF1ZXN0IH0gZnJvbSAnZ3JhcGhxbC1odHRwJ1xuaW1wb3J0IHR5cGUgeyBTZW5kTWFpbE9wdGlvbnMgfSBmcm9tICdub2RlbWFpbGVyJ1xuaW1wb3J0IHR5cGUgcGlubyBmcm9tICdwaW5vJ1xuXG5pbXBvcnQgY3J5cHRvIGZyb20gJ2NyeXB0bydcblxuaW1wb3J0IHR5cGUgeyBBdXRoU3RyYXRlZ3kgfSBmcm9tICcuL2F1dGgnXG5pbXBvcnQgdHlwZSB7IFJlc3VsdCBhcyBGb3Jnb3RQYXNzd29yZFJlc3VsdCB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2ZvcmdvdFBhc3N3b3JkJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZvcmdvdFBhc3N3b3JkT3B0aW9ucyB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2xvY2FsL2ZvcmdvdFBhc3N3b3JkJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIExvZ2luT3B0aW9ucyB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2xvY2FsL2xvZ2luJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIFJlc2V0UGFzc3dvcmRPcHRpb25zIH0gZnJvbSAnLi9hdXRoL29wZXJhdGlvbnMvbG9jYWwvcmVzZXRQYXNzd29yZCdcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBVbmxvY2tPcHRpb25zIH0gZnJvbSAnLi9hdXRoL29wZXJhdGlvbnMvbG9jYWwvdW5sb2NrJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIFZlcmlmeUVtYWlsT3B0aW9ucyB9IGZyb20gJy4vYXV0aC9vcGVyYXRpb25zL2xvY2FsL3ZlcmlmeUVtYWlsJ1xuaW1wb3J0IHR5cGUgeyBSZXN1bHQgYXMgTG9naW5SZXN1bHQgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9sb2dpbidcbmltcG9ydCB0eXBlIHsgUmVzdWx0IGFzIFJlc2V0UGFzc3dvcmRSZXN1bHQgfSBmcm9tICcuL2F1dGgvb3BlcmF0aW9ucy9yZXNldFBhc3N3b3JkJ1xuaW1wb3J0IHR5cGUgeyBCdWxrT3BlcmF0aW9uUmVzdWx0LCBDb2xsZWN0aW9uLCBUeXBlV2l0aElEIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgQ3JlYXRlT3B0aW9ucyB9IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC9jcmVhdGUnXG5pbXBvcnQgdHlwZSB7XG4gIEJ5SURPcHRpb25zIGFzIERlbGV0ZUJ5SURPcHRpb25zLFxuICBNYW55T3B0aW9ucyBhcyBEZWxldGVNYW55T3B0aW9ucyxcbiAgT3B0aW9ucyBhcyBEZWxldGVPcHRpb25zLFxufSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvZGVsZXRlJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRPcHRpb25zIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2xvY2FsL2ZpbmQnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgRmluZEJ5SURPcHRpb25zIH0gZnJvbSAnLi9jb2xsZWN0aW9ucy9vcGVyYXRpb25zL2xvY2FsL2ZpbmRCeUlEJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRWZXJzaW9uQnlJRE9wdGlvbnMgfSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvZmluZFZlcnNpb25CeUlEJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRWZXJzaW9uc09wdGlvbnMgfSBmcm9tICcuL2NvbGxlY3Rpb25zL29wZXJhdGlvbnMvbG9jYWwvZmluZFZlcnNpb25zJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIFJlc3RvcmVWZXJzaW9uT3B0aW9ucyB9IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC9yZXN0b3JlVmVyc2lvbidcbmltcG9ydCB0eXBlIHtcbiAgQnlJRE9wdGlvbnMgYXMgVXBkYXRlQnlJRE9wdGlvbnMsXG4gIE1hbnlPcHRpb25zIGFzIFVwZGF0ZU1hbnlPcHRpb25zLFxuICBPcHRpb25zIGFzIFVwZGF0ZU9wdGlvbnMsXG59IGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbC91cGRhdGUnXG5pbXBvcnQgdHlwZSB7IEVtYWlsT3B0aW9ucywgSW5pdE9wdGlvbnMsIFNhbml0aXplZENvbmZpZyB9IGZyb20gJy4vY29uZmlnL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBCYXNlRGF0YWJhc2VBZGFwdGVyLCBQYWdpbmF0ZWREb2NzIH0gZnJvbSAnLi9kYXRhYmFzZS90eXBlcydcbmltcG9ydCB0eXBlIHsgQnVpbGRFbWFpbFJlc3VsdCB9IGZyb20gJy4vZW1haWwvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFR5cGVXaXRoSUQgYXMgR2xvYmFsVHlwZVdpdGhJRCwgR2xvYmFscyB9IGZyb20gJy4vZ2xvYmFscy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgRmluZEdsb2JhbE9wdGlvbnMgfSBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbC9maW5kT25lJ1xuaW1wb3J0IHR5cGUgeyBPcHRpb25zIGFzIEZpbmRHbG9iYWxWZXJzaW9uQnlJRE9wdGlvbnMgfSBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbC9maW5kVmVyc2lvbkJ5SUQnXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgYXMgRmluZEdsb2JhbFZlcnNpb25zT3B0aW9ucyB9IGZyb20gJy4vZ2xvYmFscy9vcGVyYXRpb25zL2xvY2FsL2ZpbmRWZXJzaW9ucydcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBSZXN0b3JlR2xvYmFsVmVyc2lvbk9wdGlvbnMgfSBmcm9tICcuL2dsb2JhbHMvb3BlcmF0aW9ucy9sb2NhbC9yZXN0b3JlVmVyc2lvbidcbmltcG9ydCB0eXBlIHsgT3B0aW9ucyBhcyBVcGRhdGVHbG9iYWxPcHRpb25zIH0gZnJvbSAnLi9nbG9iYWxzL29wZXJhdGlvbnMvbG9jYWwvdXBkYXRlJ1xuaW1wb3J0IHR5cGUgeyBUeXBlV2l0aFZlcnNpb24gfSBmcm9tICcuL3ZlcnNpb25zL3R5cGVzJ1xuXG5pbXBvcnQgeyBkZWNyeXB0LCBlbmNyeXB0IH0gZnJvbSAnLi9hdXRoL2NyeXB0bydcbmltcG9ydCB7IEFQSUtleUF1dGhlbnRpY2F0aW9uIH0gZnJvbSAnLi9hdXRoL3N0cmF0ZWdpZXMvYXBpS2V5J1xuaW1wb3J0IHsgSldUQXV0aGVudGljYXRpb24gfSBmcm9tICcuL2F1dGgvc3RyYXRlZ2llcy9qd3QnXG5pbXBvcnQgbG9jYWxPcGVyYXRpb25zIGZyb20gJy4vY29sbGVjdGlvbnMvb3BlcmF0aW9ucy9sb2NhbCdcbmltcG9ydCB2YWxpZGF0ZSBmcm9tICcuL2NvbmZpZy92YWxpZGF0ZSdcbmltcG9ydCBidWlsZEVtYWlsIGZyb20gJy4vZW1haWwvYnVpbGQnXG5pbXBvcnQgeyBkZWZhdWx0cyBhcyBlbWFpbERlZmF1bHRzIH0gZnJvbSAnLi9lbWFpbC9kZWZhdWx0cydcbmltcG9ydCBzZW5kRW1haWwgZnJvbSAnLi9lbWFpbC9zZW5kRW1haWwnXG5pbXBvcnQgbG9jYWxHbG9iYWxPcGVyYXRpb25zIGZyb20gJy4vZ2xvYmFscy9vcGVyYXRpb25zL2xvY2FsJ1xuaW1wb3J0IExvZ2dlciBmcm9tICcuL3V0aWxpdGllcy9sb2dnZXInXG5pbXBvcnQgeyBzZXJ2ZXJJbml0IGFzIHNlcnZlckluaXRUZWxlbWV0cnkgfSBmcm9tICcuL3V0aWxpdGllcy90ZWxlbWV0cnkvZXZlbnRzL3NlcnZlckluaXQnXG5cbi8qKlxuICogQGRlc2NyaXB0aW9uIFBheWxvYWRcbiAqL1xuZXhwb3J0IGNsYXNzIEJhc2VQYXlsb2FkPFRHZW5lcmF0ZWRUeXBlcyBleHRlbmRzIEdlbmVyYXRlZFR5cGVzPiB7XG4gIGF1dGhTdHJhdGVnaWVzOiBBdXRoU3RyYXRlZ3lbXVxuXG4gIGNvbGxlY3Rpb25zOiB7XG4gICAgW3NsdWc6IG51bWJlciB8IHN0cmluZyB8IHN5bWJvbF06IENvbGxlY3Rpb25cbiAgfSA9IHt9XG5cbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWdcblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFBlcmZvcm1zIGNyZWF0ZSBvcGVyYXRpb25cbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgY3JlYXRlZCBkb2N1bWVudFxuICAgKi9cbiAgY3JlYXRlID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IENyZWF0ZU9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiA9PiB7XG4gICAgY29uc3QgeyBjcmVhdGUgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBjcmVhdGU8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIGRiOiBCYXNlRGF0YWJhc2VBZGFwdGVyXG5cbiAgZGVjcnlwdCA9IGRlY3J5cHRcblxuICBlbWFpbDogQnVpbGRFbWFpbFJlc3VsdFxuXG4gIGVtYWlsT3B0aW9uczogRW1haWxPcHRpb25zXG5cbiAgZW5jcnlwdCA9IGVuY3J5cHRcblxuICAvLyBUT0RPOiByZS1pbXBsZW1lbnQgb3IgcmVtb3ZlP1xuICAvLyBlcnJvckhhbmRsZXI6IEVycm9ySGFuZGxlclxuXG4gIGV4dGVuc2lvbnM6IChhcmdzOiB7XG4gICAgYXJnczogT3BlcmF0aW9uQXJnczxhbnk+XG4gICAgcmVxOiBncmFwaFFMUmVxdWVzdDx1bmtub3duLCB1bmtub3duPlxuICAgIHJlc3VsdDogRXhlY3V0aW9uUmVzdWx0XG4gIH0pID0+IFByb21pc2U8YW55PlxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmluZCBkb2N1bWVudHMgd2l0aCBjcml0ZXJpYVxuICAgKiBAcGFyYW0gb3B0aW9uc1xuICAgKiBAcmV0dXJucyBkb2N1bWVudHMgc2F0aXNmeWluZyBxdWVyeVxuICAgKi9cbiAgZmluZCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxQYWdpbmF0ZWREb2NzPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT4+ID0+IHtcbiAgICBjb25zdCB7IGZpbmQgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICBmaW5kQnlJRCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kQnlJRE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiA9PiB7XG4gICAgY29uc3QgeyBmaW5kQnlJRCB9ID0gbG9jYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIGZpbmRCeUlEPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICBmaW5kR2xvYmFsID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXT4oXG4gICAgb3B0aW9uczogRmluZEdsb2JhbE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IGZpbmRPbmUgfSA9IGxvY2FsR2xvYmFsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kT25lPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZ2xvYmFsIHZlcnNpb24gYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgZ2xvYmFsIHZlcnNpb24gd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG4gIGZpbmRHbG9iYWxWZXJzaW9uQnlJRCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ10+KFxuICAgIG9wdGlvbnM6IEZpbmRHbG9iYWxWZXJzaW9uQnlJRE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VHlwZVdpdGhWZXJzaW9uPFRHZW5lcmF0ZWRUeXBlc1snZ2xvYmFscyddW1RdPj4gPT4ge1xuICAgIGNvbnN0IHsgZmluZFZlcnNpb25CeUlEIH0gPSBsb2NhbEdsb2JhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gZmluZFZlcnNpb25CeUlEPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZ2xvYmFsIHZlcnNpb25zIHdpdGggY3JpdGVyaWFcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgdmVyc2lvbnMgc2F0aXNmeWluZyBxdWVyeVxuICAgKi9cbiAgZmluZEdsb2JhbFZlcnNpb25zID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXT4oXG4gICAgb3B0aW9uczogRmluZEdsb2JhbFZlcnNpb25zT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxQYWdpbmF0ZWREb2NzPFR5cGVXaXRoVmVyc2lvbjxUR2VuZXJhdGVkVHlwZXNbJ2dsb2JhbHMnXVtUXT4+PiA9PiB7XG4gICAgY29uc3QgeyBmaW5kVmVyc2lvbnMgfSA9IGxvY2FsR2xvYmFsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kVmVyc2lvbnM8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmluZCB2ZXJzaW9uIGJ5IElEXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb24gd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG4gIGZpbmRWZXJzaW9uQnlJRCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kVmVyc2lvbkJ5SURPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFR5cGVXaXRoVmVyc2lvbjxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+PiA9PiB7XG4gICAgY29uc3QgeyBmaW5kVmVyc2lvbkJ5SUQgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kVmVyc2lvbkJ5SUQ8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gRmluZCB2ZXJzaW9ucyB3aXRoIGNyaXRlcmlhXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb25zIHNhdGlzZnlpbmcgcXVlcnlcbiAgICovXG4gIGZpbmRWZXJzaW9ucyA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBGaW5kVmVyc2lvbnNPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFBhZ2luYXRlZERvY3M8VHlwZVdpdGhWZXJzaW9uPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT4+PiA9PiB7XG4gICAgY29uc3QgeyBmaW5kVmVyc2lvbnMgfSA9IGxvY2FsT3BlcmF0aW9uc1xuICAgIHJldHVybiBmaW5kVmVyc2lvbnM8VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIGZvcmdvdFBhc3N3b3JkID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IEZvcmdvdFBhc3N3b3JkT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxGb3Jnb3RQYXNzd29yZFJlc3VsdD4gPT4ge1xuICAgIGNvbnN0IHsgZm9yZ290UGFzc3dvcmQgfSA9IGxvY2FsT3BlcmF0aW9ucy5hdXRoXG4gICAgcmV0dXJuIGZvcmdvdFBhc3N3b3JkPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICBnZXRBUElVUkwgPSAoKTogc3RyaW5nID0+IGAke3RoaXMuY29uZmlnLnNlcnZlclVSTH0ke3RoaXMuY29uZmlnLnJvdXRlcy5hcGl9YFxuXG4gIGdldEFkbWluVVJMID0gKCk6IHN0cmluZyA9PiBgJHt0aGlzLmNvbmZpZy5zZXJ2ZXJVUkx9JHt0aGlzLmNvbmZpZy5yb3V0ZXMuYWRtaW59YFxuXG4gIGdsb2JhbHM6IEdsb2JhbHNcblxuICBsb2dnZXI6IHBpbm8uTG9nZ2VyXG5cbiAgbG9naW4gPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogTG9naW5PcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPExvZ2luUmVzdWx0ICYgeyB1c2VyOiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0gfT4gPT4ge1xuICAgIGNvbnN0IHsgbG9naW4gfSA9IGxvY2FsT3BlcmF0aW9ucy5hdXRoXG4gICAgcmV0dXJuIGxvZ2luPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEZpbmQgZG9jdW1lbnQgYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgZG9jdW1lbnQgd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG5cbiAgcmVzZXRQYXNzd29yZCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBSZXNldFBhc3N3b3JkT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxSZXNldFBhc3N3b3JkUmVzdWx0PiA9PiB7XG4gICAgY29uc3QgeyByZXNldFBhc3N3b3JkIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiByZXNldFBhc3N3b3JkPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIFJlc3RvcmUgZ2xvYmFsIHZlcnNpb24gYnkgSURcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgdmVyc2lvbiB3aXRoIHNwZWNpZmllZCBJRFxuICAgKi9cbiAgcmVzdG9yZUdsb2JhbFZlcnNpb24gPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snZ2xvYmFscyddPihcbiAgICBvcHRpb25zOiBSZXN0b3JlR2xvYmFsVmVyc2lvbk9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHJlc3RvcmVWZXJzaW9uIH0gPSBsb2NhbEdsb2JhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gcmVzdG9yZVZlcnNpb248VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb24gUmVzdG9yZSB2ZXJzaW9uIGJ5IElEXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIHZlcnNpb24gd2l0aCBzcGVjaWZpZWQgSURcbiAgICovXG4gIHJlc3RvcmVWZXJzaW9uID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFJlc3RvcmVWZXJzaW9uT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHJlc3RvcmVWZXJzaW9uIH0gPSBsb2NhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gcmVzdG9yZVZlcnNpb248VD4odGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIHNjaGVtYTogR3JhcGhRTFNjaGVtYVxuXG4gIHNlY3JldDogc3RyaW5nXG5cbiAgc2VuZEVtYWlsOiAobWVzc2FnZTogU2VuZE1haWxPcHRpb25zKSA9PiBQcm9taXNlPHVua25vd24+XG5cbiAgdHlwZXM6IHtcbiAgICBhcnJheVR5cGVzOiBhbnlcbiAgICBibG9ja0lucHV0VHlwZXM6IGFueVxuICAgIGJsb2NrVHlwZXM6IGFueVxuICAgIGZhbGxiYWNrTG9jYWxlSW5wdXRUeXBlPzogYW55XG4gICAgZ3JvdXBUeXBlczogYW55XG4gICAgbG9jYWxlSW5wdXRUeXBlPzogYW55XG4gICAgdGFiVHlwZXM6IGFueVxuICB9XG5cbiAgdW5sb2NrID0gYXN5bmMgPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFVubG9ja09wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgIGNvbnN0IHsgdW5sb2NrIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiB1bmxvY2sodGhpcywgb3B0aW9ucylcbiAgfVxuXG4gIHVwZGF0ZUdsb2JhbCA9IGFzeW5jIDxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ10+KFxuICAgIG9wdGlvbnM6IFVwZGF0ZUdsb2JhbE9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8VEdlbmVyYXRlZFR5cGVzWydnbG9iYWxzJ11bVF0+ID0+IHtcbiAgICBjb25zdCB7IHVwZGF0ZSB9ID0gbG9jYWxHbG9iYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIHVwZGF0ZTxUPih0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgdmFsaWRhdGlvblJ1bGVzOiAoYXJnczogT3BlcmF0aW9uQXJnczxhbnk+KSA9PiBWYWxpZGF0aW9uUnVsZVtdXG5cbiAgdmVyaWZ5RW1haWwgPSBhc3luYyA8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogVmVyaWZ5RW1haWxPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICBjb25zdCB7IHZlcmlmeUVtYWlsIH0gPSBsb2NhbE9wZXJhdGlvbnMuYXV0aFxuICAgIHJldHVybiB2ZXJpZnlFbWFpbCh0aGlzLCBvcHRpb25zKVxuICB9XG5cbiAgdmVyc2lvbnM6IHtcbiAgICBbc2x1Zzogc3RyaW5nXTogYW55IC8vIFRPRE86IFR5cGUgdGhpc1xuICB9ID0ge31cblxuICBkZWxldGU8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogRGVsZXRlT3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxCdWxrT3BlcmF0aW9uUmVzdWx0PFQ+IHwgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddW1RdPiB7XG4gICAgY29uc3QgeyBkZWxldGVMb2NhbCB9ID0gbG9jYWxPcGVyYXRpb25zXG4gICAgcmV0dXJuIGRlbGV0ZUxvY2FsPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIGRlbGV0ZSBvbmUgb3IgbW9yZSBkb2N1bWVudHNcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICogQHJldHVybnMgVXBkYXRlZCBkb2N1bWVudChzKVxuICAgKi9cbiAgZGVsZXRlPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IERlbGV0ZUJ5SURPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT5cblxuICBkZWxldGU8VCBleHRlbmRzIGtleW9mIFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXT4oXG4gICAgb3B0aW9uczogRGVsZXRlTWFueU9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8QnVsa09wZXJhdGlvblJlc3VsdDxUPj5cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIEluaXRpYWxpemVzIFBheWxvYWRcbiAgICogQHBhcmFtIG9wdGlvbnNcbiAgICovXG4gIC8vIEB0cy1leHBlY3QtZXJyb3IgLy8gVE9ETzogVHlwZVNjcmlwdCBoYWxsdWNpbmF0aW5nIGFnYWluLiBmaXggbGF0ZXJcbiAgYXN5bmMgaW5pdChvcHRpb25zOiBJbml0T3B0aW9ucyk6IFByb21pc2U8UGF5bG9hZD4ge1xuICAgIHRoaXMubG9nZ2VyID0gTG9nZ2VyKCdwYXlsb2FkJywgb3B0aW9ucy5sb2dnZXJPcHRpb25zLCBvcHRpb25zLmxvZ2dlckRlc3RpbmF0aW9uKVxuXG4gICAgdGhpcy5jb25maWcgPSBhd2FpdCBvcHRpb25zLmNvbmZpZ1xuXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSAncHJvZHVjdGlvbicpIHtcbiAgICAgIGF3YWl0IHZhbGlkYXRlKHRoaXMuY29uZmlnLCB0aGlzLmxvZ2dlcilcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuY29uZmlnLnNlY3JldCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdFcnJvcjogbWlzc2luZyBzZWNyZXQga2V5LiBBIHNlY3JldCBrZXkgaXMgbmVlZGVkIHRvIHNlY3VyZSBQYXlsb2FkLicpXG4gICAgfVxuXG4gICAgdGhpcy5zZWNyZXQgPSBjcnlwdG8uY3JlYXRlSGFzaCgnc2hhMjU2JykudXBkYXRlKHRoaXMuY29uZmlnLnNlY3JldCkuZGlnZXN0KCdoZXgnKS5zbGljZSgwLCAzMilcblxuICAgIHRoaXMuZ2xvYmFscyA9IHtcbiAgICAgIGNvbmZpZzogdGhpcy5jb25maWcuZ2xvYmFscyxcbiAgICB9XG5cbiAgICB0aGlzLmNvbmZpZy5jb2xsZWN0aW9ucy5mb3JFYWNoKChjb2xsZWN0aW9uKSA9PiB7XG4gICAgICB0aGlzLmNvbGxlY3Rpb25zW2NvbGxlY3Rpb24uc2x1Z10gPSB7XG4gICAgICAgIGNvbmZpZzogY29sbGVjdGlvbixcbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdGhpcy5kYiA9IHRoaXMuY29uZmlnLmRiLmluaXQoeyBwYXlsb2FkOiB0aGlzIH0pXG4gICAgdGhpcy5kYi5wYXlsb2FkID0gdGhpc1xuXG4gICAgaWYgKHRoaXMuZGI/LmluaXQpIHtcbiAgICAgIGF3YWl0IHRoaXMuZGIuaW5pdCh0aGlzKVxuICAgIH1cblxuICAgIGlmICghb3B0aW9ucy5kaXNhYmxlREJDb25uZWN0ICYmIHRoaXMuZGIuY29ubmVjdCkge1xuICAgICAgYXdhaXQgdGhpcy5kYi5jb25uZWN0KClcbiAgICB9XG5cbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdTdGFydGluZyBQYXlsb2FkLi4uJylcblxuICAgIC8vIENvbmZpZ3VyZSBlbWFpbCBzZXJ2aWNlXG4gICAgY29uc3QgZW1haWxPcHRpb25zID0gb3B0aW9ucy5lbWFpbCA/IHsgLi4ub3B0aW9ucy5lbWFpbCB9IDogdGhpcy5jb25maWcuZW1haWxcbiAgICBpZiAob3B0aW9ucy5lbWFpbCAmJiB0aGlzLmNvbmZpZy5lbWFpbCkge1xuICAgICAgdGhpcy5sb2dnZXIud2FybihcbiAgICAgICAgJ0VtYWlsIG9wdGlvbnMgcHJvdmlkZWQgaW4gYm90aCBpbml0IG9wdGlvbnMgYW5kIGNvbmZpZy4gVXNpbmcgaW5pdCBvcHRpb25zLicsXG4gICAgICApXG4gICAgfVxuXG4gICAgdGhpcy5lbWFpbE9wdGlvbnMgPSBlbWFpbE9wdGlvbnMgPz8gZW1haWxEZWZhdWx0c1xuICAgIHRoaXMuZW1haWwgPSBidWlsZEVtYWlsKHRoaXMuZW1haWxPcHRpb25zLCB0aGlzLmxvZ2dlcilcbiAgICB0aGlzLnNlbmRFbWFpbCA9IHNlbmRFbWFpbC5iaW5kKHRoaXMpXG5cbiAgICBzZXJ2ZXJJbml0VGVsZW1ldHJ5KHRoaXMpXG5cbiAgICAvLyAxLiBsb29wIG92ZXIgY29sbGVjdGlvbnMsIGlmIGNvbGxlY3Rpb24gaGFzIGF1dGggc3RyYXRlZ3ksIGluaXRpYWxpemUgYW5kIHB1c2ggdG8gYXJyYXlcbiAgICBsZXQgand0U3RyYXRlZ3lFbmFibGVkID0gZmFsc2VcbiAgICB0aGlzLmF1dGhTdHJhdGVnaWVzID0gdGhpcy5jb25maWcuY29sbGVjdGlvbnMucmVkdWNlKChhdXRoU3RyYXRlZ2llcywgY29sbGVjdGlvbikgPT4ge1xuICAgICAgaWYgKGNvbGxlY3Rpb24/LmF1dGgpIHtcbiAgICAgICAgaWYgKGNvbGxlY3Rpb24uYXV0aC5zdHJhdGVnaWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBhdXRoU3RyYXRlZ2llcy5wdXNoKC4uLmNvbGxlY3Rpb24uYXV0aC5zdHJhdGVnaWVzKVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gMi4gaWYgYXBpIGtleSBlbmFibGVkLCBwdXNoIGFwaSBrZXkgc3RyYXRlZ3kgaW50byB0aGUgYXJyYXlcbiAgICAgICAgaWYgKGNvbGxlY3Rpb24uYXV0aD8udXNlQVBJS2V5KSB7XG4gICAgICAgICAgYXV0aFN0cmF0ZWdpZXMucHVzaCh7XG4gICAgICAgICAgICBuYW1lOiBgJHtjb2xsZWN0aW9uLnNsdWd9LWFwaS1rZXlgLFxuICAgICAgICAgICAgYXV0aGVudGljYXRlOiBBUElLZXlBdXRoZW50aWNhdGlvbihjb2xsZWN0aW9uKSxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gMy4gaWYgbG9jYWxTdHJhdGVneSBmbGFnIGlzIHRydWVcbiAgICAgICAgaWYgKCFjb2xsZWN0aW9uLmF1dGguZGlzYWJsZUxvY2FsU3RyYXRlZ3kgJiYgIWp3dFN0cmF0ZWd5RW5hYmxlZCkge1xuICAgICAgICAgIGp3dFN0cmF0ZWd5RW5hYmxlZCA9IHRydWVcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gYXV0aFN0cmF0ZWdpZXNcbiAgICB9LCBbXSBhcyBBdXRoU3RyYXRlZ3lbXSlcblxuICAgIC8vIDQuIGlmIGVuYWJsZWQsIHB1c2ggand0IHN0cmF0ZWd5IGludG8gYXV0aFN0cmF0ZWdpZXMgbGFzdFxuICAgIGlmIChqd3RTdHJhdGVneUVuYWJsZWQpIHtcbiAgICAgIHRoaXMuYXV0aFN0cmF0ZWdpZXMucHVzaCh7XG4gICAgICAgIG5hbWU6ICdsb2NhbC1qd3QnLFxuICAgICAgICBhdXRoZW50aWNhdGU6IEpXVEF1dGhlbnRpY2F0aW9uLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAoIW9wdGlvbnMuZGlzYWJsZU9uSW5pdCkge1xuICAgICAgaWYgKHR5cGVvZiBvcHRpb25zLm9uSW5pdCA9PT0gJ2Z1bmN0aW9uJykgYXdhaXQgb3B0aW9ucy5vbkluaXQodGhpcylcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5jb25maWcub25Jbml0ID09PSAnZnVuY3Rpb24nKSBhd2FpdCB0aGlzLmNvbmZpZy5vbkluaXQodGhpcylcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgdXBkYXRlPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFVwZGF0ZU1hbnlPcHRpb25zPFQ+LFxuICApOiBQcm9taXNlPEJ1bGtPcGVyYXRpb25SZXN1bHQ8VD4+XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvbiBVcGRhdGUgb25lIG9yIG1vcmUgZG9jdW1lbnRzXG4gICAqIEBwYXJhbSBvcHRpb25zXG4gICAqIEByZXR1cm5zIFVwZGF0ZWQgZG9jdW1lbnQocylcbiAgICovXG4gIHVwZGF0ZTxUIGV4dGVuZHMga2V5b2YgVEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddPihcbiAgICBvcHRpb25zOiBVcGRhdGVCeUlET3B0aW9uczxUPixcbiAgKTogUHJvbWlzZTxUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ11bVF0+XG5cbiAgdXBkYXRlPFQgZXh0ZW5kcyBrZXlvZiBUR2VuZXJhdGVkVHlwZXNbJ2NvbGxlY3Rpb25zJ10+KFxuICAgIG9wdGlvbnM6IFVwZGF0ZU9wdGlvbnM8VD4sXG4gICk6IFByb21pc2U8QnVsa09wZXJhdGlvblJlc3VsdDxUPiB8IFRHZW5lcmF0ZWRUeXBlc1snY29sbGVjdGlvbnMnXVtUXT4ge1xuICAgIGNvbnN0IHsgdXBkYXRlIH0gPSBsb2NhbE9wZXJhdGlvbnNcbiAgICByZXR1cm4gdXBkYXRlPFQ+KHRoaXMsIG9wdGlvbnMpXG4gIH1cbn1cblxuY29uc3QgaW5pdGlhbGl6ZWQgPSBuZXcgQmFzZVBheWxvYWQoKVxuXG5leHBvcnQgZGVmYXVsdCBpbml0aWFsaXplZFxuXG5sZXQgY2FjaGVkID0gZ2xvYmFsLl9wYXlsb2FkXG5cbmlmICghY2FjaGVkKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1tdWx0aS1hc3NpZ25cbiAgY2FjaGVkID0gZ2xvYmFsLl9wYXlsb2FkID0geyBwYXlsb2FkOiBudWxsLCBwcm9taXNlOiBudWxsIH1cbn1cblxuZXhwb3J0IGNvbnN0IGdldFBheWxvYWQgPSBhc3luYyAob3B0aW9ucz86IEluaXRPcHRpb25zKTogUHJvbWlzZTxCYXNlUGF5bG9hZDxHZW5lcmF0ZWRUeXBlcz4+ID0+IHtcbiAgaWYgKGNhY2hlZC5wYXlsb2FkKSB7XG4gICAgcmV0dXJuIGNhY2hlZC5wYXlsb2FkXG4gIH1cblxuICBpZiAoIWNhY2hlZC5wcm9taXNlKSB7XG4gICAgY2FjaGVkLnByb21pc2UgPSBuZXcgQmFzZVBheWxvYWQ8R2VuZXJhdGVkVHlwZXM+KCkuaW5pdChvcHRpb25zKVxuICB9XG5cbiAgdHJ5IHtcbiAgICBjYWNoZWQucGF5bG9hZCA9IGF3YWl0IGNhY2hlZC5wcm9taXNlXG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBjYWNoZWQucHJvbWlzZSA9IG51bGxcbiAgICB0aHJvdyBlXG4gIH1cblxuICByZXR1cm4gY2FjaGVkLnBheWxvYWRcbn1cblxudHlwZSBHZW5lcmF0ZWRUeXBlcyA9IHtcbiAgY29sbGVjdGlvbnM6IHtcbiAgICBbc2x1ZzogbnVtYmVyIHwgc3RyaW5nIHwgc3ltYm9sXTogVHlwZVdpdGhJRCAmIFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIH1cbiAgZ2xvYmFsczoge1xuICAgIFtzbHVnOiBudW1iZXIgfCBzdHJpbmcgfCBzeW1ib2xdOiBHbG9iYWxUeXBlV2l0aElEICYgUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbiAgfVxufVxuXG50eXBlIFBheWxvYWQgPSBCYXNlUGF5bG9hZDxHZW5lcmF0ZWRUeXBlcz5cblxuaW50ZXJmYWNlIFJlcXVlc3RDb250ZXh0IHtcbiAgW2tleTogc3RyaW5nXTogdW5rbm93blxufVxuXG4vLyB0eXBlIERhdGFiYXNlQWRhcHRlciA9IEJhc2VEYXRhYmFzZUFkYXB0ZXJcblxuZXhwb3J0IHR5cGUgeyBHZW5lcmF0ZWRUeXBlcywgUGF5bG9hZCwgUmVxdWVzdENvbnRleHQgfVxuIl0sIm5hbWVzIjpbImNyeXB0byIsImRlY3J5cHQiLCJlbmNyeXB0IiwiQVBJS2V5QXV0aGVudGljYXRpb24iLCJKV1RBdXRoZW50aWNhdGlvbiIsImxvY2FsT3BlcmF0aW9ucyIsInZhbGlkYXRlIiwiYnVpbGRFbWFpbCIsImRlZmF1bHRzIiwiZW1haWxEZWZhdWx0cyIsInNlbmRFbWFpbCIsImxvY2FsR2xvYmFsT3BlcmF0aW9ucyIsIkxvZ2dlciIsInNlcnZlckluaXQiLCJzZXJ2ZXJJbml0VGVsZW1ldHJ5IiwiQmFzZVBheWxvYWQiLCJhdXRoU3RyYXRlZ2llcyIsImNvbGxlY3Rpb25zIiwiY29uZmlnIiwiY3JlYXRlIiwib3B0aW9ucyIsImRiIiwiZW1haWwiLCJlbWFpbE9wdGlvbnMiLCJleHRlbnNpb25zIiwiZmluZCIsImZpbmRCeUlEIiwiZmluZEdsb2JhbCIsImZpbmRPbmUiLCJmaW5kR2xvYmFsVmVyc2lvbkJ5SUQiLCJmaW5kVmVyc2lvbkJ5SUQiLCJmaW5kR2xvYmFsVmVyc2lvbnMiLCJmaW5kVmVyc2lvbnMiLCJmb3Jnb3RQYXNzd29yZCIsImF1dGgiLCJnZXRBUElVUkwiLCJzZXJ2ZXJVUkwiLCJyb3V0ZXMiLCJhcGkiLCJnZXRBZG1pblVSTCIsImFkbWluIiwiZ2xvYmFscyIsImxvZ2dlciIsImxvZ2luIiwicmVzZXRQYXNzd29yZCIsInJlc3RvcmVHbG9iYWxWZXJzaW9uIiwicmVzdG9yZVZlcnNpb24iLCJzY2hlbWEiLCJzZWNyZXQiLCJ0eXBlcyIsInVubG9jayIsInVwZGF0ZUdsb2JhbCIsInVwZGF0ZSIsInZhbGlkYXRpb25SdWxlcyIsInZlcmlmeUVtYWlsIiwidmVyc2lvbnMiLCJkZWxldGUiLCJkZWxldGVMb2NhbCIsImluaXQiLCJsb2dnZXJPcHRpb25zIiwibG9nZ2VyRGVzdGluYXRpb24iLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJFcnJvciIsImNyZWF0ZUhhc2giLCJkaWdlc3QiLCJzbGljZSIsImZvckVhY2giLCJjb2xsZWN0aW9uIiwic2x1ZyIsInBheWxvYWQiLCJkaXNhYmxlREJDb25uZWN0IiwiY29ubmVjdCIsImluZm8iLCJ3YXJuIiwiYmluZCIsImp3dFN0cmF0ZWd5RW5hYmxlZCIsInJlZHVjZSIsInN0cmF0ZWdpZXMiLCJsZW5ndGgiLCJwdXNoIiwidXNlQVBJS2V5IiwibmFtZSIsImF1dGhlbnRpY2F0ZSIsImRpc2FibGVMb2NhbFN0cmF0ZWd5IiwiZGlzYWJsZU9uSW5pdCIsIm9uSW5pdCIsImluaXRpYWxpemVkIiwiY2FjaGVkIiwiZ2xvYmFsIiwiX3BheWxvYWQiLCJwcm9taXNlIiwiZ2V0UGF5bG9hZCIsImUiXSwibWFwcGluZ3MiOiJBQUtBLE9BQU9BLFlBQVksU0FBUTtBQXVDM0IsU0FBU0MsT0FBTyxFQUFFQyxPQUFPLFFBQVEsZ0JBQWU7QUFDaEQsU0FBU0Msb0JBQW9CLFFBQVEsMkJBQTBCO0FBQy9ELFNBQVNDLGlCQUFpQixRQUFRLHdCQUF1QjtBQUN6RCxPQUFPQyxxQkFBcUIsaUNBQWdDO0FBQzVELE9BQU9DLGNBQWMsb0JBQW1CO0FBQ3hDLE9BQU9DLGdCQUFnQixnQkFBZTtBQUN0QyxTQUFTQyxZQUFZQyxhQUFhLFFBQVEsbUJBQWtCO0FBQzVELE9BQU9DLGVBQWUsb0JBQW1CO0FBQ3pDLE9BQU9DLDJCQUEyQiw2QkFBNEI7QUFDOUQsT0FBT0MsWUFBWSxxQkFBb0I7QUFDdkMsU0FBU0MsY0FBY0MsbUJBQW1CLFFBQVEsMENBQXlDO0FBRTNGOztDQUVDLEdBQ0QsT0FBTyxNQUFNQztJQUNYQyxlQUE4QjtJQUU5QkMsY0FFSSxDQUFDLEVBQUM7SUFFTkMsT0FB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
|
|
@@ -1,16 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* sets request locale
|
|
3
|
-
*/
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
Object.defineProperty(exports, "default", {
|
|
8
|
-
enumerable: true,
|
|
9
|
-
get: function() {
|
|
10
|
-
return localizationMiddleware;
|
|
11
|
-
}
|
|
12
|
-
});
|
|
13
|
-
function localizationMiddleware(req, res, next) {
|
|
3
|
+
*/ export default function localizationMiddleware(req, res, next) {
|
|
14
4
|
const localization = req.payload.config.localization;
|
|
15
5
|
if (!localization) {
|
|
16
6
|
next();
|
|
@@ -44,4 +34,4 @@ function localizationMiddleware(req, res, next) {
|
|
|
44
34
|
next();
|
|
45
35
|
}
|
|
46
36
|
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2NhbGl6YXRpb24vbWlkZGxld2FyZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIHNldHMgcmVxdWVzdCBsb2NhbGVcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbG9jYWxpemF0aW9uTWlkZGxld2FyZShyZXEsIHJlcywgbmV4dCkge1xuICBjb25zdCBsb2NhbGl6YXRpb24gPSByZXEucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uXG4gIGlmICghbG9jYWxpemF0aW9uKSB7XG4gICAgbmV4dCgpXG4gICAgcmV0dXJuXG4gIH1cblxuICBjb25zdCB2YWxpZExvY2FsZXMgPSBbLi4ubG9jYWxpemF0aW9uLmxvY2FsZUNvZGVzLCAnYWxsJ11cbiAgY29uc3QgdmFsaWRGYWxsYmFja0xvY2FsZXMgPSBbLi4ubG9jYWxpemF0aW9uLmxvY2FsZUNvZGVzLCAnbnVsbCddXG5cbiAgbGV0IHJlcXVlc3RlZExvY2FsZSA9IHJlcS5xdWVyeS5sb2NhbGUgfHwgbG9jYWxpemF0aW9uLmRlZmF1bHRMb2NhbGVcbiAgbGV0IHJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlID0gcmVxLnF1ZXJ5WydmYWxsYmFjay1sb2NhbGUnXVxuXG4gIGlmIChyZXEuYm9keSkge1xuICAgIGlmIChyZXEuYm9keS5sb2NhbGUpIHJlcXVlc3RlZExvY2FsZSA9IHJlcS5ib2R5LmxvY2FsZVxuICAgIGlmIChyZXEuYm9keVsnZmFsbGJhY2stbG9jYWxlJ10pIHtcbiAgICAgIHJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlID0gcmVxLmJvZHlbJ2ZhbGxiYWNrLWxvY2FsZSddXG4gICAgfVxuICB9XG5cbiAgaWYgKHJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlID09PSAnbm9uZScpIHJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlID0gJ251bGwnXG4gIGlmIChyZXF1ZXN0ZWRMb2NhbGUgPT09ICcqJyB8fCByZXF1ZXN0ZWRMb2NhbGUgPT09ICdhbGwnKSB7XG4gICAgcmVxdWVzdGVkTG9jYWxlID0gJ2FsbCdcbiAgfVxuICByZXEuZmFsbGJhY2tMb2NhbGUgPSB2YWxpZEZhbGxiYWNrTG9jYWxlcy5maW5kKChsb2NhbGUpID0+IGxvY2FsZSA9PT0gcmVxdWVzdGVkRmFsbGJhY2tMb2NhbGUpXG5cbiAgcmVxLmxvY2FsZSA9IHZhbGlkTG9jYWxlcy5maW5kKChsb2NhbGUpID0+
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2NhbGl6YXRpb24vbWlkZGxld2FyZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIHNldHMgcmVxdWVzdCBsb2NhbGVcbiAqL1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbG9jYWxpemF0aW9uTWlkZGxld2FyZShyZXEsIHJlcywgbmV4dCkge1xuICBjb25zdCBsb2NhbGl6YXRpb24gPSByZXEucGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uXG4gIGlmICghbG9jYWxpemF0aW9uKSB7XG4gICAgbmV4dCgpXG4gICAgcmV0dXJuXG4gIH1cblxuICBjb25zdCB2YWxpZExvY2FsZXMgPSBbLi4ubG9jYWxpemF0aW9uLmxvY2FsZUNvZGVzLCAnYWxsJ11cbiAgY29uc3QgdmFsaWRGYWxsYmFja0xvY2FsZXMgPSBbLi4ubG9jYWxpemF0aW9uLmxvY2FsZUNvZGVzLCAnbnVsbCddXG5cbiAgbGV0IHJlcXVlc3RlZExvY2FsZSA9IHJlcS5xdWVyeS5sb2NhbGUgfHwgbG9jYWxpemF0aW9uLmRlZmF1bHRMb2NhbGVcbiAgbGV0IHJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlID0gcmVxLnF1ZXJ5WydmYWxsYmFjay1sb2NhbGUnXVxuXG4gIGlmIChyZXEuYm9keSkge1xuICAgIGlmIChyZXEuYm9keS5sb2NhbGUpIHJlcXVlc3RlZExvY2FsZSA9IHJlcS5ib2R5LmxvY2FsZVxuICAgIGlmIChyZXEuYm9keVsnZmFsbGJhY2stbG9jYWxlJ10pIHtcbiAgICAgIHJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlID0gcmVxLmJvZHlbJ2ZhbGxiYWNrLWxvY2FsZSddXG4gICAgfVxuICB9XG5cbiAgaWYgKHJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlID09PSAnbm9uZScpIHJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlID0gJ251bGwnXG4gIGlmIChyZXF1ZXN0ZWRMb2NhbGUgPT09ICcqJyB8fCByZXF1ZXN0ZWRMb2NhbGUgPT09ICdhbGwnKSB7XG4gICAgcmVxdWVzdGVkTG9jYWxlID0gJ2FsbCdcbiAgfVxuICByZXEuZmFsbGJhY2tMb2NhbGUgPSB2YWxpZEZhbGxiYWNrTG9jYWxlcy5maW5kKChsb2NhbGUpID0+IGxvY2FsZSA9PT0gcmVxdWVzdGVkRmFsbGJhY2tMb2NhbGUpXG5cbiAgcmVxLmxvY2FsZSA9IHZhbGlkTG9jYWxlcy5maW5kKChsb2NhbGUpID0+IGxvY2FsZSA9PT0gcmVxdWVzdGVkTG9jYWxlKVxuXG4gIGlmICghcmVxLmZhbGxiYWNrTG9jYWxlKSB7XG4gICAgcmVxLmZhbGxiYWNrTG9jYWxlID1cbiAgICAgIGxvY2FsaXphdGlvbi5sb2NhbGVzLmZpbmQoKHsgY29kZSB9KSA9PiByZXEubG9jYWxlID09PSBjb2RlKT8uZmFsbGJhY2tMb2NhbGUgfHxcbiAgICAgIGxvY2FsaXphdGlvbi5kZWZhdWx0TG9jYWxlXG4gIH1cbiAgbmV4dCgpXG59XG4iXSwibmFtZXMiOlsibG9jYWxpemF0aW9uTWlkZGxld2FyZSIsInJlcSIsInJlcyIsIm5leHQiLCJsb2NhbGl6YXRpb24iLCJwYXlsb2FkIiwiY29uZmlnIiwidmFsaWRMb2NhbGVzIiwibG9jYWxlQ29kZXMiLCJ2YWxpZEZhbGxiYWNrTG9jYWxlcyIsInJlcXVlc3RlZExvY2FsZSIsInF1ZXJ5IiwibG9jYWxlIiwiZGVmYXVsdExvY2FsZSIsInJlcXVlc3RlZEZhbGxiYWNrTG9jYWxlIiwiYm9keSIsImZhbGxiYWNrTG9jYWxlIiwiZmluZCIsImxvY2FsZXMiLCJjb2RlIl0sIm1hcHBpbmdzIjoiQUFBQTs7Q0FFQyxHQUNELGVBQWUsU0FBU0EsdUJBQXVCQyxHQUFHLEVBQUVDLEdBQUcsRUFBRUMsSUFBSTtJQUMzRCxNQUFNQyxlQUFlSCxJQUFJSSxPQUFPLENBQUNDLE1BQU0sQ0FBQ0YsWUFBWTtJQUNwRCxJQUFJLENBQUNBLGNBQWM7UUFDakJEO1FBQ0E7SUFDRjtJQUVBLE1BQU1JLGVBQWU7V0FBSUgsYUFBYUksV0FBVztRQUFFO0tBQU07SUFDekQsTUFBTUMsdUJBQXVCO1dBQUlMLGFBQWFJLFdBQVc7UUFBRTtLQUFPO0lBRWxFLElBQUlFLGtCQUFrQlQsSUFBSVUsS0FBSyxDQUFDQyxNQUFNLElBQUlSLGFBQWFTLGFBQWE7SUFDcEUsSUFBSUMsMEJBQTBCYixJQUFJVSxLQUFLLENBQUMsa0JBQWtCO0lBRTFELElBQUlWLElBQUljLElBQUksRUFBRTtRQUNaLElBQUlkLElBQUljLElBQUksQ0FBQ0gsTUFBTSxFQUFFRixrQkFBa0JULElBQUljLElBQUksQ0FBQ0gsTUFBTTtRQUN0RCxJQUFJWCxJQUFJYyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDL0JELDBCQUEwQmIsSUFBSWMsSUFBSSxDQUFDLGtCQUFrQjtRQUN2RDtJQUNGO0lBRUEsSUFBSUQsNEJBQTRCLFFBQVFBLDBCQUEwQjtJQUNsRSxJQUFJSixvQkFBb0IsT0FBT0Esb0JBQW9CLE9BQU87UUFDeERBLGtCQUFrQjtJQUNwQjtJQUNBVCxJQUFJZSxjQUFjLEdBQUdQLHFCQUFxQlEsSUFBSSxDQUFDLENBQUNMLFNBQVdBLFdBQVdFO0lBRXRFYixJQUFJVyxNQUFNLEdBQUdMLGFBQWFVLElBQUksQ0FBQyxDQUFDTCxTQUFXQSxXQUFXRjtJQUV0RCxJQUFJLENBQUNULElBQUllLGNBQWMsRUFBRTtRQUN2QmYsSUFBSWUsY0FBYyxHQUNoQlosYUFBYWMsT0FBTyxDQUFDRCxJQUFJLENBQUMsQ0FBQyxFQUFFRSxJQUFJLEVBQUUsR0FBS2xCLElBQUlXLE1BQU0sS0FBS08sT0FBT0gsa0JBQzlEWixhQUFhUyxhQUFhO0lBQzlCO0lBQ0FWO0FBQ0YifQ==
|
|
@@ -1,19 +1,9 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
1
|
const sanitizeFallbackLocale = (fallbackLocale)=>{
|
|
12
2
|
if (fallbackLocale === 'null' || fallbackLocale === 'none' || fallbackLocale === 'false' || fallbackLocale === false || fallbackLocale === null) {
|
|
13
3
|
return null;
|
|
14
4
|
}
|
|
15
5
|
return fallbackLocale;
|
|
16
6
|
};
|
|
17
|
-
|
|
7
|
+
export default sanitizeFallbackLocale;
|
|
18
8
|
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2NhbGl6YXRpb24vc2FuaXRpemVGYWxsYmFja0xvY2FsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBzYW5pdGl6ZUZhbGxiYWNrTG9jYWxlID0gKGZhbGxiYWNrTG9jYWxlKSA9PiB7XG4gIGlmIChcbiAgICBmYWxsYmFja0xvY2FsZSA9PT0gJ251bGwnIHx8XG4gICAgZmFsbGJhY2tMb2NhbGUgPT09ICdub25lJyB8fFxuICAgIGZhbGxiYWNrTG9jYWxlID09PSAnZmFsc2UnIHx8XG4gICAgZmFsbGJhY2tMb2NhbGUgPT09IGZhbHNlIHx8XG4gICAgZmFsbGJhY2tMb2NhbGUgPT09IG51bGxcbiAgKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHJldHVybiBmYWxsYmFja0xvY2FsZVxufVxuXG5leHBvcnQgZGVmYXVsdCBzYW5pdGl6ZUZhbGxiYWNrTG9jYWxlXG4iXSwibmFtZXMiOlsic2FuaXRpemVGYWxsYmFja0xvY2FsZSIsImZhbGxiYWNrTG9jYWxlIl0sIm1hcHBpbmdzIjoiQUFBQSxNQUFNQSx5QkFBeUIsQ0FBQ0M7SUFDOUIsSUFDRUEsbUJBQW1CLFVBQ25CQSxtQkFBbUIsVUFDbkJBLG1CQUFtQixXQUNuQkEsbUJBQW1CLFNBQ25CQSxtQkFBbUIsTUFDbkI7UUFDQSxPQUFPO0lBQ1Q7SUFFQSxPQUFPQTtBQUNUO0FBRUEsZUFBZUQsdUJBQXNCIn0=
|
|
@@ -1,14 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "deleteUserPreferences", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return deleteUserPreferences;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const deleteUserPreferences = async ({ collectionConfig, ids, payload, req })=>{
|
|
1
|
+
export const deleteUserPreferences = async ({ collectionConfig, ids, payload, req })=>{
|
|
12
2
|
if (collectionConfig.auth) {
|
|
13
3
|
await payload.db.deleteMany({
|
|
14
4
|
collection: 'payload-preferences',
|
|
@@ -40,4 +30,4 @@ const deleteUserPreferences = async ({ collectionConfig, ids, payload, req })=>{
|
|
|
40
30
|
});
|
|
41
31
|
};
|
|
42
32
|
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcmVmZXJlbmNlcy9kZWxldGVVc2VyUHJlZmVyZW5jZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQYXlsb2FkIH0gZnJvbSAnLi4nXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfSBmcm9tICcuLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0IH0gZnJvbSAnLi4vdHlwZXMnXG5cbnR5cGUgQXJncyA9IHtcbiAgY29sbGVjdGlvbkNvbmZpZzogU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZ1xuICAvKipcbiAgICogVXNlciBJRHMgdG8gZGVsZXRlXG4gICAqL1xuICBpZHM6IChudW1iZXIgfCBzdHJpbmcpW11cbiAgcGF5bG9hZDogUGF5bG9hZFxuICByZXE6IFBheWxvYWRSZXF1ZXN0XG59XG5leHBvcnQgY29uc3QgZGVsZXRlVXNlclByZWZlcmVuY2VzID0gYXN5bmMgKHsgY29sbGVjdGlvbkNvbmZpZywgaWRzLCBwYXlsb2FkLCByZXEgfTogQXJncykgPT4ge1xuICBpZiAoY29sbGVjdGlvbkNvbmZpZy5hdXRoKSB7XG4gICAgYXdhaXQgcGF5bG9hZC5kYi5kZWxldGVNYW55KHtcbiAgICAgIGNvbGxlY3Rpb246ICdwYXlsb2FkLXByZWZlcmVuY2VzJyxcbiAgICAgIHJlcSxcbiAgICAgIHdoZXJlOiB7XG4gICAgICAgIGFuZDogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgICd1c2VyLnZhbHVlJzogeyBpbjogaWRzIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICAndXNlci5yZWxhdGlvblRvJzogeyBlcXVhbHM6IGNvbGxlY3Rpb25Db25maWcuc2x1ZyB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0pXG4gIH1cbiAgYXdhaXQgcGF5bG9hZC5kYi5kZWxldGVNYW55KHtcbiAgICBjb2xsZWN0aW9uOiAncGF5bG9hZC1wcmVmZXJlbmNlcycsXG4gICAgcmVxLFxuICAgIHdoZXJlOiB7XG4gICAgICBrZXk6IHsgaW46IGlkcy5tYXAoKGlkKSA9PiBgY29sbGVjdGlvbi0ke2NvbGxlY3Rpb25Db25maWcuc2x1Z30tJHtpZH1gKSB9LFxuICAgIH0sXG4gIH0pXG59XG4iXSwibmFtZXMiOlsiZGVsZXRlVXNlclByZWZlcmVuY2VzIiwiY29sbGVjdGlvbkNvbmZpZyIsImlkcyIsInBheWxvYWQiLCJyZXEiLCJhdXRoIiwiZGIiLCJkZWxldGVNYW55IiwiY29sbGVjdGlvbiIsIndoZXJlIiwiYW5kIiwiaW4iLCJlcXVhbHMiLCJzbHVnIiwia2V5IiwibWFwIiwiaWQiXSwibWFwcGluZ3MiOiJBQWFBLE9BQU8sTUFBTUEsd0JBQXdCLE9BQU8sRUFBRUMsZ0JBQWdCLEVBQUVDLEdBQUcsRUFBRUMsT0FBTyxFQUFFQyxHQUFHLEVBQVE7SUFDdkYsSUFBSUgsaUJBQWlCSSxJQUFJLEVBQUU7UUFDekIsTUFBTUYsUUFBUUcsRUFBRSxDQUFDQyxVQUFVLENBQUM7WUFDMUJDLFlBQVk7WUFDWko7WUFDQUssT0FBTztnQkFDTEMsS0FBSztvQkFDSDt3QkFDRSxjQUFjOzRCQUFFQyxJQUFJVDt3QkFBSTtvQkFDMUI7b0JBQ0E7d0JBQ0UsbUJBQW1COzRCQUFFVSxRQUFRWCxpQkFBaUJZLElBQUk7d0JBQUM7b0JBQ3JEO2lCQUNEO1lBQ0g7UUFDRjtJQUNGO0lBQ0EsTUFBTVYsUUFBUUcsRUFBRSxDQUFDQyxVQUFVLENBQUM7UUFDMUJDLFlBQVk7UUFDWko7UUFDQUssT0FBTztZQUNMSyxLQUFLO2dCQUFFSCxJQUFJVCxJQUFJYSxHQUFHLENBQUMsQ0FBQ0MsS0FBTyxDQUFDLFdBQVcsRUFBRWYsaUJBQWlCWSxJQUFJLENBQUMsQ0FBQyxFQUFFRyxHQUFHLENBQUM7WUFBRTtRQUMxRTtJQUNGO0FBQ0YsRUFBQyJ9
|
|
@@ -1,31 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _defaultAccess = /*#__PURE__*/ _interop_require_default(require("../../auth/defaultAccess"));
|
|
12
|
-
const _executeAccess = /*#__PURE__*/ _interop_require_default(require("../../auth/executeAccess"));
|
|
13
|
-
const _NotFound = /*#__PURE__*/ _interop_require_default(require("../../errors/NotFound"));
|
|
14
|
-
const _UnathorizedError = /*#__PURE__*/ _interop_require_default(require("../../errors/UnathorizedError"));
|
|
15
|
-
function _interop_require_default(obj) {
|
|
16
|
-
return obj && obj.__esModule ? obj : {
|
|
17
|
-
default: obj
|
|
18
|
-
};
|
|
19
|
-
}
|
|
1
|
+
import defaultAccess from '../../auth/defaultAccess';
|
|
2
|
+
import executeAccess from '../../auth/executeAccess';
|
|
3
|
+
import NotFound from '../../errors/NotFound';
|
|
4
|
+
import UnauthorizedError from '../../errors/UnathorizedError';
|
|
20
5
|
async function deleteOperation(args) {
|
|
21
6
|
const { key, overrideAccess, req: { payload }, req, user } = args;
|
|
22
7
|
if (!user) {
|
|
23
|
-
throw new
|
|
8
|
+
throw new UnauthorizedError(req.t);
|
|
24
9
|
}
|
|
25
10
|
if (!overrideAccess) {
|
|
26
|
-
await (
|
|
11
|
+
await executeAccess({
|
|
27
12
|
req
|
|
28
|
-
},
|
|
13
|
+
}, defaultAccess);
|
|
29
14
|
}
|
|
30
15
|
const where = {
|
|
31
16
|
and: [
|
|
@@ -56,8 +41,8 @@ async function deleteOperation(args) {
|
|
|
56
41
|
if (result.docs.length === 1) {
|
|
57
42
|
return result.docs[0];
|
|
58
43
|
}
|
|
59
|
-
throw new
|
|
44
|
+
throw new NotFound(req.t);
|
|
60
45
|
}
|
|
61
|
-
|
|
46
|
+
export default deleteOperation;
|
|
62
47
|
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcmVmZXJlbmNlcy9vcGVyYXRpb25zL2RlbGV0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERvY3VtZW50LCBXaGVyZSB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBQcmVmZXJlbmNlUmVxdWVzdCB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgZGVmYXVsdEFjY2VzcyBmcm9tICcuLi8uLi9hdXRoL2RlZmF1bHRBY2Nlc3MnXG5pbXBvcnQgZXhlY3V0ZUFjY2VzcyBmcm9tICcuLi8uLi9hdXRoL2V4ZWN1dGVBY2Nlc3MnXG5pbXBvcnQgTm90Rm91bmQgZnJvbSAnLi4vLi4vZXJyb3JzL05vdEZvdW5kJ1xuaW1wb3J0IFVuYXV0aG9yaXplZEVycm9yIGZyb20gJy4uLy4uL2Vycm9ycy9VbmF0aG9yaXplZEVycm9yJ1xuXG5hc3luYyBmdW5jdGlvbiBkZWxldGVPcGVyYXRpb24oYXJnczogUHJlZmVyZW5jZVJlcXVlc3QpOiBQcm9taXNlPERvY3VtZW50PiB7XG4gIGNvbnN0IHtcbiAgICBrZXksXG4gICAgb3ZlcnJpZGVBY2Nlc3MsXG4gICAgcmVxOiB7IHBheWxvYWQgfSxcbiAgICByZXEsXG4gICAgdXNlcixcbiAgfSA9IGFyZ3NcblxuICBpZiAoIXVzZXIpIHtcbiAgICB0aHJvdyBuZXcgVW5hdXRob3JpemVkRXJyb3IocmVxLnQpXG4gIH1cblxuICBpZiAoIW92ZXJyaWRlQWNjZXNzKSB7XG4gICAgYXdhaXQgZXhlY3V0ZUFjY2Vzcyh7IHJlcSB9LCBkZWZhdWx0QWNjZXNzKVxuICB9XG5cbiAgY29uc3Qgd2hlcmU6IFdoZXJlID0ge1xuICAgIGFuZDogW1xuICAgICAgeyBrZXk6IHsgZXF1YWxzOiBrZXkgfSB9LFxuICAgICAgeyAndXNlci52YWx1ZSc6IHsgZXF1YWxzOiB1c2VyLmlkIH0gfSxcbiAgICAgIHsgJ3VzZXIucmVsYXRpb25Ubyc6IHsgZXF1YWxzOiB1c2VyLmNvbGxlY3Rpb24gfSB9LFxuICAgIF0sXG4gIH1cblxuICBjb25zdCByZXN1bHQgPSBhd2FpdCBwYXlsb2FkLmRlbGV0ZSh7XG4gICAgY29sbGVjdGlvbjogJ3BheWxvYWQtcHJlZmVyZW5jZXMnLFxuICAgIGRlcHRoOiAwLFxuICAgIHVzZXIsXG4gICAgd2hlcmUsXG4gIH0pXG5cbiAgLy8gQHRzLWV4cGVjdC1lcnJvciAvLyBUT0RPOiBmaXggbGF0ZXJcbiAgaWYgKHJlc3VsdC5kb2NzLmxlbmd0aCA9PT0gMSkge1xuICAgIHJldHVybiByZXN1bHQuZG9jc1swXVxuICB9XG4gIHRocm93IG5ldyBOb3RGb3VuZChyZXEudClcbn1cblxuZXhwb3J0IGRlZmF1bHQgZGVsZXRlT3BlcmF0aW9uXG4iXSwibmFtZXMiOlsiZGVmYXVsdEFjY2VzcyIsImV4ZWN1dGVBY2Nlc3MiLCJOb3RGb3VuZCIsIlVuYXV0aG9yaXplZEVycm9yIiwiZGVsZXRlT3BlcmF0aW9uIiwiYXJncyIsImtleSIsIm92ZXJyaWRlQWNjZXNzIiwicmVxIiwicGF5bG9hZCIsInVzZXIiLCJ0Iiwid2hlcmUiLCJhbmQiLCJlcXVhbHMiLCJpZCIsImNvbGxlY3Rpb24iLCJyZXN1bHQiLCJkZWxldGUiLCJkZXB0aCIsImRvY3MiLCJsZW5ndGgiXSwibWFwcGluZ3MiOiJBQUdBLE9BQU9BLG1CQUFtQiwyQkFBMEI7QUFDcEQsT0FBT0MsbUJBQW1CLDJCQUEwQjtBQUNwRCxPQUFPQyxjQUFjLHdCQUF1QjtBQUM1QyxPQUFPQyx1QkFBdUIsZ0NBQStCO0FBRTdELGVBQWVDLGdCQUFnQkMsSUFBdUI7SUFDcEQsTUFBTSxFQUNKQyxHQUFHLEVBQ0hDLGNBQWMsRUFDZEMsS0FBSyxFQUFFQyxPQUFPLEVBQUUsRUFDaEJELEdBQUcsRUFDSEUsSUFBSSxFQUNMLEdBQUdMO0lBRUosSUFBSSxDQUFDSyxNQUFNO1FBQ1QsTUFBTSxJQUFJUCxrQkFBa0JLLElBQUlHLENBQUM7SUFDbkM7SUFFQSxJQUFJLENBQUNKLGdCQUFnQjtRQUNuQixNQUFNTixjQUFjO1lBQUVPO1FBQUksR0FBR1I7SUFDL0I7SUFFQSxNQUFNWSxRQUFlO1FBQ25CQyxLQUFLO1lBQ0g7Z0JBQUVQLEtBQUs7b0JBQUVRLFFBQVFSO2dCQUFJO1lBQUU7WUFDdkI7Z0JBQUUsY0FBYztvQkFBRVEsUUFBUUosS0FBS0ssRUFBRTtnQkFBQztZQUFFO1lBQ3BDO2dCQUFFLG1CQUFtQjtvQkFBRUQsUUFBUUosS0FBS00sVUFBVTtnQkFBQztZQUFFO1NBQ2xEO0lBQ0g7SUFFQSxNQUFNQyxTQUFTLE1BQU1SLFFBQVFTLE1BQU0sQ0FBQztRQUNsQ0YsWUFBWTtRQUNaRyxPQUFPO1FBQ1BUO1FBQ0FFO0lBQ0Y7SUFFQSxzQ0FBc0M7SUFDdEMsSUFBSUssT0FBT0csSUFBSSxDQUFDQyxNQUFNLEtBQUssR0FBRztRQUM1QixPQUFPSixPQUFPRyxJQUFJLENBQUMsRUFBRTtJQUN2QjtJQUNBLE1BQU0sSUFBSWxCLFNBQVNNLElBQUlHLENBQUM7QUFDMUI7QUFFQSxlQUFlUCxnQkFBZSJ9
|
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
|
3
|
-
value: true
|
|
4
|
-
});
|
|
5
|
-
Object.defineProperty(exports, "default", {
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return _default;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
1
|
async function findOne(args) {
|
|
12
2
|
const { key, req: { payload }, user } = args;
|
|
13
3
|
if (!user) return null;
|
|
@@ -40,6 +30,6 @@ async function findOne(args) {
|
|
|
40
30
|
if (docs.length === 0) return null;
|
|
41
31
|
return docs[0];
|
|
42
32
|
}
|
|
43
|
-
|
|
33
|
+
export default findOne;
|
|
44
34
|
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wcmVmZXJlbmNlcy9vcGVyYXRpb25zL2ZpbmRPbmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBHZW5lcmF0ZWRUeXBlcyB9IGZyb20gJy4uLy4uLydcbmltcG9ydCB0eXBlIHsgV2hlcmUgfSBmcm9tICcuLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgUHJlZmVyZW5jZVJlcXVlc3QgfSBmcm9tICcuLi90eXBlcydcblxuYXN5bmMgZnVuY3Rpb24gZmluZE9uZShcbiAgYXJnczogUHJlZmVyZW5jZVJlcXVlc3QsXG4pOiBQcm9taXNlPEdlbmVyYXRlZFR5cGVzWydjb2xsZWN0aW9ucyddWydfcHJlZmVyZW5jZSddPiB7XG4gIGNvbnN0IHtcbiAgICBrZXksXG4gICAgcmVxOiB7IHBheWxvYWQgfSxcbiAgICB1c2VyLFxuICB9ID0gYXJnc1xuXG4gIGlmICghdXNlcikgcmV0dXJuIG51bGxcblxuICBjb25zdCB3aGVyZTogV2hlcmUgPSB7XG4gICAgYW5kOiBbXG4gICAgICB7IGtleTogeyBlcXVhbHM6IGtleSB9IH0sXG4gICAgICB7ICd1c2VyLnZhbHVlJzogeyBlcXVhbHM6IHVzZXIuaWQgfSB9LFxuICAgICAgeyAndXNlci5yZWxhdGlvblRvJzogeyBlcXVhbHM6IHVzZXIuY29sbGVjdGlvbiB9IH0sXG4gICAgXSxcbiAgfVxuXG4gIGNvbnN0IHsgZG9jcyB9ID0gYXdhaXQgcGF5bG9hZC5maW5kKHtcbiAgICBjb2xsZWN0aW9uOiAncGF5bG9hZC1wcmVmZXJlbmNlcycsXG4gICAgZGVwdGg6IDAsXG4gICAgcGFnaW5hdGlvbjogZmFsc2UsXG4gICAgdXNlcixcbiAgICB3aGVyZSxcbiAgfSlcblxuICBpZiAoZG9jcy5sZW5ndGggPT09IDApIHJldHVybiBudWxsXG5cbiAgcmV0dXJuIGRvY3NbMF1cbn1cblxuZXhwb3J0IGRlZmF1bHQgZmluZE9uZVxuIl0sIm5hbWVzIjpbImZpbmRPbmUiLCJhcmdzIiwia2V5IiwicmVxIiwicGF5bG9hZCIsInVzZXIiLCJ3aGVyZSIsImFuZCIsImVxdWFscyIsImlkIiwiY29sbGVjdGlvbiIsImRvY3MiLCJmaW5kIiwiZGVwdGgiLCJwYWdpbmF0aW9uIiwibGVuZ3RoIl0sIm1hcHBpbmdzIjoiQUFJQSxlQUFlQSxRQUNiQyxJQUF1QjtJQUV2QixNQUFNLEVBQ0pDLEdBQUcsRUFDSEMsS0FBSyxFQUFFQyxPQUFPLEVBQUUsRUFDaEJDLElBQUksRUFDTCxHQUFHSjtJQUVKLElBQUksQ0FBQ0ksTUFBTSxPQUFPO0lBRWxCLE1BQU1DLFFBQWU7UUFDbkJDLEtBQUs7WUFDSDtnQkFBRUwsS0FBSztvQkFBRU0sUUFBUU47Z0JBQUk7WUFBRTtZQUN2QjtnQkFBRSxjQUFjO29CQUFFTSxRQUFRSCxLQUFLSSxFQUFFO2dCQUFDO1lBQUU7WUFDcEM7Z0JBQUUsbUJBQW1CO29CQUFFRCxRQUFRSCxLQUFLSyxVQUFVO2dCQUFDO1lBQUU7U0FDbEQ7SUFDSDtJQUVBLE1BQU0sRUFBRUMsSUFBSSxFQUFFLEdBQUcsTUFBTVAsUUFBUVEsSUFBSSxDQUFDO1FBQ2xDRixZQUFZO1FBQ1pHLE9BQU87UUFDUEMsWUFBWTtRQUNaVDtRQUNBQztJQUNGO0lBRUEsSUFBSUssS0FBS0ksTUFBTSxLQUFLLEdBQUcsT0FBTztJQUU5QixPQUFPSixJQUFJLENBQUMsRUFBRTtBQUNoQjtBQUVBLGVBQWVYLFFBQU8ifQ==
|