payload 3.0.0-alpha.31 → 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
|
@@ -20,4 +20,4 @@ export const traverseFields = async ({ id, collection, context, data, doc, field
|
|
|
20
20
|
await Promise.all(promises);
|
|
21
21
|
};
|
|
22
22
|
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZHMvaG9va3MvYmVmb3JlVmFsaWRhdGUvdHJhdmVyc2VGaWVsZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vY29sbGVjdGlvbnMvY29uZmlnL3R5cGVzLmpzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRHbG9iYWxDb25maWcgfSBmcm9tICcuLi8uLi8uLi9nbG9iYWxzL2NvbmZpZy90eXBlcy5qcydcbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QsIFJlcXVlc3RDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvaW5kZXguanMnXG5pbXBvcnQgdHlwZSB7IEZpZWxkLCBUYWJBc0ZpZWxkIH0gZnJvbSAnLi4vLi4vY29uZmlnL3R5cGVzLmpzJ1xuXG5pbXBvcnQgeyBwcm9taXNlIH0gZnJvbSAnLi9wcm9taXNlLmpzJ1xuXG50eXBlIEFyZ3M8VD4gPSB7XG4gIGNvbGxlY3Rpb246IFNhbml0aXplZENvbGxlY3Rpb25Db25maWcgfCBudWxsXG4gIGNvbnRleHQ6IFJlcXVlc3RDb250ZXh0XG4gIGRhdGE6IFRcbiAgZG9jOiBUXG4gIGZpZWxkczogKEZpZWxkIHwgVGFiQXNGaWVsZClbXVxuICBnbG9iYWw6IFNhbml0aXplZEdsb2JhbENvbmZpZyB8IG51bGxcbiAgaWQ/OiBudW1iZXIgfCBzdHJpbmdcbiAgb3BlcmF0aW9uOiAnY3JlYXRlJyB8ICd1cGRhdGUnXG4gIG92ZXJyaWRlQWNjZXNzOiBib29sZWFuXG4gIHJlcTogUGF5bG9hZFJlcXVlc3RcbiAgc2libGluZ0RhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIHNpYmxpbmdEb2M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG59XG5cbmV4cG9ydCBjb25zdCB0cmF2ZXJzZUZpZWxkcyA9IGFzeW5jIDxUPih7XG4gIGlkLFxuICBjb2xsZWN0aW9uLFxuICBjb250ZXh0LFxuICBkYXRhLFxuICBkb2MsXG4gIGZpZWxkcyxcbiAgZ2xvYmFsLFxuICBvcGVyYXRpb24sXG4gIG92ZXJyaWRlQWNjZXNzLFxuICByZXEsXG4gIHNpYmxpbmdEYXRhLFxuICBzaWJsaW5nRG9jLFxufTogQXJnczxUPik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCBwcm9taXNlcyA9IFtdXG4gIGZpZWxkcy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgIHByb21pc2VzLnB1c2goXG4gICAgICBwcm9taXNlKHtcbiAgICAgICAgaWQsXG4gICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgIGNvbnRleHQsXG4gICAgICAgIGRhdGEsXG4gICAgICAgIGRvYyxcbiAgICAgICAgZmllbGQsXG4gICAgICAgIGdsb2JhbCxcbiAgICAgICAgb3BlcmF0aW9uLFxuICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgcmVxLFxuICAgICAgICBzaWJsaW5nRGF0YSxcbiAgICAgICAgc2libGluZ0RvYyxcbiAgICAgIH0pLFxuICAgIClcbiAgfSlcbiAgYXdhaXQgUHJvbWlzZS5hbGwocHJvbWlzZXMpXG59XG4iXSwibmFtZXMiOlsicHJvbWlzZSIsInRyYXZlcnNlRmllbGRzIiwiaWQiLCJjb2xsZWN0aW9uIiwiY29udGV4dCIsImRhdGEiLCJkb2MiLCJmaWVsZHMiLCJnbG9iYWwiLCJvcGVyYXRpb24iLCJvdmVycmlkZUFjY2VzcyIsInJlcSIsInNpYmxpbmdEYXRhIiwic2libGluZ0RvYyIsInByb21pc2VzIiwiZm9yRWFjaCIsImZpZWxkIiwicHVzaCIsIlByb21pc2UiLCJhbGwiXSwibWFwcGluZ3MiOiJBQUtBLFNBQVNBLE9BQU8sUUFBUSxlQUFjO0FBaUJ0QyxPQUFPLE1BQU1DLGlCQUFpQixPQUFVLEVBQ3RDQyxFQUFFLEVBQ0ZDLFVBQVUsRUFDVkMsT0FBTyxFQUNQQyxJQUFJLEVBQ0pDLEdBQUcsRUFDSEMsTUFBTSxFQUNOQyxNQUFNLEVBQ05DLFNBQVMsRUFDVEMsY0FBYyxFQUNkQyxHQUFHLEVBQ0hDLFdBQVcsRUFDWEMsVUFBVSxFQUNGO0lBQ1IsTUFBTUMsV0FBVyxFQUFFO0lBQ25CUCxPQUFPUSxPQUFPLENBQUMsQ0FBQ0M7UUFDZEYsU0FBU0csSUFBSSxDQUNYakIsUUFBUTtZQUNORTtZQUNBQztZQUNBQztZQUNBQztZQUNBQztZQUNBVTtZQUNBUjtZQUNBQztZQUNBQztZQUNBQztZQUNBQztZQUNBQztRQUNGO0lBRUo7SUFDQSxNQUFNSyxRQUFRQyxHQUFHLENBQUNMO0FBQ3BCLEVBQUMifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeBaseFields.d.ts","sourceRoot":"","sources":["../../src/fields/mergeBaseFields.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAsB,MAAM,
|
|
1
|
+
{"version":3,"file":"mergeBaseFields.d.ts","sourceRoot":"","sources":["../../src/fields/mergeBaseFields.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAsB,MAAM,mBAAmB,CAAA;AAIlE,QAAA,MAAM,eAAe,WAAY,KAAK,EAAE,cAAc,KAAK,EAAE,KAAG,KAAK,EAqCpE,CAAA;AAED,eAAe,eAAe,CAAA"}
|
|
@@ -33,4 +33,4 @@ const mergeBaseFields = (fields, baseFields)=>{
|
|
|
33
33
|
};
|
|
34
34
|
export default mergeBaseFields;
|
|
35
35
|
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvbWVyZ2VCYXNlRmllbGRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtZXJnZSBmcm9tICdkZWVwbWVyZ2UnXG5cbmltcG9ydCB0eXBlIHsgRmllbGQsIEZpZWxkV2l0aFN1YkZpZWxkcyB9IGZyb20gJy4vY29uZmlnL3R5cGVzLmpzJ1xuXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhLCBmaWVsZEhhc1N1YkZpZWxkcyB9IGZyb20gJy4vY29uZmlnL3R5cGVzLmpzJ1xuXG5jb25zdCBtZXJnZUJhc2VGaWVsZHMgPSAoZmllbGRzOiBGaWVsZFtdLCBiYXNlRmllbGRzOiBGaWVsZFtdKTogRmllbGRbXSA9PiB7XG4gIGNvbnN0IG1lcmdlZEZpZWxkcyA9IFsuLi4oZmllbGRzIHx8IFtdKV1cblxuICBiYXNlRmllbGRzLmZvckVhY2goKGJhc2VGaWVsZCkgPT4ge1xuICAgIGxldCBtYXRjaGVkSW5kZXggPSBudWxsXG5cbiAgICBpZiAoZmllbGRBZmZlY3RzRGF0YShiYXNlRmllbGQpKSB7XG4gICAgICBjb25zdCBtYXRjaCA9IG1lcmdlZEZpZWxkcy5maW5kKChmaWVsZCwgaSkgPT4ge1xuICAgICAgICBpZiAoZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubmFtZSA9PT0gYmFzZUZpZWxkLm5hbWUpIHtcbiAgICAgICAgICBtYXRjaGVkSW5kZXggPSBpXG4gICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfSlcblxuICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgIGNvbnN0IG1hdGNoQ29weTogRmllbGQgPSB7IC4uLm1hdGNoIH1cbiAgICAgICAgbWVyZ2VkRmllbGRzLnNwbGljZShtYXRjaGVkSW5kZXgsIDEpXG5cbiAgICAgICAgY29uc3QgbWVyZ2VkRmllbGQgPSBtZXJnZTxGaWVsZD4oYmFzZUZpZWxkLCBtYXRjaENvcHkpXG5cbiAgICAgICAgaWYgKGZpZWxkSGFzU3ViRmllbGRzKGJhc2VGaWVsZCkgJiYgZmllbGRIYXNTdWJGaWVsZHMobWF0Y2hDb3B5KSkge1xuICAgICAgICAgIDsobWVyZ2VkRmllbGQgYXMgRmllbGRXaXRoU3ViRmllbGRzKS5maWVsZHMgPSBtZXJnZUJhc2VGaWVsZHMoXG4gICAgICAgICAgICBtYXRjaENvcHkuZmllbGRzLFxuICAgICAgICAgICAgYmFzZUZpZWxkLmZpZWxkcyxcbiAgICAgICAgICApXG4gICAgICAgIH1cblxuICAgICAgICBtZXJnZWRGaWVsZHMucHVzaChtZXJnZWRGaWVsZClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG1lcmdlZEZpZWxkcy5wdXNoKGJhc2VGaWVsZClcbiAgICAgIH1cbiAgICB9XG4gIH0pXG5cbiAgcmV0dXJuIG1lcmdlZEZpZWxkc1xufVxuXG5leHBvcnQgZGVmYXVsdCBtZXJnZUJhc2VGaWVsZHNcbiJdLCJuYW1lcyI6WyJtZXJnZSIsImZpZWxkQWZmZWN0c0RhdGEiLCJmaWVsZEhhc1N1YkZpZWxkcyIsIm1lcmdlQmFzZUZpZWxkcyIsImZpZWxkcyIsImJhc2VGaWVsZHMiLCJtZXJnZWRGaWVsZHMiLCJmb3JFYWNoIiwiYmFzZUZpZWxkIiwibWF0Y2hlZEluZGV4IiwibWF0Y2giLCJmaW5kIiwiZmllbGQiLCJpIiwibmFtZSIsIm1hdGNoQ29weSIsInNwbGljZSIsIm1lcmdlZEZpZWxkIiwicHVzaCJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsV0FBVyxZQUFXO0FBSTdCLFNBQVNDLGdCQUFnQixFQUFFQyxpQkFBaUIsUUFBUSxvQkFBbUI7QUFFdkUsTUFBTUMsa0JBQWtCLENBQUNDLFFBQWlCQztJQUN4QyxNQUFNQyxlQUFlO1dBQUtGLFVBQVUsRUFBRTtLQUFFO0lBRXhDQyxXQUFXRSxPQUFPLENBQUMsQ0FBQ0M7UUFDbEIsSUFBSUMsZUFBZTtRQUVuQixJQUFJUixpQkFBaUJPLFlBQVk7WUFDL0IsTUFBTUUsUUFBUUosYUFBYUssSUFBSSxDQUFDLENBQUNDLE9BQU9DO2dCQUN0QyxJQUFJWixpQkFBaUJXLFVBQVVBLE1BQU1FLElBQUksS0FBS04sVUFBVU0sSUFBSSxFQUFFO29CQUM1REwsZUFBZUk7b0JBQ2YsT0FBTztnQkFDVDtnQkFFQSxPQUFPO1lBQ1Q7WUFFQSxJQUFJSCxPQUFPO2dCQUNULE1BQU1LLFlBQW1CO29CQUFFLEdBQUdMLEtBQUs7Z0JBQUM7Z0JBQ3BDSixhQUFhVSxNQUFNLENBQUNQLGNBQWM7Z0JBRWxDLE1BQU1RLGNBQWNqQixNQUFhUSxXQUFXTztnQkFFNUMsSUFBSWIsa0JBQWtCTSxjQUFjTixrQkFBa0JhLFlBQVk7b0JBQzlERSxZQUFtQ2IsTUFBTSxHQUFHRCxnQkFDNUNZLFVBQVVYLE1BQU0sRUFDaEJJLFVBQVVKLE1BQU07Z0JBRXBCO2dCQUVBRSxhQUFhWSxJQUFJLENBQUNEO1lBQ3BCLE9BQU87Z0JBQ0xYLGFBQWFZLElBQUksQ0FBQ1Y7WUFDcEI7UUFDRjtJQUNGO0lBRUEsT0FBT0Y7QUFDVDtBQUVBLGVBQWVILGdCQUFlIn0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ArrayField, BlockField, CheckboxField, CodeField, DateField, EmailField, JSONField, NumberField, PointField, RadioField, RelationshipField, RelationshipValue, RichTextField, SelectField, TextField, TextareaField, UploadField, Validate } from './config/types.
|
|
1
|
+
import type { ArrayField, BlockField, CheckboxField, CodeField, DateField, EmailField, JSONField, NumberField, PointField, RadioField, RelationshipField, RelationshipValue, RichTextField, SelectField, TextField, TextareaField, UploadField, Validate } from './config/types.js';
|
|
2
2
|
export declare const text: Validate<string | string[], unknown, unknown, TextField>;
|
|
3
3
|
export declare const password: Validate<string, unknown, unknown, TextField>;
|
|
4
4
|
export declare const email: Validate<string, unknown, unknown, EmailField>;
|
|
@@ -25,7 +25,7 @@ declare const _default: {
|
|
|
25
25
|
code: Validate<string, unknown, unknown, CodeField>;
|
|
26
26
|
date: Validate<Date, unknown, unknown, DateField>;
|
|
27
27
|
email: Validate<string, unknown, unknown, EmailField>;
|
|
28
|
-
json: Validate<string, unknown, unknown, Omit<import("./config/types.
|
|
28
|
+
json: Validate<string, unknown, unknown, Omit<import("./config/types.js").FieldBase, "admin"> & {
|
|
29
29
|
admin?: {
|
|
30
30
|
className?: string;
|
|
31
31
|
components?: {
|
|
@@ -33,8 +33,8 @@ declare const _default: {
|
|
|
33
33
|
Field?: import("react").ComponentType<any>;
|
|
34
34
|
Filter?: import("react").ComponentType<any>;
|
|
35
35
|
};
|
|
36
|
-
condition?: import("./config/types.
|
|
37
|
-
description?: import("../exports/types.
|
|
36
|
+
condition?: import("./config/types.js").Condition<any, any>;
|
|
37
|
+
description?: import("../exports/types.js").Description;
|
|
38
38
|
disableBulkEdit?: boolean;
|
|
39
39
|
disabled?: boolean;
|
|
40
40
|
hidden?: boolean;
|
|
@@ -44,8 +44,8 @@ declare const _default: {
|
|
|
44
44
|
width?: string;
|
|
45
45
|
} & {
|
|
46
46
|
components?: {
|
|
47
|
-
Error?: import("react").ComponentType<import("../exports/types.
|
|
48
|
-
Label?: import("react").ComponentType<import("../exports/types.
|
|
47
|
+
Error?: import("react").ComponentType<import("../exports/types.js").ErrorProps>;
|
|
48
|
+
Label?: import("react").ComponentType<import("../exports/types.js").LabelProps>;
|
|
49
49
|
};
|
|
50
50
|
editorOptions?: import("monaco-editor").editor.IStandaloneEditorConstructionOptions;
|
|
51
51
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../src/fields/validations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACb,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,SAAS,EACT,aAAa,EACb,WAAW,EACX,QAAQ,EACT,MAAM,
|
|
1
|
+
{"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../src/fields/validations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EACV,aAAa,EACb,SAAS,EACT,SAAS,EACT,UAAU,EACV,SAAS,EACT,WAAW,EACX,UAAU,EACV,UAAU,EACV,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,WAAW,EACX,SAAS,EACT,aAAa,EACb,WAAW,EACX,QAAQ,EACT,MAAM,mBAAmB,CAAA;AAO1B,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAkDzE,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CA8BlE,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAShE,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CA6BtE,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAS9D,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAavF,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CASvE,CAAA;AAED,eAAO,MAAM,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAkB5D,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,CAOtE,CAAA;AAgCD,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAgC7E,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAKnE,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAKlE,CAAA;AA0HD,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAqBnE,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,QAAQ,CACjC,iBAAiB,EACjB,OAAO,EACP,OAAO,EACP,iBAAiB,CA8ElB,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,CAmCnE,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAYjE,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,QAAQ,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAqB5F,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAED,wBAkBC"}
|
|
@@ -416,4 +416,4 @@ export default {
|
|
|
416
416
|
upload
|
|
417
417
|
};
|
|
418
418
|
|
|
419
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvdmFsaWRhdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEFkYXB0ZXIsIFdoZXJlIH0gZnJvbSAnLi4vZXhwb3J0cy90eXBlcy5kLnRzJ1xuaW1wb3J0IHR5cGUge1xuICBBcnJheUZpZWxkLFxuICBCbG9ja0ZpZWxkLFxuICBDaGVja2JveEZpZWxkLFxuICBDb2RlRmllbGQsXG4gIERhdGVGaWVsZCxcbiAgRW1haWxGaWVsZCxcbiAgSlNPTkZpZWxkLFxuICBOdW1iZXJGaWVsZCxcbiAgUG9pbnRGaWVsZCxcbiAgUmFkaW9GaWVsZCxcbiAgUmVsYXRpb25zaGlwRmllbGQsXG4gIFJlbGF0aW9uc2hpcFZhbHVlLFxuICBSaWNoVGV4dEZpZWxkLFxuICBTZWxlY3RGaWVsZCxcbiAgVGV4dEZpZWxkLFxuICBUZXh0YXJlYUZpZWxkLFxuICBVcGxvYWRGaWVsZCxcbiAgVmFsaWRhdGUsXG59IGZyb20gJy4vY29uZmlnL3R5cGVzLmQudHMnXG5cbmltcG9ydCB7IGdldElEVHlwZSB9IGZyb20gJy4uL3V0aWxpdGllcy9nZXRJRFR5cGUuanMnXG5pbXBvcnQgeyBpc051bWJlciB9IGZyb20gJy4uL3V0aWxpdGllcy9pc051bWJlci5qcydcbmltcG9ydCB7IGlzVmFsaWRJRCB9IGZyb20gJy4uL3V0aWxpdGllcy9pc1ZhbGlkSUQuanMnXG5pbXBvcnQgeyBmaWVsZEFmZmVjdHNEYXRhIH0gZnJvbSAnLi9jb25maWcvdHlwZXMuanMnXG5cbmV4cG9ydCBjb25zdCB0ZXh0OiBWYWxpZGF0ZTxzdHJpbmcgfCBzdHJpbmdbXSwgdW5rbm93biwgdW5rbm93biwgVGV4dEZpZWxkPiA9IChcbiAgdmFsdWUsXG4gIHtcbiAgICBoYXNNYW55LFxuICAgIG1heExlbmd0aDogZmllbGRNYXhMZW5ndGgsXG4gICAgbWF4Um93cyxcbiAgICBtaW5MZW5ndGgsXG4gICAgbWluUm93cyxcbiAgICByZXE6IHtcbiAgICAgIHBheWxvYWQ6IHsgY29uZmlnIH0sXG4gICAgICB0LFxuICAgIH0sXG4gICAgcmVxdWlyZWQsXG4gIH0sXG4pID0+IHtcbiAgbGV0IG1heExlbmd0aDogbnVtYmVyXG5cbiAgaWYgKCFyZXF1aXJlZCkge1xuICAgIGlmICghdmFsdWUpIHJldHVybiB0cnVlXG4gIH1cblxuICBpZiAoaGFzTWFueSA9PT0gdHJ1ZSkge1xuICAgIGNvbnN0IGxlbmd0aFZhbGlkYXRpb25SZXN1bHQgPSB2YWxpZGF0ZUFycmF5TGVuZ3RoKHZhbHVlLCB7IG1heFJvd3MsIG1pblJvd3MsIHJlcXVpcmVkLCB0IH0pXG4gICAgaWYgKHR5cGVvZiBsZW5ndGhWYWxpZGF0aW9uUmVzdWx0ID09PSAnc3RyaW5nJykgcmV0dXJuIGxlbmd0aFZhbGlkYXRpb25SZXN1bHRcbiAgfVxuXG4gIGlmICh0eXBlb2YgY29uZmlnPy5kZWZhdWx0TWF4VGV4dExlbmd0aCA9PT0gJ251bWJlcicpIG1heExlbmd0aCA9IGNvbmZpZy5kZWZhdWx0TWF4VGV4dExlbmd0aFxuICBpZiAodHlwZW9mIGZpZWxkTWF4TGVuZ3RoID09PSAnbnVtYmVyJykgbWF4TGVuZ3RoID0gZmllbGRNYXhMZW5ndGhcblxuICBjb25zdCBzdHJpbmdzVG9WYWxpZGF0ZTogc3RyaW5nW10gPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXVxuXG4gIGZvciAoY29uc3Qgc3RyaW5nVmFsdWUgb2Ygc3RyaW5nc1RvVmFsaWRhdGUpIHtcbiAgICBjb25zdCBsZW5ndGggPSBzdHJpbmdWYWx1ZT8ubGVuZ3RoIHx8IDBcblxuICAgIGlmICh0eXBlb2YgbWF4TGVuZ3RoID09PSAnbnVtYmVyJyAmJiBsZW5ndGggPiBtYXhMZW5ndGgpIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnNob3J0ZXJUaGFuTWF4JywgeyBsYWJlbDogdCgndmFsdWUnKSwgbWF4TGVuZ3RoLCBzdHJpbmdWYWx1ZSB9KVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgbWluTGVuZ3RoID09PSAnbnVtYmVyJyAmJiBsZW5ndGggPCBtaW5MZW5ndGgpIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmxvbmdlclRoYW5NaW4nLCB7IGxhYmVsOiB0KCd2YWx1ZScpLCBtaW5MZW5ndGgsIHN0cmluZ1ZhbHVlIH0pXG4gICAgfVxuICB9XG5cbiAgaWYgKHJlcXVpcmVkKSB7XG4gICAgaWYgKCEodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyB8fCBBcnJheS5pc0FycmF5KHZhbHVlKSkgfHwgdmFsdWU/Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBwYXNzd29yZDogVmFsaWRhdGU8c3RyaW5nLCB1bmtub3duLCB1bmtub3duLCBUZXh0RmllbGQ+ID0gKFxuICB2YWx1ZSxcbiAge1xuICAgIG1heExlbmd0aDogZmllbGRNYXhMZW5ndGgsXG4gICAgbWluTGVuZ3RoLFxuICAgIHJlcToge1xuICAgICAgcGF5bG9hZDogeyBjb25maWcgfSxcbiAgICAgIHQsXG4gICAgfSxcbiAgICByZXF1aXJlZCxcbiAgfSxcbikgPT4ge1xuICBsZXQgbWF4TGVuZ3RoOiBudW1iZXJcblxuICBpZiAodHlwZW9mIGNvbmZpZz8uZGVmYXVsdE1heFRleHRMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBjb25maWcuZGVmYXVsdE1heFRleHRMZW5ndGhcbiAgaWYgKHR5cGVvZiBmaWVsZE1heExlbmd0aCA9PT0gJ251bWJlcicpIG1heExlbmd0aCA9IGZpZWxkTWF4TGVuZ3RoXG5cbiAgaWYgKHZhbHVlICYmIG1heExlbmd0aCAmJiB2YWx1ZS5sZW5ndGggPiBtYXhMZW5ndGgpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpzaG9ydGVyVGhhbk1heCcsIHsgbWF4TGVuZ3RoIH0pXG4gIH1cblxuICBpZiAodmFsdWUgJiYgbWluTGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA8IG1pbkxlbmd0aCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmxvbmdlclRoYW5NaW4nLCB7IG1pbkxlbmd0aCB9KVxuICB9XG5cbiAgaWYgKHJlcXVpcmVkICYmICF2YWx1ZSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBlbWFpbDogVmFsaWRhdGU8c3RyaW5nLCB1bmtub3duLCB1bmtub3duLCBFbWFpbEZpZWxkPiA9IChcbiAgdmFsdWUsXG4gIHsgcmVxOiB7IHQgfSwgcmVxdWlyZWQgfSxcbikgPT4ge1xuICBpZiAoKHZhbHVlICYmICEvXFxTW15cXHNAXSpAXFxTK1xcLlxcUysvLnRlc3QodmFsdWUpKSB8fCAoIXZhbHVlICYmIHJlcXVpcmVkKSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmVtYWlsQWRkcmVzcycpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgdGV4dGFyZWE6IFZhbGlkYXRlPHN0cmluZywgdW5rbm93biwgdW5rbm93biwgVGV4dGFyZWFGaWVsZD4gPSAoXG4gIHZhbHVlLFxuICB7XG4gICAgbWF4TGVuZ3RoOiBmaWVsZE1heExlbmd0aCxcbiAgICBtaW5MZW5ndGgsXG4gICAgcmVxOiB7XG4gICAgICBwYXlsb2FkOiB7IGNvbmZpZyB9LFxuICAgICAgdCxcbiAgICB9LFxuICAgIHJlcXVpcmVkLFxuICB9LFxuKSA9PiB7XG4gIGxldCBtYXhMZW5ndGg6IG51bWJlclxuXG4gIGlmICh0eXBlb2YgY29uZmlnPy5kZWZhdWx0TWF4VGV4dExlbmd0aCA9PT0gJ251bWJlcicpIG1heExlbmd0aCA9IGNvbmZpZy5kZWZhdWx0TWF4VGV4dExlbmd0aFxuICBpZiAodHlwZW9mIGZpZWxkTWF4TGVuZ3RoID09PSAnbnVtYmVyJykgbWF4TGVuZ3RoID0gZmllbGRNYXhMZW5ndGhcbiAgaWYgKHZhbHVlICYmIG1heExlbmd0aCAmJiB2YWx1ZS5sZW5ndGggPiBtYXhMZW5ndGgpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpzaG9ydGVyVGhhbk1heCcsIHsgbWF4TGVuZ3RoIH0pXG4gIH1cblxuICBpZiAodmFsdWUgJiYgbWluTGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA8IG1pbkxlbmd0aCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmxvbmdlclRoYW5NaW4nLCB7IG1pbkxlbmd0aCB9KVxuICB9XG5cbiAgaWYgKHJlcXVpcmVkICYmICF2YWx1ZSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBjb2RlOiBWYWxpZGF0ZTxzdHJpbmcsIHVua25vd24sIHVua25vd24sIENvZGVGaWVsZD4gPSAoXG4gIHZhbHVlLFxuICB7IHJlcTogeyB0IH0sIHJlcXVpcmVkIH0sXG4pID0+IHtcbiAgaWYgKHJlcXVpcmVkICYmIHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QganNvbjogVmFsaWRhdGU8c3RyaW5nLCB1bmtub3duLCB1bmtub3duLCBKU09ORmllbGQgJiB7IGpzb25FcnJvcj86IHN0cmluZyB9PiA9IChcbiAgdmFsdWUsXG4gIHsganNvbkVycm9yLCByZXE6IHsgdCB9LCByZXF1aXJlZCB9LFxuKSA9PiB7XG4gIGlmIChyZXF1aXJlZCAmJiAhdmFsdWUpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICBpZiAoanNvbkVycm9yICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjppbnZhbGlkSW5wdXQnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGNoZWNrYm94OiBWYWxpZGF0ZTxib29sZWFuLCB1bmtub3duLCB1bmtub3duLCBDaGVja2JveEZpZWxkPiA9IChcbiAgdmFsdWUsXG4gIHsgcmVxOiB7IHQgfSwgcmVxdWlyZWQgfSxcbikgPT4ge1xuICBpZiAoKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ2Jvb2xlYW4nKSB8fCAocmVxdWlyZWQgJiYgdHlwZW9mIHZhbHVlICE9PSAnYm9vbGVhbicpKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246dHJ1ZU9yRmFsc2UnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGRhdGU6IFZhbGlkYXRlPERhdGUsIHVua25vd24sIHVua25vd24sIERhdGVGaWVsZD4gPSAoXG4gIHZhbHVlLFxuICB7IHJlcTogeyB0IH0sIHJlcXVpcmVkIH0sXG4pID0+IHtcbiAgaWYgKHZhbHVlICYmICFpc05hTihEYXRlLnBhcnNlKHZhbHVlLnRvU3RyaW5nKCkpKSkge1xuICAgIC8qIGVzbGludC1kaXNhYmxlLWxpbmUgKi9cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgaWYgKHZhbHVlKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bm90VmFsaWREYXRlJywgeyB2YWx1ZSB9KVxuICB9XG5cbiAgaWYgKHJlcXVpcmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IHJpY2hUZXh0OiBWYWxpZGF0ZTxvYmplY3QsIHVua25vd24sIHVua25vd24sIFJpY2hUZXh0RmllbGQ+ID0gYXN5bmMgKFxuICB2YWx1ZSxcbiAgb3B0aW9ucyxcbikgPT4ge1xuICBjb25zdCBlZGl0b3I6IFJpY2hUZXh0QWRhcHRlciA9IG9wdGlvbnM/LmVkaXRvclxuXG4gIHJldHVybiBlZGl0b3IudmFsaWRhdGUodmFsdWUsIG9wdGlvbnMpXG59XG5cbmNvbnN0IHZhbGlkYXRlQXJyYXlMZW5ndGggPSAoXG4gIHZhbHVlLFxuICBvcHRpb25zOiB7XG4gICAgbWF4Um93cz86IG51bWJlclxuICAgIG1pblJvd3M/OiBudW1iZXJcbiAgICByZXF1aXJlZD86IGJvb2xlYW5cbiAgICB0OiAoa2V5OiBzdHJpbmcsIG9wdGlvbnM/OiB7IFtrZXk6IHN0cmluZ106IG51bWJlciB8IHN0cmluZyB9KSA9PiBzdHJpbmdcbiAgfSxcbikgPT4ge1xuICBjb25zdCB7IG1heFJvd3MsIG1pblJvd3MsIHJlcXVpcmVkLCB0IH0gPSBvcHRpb25zXG5cbiAgY29uc3QgYXJyYXlMZW5ndGggPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlLmxlbmd0aCA6IDBcblxuICBpZiAoIXJlcXVpcmVkICYmIGFycmF5TGVuZ3RoID09PSAwKSByZXR1cm4gdHJ1ZVxuXG4gIGlmIChtaW5Sb3dzICYmIGFycmF5TGVuZ3RoIDwgbWluUm93cykge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVzQXRMZWFzdCcsIHsgY291bnQ6IG1pblJvd3MsIGxhYmVsOiB0KCdnZW5lcmFsOnJvd3MnKSB9KVxuICB9XG5cbiAgaWYgKG1heFJvd3MgJiYgYXJyYXlMZW5ndGggPiBtYXhSb3dzKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZXNOb01vcmVUaGFuJywgeyBjb3VudDogbWF4Um93cywgbGFiZWw6IHQoJ2dlbmVyYWw6cm93cycpIH0pXG4gIH1cblxuICBpZiAocmVxdWlyZWQgJiYgIWFycmF5TGVuZ3RoKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZXNBdExlYXN0JywgeyBjb3VudDogMSwgbGFiZWw6IHQoJ2dlbmVyYWw6cm93JykgfSlcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBudW1iZXI6IFZhbGlkYXRlPG51bWJlciB8IG51bWJlcltdLCB1bmtub3duLCB1bmtub3duLCBOdW1iZXJGaWVsZD4gPSAoXG4gIHZhbHVlLFxuICB7IGhhc01hbnksIG1heCwgbWF4Um93cywgbWluLCBtaW5Sb3dzLCByZXE6IHsgdCB9LCByZXF1aXJlZCB9LFxuKSA9PiB7XG4gIGlmIChoYXNNYW55ID09PSB0cnVlKSB7XG4gICAgY29uc3QgbGVuZ3RoVmFsaWRhdGlvblJlc3VsdCA9IHZhbGlkYXRlQXJyYXlMZW5ndGgodmFsdWUsIHsgbWF4Um93cywgbWluUm93cywgcmVxdWlyZWQsIHQgfSlcbiAgICBpZiAodHlwZW9mIGxlbmd0aFZhbGlkYXRpb25SZXN1bHQgPT09ICdzdHJpbmcnKSByZXR1cm4gbGVuZ3RoVmFsaWRhdGlvblJlc3VsdFxuICB9XG5cbiAgaWYgKCF2YWx1ZSAmJiAhaXNOdW1iZXIodmFsdWUpKSB7XG4gICAgLy8gaWYgbm8gdmFsdWUgaXMgcHJlc2VudCwgdmFsaWRhdGUgYmFzZWQgb24gcmVxdWlyZWRcbiAgICBpZiAocmVxdWlyZWQpIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgICBpZiAoIXJlcXVpcmVkKSByZXR1cm4gdHJ1ZVxuICB9XG5cbiAgY29uc3QgbnVtYmVyc1RvVmFsaWRhdGU6IG51bWJlcltdID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV1cblxuICBmb3IgKGNvbnN0IG51bWJlciBvZiBudW1iZXJzVG9WYWxpZGF0ZSkge1xuICAgIGlmICghaXNOdW1iZXIobnVtYmVyKSkgcmV0dXJuIHQoJ3ZhbGlkYXRpb246ZW50ZXJOdW1iZXInKVxuXG4gICAgY29uc3QgbnVtYmVyVmFsdWUgPSBwYXJzZUZsb2F0KG51bWJlciBhcyB1bmtub3duIGFzIHN0cmluZylcblxuICAgIGlmICh0eXBlb2YgbWF4ID09PSAnbnVtYmVyJyAmJiBudW1iZXJWYWx1ZSA+IG1heCkge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246Z3JlYXRlclRoYW5NYXgnLCB7IGxhYmVsOiB0KCdnZW5lcmFsOnZhbHVlJyksIG1heCwgdmFsdWUgfSlcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIG1pbiA9PT0gJ251bWJlcicgJiYgbnVtYmVyVmFsdWUgPCBtaW4pIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmxlc3NUaGFuTWluJywgeyBsYWJlbDogdCgnZ2VuZXJhbDp2YWx1ZScpLCBtaW4sIHZhbHVlIH0pXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGFycmF5OiBWYWxpZGF0ZTx1bmtub3duW10sIHVua25vd24sIHVua25vd24sIEFycmF5RmllbGQ+ID0gKFxuICB2YWx1ZSxcbiAgeyBtYXhSb3dzLCBtaW5Sb3dzLCByZXE6IHsgdCB9LCByZXF1aXJlZCB9LFxuKSA9PiB7XG4gIHJldHVybiB2YWxpZGF0ZUFycmF5TGVuZ3RoKHZhbHVlLCB7IG1heFJvd3MsIG1pblJvd3MsIHJlcXVpcmVkLCB0IH0pXG59XG5cbmV4cG9ydCBjb25zdCBibG9ja3M6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIHVua25vd24sIEJsb2NrRmllbGQ+ID0gKFxuICB2YWx1ZSxcbiAgeyBtYXhSb3dzLCBtaW5Sb3dzLCByZXE6IHsgdCB9LCByZXF1aXJlZCB9LFxuKSA9PiB7XG4gIHJldHVybiB2YWxpZGF0ZUFycmF5TGVuZ3RoKHZhbHVlLCB7IG1heFJvd3MsIG1pblJvd3MsIHJlcXVpcmVkLCB0IH0pXG59XG5cbmNvbnN0IHZhbGlkYXRlRmlsdGVyT3B0aW9uczogVmFsaWRhdGU8XG4gIHVua25vd24sXG4gIHVua25vd24sXG4gIHVua25vd24sXG4gIFJlbGF0aW9uc2hpcEZpZWxkIHwgVXBsb2FkRmllbGRcbj4gPSBhc3luYyAoXG4gIHZhbHVlLFxuICB7IGlkLCBkYXRhLCBmaWx0ZXJPcHRpb25zLCByZWxhdGlvblRvLCByZXEsIHJlcTogeyBwYXlsb2FkLCB0LCB1c2VyIH0sIHNpYmxpbmdEYXRhIH0sXG4pID0+IHtcbiAgaWYgKHR5cGVvZiBmaWx0ZXJPcHRpb25zICE9PSAndW5kZWZpbmVkJyAmJiB2YWx1ZSkge1xuICAgIGNvbnN0IG9wdGlvbnM6IHtcbiAgICAgIFtjb2xsZWN0aW9uOiBzdHJpbmddOiAobnVtYmVyIHwgc3RyaW5nKVtdXG4gICAgfSA9IHt9XG5cbiAgICBjb25zdCBmYWxzZUNvbGxlY3Rpb25zOiBzdHJpbmdbXSA9IFtdXG4gICAgY29uc3QgY29sbGVjdGlvbnMgPSB0eXBlb2YgcmVsYXRpb25UbyA9PT0gJ3N0cmluZycgPyBbcmVsYXRpb25Ub10gOiByZWxhdGlvblRvXG4gICAgY29uc3QgdmFsdWVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV1cblxuICAgIGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgY29sbGVjdGlvbnMubWFwKGFzeW5jIChjb2xsZWN0aW9uKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgbGV0IG9wdGlvbkZpbHRlciA9XG4gICAgICAgICAgICB0eXBlb2YgZmlsdGVyT3B0aW9ucyA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICA/IGF3YWl0IGZpbHRlck9wdGlvbnMoe1xuICAgICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgICAgICAgcmVsYXRpb25UbzogY29sbGVjdGlvbixcbiAgICAgICAgICAgICAgICAgIHNpYmxpbmdEYXRhLFxuICAgICAgICAgICAgICAgICAgdXNlcixcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICA6IGZpbHRlck9wdGlvbnNcblxuICAgICAgICAgIGlmIChvcHRpb25GaWx0ZXIgPT09IHRydWUpIHtcbiAgICAgICAgICAgIG9wdGlvbkZpbHRlciA9IG51bGxcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCB2YWx1ZUlEczogKG51bWJlciB8IHN0cmluZylbXSA9IFtdXG5cbiAgICAgICAgICB2YWx1ZXMuZm9yRWFjaCgodmFsKSA9PiB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgJiYgdmFsPy52YWx1ZSkge1xuICAgICAgICAgICAgICB2YWx1ZUlEcy5wdXNoKHZhbC52YWx1ZSlcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWwgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgICAgIHZhbHVlSURzLnB1c2godmFsKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pXG5cbiAgICAgICAgICBpZiAodmFsdWVJRHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgY29uc3QgZmluZFdoZXJlOiBXaGVyZSA9IHtcbiAgICAgICAgICAgICAgYW5kOiBbeyBpZDogeyBpbjogdmFsdWVJRHMgfSB9XSxcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKG9wdGlvbkZpbHRlciAmJiBvcHRpb25GaWx0ZXIgIT09IHRydWUpIGZpbmRXaGVyZS5hbmQucHVzaChvcHRpb25GaWx0ZXIpXG5cbiAgICAgICAgICAgIGlmIChvcHRpb25GaWx0ZXIgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICAgIGZhbHNlQ29sbGVjdGlvbnMucHVzaChjb2xsZWN0aW9uKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBgcmVxYCBvbWl0dGVkIHRvIHByZXZlbnQgdHJhbnNhY3Rpb24gZXJyb3JzIGZyb20gYWJvcnRpbmcgdGhlIGVudGlyZSB0cmFuc2FjdGlvblxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcGF5bG9hZC5maW5kKHtcbiAgICAgICAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgICAgICAgZGVwdGg6IDAsXG4gICAgICAgICAgICAgIGxpbWl0OiAwLFxuICAgICAgICAgICAgICBwYWdpbmF0aW9uOiBmYWxzZSxcbiAgICAgICAgICAgICAgd2hlcmU6IGZpbmRXaGVyZSxcbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIG9wdGlvbnNbY29sbGVjdGlvbl0gPSByZXN1bHQuZG9jcy5tYXAoKGRvYykgPT4gZG9jLmlkKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvcHRpb25zW2NvbGxlY3Rpb25dID0gW11cbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIHJlcS5wYXlsb2FkLmxvZ2dlci5lcnJvcih7XG4gICAgICAgICAgICBlcnIsXG4gICAgICAgICAgICBtc2c6IGBFcnJvciB2YWxpZGF0aW5nIGZpbHRlciBvcHRpb25zIGZvciBjb2xsZWN0aW9uICR7Y29sbGVjdGlvbn1gLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgb3B0aW9uc1tjb2xsZWN0aW9uXSA9IFtdXG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgIClcblxuICAgIGNvbnN0IGludmFsaWRSZWxhdGlvbnNoaXBzID0gdmFsdWVzLmZpbHRlcigodmFsKSA9PiB7XG4gICAgICBsZXQgY29sbGVjdGlvbjogc3RyaW5nXG4gICAgICBsZXQgcmVxdWVzdGVkSUQ6IG51bWJlciB8IHN0cmluZ1xuXG4gICAgICBpZiAodHlwZW9mIHJlbGF0aW9uVG8gPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIGNvbGxlY3Rpb24gPSByZWxhdGlvblRvXG5cbiAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiB2YWwgPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgcmVxdWVzdGVkSUQgPSB2YWxcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShyZWxhdGlvblRvKSAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0JyAmJiB2YWw/LnJlbGF0aW9uVG8pIHtcbiAgICAgICAgY29sbGVjdGlvbiA9IHZhbC5yZWxhdGlvblRvXG4gICAgICAgIHJlcXVlc3RlZElEID0gdmFsLnZhbHVlXG4gICAgICB9XG5cbiAgICAgIGlmIChmYWxzZUNvbGxlY3Rpb25zLmZpbmQoKHNsdWcpID0+IHJlbGF0aW9uVG8gPT09IHNsdWcpKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvcHRpb25zW2NvbGxlY3Rpb25dLmluZGV4T2YocmVxdWVzdGVkSUQpID09PSAtMVxuICAgIH0pXG5cbiAgICBpZiAoaW52YWxpZFJlbGF0aW9uc2hpcHMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIGludmFsaWRSZWxhdGlvbnNoaXBzLnJlZHVjZSgoZXJyLCBpbnZhbGlkLCBpKSA9PiB7XG4gICAgICAgIHJldHVybiBgJHtlcnJ9ICR7SlNPTi5zdHJpbmdpZnkoaW52YWxpZCl9JHtcbiAgICAgICAgICBpbnZhbGlkUmVsYXRpb25zaGlwcy5sZW5ndGggPT09IGkgKyAxID8gJywnIDogJydcbiAgICAgICAgfSBgXG4gICAgICB9LCB0KCd2YWxpZGF0aW9uOmludmFsaWRTZWxlY3Rpb25zJykpIGFzIHN0cmluZ1xuICAgIH1cblxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgdXBsb2FkOiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCB1bmtub3duLCBVcGxvYWRGaWVsZD4gPSAoXG4gIHZhbHVlOiBzdHJpbmcsXG4gIG9wdGlvbnMsXG4pID0+IHtcbiAgaWYgKCF2YWx1ZSAmJiBvcHRpb25zLnJlcXVpcmVkKSB7XG4gICAgcmV0dXJuIG9wdGlvbnM/LnJlcT8udCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICBpZiAodHlwZW9mIHZhbHVlICE9PSAndW5kZWZpbmVkJyAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IGlkRmllbGQgPSBvcHRpb25zPy5yZXE/LnBheWxvYWQ/LmNvbmZpZz8uY29sbGVjdGlvbnNcbiAgICAgID8uZmluZCgoY29sbGVjdGlvbikgPT4gY29sbGVjdGlvbi5zbHVnID09PSBvcHRpb25zLnJlbGF0aW9uVG8pXG4gICAgICA/LmZpZWxkcz8uZmluZCgoZmllbGQpID0+IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcpXG5cbiAgICBjb25zdCB0eXBlID0gZ2V0SURUeXBlKGlkRmllbGQsIG9wdGlvbnM/LnJlcT8ucGF5bG9hZD8uZGI/LmRlZmF1bHRJRFR5cGUpXG5cbiAgICBpZiAoIWlzVmFsaWRJRCh2YWx1ZSwgdHlwZSkpIHtcbiAgICAgIHJldHVybiBvcHRpb25zLnJlcT8udCgndmFsaWRhdGlvbjp2YWxpZFVwbG9hZElEJylcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmFsaWRhdGVGaWx0ZXJPcHRpb25zKHZhbHVlLCBvcHRpb25zKVxufVxuXG5leHBvcnQgY29uc3QgcmVsYXRpb25zaGlwOiBWYWxpZGF0ZTxcbiAgUmVsYXRpb25zaGlwVmFsdWUsXG4gIHVua25vd24sXG4gIHVua25vd24sXG4gIFJlbGF0aW9uc2hpcEZpZWxkXG4+ID0gYXN5bmMgKHZhbHVlLCBvcHRpb25zKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBtYXhSb3dzLFxuICAgIG1pblJvd3MsXG4gICAgcmVsYXRpb25UbyxcbiAgICByZXE6IHtcbiAgICAgIHBheWxvYWQsXG4gICAgICBwYXlsb2FkOiB7IGNvbmZpZyB9LFxuICAgICAgdCxcbiAgICB9LFxuICAgIHJlcXVpcmVkLFxuICB9ID0gb3B0aW9uc1xuXG4gIGlmICgoIXZhbHVlIHx8IChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPT09IDApKSAmJiByZXF1aXJlZCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSAmJiB2YWx1ZS5sZW5ndGggPiAwKSB7XG4gICAgaWYgKG1pblJvd3MgJiYgdmFsdWUubGVuZ3RoIDwgbWluUm93cykge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bGVzc1RoYW5NaW4nLCB7XG4gICAgICAgIGxhYmVsOiB0KCdnZW5lcmFsOnJvd3MnKSxcbiAgICAgICAgbWluOiBtaW5Sb3dzLFxuICAgICAgICB2YWx1ZTogdmFsdWUubGVuZ3RoLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAobWF4Um93cyAmJiB2YWx1ZS5sZW5ndGggPiBtYXhSb3dzKSB7XG4gICAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpncmVhdGVyVGhhbk1heCcsIHtcbiAgICAgICAgbGFiZWw6IHQoJ2dlbmVyYWw6cm93cycpLFxuICAgICAgICBtYXg6IG1heFJvd3MsXG4gICAgICAgIHZhbHVlOiB2YWx1ZS5sZW5ndGgsXG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgY29uc3QgdmFsdWVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZSA6IFt2YWx1ZV1cblxuICAgIGNvbnN0IGludmFsaWRSZWxhdGlvbnNoaXBzID0gdmFsdWVzLmZpbHRlcigodmFsKSA9PiB7XG4gICAgICBsZXQgY29sbGVjdGlvblNsdWc6IHN0cmluZ1xuICAgICAgbGV0IHJlcXVlc3RlZElEXG5cbiAgICAgIGlmICh0eXBlb2YgcmVsYXRpb25UbyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29sbGVjdGlvblNsdWcgPSByZWxhdGlvblRvXG5cbiAgICAgICAgLy8gY3VzdG9tIGlkXG4gICAgICAgIGlmICh2YWwpIHtcbiAgICAgICAgICByZXF1ZXN0ZWRJRCA9IHZhbFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlbGF0aW9uVG8pICYmIHR5cGVvZiB2YWwgPT09ICdvYmplY3QnICYmIHZhbD8ucmVsYXRpb25Ubykge1xuICAgICAgICBjb2xsZWN0aW9uU2x1ZyA9IHZhbC5yZWxhdGlvblRvXG4gICAgICAgIHJlcXVlc3RlZElEID0gdmFsLnZhbHVlXG4gICAgICB9XG5cbiAgICAgIGlmIChyZXF1ZXN0ZWRJRCA9PT0gbnVsbCkgcmV0dXJuIGZhbHNlXG5cbiAgICAgIGNvbnN0IGlkRmllbGQgPSBjb25maWc/LmNvbGxlY3Rpb25zXG4gICAgICAgID8uZmluZCgoY29sbGVjdGlvbikgPT4gY29sbGVjdGlvbi5zbHVnID09PSBjb2xsZWN0aW9uU2x1ZylcbiAgICAgICAgPy5maWVsZHM/LmZpbmQoKGZpZWxkKSA9PiBmaWVsZEFmZmVjdHNEYXRhKGZpZWxkKSAmJiBmaWVsZC5uYW1lID09PSAnaWQnKVxuXG4gICAgICBjb25zdCB0eXBlID0gZ2V0SURUeXBlKGlkRmllbGQsIHBheWxvYWQ/LmRiPy5kZWZhdWx0SURUeXBlKVxuXG4gICAgICByZXR1cm4gIWlzVmFsaWRJRChyZXF1ZXN0ZWRJRCwgdHlwZSlcbiAgICB9KVxuXG4gICAgaWYgKGludmFsaWRSZWxhdGlvbnNoaXBzLmxlbmd0aCA+IDApIHtcbiAgICAgIHJldHVybiBgVGhpcyByZWxhdGlvbnNoaXAgZmllbGQgaGFzIHRoZSBmb2xsb3dpbmcgaW52YWxpZCByZWxhdGlvbnNoaXBzOiAke2ludmFsaWRSZWxhdGlvbnNoaXBzXG4gICAgICAgIC5tYXAoKGVyciwgaW52YWxpZCkgPT4ge1xuICAgICAgICAgIHJldHVybiBgJHtlcnJ9ICR7SlNPTi5zdHJpbmdpZnkoaW52YWxpZCl9YFxuICAgICAgICB9KVxuICAgICAgICAuam9pbignLCAnKX1gXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHZhbGlkYXRlRmlsdGVyT3B0aW9ucyh2YWx1ZSwgb3B0aW9ucylcbn1cblxuZXhwb3J0IGNvbnN0IHNlbGVjdDogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgdW5rbm93biwgU2VsZWN0RmllbGQ+ID0gKFxuICB2YWx1ZSxcbiAgeyBoYXNNYW55LCBvcHRpb25zLCByZXE6IHsgdCB9LCByZXF1aXJlZCB9LFxuKSA9PiB7XG4gIGlmIChcbiAgICBBcnJheS5pc0FycmF5KHZhbHVlKSAmJlxuICAgIHZhbHVlLnNvbWUoXG4gICAgICAoaW5wdXQpID0+XG4gICAgICAgICFvcHRpb25zLnNvbWUoXG4gICAgICAgICAgKG9wdGlvbikgPT4gb3B0aW9uID09PSBpbnB1dCB8fCAodHlwZW9mIG9wdGlvbiAhPT0gJ3N0cmluZycgJiYgb3B0aW9uPy52YWx1ZSA9PT0gaW5wdXQpLFxuICAgICAgICApLFxuICAgIClcbiAgKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246aW52YWxpZFNlbGVjdGlvbicpXG4gIH1cblxuICBpZiAoXG4gICAgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyAmJlxuICAgICFvcHRpb25zLnNvbWUoXG4gICAgICAob3B0aW9uKSA9PiBvcHRpb24gPT09IHZhbHVlIHx8ICh0eXBlb2Ygb3B0aW9uICE9PSAnc3RyaW5nJyAmJiBvcHRpb24udmFsdWUgPT09IHZhbHVlKSxcbiAgICApXG4gICkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmludmFsaWRTZWxlY3Rpb24nKVxuICB9XG5cbiAgaWYgKFxuICAgIHJlcXVpcmVkICYmXG4gICAgKHR5cGVvZiB2YWx1ZSA9PT0gJ3VuZGVmaW5lZCcgfHxcbiAgICAgIHZhbHVlID09PSBudWxsIHx8XG4gICAgICAoaGFzTWFueSAmJiBBcnJheS5pc0FycmF5KHZhbHVlKSAmJiAodmFsdWUgYXMgW10pPy5sZW5ndGggPT09IDApKVxuICApIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgcmFkaW86IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIHVua25vd24sIFJhZGlvRmllbGQ+ID0gKFxuICB2YWx1ZSxcbiAgeyBvcHRpb25zLCByZXE6IHsgdCB9LCByZXF1aXJlZCB9LFxuKSA9PiB7XG4gIGlmICh2YWx1ZSkge1xuICAgIGNvbnN0IHZhbHVlTWF0Y2hlc09wdGlvbiA9IG9wdGlvbnMuc29tZShcbiAgICAgIChvcHRpb24pID0+IG9wdGlvbiA9PT0gdmFsdWUgfHwgKHR5cGVvZiBvcHRpb24gIT09ICdzdHJpbmcnICYmIG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpLFxuICAgIClcbiAgICByZXR1cm4gdmFsdWVNYXRjaGVzT3B0aW9uIHx8IHQoJ3ZhbGlkYXRpb246aW52YWxpZFNlbGVjdGlvbicpXG4gIH1cblxuICByZXR1cm4gcmVxdWlyZWQgPyB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJykgOiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBwb2ludDogVmFsaWRhdGU8W251bWJlciB8IHN0cmluZywgbnVtYmVyIHwgc3RyaW5nXSwgdW5rbm93biwgdW5rbm93biwgUG9pbnRGaWVsZD4gPSAoXG4gIHZhbHVlID0gWycnLCAnJ10sXG4gIHsgcmVxOiB7IHQgfSwgcmVxdWlyZWQgfSxcbikgPT4ge1xuICBjb25zdCBsbmcgPSBwYXJzZUZsb2F0KFN0cmluZyh2YWx1ZVswXSkpXG4gIGNvbnN0IGxhdCA9IHBhcnNlRmxvYXQoU3RyaW5nKHZhbHVlWzFdKSlcbiAgaWYgKFxuICAgIHJlcXVpcmVkICYmXG4gICAgKCh2YWx1ZVswXSAmJiB2YWx1ZVsxXSAmJiB0eXBlb2YgbG5nICE9PSAnbnVtYmVyJyAmJiB0eXBlb2YgbGF0ICE9PSAnbnVtYmVyJykgfHxcbiAgICAgIE51bWJlci5pc05hTihsbmcpIHx8XG4gICAgICBOdW1iZXIuaXNOYU4obGF0KSB8fFxuICAgICAgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCAhPT0gMikpXG4gICkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVzVHdvTnVtYmVycycpXG4gIH1cblxuICBpZiAoKHZhbHVlWzFdICYmIE51bWJlci5pc05hTihsbmcpKSB8fCAodmFsdWVbMF0gJiYgTnVtYmVyLmlzTmFOKGxhdCkpKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246aW52YWxpZElucHV0JylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgYXJyYXksXG4gIGJsb2NrcyxcbiAgY2hlY2tib3gsXG4gIGNvZGUsXG4gIGRhdGUsXG4gIGVtYWlsLFxuICBqc29uLFxuICBudW1iZXIsXG4gIHBhc3N3b3JkLFxuICBwb2ludCxcbiAgcmFkaW8sXG4gIHJlbGF0aW9uc2hpcCxcbiAgcmljaFRleHQsXG4gIHNlbGVjdCxcbiAgdGV4dCxcbiAgdGV4dGFyZWEsXG4gIHVwbG9hZCxcbn1cbiJdLCJuYW1lcyI6WyJnZXRJRFR5cGUiLCJpc051bWJlciIsImlzVmFsaWRJRCIsImZpZWxkQWZmZWN0c0RhdGEiLCJ0ZXh0IiwidmFsdWUiLCJoYXNNYW55IiwibWF4TGVuZ3RoIiwiZmllbGRNYXhMZW5ndGgiLCJtYXhSb3dzIiwibWluTGVuZ3RoIiwibWluUm93cyIsInJlcSIsInBheWxvYWQiLCJjb25maWciLCJ0IiwicmVxdWlyZWQiLCJsZW5ndGhWYWxpZGF0aW9uUmVzdWx0IiwidmFsaWRhdGVBcnJheUxlbmd0aCIsImRlZmF1bHRNYXhUZXh0TGVuZ3RoIiwic3RyaW5nc1RvVmFsaWRhdGUiLCJBcnJheSIsImlzQXJyYXkiLCJzdHJpbmdWYWx1ZSIsImxlbmd0aCIsImxhYmVsIiwicGFzc3dvcmQiLCJlbWFpbCIsInRlc3QiLCJ0ZXh0YXJlYSIsImNvZGUiLCJ1bmRlZmluZWQiLCJqc29uIiwianNvbkVycm9yIiwiY2hlY2tib3giLCJkYXRlIiwiaXNOYU4iLCJEYXRlIiwicGFyc2UiLCJ0b1N0cmluZyIsInJpY2hUZXh0Iiwib3B0aW9ucyIsImVkaXRvciIsInZhbGlkYXRlIiwiYXJyYXlMZW5ndGgiLCJjb3VudCIsIm51bWJlciIsIm1heCIsIm1pbiIsIm51bWJlcnNUb1ZhbGlkYXRlIiwibnVtYmVyVmFsdWUiLCJwYXJzZUZsb2F0IiwiYXJyYXkiLCJibG9ja3MiLCJ2YWxpZGF0ZUZpbHRlck9wdGlvbnMiLCJpZCIsImRhdGEiLCJmaWx0ZXJPcHRpb25zIiwicmVsYXRpb25UbyIsInVzZXIiLCJzaWJsaW5nRGF0YSIsImZhbHNlQ29sbGVjdGlvbnMiLCJjb2xsZWN0aW9ucyIsInZhbHVlcyIsIlByb21pc2UiLCJhbGwiLCJtYXAiLCJjb2xsZWN0aW9uIiwib3B0aW9uRmlsdGVyIiwidmFsdWVJRHMiLCJmb3JFYWNoIiwidmFsIiwicHVzaCIsImZpbmRXaGVyZSIsImFuZCIsImluIiwicmVzdWx0IiwiZmluZCIsImRlcHRoIiwibGltaXQiLCJwYWdpbmF0aW9uIiwid2hlcmUiLCJkb2NzIiwiZG9jIiwiZXJyIiwibG9nZ2VyIiwiZXJyb3IiLCJtc2ciLCJpbnZhbGlkUmVsYXRpb25zaGlwcyIsImZpbHRlciIsInJlcXVlc3RlZElEIiwic2x1ZyIsImluZGV4T2YiLCJyZWR1Y2UiLCJpbnZhbGlkIiwiaSIsIkpTT04iLCJzdHJpbmdpZnkiLCJ1cGxvYWQiLCJpZEZpZWxkIiwiZmllbGRzIiwiZmllbGQiLCJuYW1lIiwidHlwZSIsImRiIiwiZGVmYXVsdElEVHlwZSIsInJlbGF0aW9uc2hpcCIsImNvbGxlY3Rpb25TbHVnIiwiam9pbiIsInNlbGVjdCIsInNvbWUiLCJpbnB1dCIsIm9wdGlvbiIsInJhZGlvIiwidmFsdWVNYXRjaGVzT3B0aW9uIiwicG9pbnQiLCJsbmciLCJTdHJpbmciLCJsYXQiLCJOdW1iZXIiXSwibWFwcGluZ3MiOiJBQXNCQSxTQUFTQSxTQUFTLFFBQVEsNEJBQTJCO0FBQ3JELFNBQVNDLFFBQVEsUUFBUSwyQkFBMEI7QUFDbkQsU0FBU0MsU0FBUyxRQUFRLDRCQUEyQjtBQUNyRCxTQUFTQyxnQkFBZ0IsUUFBUSxvQkFBbUI7QUFFcEQsT0FBTyxNQUFNQyxPQUFpRSxDQUM1RUMsT0FDQSxFQUNFQyxPQUFPLEVBQ1BDLFdBQVdDLGNBQWMsRUFDekJDLE9BQU8sRUFDUEMsU0FBUyxFQUNUQyxPQUFPLEVBQ1BDLEtBQUssRUFDSEMsU0FBUyxFQUFFQyxNQUFNLEVBQUUsRUFDbkJDLENBQUMsRUFDRixFQUNEQyxRQUFRLEVBQ1Q7SUFFRCxJQUFJVDtJQUVKLElBQUksQ0FBQ1MsVUFBVTtRQUNiLElBQUksQ0FBQ1gsT0FBTyxPQUFPO0lBQ3JCO0lBRUEsSUFBSUMsWUFBWSxNQUFNO1FBQ3BCLE1BQU1XLHlCQUF5QkMsb0JBQW9CYixPQUFPO1lBQUVJO1lBQVNFO1lBQVNLO1lBQVVEO1FBQUU7UUFDMUYsSUFBSSxPQUFPRSwyQkFBMkIsVUFBVSxPQUFPQTtJQUN6RDtJ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
|
|
419
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvdmFsaWRhdGlvbnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEFkYXB0ZXIsIFdoZXJlIH0gZnJvbSAnLi4vZXhwb3J0cy90eXBlcy5qcydcbmltcG9ydCB0eXBlIHtcbiAgQXJyYXlGaWVsZCxcbiAgQmxvY2tGaWVsZCxcbiAgQ2hlY2tib3hGaWVsZCxcbiAgQ29kZUZpZWxkLFxuICBEYXRlRmllbGQsXG4gIEVtYWlsRmllbGQsXG4gIEpTT05GaWVsZCxcbiAgTnVtYmVyRmllbGQsXG4gIFBvaW50RmllbGQsXG4gIFJhZGlvRmllbGQsXG4gIFJlbGF0aW9uc2hpcEZpZWxkLFxuICBSZWxhdGlvbnNoaXBWYWx1ZSxcbiAgUmljaFRleHRGaWVsZCxcbiAgU2VsZWN0RmllbGQsXG4gIFRleHRGaWVsZCxcbiAgVGV4dGFyZWFGaWVsZCxcbiAgVXBsb2FkRmllbGQsXG4gIFZhbGlkYXRlLFxufSBmcm9tICcuL2NvbmZpZy90eXBlcy5qcydcblxuaW1wb3J0IHsgZ2V0SURUeXBlIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2dldElEVHlwZS5qcydcbmltcG9ydCB7IGlzTnVtYmVyIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2lzTnVtYmVyLmpzJ1xuaW1wb3J0IHsgaXNWYWxpZElEIH0gZnJvbSAnLi4vdXRpbGl0aWVzL2lzVmFsaWRJRC5qcydcbmltcG9ydCB7IGZpZWxkQWZmZWN0c0RhdGEgfSBmcm9tICcuL2NvbmZpZy90eXBlcy5qcydcblxuZXhwb3J0IGNvbnN0IHRleHQ6IFZhbGlkYXRlPHN0cmluZyB8IHN0cmluZ1tdLCB1bmtub3duLCB1bmtub3duLCBUZXh0RmllbGQ+ID0gKFxuICB2YWx1ZSxcbiAge1xuICAgIGhhc01hbnksXG4gICAgbWF4TGVuZ3RoOiBmaWVsZE1heExlbmd0aCxcbiAgICBtYXhSb3dzLFxuICAgIG1pbkxlbmd0aCxcbiAgICBtaW5Sb3dzLFxuICAgIHJlcToge1xuICAgICAgcGF5bG9hZDogeyBjb25maWcgfSxcbiAgICAgIHQsXG4gICAgfSxcbiAgICByZXF1aXJlZCxcbiAgfSxcbikgPT4ge1xuICBsZXQgbWF4TGVuZ3RoOiBudW1iZXJcblxuICBpZiAoIXJlcXVpcmVkKSB7XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuIHRydWVcbiAgfVxuXG4gIGlmIChoYXNNYW55ID09PSB0cnVlKSB7XG4gICAgY29uc3QgbGVuZ3RoVmFsaWRhdGlvblJlc3VsdCA9IHZhbGlkYXRlQXJyYXlMZW5ndGgodmFsdWUsIHsgbWF4Um93cywgbWluUm93cywgcmVxdWlyZWQsIHQgfSlcbiAgICBpZiAodHlwZW9mIGxlbmd0aFZhbGlkYXRpb25SZXN1bHQgPT09ICdzdHJpbmcnKSByZXR1cm4gbGVuZ3RoVmFsaWRhdGlvblJlc3VsdFxuICB9XG5cbiAgaWYgKHR5cGVvZiBjb25maWc/LmRlZmF1bHRNYXhUZXh0TGVuZ3RoID09PSAnbnVtYmVyJykgbWF4TGVuZ3RoID0gY29uZmlnLmRlZmF1bHRNYXhUZXh0TGVuZ3RoXG4gIGlmICh0eXBlb2YgZmllbGRNYXhMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBmaWVsZE1heExlbmd0aFxuXG4gIGNvbnN0IHN0cmluZ3NUb1ZhbGlkYXRlOiBzdHJpbmdbXSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUgOiBbdmFsdWVdXG5cbiAgZm9yIChjb25zdCBzdHJpbmdWYWx1ZSBvZiBzdHJpbmdzVG9WYWxpZGF0ZSkge1xuICAgIGNvbnN0IGxlbmd0aCA9IHN0cmluZ1ZhbHVlPy5sZW5ndGggfHwgMFxuXG4gICAgaWYgKHR5cGVvZiBtYXhMZW5ndGggPT09ICdudW1iZXInICYmIGxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246c2hvcnRlclRoYW5NYXgnLCB7IGxhYmVsOiB0KCd2YWx1ZScpLCBtYXhMZW5ndGgsIHN0cmluZ1ZhbHVlIH0pXG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBtaW5MZW5ndGggPT09ICdudW1iZXInICYmIGxlbmd0aCA8IG1pbkxlbmd0aCkge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bG9uZ2VyVGhhbk1pbicsIHsgbGFiZWw6IHQoJ3ZhbHVlJyksIG1pbkxlbmd0aCwgc3RyaW5nVmFsdWUgfSlcbiAgICB9XG4gIH1cblxuICBpZiAocmVxdWlyZWQpIHtcbiAgICBpZiAoISh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnIHx8IEFycmF5LmlzQXJyYXkodmFsdWUpKSB8fCB2YWx1ZT8ubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IHBhc3N3b3JkOiBWYWxpZGF0ZTxzdHJpbmcsIHVua25vd24sIHVua25vd24sIFRleHRGaWVsZD4gPSAoXG4gIHZhbHVlLFxuICB7XG4gICAgbWF4TGVuZ3RoOiBmaWVsZE1heExlbmd0aCxcbiAgICBtaW5MZW5ndGgsXG4gICAgcmVxOiB7XG4gICAgICBwYXlsb2FkOiB7IGNvbmZpZyB9LFxuICAgICAgdCxcbiAgICB9LFxuICAgIHJlcXVpcmVkLFxuICB9LFxuKSA9PiB7XG4gIGxldCBtYXhMZW5ndGg6IG51bWJlclxuXG4gIGlmICh0eXBlb2YgY29uZmlnPy5kZWZhdWx0TWF4VGV4dExlbmd0aCA9PT0gJ251bWJlcicpIG1heExlbmd0aCA9IGNvbmZpZy5kZWZhdWx0TWF4VGV4dExlbmd0aFxuICBpZiAodHlwZW9mIGZpZWxkTWF4TGVuZ3RoID09PSAnbnVtYmVyJykgbWF4TGVuZ3RoID0gZmllbGRNYXhMZW5ndGhcblxuICBpZiAodmFsdWUgJiYgbWF4TGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnNob3J0ZXJUaGFuTWF4JywgeyBtYXhMZW5ndGggfSlcbiAgfVxuXG4gIGlmICh2YWx1ZSAmJiBtaW5MZW5ndGggJiYgdmFsdWUubGVuZ3RoIDwgbWluTGVuZ3RoKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bG9uZ2VyVGhhbk1pbicsIHsgbWluTGVuZ3RoIH0pXG4gIH1cblxuICBpZiAocmVxdWlyZWQgJiYgIXZhbHVlKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGVtYWlsOiBWYWxpZGF0ZTxzdHJpbmcsIHVua25vd24sIHVua25vd24sIEVtYWlsRmllbGQ+ID0gKFxuICB2YWx1ZSxcbiAgeyByZXE6IHsgdCB9LCByZXF1aXJlZCB9LFxuKSA9PiB7XG4gIGlmICgodmFsdWUgJiYgIS9cXFNbXlxcc0BdKkBcXFMrXFwuXFxTKy8udGVzdCh2YWx1ZSkpIHx8ICghdmFsdWUgJiYgcmVxdWlyZWQpKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246ZW1haWxBZGRyZXNzJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCB0ZXh0YXJlYTogVmFsaWRhdGU8c3RyaW5nLCB1bmtub3duLCB1bmtub3duLCBUZXh0YXJlYUZpZWxkPiA9IChcbiAgdmFsdWUsXG4gIHtcbiAgICBtYXhMZW5ndGg6IGZpZWxkTWF4TGVuZ3RoLFxuICAgIG1pbkxlbmd0aCxcbiAgICByZXE6IHtcbiAgICAgIHBheWxvYWQ6IHsgY29uZmlnIH0sXG4gICAgICB0LFxuICAgIH0sXG4gICAgcmVxdWlyZWQsXG4gIH0sXG4pID0+IHtcbiAgbGV0IG1heExlbmd0aDogbnVtYmVyXG5cbiAgaWYgKHR5cGVvZiBjb25maWc/LmRlZmF1bHRNYXhUZXh0TGVuZ3RoID09PSAnbnVtYmVyJykgbWF4TGVuZ3RoID0gY29uZmlnLmRlZmF1bHRNYXhUZXh0TGVuZ3RoXG4gIGlmICh0eXBlb2YgZmllbGRNYXhMZW5ndGggPT09ICdudW1iZXInKSBtYXhMZW5ndGggPSBmaWVsZE1heExlbmd0aFxuICBpZiAodmFsdWUgJiYgbWF4TGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA+IG1heExlbmd0aCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnNob3J0ZXJUaGFuTWF4JywgeyBtYXhMZW5ndGggfSlcbiAgfVxuXG4gIGlmICh2YWx1ZSAmJiBtaW5MZW5ndGggJiYgdmFsdWUubGVuZ3RoIDwgbWluTGVuZ3RoKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bG9uZ2VyVGhhbk1pbicsIHsgbWluTGVuZ3RoIH0pXG4gIH1cblxuICBpZiAocmVxdWlyZWQgJiYgIXZhbHVlKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IGNvZGU6IFZhbGlkYXRlPHN0cmluZywgdW5rbm93biwgdW5rbm93biwgQ29kZUZpZWxkPiA9IChcbiAgdmFsdWUsXG4gIHsgcmVxOiB7IHQgfSwgcmVxdWlyZWQgfSxcbikgPT4ge1xuICBpZiAocmVxdWlyZWQgJiYgdmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCBqc29uOiBWYWxpZGF0ZTxzdHJpbmcsIHVua25vd24sIHVua25vd24sIEpTT05GaWVsZCAmIHsganNvbkVycm9yPzogc3RyaW5nIH0+ID0gKFxuICB2YWx1ZSxcbiAgeyBqc29uRXJyb3IsIHJlcTogeyB0IH0sIHJlcXVpcmVkIH0sXG4pID0+IHtcbiAgaWYgKHJlcXVpcmVkICYmICF2YWx1ZSkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIGlmIChqc29uRXJyb3IgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmludmFsaWRJbnB1dCcpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgY2hlY2tib3g6IFZhbGlkYXRlPGJvb2xlYW4sIHVua25vd24sIHVua25vd24sIENoZWNrYm94RmllbGQ+ID0gKFxuICB2YWx1ZSxcbiAgeyByZXE6IHsgdCB9LCByZXF1aXJlZCB9LFxuKSA9PiB7XG4gIGlmICgodmFsdWUgJiYgdHlwZW9mIHZhbHVlICE9PSAnYm9vbGVhbicpIHx8IChyZXF1aXJlZCAmJiB0eXBlb2YgdmFsdWUgIT09ICdib29sZWFuJykpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjp0cnVlT3JGYWxzZScpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgZGF0ZTogVmFsaWRhdGU8RGF0ZSwgdW5rbm93biwgdW5rbm93biwgRGF0ZUZpZWxkPiA9IChcbiAgdmFsdWUsXG4gIHsgcmVxOiB7IHQgfSwgcmVxdWlyZWQgfSxcbikgPT4ge1xuICBpZiAodmFsdWUgJiYgIWlzTmFOKERhdGUucGFyc2UodmFsdWUudG9TdHJpbmcoKSkpKSB7XG4gICAgLyogZXNsaW50LWRpc2FibGUtbGluZSAqL1xuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICBpZiAodmFsdWUpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpub3RWYWxpZERhdGUnLCB7IHZhbHVlIH0pXG4gIH1cblxuICBpZiAocmVxdWlyZWQpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgcmljaFRleHQ6IFZhbGlkYXRlPG9iamVjdCwgdW5rbm93biwgdW5rbm93biwgUmljaFRleHRGaWVsZD4gPSBhc3luYyAoXG4gIHZhbHVlLFxuICBvcHRpb25zLFxuKSA9PiB7XG4gIGNvbnN0IGVkaXRvcjogUmljaFRleHRBZGFwdGVyID0gb3B0aW9ucz8uZWRpdG9yXG5cbiAgcmV0dXJuIGVkaXRvci52YWxpZGF0ZSh2YWx1ZSwgb3B0aW9ucylcbn1cblxuY29uc3QgdmFsaWRhdGVBcnJheUxlbmd0aCA9IChcbiAgdmFsdWUsXG4gIG9wdGlvbnM6IHtcbiAgICBtYXhSb3dzPzogbnVtYmVyXG4gICAgbWluUm93cz86IG51bWJlclxuICAgIHJlcXVpcmVkPzogYm9vbGVhblxuICAgIHQ6IChrZXk6IHN0cmluZywgb3B0aW9ucz86IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIHwgc3RyaW5nIH0pID0+IHN0cmluZ1xuICB9LFxuKSA9PiB7XG4gIGNvbnN0IHsgbWF4Um93cywgbWluUm93cywgcmVxdWlyZWQsIHQgfSA9IG9wdGlvbnNcblxuICBjb25zdCBhcnJheUxlbmd0aCA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUubGVuZ3RoIDogMFxuXG4gIGlmICghcmVxdWlyZWQgJiYgYXJyYXlMZW5ndGggPT09IDApIHJldHVybiB0cnVlXG5cbiAgaWYgKG1pblJvd3MgJiYgYXJyYXlMZW5ndGggPCBtaW5Sb3dzKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZXNBdExlYXN0JywgeyBjb3VudDogbWluUm93cywgbGFiZWw6IHQoJ2dlbmVyYWw6cm93cycpIH0pXG4gIH1cblxuICBpZiAobWF4Um93cyAmJiBhcnJheUxlbmd0aCA+IG1heFJvd3MpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc05vTW9yZVRoYW4nLCB7IGNvdW50OiBtYXhSb3dzLCBsYWJlbDogdCgnZ2VuZXJhbDpyb3dzJykgfSlcbiAgfVxuXG4gIGlmIChyZXF1aXJlZCAmJiAhYXJyYXlMZW5ndGgpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpyZXF1aXJlc0F0TGVhc3QnLCB7IGNvdW50OiAxLCBsYWJlbDogdCgnZ2VuZXJhbDpyb3cnKSB9KVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IG51bWJlcjogVmFsaWRhdGU8bnVtYmVyIHwgbnVtYmVyW10sIHVua25vd24sIHVua25vd24sIE51bWJlckZpZWxkPiA9IChcbiAgdmFsdWUsXG4gIHsgaGFzTWFueSwgbWF4LCBtYXhSb3dzLCBtaW4sIG1pblJvd3MsIHJlcTogeyB0IH0sIHJlcXVpcmVkIH0sXG4pID0+IHtcbiAgaWYgKGhhc01hbnkgPT09IHRydWUpIHtcbiAgICBjb25zdCBsZW5ndGhWYWxpZGF0aW9uUmVzdWx0ID0gdmFsaWRhdGVBcnJheUxlbmd0aCh2YWx1ZSwgeyBtYXhSb3dzLCBtaW5Sb3dzLCByZXF1aXJlZCwgdCB9KVxuICAgIGlmICh0eXBlb2YgbGVuZ3RoVmFsaWRhdGlvblJlc3VsdCA9PT0gJ3N0cmluZycpIHJldHVybiBsZW5ndGhWYWxpZGF0aW9uUmVzdWx0XG4gIH1cblxuICBpZiAoIXZhbHVlICYmICFpc051bWJlcih2YWx1ZSkpIHtcbiAgICAvLyBpZiBubyB2YWx1ZSBpcyBwcmVzZW50LCB2YWxpZGF0ZSBiYXNlZCBvbiByZXF1aXJlZFxuICAgIGlmIChyZXF1aXJlZCkgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICAgIGlmICghcmVxdWlyZWQpIHJldHVybiB0cnVlXG4gIH1cblxuICBjb25zdCBudW1iZXJzVG9WYWxpZGF0ZTogbnVtYmVyW10gPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXVxuXG4gIGZvciAoY29uc3QgbnVtYmVyIG9mIG51bWJlcnNUb1ZhbGlkYXRlKSB7XG4gICAgaWYgKCFpc051bWJlcihudW1iZXIpKSByZXR1cm4gdCgndmFsaWRhdGlvbjplbnRlck51bWJlcicpXG5cbiAgICBjb25zdCBudW1iZXJWYWx1ZSA9IHBhcnNlRmxvYXQobnVtYmVyIGFzIHVua25vd24gYXMgc3RyaW5nKVxuXG4gICAgaWYgKHR5cGVvZiBtYXggPT09ICdudW1iZXInICYmIG51bWJlclZhbHVlID4gbWF4KSB7XG4gICAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpncmVhdGVyVGhhbk1heCcsIHsgbGFiZWw6IHQoJ2dlbmVyYWw6dmFsdWUnKSwgbWF4LCB2YWx1ZSB9KVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgbWluID09PSAnbnVtYmVyJyAmJiBudW1iZXJWYWx1ZSA8IG1pbikge1xuICAgICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246bGVzc1RoYW5NaW4nLCB7IGxhYmVsOiB0KCdnZW5lcmFsOnZhbHVlJyksIG1pbiwgdmFsdWUgfSlcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdHJ1ZVxufVxuXG5leHBvcnQgY29uc3QgYXJyYXk6IFZhbGlkYXRlPHVua25vd25bXSwgdW5rbm93biwgdW5rbm93biwgQXJyYXlGaWVsZD4gPSAoXG4gIHZhbHVlLFxuICB7IG1heFJvd3MsIG1pblJvd3MsIHJlcTogeyB0IH0sIHJlcXVpcmVkIH0sXG4pID0+IHtcbiAgcmV0dXJuIHZhbGlkYXRlQXJyYXlMZW5ndGgodmFsdWUsIHsgbWF4Um93cywgbWluUm93cywgcmVxdWlyZWQsIHQgfSlcbn1cblxuZXhwb3J0IGNvbnN0IGJsb2NrczogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgdW5rbm93biwgQmxvY2tGaWVsZD4gPSAoXG4gIHZhbHVlLFxuICB7IG1heFJvd3MsIG1pblJvd3MsIHJlcTogeyB0IH0sIHJlcXVpcmVkIH0sXG4pID0+IHtcbiAgcmV0dXJuIHZhbGlkYXRlQXJyYXlMZW5ndGgodmFsdWUsIHsgbWF4Um93cywgbWluUm93cywgcmVxdWlyZWQsIHQgfSlcbn1cblxuY29uc3QgdmFsaWRhdGVGaWx0ZXJPcHRpb25zOiBWYWxpZGF0ZTxcbiAgdW5rbm93bixcbiAgdW5rbm93bixcbiAgdW5rbm93bixcbiAgUmVsYXRpb25zaGlwRmllbGQgfCBVcGxvYWRGaWVsZFxuPiA9IGFzeW5jIChcbiAgdmFsdWUsXG4gIHsgaWQsIGRhdGEsIGZpbHRlck9wdGlvbnMsIHJlbGF0aW9uVG8sIHJlcSwgcmVxOiB7IHBheWxvYWQsIHQsIHVzZXIgfSwgc2libGluZ0RhdGEgfSxcbikgPT4ge1xuICBpZiAodHlwZW9mIGZpbHRlck9wdGlvbnMgIT09ICd1bmRlZmluZWQnICYmIHZhbHVlKSB7XG4gICAgY29uc3Qgb3B0aW9uczoge1xuICAgICAgW2NvbGxlY3Rpb246IHN0cmluZ106IChudW1iZXIgfCBzdHJpbmcpW11cbiAgICB9ID0ge31cblxuICAgIGNvbnN0IGZhbHNlQ29sbGVjdGlvbnM6IHN0cmluZ1tdID0gW11cbiAgICBjb25zdCBjb2xsZWN0aW9ucyA9IHR5cGVvZiByZWxhdGlvblRvID09PSAnc3RyaW5nJyA/IFtyZWxhdGlvblRvXSA6IHJlbGF0aW9uVG9cbiAgICBjb25zdCB2YWx1ZXMgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXVxuXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICBjb2xsZWN0aW9ucy5tYXAoYXN5bmMgKGNvbGxlY3Rpb24pID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBsZXQgb3B0aW9uRmlsdGVyID1cbiAgICAgICAgICAgIHR5cGVvZiBmaWx0ZXJPcHRpb25zID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICAgID8gYXdhaXQgZmlsdGVyT3B0aW9ucyh7XG4gICAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICAgICAgICByZWxhdGlvblRvOiBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgICAgICAgc2libGluZ0RhdGEsXG4gICAgICAgICAgICAgICAgICB1c2VyLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgIDogZmlsdGVyT3B0aW9uc1xuXG4gICAgICAgICAgaWYgKG9wdGlvbkZpbHRlciA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgb3B0aW9uRmlsdGVyID0gbnVsbFxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHZhbHVlSURzOiAobnVtYmVyIHwgc3RyaW5nKVtdID0gW11cblxuICAgICAgICAgIHZhbHVlcy5mb3JFYWNoKCh2YWwpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsID09PSAnb2JqZWN0JyAmJiB2YWw/LnZhbHVlKSB7XG4gICAgICAgICAgICAgIHZhbHVlSURzLnB1c2godmFsLnZhbHVlKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICAgICAgdmFsdWVJRHMucHVzaCh2YWwpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGlmICh2YWx1ZUlEcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBmaW5kV2hlcmU6IFdoZXJlID0ge1xuICAgICAgICAgICAgICBhbmQ6IFt7IGlkOiB7IGluOiB2YWx1ZUlEcyB9IH1dLFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3B0aW9uRmlsdGVyICYmIG9wdGlvbkZpbHRlciAhPT0gdHJ1ZSkgZmluZFdoZXJlLmFuZC5wdXNoKG9wdGlvbkZpbHRlcilcblxuICAgICAgICAgICAgaWYgKG9wdGlvbkZpbHRlciA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgZmFsc2VDb2xsZWN0aW9ucy5wdXNoKGNvbGxlY3Rpb24pXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGByZXFgIG9taXR0ZWQgdG8gcHJldmVudCB0cmFuc2FjdGlvbiBlcnJvcnMgZnJvbSBhYm9ydGluZyB0aGUgZW50aXJlIHRyYW5zYWN0aW9uXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBwYXlsb2FkLmZpbmQoe1xuICAgICAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgICBkZXB0aDogMCxcbiAgICAgICAgICAgICAgbGltaXQ6IDAsXG4gICAgICAgICAgICAgIHBhZ2luYXRpb246IGZhbHNlLFxuICAgICAgICAgICAgICB3aGVyZTogZmluZFdoZXJlLFxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgb3B0aW9uc1tjb2xsZWN0aW9uXSA9IHJlc3VsdC5kb2NzLm1hcCgoZG9jKSA9PiBkb2MuaWQpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG9wdGlvbnNbY29sbGVjdGlvbl0gPSBbXVxuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgcmVxLnBheWxvYWQubG9nZ2VyLmVycm9yKHtcbiAgICAgICAgICAgIGVycixcbiAgICAgICAgICAgIG1zZzogYEVycm9yIHZhbGlkYXRpbmcgZmlsdGVyIG9wdGlvbnMgZm9yIGNvbGxlY3Rpb24gJHtjb2xsZWN0aW9ufWAsXG4gICAgICAgICAgfSlcbiAgICAgICAgICBvcHRpb25zW2NvbGxlY3Rpb25dID0gW11cbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgKVxuXG4gICAgY29uc3QgaW52YWxpZFJlbGF0aW9uc2hpcHMgPSB2YWx1ZXMuZmlsdGVyKCh2YWwpID0+IHtcbiAgICAgIGxldCBjb2xsZWN0aW9uOiBzdHJpbmdcbiAgICAgIGxldCByZXF1ZXN0ZWRJRDogbnVtYmVyIHwgc3RyaW5nXG5cbiAgICAgIGlmICh0eXBlb2YgcmVsYXRpb25UbyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29sbGVjdGlvbiA9IHJlbGF0aW9uVG9cblxuICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICByZXF1ZXN0ZWRJRCA9IHZhbFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlbGF0aW9uVG8pICYmIHR5cGVvZiB2YWwgPT09ICdvYmplY3QnICYmIHZhbD8ucmVsYXRpb25Ubykge1xuICAgICAgICBjb2xsZWN0aW9uID0gdmFsLnJlbGF0aW9uVG9cbiAgICAgICAgcmVxdWVzdGVkSUQgPSB2YWwudmFsdWVcbiAgICAgIH1cblxuICAgICAgaWYgKGZhbHNlQ29sbGVjdGlvbnMuZmluZCgoc2x1ZykgPT4gcmVsYXRpb25UbyA9PT0gc2x1ZykpIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG9wdGlvbnNbY29sbGVjdGlvbl0uaW5kZXhPZihyZXF1ZXN0ZWRJRCkgPT09IC0xXG4gICAgfSlcblxuICAgIGlmIChpbnZhbGlkUmVsYXRpb25zaGlwcy5sZW5ndGggPiAwKSB7XG4gICAgICByZXR1cm4gaW52YWxpZFJlbGF0aW9uc2hpcHMucmVkdWNlKChlcnIsIGludmFsaWQsIGkpID0+IHtcbiAgICAgICAgcmV0dXJuIGAke2Vycn0gJHtKU09OLnN0cmluZ2lmeShpbnZhbGlkKX0ke1xuICAgICAgICAgIGludmFsaWRSZWxhdGlvbnNoaXBzLmxlbmd0aCA9PT0gaSArIDEgPyAnLCcgOiAnJ1xuICAgICAgICB9IGBcbiAgICAgIH0sIHQoJ3ZhbGlkYXRpb246aW52YWxpZFNlbGVjdGlvbnMnKSkgYXMgc3RyaW5nXG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCB1cGxvYWQ6IFZhbGlkYXRlPHVua25vd24sIHVua25vd24sIHVua25vd24sIFVwbG9hZEZpZWxkPiA9IChcbiAgdmFsdWU6IHN0cmluZyxcbiAgb3B0aW9ucyxcbikgPT4ge1xuICBpZiAoIXZhbHVlICYmIG9wdGlvbnMucmVxdWlyZWQpIHtcbiAgICByZXR1cm4gb3B0aW9ucz8ucmVxPy50KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIGlmICh0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgY29uc3QgaWRGaWVsZCA9IG9wdGlvbnM/LnJlcT8ucGF5bG9hZD8uY29uZmlnPy5jb2xsZWN0aW9uc1xuICAgICAgPy5maW5kKChjb2xsZWN0aW9uKSA9PiBjb2xsZWN0aW9uLnNsdWcgPT09IG9wdGlvbnMucmVsYXRpb25UbylcbiAgICAgID8uZmllbGRzPy5maW5kKChmaWVsZCkgPT4gZmllbGRBZmZlY3RzRGF0YShmaWVsZCkgJiYgZmllbGQubmFtZSA9PT0gJ2lkJylcblxuICAgIGNvbnN0IHR5cGUgPSBnZXRJRFR5cGUoaWRGaWVsZCwgb3B0aW9ucz8ucmVxPy5wYXlsb2FkPy5kYj8uZGVmYXVsdElEVHlwZSlcblxuICAgIGlmICghaXNWYWxpZElEKHZhbHVlLCB0eXBlKSkge1xuICAgICAgcmV0dXJuIG9wdGlvbnMucmVxPy50KCd2YWxpZGF0aW9uOnZhbGlkVXBsb2FkSUQnKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB2YWxpZGF0ZUZpbHRlck9wdGlvbnModmFsdWUsIG9wdGlvbnMpXG59XG5cbmV4cG9ydCBjb25zdCByZWxhdGlvbnNoaXA6IFZhbGlkYXRlPFxuICBSZWxhdGlvbnNoaXBWYWx1ZSxcbiAgdW5rbm93bixcbiAgdW5rbm93bixcbiAgUmVsYXRpb25zaGlwRmllbGRcbj4gPSBhc3luYyAodmFsdWUsIG9wdGlvbnMpID0+IHtcbiAgY29uc3Qge1xuICAgIG1heFJvd3MsXG4gICAgbWluUm93cyxcbiAgICByZWxhdGlvblRvLFxuICAgIHJlcToge1xuICAgICAgcGF5bG9hZCxcbiAgICAgIHBheWxvYWQ6IHsgY29uZmlnIH0sXG4gICAgICB0LFxuICAgIH0sXG4gICAgcmVxdWlyZWQsXG4gIH0gPSBvcHRpb25zXG5cbiAgaWYgKCghdmFsdWUgfHwgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA9PT0gMCkpICYmIHJlcXVpcmVkKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICB9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpICYmIHZhbHVlLmxlbmd0aCA+IDApIHtcbiAgICBpZiAobWluUm93cyAmJiB2YWx1ZS5sZW5ndGggPCBtaW5Sb3dzKSB7XG4gICAgICByZXR1cm4gdCgndmFsaWRhdGlvbjpsZXNzVGhhbk1pbicsIHtcbiAgICAgICAgbGFiZWw6IHQoJ2dlbmVyYWw6cm93cycpLFxuICAgICAgICBtaW46IG1pblJvd3MsXG4gICAgICAgIHZhbHVlOiB2YWx1ZS5sZW5ndGgsXG4gICAgICB9KVxuICAgIH1cblxuICAgIGlmIChtYXhSb3dzICYmIHZhbHVlLmxlbmd0aCA+IG1heFJvd3MpIHtcbiAgICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOmdyZWF0ZXJUaGFuTWF4Jywge1xuICAgICAgICBsYWJlbDogdCgnZ2VuZXJhbDpyb3dzJyksXG4gICAgICAgIG1heDogbWF4Um93cyxcbiAgICAgICAgdmFsdWU6IHZhbHVlLmxlbmd0aCxcbiAgICAgIH0pXG4gICAgfVxuICB9XG5cbiAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcgJiYgdmFsdWUgIT09IG51bGwpIHtcbiAgICBjb25zdCB2YWx1ZXMgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXVxuXG4gICAgY29uc3QgaW52YWxpZFJlbGF0aW9uc2hpcHMgPSB2YWx1ZXMuZmlsdGVyKCh2YWwpID0+IHtcbiAgICAgIGxldCBjb2xsZWN0aW9uU2x1Zzogc3RyaW5nXG4gICAgICBsZXQgcmVxdWVzdGVkSURcblxuICAgICAgaWYgKHR5cGVvZiByZWxhdGlvblRvID09PSAnc3RyaW5nJykge1xuICAgICAgICBjb2xsZWN0aW9uU2x1ZyA9IHJlbGF0aW9uVG9cblxuICAgICAgICAvLyBjdXN0b20gaWRcbiAgICAgICAgaWYgKHZhbCkge1xuICAgICAgICAgIHJlcXVlc3RlZElEID0gdmFsXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVsYXRpb25UbykgJiYgdHlwZW9mIHZhbCA9PT0gJ29iamVjdCcgJiYgdmFsPy5yZWxhdGlvblRvKSB7XG4gICAgICAgIGNvbGxlY3Rpb25TbHVnID0gdmFsLnJlbGF0aW9uVG9cbiAgICAgICAgcmVxdWVzdGVkSUQgPSB2YWwudmFsdWVcbiAgICAgIH1cblxuICAgICAgaWYgKHJlcXVlc3RlZElEID09PSBudWxsKSByZXR1cm4gZmFsc2VcblxuICAgICAgY29uc3QgaWRGaWVsZCA9IGNvbmZpZz8uY29sbGVjdGlvbnNcbiAgICAgICAgPy5maW5kKChjb2xsZWN0aW9uKSA9PiBjb2xsZWN0aW9uLnNsdWcgPT09IGNvbGxlY3Rpb25TbHVnKVxuICAgICAgICA/LmZpZWxkcz8uZmluZCgoZmllbGQpID0+IGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpICYmIGZpZWxkLm5hbWUgPT09ICdpZCcpXG5cbiAgICAgIGNvbnN0IHR5cGUgPSBnZXRJRFR5cGUoaWRGaWVsZCwgcGF5bG9hZD8uZGI/LmRlZmF1bHRJRFR5cGUpXG5cbiAgICAgIHJldHVybiAhaXNWYWxpZElEKHJlcXVlc3RlZElELCB0eXBlKVxuICAgIH0pXG5cbiAgICBpZiAoaW52YWxpZFJlbGF0aW9uc2hpcHMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIGBUaGlzIHJlbGF0aW9uc2hpcCBmaWVsZCBoYXMgdGhlIGZvbGxvd2luZyBpbnZhbGlkIHJlbGF0aW9uc2hpcHM6ICR7aW52YWxpZFJlbGF0aW9uc2hpcHNcbiAgICAgICAgLm1hcCgoZXJyLCBpbnZhbGlkKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIGAke2Vycn0gJHtKU09OLnN0cmluZ2lmeShpbnZhbGlkKX1gXG4gICAgICAgIH0pXG4gICAgICAgIC5qb2luKCcsICcpfWBcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdmFsaWRhdGVGaWx0ZXJPcHRpb25zKHZhbHVlLCBvcHRpb25zKVxufVxuXG5leHBvcnQgY29uc3Qgc2VsZWN0OiBWYWxpZGF0ZTx1bmtub3duLCB1bmtub3duLCB1bmtub3duLCBTZWxlY3RGaWVsZD4gPSAoXG4gIHZhbHVlLFxuICB7IGhhc01hbnksIG9wdGlvbnMsIHJlcTogeyB0IH0sIHJlcXVpcmVkIH0sXG4pID0+IHtcbiAgaWYgKFxuICAgIEFycmF5LmlzQXJyYXkodmFsdWUpICYmXG4gICAgdmFsdWUuc29tZShcbiAgICAgIChpbnB1dCkgPT5cbiAgICAgICAgIW9wdGlvbnMuc29tZShcbiAgICAgICAgICAob3B0aW9uKSA9PiBvcHRpb24gPT09IGlucHV0IHx8ICh0eXBlb2Ygb3B0aW9uICE9PSAnc3RyaW5nJyAmJiBvcHRpb24/LnZhbHVlID09PSBpbnB1dCksXG4gICAgICAgICksXG4gICAgKVxuICApIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjppbnZhbGlkU2VsZWN0aW9uJylcbiAgfVxuXG4gIGlmIChcbiAgICB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmXG4gICAgIW9wdGlvbnMuc29tZShcbiAgICAgIChvcHRpb24pID0+IG9wdGlvbiA9PT0gdmFsdWUgfHwgKHR5cGVvZiBvcHRpb24gIT09ICdzdHJpbmcnICYmIG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpLFxuICAgIClcbiAgKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246aW52YWxpZFNlbGVjdGlvbicpXG4gIH1cblxuICBpZiAoXG4gICAgcmVxdWlyZWQgJiZcbiAgICAodHlwZW9mIHZhbHVlID09PSAndW5kZWZpbmVkJyB8fFxuICAgICAgdmFsdWUgPT09IG51bGwgfHxcbiAgICAgIChoYXNNYW55ICYmIEFycmF5LmlzQXJyYXkodmFsdWUpICYmICh2YWx1ZSBhcyBbXSk/Lmxlbmd0aCA9PT0gMCkpXG4gICkge1xuICAgIHJldHVybiB0KCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgfVxuXG4gIHJldHVybiB0cnVlXG59XG5cbmV4cG9ydCBjb25zdCByYWRpbzogVmFsaWRhdGU8dW5rbm93biwgdW5rbm93biwgdW5rbm93biwgUmFkaW9GaWVsZD4gPSAoXG4gIHZhbHVlLFxuICB7IG9wdGlvbnMsIHJlcTogeyB0IH0sIHJlcXVpcmVkIH0sXG4pID0+IHtcbiAgaWYgKHZhbHVlKSB7XG4gICAgY29uc3QgdmFsdWVNYXRjaGVzT3B0aW9uID0gb3B0aW9ucy5zb21lKFxuICAgICAgKG9wdGlvbikgPT4gb3B0aW9uID09PSB2YWx1ZSB8fCAodHlwZW9mIG9wdGlvbiAhPT0gJ3N0cmluZycgJiYgb3B0aW9uLnZhbHVlID09PSB2YWx1ZSksXG4gICAgKVxuICAgIHJldHVybiB2YWx1ZU1hdGNoZXNPcHRpb24gfHwgdCgndmFsaWRhdGlvbjppbnZhbGlkU2VsZWN0aW9uJylcbiAgfVxuXG4gIHJldHVybiByZXF1aXJlZCA/IHQoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKSA6IHRydWVcbn1cblxuZXhwb3J0IGNvbnN0IHBvaW50OiBWYWxpZGF0ZTxbbnVtYmVyIHwgc3RyaW5nLCBudW1iZXIgfCBzdHJpbmddLCB1bmtub3duLCB1bmtub3duLCBQb2ludEZpZWxkPiA9IChcbiAgdmFsdWUgPSBbJycsICcnXSxcbiAgeyByZXE6IHsgdCB9LCByZXF1aXJlZCB9LFxuKSA9PiB7XG4gIGNvbnN0IGxuZyA9IHBhcnNlRmxvYXQoU3RyaW5nKHZhbHVlWzBdKSlcbiAgY29uc3QgbGF0ID0gcGFyc2VGbG9hdChTdHJpbmcodmFsdWVbMV0pKVxuICBpZiAoXG4gICAgcmVxdWlyZWQgJiZcbiAgICAoKHZhbHVlWzBdICYmIHZhbHVlWzFdICYmIHR5cGVvZiBsbmcgIT09ICdudW1iZXInICYmIHR5cGVvZiBsYXQgIT09ICdudW1iZXInKSB8fFxuICAgICAgTnVtYmVyLmlzTmFOKGxuZykgfHxcbiAgICAgIE51bWJlci5pc05hTihsYXQpIHx8XG4gICAgICAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoICE9PSAyKSlcbiAgKSB7XG4gICAgcmV0dXJuIHQoJ3ZhbGlkYXRpb246cmVxdWlyZXNUd29OdW1iZXJzJylcbiAgfVxuXG4gIGlmICgodmFsdWVbMV0gJiYgTnVtYmVyLmlzTmFOKGxuZykpIHx8ICh2YWx1ZVswXSAmJiBOdW1iZXIuaXNOYU4obGF0KSkpIHtcbiAgICByZXR1cm4gdCgndmFsaWRhdGlvbjppbnZhbGlkSW5wdXQnKVxuICB9XG5cbiAgcmV0dXJuIHRydWVcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBhcnJheSxcbiAgYmxvY2tzLFxuICBjaGVja2JveCxcbiAgY29kZSxcbiAgZGF0ZSxcbiAgZW1haWwsXG4gIGpzb24sXG4gIG51bWJlcixcbiAgcGFzc3dvcmQsXG4gIHBvaW50LFxuICByYWRpbyxcbiAgcmVsYXRpb25zaGlwLFxuICByaWNoVGV4dCxcbiAgc2VsZWN0LFxuICB0ZXh0LFxuICB0ZXh0YXJlYSxcbiAgdXBsb2FkLFxufVxuIl0sIm5hbWVzIjpbImdldElEVHlwZSIsImlzTnVtYmVyIiwiaXNWYWxpZElEIiwiZmllbGRBZmZlY3RzRGF0YSIsInRleHQiLCJ2YWx1ZSIsImhhc01hbnkiLCJtYXhMZW5ndGgiLCJmaWVsZE1heExlbmd0aCIsIm1heFJvd3MiLCJtaW5MZW5ndGgiLCJtaW5Sb3dzIiwicmVxIiwicGF5bG9hZCIsImNvbmZpZyIsInQiLCJyZXF1aXJlZCIsImxlbmd0aFZhbGlkYXRpb25SZXN1bHQiLCJ2YWxpZGF0ZUFycmF5TGVuZ3RoIiwiZGVmYXVsdE1heFRleHRMZW5ndGgiLCJzdHJpbmdzVG9WYWxpZGF0ZSIsIkFycmF5IiwiaXNBcnJheSIsInN0cmluZ1ZhbHVlIiwibGVuZ3RoIiwibGFiZWwiLCJwYXNzd29yZCIsImVtYWlsIiwidGVzdCIsInRleHRhcmVhIiwiY29kZSIsInVuZGVmaW5lZCIsImpzb24iLCJqc29uRXJyb3IiLCJjaGVja2JveCIsImRhdGUiLCJpc05hTiIsIkRhdGUiLCJwYXJzZSIsInRvU3RyaW5nIiwicmljaFRleHQiLCJvcHRpb25zIiwiZWRpdG9yIiwidmFsaWRhdGUiLCJhcnJheUxlbmd0aCIsImNvdW50IiwibnVtYmVyIiwibWF4IiwibWluIiwibnVtYmVyc1RvVmFsaWRhdGUiLCJudW1iZXJWYWx1ZSIsInBhcnNlRmxvYXQiLCJhcnJheSIsImJsb2NrcyIsInZhbGlkYXRlRmlsdGVyT3B0aW9ucyIsImlkIiwiZGF0YSIsImZpbHRlck9wdGlvbnMiLCJyZWxhdGlvblRvIiwidXNlciIsInNpYmxpbmdEYXRhIiwiZmFsc2VDb2xsZWN0aW9ucyIsImNvbGxlY3Rpb25zIiwidmFsdWVzIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsImNvbGxlY3Rpb24iLCJvcHRpb25GaWx0ZXIiLCJ2YWx1ZUlEcyIsImZvckVhY2giLCJ2YWwiLCJwdXNoIiwiZmluZFdoZXJlIiwiYW5kIiwiaW4iLCJyZXN1bHQiLCJmaW5kIiwiZGVwdGgiLCJsaW1pdCIsInBhZ2luYXRpb24iLCJ3aGVyZSIsImRvY3MiLCJkb2MiLCJlcnIiLCJsb2dnZXIiLCJlcnJvciIsIm1zZyIsImludmFsaWRSZWxhdGlvbnNoaXBzIiwiZmlsdGVyIiwicmVxdWVzdGVkSUQiLCJzbHVnIiwiaW5kZXhPZiIsInJlZHVjZSIsImludmFsaWQiLCJpIiwiSlNPTiIsInN0cmluZ2lmeSIsInVwbG9hZCIsImlkRmllbGQiLCJmaWVsZHMiLCJmaWVsZCIsIm5hbWUiLCJ0eXBlIiwiZGIiLCJkZWZhdWx0SURUeXBlIiwicmVsYXRpb25zaGlwIiwiY29sbGVjdGlvblNsdWciLCJqb2luIiwic2VsZWN0Iiwic29tZSIsImlucHV0Iiwib3B0aW9uIiwicmFkaW8iLCJ2YWx1ZU1hdGNoZXNPcHRpb24iLCJwb2ludCIsImxuZyIsIlN0cmluZyIsImxhdCIsIk51bWJlciJdLCJtYXBwaW5ncyI6IkFBc0JBLFNBQVNBLFNBQVMsUUFBUSw0QkFBMkI7QUFDckQsU0FBU0MsUUFBUSxRQUFRLDJCQUEwQjtBQUNuRCxTQUFTQyxTQUFTLFFBQVEsNEJBQTJCO0FBQ3JELFNBQVNDLGdCQUFnQixRQUFRLG9CQUFtQjtBQUVwRCxPQUFPLE1BQU1DLE9BQWlFLENBQzVFQyxPQUNBLEVBQ0VDLE9BQU8sRUFDUEMsV0FBV0MsY0FBYyxFQUN6QkMsT0FBTyxFQUNQQyxTQUFTLEVBQ1RDLE9BQU8sRUFDUEMsS0FBSyxFQUNIQyxTQUFTLEVBQUVDLE1BQU0sRUFBRSxFQUNuQkMsQ0FBQyxFQUNGLEVBQ0RDLFFBQVEsRUFDVDtJQUVELElBQUlUO0lBRUosSUFBSSxDQUFDUyxVQUFVO1FBQ2IsSUFBSSxDQUFDWCxPQUFPLE9BQU87SUFDckI7SUFFQSxJQUFJQyxZQUFZLE1BQU07UUFDcEIsTUFBTVcseUJBQXlCQyxvQkFBb0JiLE9BQU87WUFBRUk7WUFBU0U7WUFBU0s7WUFBVUQ7UUFBRTtRQUMxRixJQUFJLE9BQU9FLDJCQUEyQixVQUFVLE9BQU9BO0lBQ3pEO0lBRUEs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
|
|
@@ -651,4 +651,4 @@ describe('Field Validations', ()=>{
|
|
|
651
651
|
});
|
|
652
652
|
});
|
|
653
653
|
|
|
654
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvdmFsaWRhdGlvbnMuc3BlYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFZhbGlkYXRlT3B0aW9ucyB9IGZyb20gJy4vY29uZmlnL3R5cGVzLmQudHMnXG5cbmltcG9ydCB7IG51bWJlciwgcGFzc3dvcmQsIHBvaW50LCByZWxhdGlvbnNoaXAsIHNlbGVjdCwgdGV4dCwgdGV4dGFyZWEgfSBmcm9tICcuL3ZhbGlkYXRpb25zLmpzJ1xuXG5jb25zdCB0ID0gamVzdC5mbigoc3RyaW5nKSA9PiBzdHJpbmcpXG5cbmxldCBvcHRpb25zOiBWYWxpZGF0ZU9wdGlvbnM8YW55LCBhbnk+ID0ge1xuICBkYXRhOiB1bmRlZmluZWQsXG4gIG9wZXJhdGlvbjogJ2NyZWF0ZScsXG4gIHNpYmxpbmdEYXRhOiB1bmRlZmluZWQsXG4gIHJlcToge1xuICAgIHQsXG4gICAgY29udGV4dDoge30sXG4gICAgcGF5bG9hZDoge1xuICAgICAgY29uZmlnOiB7fSxcbiAgICB9LFxuICB9LFxufVxuXG5kZXNjcmliZSgnRmllbGQgVmFsaWRhdGlvbnMnLCAoKSA9PiB7XG4gIGRlc2NyaWJlKCd0ZXh0JywgKCkgPT4ge1xuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAndGVzdCdcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRleHQodmFsLCBvcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBzaG93IHJlcXVpcmVkIG1lc3NhZ2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSB1bmRlZmluZWRcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRleHQodmFsLCB7IC4uLm9wdGlvbnMsIHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgaGFuZGxlIHVuZGVmaW5lZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IHVuZGVmaW5lZFxuICAgICAgY29uc3QgcmVzdWx0ID0gdGV4dCh2YWwsIG9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIG1heExlbmd0aCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICd0b29sb25nJ1xuICAgICAgY29uc3QgcmVzdWx0ID0gdGV4dCh2YWwsIHsgLi4ub3B0aW9ucywgbWF4TGVuZ3RoOiA1IH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKCd2YWxpZGF0aW9uOnNob3J0ZXJUaGFuTWF4JylcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgbWluTGVuZ3RoJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gJ3Nob3J0J1xuICAgICAgY29uc3QgcmVzdWx0ID0gdGV4dCh2YWwsIHsgLi4ub3B0aW9ucywgbWluTGVuZ3RoOiAxMCB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndmFsaWRhdGlvbjpsb25nZXJUaGFuTWluJylcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgbWF4TGVuZ3RoIHdpdGggbm8gdmFsdWUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSB1bmRlZmluZWRcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRleHQodmFsLCB7IC4uLm9wdGlvbnMsIG1heExlbmd0aDogNSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBtaW5MZW5ndGggd2l0aCBubyB2YWx1ZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IHVuZGVmaW5lZFxuICAgICAgY29uc3QgcmVzdWx0ID0gdGV4dCh2YWwsIHsgLi4ub3B0aW9ucywgbWluTGVuZ3RoOiAxMCB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBhbiBhcnJheSBvZiB0ZXh0cycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IFsndGVzdCddXG4gICAgICBjb25zdCByZXN1bHQgPSB0ZXh0KHZhbCwgeyAuLi5vcHRpb25zLCBoYXNNYW55OiB0cnVlIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGhhbmRsZSByZXF1aXJlZCBhcnJheSBvZiB0ZXh0cycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IFsndGVzdCddXG4gICAgICBjb25zdCByZXN1bHQgPSB0ZXh0KHZhbCwgeyAuLi5vcHRpb25zLCBoYXNNYW55OiB0cnVlLCByZXF1aXJlZDogdHJ1ZSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gIH0pXG5cbiAgZGVzY3JpYmUoJ3RleHRhcmVhJywgKCkgPT4ge1xuICAgIG9wdGlvbnMgPSB7IC4uLm9wdGlvbnMsIGZpZWxkOiB7IG5hbWU6ICd0ZXN0JywgdHlwZTogJ3RleHRhcmVhJyB9IH1cbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gJ3Rlc3QnXG4gICAgICBjb25zdCByZXN1bHQgPSB0ZXh0YXJlYSh2YWwsIG9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHNob3cgcmVxdWlyZWQgbWVzc2FnZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IHVuZGVmaW5lZFxuICAgICAgY29uc3QgcmVzdWx0ID0gdGV4dGFyZWEodmFsLCB7IC4uLm9wdGlvbnMsIHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKCd2YWxpZGF0aW9uOnJlcXVpcmVkJylcbiAgICB9KVxuXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgdW5kZWZpbmVkJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gdW5kZWZpbmVkXG4gICAgICBjb25zdCByZXN1bHQgPSB0ZXh0YXJlYSh2YWwsIG9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIG1heExlbmd0aCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICd0b29sb25nJ1xuICAgICAgY29uc3QgcmVzdWx0ID0gdGV4dGFyZWEodmFsLCB7IC4uLm9wdGlvbnMsIG1heExlbmd0aDogNSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndmFsaWRhdGlvbjpzaG9ydGVyVGhhbk1heCcpXG4gICAgfSlcblxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgbWluTGVuZ3RoJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gJ3Nob3J0J1xuICAgICAgY29uc3QgcmVzdWx0ID0gdGV4dGFyZWEodmFsLCB7IC4uLm9wdGlvbnMsIG1pbkxlbmd0aDogMTAgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoJ3ZhbGlkYXRpb246bG9uZ2VyVGhhbk1pbicpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIG1heExlbmd0aCB3aXRoIG5vIHZhbHVlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gdW5kZWZpbmVkXG4gICAgICBjb25zdCByZXN1bHQgPSB0ZXh0YXJlYSh2YWwsIHsgLi4ub3B0aW9ucywgbWF4TGVuZ3RoOiA1IH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIG1pbkxlbmd0aCB3aXRoIG5vIHZhbHVlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gdW5kZWZpbmVkXG4gICAgICBjb25zdCByZXN1bHQgPSB0ZXh0YXJlYSh2YWwsIHsgLi4ub3B0aW9ucywgbWluTGVuZ3RoOiAxMCB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gIH0pXG5cbiAgZGVzY3JpYmUoJ3Bhc3N3b3JkJywgKCkgPT4ge1xuICAgIGNvbnN0IHBhc3N3b3JkT3B0aW9ucyA9IHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBuYW1lOiAndGVzdCcsXG4gICAgICB0eXBlOiAncGFzc3dvcmQnLFxuICAgIH1cbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gJ3Rlc3QnXG4gICAgICBjb25zdCByZXN1bHQgPSBwYXNzd29yZCh2YWwsIHBhc3N3b3JkT3B0aW9ucylcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgc2hvdyByZXF1aXJlZCBtZXNzYWdlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gdW5kZWZpbmVkXG4gICAgICBjb25zdCByZXN1bHQgPSBwYXNzd29yZCh2YWwsIHsgLi4ucGFzc3dvcmRPcHRpb25zLCByZXF1aXJlZDogdHJ1ZSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGhhbmRsZSB1bmRlZmluZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSB1bmRlZmluZWRcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBhc3N3b3JkKHZhbCwgcGFzc3dvcmRPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBtYXhMZW5ndGgnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAndG9vbG9uZydcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBhc3N3b3JkKHZhbCwgeyAuLi5wYXNzd29yZE9wdGlvbnMsIG1heExlbmd0aDogNSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndmFsaWRhdGlvbjpzaG9ydGVyVGhhbk1heCcpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIG1pbkxlbmd0aCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICdzaG9ydCdcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBhc3N3b3JkKHZhbCwgeyAuLi5wYXNzd29yZE9wdGlvbnMsIG1pbkxlbmd0aDogMTAgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoJ3ZhbGlkYXRpb246bG9uZ2VyVGhhbk1pbicpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIG1heExlbmd0aCB3aXRoIG5vIHZhbHVlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gdW5kZWZpbmVkXG4gICAgICBjb25zdCByZXN1bHQgPSBwYXNzd29yZCh2YWwsIHsgLi4ucGFzc3dvcmRPcHRpb25zLCBtYXhMZW5ndGg6IDUgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgbWluTGVuZ3RoIHdpdGggbm8gdmFsdWUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSB1bmRlZmluZWRcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBhc3N3b3JkKHZhbCwgeyAuLi5wYXNzd29yZE9wdGlvbnMsIG1pbkxlbmd0aDogMTAgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICB9KVxuXG4gIGRlc2NyaWJlKCdwb2ludCcsICgpID0+IHtcbiAgICBjb25zdCBwb2ludE9wdGlvbnMgPSB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgbmFtZTogJ3BvaW50JyxcbiAgICAgIHR5cGU6ICdwb2ludCcsXG4gICAgfVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgbnVtYmVycycsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IFsnMC4xJywgJzAuMiddXG4gICAgICBjb25zdCByZXN1bHQgPSBwb2ludCh2YWwsIHBvaW50T3B0aW9ucylcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgc3RyaW5ncyB0aGF0IGNvdWxkIGJlIG51bWJlcnMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbJzAuMScsICcwLjInXVxuICAgICAgY29uc3QgcmVzdWx0ID0gcG9pbnQodmFsLCBwb2ludE9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHNob3cgcmVxdWlyZWQgbWVzc2FnZSB3aGVuIHVuZGVmaW5lZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IHVuZGVmaW5lZFxuICAgICAgY29uc3QgcmVzdWx0ID0gcG9pbnQodmFsLCB7IC4uLnBvaW50T3B0aW9ucywgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHNob3cgcmVxdWlyZWQgbWVzc2FnZSB3aGVuIGFycmF5JywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gW11cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBvaW50KHZhbCwgeyAuLi5wb2ludE9wdGlvbnMsIHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBzaG93IHJlcXVpcmVkIG1lc3NhZ2Ugd2hlbiBhcnJheSBvZiB1bmRlZmluZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbdW5kZWZpbmVkLCB1bmRlZmluZWRdXG4gICAgICBjb25zdCByZXN1bHQgPSBwb2ludCh2YWwsIHsgLi4ucG9pbnRPcHRpb25zLCByZXF1aXJlZDogdHJ1ZSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgaGFuZGxlIHVuZGVmaW5lZCBub3QgcmVxdWlyZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSB1bmRlZmluZWRcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBhc3N3b3JkKHZhbCwgcG9pbnRPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgZW1wdHkgYXJyYXkgbm90IHJlcXVpcmVkJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gW11cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBvaW50KHZhbCwgcG9pbnRPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgYXJyYXkgb2YgdW5kZWZpbmVkIG5vdCByZXF1aXJlZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IFt1bmRlZmluZWQsIHVuZGVmaW5lZF1cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBvaW50KHZhbCwgcG9pbnRPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBwcmV2ZW50IHRleHQgaW5wdXQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbJ2JhZCcsICdpbnB1dCddXG4gICAgICBjb25zdCByZXN1bHQgPSBwb2ludCh2YWwsIHBvaW50T3B0aW9ucylcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHByZXZlbnQgbWlzc2luZyB2YWx1ZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IFswLjFdXG4gICAgICBjb25zdCByZXN1bHQgPSBwb2ludCh2YWwsIHBvaW50T3B0aW9ucylcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b0JlKHRydWUpXG4gICAgfSlcbiAgfSlcblxuICBkZXNjcmliZSgncmVsYXRpb25zaGlwJywgKCkgPT4ge1xuICAgIGNvbnN0IHJlbGF0aW9uQ29sbGVjdGlvbiA9IHtcbiAgICAgIGZpZWxkczogW1xuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2lkJyxcbiAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgc2x1ZzogJ3JlbGF0aW9uJyxcbiAgICB9XG5cbiAgICBjb25zdCByZWxhdGlvbnNoaXBPcHRpb25zID0ge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHJlcToge1xuICAgICAgICAuLi5vcHRpb25zLnJlcSxcbiAgICAgICAgcGF5bG9hZDoge1xuICAgICAgICAgIC4uLm9wdGlvbnMucmVxLnBheWxvYWQsXG4gICAgICAgICAgY29uZmlnOiB7XG4gICAgICAgICAgICBjb2xsZWN0aW9uczogW3JlbGF0aW9uQ29sbGVjdGlvbl0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjb2xsZWN0aW9uczoge1xuICAgICAgICAgICAgcmVsYXRpb246IHtcbiAgICAgICAgICAgICAgY29uZmlnOiByZWxhdGlvbkNvbGxlY3Rpb24sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgcmVsYXRpb25UbzogJ3JlbGF0aW9uJyxcbiAgICB9XG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgcmVxdWlyZWQnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSB1bmRlZmluZWRcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlbGF0aW9uc2hpcCh2YWwsIHsgLi4ucmVsYXRpb25zaGlwT3B0aW9ucywgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGhhbmRsZSByZXF1aXJlZCB3aXRoIGhhc01hbnknLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbXVxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVsYXRpb25zaGlwKHZhbCwge1xuICAgICAgICAuLi5yZWxhdGlvbnNoaXBPcHRpb25zLFxuICAgICAgICBoYXNNYW55OiB0cnVlLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBlbmZvcmNlIGhhc01hbnkgbWluJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgbWluT3B0aW9ucyA9IHtcbiAgICAgICAgLi4ucmVsYXRpb25zaGlwT3B0aW9ucyxcbiAgICAgICAgaGFzTWFueTogdHJ1ZSxcbiAgICAgICAgbWluUm93czogMixcbiAgICAgIH1cblxuICAgICAgY29uc3QgdmFsID0gWydhJ11cblxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVsYXRpb25zaGlwKHZhbCwgbWluT3B0aW9ucylcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b0JlKHRydWUpXG5cbiAgICAgIGNvbnN0IGFsbG93ZWQgPSBhd2FpdCByZWxhdGlvbnNoaXAoWydhJywgJ2InXSwgbWluT3B0aW9ucylcbiAgICAgIGV4cGVjdChhbGxvd2VkKS50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGVuZm9yY2UgaGFzTWFueSBtYXgnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBtYXhPcHRpb25zID0ge1xuICAgICAgICAuLi5yZWxhdGlvbnNoaXBPcHRpb25zLFxuICAgICAgICBoYXNNYW55OiB0cnVlLFxuICAgICAgICBtYXhSb3dzOiAyLFxuICAgICAgfVxuICAgICAgbGV0IHZhbCA9IFsnYScsICdiJywgJ2MnXVxuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCByZWxhdGlvbnNoaXAodmFsLCBtYXhPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvQmUodHJ1ZSlcblxuICAgICAgdmFsID0gWydhJ11cbiAgICAgIGNvbnN0IGFsbG93ZWQgPSBhd2FpdCByZWxhdGlvbnNoaXAodmFsLCBtYXhPcHRpb25zKVxuICAgICAgZXhwZWN0KGFsbG93ZWQpLnRvU3RyaWN0RXF1YWwodHJ1ZSlcbiAgICB9KVxuICB9KVxuXG4gIGRlc2NyaWJlKCdzZWxlY3QnLCAoKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0T3B0aW9ucyA9IHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBvcHRpb25zOiBbJ29uZScsICd0d28nLCAndGhyZWUnXSxcbiAgICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgIH1cbiAgICBjb25zdCBvcHRpb25zUmVxdWlyZWQgPSB7XG4gICAgICAuLi5zZWxlY3RPcHRpb25zLFxuICAgICAgb3B0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdPbmUnLFxuICAgICAgICAgIHZhbHVlOiAnb25lJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAndHdvJyxcbiAgICAgICAgICB2YWx1ZTogJ3R3bycsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ3RocmVlJyxcbiAgICAgICAgICB2YWx1ZTogJ3RocmVlJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICB9XG4gICAgY29uc3Qgb3B0aW9uc1dpdGhFbXB0eVN0cmluZyA9IHtcbiAgICAgIC4uLnNlbGVjdE9wdGlvbnMsXG4gICAgICBvcHRpb25zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ05vbmUnLFxuICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnT3B0aW9uJyxcbiAgICAgICAgICB2YWx1ZTogJ29wdGlvbicsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH1cbiAgICBpdCgnc2hvdWxkIGFsbG93IHZhbGlkIGlucHV0JywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gJ29uZSdcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCh2YWwsIHNlbGVjdE9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHByZXZlbnQgaW52YWxpZCBpbnB1dCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICdiYWQnXG4gICAgICBjb25zdCByZXN1bHQgPSBzZWxlY3QodmFsLCBzZWxlY3RPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvU3RyaWN0RXF1YWwodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgYWxsb3cgbnVsbCBpbnB1dCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IG51bGxcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCh2YWwsIHNlbGVjdE9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGFsbG93IHVuZGVmaW5lZCBpbnB1dCcsICgpID0+IHtcbiAgICAgIGxldCB2YWxcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCh2YWwsIHNlbGVjdE9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHByZXZlbnQgZW1wdHkgc3RyaW5nIGlucHV0JywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gJydcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCh2YWwsIHNlbGVjdE9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBwcmV2ZW50IHVuZGVmaW5lZCBpbnB1dCB3aXRoIHJlcXVpcmVkJywgKCkgPT4ge1xuICAgICAgbGV0IHZhbFxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VsZWN0KHZhbCwgb3B0aW9uc1JlcXVpcmVkKVxuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvU3RyaWN0RXF1YWwodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgcHJldmVudCBlbXB0eSBzdHJpbmcgaW5wdXQgd2l0aCByZXF1aXJlZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCgnJywgb3B0aW9uc1JlcXVpcmVkKVxuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvU3RyaWN0RXF1YWwodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgcHJldmVudCB1bmRlZmluZWQgaW5wdXQgd2l0aCByZXF1aXJlZCBhbmQgaGFzTWFueScsICgpID0+IHtcbiAgICAgIGxldCB2YWxcbiAgICAgIG9wdGlvbnMuaGFzTWFueSA9IHRydWVcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCh2YWwsIG9wdGlvbnNSZXF1aXJlZClcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHByZXZlbnQgZW1wdHkgYXJyYXkgaW5wdXQgd2l0aCByZXF1aXJlZCBhbmQgaGFzTWFueScsICgpID0+IHtcbiAgICAgIG9wdGlvbnNSZXF1aXJlZC5oYXNNYW55ID0gdHJ1ZVxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VsZWN0KFtdLCBvcHRpb25zUmVxdWlyZWQpXG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBwcmV2ZW50IGVtcHR5IHN0cmluZyBhcnJheSBpbnB1dCB3aXRoIHJlcXVpcmVkIGFuZCBoYXNNYW55JywgKCkgPT4ge1xuICAgICAgb3B0aW9ucy5oYXNNYW55ID0gdHJ1ZVxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VsZWN0KFsnJ10sIG9wdGlvbnNSZXF1aXJlZClcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHByZXZlbnQgbnVsbCBpbnB1dCB3aXRoIHJlcXVpcmVkIGFuZCBoYXNNYW55JywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gbnVsbFxuICAgICAgb3B0aW9ucy5oYXNNYW55ID0gdHJ1ZVxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VsZWN0KHZhbCwgb3B0aW9uc1JlcXVpcmVkKVxuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvU3RyaWN0RXF1YWwodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgYWxsb3cgdmFsaWQgaW5wdXQgd2l0aCBvcHRpb24gb2JqZWN0cycsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICdvbmUnXG4gICAgICBvcHRpb25zLmhhc01hbnkgPSBmYWxzZVxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VsZWN0KHZhbCwgb3B0aW9uc1JlcXVpcmVkKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBwcmV2ZW50IGludmFsaWQgaW5wdXQgd2l0aCBvcHRpb24gb2JqZWN0cycsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICdiYWQnXG4gICAgICBvcHRpb25zLmhhc01hbnkgPSBmYWxzZVxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VsZWN0KHZhbCwgb3B0aW9uc1JlcXVpcmVkKVxuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvU3RyaWN0RXF1YWwodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgYWxsb3cgZW1wdHkgc3RyaW5nIGlucHV0IHdpdGggb3B0aW9uIG9iamVjdCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICcnXG4gICAgICBjb25zdCByZXN1bHQgPSBzZWxlY3QodmFsLCBvcHRpb25zV2l0aEVtcHR5U3RyaW5nKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBhbGxvdyBlbXB0eSBzdHJpbmcgaW5wdXQgd2l0aCBvcHRpb24gb2JqZWN0IGFuZCByZXF1aXJlZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICcnXG4gICAgICBvcHRpb25zV2l0aEVtcHR5U3RyaW5nLnJlcXVpcmVkID0gdHJ1ZVxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VsZWN0KHZhbCwgb3B0aW9uc1dpdGhFbXB0eVN0cmluZylcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvU3RyaWN0RXF1YWwodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgYWxsb3cgdmFsaWQgaW5wdXQgd2l0aCBoYXNNYW55JywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gWydvbmUnLCAndHdvJ11cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCh2YWwsIHNlbGVjdE9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHByZXZlbnQgaW52YWxpZCBpbnB1dCB3aXRoIGhhc01hbnknLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbJ29uZScsICdiYWQnXVxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VsZWN0KHZhbCwgc2VsZWN0T3B0aW9ucylcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGFsbG93IHZhbGlkIGlucHV0IHdpdGggaGFzTWFueSBvcHRpb24gb2JqZWN0cycsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IFsnb25lJywgJ3RocmVlJ11cbiAgICAgIG9wdGlvbnNSZXF1aXJlZC5oYXNNYW55ID0gdHJ1ZVxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VsZWN0KHZhbCwgb3B0aW9uc1JlcXVpcmVkKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBwcmV2ZW50IGludmFsaWQgaW5wdXQgd2l0aCBoYXNNYW55IG9wdGlvbiBvYmplY3RzJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gWyd0aHJlZScsICdiYWQnXVxuICAgICAgb3B0aW9uc1JlcXVpcmVkLmhhc01hbnkgPSB0cnVlXG4gICAgICBjb25zdCByZXN1bHQgPSBzZWxlY3QodmFsLCBvcHRpb25zUmVxdWlyZWQpXG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gIH0pXG4gIGRlc2NyaWJlKCdudW1iZXInLCAoKSA9PiB7XG4gICAgY29uc3QgbnVtYmVyT3B0aW9ucyA9IHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBuYW1lOiAndGVzdCcsXG4gICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICB9XG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IDFcbiAgICAgIGNvbnN0IHJlc3VsdCA9IG51bWJlcih2YWwsIG51bWJlck9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIDAnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAwXG4gICAgICBjb25zdCByZXN1bHQgPSBudW1iZXIodmFsLCB7IC4uLm51bWJlck9wdGlvbnMsIHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIDInLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAxLjVcbiAgICAgIGNvbnN0IHJlc3VsdCA9IG51bWJlcih2YWwsIG51bWJlck9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHNob3cgaW52YWxpZCBudW1iZXIgbWVzc2FnZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICd0ZXN0J1xuICAgICAgY29uc3QgcmVzdWx0ID0gbnVtYmVyKHZhbCwgeyAuLi5udW1iZXJPcHRpb25zIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKCd2YWxpZGF0aW9uOmVudGVyTnVtYmVyJylcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgaGFuZGxlIGVtcHR5IHZhbHVlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gJydcbiAgICAgIGNvbnN0IHJlc3VsdCA9IG51bWJlcih2YWwsIHsgLi4ubnVtYmVyT3B0aW9ucyB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgcmVxdWlyZWQgdmFsdWUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAnJ1xuICAgICAgY29uc3QgcmVzdWx0ID0gbnVtYmVyKHZhbCwgeyAuLi5udW1iZXJPcHRpb25zLCByZXF1aXJlZDogdHJ1ZSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIG1pblZhbHVlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gMi40XG4gICAgICBjb25zdCByZXN1bHQgPSBudW1iZXIodmFsLCB7IC4uLm51bWJlck9wdGlvbnMsIG1pbjogMi41IH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKCd2YWxpZGF0aW9uOmxlc3NUaGFuTWluJylcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgbWF4VmFsdWUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAxLjI1XG4gICAgICBjb25zdCByZXN1bHQgPSBudW1iZXIodmFsLCB7IC4uLm51bWJlck9wdGlvbnMsIG1heDogMSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndmFsaWRhdGlvbjpncmVhdGVyVGhhbk1heCcpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGFuIGFycmF5IG9mIG51bWJlcnMnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbMS4yNSwgMi41XVxuICAgICAgY29uc3QgcmVzdWx0ID0gbnVtYmVyKHZhbCwgeyAuLi5udW1iZXJPcHRpb25zLCBoYXNNYW55OiB0cnVlIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGFuIGFycmF5IG9mIG51bWJlcnMgdXNpbmcgbWluJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gWzEuMjUsIDIuNV1cbiAgICAgIGNvbnN0IHJlc3VsdCA9IG51bWJlcih2YWwsIHsgLi4ubnVtYmVyT3B0aW9ucywgaGFzTWFueTogdHJ1ZSwgbWluOiAzIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKCd2YWxpZGF0aW9uOmxlc3NUaGFuTWluJylcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgYW4gYXJyYXkgb2YgbnVtYmVycyB1c2luZyBtYXgnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbMS4yNSwgMi41XVxuICAgICAgY29uc3QgcmVzdWx0ID0gbnVtYmVyKHZhbCwgeyAuLi5udW1iZXJPcHRpb25zLCBoYXNNYW55OiB0cnVlLCBtYXg6IDEgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoJ3ZhbGlkYXRpb246Z3JlYXRlclRoYW5NYXgnKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBhbiBhcnJheSBvZiBudW1iZXJzIHVzaW5nIG1pblJvd3MnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbMS4yNSwgMi41XVxuICAgICAgY29uc3QgcmVzdWx0ID0gbnVtYmVyKHZhbCwgeyAuLi5udW1iZXJPcHRpb25zLCBoYXNNYW55OiB0cnVlLCBtaW5Sb3dzOiA0IH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKCd2YWxpZGF0aW9uOnJlcXVpcmVzQXRMZWFzdCcpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGFuIGFycmF5IG9mIG51bWJlcnMgdXNpbmcgbWF4Um93cycsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IFsxLjI1LCAyLjUsIDMuNV1cbiAgICAgIGNvbnN0IHJlc3VsdCA9IG51bWJlcih2YWwsIHsgLi4ubnVtYmVyT3B0aW9ucywgaGFzTWFueTogdHJ1ZSwgbWF4Um93czogMiB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndmFsaWRhdGlvbjpyZXF1aXJlc05vTW9yZVRoYW4nKVxuICAgIH0pXG4gIH0pXG59KVxuIl0sIm5hbWVzIjpbIm51bWJlciIsInBhc3N3b3JkIiwicG9pbnQiLCJyZWxhdGlvbnNoaXAiLCJzZWxlY3QiLCJ0ZXh0IiwidGV4dGFyZWEiLCJ0IiwiamVzdCIsImZuIiwic3RyaW5nIiwib3B0aW9ucyIsImRhdGEiLCJ1bmRlZmluZWQiLCJvcGVyYXRpb24iLCJzaWJsaW5nRGF0YSIsInJlcSIsImNvbnRleHQiLCJwYXlsb2FkIiwiY29uZmlnIiwiZGVzY3JpYmUiLCJpdCIsInZhbCIsInJlc3VsdCIsImV4cGVjdCIsInRvQmUiLCJyZXF1aXJlZCIsIm1heExlbmd0aCIsIm1pbkxlbmd0aCIsImhhc01hbnkiLCJmaWVsZCIsIm5hbWUiLCJ0eXBlIiwicGFzc3dvcmRPcHRpb25zIiwicG9pbnRPcHRpb25zIiwibm90IiwicmVsYXRpb25Db2xsZWN0aW9uIiwiZmllbGRzIiwic2x1ZyIsInJlbGF0aW9uc2hpcE9wdGlvbnMiLCJjb2xsZWN0aW9ucyIsInJlbGF0aW9uIiwicmVsYXRpb25UbyIsIm1pbk9wdGlvbnMiLCJtaW5Sb3dzIiwiYWxsb3dlZCIsInRvU3RyaWN0RXF1YWwiLCJtYXhPcHRpb25zIiwibWF4Um93cyIsInNlbGVjdE9wdGlvbnMiLCJvcHRpb25zUmVxdWlyZWQiLCJsYWJlbCIsInZhbHVlIiwib3B0aW9uc1dpdGhFbXB0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
|
|
654
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZHMvdmFsaWRhdGlvbnMuc3BlYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFZhbGlkYXRlT3B0aW9ucyB9IGZyb20gJy4vY29uZmlnL3R5cGVzLmpzJ1xuXG5pbXBvcnQgeyBudW1iZXIsIHBhc3N3b3JkLCBwb2ludCwgcmVsYXRpb25zaGlwLCBzZWxlY3QsIHRleHQsIHRleHRhcmVhIH0gZnJvbSAnLi92YWxpZGF0aW9ucy5qcydcblxuY29uc3QgdCA9IGplc3QuZm4oKHN0cmluZykgPT4gc3RyaW5nKVxuXG5sZXQgb3B0aW9uczogVmFsaWRhdGVPcHRpb25zPGFueSwgYW55PiA9IHtcbiAgZGF0YTogdW5kZWZpbmVkLFxuICBvcGVyYXRpb246ICdjcmVhdGUnLFxuICBzaWJsaW5nRGF0YTogdW5kZWZpbmVkLFxuICByZXE6IHtcbiAgICB0LFxuICAgIGNvbnRleHQ6IHt9LFxuICAgIHBheWxvYWQ6IHtcbiAgICAgIGNvbmZpZzoge30sXG4gICAgfSxcbiAgfSxcbn1cblxuZGVzY3JpYmUoJ0ZpZWxkIFZhbGlkYXRpb25zJywgKCkgPT4ge1xuICBkZXNjcmliZSgndGV4dCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gJ3Rlc3QnXG4gICAgICBjb25zdCByZXN1bHQgPSB0ZXh0KHZhbCwgb3B0aW9ucylcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgc2hvdyByZXF1aXJlZCBtZXNzYWdlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gdW5kZWZpbmVkXG4gICAgICBjb25zdCByZXN1bHQgPSB0ZXh0KHZhbCwgeyAuLi5vcHRpb25zLCByZXF1aXJlZDogdHJ1ZSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGhhbmRsZSB1bmRlZmluZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSB1bmRlZmluZWRcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRleHQodmFsLCBvcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBtYXhMZW5ndGgnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAndG9vbG9uZydcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRleHQodmFsLCB7IC4uLm9wdGlvbnMsIG1heExlbmd0aDogNSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndmFsaWRhdGlvbjpzaG9ydGVyVGhhbk1heCcpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIG1pbkxlbmd0aCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICdzaG9ydCdcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRleHQodmFsLCB7IC4uLm9wdGlvbnMsIG1pbkxlbmd0aDogMTAgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoJ3ZhbGlkYXRpb246bG9uZ2VyVGhhbk1pbicpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIG1heExlbmd0aCB3aXRoIG5vIHZhbHVlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gdW5kZWZpbmVkXG4gICAgICBjb25zdCByZXN1bHQgPSB0ZXh0KHZhbCwgeyAuLi5vcHRpb25zLCBtYXhMZW5ndGg6IDUgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgbWluTGVuZ3RoIHdpdGggbm8gdmFsdWUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSB1bmRlZmluZWRcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRleHQodmFsLCB7IC4uLm9wdGlvbnMsIG1pbkxlbmd0aDogMTAgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgYW4gYXJyYXkgb2YgdGV4dHMnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbJ3Rlc3QnXVxuICAgICAgY29uc3QgcmVzdWx0ID0gdGV4dCh2YWwsIHsgLi4ub3B0aW9ucywgaGFzTWFueTogdHJ1ZSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgcmVxdWlyZWQgYXJyYXkgb2YgdGV4dHMnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbJ3Rlc3QnXVxuICAgICAgY29uc3QgcmVzdWx0ID0gdGV4dCh2YWwsIHsgLi4ub3B0aW9ucywgaGFzTWFueTogdHJ1ZSwgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICB9KVxuXG4gIGRlc2NyaWJlKCd0ZXh0YXJlYScsICgpID0+IHtcbiAgICBvcHRpb25zID0geyAuLi5vcHRpb25zLCBmaWVsZDogeyBuYW1lOiAndGVzdCcsIHR5cGU6ICd0ZXh0YXJlYScgfSB9XG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICd0ZXN0J1xuICAgICAgY29uc3QgcmVzdWx0ID0gdGV4dGFyZWEodmFsLCBvcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBzaG93IHJlcXVpcmVkIG1lc3NhZ2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSB1bmRlZmluZWRcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRleHRhcmVhKHZhbCwgeyAuLi5vcHRpb25zLCByZXF1aXJlZDogdHJ1ZSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndmFsaWRhdGlvbjpyZXF1aXJlZCcpXG4gICAgfSlcblxuICAgIGl0KCdzaG91bGQgaGFuZGxlIHVuZGVmaW5lZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IHVuZGVmaW5lZFxuICAgICAgY29uc3QgcmVzdWx0ID0gdGV4dGFyZWEodmFsLCBvcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBtYXhMZW5ndGgnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAndG9vbG9uZydcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRleHRhcmVhKHZhbCwgeyAuLi5vcHRpb25zLCBtYXhMZW5ndGg6IDUgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoJ3ZhbGlkYXRpb246c2hvcnRlclRoYW5NYXgnKVxuICAgIH0pXG5cbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIG1pbkxlbmd0aCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICdzaG9ydCdcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHRleHRhcmVhKHZhbCwgeyAuLi5vcHRpb25zLCBtaW5MZW5ndGg6IDEwIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKCd2YWxpZGF0aW9uOmxvbmdlclRoYW5NaW4nKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBtYXhMZW5ndGggd2l0aCBubyB2YWx1ZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IHVuZGVmaW5lZFxuICAgICAgY29uc3QgcmVzdWx0ID0gdGV4dGFyZWEodmFsLCB7IC4uLm9wdGlvbnMsIG1heExlbmd0aDogNSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBtaW5MZW5ndGggd2l0aCBubyB2YWx1ZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IHVuZGVmaW5lZFxuICAgICAgY29uc3QgcmVzdWx0ID0gdGV4dGFyZWEodmFsLCB7IC4uLm9wdGlvbnMsIG1pbkxlbmd0aDogMTAgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICB9KVxuXG4gIGRlc2NyaWJlKCdwYXNzd29yZCcsICgpID0+IHtcbiAgICBjb25zdCBwYXNzd29yZE9wdGlvbnMgPSB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgbmFtZTogJ3Rlc3QnLFxuICAgICAgdHlwZTogJ3Bhc3N3b3JkJyxcbiAgICB9XG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICd0ZXN0J1xuICAgICAgY29uc3QgcmVzdWx0ID0gcGFzc3dvcmQodmFsLCBwYXNzd29yZE9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHNob3cgcmVxdWlyZWQgbWVzc2FnZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IHVuZGVmaW5lZFxuICAgICAgY29uc3QgcmVzdWx0ID0gcGFzc3dvcmQodmFsLCB7IC4uLnBhc3N3b3JkT3B0aW9ucywgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgdW5kZWZpbmVkJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gdW5kZWZpbmVkXG4gICAgICBjb25zdCByZXN1bHQgPSBwYXNzd29yZCh2YWwsIHBhc3N3b3JkT3B0aW9ucylcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgbWF4TGVuZ3RoJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gJ3Rvb2xvbmcnXG4gICAgICBjb25zdCByZXN1bHQgPSBwYXNzd29yZCh2YWwsIHsgLi4ucGFzc3dvcmRPcHRpb25zLCBtYXhMZW5ndGg6IDUgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoJ3ZhbGlkYXRpb246c2hvcnRlclRoYW5NYXgnKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBtaW5MZW5ndGgnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAnc2hvcnQnXG4gICAgICBjb25zdCByZXN1bHQgPSBwYXNzd29yZCh2YWwsIHsgLi4ucGFzc3dvcmRPcHRpb25zLCBtaW5MZW5ndGg6IDEwIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKCd2YWxpZGF0aW9uOmxvbmdlclRoYW5NaW4nKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBtYXhMZW5ndGggd2l0aCBubyB2YWx1ZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IHVuZGVmaW5lZFxuICAgICAgY29uc3QgcmVzdWx0ID0gcGFzc3dvcmQodmFsLCB7IC4uLnBhc3N3b3JkT3B0aW9ucywgbWF4TGVuZ3RoOiA1IH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIG1pbkxlbmd0aCB3aXRoIG5vIHZhbHVlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gdW5kZWZpbmVkXG4gICAgICBjb25zdCByZXN1bHQgPSBwYXNzd29yZCh2YWwsIHsgLi4ucGFzc3dvcmRPcHRpb25zLCBtaW5MZW5ndGg6IDEwIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgfSlcblxuICBkZXNjcmliZSgncG9pbnQnLCAoKSA9PiB7XG4gICAgY29uc3QgcG9pbnRPcHRpb25zID0ge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIG5hbWU6ICdwb2ludCcsXG4gICAgICB0eXBlOiAncG9pbnQnLFxuICAgIH1cbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIG51bWJlcnMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbJzAuMScsICcwLjInXVxuICAgICAgY29uc3QgcmVzdWx0ID0gcG9pbnQodmFsLCBwb2ludE9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIHN0cmluZ3MgdGhhdCBjb3VsZCBiZSBudW1iZXJzJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gWycwLjEnLCAnMC4yJ11cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBvaW50KHZhbCwgcG9pbnRPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBzaG93IHJlcXVpcmVkIG1lc3NhZ2Ugd2hlbiB1bmRlZmluZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSB1bmRlZmluZWRcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHBvaW50KHZhbCwgeyAuLi5wb2ludE9wdGlvbnMsIHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBzaG93IHJlcXVpcmVkIG1lc3NhZ2Ugd2hlbiBhcnJheScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IFtdXG4gICAgICBjb25zdCByZXN1bHQgPSBwb2ludCh2YWwsIHsgLi4ucG9pbnRPcHRpb25zLCByZXF1aXJlZDogdHJ1ZSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgc2hvdyByZXF1aXJlZCBtZXNzYWdlIHdoZW4gYXJyYXkgb2YgdW5kZWZpbmVkJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gW3VuZGVmaW5lZCwgdW5kZWZpbmVkXVxuICAgICAgY29uc3QgcmVzdWx0ID0gcG9pbnQodmFsLCB7IC4uLnBvaW50T3B0aW9ucywgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b0JlKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGhhbmRsZSB1bmRlZmluZWQgbm90IHJlcXVpcmVkJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gdW5kZWZpbmVkXG4gICAgICBjb25zdCByZXN1bHQgPSBwYXNzd29yZCh2YWwsIHBvaW50T3B0aW9ucylcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgaGFuZGxlIGVtcHR5IGFycmF5IG5vdCByZXF1aXJlZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IFtdXG4gICAgICBjb25zdCByZXN1bHQgPSBwb2ludCh2YWwsIHBvaW50T3B0aW9ucylcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgaGFuZGxlIGFycmF5IG9mIHVuZGVmaW5lZCBub3QgcmVxdWlyZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbdW5kZWZpbmVkLCB1bmRlZmluZWRdXG4gICAgICBjb25zdCByZXN1bHQgPSBwb2ludCh2YWwsIHBvaW50T3B0aW9ucylcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgcHJldmVudCB0ZXh0IGlucHV0JywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gWydiYWQnLCAnaW5wdXQnXVxuICAgICAgY29uc3QgcmVzdWx0ID0gcG9pbnQodmFsLCBwb2ludE9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBwcmV2ZW50IG1pc3NpbmcgdmFsdWUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbMC4xXVxuICAgICAgY29uc3QgcmVzdWx0ID0gcG9pbnQodmFsLCBwb2ludE9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9CZSh0cnVlKVxuICAgIH0pXG4gIH0pXG5cbiAgZGVzY3JpYmUoJ3JlbGF0aW9uc2hpcCcsICgpID0+IHtcbiAgICBjb25zdCByZWxhdGlvbkNvbGxlY3Rpb24gPSB7XG4gICAgICBmaWVsZHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdpZCcsXG4gICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHNsdWc6ICdyZWxhdGlvbicsXG4gICAgfVxuXG4gICAgY29uc3QgcmVsYXRpb25zaGlwT3B0aW9ucyA9IHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICByZXE6IHtcbiAgICAgICAgLi4ub3B0aW9ucy5yZXEsXG4gICAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgICAuLi5vcHRpb25zLnJlcS5wYXlsb2FkLFxuICAgICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgICAgY29sbGVjdGlvbnM6IFtyZWxhdGlvbkNvbGxlY3Rpb25dLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgY29sbGVjdGlvbnM6IHtcbiAgICAgICAgICAgIHJlbGF0aW9uOiB7XG4gICAgICAgICAgICAgIGNvbmZpZzogcmVsYXRpb25Db2xsZWN0aW9uLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHJlbGF0aW9uVG86ICdyZWxhdGlvbicsXG4gICAgfVxuICAgIGl0KCdzaG91bGQgaGFuZGxlIHJlcXVpcmVkJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gdW5kZWZpbmVkXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCByZWxhdGlvbnNoaXAodmFsLCB7IC4uLnJlbGF0aW9uc2hpcE9wdGlvbnMsIHJlcXVpcmVkOiB0cnVlIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBoYW5kbGUgcmVxdWlyZWQgd2l0aCBoYXNNYW55JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gW11cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlbGF0aW9uc2hpcCh2YWwsIHtcbiAgICAgICAgLi4ucmVsYXRpb25zaGlwT3B0aW9ucyxcbiAgICAgICAgaGFzTWFueTogdHJ1ZSxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgZW5mb3JjZSBoYXNNYW55IG1pbicsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IG1pbk9wdGlvbnMgPSB7XG4gICAgICAgIC4uLnJlbGF0aW9uc2hpcE9wdGlvbnMsXG4gICAgICAgIGhhc01hbnk6IHRydWUsXG4gICAgICAgIG1pblJvd3M6IDIsXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHZhbCA9IFsnYSddXG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlbGF0aW9uc2hpcCh2YWwsIG1pbk9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9CZSh0cnVlKVxuXG4gICAgICBjb25zdCBhbGxvd2VkID0gYXdhaXQgcmVsYXRpb25zaGlwKFsnYScsICdiJ10sIG1pbk9wdGlvbnMpXG4gICAgICBleHBlY3QoYWxsb3dlZCkudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBlbmZvcmNlIGhhc01hbnkgbWF4JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgbWF4T3B0aW9ucyA9IHtcbiAgICAgICAgLi4ucmVsYXRpb25zaGlwT3B0aW9ucyxcbiAgICAgICAgaGFzTWFueTogdHJ1ZSxcbiAgICAgICAgbWF4Um93czogMixcbiAgICAgIH1cbiAgICAgIGxldCB2YWwgPSBbJ2EnLCAnYicsICdjJ11cblxuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgcmVsYXRpb25zaGlwKHZhbCwgbWF4T3B0aW9ucylcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b0JlKHRydWUpXG5cbiAgICAgIHZhbCA9IFsnYSddXG4gICAgICBjb25zdCBhbGxvd2VkID0gYXdhaXQgcmVsYXRpb25zaGlwKHZhbCwgbWF4T3B0aW9ucylcbiAgICAgIGV4cGVjdChhbGxvd2VkKS50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgfSlcblxuICBkZXNjcmliZSgnc2VsZWN0JywgKCkgPT4ge1xuICAgIGNvbnN0IHNlbGVjdE9wdGlvbnMgPSB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgb3B0aW9uczogWydvbmUnLCAndHdvJywgJ3RocmVlJ10sXG4gICAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICB9XG4gICAgY29uc3Qgb3B0aW9uc1JlcXVpcmVkID0ge1xuICAgICAgLi4uc2VsZWN0T3B0aW9ucyxcbiAgICAgIG9wdGlvbnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGxhYmVsOiAnT25lJyxcbiAgICAgICAgICB2YWx1ZTogJ29uZScsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ3R3bycsXG4gICAgICAgICAgdmFsdWU6ICd0d28nLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICd0aHJlZScsXG4gICAgICAgICAgdmFsdWU6ICd0aHJlZScsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgfVxuICAgIGNvbnN0IG9wdGlvbnNXaXRoRW1wdHlTdHJpbmcgPSB7XG4gICAgICAuLi5zZWxlY3RPcHRpb25zLFxuICAgICAgb3B0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdOb25lJyxcbiAgICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ09wdGlvbicsXG4gICAgICAgICAgdmFsdWU6ICdvcHRpb24nLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9XG4gICAgaXQoJ3Nob3VsZCBhbGxvdyB2YWxpZCBpbnB1dCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICdvbmUnXG4gICAgICBjb25zdCByZXN1bHQgPSBzZWxlY3QodmFsLCBzZWxlY3RPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBwcmV2ZW50IGludmFsaWQgaW5wdXQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAnYmFkJ1xuICAgICAgY29uc3QgcmVzdWx0ID0gc2VsZWN0KHZhbCwgc2VsZWN0T3B0aW9ucylcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGFsbG93IG51bGwgaW5wdXQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBudWxsXG4gICAgICBjb25zdCByZXN1bHQgPSBzZWxlY3QodmFsLCBzZWxlY3RPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBhbGxvdyB1bmRlZmluZWQgaW5wdXQnLCAoKSA9PiB7XG4gICAgICBsZXQgdmFsXG4gICAgICBjb25zdCByZXN1bHQgPSBzZWxlY3QodmFsLCBzZWxlY3RPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBwcmV2ZW50IGVtcHR5IHN0cmluZyBpbnB1dCcsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICcnXG4gICAgICBjb25zdCByZXN1bHQgPSBzZWxlY3QodmFsLCBzZWxlY3RPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvU3RyaWN0RXF1YWwodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgcHJldmVudCB1bmRlZmluZWQgaW5wdXQgd2l0aCByZXF1aXJlZCcsICgpID0+IHtcbiAgICAgIGxldCB2YWxcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCh2YWwsIG9wdGlvbnNSZXF1aXJlZClcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHByZXZlbnQgZW1wdHkgc3RyaW5nIGlucHV0IHdpdGggcmVxdWlyZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBzZWxlY3QoJycsIG9wdGlvbnNSZXF1aXJlZClcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHByZXZlbnQgdW5kZWZpbmVkIGlucHV0IHdpdGggcmVxdWlyZWQgYW5kIGhhc01hbnknLCAoKSA9PiB7XG4gICAgICBsZXQgdmFsXG4gICAgICBvcHRpb25zLmhhc01hbnkgPSB0cnVlXG4gICAgICBjb25zdCByZXN1bHQgPSBzZWxlY3QodmFsLCBvcHRpb25zUmVxdWlyZWQpXG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBwcmV2ZW50IGVtcHR5IGFycmF5IGlucHV0IHdpdGggcmVxdWlyZWQgYW5kIGhhc01hbnknLCAoKSA9PiB7XG4gICAgICBvcHRpb25zUmVxdWlyZWQuaGFzTWFueSA9IHRydWVcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdChbXSwgb3B0aW9uc1JlcXVpcmVkKVxuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvU3RyaWN0RXF1YWwodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgcHJldmVudCBlbXB0eSBzdHJpbmcgYXJyYXkgaW5wdXQgd2l0aCByZXF1aXJlZCBhbmQgaGFzTWFueScsICgpID0+IHtcbiAgICAgIG9wdGlvbnMuaGFzTWFueSA9IHRydWVcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdChbJyddLCBvcHRpb25zUmVxdWlyZWQpXG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBwcmV2ZW50IG51bGwgaW5wdXQgd2l0aCByZXF1aXJlZCBhbmQgaGFzTWFueScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IG51bGxcbiAgICAgIG9wdGlvbnMuaGFzTWFueSA9IHRydWVcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCh2YWwsIG9wdGlvbnNSZXF1aXJlZClcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGFsbG93IHZhbGlkIGlucHV0IHdpdGggb3B0aW9uIG9iamVjdHMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAnb25lJ1xuICAgICAgb3B0aW9ucy5oYXNNYW55ID0gZmFsc2VcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCh2YWwsIG9wdGlvbnNSZXF1aXJlZClcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvU3RyaWN0RXF1YWwodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgcHJldmVudCBpbnZhbGlkIGlucHV0IHdpdGggb3B0aW9uIG9iamVjdHMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAnYmFkJ1xuICAgICAgb3B0aW9ucy5oYXNNYW55ID0gZmFsc2VcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCh2YWwsIG9wdGlvbnNSZXF1aXJlZClcbiAgICAgIGV4cGVjdChyZXN1bHQpLm5vdC50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGFsbG93IGVtcHR5IHN0cmluZyBpbnB1dCB3aXRoIG9wdGlvbiBvYmplY3QnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAnJ1xuICAgICAgY29uc3QgcmVzdWx0ID0gc2VsZWN0KHZhbCwgb3B0aW9uc1dpdGhFbXB0eVN0cmluZylcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvU3RyaWN0RXF1YWwodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgYWxsb3cgZW1wdHkgc3RyaW5nIGlucHV0IHdpdGggb3B0aW9uIG9iamVjdCBhbmQgcmVxdWlyZWQnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAnJ1xuICAgICAgb3B0aW9uc1dpdGhFbXB0eVN0cmluZy5yZXF1aXJlZCA9IHRydWVcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCh2YWwsIG9wdGlvbnNXaXRoRW1wdHlTdHJpbmcpXG4gICAgICBleHBlY3QocmVzdWx0KS50b1N0cmljdEVxdWFsKHRydWUpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGFsbG93IHZhbGlkIGlucHV0IHdpdGggaGFzTWFueScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IFsnb25lJywgJ3R3byddXG4gICAgICBjb25zdCByZXN1bHQgPSBzZWxlY3QodmFsLCBzZWxlY3RPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBwcmV2ZW50IGludmFsaWQgaW5wdXQgd2l0aCBoYXNNYW55JywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gWydvbmUnLCAnYmFkJ11cbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCh2YWwsIHNlbGVjdE9wdGlvbnMpXG4gICAgICBleHBlY3QocmVzdWx0KS5ub3QudG9TdHJpY3RFcXVhbCh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBhbGxvdyB2YWxpZCBpbnB1dCB3aXRoIGhhc01hbnkgb3B0aW9uIG9iamVjdHMnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbJ29uZScsICd0aHJlZSddXG4gICAgICBvcHRpb25zUmVxdWlyZWQuaGFzTWFueSA9IHRydWVcbiAgICAgIGNvbnN0IHJlc3VsdCA9IHNlbGVjdCh2YWwsIG9wdGlvbnNSZXF1aXJlZClcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvU3RyaWN0RXF1YWwodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgcHJldmVudCBpbnZhbGlkIGlucHV0IHdpdGggaGFzTWFueSBvcHRpb24gb2JqZWN0cycsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IFsndGhyZWUnLCAnYmFkJ11cbiAgICAgIG9wdGlvbnNSZXF1aXJlZC5oYXNNYW55ID0gdHJ1ZVxuICAgICAgY29uc3QgcmVzdWx0ID0gc2VsZWN0KHZhbCwgb3B0aW9uc1JlcXVpcmVkKVxuICAgICAgZXhwZWN0KHJlc3VsdCkubm90LnRvU3RyaWN0RXF1YWwodHJ1ZSlcbiAgICB9KVxuICB9KVxuICBkZXNjcmliZSgnbnVtYmVyJywgKCkgPT4ge1xuICAgIGNvbnN0IG51bWJlck9wdGlvbnMgPSB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgbmFtZTogJ3Rlc3QnLFxuICAgICAgdHlwZTogJ251bWJlcicsXG4gICAgfVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAxXG4gICAgICBjb25zdCByZXN1bHQgPSBudW1iZXIodmFsLCBudW1iZXJPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSAwJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gMFxuICAgICAgY29uc3QgcmVzdWx0ID0gbnVtYmVyKHZhbCwgeyAuLi5udW1iZXJPcHRpb25zLCByZXF1aXJlZDogdHJ1ZSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSAyJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gMS41XG4gICAgICBjb25zdCByZXN1bHQgPSBudW1iZXIodmFsLCBudW1iZXJPcHRpb25zKVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCBzaG93IGludmFsaWQgbnVtYmVyIG1lc3NhZ2UnLCAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSAndGVzdCdcbiAgICAgIGNvbnN0IHJlc3VsdCA9IG51bWJlcih2YWwsIHsgLi4ubnVtYmVyT3B0aW9ucyB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndmFsaWRhdGlvbjplbnRlck51bWJlcicpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIGhhbmRsZSBlbXB0eSB2YWx1ZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9ICcnXG4gICAgICBjb25zdCByZXN1bHQgPSBudW1iZXIodmFsLCB7IC4uLm51bWJlck9wdGlvbnMgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUodHJ1ZSlcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgaGFuZGxlIHJlcXVpcmVkIHZhbHVlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gJydcbiAgICAgIGNvbnN0IHJlc3VsdCA9IG51bWJlcih2YWwsIHsgLi4ubnVtYmVyT3B0aW9ucywgcmVxdWlyZWQ6IHRydWUgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoJ3ZhbGlkYXRpb246cmVxdWlyZWQnKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBtaW5WYWx1ZScsICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IDIuNFxuICAgICAgY29uc3QgcmVzdWx0ID0gbnVtYmVyKHZhbCwgeyAuLi5udW1iZXJPcHRpb25zLCBtaW46IDIuNSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndmFsaWRhdGlvbjpsZXNzVGhhbk1pbicpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIG1heFZhbHVlJywgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gMS4yNVxuICAgICAgY29uc3QgcmVzdWx0ID0gbnVtYmVyKHZhbCwgeyAuLi5udW1iZXJPcHRpb25zLCBtYXg6IDEgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoJ3ZhbGlkYXRpb246Z3JlYXRlclRoYW5NYXgnKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBhbiBhcnJheSBvZiBudW1iZXJzJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gWzEuMjUsIDIuNV1cbiAgICAgIGNvbnN0IHJlc3VsdCA9IG51bWJlcih2YWwsIHsgLi4ubnVtYmVyT3B0aW9ucywgaGFzTWFueTogdHJ1ZSB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSh0cnVlKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBhbiBhcnJheSBvZiBudW1iZXJzIHVzaW5nIG1pbicsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHZhbCA9IFsxLjI1LCAyLjVdXG4gICAgICBjb25zdCByZXN1bHQgPSBudW1iZXIodmFsLCB7IC4uLm51bWJlck9wdGlvbnMsIGhhc01hbnk6IHRydWUsIG1pbjogMyB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndmFsaWRhdGlvbjpsZXNzVGhhbk1pbicpXG4gICAgfSlcbiAgICBpdCgnc2hvdWxkIHZhbGlkYXRlIGFuIGFycmF5IG9mIG51bWJlcnMgdXNpbmcgbWF4JywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gWzEuMjUsIDIuNV1cbiAgICAgIGNvbnN0IHJlc3VsdCA9IG51bWJlcih2YWwsIHsgLi4ubnVtYmVyT3B0aW9ucywgaGFzTWFueTogdHJ1ZSwgbWF4OiAxIH0pXG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKCd2YWxpZGF0aW9uOmdyZWF0ZXJUaGFuTWF4JylcbiAgICB9KVxuICAgIGl0KCdzaG91bGQgdmFsaWRhdGUgYW4gYXJyYXkgb2YgbnVtYmVycyB1c2luZyBtaW5Sb3dzJywgYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3QgdmFsID0gWzEuMjUsIDIuNV1cbiAgICAgIGNvbnN0IHJlc3VsdCA9IG51bWJlcih2YWwsIHsgLi4ubnVtYmVyT3B0aW9ucywgaGFzTWFueTogdHJ1ZSwgbWluUm93czogNCB9KVxuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgndmFsaWRhdGlvbjpyZXF1aXJlc0F0TGVhc3QnKVxuICAgIH0pXG4gICAgaXQoJ3Nob3VsZCB2YWxpZGF0ZSBhbiBhcnJheSBvZiBudW1iZXJzIHVzaW5nIG1heFJvd3MnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCB2YWwgPSBbMS4yNSwgMi41LCAzLjVdXG4gICAgICBjb25zdCByZXN1bHQgPSBudW1iZXIodmFsLCB7IC4uLm51bWJlck9wdGlvbnMsIGhhc01hbnk6IHRydWUsIG1heFJvd3M6IDIgfSlcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmUoJ3ZhbGlkYXRpb246cmVxdWlyZXNOb01vcmVUaGFuJylcbiAgICB9KVxuICB9KVxufSlcbiJdLCJuYW1lcyI6WyJudW1iZXIiLCJwYXNzd29yZCIsInBvaW50IiwicmVsYXRpb25zaGlwIiwic2VsZWN0IiwidGV4dCIsInRleHRhcmVhIiwidCIsImplc3QiLCJmbiIsInN0cmluZyIsIm9wdGlvbnMiLCJkYXRhIiwidW5kZWZpbmVkIiwib3BlcmF0aW9uIiwic2libGluZ0RhdGEiLCJyZXEiLCJjb250ZXh0IiwicGF5bG9hZCIsImNvbmZpZyIsImRlc2NyaWJlIiwiaXQiLCJ2YWwiLCJyZXN1bHQiLCJleHBlY3QiLCJ0b0JlIiwicmVxdWlyZWQiLCJtYXhMZW5ndGgiLCJtaW5MZW5ndGgiLCJoYXNNYW55IiwiZmllbGQiLCJuYW1lIiwidHlwZSIsInBhc3N3b3JkT3B0aW9ucyIsInBvaW50T3B0aW9ucyIsIm5vdCIsInJlbGF0aW9uQ29sbGVjdGlvbiIsImZpZWxkcyIsInNsdWciLCJyZWxhdGlvbnNoaXBPcHRpb25zIiwiY29sbGVjdGlvbnMiLCJyZWxhdGlvbiIsInJlbGF0aW9uVG8iLCJtaW5PcHRpb25zIiwibWluUm93cyIsImFsbG93ZWQiLCJ0b1N0cmljdEVxdWFsIiwibWF4T3B0aW9ucyIsIm1heFJvd3MiLCJzZWxlY3RPcHRpb25zIiwib3B0aW9uc1JlcXVpcmVkIiwibGFiZWwiLCJ2YWx1ZSIsIm9wdGlvbnNXaXRoRW1wdHlT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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Config } from '../../config/types.
|
|
2
|
-
import type { SanitizedGlobalConfig } from './types.
|
|
1
|
+
import type { Config } from '../../config/types.js';
|
|
2
|
+
import type { SanitizedGlobalConfig } from './types.js';
|
|
3
3
|
declare const sanitizeGlobals: (config: Config) => SanitizedGlobalConfig[];
|
|
4
4
|
export default sanitizeGlobals;
|
|
5
5
|
//# sourceMappingURL=sanitize.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../src/globals/config/sanitize.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"sanitize.d.ts","sourceRoot":"","sources":["../../../src/globals/config/sanitize.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AASvD,QAAA,MAAM,eAAe,WAAY,MAAM,KAAG,qBAAqB,EA8F9D,CAAA;AAED,eAAe,eAAe,CAAA"}
|
|
@@ -91,4 +91,4 @@ const sanitizeGlobals = (config)=>{
|
|
|
91
91
|
};
|
|
92
92
|
export default sanitizeGlobals;
|
|
93
93
|
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9nbG9iYWxzL2NvbmZpZy9zYW5pdGl6ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0cmFuc2xhdGlvbnMgfSBmcm9tICdAcGF5bG9hZGNtcy90cmFuc2xhdGlvbnMvYXBpJ1xuXG5pbXBvcnQgdHlwZSB7IENvbmZpZyB9IGZyb20gJy4uLy4uL2NvbmZpZy90eXBlcy5qcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkR2xvYmFsQ29uZmlnIH0gZnJvbSAnLi90eXBlcy5qcydcblxuaW1wb3J0IGRlZmF1bHRBY2Nlc3MgZnJvbSAnLi4vLi4vYXV0aC9kZWZhdWx0QWNjZXNzLmpzJ1xuaW1wb3J0IHsgc2FuaXRpemVGaWVsZHMgfSBmcm9tICcuLi8uLi9maWVsZHMvY29uZmlnL3Nhbml0aXplLmpzJ1xuaW1wb3J0IHsgZmllbGRBZmZlY3RzRGF0YSB9IGZyb20gJy4uLy4uL2ZpZWxkcy9jb25maWcvdHlwZXMuanMnXG5pbXBvcnQgbWVyZ2VCYXNlRmllbGRzIGZyb20gJy4uLy4uL2ZpZWxkcy9tZXJnZUJhc2VGaWVsZHMuanMnXG5pbXBvcnQgeyB0b1dvcmRzIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2Zvcm1hdExhYmVscy5qcydcbmltcG9ydCBiYXNlVmVyc2lvbkZpZWxkcyBmcm9tICcuLi8uLi92ZXJzaW9ucy9iYXNlRmllbGRzLmpzJ1xuXG5jb25zdCBzYW5pdGl6ZUdsb2JhbHMgPSAoY29uZmlnOiBDb25maWcpOiBTYW5pdGl6ZWRHbG9iYWxDb25maWdbXSA9PiB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbnMsIGdsb2JhbHMgfSA9IGNvbmZpZ1xuXG4gIGNvbnN0IHNhbml0aXplZEdsb2JhbHMgPSBnbG9iYWxzLm1hcCgoZ2xvYmFsKSA9PiB7XG4gICAgY29uc3Qgc2FuaXRpemVkR2xvYmFsID0geyAuLi5nbG9iYWwgfVxuXG4gICAgc2FuaXRpemVkR2xvYmFsLmxhYmVsID0gc2FuaXRpemVkR2xvYmFsLmxhYmVsIHx8IHRvV29yZHMoc2FuaXRpemVkR2xvYmFsLnNsdWcpXG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBFbnN1cmUgdGhhdCBjb2xsZWN0aW9uIGhhcyByZXF1aXJlZCBvYmplY3Qgc3RydWN0dXJlXG4gICAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgICBzYW5pdGl6ZWRHbG9iYWwuZW5kcG9pbnRzID0gc2FuaXRpemVkR2xvYmFsLmVuZHBvaW50cyA/PyBbXVxuICAgIGlmICghc2FuaXRpemVkR2xvYmFsLmhvb2tzKSBzYW5pdGl6ZWRHbG9iYWwuaG9va3MgPSB7fVxuICAgIGlmICghc2FuaXRpemVkR2xvYmFsLmFjY2Vzcykgc2FuaXRpemVkR2xvYmFsLmFjY2VzcyA9IHt9XG4gICAgaWYgKCFzYW5pdGl6ZWRHbG9iYWwuYWRtaW4pIHNhbml0aXplZEdsb2JhbC5hZG1pbiA9IHt9XG5cbiAgICBpZiAoIXNhbml0aXplZEdsb2JhbC5hY2Nlc3MucmVhZCkgc2FuaXRpemVkR2xvYmFsLmFjY2Vzcy5yZWFkID0gZGVmYXVsdEFjY2Vzc1xuICAgIGlmICghc2FuaXRpemVkR2xvYmFsLmFjY2Vzcy51cGRhdGUpIHNhbml0aXplZEdsb2JhbC5hY2Nlc3MudXBkYXRlID0gZGVmYXVsdEFjY2Vzc1xuXG4gICAgaWYgKCFzYW5pdGl6ZWRHbG9iYWwuaG9va3MuYmVmb3JlVmFsaWRhdGUpIHNhbml0aXplZEdsb2JhbC5ob29rcy5iZWZvcmVWYWxpZGF0ZSA9IFtdXG4gICAgaWYgKCFzYW5pdGl6ZWRHbG9iYWwuaG9va3MuYmVmb3JlQ2hhbmdlKSBzYW5pdGl6ZWRHbG9iYWwuaG9va3MuYmVmb3JlQ2hhbmdlID0gW11cbiAgICBpZiAoIXNhbml0aXplZEdsb2JhbC5ob29rcy5hZnRlckNoYW5nZSkgc2FuaXRpemVkR2xvYmFsLmhvb2tzLmFmdGVyQ2hhbmdlID0gW11cbiAgICBpZiAoIXNhbml0aXplZEdsb2JhbC5ob29rcy5iZWZvcmVSZWFkKSBzYW5pdGl6ZWRHbG9iYWwuaG9va3MuYmVmb3JlUmVhZCA9IFtdXG4gICAgaWYgKCFzYW5pdGl6ZWRHbG9iYWwuaG9va3MuYWZ0ZXJSZWFkKSBzYW5pdGl6ZWRHbG9iYWwuaG9va3MuYWZ0ZXJSZWFkID0gW11cblxuICAgIGlmIChzYW5pdGl6ZWRHbG9iYWwudmVyc2lvbnMpIHtcbiAgICAgIGlmIChzYW5pdGl6ZWRHbG9iYWwudmVyc2lvbnMgPT09IHRydWUpIHNhbml0aXplZEdsb2JhbC52ZXJzaW9ucyA9IHsgZHJhZnRzOiBmYWxzZSB9XG5cbiAgICAgIGlmIChzYW5pdGl6ZWRHbG9iYWwudmVyc2lvbnMuZHJhZnRzKSB7XG4gICAgICAgIGlmIChzYW5pdGl6ZWRHbG9iYWwudmVyc2lvbnMuZHJhZnRzID09PSB0cnVlKSB7XG4gICAgICAgICAgc2FuaXRpemVkR2xvYmFsLnZlcnNpb25zLmRyYWZ0cyA9IHtcbiAgICAgICAgICAgIGF1dG9zYXZlOiBmYWxzZSxcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoc2FuaXRpemVkR2xvYmFsLnZlcnNpb25zLmRyYWZ0cy5hdXRvc2F2ZSA9PT0gdHJ1ZSkge1xuICAgICAgICAgIHNhbml0aXplZEdsb2JhbC52ZXJzaW9ucy5kcmFmdHMuYXV0b3NhdmUgPSB7XG4gICAgICAgICAgICBpbnRlcnZhbDogMjAwMCxcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzYW5pdGl6ZWRHbG9iYWwuZmllbGRzID0gbWVyZ2VCYXNlRmllbGRzKHNhbml0aXplZEdsb2JhbC5maWVsZHMsIGJhc2VWZXJzaW9uRmllbGRzKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghc2FuaXRpemVkR2xvYmFsLmN1c3RvbSkgc2FuaXRpemVkR2xvYmFsLmN1c3RvbSA9IHt9XG5cbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICAvLyBTYW5pdGl6ZSBmaWVsZHNcbiAgICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgICBsZXQgaGFzVXBkYXRlZEF0ID0gbnVsbFxuICAgIGxldCBoYXNDcmVhdGVkQXQgPSBudWxsXG4gICAgc2FuaXRpemVkR2xvYmFsLmZpZWxkcy5zb21lKChmaWVsZCkgPT4ge1xuICAgICAgaWYgKGZpZWxkQWZmZWN0c0RhdGEoZmllbGQpKSB7XG4gICAgICAgIGlmIChmaWVsZC5uYW1lID09PSAndXBkYXRlZEF0JykgaGFzVXBkYXRlZEF0ID0gdHJ1ZVxuICAgICAgICBpZiAoZmllbGQubmFtZSA9PT0gJ2NyZWF0ZWRBdCcpIGhhc0NyZWF0ZWRBdCA9IHRydWVcbiAgICAgIH1cbiAgICAgIHJldHVybiBoYXNDcmVhdGVkQXQgJiYgaGFzVXBkYXRlZEF0XG4gICAgfSlcbiAgICBpZiAoIWhhc1VwZGF0ZWRBdCkge1xuICAgICAgc2FuaXRpemVkR2xvYmFsLmZpZWxkcy5wdXNoKHtcbiAgICAgICAgbmFtZTogJ3VwZGF0ZWRBdCcsXG4gICAgICAgIHR5cGU6ICdkYXRlJyxcbiAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICBkaXNhYmxlQnVsa0VkaXQ6IHRydWUsXG4gICAgICAgICAgaGlkZGVuOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICBsYWJlbDogdHJhbnNsYXRpb25zWydnZW5lcmFsOnVwZGF0ZWRBdCddLFxuICAgICAgfSlcbiAgICB9XG4gICAgaWYgKCFoYXNDcmVhdGVkQXQpIHtcbiAgICAgIHNhbml0aXplZEdsb2JhbC5maWVsZHMucHVzaCh7XG4gICAgICAgIG5hbWU6ICdjcmVhdGVkQXQnLFxuICAgICAgICB0eXBlOiAnZGF0ZScsXG4gICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgZGlzYWJsZUJ1bGtFZGl0OiB0cnVlLFxuICAgICAgICAgIGhpZGRlbjogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgbGFiZWw6IHRyYW5zbGF0aW9uc1snZ2VuZXJhbDpjcmVhdGVkQXQnXSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgY29uc3QgdmFsaWRSZWxhdGlvbnNoaXBzID0gY29sbGVjdGlvbnMubWFwKChjKSA9PiBjLnNsdWcpIHx8IFtdXG4gICAgc2FuaXRpemVkR2xvYmFsLmZpZWxkcyA9IHNhbml0aXplRmllbGRzKHtcbiAgICAgIGNvbmZpZyxcbiAgICAgIGZpZWxkczogc2FuaXRpemVkR2xvYmFsLmZpZWxkcyxcbiAgICAgIHZhbGlkUmVsYXRpb25zaGlwcyxcbiAgICB9KVxuXG4gICAgcmV0dXJuIHNhbml0aXplZEdsb2JhbCBhcyBTYW5pdGl6ZWRHbG9iYWxDb25maWdcbiAgfSlcblxuICByZXR1cm4gc2FuaXRpemVkR2xvYmFsc1xufVxuXG5leHBvcnQgZGVmYXVsdCBzYW5pdGl6ZUdsb2JhbHNcbiJdLCJuYW1lcyI6WyJ0cmFuc2xhdGlvbnMiLCJkZWZhdWx0QWNjZXNzIiwic2FuaXRpemVGaWVsZHMiLCJmaWVsZEFmZmVjdHNEYXRhIiwibWVyZ2VCYXNlRmllbGRzIiwidG9Xb3JkcyIsImJhc2VWZXJzaW9uRmllbGRzIiwic2FuaXRpemVHbG9iYWxzIiwiY29uZmlnIiwiY29sbGVjdGlvbnMiLCJnbG9iYWxzIiwic2FuaXRpemVkR2xvYmFscyIsIm1hcCIsImdsb2JhbCIsInNhbml0aXplZEdsb2JhbCIsImxhYmVsIiwic2x1ZyIsImVuZHBvaW50cyIsImhvb2tzIiwiYWNjZXNzIiwiYWRtaW4iLCJyZWFkIiwidXBkYXRlIiwiYmVmb3JlVmFsaWRhdGUiLCJiZWZvcmVDaGFuZ2UiLCJhZnRlckNoYW5nZSIsImJlZm9yZVJlYWQiLCJhZnRlclJlYWQiLCJ2ZXJzaW9ucyIsImRyYWZ0cyIsImF1dG9zYXZlIiwiaW50ZXJ2YWwiLCJmaWVsZHMiLCJjdXN0b20iLCJoYXNVcGRhdGVkQXQiLCJoYXNDcmVhdGVkQXQiLCJzb21lIiwiZmllbGQiLCJuYW1lIiwicHVzaCIsInR5cGUiLCJkaXNhYmxlQnVsa0VkaXQiLCJoaWRkZW4iLCJ2YWxpZFJlbGF0aW9uc2hpcHMiLCJjIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxZQUFZLFFBQVEsK0JBQThCO0FBSzNELE9BQU9DLG1CQUFtQiw4QkFBNkI7QUFDdkQsU0FBU0MsY0FBYyxRQUFRLGtDQUFpQztBQUNoRSxTQUFTQyxnQkFBZ0IsUUFBUSwrQkFBOEI7QUFDL0QsT0FBT0MscUJBQXFCLGtDQUFpQztBQUM3RCxTQUFTQyxPQUFPLFFBQVEsa0NBQWlDO0FBQ3pELE9BQU9DLHVCQUF1QiwrQkFBOEI7QUFFNUQsTUFBTUMsa0JBQWtCLENBQUNDO0lBQ3ZCLE1BQU0sRUFBRUMsV0FBVyxFQUFFQyxPQUFPLEVBQUUsR0FBR0Y7SUFFakMsTUFBTUcsbUJBQW1CRCxRQUFRRSxHQUFHLENBQUMsQ0FBQ0M7UUFDcEMsTUFBTUMsa0JBQWtCO1lBQUUsR0FBR0QsTUFBTTtRQUFDO1FBRXBDQyxnQkFBZ0JDLEtBQUssR0FBR0QsZ0JBQWdCQyxLQUFLLElBQUlWLFFBQVFTLGdCQUFnQkUsSUFBSTtRQUU3RSxvQ0FBb0M7UUFDcEMsdURBQXVEO1FBQ3ZELG9DQUFvQztRQUVwQ0YsZ0JBQWdCRyxTQUFTLEdBQUdILGdCQUFnQkcsU0FBUyxJQUFJLEVBQUU7UUFDM0QsSUFBSSxDQUFDSCxnQkFBZ0JJLEtBQUssRUFBRUosZ0JBQWdCSSxLQUFLLEdBQUcsQ0FBQztRQUNyRCxJQUFJLENBQUNKLGdCQUFnQkssTUFBTSxFQUFFTCxnQkFBZ0JLLE1BQU0sR0FBRyxDQUFDO1FBQ3ZELElBQUksQ0FBQ0wsZ0JBQWdCTSxLQUFLLEVBQUVOLGdCQUFnQk0sS0FBSyxHQUFHLENBQUM7UUFFckQsSUFBSSxDQUFDTixnQkFBZ0JLLE1BQU0sQ0FBQ0UsSUFBSSxFQUFFUCxnQkFBZ0JLLE1BQU0sQ0FBQ0UsSUFBSSxHQUFHcEI7UUFDaEUsSUFBSSxDQUFDYSxnQkFBZ0JLLE1BQU0sQ0FBQ0csTUFBTSxFQUFFUixnQkFBZ0JLLE1BQU0sQ0FBQ0csTUFBTSxHQUFHckI7UUFFcEUsSUFBSSxDQUFDYSxnQkFBZ0JJLEtBQUssQ0FBQ0ssY0FBYyxFQUFFVCxnQkFBZ0JJLEtBQUssQ0FBQ0ssY0FBYyxHQUFHLEVBQUU7UUFDcEYsSUFBSSxDQUFDVCxnQkFBZ0JJLEtBQUssQ0FBQ00sWUFBWSxFQUFFVixnQkFBZ0JJLEtBQUssQ0FBQ00sWUFBWSxHQUFHLEVBQUU7UUFDaEYsSUFBSSxDQUFDVixnQkFBZ0JJLEtBQUssQ0FBQ08sV0FBVyxFQUFFWCxnQkFBZ0JJLEtBQUssQ0FBQ08sV0FBVyxHQUFHLEVBQUU7UUFDOUUsSUFBSSxDQUFDWCxnQkFBZ0JJLEtBQUssQ0FBQ1EsVUFBVSxFQUFFWixnQkFBZ0JJLEtBQUssQ0FBQ1EsVUFBVSxHQUFHLEVBQUU7UUFDNUUsSUFBSSxDQUFDWixnQkFBZ0JJLEtBQUssQ0FBQ1MsU0FBUyxFQUFFYixnQkFBZ0JJLEtBQUssQ0FBQ1MsU0FBUyxHQUFHLEVBQUU7UUFFMUUsSUFBSWIsZ0JBQWdCYyxRQUFRLEVBQUU7WUFDNUIsSUFBSWQsZ0JBQWdCYyxRQUFRLEtBQUssTUFBTWQsZ0JBQWdCYyxRQUFRLEdBQUc7Z0JBQUVDLFFBQVE7WUFBTTtZQUVsRixJQUFJZixnQkFBZ0JjLFFBQVEsQ0FBQ0MsTUFBTSxFQUFFO2dCQUNuQyxJQUFJZixnQkFBZ0JjLFFBQVEsQ0FBQ0MsTUFBTSxLQUFLLE1BQU07b0JBQzVDZixnQkFBZ0JjLFFBQVEsQ0FBQ0MsTUFBTSxHQUFHO3dCQUNoQ0MsVUFBVTtvQkFDWjtnQkFDRjtnQkFFQSxJQUFJaEIsZ0JBQWdCYyxRQUFRLENBQUNDLE1BQU0sQ0FBQ0MsUUFBUSxLQUFLLE1BQU07b0JBQ3JEaEIsZ0JBQWdCYyxRQUFRLENBQUNDLE1BQU0sQ0FBQ0MsUUFBUSxHQUFHO3dCQUN6Q0MsVUFBVTtvQkFDWjtnQkFDRjtnQkFFQWpCLGdCQUFnQmtCLE1BQU0sR0FBRzVCLGdCQUFnQlUsZ0JBQWdCa0IsTUFBTSxFQUFFMUI7WUFDbkU7UUFDRjtRQUVBLElBQUksQ0FBQ1EsZ0JBQWdCbUIsTUFBTSxFQUFFbkIsZ0JBQWdCbUIsTUFBTSxHQUFHLENBQUM7UUFFdkQsb0NBQW9DO1FBQ3BDLGtCQUFrQjtRQUNsQixvQ0FBb0M7UUFDcEMsSUFBSUMsZUFBZTtRQUNuQixJQUFJQyxlQUFlO1FBQ25CckIsZ0JBQWdCa0IsTUFBTSxDQUFDSSxJQUFJLENBQUMsQ0FBQ0M7WUFDM0IsSUFBSWxDLGlCQUFpQmtDLFFBQVE7Z0JBQzNCLElBQUlBLE1BQU1DLElBQUksS0FBSyxhQUFhSixlQUFlO2dCQUMvQyxJQUFJRyxNQUFNQyxJQUFJLEtBQUssYUFBYUgsZUFBZTtZQUNqRDtZQUNBLE9BQU9BLGdCQUFnQkQ7UUFDekI7UUFDQSxJQUFJLENBQUNBLGNBQWM7WUFDakJwQixnQkFBZ0JrQixNQUFNLENBQUNPLElBQUksQ0FBQztnQkFDMUJELE1BQU07Z0JBQ05FLE1BQU07Z0JBQ05wQixPQUFPO29CQUNMcUIsaUJBQWlCO29CQUNqQkMsUUFBUTtnQkFDVjtnQkFDQTNCLE9BQU9mLFlBQVksQ0FBQyxvQkFBb0I7WUFDMUM7UUFDRjtRQUNBLElBQUksQ0FBQ21DLGNBQWM7WUFDakJyQixnQkFBZ0JrQixNQUFNLENBQUNPLElBQUksQ0FBQztnQkFDMUJELE1BQU07Z0JBQ05FLE1BQU07Z0JBQ05wQixPQUFPO29CQUNMcUIsaUJBQWlCO29CQUNqQkMsUUFBUTtnQkFDVjtnQkFDQTNCLE9BQU9mLFlBQVksQ0FBQyxvQkFBb0I7WUFDMUM7UUFDRjtRQUVBLE1BQU0yQyxxQkFBcUJsQyxZQUFZRyxHQUFHLENBQUMsQ0FBQ2dDLElBQU1BLEVBQUU1QixJQUFJLEtBQUssRUFBRTtRQUMvREYsZ0JBQWdCa0IsTUFBTSxHQUFHOUIsZUFBZTtZQUN0Q007WUFDQXdCLFFBQVFsQixnQkFBZ0JrQixNQUFNO1lBQzlCVztRQUNGO1FBRUEsT0FBTzdCO0lBQ1Q7SUFFQSxPQUFPSDtBQUNUO0FBRUEsZUFBZUosZ0JBQWUifQ==
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import type { GraphQLNonNull, GraphQLObjectType } from 'graphql';
|
|
2
2
|
import type { DeepRequired } from 'ts-essentials';
|
|
3
|
-
import type { CustomPreviewButtonProps, CustomPublishButtonProps, CustomSaveButtonProps, CustomSaveDraftButtonProps } from '../../admin/types.
|
|
4
|
-
import type { User } from '../../auth/types.
|
|
5
|
-
import type { Access, EditViewComponent, EditViewConfig, Endpoint, EntityDescription, GeneratePreviewURL, LivePreviewConfig } from '../../config/types.
|
|
6
|
-
import type { Field } from '../../fields/config/types.
|
|
7
|
-
import type { PayloadRequest, RequestContext } from '../../types/index.
|
|
8
|
-
import type { Where } from '../../types/index.
|
|
9
|
-
import type { IncomingGlobalVersions, SanitizedGlobalVersions } from '../../versions/types.
|
|
3
|
+
import type { CustomPreviewButtonProps, CustomPublishButtonProps, CustomSaveButtonProps, CustomSaveDraftButtonProps } from '../../admin/types.js';
|
|
4
|
+
import type { User } from '../../auth/types.js';
|
|
5
|
+
import type { Access, EditViewComponent, EditViewConfig, Endpoint, EntityDescription, GeneratePreviewURL, LivePreviewConfig } from '../../config/types.js';
|
|
6
|
+
import type { Field } from '../../fields/config/types.js';
|
|
7
|
+
import type { PayloadRequest, RequestContext } from '../../types/index.js';
|
|
8
|
+
import type { Where } from '../../types/index.js';
|
|
9
|
+
import type { IncomingGlobalVersions, SanitizedGlobalVersions } from '../../versions/types.js';
|
|
10
10
|
export type TypeWithID = {
|
|
11
11
|
id: number | string;
|
|
12
12
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/globals/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAChE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAEjD,OAAO,KAAK,EACV,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,0BAA0B,EAC3B,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/globals/config/types.ts"],"names":[],"mappings":"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"}
|