payload 3.0.0-alpha.30 → 3.0.0-alpha.32
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.d.ts +1 -1
- package/auth.js +1 -1
- package/{bin.js → bin.cjs} +1 -1
- package/database.d.ts +2 -2
- package/database.js +1 -1
- package/dist/admin/RichText.d.ts +9 -5
- package/dist/admin/RichText.d.ts.map +1 -1
- package/dist/admin/RichText.js +1 -1
- package/dist/admin/elements/Cell.d.ts +2 -2
- package/dist/admin/elements/Cell.d.ts.map +1 -1
- package/dist/admin/elements/Cell.js +1 -1
- package/dist/admin/elements/Tab.d.ts +3 -3
- package/dist/admin/elements/Tab.d.ts.map +1 -1
- package/dist/admin/elements/Tab.js +1 -1
- package/dist/admin/forms/Form.d.ts +1 -1
- package/dist/admin/forms/Form.d.ts.map +1 -1
- package/dist/admin/forms/Form.js +1 -1
- package/dist/admin/forms/RowLabel.d.ts +1 -1
- package/dist/admin/forms/RowLabel.d.ts.map +1 -1
- package/dist/admin/forms/RowLabel.js +1 -1
- package/dist/admin/types.d.ts +19 -19
- package/dist/admin/types.d.ts.map +1 -1
- package/dist/admin/types.js +1 -1
- package/dist/admin/views/types.d.ts +3 -3
- package/dist/admin/views/types.d.ts.map +1 -1
- package/dist/admin/views/types.js +1 -1
- package/dist/auth/baseFields/accountLock.d.ts +1 -1
- package/dist/auth/baseFields/accountLock.d.ts.map +1 -1
- package/dist/auth/baseFields/accountLock.js +1 -1
- package/dist/auth/baseFields/apiKey.d.ts +1 -1
- package/dist/auth/baseFields/apiKey.d.ts.map +1 -1
- package/dist/auth/baseFields/apiKey.js +1 -1
- package/dist/auth/baseFields/auth.d.ts +1 -1
- package/dist/auth/baseFields/auth.d.ts.map +1 -1
- package/dist/auth/baseFields/auth.js +1 -1
- package/dist/auth/baseFields/verification.d.ts +1 -1
- package/dist/auth/baseFields/verification.d.ts.map +1 -1
- package/dist/auth/baseFields/verification.js +1 -1
- package/dist/auth/cookies.d.ts +2 -2
- package/dist/auth/cookies.d.ts.map +1 -1
- package/dist/auth/cookies.js +1 -1
- package/dist/auth/defaultAccess.d.ts +1 -1
- package/dist/auth/defaultAccess.d.ts.map +1 -1
- package/dist/auth/defaultAccess.js +1 -1
- package/dist/auth/defaultUser.d.ts +1 -1
- package/dist/auth/defaultUser.d.ts.map +1 -1
- package/dist/auth/defaultUser.js +1 -1
- package/dist/auth/executeAccess.d.ts +2 -2
- package/dist/auth/executeAccess.d.ts.map +1 -1
- package/dist/auth/executeAccess.js +1 -1
- package/dist/auth/extractJWT.d.ts +1 -1
- package/dist/auth/extractJWT.d.ts.map +1 -1
- package/dist/auth/extractJWT.js +1 -1
- package/dist/auth/getAccessResults.d.ts +2 -2
- package/dist/auth/getAccessResults.d.ts.map +1 -1
- package/dist/auth/getAccessResults.js +1 -1
- package/dist/auth/getAuthenticatedUser.d.ts +1 -1
- package/dist/auth/getAuthenticatedUser.d.ts.map +1 -1
- package/dist/auth/getAuthenticatedUser.js +1 -1
- package/dist/auth/getFieldsToSign.d.ts +2 -2
- package/dist/auth/getFieldsToSign.d.ts.map +1 -1
- package/dist/auth/getFieldsToSign.js +1 -1
- package/dist/auth/operations/access.d.ts +2 -2
- package/dist/auth/operations/access.d.ts.map +1 -1
- package/dist/auth/operations/access.js +1 -1
- package/dist/auth/operations/forgotPassword.d.ts +2 -2
- package/dist/auth/operations/forgotPassword.d.ts.map +1 -1
- package/dist/auth/operations/forgotPassword.js +7 -3
- package/dist/auth/operations/init.d.ts +1 -1
- package/dist/auth/operations/init.d.ts.map +1 -1
- package/dist/auth/operations/init.js +1 -1
- package/dist/auth/operations/local/forgotPassword.d.ts +3 -3
- package/dist/auth/operations/local/forgotPassword.d.ts.map +1 -1
- package/dist/auth/operations/local/forgotPassword.js +1 -1
- package/dist/auth/operations/local/login.d.ts +4 -4
- package/dist/auth/operations/local/login.d.ts.map +1 -1
- package/dist/auth/operations/local/login.js +1 -1
- package/dist/auth/operations/local/resetPassword.d.ts +4 -4
- package/dist/auth/operations/local/resetPassword.d.ts.map +1 -1
- package/dist/auth/operations/local/resetPassword.js +1 -1
- package/dist/auth/operations/local/unlock.d.ts +3 -3
- package/dist/auth/operations/local/unlock.d.ts.map +1 -1
- package/dist/auth/operations/local/unlock.js +1 -1
- package/dist/auth/operations/local/verifyEmail.d.ts +3 -3
- package/dist/auth/operations/local/verifyEmail.d.ts.map +1 -1
- package/dist/auth/operations/local/verifyEmail.js +1 -1
- package/dist/auth/operations/login.d.ts +7 -7
- package/dist/auth/operations/login.d.ts.map +1 -1
- package/dist/auth/operations/login.js +1 -1
- package/dist/auth/operations/logout.d.ts +2 -2
- package/dist/auth/operations/logout.d.ts.map +1 -1
- package/dist/auth/operations/logout.js +1 -1
- package/dist/auth/operations/me.d.ts +3 -3
- package/dist/auth/operations/me.d.ts.map +1 -1
- package/dist/auth/operations/me.js +1 -1
- package/dist/auth/operations/refresh.d.ts +3 -3
- package/dist/auth/operations/refresh.d.ts.map +1 -1
- package/dist/auth/operations/refresh.js +1 -1
- package/dist/auth/operations/registerFirstUser.d.ts +9 -9
- package/dist/auth/operations/registerFirstUser.d.ts.map +1 -1
- package/dist/auth/operations/registerFirstUser.js +1 -1
- package/dist/auth/operations/resetPassword.d.ts +2 -2
- package/dist/auth/operations/resetPassword.d.ts.map +1 -1
- package/dist/auth/operations/resetPassword.js +4 -3
- package/dist/auth/operations/unlock.d.ts +2 -2
- package/dist/auth/operations/unlock.d.ts.map +1 -1
- package/dist/auth/operations/unlock.js +4 -3
- package/dist/auth/operations/verifyEmail.d.ts +2 -2
- package/dist/auth/operations/verifyEmail.d.ts.map +1 -1
- package/dist/auth/operations/verifyEmail.js +2 -2
- package/dist/auth/sendVerificationEmail.d.ts +5 -5
- package/dist/auth/sendVerificationEmail.d.ts.map +1 -1
- package/dist/auth/sendVerificationEmail.js +1 -1
- package/dist/auth/strategies/apiKey.d.ts +2 -2
- package/dist/auth/strategies/apiKey.d.ts.map +1 -1
- package/dist/auth/strategies/apiKey.js +1 -1
- package/dist/auth/strategies/jwt.d.ts +1 -1
- package/dist/auth/strategies/jwt.d.ts.map +1 -1
- package/dist/auth/strategies/jwt.js +1 -1
- package/dist/auth/strategies/local/authenticate.d.ts +1 -1
- package/dist/auth/strategies/local/authenticate.d.ts.map +1 -1
- package/dist/auth/strategies/local/authenticate.js +1 -1
- package/dist/auth/strategies/local/incrementLoginAttempts.d.ts +3 -3
- package/dist/auth/strategies/local/incrementLoginAttempts.d.ts.map +1 -1
- package/dist/auth/strategies/local/incrementLoginAttempts.js +1 -1
- package/dist/auth/strategies/local/register.d.ts +3 -3
- package/dist/auth/strategies/local/register.d.ts.map +1 -1
- package/dist/auth/strategies/local/register.js +1 -1
- package/dist/auth/strategies/local/resetLoginAttempts.d.ts +3 -3
- package/dist/auth/strategies/local/resetLoginAttempts.d.ts.map +1 -1
- package/dist/auth/strategies/local/resetLoginAttempts.js +1 -1
- package/dist/auth/types.d.ts +2 -2
- package/dist/auth/types.d.ts.map +1 -1
- package/dist/auth/types.js +1 -1
- package/dist/bin/generateTypes.d.ts +1 -1
- package/dist/bin/generateTypes.d.ts.map +1 -1
- package/dist/bin/generateTypes.js +1 -1
- package/dist/bin/index.js +1 -1
- package/dist/collections/config/build.d.ts +1 -1
- package/dist/collections/config/build.d.ts.map +1 -1
- package/dist/collections/config/build.js +1 -1
- package/dist/collections/config/sanitize.d.ts +2 -2
- package/dist/collections/config/sanitize.d.ts.map +1 -1
- package/dist/collections/config/sanitize.js +1 -1
- package/dist/collections/config/types.d.ts +9 -9
- package/dist/collections/config/types.d.ts.map +1 -1
- package/dist/collections/config/types.js +1 -1
- package/dist/collections/dataloader.d.ts +2 -2
- package/dist/collections/dataloader.d.ts.map +1 -1
- package/dist/collections/dataloader.js +1 -1
- package/dist/collections/operations/create.d.ts +9 -9
- package/dist/collections/operations/create.d.ts.map +1 -1
- package/dist/collections/operations/create.js +1 -1
- package/dist/collections/operations/delete.d.ts +9 -9
- package/dist/collections/operations/delete.d.ts.map +1 -1
- package/dist/collections/operations/delete.js +1 -1
- package/dist/collections/operations/deleteByID.d.ts +2 -2
- package/dist/collections/operations/deleteByID.d.ts.map +1 -1
- package/dist/collections/operations/deleteByID.js +1 -1
- package/dist/collections/operations/docAccess.d.ts +3 -3
- package/dist/collections/operations/docAccess.d.ts.map +1 -1
- package/dist/collections/operations/docAccess.js +1 -1
- package/dist/collections/operations/find.d.ts +3 -3
- package/dist/collections/operations/find.d.ts.map +1 -1
- package/dist/collections/operations/find.js +1 -1
- package/dist/collections/operations/findByID.d.ts +2 -2
- package/dist/collections/operations/findByID.d.ts.map +1 -1
- package/dist/collections/operations/findByID.js +1 -1
- package/dist/collections/operations/findVersionByID.d.ts +3 -3
- package/dist/collections/operations/findVersionByID.d.ts.map +1 -1
- package/dist/collections/operations/findVersionByID.js +1 -1
- package/dist/collections/operations/findVersions.d.ts +4 -4
- package/dist/collections/operations/findVersions.d.ts.map +1 -1
- package/dist/collections/operations/findVersions.js +1 -1
- package/dist/collections/operations/local/create.d.ts +4 -4
- package/dist/collections/operations/local/create.d.ts.map +1 -1
- package/dist/collections/operations/local/create.js +1 -1
- package/dist/collections/operations/local/delete.d.ts +5 -5
- package/dist/collections/operations/local/delete.d.ts.map +1 -1
- package/dist/collections/operations/local/delete.js +1 -1
- package/dist/collections/operations/local/find.d.ts +3 -3
- package/dist/collections/operations/local/find.d.ts.map +1 -1
- package/dist/collections/operations/local/find.js +1 -1
- package/dist/collections/operations/local/findByID.d.ts +2 -2
- package/dist/collections/operations/local/findByID.d.ts.map +1 -1
- package/dist/collections/operations/local/findByID.js +1 -1
- package/dist/collections/operations/local/findVersionByID.d.ts +3 -3
- package/dist/collections/operations/local/findVersionByID.d.ts.map +1 -1
- package/dist/collections/operations/local/findVersionByID.js +1 -1
- package/dist/collections/operations/local/findVersions.d.ts +4 -4
- package/dist/collections/operations/local/findVersions.d.ts.map +1 -1
- package/dist/collections/operations/local/findVersions.js +1 -1
- package/dist/collections/operations/local/restoreVersion.d.ts +2 -2
- package/dist/collections/operations/local/restoreVersion.d.ts.map +1 -1
- package/dist/collections/operations/local/restoreVersion.js +1 -1
- package/dist/collections/operations/local/update.d.ts +4 -4
- package/dist/collections/operations/local/update.d.ts.map +1 -1
- package/dist/collections/operations/local/update.js +1 -1
- package/dist/collections/operations/restoreVersion.d.ts +2 -2
- package/dist/collections/operations/restoreVersion.d.ts.map +1 -1
- package/dist/collections/operations/restoreVersion.js +1 -1
- package/dist/collections/operations/update.d.ts +7 -7
- package/dist/collections/operations/update.d.ts.map +1 -1
- package/dist/collections/operations/update.js +1 -1
- package/dist/collections/operations/updateByID.d.ts +9 -9
- package/dist/collections/operations/updateByID.d.ts.map +1 -1
- package/dist/collections/operations/updateByID.js +1 -1
- package/dist/collections/operations/utils.d.ts +12 -12
- package/dist/collections/operations/utils.d.ts.map +1 -1
- package/dist/collections/operations/utils.js +1 -1
- package/dist/config/build.d.ts +1 -1
- package/dist/config/build.d.ts.map +1 -1
- package/dist/config/build.js +1 -1
- package/dist/config/createClientConfig.d.ts +2 -2
- package/dist/config/createClientConfig.d.ts.map +1 -1
- package/dist/config/createClientConfig.js +1 -1
- package/dist/config/defaults.d.ts +1 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +1 -1
- package/dist/config/load.d.ts +1 -1
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +1 -1
- package/dist/config/sanitize.d.ts +1 -1
- package/dist/config/sanitize.d.ts.map +1 -1
- package/dist/config/sanitize.js +1 -1
- package/dist/config/types.d.ts +10 -10
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +1 -1
- package/dist/config/validate.d.ts +1 -1
- package/dist/config/validate.d.ts.map +1 -1
- package/dist/config/validate.js +1 -1
- package/dist/database/combineQueries.d.ts +1 -1
- package/dist/database/combineQueries.d.ts.map +1 -1
- package/dist/database/combineQueries.js +1 -1
- package/dist/database/createDatabaseAdapter.d.ts +1 -1
- package/dist/database/createDatabaseAdapter.d.ts.map +1 -1
- package/dist/database/createDatabaseAdapter.js +1 -1
- package/dist/database/flattenWhereToOperators.d.ts +1 -1
- package/dist/database/flattenWhereToOperators.d.ts.map +1 -1
- package/dist/database/flattenWhereToOperators.js +1 -1
- package/dist/database/getLocalizedPaths.d.ts +3 -3
- package/dist/database/getLocalizedPaths.d.ts.map +1 -1
- package/dist/database/getLocalizedPaths.js +1 -1
- package/dist/database/migrations/createMigration.d.ts +1 -1
- package/dist/database/migrations/createMigration.d.ts.map +1 -1
- package/dist/database/migrations/createMigration.js +1 -1
- package/dist/database/migrations/getMigrations.d.ts +2 -2
- package/dist/database/migrations/getMigrations.d.ts.map +1 -1
- package/dist/database/migrations/getMigrations.js +1 -1
- package/dist/database/migrations/migrate.d.ts +1 -1
- package/dist/database/migrations/migrate.d.ts.map +1 -1
- package/dist/database/migrations/migrate.js +1 -1
- package/dist/database/migrations/migrateDown.d.ts +1 -1
- package/dist/database/migrations/migrateDown.d.ts.map +1 -1
- package/dist/database/migrations/migrateDown.js +1 -1
- package/dist/database/migrations/migrateRefresh.d.ts +1 -1
- package/dist/database/migrations/migrateRefresh.d.ts.map +1 -1
- package/dist/database/migrations/migrateRefresh.js +1 -1
- package/dist/database/migrations/migrateReset.d.ts +1 -1
- package/dist/database/migrations/migrateReset.d.ts.map +1 -1
- package/dist/database/migrations/migrateReset.js +1 -1
- package/dist/database/migrations/migrateStatus.d.ts +1 -1
- package/dist/database/migrations/migrateStatus.d.ts.map +1 -1
- package/dist/database/migrations/migrateStatus.js +1 -1
- package/dist/database/migrations/migrationsCollection.d.ts +1 -1
- package/dist/database/migrations/migrationsCollection.d.ts.map +1 -1
- package/dist/database/migrations/migrationsCollection.js +1 -1
- package/dist/database/migrations/readMigrationFiles.d.ts +2 -2
- package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
- package/dist/database/migrations/readMigrationFiles.js +1 -1
- package/dist/database/queryValidation/types.d.ts +2 -2
- package/dist/database/queryValidation/types.d.ts.map +1 -1
- package/dist/database/queryValidation/types.js +1 -1
- package/dist/database/queryValidation/validateQueryPaths.d.ts +5 -5
- package/dist/database/queryValidation/validateQueryPaths.d.ts.map +1 -1
- package/dist/database/queryValidation/validateQueryPaths.js +1 -1
- package/dist/database/queryValidation/validateSearchParams.d.ts +5 -5
- package/dist/database/queryValidation/validateSearchParams.d.ts.map +1 -1
- package/dist/database/queryValidation/validateSearchParams.js +1 -1
- package/dist/database/types.d.ts +4 -4
- package/dist/database/types.d.ts.map +1 -1
- package/dist/database/types.js +1 -1
- package/dist/email/build.d.ts +2 -2
- package/dist/email/build.d.ts.map +1 -1
- package/dist/email/build.js +1 -1
- package/dist/email/defaults.d.ts +1 -1
- package/dist/email/defaults.d.ts.map +1 -1
- package/dist/email/defaults.js +1 -1
- package/dist/email/mockHandler.d.ts +2 -2
- package/dist/email/mockHandler.d.ts.map +1 -1
- package/dist/email/mockHandler.js +1 -1
- package/dist/errors/DuplicateGlobal.d.ts +1 -1
- package/dist/errors/DuplicateGlobal.d.ts.map +1 -1
- package/dist/errors/DuplicateGlobal.js +1 -1
- package/dist/errors/InvalidFieldName.d.ts +1 -1
- package/dist/errors/InvalidFieldName.d.ts.map +1 -1
- package/dist/errors/InvalidFieldName.js +1 -1
- package/dist/errors/InvalidFieldRelationship.d.ts +1 -1
- package/dist/errors/InvalidFieldRelationship.d.ts.map +1 -1
- package/dist/errors/InvalidFieldRelationship.js +1 -1
- package/dist/errors/MissingFieldInputOptions.d.ts +1 -1
- package/dist/errors/MissingFieldInputOptions.d.ts.map +1 -1
- package/dist/errors/MissingFieldInputOptions.js +1 -1
- package/dist/errors/MissingFieldType.d.ts +1 -1
- package/dist/errors/MissingFieldType.d.ts.map +1 -1
- package/dist/errors/MissingFieldType.js +1 -1
- package/dist/errors/TimestampsRequired.d.ts +1 -1
- package/dist/errors/TimestampsRequired.d.ts.map +1 -1
- package/dist/errors/TimestampsRequired.js +1 -1
- package/dist/exports/auth.d.ts +1 -1
- package/dist/exports/auth.d.ts.map +1 -1
- package/dist/exports/auth.js +1 -1
- package/dist/exports/database.d.ts +2 -2
- package/dist/exports/database.d.ts.map +1 -1
- package/dist/exports/database.js +1 -1
- package/dist/exports/types.d.ts +8 -8
- package/dist/exports/types.d.ts.map +1 -1
- package/dist/exports/types.js +1 -1
- package/dist/exports/utilities.d.ts +1 -0
- package/dist/exports/utilities.d.ts.map +1 -1
- package/dist/exports/utilities.js +2 -1
- package/dist/exports/versions.d.ts +1 -1
- package/dist/exports/versions.d.ts.map +1 -1
- package/dist/exports/versions.js +1 -1
- package/dist/fields/baseFields/baseBlockFields.d.ts +1 -1
- package/dist/fields/baseFields/baseBlockFields.d.ts.map +1 -1
- package/dist/fields/baseFields/baseBlockFields.js +1 -1
- package/dist/fields/baseFields/baseIDField.d.ts +1 -1
- package/dist/fields/baseFields/baseIDField.d.ts.map +1 -1
- package/dist/fields/baseFields/baseIDField.js +1 -1
- package/dist/fields/config/sanitize.d.ts +2 -2
- package/dist/fields/config/sanitize.d.ts.map +1 -1
- package/dist/fields/config/sanitize.js +1 -1
- package/dist/fields/config/sanitize.spec.js +1 -1
- package/dist/fields/config/types.d.ts +5 -5
- package/dist/fields/config/types.d.ts.map +1 -1
- package/dist/fields/config/types.js +1 -1
- package/dist/fields/hooks/afterChange/index.d.ts +3 -3
- package/dist/fields/hooks/afterChange/index.d.ts.map +1 -1
- package/dist/fields/hooks/afterChange/index.js +1 -1
- package/dist/fields/hooks/afterChange/promise.d.ts +4 -4
- package/dist/fields/hooks/afterChange/promise.d.ts.map +1 -1
- package/dist/fields/hooks/afterChange/promise.js +1 -1
- package/dist/fields/hooks/afterChange/traverseFields.d.ts +4 -4
- package/dist/fields/hooks/afterChange/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/afterChange/traverseFields.js +1 -1
- package/dist/fields/hooks/afterRead/index.d.ts +3 -3
- package/dist/fields/hooks/afterRead/index.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/index.js +1 -1
- package/dist/fields/hooks/afterRead/promise.d.ts +4 -4
- package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/promise.js +1 -1
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts +2 -2
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/relationshipPopulationPromise.js +1 -1
- package/dist/fields/hooks/afterRead/traverseFields.d.ts +4 -4
- package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/traverseFields.js +1 -1
- package/dist/fields/hooks/beforeChange/index.d.ts +3 -3
- package/dist/fields/hooks/beforeChange/index.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/index.js +1 -1
- package/dist/fields/hooks/beforeChange/promise.d.ts +4 -4
- package/dist/fields/hooks/beforeChange/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/promise.js +1 -1
- package/dist/fields/hooks/beforeChange/traverseFields.d.ts +4 -4
- package/dist/fields/hooks/beforeChange/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/beforeChange/traverseFields.js +1 -1
- package/dist/fields/hooks/beforeValidate/index.d.ts +3 -3
- package/dist/fields/hooks/beforeValidate/index.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/index.js +1 -1
- package/dist/fields/hooks/beforeValidate/promise.d.ts +4 -4
- package/dist/fields/hooks/beforeValidate/promise.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/promise.js +1 -1
- package/dist/fields/hooks/beforeValidate/traverseFields.d.ts +4 -4
- package/dist/fields/hooks/beforeValidate/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/beforeValidate/traverseFields.js +1 -1
- package/dist/fields/mergeBaseFields.d.ts +1 -1
- package/dist/fields/mergeBaseFields.d.ts.map +1 -1
- package/dist/fields/mergeBaseFields.js +1 -1
- package/dist/fields/validations.d.ts +6 -6
- package/dist/fields/validations.d.ts.map +1 -1
- package/dist/fields/validations.js +1 -1
- package/dist/fields/validations.spec.js +1 -1
- package/dist/globals/config/sanitize.d.ts +2 -2
- package/dist/globals/config/sanitize.d.ts.map +1 -1
- package/dist/globals/config/sanitize.js +1 -1
- package/dist/globals/config/types.d.ts +7 -7
- package/dist/globals/config/types.d.ts.map +1 -1
- package/dist/globals/config/types.js +1 -1
- package/dist/globals/operations/docAccess.d.ts +3 -3
- package/dist/globals/operations/docAccess.d.ts.map +1 -1
- package/dist/globals/operations/docAccess.js +1 -1
- package/dist/globals/operations/findOne.d.ts +2 -2
- package/dist/globals/operations/findOne.d.ts.map +1 -1
- package/dist/globals/operations/findOne.js +1 -1
- package/dist/globals/operations/findVersionByID.d.ts +3 -3
- package/dist/globals/operations/findVersionByID.d.ts.map +1 -1
- package/dist/globals/operations/findVersionByID.js +1 -1
- package/dist/globals/operations/findVersions.d.ts +4 -4
- package/dist/globals/operations/findVersions.d.ts.map +1 -1
- package/dist/globals/operations/findVersions.js +1 -1
- package/dist/globals/operations/local/findOne.d.ts +2 -2
- package/dist/globals/operations/local/findOne.d.ts.map +1 -1
- package/dist/globals/operations/local/findOne.js +1 -1
- package/dist/globals/operations/local/findVersionByID.d.ts +3 -3
- package/dist/globals/operations/local/findVersionByID.d.ts.map +1 -1
- package/dist/globals/operations/local/findVersionByID.js +1 -1
- package/dist/globals/operations/local/findVersions.d.ts +4 -4
- package/dist/globals/operations/local/findVersions.d.ts.map +1 -1
- package/dist/globals/operations/local/findVersions.js +1 -1
- package/dist/globals/operations/local/restoreVersion.d.ts +2 -2
- package/dist/globals/operations/local/restoreVersion.d.ts.map +1 -1
- package/dist/globals/operations/local/restoreVersion.js +1 -1
- package/dist/globals/operations/local/update.d.ts +2 -2
- package/dist/globals/operations/local/update.d.ts.map +1 -1
- package/dist/globals/operations/local/update.js +1 -1
- package/dist/globals/operations/restoreVersion.d.ts +3 -3
- package/dist/globals/operations/restoreVersion.d.ts.map +1 -1
- package/dist/globals/operations/restoreVersion.js +1 -1
- package/dist/globals/operations/update.d.ts +9 -9
- package/dist/globals/operations/update.d.ts.map +1 -1
- package/dist/globals/operations/update.js +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -2
- package/dist/preferences/deleteUserPreferences.d.ts +3 -3
- package/dist/preferences/deleteUserPreferences.d.ts.map +1 -1
- package/dist/preferences/deleteUserPreferences.js +1 -1
- package/dist/preferences/operations/delete.d.ts +2 -2
- package/dist/preferences/operations/delete.d.ts.map +1 -1
- package/dist/preferences/operations/delete.js +1 -1
- package/dist/preferences/operations/findOne.d.ts +2 -2
- package/dist/preferences/operations/findOne.d.ts.map +1 -1
- package/dist/preferences/operations/findOne.js +1 -1
- package/dist/preferences/operations/update.d.ts +1 -1
- package/dist/preferences/operations/update.d.ts.map +1 -1
- package/dist/preferences/operations/update.js +1 -1
- package/dist/preferences/preferencesCollection.d.ts +2 -2
- package/dist/preferences/preferencesCollection.d.ts.map +1 -1
- package/dist/preferences/preferencesCollection.js +1 -1
- package/dist/preferences/requestHandlers/delete.d.ts +1 -1
- package/dist/preferences/requestHandlers/delete.d.ts.map +1 -1
- package/dist/preferences/requestHandlers/delete.js +1 -1
- package/dist/preferences/requestHandlers/findOne.d.ts +1 -1
- package/dist/preferences/requestHandlers/findOne.d.ts.map +1 -1
- package/dist/preferences/requestHandlers/findOne.js +1 -1
- package/dist/preferences/requestHandlers/update.d.ts +1 -1
- package/dist/preferences/requestHandlers/update.d.ts.map +1 -1
- package/dist/preferences/requestHandlers/update.js +1 -1
- package/dist/preferences/types.d.ts +2 -2
- package/dist/preferences/types.d.ts.map +1 -1
- package/dist/preferences/types.js +1 -1
- package/dist/translations/getLocalI18n.d.ts +1 -1
- package/dist/translations/getLocalI18n.d.ts.map +1 -1
- package/dist/translations/getLocalI18n.js +1 -1
- package/dist/types/index.d.ts +5 -5
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -1
- package/dist/uploads/deleteAssociatedFiles.d.ts +4 -4
- package/dist/uploads/deleteAssociatedFiles.d.ts.map +1 -1
- package/dist/uploads/deleteAssociatedFiles.js +1 -1
- package/dist/uploads/docWithFilenameExists.d.ts +1 -1
- package/dist/uploads/docWithFilenameExists.d.ts.map +1 -1
- package/dist/uploads/docWithFilenameExists.js +1 -1
- package/dist/uploads/generateFileData.d.ts +4 -4
- package/dist/uploads/generateFileData.d.ts.map +1 -1
- package/dist/uploads/generateFileData.js +4 -4
- package/dist/uploads/getBaseFields.d.ts +3 -3
- package/dist/uploads/getBaseFields.d.ts.map +1 -1
- package/dist/uploads/getBaseFields.js +1 -1
- package/dist/uploads/getExternalFile.d.ts +1 -1
- package/dist/uploads/getExternalFile.d.ts.map +1 -1
- package/dist/uploads/getExternalFile.js +1 -1
- package/dist/uploads/getFileByPath.d.ts +1 -1
- package/dist/uploads/getFileByPath.d.ts.map +1 -1
- package/dist/uploads/getFileByPath.js +1 -1
- package/dist/uploads/getImageSize.d.ts +3 -3
- package/dist/uploads/getImageSize.d.ts.map +1 -1
- package/dist/uploads/getImageSize.js +14 -7
- package/dist/uploads/getSafeFilename.d.ts +1 -1
- package/dist/uploads/getSafeFilename.d.ts.map +1 -1
- package/dist/uploads/getSafeFilename.js +1 -1
- package/dist/uploads/imageResizer.d.ts +4 -4
- package/dist/uploads/imageResizer.d.ts.map +1 -1
- package/dist/uploads/imageResizer.js +1 -1
- package/dist/uploads/mimeTypeValidator.d.ts +1 -1
- package/dist/uploads/mimeTypeValidator.d.ts.map +1 -1
- package/dist/uploads/mimeTypeValidator.js +1 -1
- package/dist/uploads/types.d.ts +1 -3
- package/dist/uploads/types.d.ts.map +1 -1
- package/dist/uploads/types.js +1 -1
- package/dist/uploads/unlinkTempFiles.d.ts +3 -3
- package/dist/uploads/unlinkTempFiles.d.ts.map +1 -1
- package/dist/uploads/unlinkTempFiles.js +1 -1
- package/dist/uploads/uploadFiles.d.ts +3 -3
- package/dist/uploads/uploadFiles.d.ts.map +1 -1
- package/dist/uploads/uploadFiles.js +1 -1
- package/dist/utilities/checkDuplicateCollections.d.ts +1 -1
- package/dist/utilities/checkDuplicateCollections.d.ts.map +1 -1
- package/dist/utilities/checkDuplicateCollections.js +1 -1
- package/dist/utilities/commitTransaction.d.ts +1 -1
- package/dist/utilities/commitTransaction.d.ts.map +1 -1
- package/dist/utilities/commitTransaction.js +1 -1
- package/dist/utilities/configToJSONSchema.d.ts +12 -6
- package/dist/utilities/configToJSONSchema.d.ts.map +1 -1
- package/dist/utilities/configToJSONSchema.js +21 -18
- package/dist/utilities/configToJSONSchema.spec.js +1 -1
- package/dist/utilities/createLocalReq.d.ts +3 -3
- package/dist/utilities/createLocalReq.d.ts.map +1 -1
- package/dist/utilities/createLocalReq.js +1 -1
- package/dist/utilities/fieldSchemaToJSON.d.ts +2 -2
- package/dist/utilities/fieldSchemaToJSON.d.ts.map +1 -1
- package/dist/utilities/fieldSchemaToJSON.js +1 -1
- package/dist/utilities/flattenTopLevelFields.d.ts +1 -1
- package/dist/utilities/flattenTopLevelFields.d.ts.map +1 -1
- package/dist/utilities/flattenTopLevelFields.js +1 -1
- package/dist/utilities/getCollectionIDFieldTypes.d.ts +13 -0
- package/dist/utilities/getCollectionIDFieldTypes.d.ts.map +1 -0
- package/dist/utilities/getCollectionIDFieldTypes.js +16 -0
- package/dist/utilities/getEntityPolicies.d.ts +4 -4
- package/dist/utilities/getEntityPolicies.d.ts.map +1 -1
- package/dist/utilities/getEntityPolicies.js +1 -1
- package/dist/utilities/getIDType.d.ts +2 -2
- package/dist/utilities/getIDType.d.ts.map +1 -1
- package/dist/utilities/getIDType.js +1 -1
- package/dist/utilities/initTransaction.d.ts +1 -1
- package/dist/utilities/initTransaction.d.ts.map +1 -1
- package/dist/utilities/initTransaction.js +1 -1
- package/dist/utilities/isEntityHidden.d.ts +2 -2
- package/dist/utilities/isEntityHidden.d.ts.map +1 -1
- package/dist/utilities/isEntityHidden.js +1 -1
- package/dist/utilities/killTransaction.d.ts +1 -1
- package/dist/utilities/killTransaction.d.ts.map +1 -1
- package/dist/utilities/killTransaction.js +1 -1
- package/dist/utilities/telemetry/events/adminInit.d.ts +2 -2
- package/dist/utilities/telemetry/events/adminInit.d.ts.map +1 -1
- package/dist/utilities/telemetry/events/adminInit.js +1 -1
- package/dist/utilities/telemetry/events/serverInit.d.ts +1 -1
- package/dist/utilities/telemetry/events/serverInit.d.ts.map +1 -1
- package/dist/utilities/telemetry/events/serverInit.js +1 -1
- package/dist/utilities/telemetry/index.d.ts +1 -1
- package/dist/utilities/telemetry/index.d.ts.map +1 -1
- package/dist/utilities/telemetry/index.js +6 -2
- package/dist/versions/baseFields.d.ts +1 -1
- package/dist/versions/baseFields.d.ts.map +1 -1
- package/dist/versions/baseFields.js +1 -1
- package/dist/versions/buildCollectionFields.d.ts +2 -2
- package/dist/versions/buildCollectionFields.d.ts.map +1 -1
- package/dist/versions/buildCollectionFields.js +1 -1
- package/dist/versions/buildGlobalFields.d.ts +2 -2
- package/dist/versions/buildGlobalFields.d.ts.map +1 -1
- package/dist/versions/buildGlobalFields.js +1 -1
- package/dist/versions/deleteCollectionVersions.d.ts +2 -2
- package/dist/versions/deleteCollectionVersions.d.ts.map +1 -1
- package/dist/versions/deleteCollectionVersions.js +1 -1
- package/dist/versions/drafts/appendVersionToQueryKey.d.ts +1 -1
- package/dist/versions/drafts/appendVersionToQueryKey.d.ts.map +1 -1
- package/dist/versions/drafts/appendVersionToQueryKey.js +1 -1
- package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts +4 -4
- package/dist/versions/drafts/replaceWithDraftIfAvailable.d.ts.map +1 -1
- package/dist/versions/drafts/replaceWithDraftIfAvailable.js +1 -1
- package/dist/versions/enforceMaxVersions.d.ts +3 -3
- package/dist/versions/enforceMaxVersions.d.ts.map +1 -1
- package/dist/versions/enforceMaxVersions.js +1 -1
- package/dist/versions/getLatestCollectionVersion.d.ts +3 -3
- package/dist/versions/getLatestCollectionVersion.d.ts.map +1 -1
- package/dist/versions/getLatestCollectionVersion.js +1 -1
- package/dist/versions/getLatestGlobalVersion.d.ts +2 -2
- package/dist/versions/getLatestGlobalVersion.d.ts.map +1 -1
- package/dist/versions/getLatestGlobalVersion.js +1 -1
- package/package.json +5 -6
- package/types.d.ts +8 -8
- package/types.js +1 -1
- package/utilities.d.ts +1 -0
- package/utilities.js +2 -1
- package/versions.d.ts +1 -1
- package/versions.js +1 -1
|
@@ -3,6 +3,7 @@ const { singular } = pluralize;
|
|
|
3
3
|
import { fieldAffectsData, tabHasName } from '../fields/config/types.js';
|
|
4
4
|
import { deepCopyObject } from './deepCopyObject.js';
|
|
5
5
|
import { toWords } from './formatLabels.js';
|
|
6
|
+
import { getCollectionIDFieldTypes } from './getCollectionIDFieldTypes.js';
|
|
6
7
|
const fieldIsRequired = (field)=>{
|
|
7
8
|
const isConditional = Boolean(field?.admin && field?.admin?.condition);
|
|
8
9
|
if (isConditional) return false;
|
|
@@ -57,9 +58,13 @@ function generateEntitySchemas(entities) {
|
|
|
57
58
|
fieldTypes.push('null');
|
|
58
59
|
return fieldTypes;
|
|
59
60
|
}
|
|
60
|
-
export function fieldsToJSONSchema(
|
|
61
|
+
export function fieldsToJSONSchema(/**
|
|
62
|
+
* Used for relationship fields, to determine whether to use a string or number type for the ID.
|
|
63
|
+
* While there is a default ID field type set by the db adapter, they can differ on a collection-level
|
|
64
|
+
* if they have custom ID fields.
|
|
65
|
+
*/ collectionIDFieldTypes, fields, /**
|
|
61
66
|
* Allows you to define new top-level interfaces that can be re-used in the output schema.
|
|
62
|
-
*/ interfaceNameDefinitions) {
|
|
67
|
+
*/ interfaceNameDefinitions, config) {
|
|
63
68
|
const requiredFieldNames = new Set();
|
|
64
69
|
return {
|
|
65
70
|
properties: Object.fromEntries(fields.reduce((fieldSchemas, field)=>{
|
|
@@ -132,6 +137,8 @@ export function fieldsToJSONSchema(collectionIDFieldTypes, fields, /**
|
|
|
132
137
|
{
|
|
133
138
|
if (field.editor.outputSchema) {
|
|
134
139
|
fieldSchema = field.editor.outputSchema({
|
|
140
|
+
collectionIDFieldTypes,
|
|
141
|
+
config,
|
|
135
142
|
field,
|
|
136
143
|
interfaceNameDefinitions,
|
|
137
144
|
isRequired
|
|
@@ -305,7 +312,7 @@ export function fieldsToJSONSchema(collectionIDFieldTypes, fields, /**
|
|
|
305
312
|
type: withNullableJSONSchemaType('array', isRequired),
|
|
306
313
|
items: {
|
|
307
314
|
oneOf: field.blocks.map((block)=>{
|
|
308
|
-
const blockFieldSchemas = fieldsToJSONSchema(collectionIDFieldTypes, block.fields, interfaceNameDefinitions);
|
|
315
|
+
const blockFieldSchemas = fieldsToJSONSchema(collectionIDFieldTypes, block.fields, interfaceNameDefinitions, config);
|
|
309
316
|
const blockSchema = {
|
|
310
317
|
type: 'object',
|
|
311
318
|
additionalProperties: false,
|
|
@@ -339,7 +346,7 @@ export function fieldsToJSONSchema(collectionIDFieldTypes, fields, /**
|
|
|
339
346
|
items: {
|
|
340
347
|
type: 'object',
|
|
341
348
|
additionalProperties: false,
|
|
342
|
-
...fieldsToJSONSchema(collectionIDFieldTypes, field.fields, interfaceNameDefinitions)
|
|
349
|
+
...fieldsToJSONSchema(collectionIDFieldTypes, field.fields, interfaceNameDefinitions, config)
|
|
343
350
|
}
|
|
344
351
|
};
|
|
345
352
|
if (field.interfaceName) {
|
|
@@ -353,7 +360,7 @@ export function fieldsToJSONSchema(collectionIDFieldTypes, fields, /**
|
|
|
353
360
|
case 'row':
|
|
354
361
|
case 'collapsible':
|
|
355
362
|
{
|
|
356
|
-
const childSchema = fieldsToJSONSchema(collectionIDFieldTypes, field.fields, interfaceNameDefinitions);
|
|
363
|
+
const childSchema = fieldsToJSONSchema(collectionIDFieldTypes, field.fields, interfaceNameDefinitions, config);
|
|
357
364
|
Object.entries(childSchema.properties).forEach(([propName, propSchema])=>{
|
|
358
365
|
fieldSchemas.set(propName, propSchema);
|
|
359
366
|
});
|
|
@@ -365,7 +372,7 @@ export function fieldsToJSONSchema(collectionIDFieldTypes, fields, /**
|
|
|
365
372
|
case 'tabs':
|
|
366
373
|
{
|
|
367
374
|
field.tabs.forEach((tab)=>{
|
|
368
|
-
const childSchema = fieldsToJSONSchema(collectionIDFieldTypes, tab.fields, interfaceNameDefinitions);
|
|
375
|
+
const childSchema = fieldsToJSONSchema(collectionIDFieldTypes, tab.fields, interfaceNameDefinitions, config);
|
|
369
376
|
if (tabHasName(tab)) {
|
|
370
377
|
// could have interface
|
|
371
378
|
fieldSchemas.set(tab.name, {
|
|
@@ -390,7 +397,7 @@ export function fieldsToJSONSchema(collectionIDFieldTypes, fields, /**
|
|
|
390
397
|
fieldSchema = {
|
|
391
398
|
type: 'object',
|
|
392
399
|
additionalProperties: false,
|
|
393
|
-
...fieldsToJSONSchema(collectionIDFieldTypes, field.fields, interfaceNameDefinitions)
|
|
400
|
+
...fieldsToJSONSchema(collectionIDFieldTypes, field.fields, interfaceNameDefinitions, config)
|
|
394
401
|
};
|
|
395
402
|
if (field.interfaceName) {
|
|
396
403
|
interfaceNameDefinitions.set(field.interfaceName, fieldSchema);
|
|
@@ -446,20 +453,16 @@ export function entityToJSONSchema(config, incomingEntity, interfaceNameDefiniti
|
|
|
446
453
|
type: 'text'
|
|
447
454
|
});
|
|
448
455
|
}
|
|
449
|
-
//
|
|
450
|
-
const collectionIDFieldTypes =
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
acc[collection.slug] = customCollectionIdField.type === 'number' ? 'number' : 'string';
|
|
455
|
-
}
|
|
456
|
-
return acc;
|
|
457
|
-
}, {});
|
|
456
|
+
// Used for relationship fields, to determine whether to use a string or number type for the ID.
|
|
457
|
+
const collectionIDFieldTypes = getCollectionIDFieldTypes({
|
|
458
|
+
config,
|
|
459
|
+
defaultIDType
|
|
460
|
+
});
|
|
458
461
|
return {
|
|
459
462
|
type: 'object',
|
|
460
463
|
additionalProperties: false,
|
|
461
464
|
title,
|
|
462
|
-
...fieldsToJSONSchema(collectionIDFieldTypes, entity.fields, interfaceNameDefinitions)
|
|
465
|
+
...fieldsToJSONSchema(collectionIDFieldTypes, entity.fields, interfaceNameDefinitions, config)
|
|
463
466
|
};
|
|
464
467
|
}
|
|
465
468
|
/**
|
|
@@ -496,4 +499,4 @@ export function entityToJSONSchema(config, incomingEntity, interfaceNameDefiniti
|
|
|
496
499
|
};
|
|
497
500
|
}
|
|
498
501
|
|
|
499
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29uZmlnVG9KU09OU2NoZW1hLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSlNPTlNjaGVtYTQsIEpTT05TY2hlbWE0VHlwZU5hbWUgfSBmcm9tICdqc29uLXNjaGVtYSdcblxuaW1wb3J0IHBsdXJhbGl6ZSBmcm9tICdwbHVyYWxpemUnXG5jb25zdCB7IHNpbmd1bGFyIH0gPSBwbHVyYWxpemVcblxuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzLmQudHMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy90eXBlcy5kLnRzJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCwgRmllbGRBZmZlY3RpbmdEYXRhLCBPcHRpb24gfSBmcm9tICcuLi9maWVsZHMvY29uZmlnL3R5cGVzLmQudHMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZEdsb2JhbENvbmZpZyB9IGZyb20gJy4uL2dsb2JhbHMvY29uZmlnL3R5cGVzLmQudHMnXG5cbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEsIHRhYkhhc05hbWUgfSBmcm9tICcuLi9maWVsZHMvY29uZmlnL3R5cGVzLmpzJ1xuaW1wb3J0IHsgZGVlcENvcHlPYmplY3QgfSBmcm9tICcuL2RlZXBDb3B5T2JqZWN0LmpzJ1xuaW1wb3J0IHsgdG9Xb3JkcyB9IGZyb20gJy4vZm9ybWF0TGFiZWxzLmpzJ1xuXG5jb25zdCBmaWVsZElzUmVxdWlyZWQgPSAoZmllbGQ6IEZpZWxkKSA9PiB7XG4gIGNvbnN0IGlzQ29uZGl0aW9uYWwgPSBCb29sZWFuKGZpZWxkPy5hZG1pbiAmJiBmaWVsZD8uYWRtaW4/LmNvbmRpdGlvbilcbiAgaWYgKGlzQ29uZGl0aW9uYWwpIHJldHVybiBmYWxzZVxuXG4gIGNvbnN0IGlzTWFya2VkUmVxdWlyZWQgPSAncmVxdWlyZWQnIGluIGZpZWxkICYmIGZpZWxkLnJlcXVpcmVkID09PSB0cnVlXG4gIGlmIChmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBpc01hcmtlZFJlcXVpcmVkKSByZXR1cm4gdHJ1ZVxuXG4gIC8vIGlmIGFueSBzdWJmaWVsZHMgYXJlIHJlcXVpcmVkLCB0aGlzIGZpZWxkIGlzIHJlcXVpcmVkXG4gIGlmICgnZmllbGRzJyBpbiBmaWVsZCAmJiBmaWVsZC50eXBlICE9PSAnYXJyYXknKSB7XG4gICAgcmV0dXJuIGZpZWxkLmZpZWxkcy5zb21lKChzdWJGaWVsZCkgPT4gZmllbGRJc1JlcXVpcmVkKHN1YkZpZWxkKSlcbiAgfVxuXG4gIC8vIGlmIGFueSB0YWIgc3ViZmllbGRzIGhhdmUgcmVxdWlyZWQgZmllbGRzLCB0aGlzIGZpZWxkIGlzIHJlcXVpcmVkXG4gIGlmIChmaWVsZC50eXBlID09PSAndGFicycpIHtcbiAgICByZXR1cm4gZmllbGQudGFicy5zb21lKCh0YWIpID0+IHtcbiAgICAgIGlmICgnbmFtZScgaW4gdGFiKSB7XG4gICAgICAgIHJldHVybiB0YWIuZmllbGRzLnNvbWUoKHN1YkZpZWxkKSA9PiBmaWVsZElzUmVxdWlyZWQoc3ViRmllbGQpKVxuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfSlcbiAgfVxuXG4gIHJldHVybiBmYWxzZVxufVxuXG5mdW5jdGlvbiBidWlsZE9wdGlvbkVudW1zKG9wdGlvbnM6IE9wdGlvbltdKTogc3RyaW5nW10ge1xuICByZXR1cm4gb3B0aW9ucy5tYXAoKG9wdGlvbikgPT4ge1xuICAgIGlmICh0eXBlb2Ygb3B0aW9uID09PSAnb2JqZWN0JyAmJiAndmFsdWUnIGluIG9wdGlvbikge1xuICAgICAgcmV0dXJuIG9wdGlvbi52YWx1ZVxuICAgIH1cblxuICAgIHJldHVybiBvcHRpb25cbiAgfSlcbn1cblxuZnVuY3Rpb24gZ2VuZXJhdGVFbnRpdHlTY2hlbWFzKFxuICBlbnRpdGllczogKFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfCBTYW5pdGl6ZWRHbG9iYWxDb25maWcpW10sXG4pOiBKU09OU2NoZW1hNCB7XG4gIGNvbnN0IHByb3BlcnRpZXMgPSBbLi4uZW50aXRpZXNdLnJlZHVjZSgoYWNjLCB7IHNsdWcgfSkgPT4ge1xuICAgIGFjY1tzbHVnXSA9IHtcbiAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7c2x1Z31gLFxuICAgIH1cblxuICAgIHJldHVybiBhY2NcbiAgfSwge30pXG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgcHJvcGVydGllcyxcbiAgICByZXF1aXJlZDogT2JqZWN0LmtleXMocHJvcGVydGllcyksXG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgSlNPTiBTY2hlbWEgVHlwZSB3aXRoICdudWxsJyBhZGRlZCBpZiB0aGUgZmllbGQgaXMgbm90IHJlcXVpcmVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUoXG4gIGZpZWxkVHlwZTogSlNPTlNjaGVtYTRUeXBlTmFtZSxcbiAgaXNSZXF1aXJlZDogYm9vbGVhbixcbik6IEpTT05TY2hlbWE0VHlwZU5hbWUgfCBKU09OU2NoZW1hNFR5cGVOYW1lW10ge1xuICBjb25zdCBmaWVsZFR5cGVzID0gW2ZpZWxkVHlwZV1cbiAgaWYgKGlzUmVxdWlyZWQpIHJldHVybiBmaWVsZFR5cGVcbiAgZmllbGRUeXBlcy5wdXNoKCdudWxsJylcbiAgcmV0dXJuIGZpZWxkVHlwZXNcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZWxkc1RvSlNPTlNjaGVtYShcbiAgY29sbGVjdGlvbklERmllbGRUeXBlczogeyBba2V5OiBzdHJpbmddOiAnbnVtYmVyJyB8ICdzdHJpbmcnIH0sXG4gIGZpZWxkczogRmllbGRbXSxcbiAgLyoqXG4gICAqIEFsbG93cyB5b3UgdG8gZGVmaW5lIG5ldyB0b3AtbGV2ZWwgaW50ZXJmYWNlcyB0aGF0IGNhbiBiZSByZS11c2VkIGluIHRoZSBvdXRwdXQgc2NoZW1hLlxuICAgKi9cbiAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zOiBNYXA8c3RyaW5nLCBKU09OU2NoZW1hND4sXG4pOiB7XG4gIHByb3BlcnRpZXM6IHtcbiAgICBbazogc3RyaW5nXTogSlNPTlNjaGVtYTRcbiAgfVxuICByZXF1aXJlZDogc3RyaW5nW11cbn0ge1xuICBjb25zdCByZXF1aXJlZEZpZWxkTmFtZXMgPSBuZXcgU2V0PHN0cmluZz4oKVxuXG4gIHJldHVybiB7XG4gICAgcHJvcGVydGllczogT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgZmllbGRzLnJlZHVjZSgoZmllbGRTY2hlbWFzLCBmaWVsZCkgPT4ge1xuICAgICAgICBjb25zdCBpc1JlcXVpcmVkID0gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGRJc1JlcXVpcmVkKGZpZWxkKVxuICAgICAgICBpZiAoaXNSZXF1aXJlZCkgcmVxdWlyZWRGaWVsZE5hbWVzLmFkZChmaWVsZC5uYW1lKVxuXG4gICAgICAgIGxldCBmaWVsZFNjaGVtYTogSlNPTlNjaGVtYTRcbiAgICAgICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICAgICAgY2FzZSAndGV4dCc6XG4gICAgICAgICAgICBpZiAoZmllbGQuaGFzTWFueSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnYXJyYXknLCBpc1JlcXVpcmVkKSxcbiAgICAgICAgICAgICAgICBpdGVtczogeyB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHsgdHlwZTogd2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUoJ3N0cmluZycsIGlzUmVxdWlyZWQpIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgICAgIGNhc2UgJ2NvZGUnOlxuICAgICAgICAgIGNhc2UgJ2VtYWlsJzpcbiAgICAgICAgICBjYXNlICdkYXRlJzoge1xuICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7IHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdzdHJpbmcnLCBpc1JlcXVpcmVkKSB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ251bWJlcic6IHtcbiAgICAgICAgICAgIGlmIChmaWVsZC5oYXNNYW55ID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiB7IHR5cGU6ICdudW1iZXInIH0sXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0geyB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnbnVtYmVyJywgaXNSZXF1aXJlZCkgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdjaGVja2JveCc6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0geyB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnYm9vbGVhbicsIGlzUmVxdWlyZWQpIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnanNvbic6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICB0eXBlOiBbJ29iamVjdCcsICdhcnJheScsICdzdHJpbmcnLCAnbnVtYmVyJywgJ2Jvb2xlYW4nLCAnbnVsbCddLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdyaWNoVGV4dCc6IHtcbiAgICAgICAgICAgIGlmIChmaWVsZC5lZGl0b3Iub3V0cHV0U2NoZW1hKSB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0gZmllbGQuZWRpdG9yLm91dHB1dFNjaGVtYSh7XG4gICAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLFxuICAgICAgICAgICAgICAgIGlzUmVxdWlyZWQsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBNYWludGFpbiBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIGV4aXN0aW5nIHJpY2ggdGV4dCBlZGl0b3JzXG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAncmFkaW8nOiB7XG4gICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUoJ3N0cmluZycsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICBlbnVtOiBidWlsZE9wdGlvbkVudW1zKGZpZWxkLm9wdGlvbnMpLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ3NlbGVjdCc6IHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbkVudW1zID0gYnVpbGRPcHRpb25FbnVtcyhmaWVsZC5vcHRpb25zKVxuXG4gICAgICAgICAgICBpZiAoZmllbGQuaGFzTWFueSkge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnYXJyYXknLCBpc1JlcXVpcmVkKSxcbiAgICAgICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgICBlbnVtOiBvcHRpb25FbnVtcyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnc3RyaW5nJywgaXNSZXF1aXJlZCksXG4gICAgICAgICAgICAgICAgZW51bTogb3B0aW9uRW51bXMsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdwb2ludCc6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnYXJyYXknLCBpc1JlcXVpcmVkKSxcbiAgICAgICAgICAgICAgaXRlbXM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIG1heEl0ZW1zOiAyLFxuICAgICAgICAgICAgICBtaW5JdGVtczogMixcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAncmVsYXRpb25zaGlwJzoge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGQucmVsYXRpb25UbykpIHtcbiAgICAgICAgICAgICAgaWYgKGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgb25lT2Y6IGZpZWxkLnJlbGF0aW9uVG8ubWFwKChyZWxhdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpb25Ubzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0OiByZWxhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uSURGaWVsZFR5cGVzW3JlbGF0aW9uXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7cmVsYXRpb259YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogWyd2YWx1ZScsICdyZWxhdGlvblRvJ10sXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgICAgb25lT2Y6IGZpZWxkLnJlbGF0aW9uVG8ubWFwKChyZWxhdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdvYmplY3QnLCBpc1JlcXVpcmVkKSxcbiAgICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpb25Ubzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdDogcmVsYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb25lT2Y6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uSURGaWVsZFR5cGVzW3JlbGF0aW9uXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7cmVsYXRpb259YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBbJ3ZhbHVlJywgJ3JlbGF0aW9uVG8nXSxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUoJ2FycmF5JywgaXNSZXF1aXJlZCksXG4gICAgICAgICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgICAgICAgIG9uZU9mOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uSURGaWVsZFR5cGVzW2ZpZWxkLnJlbGF0aW9uVG9dLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgJHJlZjogYCMvZGVmaW5pdGlvbnMvJHtmaWVsZC5yZWxhdGlvblRvfWAsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgIG9uZU9mOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKFxuICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25JREZpZWxkVHlwZXNbZmllbGQucmVsYXRpb25Ub10sXG4gICAgICAgICAgICAgICAgICAgICAgaXNSZXF1aXJlZCxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7ZmllbGQucmVsYXRpb25Ub31gLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAndXBsb2FkJzoge1xuICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgIG9uZU9mOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgdHlwZTogY29sbGVjdGlvbklERmllbGRUeXBlc1tmaWVsZC5yZWxhdGlvblRvXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7ZmllbGQucmVsYXRpb25Ub31gLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWlzUmVxdWlyZWQpIGZpZWxkU2NoZW1hLm9uZU9mLnB1c2goeyB0eXBlOiAnbnVsbCcgfSlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnYmxvY2tzJzoge1xuICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICAgIG9uZU9mOiBmaWVsZC5ibG9ja3MubWFwKChibG9jaykgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3QgYmxvY2tGaWVsZFNjaGVtYXMgPSBmaWVsZHNUb0pTT05TY2hlbWEoXG4gICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25JREZpZWxkVHlwZXMsXG4gICAgICAgICAgICAgICAgICAgIGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLFxuICAgICAgICAgICAgICAgICAgKVxuXG4gICAgICAgICAgICAgICAgICBjb25zdCBibG9ja1NjaGVtYTogSlNPTlNjaGVtYTQgPSB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAuLi5ibG9ja0ZpZWxkU2NoZW1hcy5wcm9wZXJ0aWVzLFxuICAgICAgICAgICAgICAgICAgICAgIGJsb2NrVHlwZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Q6IGJsb2NrLnNsdWcsXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IFsnYmxvY2tUeXBlJywgLi4uYmxvY2tGaWVsZFNjaGVtYXMucmVxdWlyZWRdLFxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBpZiAoYmxvY2suaW50ZXJmYWNlTmFtZSkge1xuICAgICAgICAgICAgICAgICAgICBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMuc2V0KGJsb2NrLmludGVyZmFjZU5hbWUsIGJsb2NrU2NoZW1hKVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgJHJlZjogYCMvZGVmaW5pdGlvbnMvJHtibG9jay5pbnRlcmZhY2VOYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgcmV0dXJuIGJsb2NrU2NoZW1hXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ2FycmF5Jzoge1xuICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAuLi5maWVsZHNUb0pTT05TY2hlbWEoXG4gICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uSURGaWVsZFR5cGVzLFxuICAgICAgICAgICAgICAgICAgZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChmaWVsZC5pbnRlcmZhY2VOYW1lKSB7XG4gICAgICAgICAgICAgIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucy5zZXQoZmllbGQuaW50ZXJmYWNlTmFtZSwgZmllbGRTY2hlbWEpXG5cbiAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgICAgJHJlZjogYCMvZGVmaW5pdGlvbnMvJHtmaWVsZC5pbnRlcmZhY2VOYW1lfWAsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAncm93JzpcbiAgICAgICAgICBjYXNlICdjb2xsYXBzaWJsZSc6IHtcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkU2NoZW1hID0gZmllbGRzVG9KU09OU2NoZW1hKFxuICAgICAgICAgICAgICBjb2xsZWN0aW9uSURGaWVsZFR5cGVzLFxuICAgICAgICAgICAgICBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICAgIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucyxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIE9iamVjdC5lbnRyaWVzKGNoaWxkU2NoZW1hLnByb3BlcnRpZXMpLmZvckVhY2goKFtwcm9wTmFtZSwgcHJvcFNjaGVtYV0pID0+IHtcbiAgICAgICAgICAgICAgZmllbGRTY2hlbWFzLnNldChwcm9wTmFtZSwgcHJvcFNjaGVtYSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBjaGlsZFNjaGVtYS5yZXF1aXJlZC5mb3JFYWNoKChwcm9wTmFtZSkgPT4ge1xuICAgICAgICAgICAgICByZXF1aXJlZEZpZWxkTmFtZXMuYWRkKHByb3BOYW1lKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAndGFicyc6IHtcbiAgICAgICAgICAgIGZpZWxkLnRhYnMuZm9yRWFjaCgodGFiKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGNoaWxkU2NoZW1hID0gZmllbGRzVG9KU09OU2NoZW1hKFxuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25JREZpZWxkVHlwZXMsXG4gICAgICAgICAgICAgICAgdGFiLmZpZWxkcyxcbiAgICAgICAgICAgICAgICBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMsXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgaWYgKHRhYkhhc05hbWUodGFiKSkge1xuICAgICAgICAgICAgICAgIC8vIGNvdWxkIGhhdmUgaW50ZXJmYWNlXG4gICAgICAgICAgICAgICAgZmllbGRTY2hlbWFzLnNldCh0YWIubmFtZSwge1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAuLi5jaGlsZFNjaGVtYSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIHJlcXVpcmVkRmllbGROYW1lcy5hZGQodGFiLm5hbWUpXG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmVudHJpZXMoY2hpbGRTY2hlbWEucHJvcGVydGllcykuZm9yRWFjaCgoW3Byb3BOYW1lLCBwcm9wU2NoZW1hXSkgPT4ge1xuICAgICAgICAgICAgICAgICAgZmllbGRTY2hlbWFzLnNldChwcm9wTmFtZSwgcHJvcFNjaGVtYSlcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIGNoaWxkU2NoZW1hLnJlcXVpcmVkLmZvckVhY2goKHByb3BOYW1lKSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXF1aXJlZEZpZWxkTmFtZXMuYWRkKHByb3BOYW1lKVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ2dyb3VwJzoge1xuICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgICAgIC4uLmZpZWxkc1RvSlNPTlNjaGVtYShjb2xsZWN0aW9uSURGaWVsZFR5cGVzLCBmaWVsZC5maWVsZHMsIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucyksXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChmaWVsZC5pbnRlcmZhY2VOYW1lKSB7XG4gICAgICAgICAgICAgIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucy5zZXQoZmllbGQuaW50ZXJmYWNlTmFtZSwgZmllbGRTY2hlbWEpXG5cbiAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgICAgJHJlZjogYCMvZGVmaW5pdGlvbnMvJHtmaWVsZC5pbnRlcmZhY2VOYW1lfWAsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmllbGRTY2hlbWEgJiYgZmllbGRBZmZlY3RzRGF0YShmaWVsZCkpIHtcbiAgICAgICAgICBmaWVsZFNjaGVtYXMuc2V0KGZpZWxkLm5hbWUsIGZpZWxkU2NoZW1hKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZpZWxkU2NoZW1hc1xuICAgICAgfSwgbmV3IE1hcDxzdHJpbmcsIEpTT05TY2hlbWE0PigpKSxcbiAgICApLFxuICAgIHJlcXVpcmVkOiBBcnJheS5mcm9tKHJlcXVpcmVkRmllbGROYW1lcyksXG4gIH1cbn1cblxuLy8gVGhpcyBmdW5jdGlvbiBpcyBwYXJ0IG9mIHRoZSBwdWJsaWMgQVBJIGFuZCBpcyBleHBvcnRlZCB0aHJvdWdoIHBheWxvYWQvdXRpbGl0aWVzXG5leHBvcnQgZnVuY3Rpb24gZW50aXR5VG9KU09OU2NoZW1hKFxuICBjb25maWc6IFNhbml0aXplZENvbmZpZyxcbiAgaW5jb21pbmdFbnRpdHk6IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfCBTYW5pdGl6ZWRHbG9iYWxDb25maWcsXG4gIGludGVyZmFjZU5hbWVEZWZpbml0aW9uczogTWFwPHN0cmluZywgSlNPTlNjaGVtYTQ+LFxuICBkZWZhdWx0SURUeXBlOiAnbnVtYmVyJyB8ICd0ZXh0Jyxcbik6IEpTT05TY2hlbWE0IHtcbiAgY29uc3QgZW50aXR5OiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIHwgU2FuaXRpemVkR2xvYmFsQ29uZmlnID0gZGVlcENvcHlPYmplY3QoaW5jb21pbmdFbnRpdHkpXG4gIGNvbnN0IHRpdGxlID0gZW50aXR5LnR5cGVzY3JpcHQ/LmludGVyZmFjZVxuICAgID8gZW50aXR5LnR5cGVzY3JpcHQuaW50ZXJmYWNlXG4gICAgOiBzaW5ndWxhcih0b1dvcmRzKGVudGl0eS5zbHVnLCB0cnVlKSlcblxuICBjb25zdCBpZEZpZWxkOiBGaWVsZEFmZmVjdGluZ0RhdGEgPSB7IG5hbWU6ICdpZCcsIHR5cGU6IGRlZmF1bHRJRFR5cGUgYXMgJ3RleHQnLCByZXF1aXJlZDogdHJ1ZSB9XG4gIGNvbnN0IGN1c3RvbUlkRmllbGQgPSBlbnRpdHkuZmllbGRzLmZpbmQoXG4gICAgKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnLFxuICApIGFzIEZpZWxkQWZmZWN0aW5nRGF0YVxuXG4gIGlmIChjdXN0b21JZEZpZWxkICYmIGN1c3RvbUlkRmllbGQudHlwZSAhPT0gJ2dyb3VwJyAmJiBjdXN0b21JZEZpZWxkLnR5cGUgIT09ICd0YWInKSB7XG4gICAgY3VzdG9tSWRGaWVsZC5yZXF1aXJlZCA9IHRydWVcbiAgfSBlbHNlIHtcbiAgICBlbnRpdHkuZmllbGRzLnVuc2hpZnQoaWRGaWVsZClcbiAgfVxuXG4gIC8vIG1hcmsgdGltZXN0YW1wIGZpZWxkcyByZXF1aXJlZFxuICBpZiAoJ3RpbWVzdGFtcHMnIGluIGVudGl0eSAmJiBlbnRpdHkudGltZXN0YW1wcyAhPT0gZmFsc2UpIHtcbiAgICBlbnRpdHkuZmllbGRzID0gZW50aXR5LmZpZWxkcy5tYXAoKGZpZWxkKSA9PiB7XG4gICAgICBpZiAoZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgKGZpZWxkLm5hbWUgPT09ICdjcmVhdGVkQXQnIHx8IGZpZWxkLm5hbWUgPT09ICd1cGRhdGVkQXQnKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmZpZWxkLFxuICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gZmllbGRcbiAgICB9KVxuICB9XG5cbiAgaWYgKCdhdXRoJyBpbiBlbnRpdHkgJiYgZW50aXR5LmF1dGggJiYgIWVudGl0eS5hdXRoPy5kaXNhYmxlTG9jYWxTdHJhdGVneSkge1xuICAgIGVudGl0eS5maWVsZHMucHVzaCh7XG4gICAgICBuYW1lOiAncGFzc3dvcmQnLFxuICAgICAgdHlwZTogJ3RleHQnLFxuICAgIH0pXG4gIH1cblxuICAvLyB1c2VkIGZvciByZWxhdGlvbnNoaXAgZmllbGRzLCB0byBkZXRlcm1pbmUgd2hldGhlciB0byB1c2UgYSBzdHJpbmcgb3IgbnVtYmVyIHR5cGUgZm9yIHRoZSBJRFxuICBjb25zdCBjb2xsZWN0aW9uSURGaWVsZFR5cGVzOiB7IFtrZXk6IHN0cmluZ106ICdudW1iZXInIHwgJ3N0cmluZycgfSA9IGNvbmZpZy5jb2xsZWN0aW9ucy5yZWR1Y2UoXG4gICAgKGFjYywgY29sbGVjdGlvbikgPT4ge1xuICAgICAgY29uc3QgY3VzdG9tQ29sbGVjdGlvbklkRmllbGQgPSBjb2xsZWN0aW9uLmZpZWxkcy5maW5kKFxuICAgICAgICAoZmllbGQpID0+ICduYW1lJyBpbiBmaWVsZCAmJiBmaWVsZC5uYW1lID09PSAnaWQnLFxuICAgICAgKVxuXG4gICAgICBhY2NbY29sbGVjdGlvbi5zbHVnXSA9IGRlZmF1bHRJRFR5cGUgPT09ICd0ZXh0JyA/ICdzdHJpbmcnIDogJ251bWJlcidcblxuICAgICAgaWYgKGN1c3RvbUNvbGxlY3Rpb25JZEZpZWxkKSB7XG4gICAgICAgIGFjY1tjb2xsZWN0aW9uLnNsdWddID0gY3VzdG9tQ29sbGVjdGlvbklkRmllbGQudHlwZSA9PT0gJ251bWJlcicgPyAnbnVtYmVyJyA6ICdzdHJpbmcnXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhY2NcbiAgICB9LFxuICAgIHt9LFxuICApXG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgdGl0bGUsXG4gICAgLi4uZmllbGRzVG9KU09OU2NoZW1hKGNvbGxlY3Rpb25JREZpZWxkVHlwZXMsIGVudGl0eS5maWVsZHMsIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucyksXG4gIH1cbn1cblxuLyoqXG4gKiBUaGlzIGlzIHVzZWQgZm9yIGdlbmVyYXRpbmcgdGhlIFR5cGVTY3JpcHQgdHlwZXMgKHBheWxvYWQtdHlwZXMudHMpIHdpdGggdGhlIHBheWxvYWQgZ2VuZXJhdGU6dHlwZXMgY29tbWFuZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbmZpZ1RvSlNPTlNjaGVtYShcbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gIGRlZmF1bHRJRFR5cGU/OiAnbnVtYmVyJyB8ICd0ZXh0Jyxcbik6IEpTT05TY2hlbWE0IHtcbiAgLy8gYSBtdXRhYmxlIE1hcCB0byBzdG9yZSBjdXN0b20gdG9wLWxldmVsIGBpbnRlcmZhY2VOYW1lYCB0eXBlcy4gRmllbGRzIHdpdGggYW4gYGludGVyZmFjZU5hbWVgIHByb3BlcnR5IHdpbGwgYmUgbW92ZWQgdG8gdGhlIHRvcC1sZXZlbCBkZWZpbml0aW9ucyBoZXJlXG4gIGNvbnN0IGludGVyZmFjZU5hbWVEZWZpbml0aW9uczogTWFwPHN0cmluZywgSlNPTlNjaGVtYTQ+ID0gbmV3IE1hcCgpXG5cbiAgLy8gQ29sbGVjdGlvbnMgYW5kIEdsb2JhbHMgaGF2ZSB0byBiZSBtb3ZlZCB0byB0aGUgdG9wLWxldmVsIGRlZmluaXRpb25zIGFzIHdlbGwuIFJlYXNvbjogVGhlIHRvcC1sZXZlbCB0eXBlIHdpbGwgYmUgdGhlIGBDb25maWdgIHR5cGUgLSB3ZSBkb24ndCB3YW50IGFsbCBjb2xsZWN0aW9uIGFuZCBnbG9iYWxcbiAgLy8gdHlwZXMgdG8gYmUgaW5saW5lZCBpbnNpZGUgdGhlIGBDb25maWdgIHR5cGVcbiAgY29uc3QgZW50aXR5RGVmaW5pdGlvbnM6IHsgW2s6IHN0cmluZ106IEpTT05TY2hlbWE0IH0gPSBbXG4gICAgLi4uY29uZmlnLmdsb2JhbHMsXG4gICAgLi4uY29uZmlnLmNvbGxlY3Rpb25zLFxuICBdLnJlZHVjZSgoYWNjLCBlbnRpdHkpID0+IHtcbiAgICBhY2NbZW50aXR5LnNsdWddID0gZW50aXR5VG9KU09OU2NoZW1hKGNvbmZpZywgZW50aXR5LCBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMsIGRlZmF1bHRJRFR5cGUpXG4gICAgcmV0dXJuIGFjY1xuICB9LCB7fSlcblxuICByZXR1cm4ge1xuICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICBkZWZpbml0aW9uczogeyAuLi5lbnRpdHlEZWZpbml0aW9ucywgLi4uT2JqZWN0LmZyb21FbnRyaWVzKGludGVyZmFjZU5hbWVEZWZpbml0aW9ucykgfSxcbiAgICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGhlcmUgd2lsbCBiZSB2ZXJ5IHNpbXBsZSwgYXMgYWxsIHRoZSBjb21wbGV4aXR5IGlzIGluIHRoZSBkZWZpbml0aW9ucy4gVGhlc2UgYXJlIGp1c3QgdGhlIHByb3BlcnRpZXMgZm9yIHRoZSB0b3AtbGV2ZWwgYENvbmZpZ2AgdHlwZVxuICAgIHR5cGU6ICdvYmplY3QnLFxuICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIGNvbGxlY3Rpb25zOiBnZW5lcmF0ZUVudGl0eVNjaGVtYXMoY29uZmlnLmNvbGxlY3Rpb25zIHx8IFtdKSxcbiAgICAgIGdsb2JhbHM6IGdlbmVyYXRlRW50aXR5U2NoZW1hcyhjb25maWcuZ2xvYmFscyB8fCBbXSksXG4gICAgfSxcbiAgICByZXF1aXJlZDogWydjb2xsZWN0aW9ucycsICdnbG9iYWxzJ10sXG4gICAgdGl0bGU6ICdDb25maWcnLFxuICB9XG59XG4iXSwibmFtZXMiOlsicGx1cmFsaXplIiwic2luZ3VsYXIiLCJmaWVsZEFmZmVjdHNEYXRhIiwidGFiSGFzTmFtZSIsImRlZXBDb3B5T2JqZWN0IiwidG9Xb3JkcyIsImZpZWxkSXNSZXF1aXJlZCIsImZpZWxkIiwiaXNDb25kaXRpb25hbCIsIkJvb2xlYW4iLCJhZG1pbiIsImNvbmRpdGlvbiIsImlzTWFya2VkUmVxdWlyZWQiLCJyZXF1aXJlZCIsInR5cGUiLCJmaWVsZHMiLCJzb21lIiwic3ViRmllbGQiLCJ0YWJzIiwidGFiIiwiYnVpbGRPcHRpb25FbnVtcyIsIm9wdGlvbnMiLCJtYXAiLCJvcHRpb24iLCJ2YWx1ZSIsImdlbmVyYXRlRW50aXR5U2NoZW1hcyIsImVudGl0aWVzIiwicHJvcGVydGllcyIsInJlZHVjZSIsImFjYyIsInNsdWciLCIkcmVmIiwiYWRkaXRpb25hbFByb3BlcnRpZXMiLCJPYmplY3QiLCJrZXlzIiwid2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUiLCJmaWVsZFR5cGUiLCJpc1JlcXVpcmVkIiwiZmllbGRUeXBlcyIsInB1c2giLCJmaWVsZHNUb0pTT05TY2hlbWEiLCJjb2xsZWN0aW9uSURGaWVsZFR5cGVzIiwiaW50ZXJmYWNlTmFtZURlZmluaXRpb25zIiwicmVxdWlyZWRGaWVsZE5hbWVzIiwiU2V0IiwiZnJvbUVudHJpZXMiLCJmaWVsZFNjaGVtYXMiLCJhZGQiLCJuYW1lIiwiZmllbGRTY2hlbWEiLCJoYXNNYW55IiwiaXRlbXMiLCJlZGl0b3IiLCJvdXRwdXRTY2hlbWEiLCJlbnVtIiwib3B0aW9uRW51bXMiLCJtYXhJdGVtcyIsIm1pbkl0ZW1zIiwiQXJyYXkiLCJpc0FycmF5IiwicmVsYXRpb25UbyIsIm9uZU9mIiwicmVsYXRpb24iLCJjb25zdCIsImJsb2NrcyIsImJsb2NrIiwiYmxvY2tGaWVsZFNjaGVtYXMiLCJibG9ja1NjaGVtYSIsImJsb2NrVHlwZSIsImludGVyZmFjZU5hbWUiLCJzZXQiLCJjaGlsZFNjaGVtYSIsImVudHJpZXMiLCJmb3JFYWNoIiwicHJvcE5hbWUiLCJwcm9wU2NoZW1hIiwiTWFwIiwiZnJvbSIsImVudGl0eVRvSlNPTlNjaGVtYSIsImNvbmZpZyIsImluY29taW5nRW50aXR5IiwiZGVmYXVsdElEVHlwZSIsImVudGl0eSIsInRpdGxlIiwidHlwZXNjcmlwdCIsImludGVyZmFjZSIsImlkRmllbGQiLCJjdXN0b21JZEZpZWxkIiwiZmluZCIsInVuc2hpZnQiLCJ0aW1lc3RhbXBzIiwiYXV0aCIsImRpc2FibGVMb2NhbFN0cmF0ZWd5IiwiY29sbGVjdGlvbnMiLCJjb2xsZWN0aW9uIiwiY3VzdG9tQ29sbGVjdGlvbklkRmllbGQiLCJjb25maWdUb0pTT05TY2hlbWEiLCJlbnRpdHlEZWZpbml0aW9ucyIsImdsb2JhbHMiLCJkZWZpbml0aW9ucyJdLCJtYXBwaW5ncyI6IkFBRUEsT0FBT0EsZUFBZSxZQUFXO0FBQ2pDLE1BQU0sRUFBRUMsUUFBUSxFQUFFLEdBQUdEO0FBT3JCLFNBQVNFLGdCQUFnQixFQUFFQyxVQUFVLFFBQVEsNEJBQTJCO0FBQ3hFLFNBQVNDLGNBQWMsUUFBUSxzQkFBcUI7QUFDcEQsU0FBU0MsT0FBTyxRQUFRLG9CQUFtQjtBQUUzQyxNQUFNQyxrQkFBa0IsQ0FBQ0M7SUFDdkIsTUFBTUMsZ0JBQWdCQyxRQUFRRixPQUFPRyxTQUFTSCxPQUFPRyxPQUFPQztJQUM1RCxJQUFJSCxlQUFlLE9BQU87SUFFMUIsTUFBTUksbUJBQW1CLGNBQWNMLFNBQVNBLE1BQU1NLFFBQVEsS0FBSztJ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
|
|
502
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29uZmlnVG9KU09OU2NoZW1hLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSlNPTlNjaGVtYTQsIEpTT05TY2hlbWE0VHlwZU5hbWUgfSBmcm9tICdqc29uLXNjaGVtYSdcblxuaW1wb3J0IHBsdXJhbGl6ZSBmcm9tICdwbHVyYWxpemUnXG5jb25zdCB7IHNpbmd1bGFyIH0gPSBwbHVyYWxpemVcblxuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICcuLi9jb25maWcvdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBGaWVsZEFmZmVjdGluZ0RhdGEsIE9wdGlvbiB9IGZyb20gJy4uL2ZpZWxkcy9jb25maWcvdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZEdsb2JhbENvbmZpZyB9IGZyb20gJy4uL2dsb2JhbHMvY29uZmlnL3R5cGVzLmpzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhLCB0YWJIYXNOYW1lIH0gZnJvbSAnLi4vZmllbGRzL2NvbmZpZy90eXBlcy5qcydcbmltcG9ydCB7IGRlZXBDb3B5T2JqZWN0IH0gZnJvbSAnLi9kZWVwQ29weU9iamVjdC5qcydcbmltcG9ydCB7IHRvV29yZHMgfSBmcm9tICcuL2Zvcm1hdExhYmVscy5qcydcbmltcG9ydCB7IGdldENvbGxlY3Rpb25JREZpZWxkVHlwZXMgfSBmcm9tICcuL2dldENvbGxlY3Rpb25JREZpZWxkVHlwZXMuanMnXG5cbmNvbnN0IGZpZWxkSXNSZXF1aXJlZCA9IChmaWVsZDogRmllbGQpID0+IHtcbiAgY29uc3QgaXNDb25kaXRpb25hbCA9IEJvb2xlYW4oZmllbGQ/LmFkbWluICYmIGZpZWxkPy5hZG1pbj8uY29uZGl0aW9uKVxuICBpZiAoaXNDb25kaXRpb25hbCkgcmV0dXJuIGZhbHNlXG5cbiAgY29uc3QgaXNNYXJrZWRSZXF1aXJlZCA9ICdyZXF1aXJlZCcgaW4gZmllbGQgJiYgZmllbGQucmVxdWlyZWQgPT09IHRydWVcbiAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGlzTWFya2VkUmVxdWlyZWQpIHJldHVybiB0cnVlXG5cbiAgLy8gaWYgYW55IHN1YmZpZWxkcyBhcmUgcmVxdWlyZWQsIHRoaXMgZmllbGQgaXMgcmVxdWlyZWRcbiAgaWYgKCdmaWVsZHMnIGluIGZpZWxkICYmIGZpZWxkLnR5cGUgIT09ICdhcnJheScpIHtcbiAgICByZXR1cm4gZmllbGQuZmllbGRzLnNvbWUoKHN1YkZpZWxkKSA9PiBmaWVsZElzUmVxdWlyZWQoc3ViRmllbGQpKVxuICB9XG5cbiAgLy8gaWYgYW55IHRhYiBzdWJmaWVsZHMgaGF2ZSByZXF1aXJlZCBmaWVsZHMsIHRoaXMgZmllbGQgaXMgcmVxdWlyZWRcbiAgaWYgKGZpZWxkLnR5cGUgPT09ICd0YWJzJykge1xuICAgIHJldHVybiBmaWVsZC50YWJzLnNvbWUoKHRhYikgPT4ge1xuICAgICAgaWYgKCduYW1lJyBpbiB0YWIpIHtcbiAgICAgICAgcmV0dXJuIHRhYi5maWVsZHMuc29tZSgoc3ViRmllbGQpID0+IGZpZWxkSXNSZXF1aXJlZChzdWJGaWVsZCkpXG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmZ1bmN0aW9uIGJ1aWxkT3B0aW9uRW51bXMob3B0aW9uczogT3B0aW9uW10pOiBzdHJpbmdbXSB7XG4gIHJldHVybiBvcHRpb25zLm1hcCgob3B0aW9uKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBvcHRpb24gPT09ICdvYmplY3QnICYmICd2YWx1ZScgaW4gb3B0aW9uKSB7XG4gICAgICByZXR1cm4gb3B0aW9uLnZhbHVlXG4gICAgfVxuXG4gICAgcmV0dXJuIG9wdGlvblxuICB9KVxufVxuXG5mdW5jdGlvbiBnZW5lcmF0ZUVudGl0eVNjaGVtYXMoXG4gIGVudGl0aWVzOiAoU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB8IFNhbml0aXplZEdsb2JhbENvbmZpZylbXSxcbik6IEpTT05TY2hlbWE0IHtcbiAgY29uc3QgcHJvcGVydGllcyA9IFsuLi5lbnRpdGllc10ucmVkdWNlKChhY2MsIHsgc2x1ZyB9KSA9PiB7XG4gICAgYWNjW3NsdWddID0ge1xuICAgICAgJHJlZjogYCMvZGVmaW5pdGlvbnMvJHtzbHVnfWAsXG4gICAgfVxuXG4gICAgcmV0dXJuIGFjY1xuICB9LCB7fSlcblxuICByZXR1cm4ge1xuICAgIHR5cGU6ICdvYmplY3QnLFxuICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICBwcm9wZXJ0aWVzLFxuICAgIHJlcXVpcmVkOiBPYmplY3Qua2V5cyhwcm9wZXJ0aWVzKSxcbiAgfVxufVxuXG4vKipcbiAqIFJldHVybnMgYSBKU09OIFNjaGVtYSBUeXBlIHdpdGggJ251bGwnIGFkZGVkIGlmIHRoZSBmaWVsZCBpcyBub3QgcmVxdWlyZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZShcbiAgZmllbGRUeXBlOiBKU09OU2NoZW1hNFR5cGVOYW1lLFxuICBpc1JlcXVpcmVkOiBib29sZWFuLFxuKTogSlNPTlNjaGVtYTRUeXBlTmFtZSB8IEpTT05TY2hlbWE0VHlwZU5hbWVbXSB7XG4gIGNvbnN0IGZpZWxkVHlwZXMgPSBbZmllbGRUeXBlXVxuICBpZiAoaXNSZXF1aXJlZCkgcmV0dXJuIGZpZWxkVHlwZVxuICBmaWVsZFR5cGVzLnB1c2goJ251bGwnKVxuICByZXR1cm4gZmllbGRUeXBlc1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmllbGRzVG9KU09OU2NoZW1hKFxuICAvKipcbiAgICogVXNlZCBmb3IgcmVsYXRpb25zaGlwIGZpZWxkcywgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdG8gdXNlIGEgc3RyaW5nIG9yIG51bWJlciB0eXBlIGZvciB0aGUgSUQuXG4gICAqIFdoaWxlIHRoZXJlIGlzIGEgZGVmYXVsdCBJRCBmaWVsZCB0eXBlIHNldCBieSB0aGUgZGIgYWRhcHRlciwgdGhleSBjYW4gZGlmZmVyIG9uIGEgY29sbGVjdGlvbi1sZXZlbFxuICAgKiBpZiB0aGV5IGhhdmUgY3VzdG9tIElEIGZpZWxkcy5cbiAgICovXG4gIGNvbGxlY3Rpb25JREZpZWxkVHlwZXM6IHsgW2tleTogc3RyaW5nXTogJ251bWJlcicgfCAnc3RyaW5nJyB9LFxuICBmaWVsZHM6IEZpZWxkW10sXG4gIC8qKlxuICAgKiBBbGxvd3MgeW91IHRvIGRlZmluZSBuZXcgdG9wLWxldmVsIGludGVyZmFjZXMgdGhhdCBjYW4gYmUgcmUtdXNlZCBpbiB0aGUgb3V0cHV0IHNjaGVtYS5cbiAgICovXG4gIGludGVyZmFjZU5hbWVEZWZpbml0aW9uczogTWFwPHN0cmluZywgSlNPTlNjaGVtYTQ+LFxuICBjb25maWc/OiBTYW5pdGl6ZWRDb25maWcsXG4pOiB7XG4gIHByb3BlcnRpZXM6IHtcbiAgICBbazogc3RyaW5nXTogSlNPTlNjaGVtYTRcbiAgfVxuICByZXF1aXJlZDogc3RyaW5nW11cbn0ge1xuICBjb25zdCByZXF1aXJlZEZpZWxkTmFtZXMgPSBuZXcgU2V0PHN0cmluZz4oKVxuXG4gIHJldHVybiB7XG4gICAgcHJvcGVydGllczogT2JqZWN0LmZyb21FbnRyaWVzKFxuICAgICAgZmllbGRzLnJlZHVjZSgoZmllbGRTY2hlbWFzLCBmaWVsZCkgPT4ge1xuICAgICAgICBjb25zdCBpc1JlcXVpcmVkID0gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGRJc1JlcXVpcmVkKGZpZWxkKVxuICAgICAgICBpZiAoaXNSZXF1aXJlZCkgcmVxdWlyZWRGaWVsZE5hbWVzLmFkZChmaWVsZC5uYW1lKVxuXG4gICAgICAgIGxldCBmaWVsZFNjaGVtYTogSlNPTlNjaGVtYTRcbiAgICAgICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICAgICAgY2FzZSAndGV4dCc6XG4gICAgICAgICAgICBpZiAoZmllbGQuaGFzTWFueSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnYXJyYXknLCBpc1JlcXVpcmVkKSxcbiAgICAgICAgICAgICAgICBpdGVtczogeyB0eXBlOiAnc3RyaW5nJyB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHsgdHlwZTogd2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUoJ3N0cmluZycsIGlzUmVxdWlyZWQpIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgY2FzZSAndGV4dGFyZWEnOlxuICAgICAgICAgIGNhc2UgJ2NvZGUnOlxuICAgICAgICAgIGNhc2UgJ2VtYWlsJzpcbiAgICAgICAgICBjYXNlICdkYXRlJzoge1xuICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7IHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdzdHJpbmcnLCBpc1JlcXVpcmVkKSB9XG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ251bWJlcic6IHtcbiAgICAgICAgICAgIGlmIChmaWVsZC5oYXNNYW55ID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiB7IHR5cGU6ICdudW1iZXInIH0sXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0geyB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnbnVtYmVyJywgaXNSZXF1aXJlZCkgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdjaGVja2JveCc6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0geyB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnYm9vbGVhbicsIGlzUmVxdWlyZWQpIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnanNvbic6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICB0eXBlOiBbJ29iamVjdCcsICdhcnJheScsICdzdHJpbmcnLCAnbnVtYmVyJywgJ2Jvb2xlYW4nLCAnbnVsbCddLFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdyaWNoVGV4dCc6IHtcbiAgICAgICAgICAgIGlmIChmaWVsZC5lZGl0b3Iub3V0cHV0U2NoZW1hKSB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0gZmllbGQuZWRpdG9yLm91dHB1dFNjaGVtYSh7XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbklERmllbGRUeXBlcyxcbiAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgZmllbGQsXG4gICAgICAgICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLFxuICAgICAgICAgICAgICAgIGlzUmVxdWlyZWQsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBNYWludGFpbiBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIGV4aXN0aW5nIHJpY2ggdGV4dCBlZGl0b3JzXG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAncmFkaW8nOiB7XG4gICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUoJ3N0cmluZycsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICBlbnVtOiBidWlsZE9wdGlvbkVudW1zKGZpZWxkLm9wdGlvbnMpLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ3NlbGVjdCc6IHtcbiAgICAgICAgICAgIGNvbnN0IG9wdGlvbkVudW1zID0gYnVpbGRPcHRpb25FbnVtcyhmaWVsZC5vcHRpb25zKVxuXG4gICAgICAgICAgICBpZiAoZmllbGQuaGFzTWFueSkge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnYXJyYXknLCBpc1JlcXVpcmVkKSxcbiAgICAgICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICAgICAgICBlbnVtOiBvcHRpb25FbnVtcyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnc3RyaW5nJywgaXNSZXF1aXJlZCksXG4gICAgICAgICAgICAgICAgZW51bTogb3B0aW9uRW51bXMsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdwb2ludCc6IHtcbiAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICB0eXBlOiB3aXRoTnVsbGFibGVKU09OU2NoZW1hVHlwZSgnYXJyYXknLCBpc1JlcXVpcmVkKSxcbiAgICAgICAgICAgICAgaXRlbXM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIG1heEl0ZW1zOiAyLFxuICAgICAgICAgICAgICBtaW5JdGVtczogMixcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAncmVsYXRpb25zaGlwJzoge1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZmllbGQucmVsYXRpb25UbykpIHtcbiAgICAgICAgICAgICAgaWYgKGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgICAgICAgICAgb25lT2Y6IGZpZWxkLnJlbGF0aW9uVG8ubWFwKChyZWxhdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnRpZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpb25Ubzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0OiByZWxhdGlvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbmVPZjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uSURGaWVsZFR5cGVzW3JlbGF0aW9uXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7cmVsYXRpb259YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogWyd2YWx1ZScsICdyZWxhdGlvblRvJ10sXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgICAgb25lT2Y6IGZpZWxkLnJlbGF0aW9uVG8ubWFwKChyZWxhdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdvYmplY3QnLCBpc1JlcXVpcmVkKSxcbiAgICAgICAgICAgICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpb25Ubzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdDogcmVsYXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb25lT2Y6IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uSURGaWVsZFR5cGVzW3JlbGF0aW9uXSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7cmVsYXRpb259YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiBbJ3ZhbHVlJywgJ3JlbGF0aW9uVG8nXSxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGZpZWxkLmhhc01hbnkpIHtcbiAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUoJ2FycmF5JywgaXNSZXF1aXJlZCksXG4gICAgICAgICAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICAgICAgICAgIG9uZU9mOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBjb2xsZWN0aW9uSURGaWVsZFR5cGVzW2ZpZWxkLnJlbGF0aW9uVG9dLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgJHJlZjogYCMvZGVmaW5pdGlvbnMvJHtmaWVsZC5yZWxhdGlvblRvfWAsXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hID0ge1xuICAgICAgICAgICAgICAgIG9uZU9mOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKFxuICAgICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25JREZpZWxkVHlwZXNbZmllbGQucmVsYXRpb25Ub10sXG4gICAgICAgICAgICAgICAgICAgICAgaXNSZXF1aXJlZCxcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7ZmllbGQucmVsYXRpb25Ub31gLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAndXBsb2FkJzoge1xuICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgIG9uZU9mOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgdHlwZTogY29sbGVjdGlvbklERmllbGRUeXBlc1tmaWVsZC5yZWxhdGlvblRvXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICRyZWY6IGAjL2RlZmluaXRpb25zLyR7ZmllbGQucmVsYXRpb25Ub31gLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWlzUmVxdWlyZWQpIGZpZWxkU2NoZW1hLm9uZU9mLnB1c2goeyB0eXBlOiAnbnVsbCcgfSlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnYmxvY2tzJzoge1xuICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgIHR5cGU6IHdpdGhOdWxsYWJsZUpTT05TY2hlbWFUeXBlKCdhcnJheScsIGlzUmVxdWlyZWQpLFxuICAgICAgICAgICAgICBpdGVtczoge1xuICAgICAgICAgICAgICAgIG9uZU9mOiBmaWVsZC5ibG9ja3MubWFwKChibG9jaykgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc3QgYmxvY2tGaWVsZFNjaGVtYXMgPSBmaWVsZHNUb0pTT05TY2hlbWEoXG4gICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25JREZpZWxkVHlwZXMsXG4gICAgICAgICAgICAgICAgICAgIGJsb2NrLmZpZWxkcyxcbiAgICAgICAgICAgICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLFxuICAgICAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgICApXG5cbiAgICAgICAgICAgICAgICAgIGNvbnN0IGJsb2NrU2NoZW1hOiBKU09OU2NoZW1hNCA9IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgICAgICAgICAgICAgIC4uLmJsb2NrRmllbGRTY2hlbWFzLnByb3BlcnRpZXMsXG4gICAgICAgICAgICAgICAgICAgICAgYmxvY2tUeXBlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdDogYmxvY2suc2x1ZyxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogWydibG9ja1R5cGUnLCAuLi5ibG9ja0ZpZWxkU2NoZW1hcy5yZXF1aXJlZF0sXG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIGlmIChibG9jay5pbnRlcmZhY2VOYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucy5zZXQoYmxvY2suaW50ZXJmYWNlTmFtZSwgYmxvY2tTY2hlbWEpXG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAkcmVmOiBgIy9kZWZpbml0aW9ucy8ke2Jsb2NrLmludGVyZmFjZU5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICByZXR1cm4gYmxvY2tTY2hlbWFcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnYXJyYXknOiB7XG4gICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgdHlwZTogd2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUoJ2FycmF5JywgaXNSZXF1aXJlZCksXG4gICAgICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIC4uLmZpZWxkc1RvSlNPTlNjaGVtYShcbiAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25JREZpZWxkVHlwZXMsXG4gICAgICAgICAgICAgICAgICBmaWVsZC5maWVsZHMsXG4gICAgICAgICAgICAgICAgICBpbnRlcmZhY2VOYW1lRGVmaW5pdGlvbnMsXG4gICAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGZpZWxkLmludGVyZmFjZU5hbWUpIHtcbiAgICAgICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLnNldChmaWVsZC5pbnRlcmZhY2VOYW1lLCBmaWVsZFNjaGVtYSlcblxuICAgICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgICAkcmVmOiBgIy9kZWZpbml0aW9ucy8ke2ZpZWxkLmludGVyZmFjZU5hbWV9YCxcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjYXNlICdyb3cnOlxuICAgICAgICAgIGNhc2UgJ2NvbGxhcHNpYmxlJzoge1xuICAgICAgICAgICAgY29uc3QgY2hpbGRTY2hlbWEgPSBmaWVsZHNUb0pTT05TY2hlbWEoXG4gICAgICAgICAgICAgIGNvbGxlY3Rpb25JREZpZWxkVHlwZXMsXG4gICAgICAgICAgICAgIGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLFxuICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBPYmplY3QuZW50cmllcyhjaGlsZFNjaGVtYS5wcm9wZXJ0aWVzKS5mb3JFYWNoKChbcHJvcE5hbWUsIHByb3BTY2hlbWFdKSA9PiB7XG4gICAgICAgICAgICAgIGZpZWxkU2NoZW1hcy5zZXQocHJvcE5hbWUsIHByb3BTY2hlbWEpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgY2hpbGRTY2hlbWEucmVxdWlyZWQuZm9yRWFjaCgocHJvcE5hbWUpID0+IHtcbiAgICAgICAgICAgICAgcmVxdWlyZWRGaWVsZE5hbWVzLmFkZChwcm9wTmFtZSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBicmVha1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhc2UgJ3RhYnMnOiB7XG4gICAgICAgICAgICBmaWVsZC50YWJzLmZvckVhY2goKHRhYikgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBjaGlsZFNjaGVtYSA9IGZpZWxkc1RvSlNPTlNjaGVtYShcbiAgICAgICAgICAgICAgICBjb2xsZWN0aW9uSURGaWVsZFR5cGVzLFxuICAgICAgICAgICAgICAgIHRhYi5maWVsZHMsXG4gICAgICAgICAgICAgICAgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zLFxuICAgICAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICBpZiAodGFiSGFzTmFtZSh0YWIpKSB7XG4gICAgICAgICAgICAgICAgLy8gY291bGQgaGF2ZSBpbnRlcmZhY2VcbiAgICAgICAgICAgICAgICBmaWVsZFNjaGVtYXMuc2V0KHRhYi5uYW1lLCB7XG4gICAgICAgICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgIC4uLmNoaWxkU2NoZW1hLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgcmVxdWlyZWRGaWVsZE5hbWVzLmFkZCh0YWIubmFtZSlcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBPYmplY3QuZW50cmllcyhjaGlsZFNjaGVtYS5wcm9wZXJ0aWVzKS5mb3JFYWNoKChbcHJvcE5hbWUsIHByb3BTY2hlbWFdKSA9PiB7XG4gICAgICAgICAgICAgICAgICBmaWVsZFNjaGVtYXMuc2V0KHByb3BOYW1lLCBwcm9wU2NoZW1hKVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgY2hpbGRTY2hlbWEucmVxdWlyZWQuZm9yRWFjaCgocHJvcE5hbWUpID0+IHtcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkRmllbGROYW1lcy5hZGQocHJvcE5hbWUpXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY2FzZSAnZ3JvdXAnOiB7XG4gICAgICAgICAgICBmaWVsZFNjaGVtYSA9IHtcbiAgICAgICAgICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgICAgICAgICAgIGFkZGl0aW9uYWxQcm9wZXJ0aWVzOiBmYWxzZSxcbiAgICAgICAgICAgICAgLi4uZmllbGRzVG9KU09OU2NoZW1hKFxuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb25JREZpZWxkVHlwZXMsXG4gICAgICAgICAgICAgICAgZmllbGQuZmllbGRzLFxuICAgICAgICAgICAgICAgIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucyxcbiAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChmaWVsZC5pbnRlcmZhY2VOYW1lKSB7XG4gICAgICAgICAgICAgIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucy5zZXQoZmllbGQuaW50ZXJmYWNlTmFtZSwgZmllbGRTY2hlbWEpXG5cbiAgICAgICAgICAgICAgZmllbGRTY2hlbWEgPSB7XG4gICAgICAgICAgICAgICAgJHJlZjogYCMvZGVmaW5pdGlvbnMvJHtmaWVsZC5pbnRlcmZhY2VOYW1lfWAsXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZmllbGRTY2hlbWEgJiYgZmllbGRBZmZlY3RzRGF0YShmaWVsZCkpIHtcbiAgICAgICAgICBmaWVsZFNjaGVtYXMuc2V0KGZpZWxkLm5hbWUsIGZpZWxkU2NoZW1hKVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGZpZWxkU2NoZW1hc1xuICAgICAgfSwgbmV3IE1hcDxzdHJpbmcsIEpTT05TY2hlbWE0PigpKSxcbiAgICApLFxuICAgIHJlcXVpcmVkOiBBcnJheS5mcm9tKHJlcXVpcmVkRmllbGROYW1lcyksXG4gIH1cbn1cblxuLy8gVGhpcyBmdW5jdGlvbiBpcyBwYXJ0IG9mIHRoZSBwdWJsaWMgQVBJIGFuZCBpcyBleHBvcnRlZCB0aHJvdWdoIHBheWxvYWQvdXRpbGl0aWVzXG5leHBvcnQgZnVuY3Rpb24gZW50aXR5VG9KU09OU2NoZW1hKFxuICBjb25maWc6IFNhbml0aXplZENvbmZpZyxcbiAgaW5jb21pbmdFbnRpdHk6IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfCBTYW5pdGl6ZWRHbG9iYWxDb25maWcsXG4gIGludGVyZmFjZU5hbWVEZWZpbml0aW9uczogTWFwPHN0cmluZywgSlNPTlNjaGVtYTQ+LFxuICBkZWZhdWx0SURUeXBlOiAnbnVtYmVyJyB8ICd0ZXh0Jyxcbik6IEpTT05TY2hlbWE0IHtcbiAgY29uc3QgZW50aXR5OiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIHwgU2FuaXRpemVkR2xvYmFsQ29uZmlnID0gZGVlcENvcHlPYmplY3QoaW5jb21pbmdFbnRpdHkpXG4gIGNvbnN0IHRpdGxlID0gZW50aXR5LnR5cGVzY3JpcHQ/LmludGVyZmFjZVxuICAgID8gZW50aXR5LnR5cGVzY3JpcHQuaW50ZXJmYWNlXG4gICAgOiBzaW5ndWxhcih0b1dvcmRzKGVudGl0eS5zbHVnLCB0cnVlKSlcblxuICBjb25zdCBpZEZpZWxkOiBGaWVsZEFmZmVjdGluZ0RhdGEgPSB7IG5hbWU6ICdpZCcsIHR5cGU6IGRlZmF1bHRJRFR5cGUgYXMgJ3RleHQnLCByZXF1aXJlZDogdHJ1ZSB9XG4gIGNvbnN0IGN1c3RvbUlkRmllbGQgPSBlbnRpdHkuZmllbGRzLmZpbmQoXG4gICAgKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnLFxuICApIGFzIEZpZWxkQWZmZWN0aW5nRGF0YVxuXG4gIGlmIChjdXN0b21JZEZpZWxkICYmIGN1c3RvbUlkRmllbGQudHlwZSAhPT0gJ2dyb3VwJyAmJiBjdXN0b21JZEZpZWxkLnR5cGUgIT09ICd0YWInKSB7XG4gICAgY3VzdG9tSWRGaWVsZC5yZXF1aXJlZCA9IHRydWVcbiAgfSBlbHNlIHtcbiAgICBlbnRpdHkuZmllbGRzLnVuc2hpZnQoaWRGaWVsZClcbiAgfVxuXG4gIC8vIG1hcmsgdGltZXN0YW1wIGZpZWxkcyByZXF1aXJlZFxuICBpZiAoJ3RpbWVzdGFtcHMnIGluIGVudGl0eSAmJiBlbnRpdHkudGltZXN0YW1wcyAhPT0gZmFsc2UpIHtcbiAgICBlbnRpdHkuZmllbGRzID0gZW50aXR5LmZpZWxkcy5tYXAoKGZpZWxkKSA9PiB7XG4gICAgICBpZiAoZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgKGZpZWxkLm5hbWUgPT09ICdjcmVhdGVkQXQnIHx8IGZpZWxkLm5hbWUgPT09ICd1cGRhdGVkQXQnKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIC4uLmZpZWxkLFxuICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gZmllbGRcbiAgICB9KVxuICB9XG5cbiAgaWYgKCdhdXRoJyBpbiBlbnRpdHkgJiYgZW50aXR5LmF1dGggJiYgIWVudGl0eS5hdXRoPy5kaXNhYmxlTG9jYWxTdHJhdGVneSkge1xuICAgIGVudGl0eS5maWVsZHMucHVzaCh7XG4gICAgICBuYW1lOiAncGFzc3dvcmQnLFxuICAgICAgdHlwZTogJ3RleHQnLFxuICAgIH0pXG4gIH1cblxuICAvLyAgVXNlZCBmb3IgcmVsYXRpb25zaGlwIGZpZWxkcywgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdG8gdXNlIGEgc3RyaW5nIG9yIG51bWJlciB0eXBlIGZvciB0aGUgSUQuXG4gIGNvbnN0IGNvbGxlY3Rpb25JREZpZWxkVHlwZXMgPSBnZXRDb2xsZWN0aW9uSURGaWVsZFR5cGVzKHsgY29uZmlnLCBkZWZhdWx0SURUeXBlIH0pXG5cbiAgcmV0dXJuIHtcbiAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgdGl0bGUsXG4gICAgLi4uZmllbGRzVG9KU09OU2NoZW1hKGNvbGxlY3Rpb25JREZpZWxkVHlwZXMsIGVudGl0eS5maWVsZHMsIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucywgY29uZmlnKSxcbiAgfVxufVxuXG4vKipcbiAqIFRoaXMgaXMgdXNlZCBmb3IgZ2VuZXJhdGluZyB0aGUgVHlwZVNjcmlwdCB0eXBlcyAocGF5bG9hZC10eXBlcy50cykgd2l0aCB0aGUgcGF5bG9hZCBnZW5lcmF0ZTp0eXBlcyBjb21tYW5kLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29uZmlnVG9KU09OU2NoZW1hKFxuICBjb25maWc6IFNhbml0aXplZENvbmZpZyxcbiAgZGVmYXVsdElEVHlwZT86ICdudW1iZXInIHwgJ3RleHQnLFxuKTogSlNPTlNjaGVtYTQge1xuICAvLyBhIG11dGFibGUgTWFwIHRvIHN0b3JlIGN1c3RvbSB0b3AtbGV2ZWwgYGludGVyZmFjZU5hbWVgIHR5cGVzLiBGaWVsZHMgd2l0aCBhbiBgaW50ZXJmYWNlTmFtZWAgcHJvcGVydHkgd2lsbCBiZSBtb3ZlZCB0byB0aGUgdG9wLWxldmVsIGRlZmluaXRpb25zIGhlcmVcbiAgY29uc3QgaW50ZXJmYWNlTmFtZURlZmluaXRpb25zOiBNYXA8c3RyaW5nLCBKU09OU2NoZW1hND4gPSBuZXcgTWFwKClcblxuICAvLyBDb2xsZWN0aW9ucyBhbmQgR2xvYmFscyBoYXZlIHRvIGJlIG1vdmVkIHRvIHRoZSB0b3AtbGV2ZWwgZGVmaW5pdGlvbnMgYXMgd2VsbC4gUmVhc29uOiBUaGUgdG9wLWxldmVsIHR5cGUgd2lsbCBiZSB0aGUgYENvbmZpZ2AgdHlwZSAtIHdlIGRvbid0IHdhbnQgYWxsIGNvbGxlY3Rpb24gYW5kIGdsb2JhbFxuICAvLyB0eXBlcyB0byBiZSBpbmxpbmVkIGluc2lkZSB0aGUgYENvbmZpZ2AgdHlwZVxuICBjb25zdCBlbnRpdHlEZWZpbml0aW9uczogeyBbazogc3RyaW5nXTogSlNPTlNjaGVtYTQgfSA9IFtcbiAgICAuLi5jb25maWcuZ2xvYmFscyxcbiAgICAuLi5jb25maWcuY29sbGVjdGlvbnMsXG4gIF0ucmVkdWNlKChhY2MsIGVudGl0eSkgPT4ge1xuICAgIGFjY1tlbnRpdHkuc2x1Z10gPSBlbnRpdHlUb0pTT05TY2hlbWEoY29uZmlnLCBlbnRpdHksIGludGVyZmFjZU5hbWVEZWZpbml0aW9ucywgZGVmYXVsdElEVHlwZSlcbiAgICByZXR1cm4gYWNjXG4gIH0sIHt9KVxuXG4gIHJldHVybiB7XG4gICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgIGRlZmluaXRpb25zOiB7IC4uLmVudGl0eURlZmluaXRpb25zLCAuLi5PYmplY3QuZnJvbUVudHJpZXMoaW50ZXJmYWNlTmFtZURlZmluaXRpb25zKSB9LFxuICAgIC8vIFRoZXNlIHByb3BlcnRpZXMgaGVyZSB3aWxsIGJlIHZlcnkgc2ltcGxlLCBhcyBhbGwgdGhlIGNvbXBsZXhpdHkgaXMgaW4gdGhlIGRlZmluaXRpb25zLiBUaGVzZSBhcmUganVzdCB0aGUgcHJvcGVydGllcyBmb3IgdGhlIHRvcC1sZXZlbCBgQ29uZmlnYCB0eXBlXG4gICAgdHlwZTogJ29iamVjdCcsXG4gICAgcHJvcGVydGllczoge1xuICAgICAgY29sbGVjdGlvbnM6IGdlbmVyYXRlRW50aXR5U2NoZW1hcyhjb25maWcuY29sbGVjdGlvbnMgfHwgW10pLFxuICAgICAgZ2xvYmFsczogZ2VuZXJhdGVFbnRpdHlTY2hlbWFzKGNvbmZpZy5nbG9iYWxzIHx8IFtdKSxcbiAgICB9LFxuICAgIHJlcXVpcmVkOiBbJ2NvbGxlY3Rpb25zJywgJ2dsb2JhbHMnXSxcbiAgICB0aXRsZTogJ0NvbmZpZycsXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJwbHVyYWxpemUiLCJzaW5ndWxhciIsImZpZWxkQWZmZWN0c0RhdGEiLCJ0YWJIYXNOYW1lIiwiZGVlcENvcHlPYmplY3QiLCJ0b1dvcmRzIiwiZ2V0Q29sbGVjdGlvbklERmllbGRUeXBlcyIsImZpZWxkSXNSZXF1aXJlZCIsImZpZWxkIiwiaXNDb25kaXRpb25hbCIsIkJvb2xlYW4iLCJhZG1pbiIsImNvbmRpdGlvbiIsImlzTWFya2VkUmVxdWlyZWQiLCJyZXF1aXJlZCIsInR5cGUiLCJmaWVsZHMiLCJzb21lIiwic3ViRmllbGQiLCJ0YWJzIiwidGFiIiwiYnVpbGRPcHRpb25FbnVtcyIsIm9wdGlvbnMiLCJtYXAiLCJvcHRpb24iLCJ2YWx1ZSIsImdlbmVyYXRlRW50aXR5U2NoZW1hcyIsImVudGl0aWVzIiwicHJvcGVydGllcyIsInJlZHVjZSIsImFjYyIsInNsdWciLCIkcmVmIiwiYWRkaXRpb25hbFByb3BlcnRpZXMiLCJPYmplY3QiLCJrZXlzIiwid2l0aE51bGxhYmxlSlNPTlNjaGVtYVR5cGUiLCJmaWVsZFR5cGUiLCJpc1JlcXVpcmVkIiwiZmllbGRUeXBlcyIsInB1c2giLCJmaWVsZHNUb0pTT05TY2hlbWEiLCJjb2xsZWN0aW9uSURGaWVsZFR5cGVzIiwiaW50ZXJmYWNlTmFtZURlZmluaXRpb25zIiwiY29uZmlnIiwicmVxdWlyZWRGaWVsZE5hbWVzIiwiU2V0IiwiZnJvbUVudHJpZXMiLCJmaWVsZFNjaGVtYXMiLCJhZGQiLCJuYW1lIiwiZmllbGRTY2hlbWEiLCJoYXNNYW55IiwiaXRlbXMiLCJlZGl0b3IiLCJvdXRwdXRTY2hlbWEiLCJlbnVtIiwib3B0aW9uRW51bXMiLCJtYXhJdGVtcyIsIm1pbkl0ZW1zIiwiQXJyYXkiLCJpc0FycmF5IiwicmVsYXRpb25UbyIsIm9uZU9mIiwicmVsYXRpb24iLCJjb25zdCIsImJsb2NrcyIsImJsb2NrIiwiYmxvY2tGaWVsZFNjaGVtYXMiLCJibG9ja1NjaGVtYSIsImJsb2NrVHlwZSIsImludGVyZmFjZU5hbWUiLCJzZXQiLCJjaGlsZFNjaGVtYSIsImVudHJpZXMiLCJmb3JFYWNoIiwicHJvcE5hbWUiLCJwcm9wU2NoZW1hIiwiTWFwIiwiZnJvbSIsImVudGl0eVRvSlNPTlNjaGVtYSIsImluY29taW5nRW50aXR5IiwiZGVmYXVsdElEVHlwZSIsImVudGl0eSIsInRpdGxlIiwidHlwZXNjcmlwdCIsImludGVyZmFjZSIsImlkRmllbGQiLCJjdXN0b21JZEZpZWxkIiwiZmluZCIsInVuc2hpZnQiLCJ0aW1lc3RhbXBzIiwiYXV0aCIsImRpc2FibGVMb2NhbFN0cmF0ZWd5IiwiY29uZmlnVG9KU09OU2NoZW1hIiwiZW50aXR5RGVmaW5pdGlvbnMiLCJnbG9iYWxzIiwiY29sbGVjdGlvbnMiLCJkZWZpbml0aW9ucyJdLCJtYXBwaW5ncyI6IkFBRUEsT0FBT0EsZUFBZSxZQUFXO0FBQ2pDLE1BQU0sRUFBRUMsUUFBUSxFQUFFLEdBQUdEO0FBT3JCLFNBQVNFLGdCQUFnQixFQUFFQyxVQUFVLFFBQVEsNEJBQTJCO0FBQ3hFLFNBQVNDLGNBQWMsUUFBUSxzQkFB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
|
|
@@ -65,4 +65,4 @@ describe('configToJSONSchema', ()=>{
|
|
|
65
65
|
});
|
|
66
66
|
});
|
|
67
67
|
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY29uZmlnVG9KU09OU2NoZW1hLnNwZWMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb25maWcgfSBmcm9tICcuLi9jb25maWcvdHlwZXMuanMnXG5cbmltcG9ydCB7IHNhbml0aXplQ29uZmlnIH0gZnJvbSAnLi4vY29uZmlnL3Nhbml0aXplLmpzJ1xuaW1wb3J0IHsgY29uZmlnVG9KU09OU2NoZW1hIH0gZnJvbSAnLi9jb25maWdUb0pTT05TY2hlbWEuanMnXG5cbmRlc2NyaWJlKCdjb25maWdUb0pTT05TY2hlbWEnLCAoKSA9PiB7XG4gIGl0KCdzaG91bGQgaGFuZGxlIG9wdGlvbmFsIGFycmF5cyB3aXRoIHJlcXVpcmVkIGZpZWxkcycsICgpID0+IHtcbiAgICBjb25zdCBjb25maWc6IENvbmZpZyA9IHtcbiAgICAgIGNvbGxlY3Rpb25zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3NvbWVSZXF1aXJlZEZpZWxkJyxcbiAgICAgICAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogJ3NvbWVSZXF1aXJlZEZpZWxkJyxcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgc2x1ZzogJ3Rlc3QnLFxuICAgICAgICAgIHRpbWVzdGFtcHM6IGZhbHNlLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9XG5cbiAgICBjb25zdCBzYW5pdGl6ZWRDb25maWcgPSBzYW5pdGl6ZUNvbmZpZyhjb25maWcpXG4gICAgY29uc3Qgc2NoZW1hID0gY29uZmlnVG9KU09OU2NoZW1hKHNhbml0aXplZENvbmZpZywgJ3RleHQnKVxuXG4gICAgZXhwZWN0KHNjaGVtYT8uZGVmaW5pdGlvbnM/LnRlc3QpLnRvU3RyaWN0RXF1YWwoe1xuICAgICAgYWRkaXRpb25hbFByb3BlcnRpZXM6IGZhbHNlLFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBpZDoge1xuICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICB9LFxuICAgICAgICBzb21lUmVxdWlyZWRGaWVsZDoge1xuICAgICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgICBhZGRpdGlvbmFsUHJvcGVydGllczogZmFsc2UsXG4gICAgICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgICAgIGlkOiB7XG4gICAgICAgICAgICAgICAgdHlwZTogWydzdHJpbmcnLCAnbnVsbCddLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBzb21lUmVxdWlyZWRGaWVsZDoge1xuICAgICAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlcXVpcmVkOiBbJ3NvbWVSZXF1aXJlZEZpZWxkJ10sXG4gICAgICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHR5cGU6IFsnYXJyYXknLCAnbnVsbCddLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHJlcXVpcmVkOiBbJ2lkJ10sXG4gICAgICB0aXRsZTogJ1Rlc3QnLFxuICAgICAgdHlwZTogJ29iamVjdCcsXG4gICAgfSlcbiAgfSlcbn0pXG4iXSwibmFtZXMiOlsic2FuaXRpemVDb25maWciLCJjb25maWdUb0pTT05TY2hlbWEiLCJkZXNjcmliZSIsIml0IiwiY29uZmlnIiwiY29sbGVjdGlvbnMiLCJmaWVsZHMiLCJuYW1lIiwidHlwZSIsInJlcXVpcmVkIiwic2x1ZyIsInRpbWVzdGFtcHMiLCJzYW5pdGl6ZWRDb25maWciLCJzY2hlbWEiLCJleHBlY3QiLCJkZWZpbml0aW9ucyIsInRlc3QiLCJ0b1N0cmljdEVxdWFsIiwiYWRkaXRpb25hbFByb3BlcnRpZXMiLCJwcm9wZXJ0aWVzIiwiaWQiLCJzb21lUmVxdWlyZWRGaWVsZCIsIml0ZW1zIiwidGl0bGUiXSwibWFwcGluZ3MiOiJBQUVBLFNBQVNBLGNBQWMsUUFBUSx3QkFBdUI7QUFDdEQsU0FBU0Msa0JBQWtCLFFBQVEsMEJBQXlCO0FBRTVEQyxTQUFTLHNCQUFzQjtJQUM3QkMsR0FBRyxzREFBc0Q7UUFDdkQsTUFBTUMsU0FBaUI7WUFDckJDLGFBQWE7Z0JBQ1g7b0JBQ0VDLFFBQVE7d0JBQ047NEJBQ0VDLE1BQU07NEJBQ05DLE1BQU07NEJBQ05GLFFBQVE7Z0NBQ047b0NBQ0VDLE1BQU07b0NBQ05FLFVBQVU7b0NBQ1ZELE1BQU07Z0NBQ1I7NkJBQ0Q7d0JBQ0g7cUJBQ0Q7b0JBQ0RFLE1BQU07b0JBQ05DLFlBQVk7Z0JBQ2Q7YUFDRDtRQUNIO1FBRUEsTUFBTUMsa0JBQWtCWixlQUFlSTtRQUN2QyxNQUFNUyxTQUFTWixtQkFBbUJXLGlCQUFpQjtRQUVuREUsT0FBT0QsUUFBUUUsYUFBYUMsTUFBTUMsYUFBYSxDQUFDO1lBQzlDQyxzQkFBc0I7WUFDdEJDLFlBQVk7Z0JBQ1ZDLElBQUk7b0JBQ0ZaLE1BQU07Z0JBQ1I7Z0JBQ0FhLG1CQUFtQjtvQkFDakJDLE9BQU87d0JBQ0xKLHNCQUFzQjt3QkFDdEJDLFlBQVk7NEJBQ1ZDLElBQUk7Z0NBQ0ZaLE1BQU07b0NBQUM7b0NBQVU7aUNBQU87NEJBQzFCOzRCQUNBYSxtQkFBbUI7Z0NBQ2pCYixNQUFNOzRCQUNSO3dCQUNGO3dCQUNBQyxVQUFVOzRCQUFDO3lCQUFvQjt3QkFDL0JELE1BQU07b0JBQ1I7b0JBQ0FBLE1BQU07d0JBQUM7d0JBQVM7cUJBQU87Z0JBQ3pCO1lBQ0Y7WUFDQUMsVUFBVTtnQkFBQzthQUFLO1lBQ2hCYyxPQUFPO1lBQ1BmLE1BQU07UUFDUjtJQUNGO0FBQ0YifQ==
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { Payload, RequestContext } from '../index.
|
|
2
|
-
import type { User } from '../auth/types.
|
|
3
|
-
import type { PayloadRequest } from '../types/index.
|
|
1
|
+
import type { Payload, RequestContext } from '../index.js';
|
|
2
|
+
import type { User } from '../auth/types.js';
|
|
3
|
+
import type { PayloadRequest } from '../types/index.js';
|
|
4
4
|
type CreateLocalReq = (options: {
|
|
5
5
|
context?: RequestContext;
|
|
6
6
|
fallbackLocale?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createLocalReq.d.ts","sourceRoot":"","sources":["../../src/utilities/createLocalReq.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"createLocalReq.d.ts","sourceRoot":"","sources":["../../src/utilities/createLocalReq.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAyDvD,KAAK,cAAc,GAAG,CACpB,OAAO,EAAE;IACP,OAAO,CAAC,EAAE,cAAc,CAAA;IACxB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,cAAc,CAAA;IACpB,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ,EACD,OAAO,EAAE,OAAO,KACb,OAAO,CAAC,cAAc,CAAC,CAAA;AAC5B,eAAO,MAAM,cAAc,EAAE,cAgC5B,CAAA"}
|
|
@@ -76,4 +76,4 @@ export const createLocalReq = async ({ context, fallbackLocale, locale, req = {}
|
|
|
76
76
|
return req;
|
|
77
77
|
};
|
|
78
78
|
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvY3JlYXRlTG9jYWxSZXEudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQYXlsb2FkLCBSZXF1ZXN0Q29udGV4dCB9IGZyb20gJy4uL2luZGV4LmpzJ1xuaW1wb3J0IHR5cGUgeyBVc2VyIH0gZnJvbSAnLi4vYXV0aC90eXBlcy5qcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICcuLi90eXBlcy9pbmRleC5qcydcblxuaW1wb3J0IHsgZ2V0RGF0YUxvYWRlciB9IGZyb20gJy4uL2NvbGxlY3Rpb25zL2RhdGFsb2FkZXIuanMnXG5pbXBvcnQgeyBnZXRMb2NhbEkxOG4gfSBmcm9tICcuLi90cmFuc2xhdGlvbnMvZ2V0TG9jYWxJMThuLmpzJ1xuXG5mdW5jdGlvbiBnZXRSZXF1ZXN0Q29udGV4dChcbiAgcmVxOiBQYXlsb2FkUmVxdWVzdCA9IHsgY29udGV4dDogbnVsbCB9IGFzIFBheWxvYWRSZXF1ZXN0LFxuICBjb250ZXh0OiBSZXF1ZXN0Q29udGV4dCA9IHt9LFxuKTogUmVxdWVzdENvbnRleHQge1xuICBpZiAocmVxLmNvbnRleHQpIHtcbiAgICBpZiAoT2JqZWN0LmtleXMocmVxLmNvbnRleHQpLmxlbmd0aCA9PT0gMCAmJiByZXEuY29udGV4dC5jb25zdHJ1Y3RvciA9PT0gT2JqZWN0KSB7XG4gICAgICAvLyBpZiByZXEuY29udGV4dCBpcyBge31gIGF2b2lkIHVubmVjZXNzYXJ5IHNwcmVhZFxuICAgICAgcmV0dXJuIGNvbnRleHRcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHsgLi4ucmVxLmNvbnRleHQsIC4uLmNvbnRleHQgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gY29udGV4dFxuICB9XG59XG5cbmNvbnN0IGF0dGFjaEZha2VVUkxQcm9wZXJ0aWVzID0gKHJlcTogUGF5bG9hZFJlcXVlc3QpID0+IHtcbiAgLyoqXG4gICAqICpOT1RFKlxuICAgKiBJZiBubyBVUkwgaXMgcHJvdmlkZWQsIHRoZSBsb2NhbCBBUEkgd2FzIGNhbGxlZCBkaXJlY3RseSBvdXRzaWRlXG4gICAqIHRoZSBjb250ZXh0IG9mIGEgcmVxdWVzdC4gVGhlcmVmb3JlIHdlIGNyZWF0ZSBhIGZha2UgVVJMIG9iamVjdC5cbiAgICogYHRzLWlnbm9yZWAgaXMgdXNlZCBiZWxvdyBmb3IgcHJvcGVydGllcyB0aGF0IGFyZSAncmVhZC1vbmx5J1xuICAgKiBzaW5jZSB0aGV5IGRvIG5vdCBleGlzdCB5ZXQgd2UgY2FuIHNhZmVseSBpZ25vcmUgdGhlIGVycm9yLlxuICAgKi9cbiAgdHJ5IHtcbiAgICBjb25zdCB1cmxQcm9wZXJ0aWVzID0gbmV3IFVSTChyZXEucGF5bG9hZC5jb25maWc/LnNlcnZlclVSTClcbiAgICByZXEuaG9zdCA9IHVybFByb3BlcnRpZXMuaG9zdFxuICAgIHJlcS5wcm90b2NvbCA9IHVybFByb3BlcnRpZXMucHJvdG9jb2xcbiAgICByZXEucGF0aG5hbWUgPSB1cmxQcm9wZXJ0aWVzLnBhdGhuYW1lXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIHJlcS5zZWFyY2hQYXJhbXMgPSB1cmxQcm9wZXJ0aWVzLnNlYXJjaFBhcmFtc1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICByZXEub3JpZ2luID0gdXJsUHJvcGVydGllcy5vcmlnaW5cbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgcmVxLnVybCA9IHVybFByb3BlcnRpZXMuaHJlZlxuICAgIHJldHVyblxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIC8qKiBkbyBub3RoaW5nICovXG4gIH1cblxuICByZXEuaG9zdCA9ICdsb2NhbGhvc3QnXG4gIHJlcS5wcm90b2NvbCA9ICdodHRwczonXG4gIHJlcS5wYXRobmFtZSA9ICcvJ1xuICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gIHJlcS5zZWFyY2hQYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKClcbiAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICByZXEub3JpZ2luID0gJ2h0dHA6Ly9sb2NhbGhvc3QnXG4gIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgcmVxLnVybCA9ICdodHRwOi8vbG9jYWxob3N0J1xuICByZXR1cm5cbn1cblxudHlwZSBDcmVhdGVMb2NhbFJlcSA9IChcbiAgb3B0aW9uczoge1xuICAgIGNvbnRleHQ/OiBSZXF1ZXN0Q29udGV4dFxuICAgIGZhbGxiYWNrTG9jYWxlPzogc3RyaW5nXG4gICAgbG9jYWxlPzogc3RyaW5nXG4gICAgcmVxPzogUGF5bG9hZFJlcXVlc3RcbiAgICB1c2VyPzogVXNlclxuICB9LFxuICBwYXlsb2FkOiBQYXlsb2FkLFxuKSA9PiBQcm9taXNlPFBheWxvYWRSZXF1ZXN0PlxuZXhwb3J0IGNvbnN0IGNyZWF0ZUxvY2FsUmVxOiBDcmVhdGVMb2NhbFJlcSA9IGFzeW5jIChcbiAgeyBjb250ZXh0LCBmYWxsYmFja0xvY2FsZSwgbG9jYWxlLCByZXEgPSB7fSBhcyBQYXlsb2FkUmVxdWVzdCwgdXNlciB9LFxuICBwYXlsb2FkLFxuKSA9PiB7XG4gIGNvbnN0IGkxOG4gPSByZXE/LmkxOG4gfHwgKGF3YWl0IGdldExvY2FsSTE4bih7IGNvbmZpZzogcGF5bG9hZC5jb25maWcgfSkpXG5cbiAgaWYgKHBheWxvYWQuY29uZmlnPy5sb2NhbGl6YXRpb24pIHtcbiAgICBjb25zdCBkZWZhdWx0TG9jYWxlID0gcGF5bG9hZC5jb25maWcubG9jYWxpemF0aW9uLmRlZmF1bHRMb2NhbGVcbiAgICByZXEubG9jYWxlID0gbG9jYWxlIHx8IHJlcT8ubG9jYWxlIHx8IGRlZmF1bHRMb2NhbGVcbiAgICBjb25zdCBmYWxsYmFja0xvY2FsZUZyb21Db25maWcgPSBwYXlsb2FkLmNvbmZpZy5sb2NhbGl6YXRpb24ubG9jYWxlcy5maW5kKFxuICAgICAgKHsgY29kZSB9KSA9PiByZXEubG9jYWxlID09PSBjb2RlLFxuICAgICk/LmZhbGxiYWNrTG9jYWxlXG4gICAgaWYgKHR5cGVvZiBmYWxsYmFja0xvY2FsZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJlcS5mYWxsYmFja0xvY2FsZSA9IGZhbGxiYWNrTG9jYWxlXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgcmVxPy5mYWxsYmFja0xvY2FsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJlcS5mYWxsYmFja0xvY2FsZSA9IGZhbGxiYWNrTG9jYWxlRnJvbUNvbmZpZyB8fCBkZWZhdWx0TG9jYWxlXG4gICAgfVxuICB9XG5cbiAgcmVxLmNvbnRleHQgPSBnZXRSZXF1ZXN0Q29udGV4dChyZXEsIGNvbnRleHQpXG4gIHJlcS5wYXlsb2FkQVBJID0gcmVxPy5wYXlsb2FkQVBJIHx8ICdsb2NhbCdcbiAgcmVxLnBheWxvYWQgPSBwYXlsb2FkXG4gIHJlcS5pMThuID0gaTE4blxuICByZXEudCA9IGkxOG4udFxuICByZXEudXNlciA9IHVzZXIgfHwgcmVxPy51c2VyIHx8IG51bGxcbiAgcmVxLnBheWxvYWREYXRhTG9hZGVyID0gcmVxPy5wYXlsb2FkRGF0YUxvYWRlciB8fCBnZXREYXRhTG9hZGVyKHJlcSlcbiAgcmVxLnJvdXRlUGFyYW1zID0gcmVxPy5yb3V0ZVBhcmFtcyB8fCB7fVxuICByZXEucXVlcnkgPSByZXE/LnF1ZXJ5IHx8IHt9XG5cbiAgaWYgKCFyZXE/LnVybCkgYXR0YWNoRmFrZVVSTFByb3BlcnRpZXMocmVxKVxuXG4gIHJldHVybiByZXFcbn1cbiJdLCJuYW1lcyI6WyJnZXREYXRhTG9hZGVyIiwiZ2V0TG9jYWxJMThuIiwiZ2V0UmVxdWVzdENvbnRleHQiLCJyZXEiLCJjb250ZXh0IiwiT2JqZWN0Iiwia2V5cyIsImxlbmd0aCIsImNvbnN0cnVjdG9yIiwiYXR0YWNoRmFrZVVSTFByb3BlcnRpZXMiLCJ1cmxQcm9wZXJ0aWVzIiwiVVJMIiwicGF5bG9hZCIsImNvbmZpZyIsInNlcnZlclVSTCIsImhvc3QiLCJwcm90b2NvbCIsInBhdGhuYW1lIiwic2VhcmNoUGFyYW1zIiwib3JpZ2luIiwidXJsIiwiaHJlZiIsImVycm9yIiwiVVJMU2VhcmNoUGFyYW1zIiwiY3JlYXRlTG9jYWxSZXEiLCJmYWxsYmFja0xvY2FsZSIsImxvY2FsZSIsInVzZXIiLCJpMThuIiwibG9jYWxpemF0aW9uIiwiZGVmYXVsdExvY2FsZSIsImZhbGxiYWNrTG9jYWxlRnJvbUNvbmZpZyIsImxvY2FsZXMiLCJmaW5kIiwiY29kZSIsInBheWxvYWRBUEkiLCJ0IiwicGF5bG9hZERhdGFMb2FkZXIiLCJyb3V0ZVBhcmFtcyIsInF1ZXJ5Il0sIm1hcHBpbmdzIjoiQUFJQSxTQUFTQSxhQUFhLFFBQVEsK0JBQThCO0FBQzVELFNBQVNDLFlBQVksUUFBUSxrQ0FBaUM7QUFFOUQsU0FBU0Msa0JBQ1BDLE1BQXNCO0lBQUVDLFNBQVM7QUFBSyxDQUFtQixFQUN6REEsVUFBMEIsQ0FBQyxDQUFDO0lBRTVCLElBQUlELElBQUlDLE9BQU8sRUFBRTtRQUNmLElBQUlDLE9BQU9DLElBQUksQ0FBQ0gsSUFBSUMsT0FBTyxFQUFFRyxNQUFNLEtBQUssS0FBS0osSUFBSUMsT0FBTyxDQUFDSSxXQUFXLEtBQUtILFFBQVE7WUFDL0Usa0RBQWtEO1lBQ2xELE9BQU9EO1FBQ1QsT0FBTztZQUNMLE9BQU87Z0JBQUUsR0FBR0QsSUFBSUMsT0FBTztnQkFBRSxHQUFHQSxPQUFPO1lBQUM7UUFDdEM7SUFDRixPQUFPO1FBQ0wsT0FBT0E7SUFDVDtBQUNGO0FBRUEsTUFBTUssMEJBQTBCLENBQUNOO0lBQy9COzs7Ozs7R0FNQyxHQUNELElBQUk7UUFDRixNQUFNTyxnQkFBZ0IsSUFBSUMsSUFBSVIsSUFBSVMsT0FBTyxDQUFDQyxNQUFNLEVBQUVDO1FBQ2xEWCxJQUFJWSxJQUFJLEdBQUdMLGNBQWNLLElBQUk7UUFDN0JaLElBQUlhLFFBQVEsR0FBR04sY0FBY00sUUFBUTtRQUNyQ2IsSUFBSWMsUUFBUSxHQUFHUCxjQUFjTyxRQUFRO1FBQ3JDLG1CQUFtQjtRQUNuQmQsSUFBSWUsWUFBWSxHQUFHUixjQUFjUSxZQUFZO1FBQzdDLG1CQUFtQjtRQUNuQmYsSUFBSWdCLE1BQU0sR0FBR1QsY0FBY1MsTUFBTTtRQUNqQyxtQkFBbUI7UUFDbkJoQixJQUFJaUIsR0FBRyxHQUFHVixjQUFjVyxJQUFJO1FBQzVCO0lBQ0YsRUFBRSxPQUFPQyxPQUFPO0lBQ2QsZUFBZSxHQUNqQjtJQUVBbkIsSUFBSVksSUFBSSxHQUFHO0lBQ1haLElBQUlhLFFBQVEsR0FBRztJQUNmYixJQUFJYyxRQUFRLEdBQUc7SUFDZixtQkFBbUI7SUFDbkJkLElBQUllLFlBQVksR0FBRyxJQUFJSztJQUN2QixtQkFBbUI7SUFDbkJwQixJQUFJZ0IsTUFBTSxHQUFHO0lBQ2IsbUJBQW1CO0lBQ25CaEIsSUFBSWlCLEdBQUcsR0FBRztJQUNWO0FBQ0Y7QUFZQSxPQUFPLE1BQU1JLGlCQUFpQyxPQUM1QyxFQUFFcEIsT0FBTyxFQUFFcUIsY0FBYyxFQUFFQyxNQUFNLEVBQUV2QixNQUFNLENBQUMsQ0FBbUIsRUFBRXdCLElBQUksRUFBRSxFQUNyRWY7SUFFQSxNQUFNZ0IsT0FBT3pCLEtBQUt5QixRQUFTLE1BQU0zQixhQUFhO1FBQUVZLFFBQVFELFFBQVFDLE1BQU07SUFBQztJQUV2RSxJQUFJRCxRQUFRQyxNQUFNLEVBQUVnQixjQUFjO1FBQ2hDLE1BQU1DLGdCQUFnQmxCLFFBQVFDLE1BQU0sQ0FBQ2dCLFlBQVksQ0FBQ0MsYUFBYTtRQUMvRDNCLElBQUl1QixNQUFNLEdBQUdBLFVBQVV2QixLQUFLdUIsVUFBVUk7UUFDdEMsTUFBTUMsMkJBQTJCbkIsUUFBUUMsTUFBTSxDQUFDZ0IsWUFBWSxDQUFDRyxPQUFPLENBQUNDLElBQUksQ0FDdkUsQ0FBQyxFQUFFQyxJQUFJLEVBQUUsR0FBSy9CLElBQUl1QixNQUFNLEtBQUtRLE9BQzVCVDtRQUNILElBQUksT0FBT0EsbUJBQW1CLGFBQWE7WUFDekN0QixJQUFJc0IsY0FBYyxHQUFHQTtRQUN2QixPQUFPLElBQUksT0FBT3RCLEtBQUtzQixtQkFBbUIsYUFBYTtZQUNyRHRCLElBQUlzQixjQUFjLEdBQUdNLDRCQUE0QkQ7UUFDbkQ7SUFDRjtJQUVBM0IsSUFBSUMsT0FBTyxHQUFHRixrQkFBa0JDLEtBQUtDO0lBQ3JDRCxJQUFJZ0MsVUFBVSxHQUFHaEMsS0FBS2dDLGNBQWM7SUFDcENoQyxJQUFJUyxPQUFPLEdBQUdBO0lBQ2RULElBQUl5QixJQUFJLEdBQUdBO0lBQ1h6QixJQUFJaUMsQ0FBQyxHQUFHUixLQUFLUSxDQUFDO0lBQ2RqQyxJQUFJd0IsSUFBSSxHQUFHQSxRQUFReEIsS0FBS3dCLFFBQVE7SUFDaEN4QixJQUFJa0MsaUJBQWlCLEdBQUdsQyxLQUFLa0MscUJBQXFCckMsY0FBY0c7SUFDaEVBLElBQUltQyxXQUFXLEdBQUduQyxLQUFLbUMsZUFBZSxDQUFDO0lBQ3ZDbkMsSUFBSW9DLEtBQUssR0FBR3BDLEtBQUtvQyxTQUFTLENBQUM7SUFFM0IsSUFBSSxDQUFDcEMsS0FBS2lCLEtBQUtYLHdCQUF3Qk47SUFFdkMsT0FBT0E7QUFDVCxFQUFDIn0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { FieldTypes } from '../exports/config.
|
|
2
|
-
import type { Field } from '../fields/config/types.
|
|
1
|
+
import type { FieldTypes } from '../exports/config.js';
|
|
2
|
+
import type { Field } from '../fields/config/types.js';
|
|
3
3
|
export type FieldSchemaJSON = {
|
|
4
4
|
blocks?: FieldSchemaJSON;
|
|
5
5
|
fields?: FieldSchemaJSON;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fieldSchemaToJSON.d.ts","sourceRoot":"","sources":["../../src/utilities/fieldSchemaToJSON.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"fieldSchemaToJSON.d.ts","sourceRoot":"","sources":["../../src/utilities/fieldSchemaToJSON.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAEtD,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,UAAU,CAAA;CACvB,EAAE,CAAA;AAEH,eAAO,MAAM,iBAAiB,WAAY,KAAK,EAAE,oBAkGhD,CAAA"}
|
|
@@ -82,4 +82,4 @@ export const fieldSchemaToJSON = (fields)=>{
|
|
|
82
82
|
}, []);
|
|
83
83
|
};
|
|
84
84
|
|
|
85
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZmllbGRTY2hlbWFUb0pTT04udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBGaWVsZFR5cGVzIH0gZnJvbSAnLi4vZXhwb3J0cy9jb25maWcuanMnXG5pbXBvcnQgdHlwZSB7IEZpZWxkIH0gZnJvbSAnLi4vZmllbGRzL2NvbmZpZy90eXBlcy5qcydcblxuZXhwb3J0IHR5cGUgRmllbGRTY2hlbWFKU09OID0ge1xuICBibG9ja3M/OiBGaWVsZFNjaGVtYUpTT04gLy8gVE9ETzogY29uZGl0aW9uYWxseSBhZGQgYmFzZWQgb24gYHR5cGVgXG4gIGZpZWxkcz86IEZpZWxkU2NoZW1hSlNPTiAvLyBUT0RPOiBjb25kaXRpb25hbGx5IGFkZCBiYXNlZCBvbiBgdHlwZWBcbiAgaGFzTWFueT86IGJvb2xlYW4gLy8gVE9ETzogY29uZGl0aW9uYWxseSBhZGQgYmFzZWQgb24gYHR5cGVgXG4gIG5hbWU6IHN0cmluZ1xuICByZWxhdGlvblRvPzogc3RyaW5nIC8vIFRPRE86IGNvbmRpdGlvbmFsbHkgYWRkIGJhc2VkIG9uIGB0eXBlYFxuICBzbHVnPzogc3RyaW5nIC8vIFRPRE86IGNvbmRpdGlvbmFsbHkgYWRkIGJhc2VkIG9uIGB0eXBlYFxuICB0eXBlOiBrZXlvZiBGaWVsZFR5cGVzXG59W11cblxuZXhwb3J0IGNvbnN0IGZpZWxkU2NoZW1hVG9KU09OID0gKGZpZWxkczogRmllbGRbXSk6IEZpZWxkU2NoZW1hSlNPTiA9PiB7XG4gIHJldHVybiBmaWVsZHMucmVkdWNlKChhY2MsIGZpZWxkKSA9PiB7XG4gICAgbGV0IHJlc3VsdCA9IGFjY1xuXG4gICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICBjYXNlICdncm91cCc6XG4gICAgICAgIGFjYy5wdXNoKHtcbiAgICAgICAgICBuYW1lOiBmaWVsZC5uYW1lLFxuICAgICAgICAgIGZpZWxkczogZmllbGRTY2hlbWFUb0pTT04oZmllbGQuZmllbGRzKSxcbiAgICAgICAgICB0eXBlOiBmaWVsZC50eXBlLFxuICAgICAgICB9KVxuXG4gICAgICAgIGJyZWFrXG5cbiAgICAgIGNhc2UgJ2FycmF5JzpcbiAgICAgICAgYWNjLnB1c2goe1xuICAgICAgICAgIG5hbWU6IGZpZWxkLm5hbWUsXG4gICAgICAgICAgZmllbGRzOiBmaWVsZFNjaGVtYVRvSlNPTihbXG4gICAgICAgICAgICAuLi5maWVsZC5maWVsZHMsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdpZCcsXG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSksXG4gICAgICAgICAgdHlwZTogZmllbGQudHlwZSxcbiAgICAgICAgfSlcblxuICAgICAgICBicmVha1xuXG4gICAgICBjYXNlICdibG9ja3MnOlxuICAgICAgICBhY2MucHVzaCh7XG4gICAgICAgICAgbmFtZTogZmllbGQubmFtZSxcbiAgICAgICAgICBibG9ja3M6IGZpZWxkLmJsb2Nrcy5yZWR1Y2UoKGFjYywgYmxvY2spID0+IHtcbiAgICAgICAgICAgIGFjY1tibG9jay5zbHVnXSA9IHtcbiAgICAgICAgICAgICAgZmllbGRzOiBmaWVsZFNjaGVtYVRvSlNPTihbXG4gICAgICAgICAgICAgICAgLi4uYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6ICdpZCcsXG4gICAgICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBhY2NcbiAgICAgICAgICB9LCB7fSksXG4gICAgICAgICAgdHlwZTogZmllbGQudHlwZSxcbiAgICAgICAgfSlcblxuICAgICAgICBicmVha1xuXG4gICAgICBjYXNlICdyb3cnOlxuICAgICAgY2FzZSAnY29sbGFwc2libGUnOlxuICAgICAgICByZXN1bHQgPSByZXN1bHQuY29uY2F0KGZpZWxkU2NoZW1hVG9KU09OKGZpZWxkLmZpZWxkcykpXG4gICAgICAgIGJyZWFrXG5cbiAgICAgIGNhc2UgJ3RhYnMnOiB7XG4gICAgICAgIGxldCB0YWJGaWVsZHMgPSBbXVxuXG4gICAgICAgIGZpZWxkLnRhYnMuZm9yRWFjaCgodGFiKSA9PiB7XG4gICAgICAgICAgaWYgKCduYW1lJyBpbiB0YWIpIHtcbiAgICAgICAgICAgIHRhYkZpZWxkcy5wdXNoKHtcbiAgICAgICAgICAgICAgbmFtZTogdGFiLm5hbWUsXG4gICAgICAgICAgICAgIGZpZWxkczogZmllbGRTY2hlbWFUb0pTT04odGFiLmZpZWxkcyksXG4gICAgICAgICAgICAgIHR5cGU6IGZpZWxkLnR5cGUsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGFiRmllbGRzID0gdGFiRmllbGRzLmNvbmNhdChmaWVsZFNjaGVtYVRvSlNPTih0YWIuZmllbGRzKSlcbiAgICAgICAgfSlcblxuICAgICAgICByZXN1bHQgPSByZXN1bHQuY29uY2F0KHRhYkZpZWxkcylcblxuICAgICAgICBicmVha1xuICAgICAgfVxuXG4gICAgICBjYXNlICdyZWxhdGlvbnNoaXAnOlxuICAgICAgY2FzZSAndXBsb2FkJzpcbiAgICAgICAgYWNjLnB1c2goe1xuICAgICAgICAgIG5hbWU6IGZpZWxkLm5hbWUsXG4gICAgICAgICAgaGFzTWFueTogJ2hhc01hbnknIGluIGZpZWxkID8gQm9vbGVhbihmaWVsZC5oYXNNYW55KSA6IGZhbHNlLCAvLyBUT0RPOiB0eXBlIHRoaXNcbiAgICAgICAgICByZWxhdGlvblRvOiBmaWVsZC5yZWxhdGlvblRvLFxuICAgICAgICAgIHR5cGU6IGZpZWxkLnR5cGUsXG4gICAgICAgIH0pXG5cbiAgICAgICAgYnJlYWtcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaWYgKCduYW1lJyBpbiBmaWVsZCkge1xuICAgICAgICAgIGFjYy5wdXNoKHtcbiAgICAgICAgICAgIG5hbWU6IGZpZWxkLm5hbWUsXG4gICAgICAgICAgICB0eXBlOiBmaWVsZC50eXBlLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH0sIFtdKVxufVxuIl0sIm5hbWVzIjpbImZpZWxkU2NoZW1hVG9KU09OIiwiZmllbGRzIiwicmVkdWNlIiwiYWNjIiwiZmllbGQiLCJyZXN1bHQiLCJ0eXBlIiwicHVzaCIsIm5hbWUiLCJibG9ja3MiLCJibG9jayIsInNsdWciLCJjb25jYXQiLCJ0YWJGaWVsZHMiLCJ0YWJzIiwiZm9yRWFjaCIsInRhYiIsImhhc01hbnkiLCJCb29sZWFuIiwicmVsYXRpb25UbyJdLCJtYXBwaW5ncyI6IkFBYUEsT0FBTyxNQUFNQSxvQkFBb0IsQ0FBQ0M7SUFDaEMsT0FBT0EsT0FBT0MsTUFBTSxDQUFDLENBQUNDLEtBQUtDO1FBQ3pCLElBQUlDLFNBQVNGO1FBRWIsT0FBUUMsTUFBTUUsSUFBSTtZQUNoQixLQUFLO2dCQUNISCxJQUFJSSxJQUFJLENBQUM7b0JBQ1BDLE1BQU1KLE1BQU1JLElBQUk7b0JBQ2hCUCxRQUFRRCxrQkFBa0JJLE1BQU1ILE1BQU07b0JBQ3RDSyxNQUFNRixNQUFNRSxJQUFJO2dCQUNsQjtnQkFFQTtZQUVGLEtBQUs7Z0JBQ0hILElBQUlJLElBQUksQ0FBQztvQkFDUEMsTUFBTUosTUFBTUksSUFBSTtvQkFDaEJQLFFBQVFELGtCQUFrQjsyQkFDckJJLE1BQU1ILE1BQU07d0JBQ2Y7NEJBQ0VPLE1BQU07NEJBQ05GLE1BQU07d0JBQ1I7cUJBQ0Q7b0JBQ0RBLE1BQU1GLE1BQU1FLElBQUk7Z0JBQ2xCO2dCQUVBO1lBRUYsS0FBSztnQkFDSEgsSUFBSUksSUFBSSxDQUFDO29CQUNQQyxNQUFNSixNQUFNSSxJQUFJO29CQUNoQkMsUUFBUUwsTUFBTUssTUFBTSxDQUFDUCxNQUFNLENBQUMsQ0FBQ0MsS0FBS087d0JBQ2hDUCxHQUFHLENBQUNPLE1BQU1DLElBQUksQ0FBQyxHQUFHOzRCQUNoQlYsUUFBUUQsa0JBQWtCO21DQUNyQlUsTUFBTVQsTUFBTTtnQ0FDZjtvQ0FDRU8sTUFBTTtvQ0FDTkYsTUFBTTtnQ0FDUjs2QkFDRDt3QkFDSDt3QkFFQSxPQUFPSDtvQkFDVCxHQUFHLENBQUM7b0JBQ0pHLE1BQU1GLE1BQU1FLElBQUk7Z0JBQ2xCO2dCQUVBO1lBRUYsS0FBSztZQUNMLEtBQUs7Z0JBQ0hELFNBQVNBLE9BQU9PLE1BQU0sQ0FBQ1osa0JBQWtCSSxNQUFNSCxNQUFNO2dCQUNyRDtZQUVGLEtBQUs7Z0JBQVE7b0JBQ1gsSUFBSVksWUFBWSxFQUFFO29CQUVsQlQsTUFBTVUsSUFBSSxDQUFDQyxPQUFPLENBQUMsQ0FBQ0M7d0JBQ2xCLElBQUksVUFBVUEsS0FBSzs0QkFDakJILFVBQVVOLElBQUksQ0FBQztnQ0FDYkMsTUFBTVEsSUFBSVIsSUFBSTtnQ0FDZFAsUUFBUUQsa0JBQWtCZ0IsSUFBSWYsTUFBTTtnQ0FDcENLLE1BQU1GLE1BQU1FLElBQUk7NEJBQ2xCOzRCQUNBO3dCQUNGO3dCQUVBTyxZQUFZQSxVQUFVRCxNQUFNLENBQUNaLGtCQUFrQmdCLElBQUlmLE1BQU07b0JBQzNEO29CQUVBSSxTQUFTQSxPQUFPTyxNQUFNLENBQUNDO29CQUV2QjtnQkFDRjtZQUVBLEtBQUs7WUFDTCxLQUFLO2dCQUNIVixJQUFJSSxJQUFJLENBQUM7b0JBQ1BDLE1BQU1KLE1BQU1JLElBQUk7b0JBQ2hCUyxTQUFTLGFBQWFiLFFBQVFjLFFBQVFkLE1BQU1hLE9BQU8sSUFBSTtvQkFDdkRFLFlBQVlmLE1BQU1lLFVBQVU7b0JBQzVCYixNQUFNRixNQUFNRSxJQUFJO2dCQUNsQjtnQkFFQTtZQUVGO2dCQUNFLElBQUksVUFBVUYsT0FBTztvQkFDbkJELElBQUlJLElBQUksQ0FBQzt3QkFDUEMsTUFBTUosTUFBTUksSUFBSTt3QkFDaEJGLE1BQU1GLE1BQU1FLElBQUk7b0JBQ2xCO2dCQUNGO1FBQ0o7UUFFQSxPQUFPRDtJQUNULEdBQUcsRUFBRTtBQUNQLEVBQUMifQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Field, FieldAffectingData, FieldPresentationalOnly } from '../fields/config/types.
|
|
1
|
+
import type { Field, FieldAffectingData, FieldPresentationalOnly } from '../fields/config/types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Flattens a collection's fields into a single array of fields, as long
|
|
4
4
|
* as the fields do not affect data.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flattenTopLevelFields.d.ts","sourceRoot":"","sources":["../../src/utilities/flattenTopLevelFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"flattenTopLevelFields.d.ts","sourceRoot":"","sources":["../../src/utilities/flattenTopLevelFields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAA;AASnG;;;;;;GAMG;AACH,QAAA,MAAM,aAAa,WACT,KAAK,EAAE,6BACY,OAAO,KACjC,CAAC,kBAAkB,GAAG,uBAAuB,CAAC,EAyBhD,CAAA;AAED,eAAe,aAAa,CAAA"}
|
|
@@ -40,4 +40,4 @@ import { fieldAffectsData, fieldHasSubFields, fieldIsPresentationalOnly, tabHasN
|
|
|
40
40
|
};
|
|
41
41
|
export default flattenFields;
|
|
42
42
|
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZmxhdHRlblRvcExldmVsRmllbGRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmllbGQsIEZpZWxkQWZmZWN0aW5nRGF0YSwgRmllbGRQcmVzZW50YXRpb25hbE9ubHkgfSBmcm9tICcuLi9maWVsZHMvY29uZmlnL3R5cGVzLmpzJ1xuXG5pbXBvcnQge1xuICBmaWVsZEFmZmVjdHNEYXRhLFxuICBmaWVsZEhhc1N1YkZpZWxkcyxcbiAgZmllbGRJc1ByZXNlbnRhdGlvbmFsT25seSxcbiAgdGFiSGFzTmFtZSxcbn0gZnJvbSAnLi4vZmllbGRzL2NvbmZpZy90eXBlcy5qcydcblxuLyoqXG4gKiBGbGF0dGVucyBhIGNvbGxlY3Rpb24ncyBmaWVsZHMgaW50byBhIHNpbmdsZSBhcnJheSBvZiBmaWVsZHMsIGFzIGxvbmdcbiAqIGFzIHRoZSBmaWVsZHMgZG8gbm90IGFmZmVjdCBkYXRhLlxuICpcbiAqIEBwYXJhbSBmaWVsZHNcbiAqIEBwYXJhbSBrZWVwUHJlc2VudGF0aW9uYWxGaWVsZHMgaWYgdHJ1ZSwgd2lsbCBza2lwIGZsYXR0ZW5pbmcgZmllbGRzIHRoYXQgYXJlIHByZXNlbnRhdGlvbmFsIG9ubHlcbiAqL1xuY29uc3QgZmxhdHRlbkZpZWxkcyA9IChcbiAgZmllbGRzOiBGaWVsZFtdLFxuICBrZWVwUHJlc2VudGF0aW9uYWxGaWVsZHM/OiBib29sZWFuLFxuKTogKEZpZWxkQWZmZWN0aW5nRGF0YSB8IEZpZWxkUHJlc2VudGF0aW9uYWxPbmx5KVtdID0+IHtcbiAgcmV0dXJuIGZpZWxkcy5yZWR1Y2UoKGZpZWxkc1RvVXNlLCBmaWVsZCkgPT4ge1xuICAgIGlmIChmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSB8fCAoa2VlcFByZXNlbnRhdGlvbmFsRmllbGRzICYmIGZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkoZmllbGQpKSkge1xuICAgICAgcmV0dXJuIFsuLi5maWVsZHNUb1VzZSwgZmllbGRdXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkSGFzU3ViRmllbGRzKGZpZWxkKSkge1xuICAgICAgcmV0dXJuIFsuLi5maWVsZHNUb1VzZSwgLi4uZmxhdHRlbkZpZWxkcyhmaWVsZC5maWVsZHMsIGtlZXBQcmVzZW50YXRpb25hbEZpZWxkcyldXG4gICAgfVxuXG4gICAgaWYgKGZpZWxkLnR5cGUgPT09ICd0YWJzJykge1xuICAgICAgcmV0dXJuIFtcbiAgICAgICAgLi4uZmllbGRzVG9Vc2UsXG4gICAgICAgIC4uLmZpZWxkLnRhYnMucmVkdWNlKCh0YWJGaWVsZHMsIHRhYikgPT4ge1xuICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAuLi50YWJGaWVsZHMsXG4gICAgICAgICAgICAuLi4odGFiSGFzTmFtZSh0YWIpXG4gICAgICAgICAgICAgID8gW3sgLi4udGFiLCB0eXBlOiAndGFiJyB9XVxuICAgICAgICAgICAgICA6IGZsYXR0ZW5GaWVsZHModGFiLmZpZWxkcywga2VlcFByZXNlbnRhdGlvbmFsRmllbGRzKSksXG4gICAgICAgICAgXVxuICAgICAgICB9LCBbXSksXG4gICAgICBdXG4gICAgfVxuICAgIHJldHVybiBmaWVsZHNUb1VzZVxuICB9LCBbXSlcbn1cblxuZXhwb3J0IGRlZmF1bHQgZmxhdHRlbkZpZWxkc1xuIl0sIm5hbWVzIjpbImZpZWxkQWZmZWN0c0RhdGEiLCJmaWVsZEhhc1N1YkZpZWxkcyIsImZpZWxkSXNQcmVzZW50YXRpb25hbE9ubHkiLCJ0YWJIYXNOYW1lIiwiZmxhdHRlbkZpZWxkcyIsImZpZWxkcyIsImtlZXBQcmVzZW50YXRpb25hbEZpZWxkcyIsInJlZHVjZSIsImZpZWxkc1RvVXNlIiwiZmllbGQiLCJ0eXBlIiwidGFicyIsInRhYkZpZWxkcyIsInRhYiJdLCJtYXBwaW5ncyI6IkFBRUEsU0FDRUEsZ0JBQWdCLEVBQ2hCQyxpQkFBaUIsRUFDakJDLHlCQUF5QixFQUN6QkMsVUFBVSxRQUNMLDRCQUEyQjtBQUVsQzs7Ozs7O0NBTUMsR0FDRCxNQUFNQyxnQkFBZ0IsQ0FDcEJDLFFBQ0FDO0lBRUEsT0FBT0QsT0FBT0UsTUFBTSxDQUFDLENBQUNDLGFBQWFDO1FBQ2pDLElBQUlULGlCQUFpQlMsVUFBV0gsNEJBQTRCSiwwQkFBMEJPLFFBQVM7WUFDN0YsT0FBTzttQkFBSUQ7Z0JBQWFDO2FBQU07UUFDaEM7UUFFQSxJQUFJUixrQkFBa0JRLFFBQVE7WUFDNUIsT0FBTzttQkFBSUQ7bUJBQWdCSixjQUFjSyxNQUFNSixNQUFNLEVBQUVDO2FBQTBCO1FBQ25GO1FBRUEsSUFBSUcsTUFBTUMsSUFBSSxLQUFLLFFBQVE7WUFDekIsT0FBTzttQkFDRkY7bUJBQ0FDLE1BQU1FLElBQUksQ0FBQ0osTUFBTSxDQUFDLENBQUNLLFdBQVdDO29CQUMvQixPQUFPOzJCQUNGRDsyQkFDQ1QsV0FBV1UsT0FDWDs0QkFBQztnQ0FBRSxHQUFHQSxHQUFHO2dDQUFFSCxNQUFNOzRCQUFNO3lCQUFFLEdBQ3pCTixjQUFjUyxJQUFJUixNQUFNLEVBQUVDO3FCQUMvQjtnQkFDSCxHQUFHLEVBQUU7YUFDTjtRQUNIO1FBQ0EsT0FBT0U7SUFDVCxHQUFHLEVBQUU7QUFDUDtBQUVBLGVBQWVKLGNBQWEifQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { SanitizedConfig } from '../config/types.js';
|
|
2
|
+
/**
|
|
3
|
+
* While the default ID is determined by the db adapter, it can still differ for a collection if they
|
|
4
|
+
* define a custom ID field. This builds a map of collection slugs to their ID field type.
|
|
5
|
+
* @param defaultIDType as defined by the database adapter
|
|
6
|
+
*/
|
|
7
|
+
export declare function getCollectionIDFieldTypes({ config, defaultIDType, }: {
|
|
8
|
+
config: SanitizedConfig;
|
|
9
|
+
defaultIDType: 'number' | 'text';
|
|
10
|
+
}): {
|
|
11
|
+
[key: string]: 'number' | 'string';
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=getCollectionIDFieldTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getCollectionIDFieldTypes.d.ts","sourceRoot":"","sources":["../../src/utilities/getCollectionIDFieldTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEzD;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,EACxC,MAAM,EACN,aAAa,GACd,EAAE;IACD,MAAM,EAAE,eAAe,CAAA;IACvB,aAAa,EAAE,QAAQ,GAAG,MAAM,CAAA;CACjC,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;CAAE,CAczC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* While the default ID is determined by the db adapter, it can still differ for a collection if they
|
|
3
|
+
* define a custom ID field. This builds a map of collection slugs to their ID field type.
|
|
4
|
+
* @param defaultIDType as defined by the database adapter
|
|
5
|
+
*/ export function getCollectionIDFieldTypes({ config, defaultIDType }) {
|
|
6
|
+
return config.collections.reduce((acc, collection)=>{
|
|
7
|
+
const customCollectionIdField = collection.fields.find((field)=>'name' in field && field.name === 'id');
|
|
8
|
+
acc[collection.slug] = defaultIDType === 'text' ? 'string' : 'number';
|
|
9
|
+
if (customCollectionIdField) {
|
|
10
|
+
acc[collection.slug] = customCollectionIdField.type === 'number' ? 'number' : 'string';
|
|
11
|
+
}
|
|
12
|
+
return acc;
|
|
13
|
+
}, {});
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ2V0Q29sbGVjdGlvbklERmllbGRUeXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbmZpZyB9IGZyb20gJy4uL2NvbmZpZy90eXBlcy5qcydcblxuLyoqXG4gKiAgV2hpbGUgdGhlIGRlZmF1bHQgSUQgaXMgZGV0ZXJtaW5lZCBieSB0aGUgZGIgYWRhcHRlciwgaXQgY2FuIHN0aWxsIGRpZmZlciBmb3IgYSBjb2xsZWN0aW9uIGlmIHRoZXlcbiAqICBkZWZpbmUgYSBjdXN0b20gSUQgZmllbGQuIFRoaXMgYnVpbGRzIGEgbWFwIG9mIGNvbGxlY3Rpb24gc2x1Z3MgdG8gdGhlaXIgSUQgZmllbGQgdHlwZS5cbiAqIEBwYXJhbSBkZWZhdWx0SURUeXBlIGFzIGRlZmluZWQgYnkgdGhlIGRhdGFiYXNlIGFkYXB0ZXJcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENvbGxlY3Rpb25JREZpZWxkVHlwZXMoe1xuICBjb25maWcsXG4gIGRlZmF1bHRJRFR5cGUsXG59OiB7XG4gIGNvbmZpZzogU2FuaXRpemVkQ29uZmlnXG4gIGRlZmF1bHRJRFR5cGU6ICdudW1iZXInIHwgJ3RleHQnXG59KTogeyBba2V5OiBzdHJpbmddOiAnbnVtYmVyJyB8ICdzdHJpbmcnIH0ge1xuICByZXR1cm4gY29uZmlnLmNvbGxlY3Rpb25zLnJlZHVjZSgoYWNjLCBjb2xsZWN0aW9uKSA9PiB7XG4gICAgY29uc3QgY3VzdG9tQ29sbGVjdGlvbklkRmllbGQgPSBjb2xsZWN0aW9uLmZpZWxkcy5maW5kKFxuICAgICAgKGZpZWxkKSA9PiAnbmFtZScgaW4gZmllbGQgJiYgZmllbGQubmFtZSA9PT0gJ2lkJyxcbiAgICApXG5cbiAgICBhY2NbY29sbGVjdGlvbi5zbHVnXSA9IGRlZmF1bHRJRFR5cGUgPT09ICd0ZXh0JyA/ICdzdHJpbmcnIDogJ251bWJlcidcblxuICAgIGlmIChjdXN0b21Db2xsZWN0aW9uSWRGaWVsZCkge1xuICAgICAgYWNjW2NvbGxlY3Rpb24uc2x1Z10gPSBjdXN0b21Db2xsZWN0aW9uSWRGaWVsZC50eXBlID09PSAnbnVtYmVyJyA/ICdudW1iZXInIDogJ3N0cmluZydcbiAgICB9XG5cbiAgICByZXR1cm4gYWNjXG4gIH0sIHt9KVxufVxuIl0sIm5hbWVzIjpbImdldENvbGxlY3Rpb25JREZpZWxkVHlwZXMiLCJjb25maWciLCJkZWZhdWx0SURUeXBlIiwiY29sbGVjdGlvbnMiLCJyZWR1Y2UiLCJhY2MiLCJjb2xsZWN0aW9uIiwiY3VzdG9tQ29sbGVjdGlvbklkRmllbGQiLCJmaWVsZHMiLCJmaW5kIiwiZmllbGQiLCJuYW1lIiwic2x1ZyIsInR5cGUiXSwibWFwcGluZ3MiOiJBQUVBOzs7O0NBSUMsR0FDRCxPQUFPLFNBQVNBLDBCQUEwQixFQUN4Q0MsTUFBTSxFQUNOQyxhQUFhLEVBSWQ7SUFDQyxPQUFPRCxPQUFPRSxXQUFXLENBQUNDLE1BQU0sQ0FBQyxDQUFDQyxLQUFLQztRQUNyQyxNQUFNQywwQkFBMEJELFdBQVdFLE1BQU0sQ0FBQ0MsSUFBSSxDQUNwRCxDQUFDQyxRQUFVLFVBQVVBLFNBQVNBLE1BQU1DLElBQUksS0FBSztRQUcvQ04sR0FBRyxDQUFDQyxXQUFXTSxJQUFJLENBQUMsR0FBR1Ysa0JBQWtCLFNBQVMsV0FBVztRQUU3RCxJQUFJSyx5QkFBeUI7WUFDM0JGLEdBQUcsQ0FBQ0MsV0FBV00sSUFBSSxDQUFDLEdBQUdMLHdCQUF3Qk0sSUFBSSxLQUFLLFdBQVcsV0FBVztRQUNoRjtRQUVBLE9BQU9SO0lBQ1QsR0FBRyxDQUFDO0FBQ04ifQ==
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { CollectionPermission, GlobalPermission } from '../auth/types.
|
|
2
|
-
import type { SanitizedCollectionConfig } from '../collections/config/types.
|
|
3
|
-
import type { SanitizedGlobalConfig } from '../globals/config/types.
|
|
4
|
-
import type { AllOperations, PayloadRequest } from '../types/index.
|
|
1
|
+
import type { CollectionPermission, GlobalPermission } from '../auth/types.js';
|
|
2
|
+
import type { SanitizedCollectionConfig } from '../collections/config/types.js';
|
|
3
|
+
import type { SanitizedGlobalConfig } from '../globals/config/types.js';
|
|
4
|
+
import type { AllOperations, PayloadRequest } from '../types/index.js';
|
|
5
5
|
type Args = {
|
|
6
6
|
entity: SanitizedCollectionConfig | SanitizedGlobalConfig;
|
|
7
7
|
id?: number | string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getEntityPolicies.d.ts","sourceRoot":"","sources":["../../src/utilities/getEntityPolicies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"getEntityPolicies.d.ts","sourceRoot":"","sources":["../../src/utilities/getEntityPolicies.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAC9E,OAAO,KAAK,EAAE,yBAAyB,EAAc,MAAM,gCAAgC,CAAA;AAG3F,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AACvE,OAAO,KAAK,EAAE,aAAa,EAAY,cAAc,EAAS,MAAM,mBAAmB,CAAA;AAIvF,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,yBAAyB,GAAG,qBAAqB,CAAA;IACzD,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACpB,UAAU,EAAE,aAAa,EAAE,CAAA;IAC3B,GAAG,EAAE,cAAc,CAAA;IACnB,IAAI,EAAE,YAAY,GAAG,QAAQ,CAAA;CAC9B,CAAA;AAED,KAAK,UAAU,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,QAAQ,GACxD,gBAAgB,GAChB,oBAAoB,CAAA;AAYxB,wBAAsB,iBAAiB,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CA4NvF"}
|
|
@@ -196,4 +196,4 @@ export async function getEntityPolicies(args) {
|
|
|
196
196
|
return policies;
|
|
197
197
|
}
|
|
198
198
|
|
|
199
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ2V0RW50aXR5UG9saWNpZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uUGVybWlzc2lvbiwgR2xvYmFsUGVybWlzc2lvbiB9IGZyb20gJy4uL2F1dGgvdHlwZXMuZC50cydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZywgVHlwZVdpdGhJRCB9IGZyb20gJy4uL2NvbGxlY3Rpb25zL2NvbmZpZy90eXBlcy5kLnRzJ1xuaW1wb3J0IHR5cGUgeyBBY2Nlc3MgfSBmcm9tICcuLi9jb25maWcvdHlwZXMuZC50cydcbmltcG9ydCB0eXBlIHsgRmllbGRBY2Nlc3MgfSBmcm9tICcuLi9maWVsZHMvY29uZmlnL3R5cGVzLmQudHMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZEdsb2JhbENvbmZpZyB9IGZyb20gJy4uL2dsb2JhbHMvY29uZmlnL3R5cGVzLmQudHMnXG5pbXBvcnQgdHlwZSB7IEFsbE9wZXJhdGlvbnMsIERvY3VtZW50LCBQYXlsb2FkUmVxdWVzdCwgV2hlcmUgfSBmcm9tICcuLi90eXBlcy9pbmRleC5kLnRzJ1xuXG5pbXBvcnQgeyB0YWJIYXNOYW1lIH0gZnJvbSAnLi4vZmllbGRzL2NvbmZpZy90eXBlcy5qcydcblxudHlwZSBBcmdzID0ge1xuICBlbnRpdHk6IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfCBTYW5pdGl6ZWRHbG9iYWxDb25maWdcbiAgaWQ/OiBudW1iZXIgfCBzdHJpbmdcbiAgb3BlcmF0aW9uczogQWxsT3BlcmF0aW9uc1tdXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgdHlwZTogJ2NvbGxlY3Rpb24nIHwgJ2dsb2JhbCdcbn1cblxudHlwZSBSZXR1cm5UeXBlPFQgZXh0ZW5kcyBBcmdzPiA9IFRbJ3R5cGUnXSBleHRlbmRzICdnbG9iYWwnXG4gID8gR2xvYmFsUGVybWlzc2lvblxuICA6IENvbGxlY3Rpb25QZXJtaXNzaW9uXG5cbnR5cGUgQ3JlYXRlQWNjZXNzUHJvbWlzZSA9IChhcmdzOiB7XG4gIGFjY2VzczogQWNjZXNzIHwgRmllbGRBY2Nlc3NcbiAgYWNjZXNzTGV2ZWw6ICdlbnRpdHknIHwgJ2ZpZWxkJ1xuICBkaXNhYmxlV2hlcmU/OiBib29sZWFuXG4gIG9wZXJhdGlvbjogQWxsT3BlcmF0aW9uc1xuICBwb2xpY2llc09iajoge1xuICAgIFtrZXk6IHN0cmluZ106IGFueVxuICB9XG59KSA9PiBQcm9taXNlPHZvaWQ+XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRFbnRpdHlQb2xpY2llczxUIGV4dGVuZHMgQXJncz4oYXJnczogVCk6IFByb21pc2U8UmV0dXJuVHlwZTxUPj4ge1xuICBjb25zdCB7IGlkLCBlbnRpdHksIG9wZXJhdGlvbnMsIHJlcSwgdHlwZSB9ID0gYXJnc1xuICBjb25zdCB7IGRhdGEsIHBheWxvYWQsIHVzZXIgfSA9IHJlcVxuICBjb25zdCBpc0xvZ2dlZEluID0gISF1c2VyXG5cbiAgY29uc3QgcG9saWNpZXMgPSB7XG4gICAgZmllbGRzOiB7fSxcbiAgfSBhcyBSZXR1cm5UeXBlPFQ+XG5cbiAgbGV0IGRvY0JlaW5nQWNjZXNzZWRcblxuICBhc3luYyBmdW5jdGlvbiBnZXRFbnRpdHlEb2MoeyB3aGVyZSB9OiB7IHdoZXJlPzogV2hlcmUgfSA9IHt9KTogUHJvbWlzZTxUeXBlV2l0aElEICYgRG9jdW1lbnQ+IHtcbiAgICBpZiAoZW50aXR5LnNsdWcpIHtcbiAgICAgIGlmICh0eXBlID09PSAnZ2xvYmFsJykge1xuICAgICAgICByZXR1cm4gcGF5bG9hZC5maW5kR2xvYmFsKHtcbiAgICAgICAgICBvdmVycmlkZUFjY2VzczogdHJ1ZSxcbiAgICAgICAgICByZXEsXG4gICAgICAgICAgc2x1ZzogZW50aXR5LnNsdWcsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlID09PSAnY29sbGVjdGlvbicgJiYgaWQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB3aGVyZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBjb25zdCBwYWdpbmF0ZWRSZXMgPSBhd2FpdCBwYXlsb2FkLmZpbmQoe1xuICAgICAgICAgICAgY29sbGVjdGlvbjogZW50aXR5LnNsdWcsXG4gICAgICAgICAgICBkZXB0aDogMCxcbiAgICAgICAgICAgIGxpbWl0OiAxLFxuICAgICAgICAgICAgb3ZlcnJpZGVBY2Nlc3M6IHRydWUsXG4gICAgICAgICAgICBwYWdpbmF0aW9uOiBmYWxzZSxcbiAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgICAgIC4uLndoZXJlLFxuICAgICAgICAgICAgICBhbmQ6IFtcbiAgICAgICAgICAgICAgICAuLi4od2hlcmUuYW5kIHx8IFtdKSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBpZDoge1xuICAgICAgICAgICAgICAgICAgICBlcXVhbHM6IGlkLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgcmV0dXJuIHBhZ2luYXRlZFJlcz8uZG9jcz8uWzBdIHx8IHVuZGVmaW5lZFxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBheWxvYWQuZmluZEJ5SUQoe1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIGNvbGxlY3Rpb246IGVudGl0eS5zbHVnLFxuICAgICAgICAgIGRlcHRoOiAwLFxuICAgICAgICAgIG92ZXJyaWRlQWNjZXNzOiB0cnVlLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cblxuICBjb25zdCBjcmVhdGVBY2Nlc3NQcm9taXNlOiBDcmVhdGVBY2Nlc3NQcm9taXNlID0gYXN5bmMgKHtcbiAgICBhY2Nlc3MsXG4gICAgYWNjZXNzTGV2ZWwsXG4gICAgZGlzYWJsZVdoZXJlID0gZmFsc2UsXG4gICAgb3BlcmF0aW9uLFxuICAgIHBvbGljaWVzT2JqLFxuICB9KSA9PiB7XG4gICAgY29uc3QgbXV0YWJsZVBvbGljaWVzID0gcG9saWNpZXNPYmpcblxuICAgIGlmIChhY2Nlc3NMZXZlbCA9PT0gJ2ZpZWxkJyAmJiBkb2NCZWluZ0FjY2Vzc2VkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIGFzc2lnbiBkb2NCZWluZ0FjY2Vzc2VkIGZpcnN0IGFzIHRoZSBwcm9taXNlIHRvIGF2b2lkIG11bHRpcGxlIGNhbGxzIHRvIGdldEVudGl0eURvY1xuICAgICAgZG9jQmVpbmdBY2Nlc3NlZCA9IGdldEVudGl0eURvYygpLnRoZW4oKGRvYykgPT4ge1xuICAgICAgICBkb2NCZWluZ0FjY2Vzc2VkID0gZG9jXG4gICAgICB9KVxuICAgIH1cbiAgICAvLyBhd2FpdGluZyB0aGUgcHJvbWlzZSB0byBlbnN1cmUgZG9jQmVpbmdBY2Nlc3NlZCBpcyBhc3NpZ25lZCBiZWZvcmUgaXQgaXMgdXNlZFxuICAgIGF3YWl0IGRvY0JlaW5nQWNjZXNzZWRcblxuICAgIC8vIGh0dHBzOi8vcGF5bG9hZGNtcy5zbGFjay5jb20vYXJjaGl2ZXMvQzA0OFo5QzJCRVgvcDE3MDIwNTQ5MjgzNDM3NjlcbiAgICBjb25zdCBhY2Nlc3NSZXN1bHQgPSBhd2FpdCBhY2Nlc3MoeyBpZCwgZGF0YSwgZG9jOiBkb2NCZWluZ0FjY2Vzc2VkLCByZXEgfSlcblxuICAgIGlmICh0eXBlb2YgYWNjZXNzUmVzdWx0ID09PSAnb2JqZWN0JyAmJiAhZGlzYWJsZVdoZXJlKSB7XG4gICAgICBtdXRhYmxlUG9saWNpZXNbb3BlcmF0aW9uXSA9IHtcbiAgICAgICAgcGVybWlzc2lvbjpcbiAgICAgICAgICBpZCB8fCB0eXBlID09PSAnZ2xvYmFsJyA/ICEhKGF3YWl0IGdldEVudGl0eURvYyh7IHdoZXJlOiBhY2Nlc3NSZXN1bHQgfSkpIDogdHJ1ZSxcbiAgICAgICAgd2hlcmU6IGFjY2Vzc1Jlc3VsdCxcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG11dGFibGVQb2xpY2llc1tvcGVyYXRpb25dPy5wZXJtaXNzaW9uICE9PSBmYWxzZSkge1xuICAgICAgbXV0YWJsZVBvbGljaWVzW29wZXJhdGlvbl0gPSB7XG4gICAgICAgIHBlcm1pc3Npb246ICEhYWNjZXNzUmVzdWx0LFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGV4ZWN1dGVGaWVsZFBvbGljaWVzID0gYXN5bmMgKHsgZW50aXR5UGVybWlzc2lvbiwgZmllbGRzLCBvcGVyYXRpb24sIHBvbGljaWVzT2JqIH0pID0+IHtcbiAgICBjb25zdCBtdXRhYmxlUG9saWNpZXMgPSBwb2xpY2llc09iai5maWVsZHNcblxuICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgZmllbGRzLm1hcChhc3luYyAoZmllbGQpID0+IHtcbiAgICAgICAgaWYgKGZpZWxkLm5hbWUpIHtcbiAgICAgICAgICBpZiAoIW11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXSkgbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdID0ge31cblxuICAgICAgICAgIGlmIChmaWVsZC5hY2Nlc3MgJiYgdHlwZW9mIGZpZWxkLmFjY2Vzc1tvcGVyYXRpb25dID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBhd2FpdCBjcmVhdGVBY2Nlc3NQcm9taXNlKHtcbiAgICAgICAgICAgICAgYWNjZXNzOiBmaWVsZC5hY2Nlc3Nbb3BlcmF0aW9uXSxcbiAgICAgICAgICAgICAgYWNjZXNzTGV2ZWw6ICdmaWVsZCcsXG4gICAgICAgICAgICAgIGRpc2FibGVXaGVyZTogdHJ1ZSxcbiAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICBwb2xpY2llc09iajogbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdW29wZXJhdGlvbl0gPSB7XG4gICAgICAgICAgICAgIHBlcm1pc3Npb246IHBvbGljaWVzT2JqW29wZXJhdGlvbl0/LnBlcm1pc3Npb24sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGZpZWxkLmZpZWxkcykge1xuICAgICAgICAgICAgaWYgKCFtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0uZmllbGRzKSBtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0uZmllbGRzID0ge31cblxuICAgICAgICAgICAgYXdhaXQgZXhlY3V0ZUZpZWxkUG9saWNpZXMoe1xuICAgICAgICAgICAgICBlbnRpdHlQZXJtaXNzaW9uLFxuICAgICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICBwb2xpY2llc09iajogbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmllbGQ/LmJsb2Nrcykge1xuICAgICAgICAgICAgaWYgKCFtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0/LmJsb2NrcykgbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLmJsb2NrcyA9IHt9XG5cbiAgICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgICBmaWVsZC5ibG9ja3MubWFwKGFzeW5jIChibG9jaykgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLmJsb2Nrcz8uW2Jsb2NrLnNsdWddKSB7XG4gICAgICAgICAgICAgICAgICBtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0uYmxvY2tzW2Jsb2NrLnNsdWddID0ge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZHM6IHt9LFxuICAgICAgICAgICAgICAgICAgICBbb3BlcmF0aW9uXTogeyBwZXJtaXNzaW9uOiBlbnRpdHlQZXJtaXNzaW9uIH0sXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICghbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLmJsb2Nrc1tibG9jay5zbHVnXVtvcGVyYXRpb25dKSB7XG4gICAgICAgICAgICAgICAgICBtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0uYmxvY2tzW2Jsb2NrLnNsdWddW29wZXJhdGlvbl0gPSB7XG4gICAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb246IGVudGl0eVBlcm1pc3Npb24sXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYXdhaXQgZXhlY3V0ZUZpZWxkUG9saWNpZXMoe1xuICAgICAgICAgICAgICAgICAgZW50aXR5UGVybWlzc2lvbixcbiAgICAgICAgICAgICAgICAgIGZpZWxkczogYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICAgICAgcG9saWNpZXNPYmo6IG11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXS5ibG9ja3NbYmxvY2suc2x1Z10sXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGZpZWxkLmZpZWxkcykge1xuICAgICAgICAgIGF3YWl0IGV4ZWN1dGVGaWVsZFBvbGljaWVzKHtcbiAgICAgICAgICAgIGVudGl0eVBlcm1pc3Npb24sXG4gICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgICAgIHBvbGljaWVzT2JqLFxuICAgICAgICAgIH0pXG4gICAgICAgIH0gZWxzZSBpZiAoZmllbGQudHlwZSA9PT0gJ3RhYnMnKSB7XG4gICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICBmaWVsZC50YWJzLm1hcChhc3luYyAodGFiKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0YWJIYXNOYW1lKHRhYikpIHtcbiAgICAgICAgICAgICAgICBpZiAoIW11dGFibGVQb2xpY2llc1t0YWIubmFtZV0pIHtcbiAgICAgICAgICAgICAgICAgIG11dGFibGVQb2xpY2llc1t0YWIubmFtZV0gPSB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkczoge30sXG4gICAgICAgICAgICAgICAgICAgIFtvcGVyYXRpb25dOiB7IHBlcm1pc3Npb246IGVudGl0eVBlcm1pc3Npb24gfSxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFtdXRhYmxlUG9saWNpZXNbdGFiLm5hbWVdW29wZXJhdGlvbl0pIHtcbiAgICAgICAgICAgICAgICAgIG11dGFibGVQb2xpY2llc1t0YWIubmFtZV1bb3BlcmF0aW9uXSA9IHsgcGVybWlzc2lvbjogZW50aXR5UGVybWlzc2lvbiB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGF3YWl0IGV4ZWN1dGVGaWVsZFBvbGljaWVzKHtcbiAgICAgICAgICAgICAgICAgIGVudGl0eVBlcm1pc3Npb24sXG4gICAgICAgICAgICAgICAgICBmaWVsZHM6IHRhYi5maWVsZHMsXG4gICAgICAgICAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgICAgICAgICBwb2xpY2llc09iajogbXV0YWJsZVBvbGljaWVzW3RhYi5uYW1lXSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGF3YWl0IGV4ZWN1dGVGaWVsZFBvbGljaWVzKHtcbiAgICAgICAgICAgICAgICAgIGVudGl0eVBlcm1pc3Npb24sXG4gICAgICAgICAgICAgICAgICBmaWVsZHM6IHRhYi5maWVsZHMsXG4gICAgICAgICAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgICAgICAgICBwb2xpY2llc09iaixcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGF3YWl0IG9wZXJhdGlvbnMucmVkdWNlKGFzeW5jIChwcmlvck9wZXJhdGlvbiwgb3BlcmF0aW9uKSA9PiB7XG4gICAgYXdhaXQgcHJpb3JPcGVyYXRpb25cblxuICAgIGxldCBlbnRpdHlBY2Nlc3NQcm9taXNlOiBQcm9taXNlPHZvaWQ+XG5cbiAgICBpZiAodHlwZW9mIGVudGl0eS5hY2Nlc3Nbb3BlcmF0aW9uXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZW50aXR5QWNjZXNzUHJvbWlzZSA9IGNyZWF0ZUFjY2Vzc1Byb21pc2Uoe1xuICAgICAgICBhY2Nlc3M6IGVudGl0eS5hY2Nlc3Nbb3BlcmF0aW9uXSxcbiAgICAgICAgYWNjZXNzTGV2ZWw6ICdlbnRpdHknLFxuICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgIHBvbGljaWVzT2JqOiBwb2xpY2llcyxcbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHBvbGljaWVzW29wZXJhdGlvbl0gPSB7XG4gICAgICAgIHBlcm1pc3Npb246IGlzTG9nZ2VkSW4sXG4gICAgICB9XG4gICAgfVxuXG4gICAgYXdhaXQgZW50aXR5QWNjZXNzUHJvbWlzZVxuXG4gICAgYXdhaXQgZXhlY3V0ZUZpZWxkUG9saWNpZXMoe1xuICAgICAgZW50aXR5UGVybWlzc2lvbjogcG9saWNpZXNbb3BlcmF0aW9uXS5wZXJtaXNzaW9uLFxuICAgICAgZmllbGRzOiBlbnRpdHkuZmllbGRzLFxuICAgICAgb3BlcmF0aW9uLFxuICAgICAgcG9saWNpZXNPYmo6IHBvbGljaWVzLFxuICAgIH0pXG4gIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gIHJldHVybiBwb2xpY2llc1xufVxuIl0sIm5hbWVzIjpbInRhYkhhc05hbWUiLCJnZXRFbnRpdHlQb2xpY2llcyIsImFyZ3MiLCJpZCIsImVudGl0eSIsIm9wZXJhdGlvbnMiLCJyZXEiLCJ0eXBlIiwiZGF0YSIsInBheWxvYWQiLCJ1c2VyIiwiaXNMb2dnZWRJbiIsInBvbGljaWVzIiwiZmllbGRzIiwiZG9jQmVpbmdBY2Nlc3NlZCIsImdldEVudGl0eURvYyIsIndoZXJlIiwic2x1ZyIsImZpbmRHbG9iYWwiLCJvdmVycmlkZUFjY2VzcyIsInBhZ2luYXRlZFJlcyIsImZpbmQiLCJjb2xsZWN0aW9uIiwiZGVwdGgiLCJsaW1pdCIsInBhZ2luYXRpb24iLCJhbmQiLCJlcXVhbHMiLCJkb2NzIiwidW5kZWZpbmVkIiwiZmluZEJ5SUQiLCJjcmVhdGVBY2Nlc3NQcm9taXNlIiwiYWNjZXNzIiwiYWNjZXNzTGV2ZWwiLCJkaXNhYmxlV2hlcmUiLCJvcGVyYXRpb24iLCJwb2xpY2llc09iaiIsIm11dGFibGVQb2xpY2llcyIsInRoZW4iLCJkb2MiLCJhY2Nlc3NSZXN1bHQiLCJwZXJtaXNzaW9uIiwiZXhlY3V0ZUZpZWxkUG9saWNpZXMiLCJlbnRpdHlQZXJtaXNzaW9uIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsImZpZWxkIiwibmFtZSIsImJsb2NrcyIsImJsb2NrIiwidGFicyIsInRhYiIsInJlZHVjZSIsInByaW9yT3BlcmF0aW9uIiwiZW50aXR5QWNjZXNzUHJvbWlzZSIsInJlc29sdmUiXSwibWFwcGluZ3MiOiJBQU9BLFNBQVNBLFVBQVUsUUFBUSw0QkFBMkI7QUF3QnRELE9BQU8sZUFBZUMsa0JBQWtDQyxJQUFPO0lBQzdELE1BQU0sRUFBRUMsRUFBRSxFQUFFQyxNQUFNLEVBQUVDLFVBQVUsRUFBRUMsR0FBRyxFQUFFQyxJQUFJLEVBQUUsR0FBR0w7SUFDOUMsTUFBTSxFQUFFTSxJQUFJLEVBQUVDLE9BQU8sRUFBRUMsSUFBSSxFQUFFLEdBQUdKO0lBQ2hDLE1BQU1LLGFBQWEsQ0FBQyxDQUFDRDtJQUVyQixNQUFNRSxXQUFXO1FBQ2ZDLFFBQVEsQ0FBQztJQUNYO0lBRUEsSUFBSUM7SUFFSixlQUFlQyxhQUFhLEVBQUVDLEtB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
|
|
199
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ2V0RW50aXR5UG9saWNpZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uUGVybWlzc2lvbiwgR2xvYmFsUGVybWlzc2lvbiB9IGZyb20gJy4uL2F1dGgvdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcsIFR5cGVXaXRoSUQgfSBmcm9tICcuLi9jb2xsZWN0aW9ucy9jb25maWcvdHlwZXMuanMnXG5pbXBvcnQgdHlwZSB7IEFjY2VzcyB9IGZyb20gJy4uL2NvbmZpZy90eXBlcy5qcydcbmltcG9ydCB0eXBlIHsgRmllbGRBY2Nlc3MgfSBmcm9tICcuLi9maWVsZHMvY29uZmlnL3R5cGVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICcuLi9nbG9iYWxzL2NvbmZpZy90eXBlcy5qcydcbmltcG9ydCB0eXBlIHsgQWxsT3BlcmF0aW9ucywgRG9jdW1lbnQsIFBheWxvYWRSZXF1ZXN0LCBXaGVyZSB9IGZyb20gJy4uL3R5cGVzL2luZGV4LmpzJ1xuXG5pbXBvcnQgeyB0YWJIYXNOYW1lIH0gZnJvbSAnLi4vZmllbGRzL2NvbmZpZy90eXBlcy5qcydcblxudHlwZSBBcmdzID0ge1xuICBlbnRpdHk6IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfCBTYW5pdGl6ZWRHbG9iYWxDb25maWdcbiAgaWQ/OiBudW1iZXIgfCBzdHJpbmdcbiAgb3BlcmF0aW9uczogQWxsT3BlcmF0aW9uc1tdXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgdHlwZTogJ2NvbGxlY3Rpb24nIHwgJ2dsb2JhbCdcbn1cblxudHlwZSBSZXR1cm5UeXBlPFQgZXh0ZW5kcyBBcmdzPiA9IFRbJ3R5cGUnXSBleHRlbmRzICdnbG9iYWwnXG4gID8gR2xvYmFsUGVybWlzc2lvblxuICA6IENvbGxlY3Rpb25QZXJtaXNzaW9uXG5cbnR5cGUgQ3JlYXRlQWNjZXNzUHJvbWlzZSA9IChhcmdzOiB7XG4gIGFjY2VzczogQWNjZXNzIHwgRmllbGRBY2Nlc3NcbiAgYWNjZXNzTGV2ZWw6ICdlbnRpdHknIHwgJ2ZpZWxkJ1xuICBkaXNhYmxlV2hlcmU/OiBib29sZWFuXG4gIG9wZXJhdGlvbjogQWxsT3BlcmF0aW9uc1xuICBwb2xpY2llc09iajoge1xuICAgIFtrZXk6IHN0cmluZ106IGFueVxuICB9XG59KSA9PiBQcm9taXNlPHZvaWQ+XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRFbnRpdHlQb2xpY2llczxUIGV4dGVuZHMgQXJncz4oYXJnczogVCk6IFByb21pc2U8UmV0dXJuVHlwZTxUPj4ge1xuICBjb25zdCB7IGlkLCBlbnRpdHksIG9wZXJhdGlvbnMsIHJlcSwgdHlwZSB9ID0gYXJnc1xuICBjb25zdCB7IGRhdGEsIHBheWxvYWQsIHVzZXIgfSA9IHJlcVxuICBjb25zdCBpc0xvZ2dlZEluID0gISF1c2VyXG5cbiAgY29uc3QgcG9saWNpZXMgPSB7XG4gICAgZmllbGRzOiB7fSxcbiAgfSBhcyBSZXR1cm5UeXBlPFQ+XG5cbiAgbGV0IGRvY0JlaW5nQWNjZXNzZWRcblxuICBhc3luYyBmdW5jdGlvbiBnZXRFbnRpdHlEb2MoeyB3aGVyZSB9OiB7IHdoZXJlPzogV2hlcmUgfSA9IHt9KTogUHJvbWlzZTxUeXBlV2l0aElEICYgRG9jdW1lbnQ+IHtcbiAgICBpZiAoZW50aXR5LnNsdWcpIHtcbiAgICAgIGlmICh0eXBlID09PSAnZ2xvYmFsJykge1xuICAgICAgICByZXR1cm4gcGF5bG9hZC5maW5kR2xvYmFsKHtcbiAgICAgICAgICBvdmVycmlkZUFjY2VzczogdHJ1ZSxcbiAgICAgICAgICByZXEsXG4gICAgICAgICAgc2x1ZzogZW50aXR5LnNsdWcsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlID09PSAnY29sbGVjdGlvbicgJiYgaWQpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB3aGVyZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICBjb25zdCBwYWdpbmF0ZWRSZXMgPSBhd2FpdCBwYXlsb2FkLmZpbmQoe1xuICAgICAgICAgICAgY29sbGVjdGlvbjogZW50aXR5LnNsdWcsXG4gICAgICAgICAgICBkZXB0aDogMCxcbiAgICAgICAgICAgIGxpbWl0OiAxLFxuICAgICAgICAgICAgb3ZlcnJpZGVBY2Nlc3M6IHRydWUsXG4gICAgICAgICAgICBwYWdpbmF0aW9uOiBmYWxzZSxcbiAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgICAgIC4uLndoZXJlLFxuICAgICAgICAgICAgICBhbmQ6IFtcbiAgICAgICAgICAgICAgICAuLi4od2hlcmUuYW5kIHx8IFtdKSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBpZDoge1xuICAgICAgICAgICAgICAgICAgICBlcXVhbHM6IGlkLFxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgcmV0dXJuIHBhZ2luYXRlZFJlcz8uZG9jcz8uWzBdIHx8IHVuZGVmaW5lZFxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHBheWxvYWQuZmluZEJ5SUQoe1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIGNvbGxlY3Rpb246IGVudGl0eS5zbHVnLFxuICAgICAgICAgIGRlcHRoOiAwLFxuICAgICAgICAgIG92ZXJyaWRlQWNjZXNzOiB0cnVlLFxuICAgICAgICAgIHJlcSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cblxuICBjb25zdCBjcmVhdGVBY2Nlc3NQcm9taXNlOiBDcmVhdGVBY2Nlc3NQcm9taXNlID0gYXN5bmMgKHtcbiAgICBhY2Nlc3MsXG4gICAgYWNjZXNzTGV2ZWwsXG4gICAgZGlzYWJsZVdoZXJlID0gZmFsc2UsXG4gICAgb3BlcmF0aW9uLFxuICAgIHBvbGljaWVzT2JqLFxuICB9KSA9PiB7XG4gICAgY29uc3QgbXV0YWJsZVBvbGljaWVzID0gcG9saWNpZXNPYmpcblxuICAgIGlmIChhY2Nlc3NMZXZlbCA9PT0gJ2ZpZWxkJyAmJiBkb2NCZWluZ0FjY2Vzc2VkID09PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIGFzc2lnbiBkb2NCZWluZ0FjY2Vzc2VkIGZpcnN0IGFzIHRoZSBwcm9taXNlIHRvIGF2b2lkIG11bHRpcGxlIGNhbGxzIHRvIGdldEVudGl0eURvY1xuICAgICAgZG9jQmVpbmdBY2Nlc3NlZCA9IGdldEVudGl0eURvYygpLnRoZW4oKGRvYykgPT4ge1xuICAgICAgICBkb2NCZWluZ0FjY2Vzc2VkID0gZG9jXG4gICAgICB9KVxuICAgIH1cbiAgICAvLyBhd2FpdGluZyB0aGUgcHJvbWlzZSB0byBlbnN1cmUgZG9jQmVpbmdBY2Nlc3NlZCBpcyBhc3NpZ25lZCBiZWZvcmUgaXQgaXMgdXNlZFxuICAgIGF3YWl0IGRvY0JlaW5nQWNjZXNzZWRcblxuICAgIC8vIGh0dHBzOi8vcGF5bG9hZGNtcy5zbGFjay5jb20vYXJjaGl2ZXMvQzA0OFo5QzJCRVgvcDE3MDIwNTQ5MjgzNDM3NjlcbiAgICBjb25zdCBhY2Nlc3NSZXN1bHQgPSBhd2FpdCBhY2Nlc3MoeyBpZCwgZGF0YSwgZG9jOiBkb2NCZWluZ0FjY2Vzc2VkLCByZXEgfSlcblxuICAgIGlmICh0eXBlb2YgYWNjZXNzUmVzdWx0ID09PSAnb2JqZWN0JyAmJiAhZGlzYWJsZVdoZXJlKSB7XG4gICAgICBtdXRhYmxlUG9saWNpZXNbb3BlcmF0aW9uXSA9IHtcbiAgICAgICAgcGVybWlzc2lvbjpcbiAgICAgICAgICBpZCB8fCB0eXBlID09PSAnZ2xvYmFsJyA/ICEhKGF3YWl0IGdldEVudGl0eURvYyh7IHdoZXJlOiBhY2Nlc3NSZXN1bHQgfSkpIDogdHJ1ZSxcbiAgICAgICAgd2hlcmU6IGFjY2Vzc1Jlc3VsdCxcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG11dGFibGVQb2xpY2llc1tvcGVyYXRpb25dPy5wZXJtaXNzaW9uICE9PSBmYWxzZSkge1xuICAgICAgbXV0YWJsZVBvbGljaWVzW29wZXJhdGlvbl0gPSB7XG4gICAgICAgIHBlcm1pc3Npb246ICEhYWNjZXNzUmVzdWx0LFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGV4ZWN1dGVGaWVsZFBvbGljaWVzID0gYXN5bmMgKHsgZW50aXR5UGVybWlzc2lvbiwgZmllbGRzLCBvcGVyYXRpb24sIHBvbGljaWVzT2JqIH0pID0+IHtcbiAgICBjb25zdCBtdXRhYmxlUG9saWNpZXMgPSBwb2xpY2llc09iai5maWVsZHNcblxuICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgZmllbGRzLm1hcChhc3luYyAoZmllbGQpID0+IHtcbiAgICAgICAgaWYgKGZpZWxkLm5hbWUpIHtcbiAgICAgICAgICBpZiAoIW11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXSkgbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdID0ge31cblxuICAgICAgICAgIGlmIChmaWVsZC5hY2Nlc3MgJiYgdHlwZW9mIGZpZWxkLmFjY2Vzc1tvcGVyYXRpb25dID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBhd2FpdCBjcmVhdGVBY2Nlc3NQcm9taXNlKHtcbiAgICAgICAgICAgICAgYWNjZXNzOiBmaWVsZC5hY2Nlc3Nbb3BlcmF0aW9uXSxcbiAgICAgICAgICAgICAgYWNjZXNzTGV2ZWw6ICdmaWVsZCcsXG4gICAgICAgICAgICAgIGRpc2FibGVXaGVyZTogdHJ1ZSxcbiAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICBwb2xpY2llc09iajogbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdW29wZXJhdGlvbl0gPSB7XG4gICAgICAgICAgICAgIHBlcm1pc3Npb246IHBvbGljaWVzT2JqW29wZXJhdGlvbl0/LnBlcm1pc3Npb24sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGZpZWxkLmZpZWxkcykge1xuICAgICAgICAgICAgaWYgKCFtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0uZmllbGRzKSBtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0uZmllbGRzID0ge31cblxuICAgICAgICAgICAgYXdhaXQgZXhlY3V0ZUZpZWxkUG9saWNpZXMoe1xuICAgICAgICAgICAgICBlbnRpdHlQZXJtaXNzaW9uLFxuICAgICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICBwb2xpY2llc09iajogbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZmllbGQ/LmJsb2Nrcykge1xuICAgICAgICAgICAgaWYgKCFtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0/LmJsb2NrcykgbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLmJsb2NrcyA9IHt9XG5cbiAgICAgICAgICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgICBmaWVsZC5ibG9ja3MubWFwKGFzeW5jIChibG9jaykgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLmJsb2Nrcz8uW2Jsb2NrLnNsdWddKSB7XG4gICAgICAgICAgICAgICAgICBtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0uYmxvY2tzW2Jsb2NrLnNsdWddID0ge1xuICAgICAgICAgICAgICAgICAgICBmaWVsZHM6IHt9LFxuICAgICAgICAgICAgICAgICAgICBbb3BlcmF0aW9uXTogeyBwZXJtaXNzaW9uOiBlbnRpdHlQZXJtaXNzaW9uIH0sXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICghbXV0YWJsZVBvbGljaWVzW2ZpZWxkLm5hbWVdLmJsb2Nrc1tibG9jay5zbHVnXVtvcGVyYXRpb25dKSB7XG4gICAgICAgICAgICAgICAgICBtdXRhYmxlUG9saWNpZXNbZmllbGQubmFtZV0uYmxvY2tzW2Jsb2NrLnNsdWddW29wZXJhdGlvbl0gPSB7XG4gICAgICAgICAgICAgICAgICAgIHBlcm1pc3Npb246IGVudGl0eVBlcm1pc3Npb24sXG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYXdhaXQgZXhlY3V0ZUZpZWxkUG9saWNpZXMoe1xuICAgICAgICAgICAgICAgICAgZW50aXR5UGVybWlzc2lvbixcbiAgICAgICAgICAgICAgICAgIGZpZWxkczogYmxvY2suZmllbGRzLFxuICAgICAgICAgICAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICAgICAgICAgICAgcG9saWNpZXNPYmo6IG11dGFibGVQb2xpY2llc1tmaWVsZC5uYW1lXS5ibG9ja3NbYmxvY2suc2x1Z10sXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGZpZWxkLmZpZWxkcykge1xuICAgICAgICAgIGF3YWl0IGV4ZWN1dGVGaWVsZFBvbGljaWVzKHtcbiAgICAgICAgICAgIGVudGl0eVBlcm1pc3Npb24sXG4gICAgICAgICAgICBmaWVsZHM6IGZpZWxkLmZpZWxkcyxcbiAgICAgICAgICAgIG9wZXJhdGlvbixcbiAgICAgICAgICAgIHBvbGljaWVzT2JqLFxuICAgICAgICAgIH0pXG4gICAgICAgIH0gZWxzZSBpZiAoZmllbGQudHlwZSA9PT0gJ3RhYnMnKSB7XG4gICAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgICBmaWVsZC50YWJzLm1hcChhc3luYyAodGFiKSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0YWJIYXNOYW1lKHRhYikpIHtcbiAgICAgICAgICAgICAgICBpZiAoIW11dGFibGVQb2xpY2llc1t0YWIubmFtZV0pIHtcbiAgICAgICAgICAgICAgICAgIG11dGFibGVQb2xpY2llc1t0YWIubmFtZV0gPSB7XG4gICAgICAgICAgICAgICAgICAgIGZpZWxkczoge30sXG4gICAgICAgICAgICAgICAgICAgIFtvcGVyYXRpb25dOiB7IHBlcm1pc3Npb246IGVudGl0eVBlcm1pc3Npb24gfSxcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFtdXRhYmxlUG9saWNpZXNbdGFiLm5hbWVdW29wZXJhdGlvbl0pIHtcbiAgICAgICAgICAgICAgICAgIG11dGFibGVQb2xpY2llc1t0YWIubmFtZV1bb3BlcmF0aW9uXSA9IHsgcGVybWlzc2lvbjogZW50aXR5UGVybWlzc2lvbiB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGF3YWl0IGV4ZWN1dGVGaWVsZFBvbGljaWVzKHtcbiAgICAgICAgICAgICAgICAgIGVudGl0eVBlcm1pc3Npb24sXG4gICAgICAgICAgICAgICAgICBmaWVsZHM6IHRhYi5maWVsZHMsXG4gICAgICAgICAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgICAgICAgICBwb2xpY2llc09iajogbXV0YWJsZVBvbGljaWVzW3RhYi5uYW1lXSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGF3YWl0IGV4ZWN1dGVGaWVsZFBvbGljaWVzKHtcbiAgICAgICAgICAgICAgICAgIGVudGl0eVBlcm1pc3Npb24sXG4gICAgICAgICAgICAgICAgICBmaWVsZHM6IHRhYi5maWVsZHMsXG4gICAgICAgICAgICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgICAgICAgICAgICBwb2xpY2llc09iaixcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgIClcbiAgfVxuXG4gIGF3YWl0IG9wZXJhdGlvbnMucmVkdWNlKGFzeW5jIChwcmlvck9wZXJhdGlvbiwgb3BlcmF0aW9uKSA9PiB7XG4gICAgYXdhaXQgcHJpb3JPcGVyYXRpb25cblxuICAgIGxldCBlbnRpdHlBY2Nlc3NQcm9taXNlOiBQcm9taXNlPHZvaWQ+XG5cbiAgICBpZiAodHlwZW9mIGVudGl0eS5hY2Nlc3Nbb3BlcmF0aW9uXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZW50aXR5QWNjZXNzUHJvbWlzZSA9IGNyZWF0ZUFjY2Vzc1Byb21pc2Uoe1xuICAgICAgICBhY2Nlc3M6IGVudGl0eS5hY2Nlc3Nbb3BlcmF0aW9uXSxcbiAgICAgICAgYWNjZXNzTGV2ZWw6ICdlbnRpdHknLFxuICAgICAgICBvcGVyYXRpb24sXG4gICAgICAgIHBvbGljaWVzT2JqOiBwb2xpY2llcyxcbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHBvbGljaWVzW29wZXJhdGlvbl0gPSB7XG4gICAgICAgIHBlcm1pc3Npb246IGlzTG9nZ2VkSW4sXG4gICAgICB9XG4gICAgfVxuXG4gICAgYXdhaXQgZW50aXR5QWNjZXNzUHJvbWlzZVxuXG4gICAgYXdhaXQgZXhlY3V0ZUZpZWxkUG9saWNpZXMoe1xuICAgICAgZW50aXR5UGVybWlzc2lvbjogcG9saWNpZXNbb3BlcmF0aW9uXS5wZXJtaXNzaW9uLFxuICAgICAgZmllbGRzOiBlbnRpdHkuZmllbGRzLFxuICAgICAgb3BlcmF0aW9uLFxuICAgICAgcG9saWNpZXNPYmo6IHBvbGljaWVzLFxuICAgIH0pXG4gIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gIHJldHVybiBwb2xpY2llc1xufVxuIl0sIm5hbWVzIjpbInRhYkhhc05hbWUiLCJnZXRFbnRpdHlQb2xpY2llcyIsImFyZ3MiLCJpZCIsImVudGl0eSIsIm9wZXJhdGlvbnMiLCJyZXEiLCJ0eXBlIiwiZGF0YSIsInBheWxvYWQiLCJ1c2VyIiwiaXNMb2dnZWRJbiIsInBvbGljaWVzIiwiZmllbGRzIiwiZG9jQmVpbmdBY2Nlc3NlZCIsImdldEVudGl0eURvYyIsIndoZXJlIiwic2x1ZyIsImZpbmRHbG9iYWwiLCJvdmVycmlkZUFjY2VzcyIsInBhZ2luYXRlZFJlcyIsImZpbmQiLCJjb2xsZWN0aW9uIiwiZGVwdGgiLCJsaW1pdCIsInBhZ2luYXRpb24iLCJhbmQiLCJlcXVhbHMiLCJkb2NzIiwidW5kZWZpbmVkIiwiZmluZEJ5SUQiLCJjcmVhdGVBY2Nlc3NQcm9taXNlIiwiYWNjZXNzIiwiYWNjZXNzTGV2ZWwiLCJkaXNhYmxlV2hlcmUiLCJvcGVyYXRpb24iLCJwb2xpY2llc09iaiIsIm11dGFibGVQb2xpY2llcyIsInRoZW4iLCJkb2MiLCJhY2Nlc3NSZXN1bHQiLCJwZXJtaXNzaW9uIiwiZXhlY3V0ZUZpZWxkUG9saWNpZXMiLCJlbnRpdHlQZXJtaXNzaW9uIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsImZpZWxkIiwibmFtZSIsImJsb2NrcyIsImJsb2NrIiwidGFicyIsInRhYiIsInJlZHVjZSIsInByaW9yT3BlcmF0aW9uIiwiZW50aXR5QWNjZXNzUHJvbWlzZSIsInJlc29sdmUiXSwibWFwcGluZ3MiOiJBQU9BLFNBQVNBLFVBQVUsUUFBUSw0QkFBMkI7QUF3QnRELE9BQU8sZUFBZUMsa0JBQWtDQyxJQUFPO0lBQzdELE1BQU0sRUFBRUMsRUFBRSxFQUFFQyxNQUFNLEVBQUVDLFVBQVUsRUFBRUMsR0FBRyxFQUFFQyxJQUFJLEVBQUUsR0FBR0w7SUFDOUMsTUFBTSxFQUFFTSxJQUFJLEVBQUVDLE9BQU8sRUFBRUMsSUFBSSxFQUFFLEdBQUdKO0lBQ2hDLE1BQU1LLGFBQWEsQ0FBQyxDQUFDRDtJQUVyQixNQUFNRSxXQUFXO1FBQ2ZDLFFBQVEsQ0FBQztJQUNYO0lBRUEsSUFBSUM7SUFFSixlQUFlQyxhQUFhLEVBQUVDLEtBQUssRUFBcUIsR0FBRyxDQUFDLENBQUM7UUFDM0QsSUFBSVosT0FBT2EsSUFBSSxFQUFFO1lBQ2YsSUFBSVYsU0FBUyxVQUFVO2dCQUNyQixPQUFPRSxRQUFRUyxVQUFVLENBQUM7b0JBQ3hCQyxnQkFBZ0I7b0JBQ2hCYjtvQkFDQVcsTUFBTWIsT0FBT2EsSUFBSTtnQkFDbkI7WUFDRjtZQUVBLElBQUlWLFNBQVMsZ0JBQWdCSixJQUFJO2dCQUMvQixJQUFJLE9BQU9hLFVBQVUsVUFBVTtvQkFDN0IsTUFBTUksZUFBZSxNQUFNWCxRQUFRWSxJQUFJLENBQUM7d0JBQ3RDQyxZQUFZbEIsT0FBT2EsSUFBSTt3QkFDdkJNLE9BQU87d0JBQ1BDLE9BQU87d0JBQ1BMLGdCQUFnQjt3QkFDaEJNLFlBQVk7d0JBQ1puQjt3QkFDQVUsT0FBTzs0QkFDTCxHQUFHQSxLQUFLOzRCQUNSVSxLQUFLO21DQUNDVixNQUFNVSxHQUFHLElBQUksRUFBRTtnQ0FDbkI7b0NBQ0V2QixJQUFJO3dDQUNGd0IsUUFBUXhCO29DQUNWO2dDQUNGOzZCQUNEO3dCQUNIO29CQUNGO29CQUVBLE9BQU9pQixjQUFjUSxNQUFNLENBQUMsRUFBRSxJQUFJQztnQkFDcEM7Z0JBRUEsT0FBT3BCLFFBQVFxQixRQUFRLENBQUM7b0JBQ3RCM0I7b0JBQ0FtQixZQUFZbEIsT0FBT2EsSUFBSTtvQkFDdkJNLE9BQU87b0JBQ1BKLGdCQUFnQjtvQkFDaEJiO2dCQUNGO1lBQ0Y7UUFDRjtRQUVBLE9BQU91QjtJQUNUO0lBRUEsTUFBTUUsc0JBQTJDLE9BQU8sRUFDdERDLE1BQU0sRUFDTkMsV0FBVyxFQUNYQyxlQUFlLEtBQUssRUFDcEJDLFNBQVMsRUFDVEMsV0FBVyxFQUNaO1FBQ0MsTUFBTUMsa0JBQWtCRDtRQUV4QixJQUFJSCxnQkFBZ0IsV0FBV25CLHFCQUFxQmUsV0FBVztZQUM3RCx1RkFBdUY7WUFDdkZmLG1CQUFtQkMsZUFBZXVCLElBQUksQ0FBQyxDQUFDQztnQkFDdEN6QixtQkFBbUJ5QjtZQUNyQjtRQUNGO1FBQ0EsZ0ZBQWdGO1FBQ2hGLE1BQU16QjtRQUVOLHNFQUFzRTtRQUN0RSxNQUFNMEIsZUFBZSxNQUFNUixPQUFPO1lBQUU3QjtZQUFJSztZQUFNK0IsS0FBS3pCO1lBQWtCUjtRQUFJO1FBRXpFLElBQUksT0FBT2tDLGlCQUFpQixZQUFZLENBQUNOLGNBQWM7WUFDckRHLGVBQWUsQ0FBQ0YsVUFBVSxHQUFHO2dCQUMzQk0sWUFDRXRDLE1BQU1JLFNBQVMsV0FBVyxDQUFDLENBQUUsTUFBTVEsYUFBYTtvQkFBRUMsT0FBT3dCO2dCQUFhLEtBQU07Z0JBQzlFeEIsT0FBT3dCO1lBQ1Q7UUFDRixPQUFPLElBQUlILGVBQWUsQ0FBQ0YsVUFBVSxFQUFFTSxlQUFlLE9BQU87WUFDM0RKLGVBQWUsQ0FBQ0YsVUFBVSxHQUFHO2dCQUMzQk0sWUFBWSxDQUFDLENBQUNEO1lBQ2hCO1FBQ0Y7SUFDRjtJQUVBLE1BQU1FLHVCQUF1QixPQUFPLEVBQUVDLGdCQUFnQixFQUFFOUIsTUFBTSxFQUFFc0IsU0FBUyxFQUFFQyxXQUFXLEVBQUU7UUFDdEYsTUFBTUMsa0JBQWtCRCxZQUFZdkIsTUFBTTtRQUUxQyxNQUFNK0IsUUFBUUMsR0FBRyxDQUNmaEMsT0FBT2lDLEdBQUcsQ0FBQyxPQUFPQztZQUNoQixJQUFJQSxNQUFNQyxJQUFJLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDWCxlQUFlLENBQUNVLE1BQU1DLElBQUksQ0FBQyxFQUFFWCxlQUFlLENBQUNVLE1BQU1DLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBRWpFLElBQUlELE1BQU1mLE1BQU0sSUFBSSxPQUFPZSxNQUFNZixNQUFNLENBQUNHLFVBQVUsS0FBSyxZQUFZO29CQUNqRSxNQUFNSixvQkFBb0I7d0JBQ3hCQyxRQUFRZSxNQUFNZixNQUFNLENBQUNHLFVBQVU7d0JBQy9CRixhQUFhO3dCQUNiQyxjQUFjO3dCQUNkQzt3QkFDQUMsYUFBYUMsZUFBZSxDQUFDVSxNQUFNQyxJQUFJLENBQUM7b0JBQzFDO2dCQUNGLE9BQU87b0JBQ0xYLGVBQWUsQ0FBQ1UsTUFBTUMsSUFBSSxDQUFDLENBQUNiLFVBQVUsR0FBRzt3QkFDdkNNLFlBQVlMLFdBQVcsQ0FBQ0QsVUFBVSxFQUFFTTtvQkFDdEM7Z0JBQ0Y7Z0JBRUEsSUFBSU0sTUFBTWxDLE1BQU0sRUFBRTtvQkFDaEIsSUFBSSxDQUFDd0IsZUFBZSxDQUFDVSxNQUFNQyxJQUFJLENBQUMsQ0FBQ25DLE1BQU0sRUFBRXdCLGVBQWUsQ0FBQ1UsTUFBTUMsSUFBSSxDQUFDLENBQUNuQyxNQUFNLEdBQUcsQ0FBQztvQkFFL0UsTUFBTTZCLHFCQUFxQjt3QkFDekJDO3dCQUNBOUIsUUFBUWtDLE1BQU1sQyxNQUFNO3dCQUNwQnNCO3dCQUNBQyxhQUFhQyxlQUFlLENBQUNVLE1BQU1DLElBQUksQ0FBQztvQkFDMUM7Z0JBQ0Y7Z0JBRUEsSUFBSUQsT0FBT0UsUUFBUTtvQkFDakIsSUFBSSxDQUFDWixlQUFlLENBQUNVLE1BQU1DLElBQUksQ0FBQyxFQUFFQyxRQUFRWixlQUFlLENBQUNVLE1BQU1DLElBQUksQ0FBQyxDQUFDQyxNQUFNLEdBQUcsQ0FBQztvQkFFaEYsTUFBTUwsUUFBUUMsR0FBRyxDQUNmRSxNQUFNRSxNQUFNLENBQUNILEdBQUcsQ0FBQyxPQUFPSTt3QkFDdEIsSUFBSSxDQUFDYixlQUFlLENBQUNVLE1BQU1DLElBQUksQ0FBQyxDQUFDQyxNQUFNLEVBQUUsQ0FBQ0MsTUFBTWpDLElBQUksQ0FBQyxFQUFFOzRCQUNyRG9CLGVBQWUsQ0FBQ1UsTUFBTUMsSUFBSSxDQUFDLENBQUNDLE1BQU0sQ0FBQ0MsTUFBTWpDLElBQUksQ0FBQyxHQUFHO2dDQUMvQ0osUUFBUSxDQUFDO2dDQUNULENBQUNzQixVQUFVLEVBQUU7b0NBQUVNLFlBQVlFO2dDQUFpQjs0QkFDOUM7d0JBQ0YsT0FBTyxJQUFJLENBQUNOLGVBQWUsQ0FBQ1UsTUFBTUMsSUFBSSxDQUFDLENBQUNDLE1BQU0sQ0FBQ0MsTUFBTWpDLElBQUksQ0FBQyxDQUFDa0IsVUFBVSxFQUFFOzRCQUNyRUUsZUFBZSxDQUFDVSxNQUFNQyxJQUFJLENBQUMsQ0FBQ0MsTUFBTSxDQUFDQyxNQUFNakMsSUFBSSxDQUFDLENBQUNrQixVQUFVLEdBQUc7Z0NBQzFETSxZQUFZRTs0QkFDZDt3QkFDRjt3QkFFQSxNQUFNRCxxQkFBcUI7NEJBQ3pCQzs0QkFDQTlCLFFBQVFxQyxNQUFNckMsTUFBTTs0QkFDcEJzQjs0QkFDQUMsYUFBYUMsZUFBZSxDQUFDVSxNQUFNQyxJQUFJLENBQUMsQ0FBQ0MsTUFBTSxDQUFDQyxNQUFNakMsSUFBSSxDQUFDO3dCQUM3RDtvQkFDRjtnQkFFSjtZQUNGLE9BQU8sSUFBSThCLE1BQU1sQyxNQUFNLEVBQUU7Z0JBQ3ZCLE1BQU02QixxQkFBcUI7b0JBQ3pCQztvQkFDQTlCLFFBQVFrQyxNQUFNbEMsTUFBTTtvQkFDcEJzQjtvQkFDQUM7Z0JBQ0Y7WUFDRixPQUFPLElBQUlXLE1BQU14QyxJQUFJLEtBQUssUUFBUTtnQkFDaEMsTUFBTXFDLFFBQVFDLEdBQUcsQ0FDZkUsTUFBTUksSUFBSSxDQUFDTCxHQUFHLENBQUMsT0FBT007b0JBQ3BCLElBQUlwRCxXQUFXb0QsTUFBTTt3QkFDbkIsSUFBSSxDQUFDZixlQUFlLENBQUNlLElBQUlKLElBQUksQ0FBQyxFQUFFOzRCQUM5QlgsZUFBZSxDQUFDZSxJQUFJSixJQUFJLENBQUMsR0FBRztnQ0FDMUJuQyxRQUFRLENBQUM7Z0NBQ1QsQ0FBQ3NCLFVBQVUsRUFBRTtvQ0FBRU0sWUFBWUU7Z0NBQWlCOzRCQUM5Qzt3QkFDRixPQUFPLElBQUksQ0FBQ04sZUFBZSxDQUFDZSxJQUFJSixJQUFJLENBQUMsQ0FBQ2IsVUFBVSxFQUFFOzRCQUNoREUsZUFBZSxDQUFDZSxJQUFJSixJQUFJLENBQUMsQ0FBQ2IsVUFBVSxHQUFHO2dDQUFFTSxZQUFZRTs0QkFBaUI7d0JBQ3hFO3dCQUNBLE1BQU1ELHFCQUFxQjs0QkFDekJDOzRCQUNBOUIsUUFBUXVDLElBQUl2QyxNQUFNOzRCQUNsQnNCOzRCQUNBQyxhQUFhQyxlQUFlLENBQUNlLElBQUlKLElBQUksQ0FBQzt3QkFDeEM7b0JBQ0YsT0FBTzt3QkFDTCxNQUFNTixxQkFBcUI7NEJBQ3pCQzs0QkFDQTlCLFFBQVF1QyxJQUFJdkMsTUFBTTs0QkFDbEJzQjs0QkFDQUM7d0JBQ0Y7b0JBQ0Y7Z0JBQ0Y7WUFFSjtRQUNGO0lBRUo7SUFFQSxNQUFNL0IsV0FBV2dELE1BQU0sQ0FBQyxPQUFPQyxnQkFBZ0JuQjtRQUM3QyxNQUFNbUI7UUFFTixJQUFJQztRQUVKLElBQUksT0FBT25ELE9BQU80QixNQUFNLENBQUNHLFVBQVUsS0FBSyxZQUFZO1lBQ2xEb0Isc0JBQXNCeEIsb0JBQW9CO2dCQUN4Q0MsUUFBUTVCLE9BQU80QixNQUFNLENBQUNHLFVBQVU7Z0JBQ2hDRixhQUFhO2dCQUNiRTtnQkFDQUMsYUFBYXhCO1lBQ2Y7UUFDRixPQUFPO1lBQ0xBLFFBQVEsQ0FBQ3VCLFVBQVUsR0FBRztnQkFDcEJNLFlBQVk5QjtZQUNkO1FBQ0Y7UUFFQSxNQUFNNEM7UUFFTixNQUFNYixxQkFBcUI7WUFDekJDLGtCQUFrQi9CLFFBQVEsQ0FBQ3VCLFVBQVUsQ0FBQ00sVUFBVTtZQUNoRDVCLFFBQVFULE9BQU9TLE1BQU07WUFDckJzQjtZQUNBQyxhQUFheEI7UUFDZjtJQUNGLEdBQUdnQyxRQUFRWSxPQUFPO0lBRWxCLE9BQU81QztBQUNUIn0=
|