payload 3.0.0-alpha.20 → 3.0.0-alpha.21

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